diff --git a/provider/cmd/pulumi-resource-azure-native/schema.json b/provider/cmd/pulumi-resource-azure-native/schema.json index 549d59a24ae1..ff68b3032a4e 100644 --- a/provider/cmd/pulumi-resource-azure-native/schema.json +++ b/provider/cmd/pulumi-resource-azure-native/schema.json @@ -421144,6 +421144,181 @@ "webhookResourceId" ] }, + "azure-native:monitor:AutoscaleNotification": { + "description": "Autoscale notification.", + "properties": { + "email": { + "type": "object", + "$ref": "#/types/azure-native:monitor:EmailNotification", + "description": "the email notification." + }, + "operation": { + "$ref": "#/types/azure-native:monitor:OperationType", + "description": "the operation associated with the notification and its value must be \"scale\"" + }, + "webhooks": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/types/azure-native:monitor:WebhookNotification" + }, + "description": "the collection of webhook notifications." + } + }, + "type": "object", + "required": [ + "operation" + ] + }, + "azure-native:monitor:AutoscaleNotificationResponse": { + "description": "Autoscale notification.", + "properties": { + "email": { + "type": "object", + "$ref": "#/types/azure-native:monitor:EmailNotificationResponse", + "description": "the email notification." + }, + "operation": { + "type": "string", + "description": "the operation associated with the notification and its value must be \"scale\"" + }, + "webhooks": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/types/azure-native:monitor:WebhookNotificationResponse" + }, + "description": "the collection of webhook notifications." + } + }, + "type": "object", + "required": [ + "operation" + ] + }, + "azure-native:monitor:AutoscaleProfile": { + "description": "Autoscale profile.", + "properties": { + "capacity": { + "type": "object", + "$ref": "#/types/azure-native:monitor:ScaleCapacity", + "description": "the number of instances that can be used during this profile." + }, + "fixedDate": { + "type": "object", + "$ref": "#/types/azure-native:monitor:TimeWindow", + "description": "the specific date-time for the profile. This element is not used if the Recurrence element is used." + }, + "name": { + "type": "string", + "description": "the name of the profile." + }, + "recurrence": { + "type": "object", + "$ref": "#/types/azure-native:monitor:Recurrence", + "description": "the repeating times at which this profile begins. This element is not used if the FixedDate element is used." + }, + "rules": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/types/azure-native:monitor:ScaleRule" + }, + "description": "the collection of rules that provide the triggers and parameters for the scaling action. A maximum of 10 rules can be specified." + } + }, + "type": "object", + "required": [ + "capacity", + "name", + "rules" + ] + }, + "azure-native:monitor:AutoscaleProfileResponse": { + "description": "Autoscale profile.", + "properties": { + "capacity": { + "type": "object", + "$ref": "#/types/azure-native:monitor:ScaleCapacityResponse", + "description": "the number of instances that can be used during this profile." + }, + "fixedDate": { + "type": "object", + "$ref": "#/types/azure-native:monitor:TimeWindowResponse", + "description": "the specific date-time for the profile. This element is not used if the Recurrence element is used." + }, + "name": { + "type": "string", + "description": "the name of the profile." + }, + "recurrence": { + "type": "object", + "$ref": "#/types/azure-native:monitor:RecurrenceResponse", + "description": "the repeating times at which this profile begins. This element is not used if the FixedDate element is used." + }, + "rules": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/types/azure-native:monitor:ScaleRuleResponse" + }, + "description": "the collection of rules that provide the triggers and parameters for the scaling action. A maximum of 10 rules can be specified." + } + }, + "type": "object", + "required": [ + "capacity", + "name", + "rules" + ] + }, + "azure-native:monitor:AutoscaleSettingResponse": { + "description": "A setting that contains all of the configuration for the automatic scaling of a resource.", + "properties": { + "enabled": { + "type": "boolean", + "description": "the enabled flag. Specifies whether automatic scaling is enabled for the resource. The default value is 'false'.", + "default": false + }, + "name": { + "type": "string", + "description": "the name of the autoscale setting." + }, + "notifications": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/types/azure-native:monitor:AutoscaleNotificationResponse" + }, + "description": "the collection of notifications." + }, + "predictiveAutoscalePolicy": { + "type": "object", + "$ref": "#/types/azure-native:monitor:PredictiveAutoscalePolicyResponse", + "description": "the predictive autoscale policy mode." + }, + "profiles": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/types/azure-native:monitor:AutoscaleProfileResponse" + }, + "description": "the collection of automatic scaling profiles that specify different scaling parameters for different time periods. A maximum of 20 profiles can be specified." + }, + "targetResourceLocation": { + "type": "string", + "description": "the location of the resource that the autoscale setting should be added to." + }, + "targetResourceUri": { + "type": "string", + "description": "the resource identifier of the resource that the autoscale setting should be added to." + } + }, + "type": "object", + "required": [ + "profiles" + ] + }, "azure-native:monitor:AzureAppPushReceiver": { "description": "The Azure mobile App push notification receiver.", "properties": { @@ -421463,6 +421638,30 @@ }, "type": "object" }, + "azure-native:monitor:ComparisonOperationType": { + "description": "the operator that is used to compare the metric data and the threshold.", + "type": "string", + "enum": [ + { + "value": "Equals" + }, + { + "value": "NotEquals" + }, + { + "value": "GreaterThan" + }, + { + "value": "GreaterThanOrEqual" + }, + { + "value": "LessThan" + }, + { + "value": "LessThanOrEqual" + } + ] + }, "azure-native:monitor:ConcurrencyConfiguration": { "description": "Concurrent publishing configuration.", "properties": { @@ -421702,6 +421901,46 @@ } ] }, + "azure-native:monitor:DiagnosticSettingsCategoryResourceResponse": { + "description": "The diagnostic settings category resource.", + "properties": { + "categoryGroups": { + "type": "array", + "items": { + "type": "string" + }, + "description": "the collection of what category groups are supported." + }, + "categoryType": { + "type": "string", + "description": "The type of the diagnostic settings category." + }, + "id": { + "type": "string", + "description": "Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" + }, + "name": { + "type": "string", + "description": "The name of the resource" + }, + "systemData": { + "type": "object", + "$ref": "#/types/azure-native:monitor:SystemDataResponse", + "description": "The system metadata related to this resource." + }, + "type": { + "type": "string", + "description": "The type of the resource. E.g. \"Microsoft.Compute/virtualMachines\" or \"Microsoft.Storage/storageAccounts\"" + } + }, + "type": "object", + "required": [ + "id", + "name", + "systemData", + "type" + ] + }, "azure-native:monitor:Dimension": { "description": "Dimension splitting and filtering definition", "properties": { @@ -421773,6 +422012,52 @@ "values" ] }, + "azure-native:monitor:EmailNotification": { + "description": "Email notification of an autoscale event.", + "properties": { + "customEmails": { + "type": "array", + "items": { + "type": "string" + }, + "description": "the custom e-mails list. This value can be null or empty, in which case this attribute will be ignored." + }, + "sendToSubscriptionAdministrator": { + "type": "boolean", + "description": "a value indicating whether to send email to subscription administrator.", + "default": false + }, + "sendToSubscriptionCoAdministrators": { + "type": "boolean", + "description": "a value indicating whether to send email to subscription co-administrators.", + "default": false + } + }, + "type": "object" + }, + "azure-native:monitor:EmailNotificationResponse": { + "description": "Email notification of an autoscale event.", + "properties": { + "customEmails": { + "type": "array", + "items": { + "type": "string" + }, + "description": "the custom e-mails list. This value can be null or empty, in which case this attribute will be ignored." + }, + "sendToSubscriptionAdministrator": { + "type": "boolean", + "description": "a value indicating whether to send email to subscription administrator.", + "default": false + }, + "sendToSubscriptionCoAdministrators": { + "type": "boolean", + "description": "a value indicating whether to send email to subscription co-administrators.", + "default": false + } + }, + "type": "object" + }, "azure-native:monitor:EmailReceiver": { "description": "An email receiver.", "properties": { @@ -422418,6 +422703,58 @@ } ] }, + "azure-native:monitor:LogSettings": { + "description": "Part of MultiTenantDiagnosticSettings. Specifies the settings for a particular log.", + "properties": { + "category": { + "type": "string", + "description": "Name of a Diagnostic Log category for a resource type this setting is applied to. To obtain the list of Diagnostic Log categories for a resource, first perform a GET diagnostic settings operation." + }, + "categoryGroup": { + "type": "string", + "description": "Name of a Diagnostic Log category group for a resource type this setting is applied to. To obtain the list of Diagnostic Log categories for a resource, first perform a GET diagnostic settings operation." + }, + "enabled": { + "type": "boolean", + "description": "a value indicating whether this log is enabled." + }, + "retentionPolicy": { + "type": "object", + "$ref": "#/types/azure-native:monitor:RetentionPolicy", + "description": "the retention policy for this log." + } + }, + "type": "object", + "required": [ + "enabled" + ] + }, + "azure-native:monitor:LogSettingsResponse": { + "description": "Part of MultiTenantDiagnosticSettings. Specifies the settings for a particular log.", + "properties": { + "category": { + "type": "string", + "description": "Name of a Diagnostic Log category for a resource type this setting is applied to. To obtain the list of Diagnostic Log categories for a resource, first perform a GET diagnostic settings operation." + }, + "categoryGroup": { + "type": "string", + "description": "Name of a Diagnostic Log category group for a resource type this setting is applied to. To obtain the list of Diagnostic Log categories for a resource, first perform a GET diagnostic settings operation." + }, + "enabled": { + "type": "boolean", + "description": "a value indicating whether this log is enabled." + }, + "retentionPolicy": { + "type": "object", + "$ref": "#/types/azure-native:monitor:RetentionPolicyResponse", + "description": "the retention policy for this log." + } + }, + "type": "object", + "required": [ + "enabled" + ] + }, "azure-native:monitor:LogicAppReceiver": { "description": "A logic app receiver.", "properties": { @@ -422558,6 +422895,257 @@ } ] }, + "azure-native:monitor:ManagementGroupLogSettings": { + "description": "Part of Management Group diagnostic setting. Specifies the settings for a particular log.", + "properties": { + "category": { + "type": "string", + "description": "Name of a Management Group Diagnostic Log category for a resource type this setting is applied to." + }, + "categoryGroup": { + "type": "string", + "description": "Name of a Management Group Diagnostic Log category group for a resource type this setting is applied to." + }, + "enabled": { + "type": "boolean", + "description": "a value indicating whether this log is enabled." + } + }, + "type": "object", + "required": [ + "enabled" + ] + }, + "azure-native:monitor:ManagementGroupLogSettingsResponse": { + "description": "Part of Management Group diagnostic setting. Specifies the settings for a particular log.", + "properties": { + "category": { + "type": "string", + "description": "Name of a Management Group Diagnostic Log category for a resource type this setting is applied to." + }, + "categoryGroup": { + "type": "string", + "description": "Name of a Management Group Diagnostic Log category group for a resource type this setting is applied to." + }, + "enabled": { + "type": "boolean", + "description": "a value indicating whether this log is enabled." + } + }, + "type": "object", + "required": [ + "enabled" + ] + }, + "azure-native:monitor:MetricSettings": { + "description": "Part of MultiTenantDiagnosticSettings. Specifies the settings for a particular metric.", + "properties": { + "category": { + "type": "string", + "description": "Name of a Diagnostic Metric category for a resource type this setting is applied to. To obtain the list of Diagnostic metric categories for a resource, first perform a GET diagnostic settings operation." + }, + "enabled": { + "type": "boolean", + "description": "a value indicating whether this category is enabled." + }, + "retentionPolicy": { + "type": "object", + "$ref": "#/types/azure-native:monitor:RetentionPolicy", + "description": "the retention policy for this category." + }, + "timeGrain": { + "type": "string", + "description": "the timegrain of the metric in ISO8601 format." + } + }, + "type": "object", + "required": [ + "enabled" + ] + }, + "azure-native:monitor:MetricSettingsResponse": { + "description": "Part of MultiTenantDiagnosticSettings. Specifies the settings for a particular metric.", + "properties": { + "category": { + "type": "string", + "description": "Name of a Diagnostic Metric category for a resource type this setting is applied to. To obtain the list of Diagnostic metric categories for a resource, first perform a GET diagnostic settings operation." + }, + "enabled": { + "type": "boolean", + "description": "a value indicating whether this category is enabled." + }, + "retentionPolicy": { + "type": "object", + "$ref": "#/types/azure-native:monitor:RetentionPolicyResponse", + "description": "the retention policy for this category." + }, + "timeGrain": { + "type": "string", + "description": "the timegrain of the metric in ISO8601 format." + } + }, + "type": "object", + "required": [ + "enabled" + ] + }, + "azure-native:monitor:MetricStatisticType": { + "description": "the metric statistic type. How the metrics from multiple instances are combined.", + "type": "string", + "enum": [ + { + "value": "Average" + }, + { + "value": "Min" + }, + { + "value": "Max" + }, + { + "value": "Sum" + }, + { + "value": "Count" + } + ] + }, + "azure-native:monitor:MetricTrigger": { + "description": "The trigger that results in a scaling action.", + "properties": { + "dimensions": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/types/azure-native:monitor:ScaleRuleMetricDimension" + }, + "description": "List of dimension conditions. For example: [{\"DimensionName\":\"AppName\",\"Operator\":\"Equals\",\"Values\":[\"App1\"]},{\"DimensionName\":\"Deployment\",\"Operator\":\"Equals\",\"Values\":[\"default\"]}]." + }, + "dividePerInstance": { + "type": "boolean", + "description": "a value indicating whether metric should divide per instance." + }, + "metricName": { + "type": "string", + "description": "the name of the metric that defines what the rule monitors." + }, + "metricNamespace": { + "type": "string", + "description": "the namespace of the metric that defines what the rule monitors." + }, + "metricResourceLocation": { + "type": "string", + "description": "the location of the resource the rule monitors." + }, + "metricResourceUri": { + "type": "string", + "description": "the resource identifier of the resource the rule monitors." + }, + "operator": { + "$ref": "#/types/azure-native:monitor:ComparisonOperationType", + "description": "the operator that is used to compare the metric data and the threshold." + }, + "statistic": { + "$ref": "#/types/azure-native:monitor:MetricStatisticType", + "description": "the metric statistic type. How the metrics from multiple instances are combined." + }, + "threshold": { + "type": "number", + "description": "the threshold of the metric that triggers the scale action." + }, + "timeAggregation": { + "$ref": "#/types/azure-native:monitor:TimeAggregationType", + "description": "time aggregation type. How the data that is collected should be combined over time. The default value is Average." + }, + "timeGrain": { + "type": "string", + "description": "the granularity of metrics the rule monitors. Must be one of the predefined values returned from metric definitions for the metric. Must be between 12 hours and 1 minute." + }, + "timeWindow": { + "type": "string", + "description": "the range of time in which instance data is collected. This value must be greater than the delay in metric collection, which can vary from resource-to-resource. Must be between 12 hours and 5 minutes." + } + }, + "type": "object", + "required": [ + "metricName", + "metricResourceUri", + "operator", + "statistic", + "threshold", + "timeAggregation", + "timeGrain", + "timeWindow" + ] + }, + "azure-native:monitor:MetricTriggerResponse": { + "description": "The trigger that results in a scaling action.", + "properties": { + "dimensions": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/types/azure-native:monitor:ScaleRuleMetricDimensionResponse" + }, + "description": "List of dimension conditions. For example: [{\"DimensionName\":\"AppName\",\"Operator\":\"Equals\",\"Values\":[\"App1\"]},{\"DimensionName\":\"Deployment\",\"Operator\":\"Equals\",\"Values\":[\"default\"]}]." + }, + "dividePerInstance": { + "type": "boolean", + "description": "a value indicating whether metric should divide per instance." + }, + "metricName": { + "type": "string", + "description": "the name of the metric that defines what the rule monitors." + }, + "metricNamespace": { + "type": "string", + "description": "the namespace of the metric that defines what the rule monitors." + }, + "metricResourceLocation": { + "type": "string", + "description": "the location of the resource the rule monitors." + }, + "metricResourceUri": { + "type": "string", + "description": "the resource identifier of the resource the rule monitors." + }, + "operator": { + "type": "string", + "description": "the operator that is used to compare the metric data and the threshold." + }, + "statistic": { + "type": "string", + "description": "the metric statistic type. How the metrics from multiple instances are combined." + }, + "threshold": { + "type": "number", + "description": "the threshold of the metric that triggers the scale action." + }, + "timeAggregation": { + "type": "string", + "description": "time aggregation type. How the data that is collected should be combined over time. The default value is Average." + }, + "timeGrain": { + "type": "string", + "description": "the granularity of metrics the rule monitors. Must be one of the predefined values returned from metric definitions for the metric. Must be between 12 hours and 1 minute." + }, + "timeWindow": { + "type": "string", + "description": "the range of time in which instance data is collected. This value must be greater than the delay in metric collection, which can vary from resource-to-resource. Must be between 12 hours and 5 minutes." + } + }, + "type": "object", + "required": [ + "metricName", + "metricResourceUri", + "operator", + "statistic", + "threshold", + "timeAggregation", + "timeGrain", + "timeWindow" + ] + }, "azure-native:monitor:MetricsResponse": { "description": "Information about metrics for the workspace", "properties": { @@ -422685,6 +423273,15 @@ "receiver" ] }, + "azure-native:monitor:OperationType": { + "description": "the operation associated with the notification and its value must be \"scale\"", + "type": "string", + "enum": [ + { + "value": "Scale" + } + ] + }, "azure-native:monitor:OtlpReceiver": { "description": "OTLP Receiver.", "properties": { @@ -422948,6 +423545,55 @@ } ] }, + "azure-native:monitor:PredictiveAutoscalePolicy": { + "description": "The parameters for enabling predictive autoscale.", + "properties": { + "scaleLookAheadTime": { + "type": "string", + "description": "the amount of time to specify by which instances are launched in advance. It must be between 1 minute and 60 minutes in ISO 8601 format." + }, + "scaleMode": { + "$ref": "#/types/azure-native:monitor:PredictiveAutoscalePolicyScaleMode", + "description": "the predictive autoscale mode" + } + }, + "type": "object", + "required": [ + "scaleMode" + ] + }, + "azure-native:monitor:PredictiveAutoscalePolicyResponse": { + "description": "The parameters for enabling predictive autoscale.", + "properties": { + "scaleLookAheadTime": { + "type": "string", + "description": "the amount of time to specify by which instances are launched in advance. It must be between 1 minute and 60 minutes in ISO 8601 format." + }, + "scaleMode": { + "type": "string", + "description": "the predictive autoscale mode" + } + }, + "type": "object", + "required": [ + "scaleMode" + ] + }, + "azure-native:monitor:PredictiveAutoscalePolicyScaleMode": { + "description": "the predictive autoscale mode", + "type": "string", + "enum": [ + { + "value": "Disabled" + }, + { + "value": "ForecastOnly" + }, + { + "value": "Enabled" + } + ] + }, "azure-native:monitor:PrivateEndpointConnectionResponse": { "description": "The Private Endpoint Connection resource.", "properties": { @@ -423274,6 +423920,148 @@ "to" ] }, + "azure-native:monitor:Recurrence": { + "description": "The repeating times at which this profile begins. This element is not used if the FixedDate element is used.", + "properties": { + "frequency": { + "$ref": "#/types/azure-native:monitor:RecurrenceFrequency", + "description": "the recurrence frequency. How often the schedule profile should take effect. This value must be Week, meaning each week will have the same set of profiles. For example, to set a daily schedule, set **schedule** to every day of the week. The frequency property specifies that the schedule is repeated weekly." + }, + "schedule": { + "type": "object", + "$ref": "#/types/azure-native:monitor:RecurrentSchedule", + "description": "the scheduling constraints for when the profile begins." + } + }, + "type": "object", + "required": [ + "frequency", + "schedule" + ] + }, + "azure-native:monitor:RecurrenceFrequency": { + "description": "the recurrence frequency. How often the schedule profile should take effect. This value must be Week, meaning each week will have the same set of profiles. For example, to set a daily schedule, set **schedule** to every day of the week. The frequency property specifies that the schedule is repeated weekly.", + "type": "string", + "enum": [ + { + "value": "None" + }, + { + "value": "Second" + }, + { + "value": "Minute" + }, + { + "value": "Hour" + }, + { + "value": "Day" + }, + { + "value": "Week" + }, + { + "value": "Month" + }, + { + "value": "Year" + } + ] + }, + "azure-native:monitor:RecurrenceResponse": { + "description": "The repeating times at which this profile begins. This element is not used if the FixedDate element is used.", + "properties": { + "frequency": { + "type": "string", + "description": "the recurrence frequency. How often the schedule profile should take effect. This value must be Week, meaning each week will have the same set of profiles. For example, to set a daily schedule, set **schedule** to every day of the week. The frequency property specifies that the schedule is repeated weekly." + }, + "schedule": { + "type": "object", + "$ref": "#/types/azure-native:monitor:RecurrentScheduleResponse", + "description": "the scheduling constraints for when the profile begins." + } + }, + "type": "object", + "required": [ + "frequency", + "schedule" + ] + }, + "azure-native:monitor:RecurrentSchedule": { + "description": "The scheduling constraints for when the profile begins.", + "properties": { + "days": { + "type": "array", + "items": { + "type": "string" + }, + "description": "the collection of days that the profile takes effect on. Possible values are Sunday through Saturday." + }, + "hours": { + "type": "array", + "items": { + "type": "integer" + }, + "description": "A collection of hours that the profile takes effect on. Values supported are 0 to 23 on the 24-hour clock (AM/PM times are not supported)." + }, + "minutes": { + "type": "array", + "items": { + "type": "integer" + }, + "description": "A collection of minutes at which the profile takes effect at." + }, + "timeZone": { + "type": "string", + "description": "the timezone for the hours of the profile. Some examples of valid time zones are: Dateline Standard Time, UTC-11, Hawaiian Standard Time, Alaskan Standard Time, Pacific Standard Time (Mexico), Pacific Standard Time, US Mountain Standard Time, Mountain Standard Time (Mexico), Mountain Standard Time, Central America Standard Time, Central Standard Time, Central Standard Time (Mexico), Canada Central Standard Time, SA Pacific Standard Time, Eastern Standard Time, US Eastern Standard Time, Venezuela Standard Time, Paraguay Standard Time, Atlantic Standard Time, Central Brazilian Standard Time, SA Western Standard Time, Pacific SA Standard Time, Newfoundland Standard Time, E. South America Standard Time, Argentina Standard Time, SA Eastern Standard Time, Greenland Standard Time, Montevideo Standard Time, Bahia Standard Time, UTC-02, Mid-Atlantic Standard Time, Azores Standard Time, Cape Verde Standard Time, Morocco Standard Time, UTC, GMT Standard Time, Greenwich Standard Time, W. Europe Standard Time, Central Europe Standard Time, Romance Standard Time, Central European Standard Time, W. Central Africa Standard Time, Namibia Standard Time, Jordan Standard Time, GTB Standard Time, Middle East Standard Time, Egypt Standard Time, Syria Standard Time, E. Europe Standard Time, South Africa Standard Time, FLE Standard Time, Turkey Standard Time, Israel Standard Time, Kaliningrad Standard Time, Libya Standard Time, Arabic Standard Time, Arab Standard Time, Belarus Standard Time, Russian Standard Time, E. Africa Standard Time, Iran Standard Time, Arabian Standard Time, Azerbaijan Standard Time, Russia Time Zone 3, Mauritius Standard Time, Georgian Standard Time, Caucasus Standard Time, Afghanistan Standard Time, West Asia Standard Time, Ekaterinburg Standard Time, Pakistan Standard Time, India Standard Time, Sri Lanka Standard Time, Nepal Standard Time, Central Asia Standard Time, Bangladesh Standard Time, N. Central Asia Standard Time, Myanmar Standard Time, SE Asia Standard Time, North Asia Standard Time, China Standard Time, North Asia East Standard Time, Singapore Standard Time, W. Australia Standard Time, Taipei Standard Time, Ulaanbaatar Standard Time, Tokyo Standard Time, Korea Standard Time, Yakutsk Standard Time, Cen. Australia Standard Time, AUS Central Standard Time, E. Australia Standard Time, AUS Eastern Standard Time, West Pacific Standard Time, Tasmania Standard Time, Magadan Standard Time, Vladivostok Standard Time, Russia Time Zone 10, Central Pacific Standard Time, Russia Time Zone 11, New Zealand Standard Time, UTC+12, Fiji Standard Time, Kamchatka Standard Time, Tonga Standard Time, Samoa Standard Time, Line Islands Standard Time" + } + }, + "type": "object", + "required": [ + "days", + "hours", + "minutes", + "timeZone" + ] + }, + "azure-native:monitor:RecurrentScheduleResponse": { + "description": "The scheduling constraints for when the profile begins.", + "properties": { + "days": { + "type": "array", + "items": { + "type": "string" + }, + "description": "the collection of days that the profile takes effect on. Possible values are Sunday through Saturday." + }, + "hours": { + "type": "array", + "items": { + "type": "integer" + }, + "description": "A collection of hours that the profile takes effect on. Values supported are 0 to 23 on the 24-hour clock (AM/PM times are not supported)." + }, + "minutes": { + "type": "array", + "items": { + "type": "integer" + }, + "description": "A collection of minutes at which the profile takes effect at." + }, + "timeZone": { + "type": "string", + "description": "the timezone for the hours of the profile. Some examples of valid time zones are: Dateline Standard Time, UTC-11, Hawaiian Standard Time, Alaskan Standard Time, Pacific Standard Time (Mexico), Pacific Standard Time, US Mountain Standard Time, Mountain Standard Time (Mexico), Mountain Standard Time, Central America Standard Time, Central Standard Time, Central Standard Time (Mexico), Canada Central Standard Time, SA Pacific Standard Time, Eastern Standard Time, US Eastern Standard Time, Venezuela Standard Time, Paraguay Standard Time, Atlantic Standard Time, Central Brazilian Standard Time, SA Western Standard Time, Pacific SA Standard Time, Newfoundland Standard Time, E. South America Standard Time, Argentina Standard Time, SA Eastern Standard Time, Greenland Standard Time, Montevideo Standard Time, Bahia Standard Time, UTC-02, Mid-Atlantic Standard Time, Azores Standard Time, Cape Verde Standard Time, Morocco Standard Time, UTC, GMT Standard Time, Greenwich Standard Time, W. Europe Standard Time, Central Europe Standard Time, Romance Standard Time, Central European Standard Time, W. Central Africa Standard Time, Namibia Standard Time, Jordan Standard Time, GTB Standard Time, Middle East Standard Time, Egypt Standard Time, Syria Standard Time, E. Europe Standard Time, South Africa Standard Time, FLE Standard Time, Turkey Standard Time, Israel Standard Time, Kaliningrad Standard Time, Libya Standard Time, Arabic Standard Time, Arab Standard Time, Belarus Standard Time, Russian Standard Time, E. Africa Standard Time, Iran Standard Time, Arabian Standard Time, Azerbaijan Standard Time, Russia Time Zone 3, Mauritius Standard Time, Georgian Standard Time, Caucasus Standard Time, Afghanistan Standard Time, West Asia Standard Time, Ekaterinburg Standard Time, Pakistan Standard Time, India Standard Time, Sri Lanka Standard Time, Nepal Standard Time, Central Asia Standard Time, Bangladesh Standard Time, N. Central Asia Standard Time, Myanmar Standard Time, SE Asia Standard Time, North Asia Standard Time, China Standard Time, North Asia East Standard Time, Singapore Standard Time, W. Australia Standard Time, Taipei Standard Time, Ulaanbaatar Standard Time, Tokyo Standard Time, Korea Standard Time, Yakutsk Standard Time, Cen. Australia Standard Time, AUS Central Standard Time, E. Australia Standard Time, AUS Eastern Standard Time, West Pacific Standard Time, Tasmania Standard Time, Magadan Standard Time, Vladivostok Standard Time, Russia Time Zone 10, Central Pacific Standard Time, Russia Time Zone 11, New Zealand Standard Time, UTC+12, Fiji Standard Time, Kamchatka Standard Time, Tonga Standard Time, Samoa Standard Time, Line Islands Standard Time" + } + }, + "type": "object", + "required": [ + "days", + "hours", + "minutes", + "timeZone" + ] + }, "azure-native:monitor:ResourceMap": { "description": "Resource map for schema in azure monitor.", "properties": { @@ -423310,6 +424098,42 @@ "to" ] }, + "azure-native:monitor:RetentionPolicy": { + "description": "Specifies the retention policy for the log.", + "properties": { + "days": { + "type": "integer", + "description": "the number of days for the retention in days. A value of 0 will retain the events indefinitely." + }, + "enabled": { + "type": "boolean", + "description": "a value indicating whether the retention policy is enabled." + } + }, + "type": "object", + "required": [ + "days", + "enabled" + ] + }, + "azure-native:monitor:RetentionPolicyResponse": { + "description": "Specifies the retention policy for the log.", + "properties": { + "days": { + "type": "integer", + "description": "the number of days for the retention in days. A value of 0 will retain the events indefinitely." + }, + "enabled": { + "type": "boolean", + "description": "a value indicating whether the retention policy is enabled." + } + }, + "type": "object", + "required": [ + "days", + "enabled" + ] + }, "azure-native:monitor:RuleResolveConfiguration": { "description": "TBD. Relevant only for rules of the kind LogAlert.", "properties": { @@ -423338,6 +424162,252 @@ }, "type": "object" }, + "azure-native:monitor:ScaleAction": { + "description": "The parameters for the scaling action.", + "properties": { + "cooldown": { + "type": "string", + "description": "the amount of time to wait since the last scaling action before this action occurs. It must be between 1 week and 1 minute in ISO 8601 format." + }, + "direction": { + "$ref": "#/types/azure-native:monitor:ScaleDirection", + "description": "the scale direction. Whether the scaling action increases or decreases the number of instances." + }, + "type": { + "$ref": "#/types/azure-native:monitor:ScaleType", + "description": "the type of action that should occur when the scale rule fires." + }, + "value": { + "type": "string", + "description": "the number of instances that are involved in the scaling action. This value must be 1 or greater. The default value is 1.", + "default": "1" + } + }, + "type": "object", + "required": [ + "cooldown", + "direction", + "type" + ] + }, + "azure-native:monitor:ScaleActionResponse": { + "description": "The parameters for the scaling action.", + "properties": { + "cooldown": { + "type": "string", + "description": "the amount of time to wait since the last scaling action before this action occurs. It must be between 1 week and 1 minute in ISO 8601 format." + }, + "direction": { + "type": "string", + "description": "the scale direction. Whether the scaling action increases or decreases the number of instances." + }, + "type": { + "type": "string", + "description": "the type of action that should occur when the scale rule fires." + }, + "value": { + "type": "string", + "description": "the number of instances that are involved in the scaling action. This value must be 1 or greater. The default value is 1.", + "default": "1" + } + }, + "type": "object", + "required": [ + "cooldown", + "direction", + "type" + ] + }, + "azure-native:monitor:ScaleCapacity": { + "description": "The number of instances that can be used during this profile.", + "properties": { + "default": { + "type": "string", + "description": "the number of instances that will be set if metrics are not available for evaluation. The default is only used if the current instance count is lower than the default." + }, + "maximum": { + "type": "string", + "description": "the maximum number of instances for the resource. The actual maximum number of instances is limited by the cores that are available in the subscription." + }, + "minimum": { + "type": "string", + "description": "the minimum number of instances for the resource." + } + }, + "type": "object", + "required": [ + "default", + "maximum", + "minimum" + ] + }, + "azure-native:monitor:ScaleCapacityResponse": { + "description": "The number of instances that can be used during this profile.", + "properties": { + "default": { + "type": "string", + "description": "the number of instances that will be set if metrics are not available for evaluation. The default is only used if the current instance count is lower than the default." + }, + "maximum": { + "type": "string", + "description": "the maximum number of instances for the resource. The actual maximum number of instances is limited by the cores that are available in the subscription." + }, + "minimum": { + "type": "string", + "description": "the minimum number of instances for the resource." + } + }, + "type": "object", + "required": [ + "default", + "maximum", + "minimum" + ] + }, + "azure-native:monitor:ScaleDirection": { + "description": "the scale direction. Whether the scaling action increases or decreases the number of instances.", + "type": "string", + "enum": [ + { + "value": "None" + }, + { + "value": "Increase" + }, + { + "value": "Decrease" + } + ] + }, + "azure-native:monitor:ScaleRule": { + "description": "A rule that provide the triggers and parameters for the scaling action.", + "properties": { + "metricTrigger": { + "type": "object", + "$ref": "#/types/azure-native:monitor:MetricTrigger", + "description": "the trigger that results in a scaling action." + }, + "scaleAction": { + "type": "object", + "$ref": "#/types/azure-native:monitor:ScaleAction", + "description": "the parameters for the scaling action." + } + }, + "type": "object", + "required": [ + "metricTrigger", + "scaleAction" + ] + }, + "azure-native:monitor:ScaleRuleMetricDimension": { + "description": "Specifies an auto scale rule metric dimension.", + "properties": { + "dimensionName": { + "type": "string", + "description": "Name of the dimension." + }, + "operator": { + "oneOf": [ + { + "type": "string" + }, + { + "$ref": "#/types/azure-native:monitor:ScaleRuleMetricDimensionOperationType" + } + ], + "description": "the dimension operator. Only 'Equals' and 'NotEquals' are supported. 'Equals' being equal to any of the values. 'NotEquals' being not equal to all of the values" + }, + "values": { + "type": "array", + "items": { + "type": "string" + }, + "description": "list of dimension values. For example: [\"App1\",\"App2\"]." + } + }, + "type": "object", + "required": [ + "dimensionName", + "operator", + "values" + ] + }, + "azure-native:monitor:ScaleRuleMetricDimensionOperationType": { + "description": "the dimension operator. Only 'Equals' and 'NotEquals' are supported. 'Equals' being equal to any of the values. 'NotEquals' being not equal to all of the values", + "type": "string", + "enum": [ + { + "value": "Equals" + }, + { + "value": "NotEquals" + } + ] + }, + "azure-native:monitor:ScaleRuleMetricDimensionResponse": { + "description": "Specifies an auto scale rule metric dimension.", + "properties": { + "dimensionName": { + "type": "string", + "description": "Name of the dimension." + }, + "operator": { + "type": "string", + "description": "the dimension operator. Only 'Equals' and 'NotEquals' are supported. 'Equals' being equal to any of the values. 'NotEquals' being not equal to all of the values" + }, + "values": { + "type": "array", + "items": { + "type": "string" + }, + "description": "list of dimension values. For example: [\"App1\",\"App2\"]." + } + }, + "type": "object", + "required": [ + "dimensionName", + "operator", + "values" + ] + }, + "azure-native:monitor:ScaleRuleResponse": { + "description": "A rule that provide the triggers and parameters for the scaling action.", + "properties": { + "metricTrigger": { + "type": "object", + "$ref": "#/types/azure-native:monitor:MetricTriggerResponse", + "description": "the trigger that results in a scaling action." + }, + "scaleAction": { + "type": "object", + "$ref": "#/types/azure-native:monitor:ScaleActionResponse", + "description": "the parameters for the scaling action." + } + }, + "type": "object", + "required": [ + "metricTrigger", + "scaleAction" + ] + }, + "azure-native:monitor:ScaleType": { + "description": "the type of action that should occur when the scale rule fires.", + "type": "string", + "enum": [ + { + "value": "ChangeCount" + }, + { + "value": "PercentChangeCount" + }, + { + "value": "ExactCount" + }, + { + "value": "ServiceAllowedNextValue" + } + ] + }, "azure-native:monitor:ScheduledQueryRuleCriteria": { "description": "The rule criteria that defines the conditions of the scheduled query rule.", "properties": { @@ -423611,6 +424681,48 @@ } ] }, + "azure-native:monitor:SubscriptionLogSettings": { + "description": "Part of Subscription diagnostic setting. Specifies the settings for a particular log.", + "properties": { + "category": { + "type": "string", + "description": "Name of a Subscription Diagnostic Log category for a resource type this setting is applied to." + }, + "categoryGroup": { + "type": "string", + "description": "Name of a Subscription Diagnostic Log category group for a resource type this setting is applied to." + }, + "enabled": { + "type": "boolean", + "description": "a value indicating whether this log is enabled." + } + }, + "type": "object", + "required": [ + "enabled" + ] + }, + "azure-native:monitor:SubscriptionLogSettingsResponse": { + "description": "Part of Subscription diagnostic setting. Specifies the settings for a particular log.", + "properties": { + "category": { + "type": "string", + "description": "Name of a Subscription Diagnostic Log category for a resource type this setting is applied to." + }, + "categoryGroup": { + "type": "string", + "description": "Name of a Subscription Diagnostic Log category group for a resource type this setting is applied to." + }, + "enabled": { + "type": "boolean", + "description": "a value indicating whether this log is enabled." + } + }, + "type": "object", + "required": [ + "enabled" + ] + }, "azure-native:monitor:SyslogProtocol": { "description": "Protocol to parse syslog messages. Default rfc3164", "type": "string", @@ -423747,6 +424859,74 @@ } ] }, + "azure-native:monitor:TimeAggregationType": { + "description": "time aggregation type. How the data that is collected should be combined over time. The default value is Average.", + "type": "string", + "enum": [ + { + "value": "Average" + }, + { + "value": "Minimum" + }, + { + "value": "Maximum" + }, + { + "value": "Total" + }, + { + "value": "Count" + }, + { + "value": "Last" + } + ] + }, + "azure-native:monitor:TimeWindow": { + "description": "A specific date-time for the profile.", + "properties": { + "end": { + "type": "string", + "description": "the end time for the profile in ISO 8601 format." + }, + "start": { + "type": "string", + "description": "the start time for the profile in ISO 8601 format." + }, + "timeZone": { + "type": "string", + "description": "the timezone of the start and end times for the profile. Some examples of valid time zones are: Dateline Standard Time, UTC-11, Hawaiian Standard Time, Alaskan Standard Time, Pacific Standard Time (Mexico), Pacific Standard Time, US Mountain Standard Time, Mountain Standard Time (Mexico), Mountain Standard Time, Central America Standard Time, Central Standard Time, Central Standard Time (Mexico), Canada Central Standard Time, SA Pacific Standard Time, Eastern Standard Time, US Eastern Standard Time, Venezuela Standard Time, Paraguay Standard Time, Atlantic Standard Time, Central Brazilian Standard Time, SA Western Standard Time, Pacific SA Standard Time, Newfoundland Standard Time, E. South America Standard Time, Argentina Standard Time, SA Eastern Standard Time, Greenland Standard Time, Montevideo Standard Time, Bahia Standard Time, UTC-02, Mid-Atlantic Standard Time, Azores Standard Time, Cape Verde Standard Time, Morocco Standard Time, UTC, GMT Standard Time, Greenwich Standard Time, W. Europe Standard Time, Central Europe Standard Time, Romance Standard Time, Central European Standard Time, W. Central Africa Standard Time, Namibia Standard Time, Jordan Standard Time, GTB Standard Time, Middle East Standard Time, Egypt Standard Time, Syria Standard Time, E. Europe Standard Time, South Africa Standard Time, FLE Standard Time, Turkey Standard Time, Israel Standard Time, Kaliningrad Standard Time, Libya Standard Time, Arabic Standard Time, Arab Standard Time, Belarus Standard Time, Russian Standard Time, E. Africa Standard Time, Iran Standard Time, Arabian Standard Time, Azerbaijan Standard Time, Russia Time Zone 3, Mauritius Standard Time, Georgian Standard Time, Caucasus Standard Time, Afghanistan Standard Time, West Asia Standard Time, Ekaterinburg Standard Time, Pakistan Standard Time, India Standard Time, Sri Lanka Standard Time, Nepal Standard Time, Central Asia Standard Time, Bangladesh Standard Time, N. Central Asia Standard Time, Myanmar Standard Time, SE Asia Standard Time, North Asia Standard Time, China Standard Time, North Asia East Standard Time, Singapore Standard Time, W. Australia Standard Time, Taipei Standard Time, Ulaanbaatar Standard Time, Tokyo Standard Time, Korea Standard Time, Yakutsk Standard Time, Cen. Australia Standard Time, AUS Central Standard Time, E. Australia Standard Time, AUS Eastern Standard Time, West Pacific Standard Time, Tasmania Standard Time, Magadan Standard Time, Vladivostok Standard Time, Russia Time Zone 10, Central Pacific Standard Time, Russia Time Zone 11, New Zealand Standard Time, UTC+12, Fiji Standard Time, Kamchatka Standard Time, Tonga Standard Time, Samoa Standard Time, Line Islands Standard Time" + } + }, + "type": "object", + "required": [ + "end", + "start" + ] + }, + "azure-native:monitor:TimeWindowResponse": { + "description": "A specific date-time for the profile.", + "properties": { + "end": { + "type": "string", + "description": "the end time for the profile in ISO 8601 format." + }, + "start": { + "type": "string", + "description": "the start time for the profile in ISO 8601 format." + }, + "timeZone": { + "type": "string", + "description": "the timezone of the start and end times for the profile. Some examples of valid time zones are: Dateline Standard Time, UTC-11, Hawaiian Standard Time, Alaskan Standard Time, Pacific Standard Time (Mexico), Pacific Standard Time, US Mountain Standard Time, Mountain Standard Time (Mexico), Mountain Standard Time, Central America Standard Time, Central Standard Time, Central Standard Time (Mexico), Canada Central Standard Time, SA Pacific Standard Time, Eastern Standard Time, US Eastern Standard Time, Venezuela Standard Time, Paraguay Standard Time, Atlantic Standard Time, Central Brazilian Standard Time, SA Western Standard Time, Pacific SA Standard Time, Newfoundland Standard Time, E. South America Standard Time, Argentina Standard Time, SA Eastern Standard Time, Greenland Standard Time, Montevideo Standard Time, Bahia Standard Time, UTC-02, Mid-Atlantic Standard Time, Azores Standard Time, Cape Verde Standard Time, Morocco Standard Time, UTC, GMT Standard Time, Greenwich Standard Time, W. Europe Standard Time, Central Europe Standard Time, Romance Standard Time, Central European Standard Time, W. Central Africa Standard Time, Namibia Standard Time, Jordan Standard Time, GTB Standard Time, Middle East Standard Time, Egypt Standard Time, Syria Standard Time, E. Europe Standard Time, South Africa Standard Time, FLE Standard Time, Turkey Standard Time, Israel Standard Time, Kaliningrad Standard Time, Libya Standard Time, Arabic Standard Time, Arab Standard Time, Belarus Standard Time, Russian Standard Time, E. Africa Standard Time, Iran Standard Time, Arabian Standard Time, Azerbaijan Standard Time, Russia Time Zone 3, Mauritius Standard Time, Georgian Standard Time, Caucasus Standard Time, Afghanistan Standard Time, West Asia Standard Time, Ekaterinburg Standard Time, Pakistan Standard Time, India Standard Time, Sri Lanka Standard Time, Nepal Standard Time, Central Asia Standard Time, Bangladesh Standard Time, N. Central Asia Standard Time, Myanmar Standard Time, SE Asia Standard Time, North Asia Standard Time, China Standard Time, North Asia East Standard Time, Singapore Standard Time, W. Australia Standard Time, Taipei Standard Time, Ulaanbaatar Standard Time, Tokyo Standard Time, Korea Standard Time, Yakutsk Standard Time, Cen. Australia Standard Time, AUS Central Standard Time, E. Australia Standard Time, AUS Eastern Standard Time, West Pacific Standard Time, Tasmania Standard Time, Magadan Standard Time, Vladivostok Standard Time, Russia Time Zone 10, Central Pacific Standard Time, Russia Time Zone 11, New Zealand Standard Time, UTC+12, Fiji Standard Time, Kamchatka Standard Time, Tonga Standard Time, Samoa Standard Time, Line Islands Standard Time" + } + }, + "type": "object", + "required": [ + "end", + "start" + ] + }, "azure-native:monitor:UdpReceiver": { "description": "Receiver using UDP as transport protocol.", "properties": { @@ -423892,6 +425072,40 @@ "phoneNumber" ] }, + "azure-native:monitor:WebhookNotification": { + "description": "Webhook notification of an autoscale event.", + "properties": { + "properties": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "a property bag of settings. This value can be empty." + }, + "serviceUri": { + "type": "string", + "description": "the service address to receive the notification." + } + }, + "type": "object" + }, + "azure-native:monitor:WebhookNotificationResponse": { + "description": "Webhook notification of an autoscale event.", + "properties": { + "properties": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "a property bag of settings. This value can be empty." + }, + "serviceUri": { + "type": "string", + "description": "the service address to receive the notification." + } + }, + "type": "object" + }, "azure-native:monitor:WebhookReceiver": { "description": "A webhook receiver.", "properties": { @@ -767047,6 +768261,139 @@ } ] }, + "azure-native:monitor:AutoscaleSetting": { + "description": "The autoscale setting resource.\n\nUses Azure REST API version 2021-05-01-preview.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### Create or update an autoscale setting\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AzureNative = Pulumi.AzureNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var autoscaleSetting = new AzureNative.Monitor.AutoscaleSetting(\"autoscaleSetting\", new()\n {\n AutoscaleSettingName = \"MySetting\",\n Enabled = true,\n Location = \"West US\",\n Notifications = new[]\n {\n new AzureNative.Monitor.Inputs.AutoscaleNotificationArgs\n {\n Email = new AzureNative.Monitor.Inputs.EmailNotificationArgs\n {\n CustomEmails = new[]\n {\n \"gu@ms.com\",\n \"ge@ns.net\",\n },\n SendToSubscriptionAdministrator = true,\n SendToSubscriptionCoAdministrators = true,\n },\n Operation = AzureNative.Monitor.OperationType.Scale,\n Webhooks = new[]\n {\n new AzureNative.Monitor.Inputs.WebhookNotificationArgs\n {\n Properties = null,\n ServiceUri = \"http://myservice.com\",\n },\n },\n },\n },\n PredictiveAutoscalePolicy = new AzureNative.Monitor.Inputs.PredictiveAutoscalePolicyArgs\n {\n ScaleMode = AzureNative.Monitor.PredictiveAutoscalePolicyScaleMode.Enabled,\n },\n Profiles = new[]\n {\n new AzureNative.Monitor.Inputs.AutoscaleProfileArgs\n {\n Capacity = new AzureNative.Monitor.Inputs.ScaleCapacityArgs\n {\n Default = \"1\",\n Maximum = \"10\",\n Minimum = \"1\",\n },\n FixedDate = new AzureNative.Monitor.Inputs.TimeWindowArgs\n {\n End = \"2015-03-05T14:30:00Z\",\n Start = \"2015-03-05T14:00:00Z\",\n TimeZone = \"UTC\",\n },\n Name = \"adios\",\n Rules = new[]\n {\n new AzureNative.Monitor.Inputs.ScaleRuleArgs\n {\n MetricTrigger = new AzureNative.Monitor.Inputs.MetricTriggerArgs\n {\n DividePerInstance = false,\n MetricName = \"Percentage CPU\",\n MetricResourceUri = \"/subscriptions/b67f7fec-69fc-4974-9099-a26bd6ffeda3/resourceGroups/TestingMetricsScaleSet/providers/Microsoft.Compute/virtualMachineScaleSets/testingsc\",\n Operator = AzureNative.Monitor.ComparisonOperationType.GreaterThan,\n Statistic = AzureNative.Monitor.MetricStatisticType.Average,\n Threshold = 10,\n TimeAggregation = AzureNative.Monitor.TimeAggregationType.Average,\n TimeGrain = \"PT1M\",\n TimeWindow = \"PT5M\",\n },\n ScaleAction = new AzureNative.Monitor.Inputs.ScaleActionArgs\n {\n Cooldown = \"PT5M\",\n Direction = AzureNative.Monitor.ScaleDirection.Increase,\n Type = AzureNative.Monitor.ScaleType.ChangeCount,\n Value = \"1\",\n },\n },\n new AzureNative.Monitor.Inputs.ScaleRuleArgs\n {\n MetricTrigger = new AzureNative.Monitor.Inputs.MetricTriggerArgs\n {\n DividePerInstance = false,\n MetricName = \"Percentage CPU\",\n MetricResourceUri = \"/subscriptions/b67f7fec-69fc-4974-9099-a26bd6ffeda3/resourceGroups/TestingMetricsScaleSet/providers/Microsoft.Compute/virtualMachineScaleSets/testingsc\",\n Operator = AzureNative.Monitor.ComparisonOperationType.GreaterThan,\n Statistic = AzureNative.Monitor.MetricStatisticType.Average,\n Threshold = 15,\n TimeAggregation = AzureNative.Monitor.TimeAggregationType.Average,\n TimeGrain = \"PT2M\",\n TimeWindow = \"PT5M\",\n },\n ScaleAction = new AzureNative.Monitor.Inputs.ScaleActionArgs\n {\n Cooldown = \"PT6M\",\n Direction = AzureNative.Monitor.ScaleDirection.Decrease,\n Type = AzureNative.Monitor.ScaleType.ChangeCount,\n Value = \"2\",\n },\n },\n },\n },\n new AzureNative.Monitor.Inputs.AutoscaleProfileArgs\n {\n Capacity = new AzureNative.Monitor.Inputs.ScaleCapacityArgs\n {\n Default = \"1\",\n Maximum = \"10\",\n Minimum = \"1\",\n },\n Name = \"saludos\",\n Recurrence = new AzureNative.Monitor.Inputs.RecurrenceArgs\n {\n Frequency = AzureNative.Monitor.RecurrenceFrequency.Week,\n Schedule = new AzureNative.Monitor.Inputs.RecurrentScheduleArgs\n {\n Days = new[]\n {\n \"1\",\n },\n Hours = new[]\n {\n 5,\n },\n Minutes = new[]\n {\n 15,\n },\n TimeZone = \"UTC\",\n },\n },\n Rules = new[]\n {\n new AzureNative.Monitor.Inputs.ScaleRuleArgs\n {\n MetricTrigger = new AzureNative.Monitor.Inputs.MetricTriggerArgs\n {\n DividePerInstance = false,\n MetricName = \"Percentage CPU\",\n MetricResourceUri = \"/subscriptions/b67f7fec-69fc-4974-9099-a26bd6ffeda3/resourceGroups/TestingMetricsScaleSet/providers/Microsoft.Compute/virtualMachineScaleSets/testingsc\",\n Operator = AzureNative.Monitor.ComparisonOperationType.GreaterThan,\n Statistic = AzureNative.Monitor.MetricStatisticType.Average,\n Threshold = 10,\n TimeAggregation = AzureNative.Monitor.TimeAggregationType.Average,\n TimeGrain = \"PT1M\",\n TimeWindow = \"PT5M\",\n },\n ScaleAction = new AzureNative.Monitor.Inputs.ScaleActionArgs\n {\n Cooldown = \"PT5M\",\n Direction = AzureNative.Monitor.ScaleDirection.Increase,\n Type = AzureNative.Monitor.ScaleType.ChangeCount,\n Value = \"1\",\n },\n },\n new AzureNative.Monitor.Inputs.ScaleRuleArgs\n {\n MetricTrigger = new AzureNative.Monitor.Inputs.MetricTriggerArgs\n {\n DividePerInstance = false,\n MetricName = \"Percentage CPU\",\n MetricResourceUri = \"/subscriptions/b67f7fec-69fc-4974-9099-a26bd6ffeda3/resourceGroups/TestingMetricsScaleSet/providers/Microsoft.Compute/virtualMachineScaleSets/testingsc\",\n Operator = AzureNative.Monitor.ComparisonOperationType.GreaterThan,\n Statistic = AzureNative.Monitor.MetricStatisticType.Average,\n Threshold = 15,\n TimeAggregation = AzureNative.Monitor.TimeAggregationType.Average,\n TimeGrain = \"PT2M\",\n TimeWindow = \"PT5M\",\n },\n ScaleAction = new AzureNative.Monitor.Inputs.ScaleActionArgs\n {\n Cooldown = \"PT6M\",\n Direction = AzureNative.Monitor.ScaleDirection.Decrease,\n Type = AzureNative.Monitor.ScaleType.ChangeCount,\n Value = \"2\",\n },\n },\n },\n },\n },\n ResourceGroupName = \"TestingMetricsScaleSet\",\n Tags = \n {\n { \"key1\", \"value1\" },\n { \"key2\", \"value2\" },\n },\n TargetResourceUri = \"/subscriptions/b67f7fec-69fc-4974-9099-a26bd6ffeda3/resourceGroups/TestingMetricsScaleSet/providers/Microsoft.Compute/virtualMachineScaleSets/testingsc\",\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\tmonitor \"github.com/pulumi/pulumi-azure-native-sdk/monitor/v2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := monitor.NewAutoscaleSetting(ctx, \"autoscaleSetting\", \u0026monitor.AutoscaleSettingArgs{\n\t\t\tAutoscaleSettingName: pulumi.String(\"MySetting\"),\n\t\t\tEnabled: pulumi.Bool(true),\n\t\t\tLocation: pulumi.String(\"West US\"),\n\t\t\tNotifications: monitor.AutoscaleNotificationArray{\n\t\t\t\t\u0026monitor.AutoscaleNotificationArgs{\n\t\t\t\t\tEmail: \u0026monitor.EmailNotificationArgs{\n\t\t\t\t\t\tCustomEmails: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"gu@ms.com\"),\n\t\t\t\t\t\t\tpulumi.String(\"ge@ns.net\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tSendToSubscriptionAdministrator: pulumi.Bool(true),\n\t\t\t\t\t\tSendToSubscriptionCoAdministrators: pulumi.Bool(true),\n\t\t\t\t\t},\n\t\t\t\t\tOperation: monitor.OperationTypeScale,\n\t\t\t\t\tWebhooks: monitor.WebhookNotificationArray{\n\t\t\t\t\t\t\u0026monitor.WebhookNotificationArgs{\n\t\t\t\t\t\t\tProperties: pulumi.StringMap{},\n\t\t\t\t\t\t\tServiceUri: pulumi.String(\"http://myservice.com\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tPredictiveAutoscalePolicy: \u0026monitor.PredictiveAutoscalePolicyArgs{\n\t\t\t\tScaleMode: monitor.PredictiveAutoscalePolicyScaleModeEnabled,\n\t\t\t},\n\t\t\tProfiles: monitor.AutoscaleProfileArray{\n\t\t\t\t\u0026monitor.AutoscaleProfileArgs{\n\t\t\t\t\tCapacity: \u0026monitor.ScaleCapacityArgs{\n\t\t\t\t\t\tDefault: pulumi.String(\"1\"),\n\t\t\t\t\t\tMaximum: pulumi.String(\"10\"),\n\t\t\t\t\t\tMinimum: pulumi.String(\"1\"),\n\t\t\t\t\t},\n\t\t\t\t\tFixedDate: \u0026monitor.TimeWindowArgs{\n\t\t\t\t\t\tEnd: pulumi.String(\"2015-03-05T14:30:00Z\"),\n\t\t\t\t\t\tStart: pulumi.String(\"2015-03-05T14:00:00Z\"),\n\t\t\t\t\t\tTimeZone: pulumi.String(\"UTC\"),\n\t\t\t\t\t},\n\t\t\t\t\tName: pulumi.String(\"adios\"),\n\t\t\t\t\tRules: monitor.ScaleRuleArray{\n\t\t\t\t\t\t\u0026monitor.ScaleRuleArgs{\n\t\t\t\t\t\t\tMetricTrigger: \u0026monitor.MetricTriggerArgs{\n\t\t\t\t\t\t\t\tDividePerInstance: pulumi.Bool(false),\n\t\t\t\t\t\t\t\tMetricName: pulumi.String(\"Percentage CPU\"),\n\t\t\t\t\t\t\t\tMetricResourceUri: pulumi.String(\"/subscriptions/b67f7fec-69fc-4974-9099-a26bd6ffeda3/resourceGroups/TestingMetricsScaleSet/providers/Microsoft.Compute/virtualMachineScaleSets/testingsc\"),\n\t\t\t\t\t\t\t\tOperator: monitor.ComparisonOperationTypeGreaterThan,\n\t\t\t\t\t\t\t\tStatistic: monitor.MetricStatisticTypeAverage,\n\t\t\t\t\t\t\t\tThreshold: pulumi.Float64(10),\n\t\t\t\t\t\t\t\tTimeAggregation: monitor.TimeAggregationTypeAverage,\n\t\t\t\t\t\t\t\tTimeGrain: pulumi.String(\"PT1M\"),\n\t\t\t\t\t\t\t\tTimeWindow: pulumi.String(\"PT5M\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tScaleAction: \u0026monitor.ScaleActionArgs{\n\t\t\t\t\t\t\t\tCooldown: pulumi.String(\"PT5M\"),\n\t\t\t\t\t\t\t\tDirection: monitor.ScaleDirectionIncrease,\n\t\t\t\t\t\t\t\tType: monitor.ScaleTypeChangeCount,\n\t\t\t\t\t\t\t\tValue: pulumi.String(\"1\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026monitor.ScaleRuleArgs{\n\t\t\t\t\t\t\tMetricTrigger: \u0026monitor.MetricTriggerArgs{\n\t\t\t\t\t\t\t\tDividePerInstance: pulumi.Bool(false),\n\t\t\t\t\t\t\t\tMetricName: pulumi.String(\"Percentage CPU\"),\n\t\t\t\t\t\t\t\tMetricResourceUri: pulumi.String(\"/subscriptions/b67f7fec-69fc-4974-9099-a26bd6ffeda3/resourceGroups/TestingMetricsScaleSet/providers/Microsoft.Compute/virtualMachineScaleSets/testingsc\"),\n\t\t\t\t\t\t\t\tOperator: monitor.ComparisonOperationTypeGreaterThan,\n\t\t\t\t\t\t\t\tStatistic: monitor.MetricStatisticTypeAverage,\n\t\t\t\t\t\t\t\tThreshold: pulumi.Float64(15),\n\t\t\t\t\t\t\t\tTimeAggregation: monitor.TimeAggregationTypeAverage,\n\t\t\t\t\t\t\t\tTimeGrain: pulumi.String(\"PT2M\"),\n\t\t\t\t\t\t\t\tTimeWindow: pulumi.String(\"PT5M\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tScaleAction: \u0026monitor.ScaleActionArgs{\n\t\t\t\t\t\t\t\tCooldown: pulumi.String(\"PT6M\"),\n\t\t\t\t\t\t\t\tDirection: monitor.ScaleDirectionDecrease,\n\t\t\t\t\t\t\t\tType: monitor.ScaleTypeChangeCount,\n\t\t\t\t\t\t\t\tValue: pulumi.String(\"2\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026monitor.AutoscaleProfileArgs{\n\t\t\t\t\tCapacity: \u0026monitor.ScaleCapacityArgs{\n\t\t\t\t\t\tDefault: pulumi.String(\"1\"),\n\t\t\t\t\t\tMaximum: pulumi.String(\"10\"),\n\t\t\t\t\t\tMinimum: pulumi.String(\"1\"),\n\t\t\t\t\t},\n\t\t\t\t\tName: pulumi.String(\"saludos\"),\n\t\t\t\t\tRecurrence: \u0026monitor.RecurrenceArgs{\n\t\t\t\t\t\tFrequency: monitor.RecurrenceFrequencyWeek,\n\t\t\t\t\t\tSchedule: \u0026monitor.RecurrentScheduleArgs{\n\t\t\t\t\t\t\tDays: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"1\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tHours: pulumi.IntArray{\n\t\t\t\t\t\t\t\tpulumi.Int(5),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tMinutes: pulumi.IntArray{\n\t\t\t\t\t\t\t\tpulumi.Int(15),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tTimeZone: pulumi.String(\"UTC\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tRules: monitor.ScaleRuleArray{\n\t\t\t\t\t\t\u0026monitor.ScaleRuleArgs{\n\t\t\t\t\t\t\tMetricTrigger: \u0026monitor.MetricTriggerArgs{\n\t\t\t\t\t\t\t\tDividePerInstance: pulumi.Bool(false),\n\t\t\t\t\t\t\t\tMetricName: pulumi.String(\"Percentage CPU\"),\n\t\t\t\t\t\t\t\tMetricResourceUri: pulumi.String(\"/subscriptions/b67f7fec-69fc-4974-9099-a26bd6ffeda3/resourceGroups/TestingMetricsScaleSet/providers/Microsoft.Compute/virtualMachineScaleSets/testingsc\"),\n\t\t\t\t\t\t\t\tOperator: monitor.ComparisonOperationTypeGreaterThan,\n\t\t\t\t\t\t\t\tStatistic: monitor.MetricStatisticTypeAverage,\n\t\t\t\t\t\t\t\tThreshold: pulumi.Float64(10),\n\t\t\t\t\t\t\t\tTimeAggregation: monitor.TimeAggregationTypeAverage,\n\t\t\t\t\t\t\t\tTimeGrain: pulumi.String(\"PT1M\"),\n\t\t\t\t\t\t\t\tTimeWindow: pulumi.String(\"PT5M\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tScaleAction: \u0026monitor.ScaleActionArgs{\n\t\t\t\t\t\t\t\tCooldown: pulumi.String(\"PT5M\"),\n\t\t\t\t\t\t\t\tDirection: monitor.ScaleDirectionIncrease,\n\t\t\t\t\t\t\t\tType: monitor.ScaleTypeChangeCount,\n\t\t\t\t\t\t\t\tValue: pulumi.String(\"1\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026monitor.ScaleRuleArgs{\n\t\t\t\t\t\t\tMetricTrigger: \u0026monitor.MetricTriggerArgs{\n\t\t\t\t\t\t\t\tDividePerInstance: pulumi.Bool(false),\n\t\t\t\t\t\t\t\tMetricName: pulumi.String(\"Percentage CPU\"),\n\t\t\t\t\t\t\t\tMetricResourceUri: pulumi.String(\"/subscriptions/b67f7fec-69fc-4974-9099-a26bd6ffeda3/resourceGroups/TestingMetricsScaleSet/providers/Microsoft.Compute/virtualMachineScaleSets/testingsc\"),\n\t\t\t\t\t\t\t\tOperator: monitor.ComparisonOperationTypeGreaterThan,\n\t\t\t\t\t\t\t\tStatistic: monitor.MetricStatisticTypeAverage,\n\t\t\t\t\t\t\t\tThreshold: pulumi.Float64(15),\n\t\t\t\t\t\t\t\tTimeAggregation: monitor.TimeAggregationTypeAverage,\n\t\t\t\t\t\t\t\tTimeGrain: pulumi.String(\"PT2M\"),\n\t\t\t\t\t\t\t\tTimeWindow: pulumi.String(\"PT5M\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tScaleAction: \u0026monitor.ScaleActionArgs{\n\t\t\t\t\t\t\t\tCooldown: pulumi.String(\"PT6M\"),\n\t\t\t\t\t\t\t\tDirection: monitor.ScaleDirectionDecrease,\n\t\t\t\t\t\t\t\tType: monitor.ScaleTypeChangeCount,\n\t\t\t\t\t\t\t\tValue: pulumi.String(\"2\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tResourceGroupName: pulumi.String(\"TestingMetricsScaleSet\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"key1\": pulumi.String(\"value1\"),\n\t\t\t\t\"key2\": pulumi.String(\"value2\"),\n\t\t\t},\n\t\t\tTargetResourceUri: pulumi.String(\"/subscriptions/b67f7fec-69fc-4974-9099-a26bd6ffeda3/resourceGroups/TestingMetricsScaleSet/providers/Microsoft.Compute/virtualMachineScaleSets/testingsc\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n\n```\n\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azurenative.monitor.AutoscaleSetting;\nimport com.pulumi.azurenative.monitor.AutoscaleSettingArgs;\nimport com.pulumi.azurenative.monitor.inputs.AutoscaleNotificationArgs;\nimport com.pulumi.azurenative.monitor.inputs.EmailNotificationArgs;\nimport com.pulumi.azurenative.monitor.inputs.PredictiveAutoscalePolicyArgs;\nimport com.pulumi.azurenative.monitor.inputs.AutoscaleProfileArgs;\nimport com.pulumi.azurenative.monitor.inputs.ScaleCapacityArgs;\nimport com.pulumi.azurenative.monitor.inputs.TimeWindowArgs;\nimport com.pulumi.azurenative.monitor.inputs.RecurrenceArgs;\nimport com.pulumi.azurenative.monitor.inputs.RecurrentScheduleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var autoscaleSetting = new AutoscaleSetting(\"autoscaleSetting\", AutoscaleSettingArgs.builder()\n .autoscaleSettingName(\"MySetting\")\n .enabled(true)\n .location(\"West US\")\n .notifications(AutoscaleNotificationArgs.builder()\n .email(EmailNotificationArgs.builder()\n .customEmails( \n \"gu@ms.com\",\n \"ge@ns.net\")\n .sendToSubscriptionAdministrator(true)\n .sendToSubscriptionCoAdministrators(true)\n .build())\n .operation(\"Scale\")\n .webhooks(WebhookNotificationArgs.builder()\n .properties()\n .serviceUri(\"http://myservice.com\")\n .build())\n .build())\n .predictiveAutoscalePolicy(PredictiveAutoscalePolicyArgs.builder()\n .scaleMode(\"Enabled\")\n .build())\n .profiles( \n AutoscaleProfileArgs.builder()\n .capacity(ScaleCapacityArgs.builder()\n .default_(\"1\")\n .maximum(\"10\")\n .minimum(\"1\")\n .build())\n .fixedDate(TimeWindowArgs.builder()\n .end(\"2015-03-05T14:30:00Z\")\n .start(\"2015-03-05T14:00:00Z\")\n .timeZone(\"UTC\")\n .build())\n .name(\"adios\")\n .rules( \n ScaleRuleArgs.builder()\n .metricTrigger(MetricTriggerArgs.builder()\n .dividePerInstance(false)\n .metricName(\"Percentage CPU\")\n .metricResourceUri(\"/subscriptions/b67f7fec-69fc-4974-9099-a26bd6ffeda3/resourceGroups/TestingMetricsScaleSet/providers/Microsoft.Compute/virtualMachineScaleSets/testingsc\")\n .operator(\"GreaterThan\")\n .statistic(\"Average\")\n .threshold(10)\n .timeAggregation(\"Average\")\n .timeGrain(\"PT1M\")\n .timeWindow(\"PT5M\")\n .build())\n .scaleAction(ScaleActionArgs.builder()\n .cooldown(\"PT5M\")\n .direction(\"Increase\")\n .type(\"ChangeCount\")\n .value(\"1\")\n .build())\n .build(),\n ScaleRuleArgs.builder()\n .metricTrigger(MetricTriggerArgs.builder()\n .dividePerInstance(false)\n .metricName(\"Percentage CPU\")\n .metricResourceUri(\"/subscriptions/b67f7fec-69fc-4974-9099-a26bd6ffeda3/resourceGroups/TestingMetricsScaleSet/providers/Microsoft.Compute/virtualMachineScaleSets/testingsc\")\n .operator(\"GreaterThan\")\n .statistic(\"Average\")\n .threshold(15)\n .timeAggregation(\"Average\")\n .timeGrain(\"PT2M\")\n .timeWindow(\"PT5M\")\n .build())\n .scaleAction(ScaleActionArgs.builder()\n .cooldown(\"PT6M\")\n .direction(\"Decrease\")\n .type(\"ChangeCount\")\n .value(\"2\")\n .build())\n .build())\n .build(),\n AutoscaleProfileArgs.builder()\n .capacity(ScaleCapacityArgs.builder()\n .default_(\"1\")\n .maximum(\"10\")\n .minimum(\"1\")\n .build())\n .name(\"saludos\")\n .recurrence(RecurrenceArgs.builder()\n .frequency(\"Week\")\n .schedule(RecurrentScheduleArgs.builder()\n .days(\"1\")\n .hours(5)\n .minutes(15)\n .timeZone(\"UTC\")\n .build())\n .build())\n .rules( \n ScaleRuleArgs.builder()\n .metricTrigger(MetricTriggerArgs.builder()\n .dividePerInstance(false)\n .metricName(\"Percentage CPU\")\n .metricResourceUri(\"/subscriptions/b67f7fec-69fc-4974-9099-a26bd6ffeda3/resourceGroups/TestingMetricsScaleSet/providers/Microsoft.Compute/virtualMachineScaleSets/testingsc\")\n .operator(\"GreaterThan\")\n .statistic(\"Average\")\n .threshold(10)\n .timeAggregation(\"Average\")\n .timeGrain(\"PT1M\")\n .timeWindow(\"PT5M\")\n .build())\n .scaleAction(ScaleActionArgs.builder()\n .cooldown(\"PT5M\")\n .direction(\"Increase\")\n .type(\"ChangeCount\")\n .value(\"1\")\n .build())\n .build(),\n ScaleRuleArgs.builder()\n .metricTrigger(MetricTriggerArgs.builder()\n .dividePerInstance(false)\n .metricName(\"Percentage CPU\")\n .metricResourceUri(\"/subscriptions/b67f7fec-69fc-4974-9099-a26bd6ffeda3/resourceGroups/TestingMetricsScaleSet/providers/Microsoft.Compute/virtualMachineScaleSets/testingsc\")\n .operator(\"GreaterThan\")\n .statistic(\"Average\")\n .threshold(15)\n .timeAggregation(\"Average\")\n .timeGrain(\"PT2M\")\n .timeWindow(\"PT5M\")\n .build())\n .scaleAction(ScaleActionArgs.builder()\n .cooldown(\"PT6M\")\n .direction(\"Decrease\")\n .type(\"ChangeCount\")\n .value(\"2\")\n .build())\n .build())\n .build())\n .resourceGroupName(\"TestingMetricsScaleSet\")\n .tags(Map.ofEntries(\n Map.entry(\"key1\", \"value1\"),\n Map.entry(\"key2\", \"value2\")\n ))\n .targetResourceUri(\"/subscriptions/b67f7fec-69fc-4974-9099-a26bd6ffeda3/resourceGroups/TestingMetricsScaleSet/providers/Microsoft.Compute/virtualMachineScaleSets/testingsc\")\n .build());\n\n }\n}\n\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure_native from \"@pulumi/azure-native\";\n\nconst autoscaleSetting = new azure_native.monitor.AutoscaleSetting(\"autoscaleSetting\", {\n autoscaleSettingName: \"MySetting\",\n enabled: true,\n location: \"West US\",\n notifications: [{\n email: {\n customEmails: [\n \"gu@ms.com\",\n \"ge@ns.net\",\n ],\n sendToSubscriptionAdministrator: true,\n sendToSubscriptionCoAdministrators: true,\n },\n operation: azure_native.monitor.OperationType.Scale,\n webhooks: [{\n properties: {},\n serviceUri: \"http://myservice.com\",\n }],\n }],\n predictiveAutoscalePolicy: {\n scaleMode: azure_native.monitor.PredictiveAutoscalePolicyScaleMode.Enabled,\n },\n profiles: [\n {\n capacity: {\n \"default\": \"1\",\n maximum: \"10\",\n minimum: \"1\",\n },\n fixedDate: {\n end: \"2015-03-05T14:30:00Z\",\n start: \"2015-03-05T14:00:00Z\",\n timeZone: \"UTC\",\n },\n name: \"adios\",\n rules: [\n {\n metricTrigger: {\n dividePerInstance: false,\n metricName: \"Percentage CPU\",\n metricResourceUri: \"/subscriptions/b67f7fec-69fc-4974-9099-a26bd6ffeda3/resourceGroups/TestingMetricsScaleSet/providers/Microsoft.Compute/virtualMachineScaleSets/testingsc\",\n operator: azure_native.monitor.ComparisonOperationType.GreaterThan,\n statistic: azure_native.monitor.MetricStatisticType.Average,\n threshold: 10,\n timeAggregation: azure_native.monitor.TimeAggregationType.Average,\n timeGrain: \"PT1M\",\n timeWindow: \"PT5M\",\n },\n scaleAction: {\n cooldown: \"PT5M\",\n direction: azure_native.monitor.ScaleDirection.Increase,\n type: azure_native.monitor.ScaleType.ChangeCount,\n value: \"1\",\n },\n },\n {\n metricTrigger: {\n dividePerInstance: false,\n metricName: \"Percentage CPU\",\n metricResourceUri: \"/subscriptions/b67f7fec-69fc-4974-9099-a26bd6ffeda3/resourceGroups/TestingMetricsScaleSet/providers/Microsoft.Compute/virtualMachineScaleSets/testingsc\",\n operator: azure_native.monitor.ComparisonOperationType.GreaterThan,\n statistic: azure_native.monitor.MetricStatisticType.Average,\n threshold: 15,\n timeAggregation: azure_native.monitor.TimeAggregationType.Average,\n timeGrain: \"PT2M\",\n timeWindow: \"PT5M\",\n },\n scaleAction: {\n cooldown: \"PT6M\",\n direction: azure_native.monitor.ScaleDirection.Decrease,\n type: azure_native.monitor.ScaleType.ChangeCount,\n value: \"2\",\n },\n },\n ],\n },\n {\n capacity: {\n \"default\": \"1\",\n maximum: \"10\",\n minimum: \"1\",\n },\n name: \"saludos\",\n recurrence: {\n frequency: azure_native.monitor.RecurrenceFrequency.Week,\n schedule: {\n days: [\"1\"],\n hours: [5],\n minutes: [15],\n timeZone: \"UTC\",\n },\n },\n rules: [\n {\n metricTrigger: {\n dividePerInstance: false,\n metricName: \"Percentage CPU\",\n metricResourceUri: \"/subscriptions/b67f7fec-69fc-4974-9099-a26bd6ffeda3/resourceGroups/TestingMetricsScaleSet/providers/Microsoft.Compute/virtualMachineScaleSets/testingsc\",\n operator: azure_native.monitor.ComparisonOperationType.GreaterThan,\n statistic: azure_native.monitor.MetricStatisticType.Average,\n threshold: 10,\n timeAggregation: azure_native.monitor.TimeAggregationType.Average,\n timeGrain: \"PT1M\",\n timeWindow: \"PT5M\",\n },\n scaleAction: {\n cooldown: \"PT5M\",\n direction: azure_native.monitor.ScaleDirection.Increase,\n type: azure_native.monitor.ScaleType.ChangeCount,\n value: \"1\",\n },\n },\n {\n metricTrigger: {\n dividePerInstance: false,\n metricName: \"Percentage CPU\",\n metricResourceUri: \"/subscriptions/b67f7fec-69fc-4974-9099-a26bd6ffeda3/resourceGroups/TestingMetricsScaleSet/providers/Microsoft.Compute/virtualMachineScaleSets/testingsc\",\n operator: azure_native.monitor.ComparisonOperationType.GreaterThan,\n statistic: azure_native.monitor.MetricStatisticType.Average,\n threshold: 15,\n timeAggregation: azure_native.monitor.TimeAggregationType.Average,\n timeGrain: \"PT2M\",\n timeWindow: \"PT5M\",\n },\n scaleAction: {\n cooldown: \"PT6M\",\n direction: azure_native.monitor.ScaleDirection.Decrease,\n type: azure_native.monitor.ScaleType.ChangeCount,\n value: \"2\",\n },\n },\n ],\n },\n ],\n resourceGroupName: \"TestingMetricsScaleSet\",\n tags: {\n key1: \"value1\",\n key2: \"value2\",\n },\n targetResourceUri: \"/subscriptions/b67f7fec-69fc-4974-9099-a26bd6ffeda3/resourceGroups/TestingMetricsScaleSet/providers/Microsoft.Compute/virtualMachineScaleSets/testingsc\",\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_azure_native as azure_native\n\nautoscale_setting = azure_native.monitor.AutoscaleSetting(\"autoscaleSetting\",\n autoscale_setting_name=\"MySetting\",\n enabled=True,\n location=\"West US\",\n notifications=[{\n \"email\": {\n \"custom_emails\": [\n \"gu@ms.com\",\n \"ge@ns.net\",\n ],\n \"send_to_subscription_administrator\": True,\n \"send_to_subscription_co_administrators\": True,\n },\n \"operation\": azure_native.monitor.OperationType.SCALE,\n \"webhooks\": [{\n \"properties\": {},\n \"service_uri\": \"http://myservice.com\",\n }],\n }],\n predictive_autoscale_policy={\n \"scale_mode\": azure_native.monitor.PredictiveAutoscalePolicyScaleMode.ENABLED,\n },\n profiles=[\n {\n \"capacity\": {\n \"default\": \"1\",\n \"maximum\": \"10\",\n \"minimum\": \"1\",\n },\n \"fixed_date\": {\n \"end\": \"2015-03-05T14:30:00Z\",\n \"start\": \"2015-03-05T14:00:00Z\",\n \"time_zone\": \"UTC\",\n },\n \"name\": \"adios\",\n \"rules\": [\n {\n \"metric_trigger\": {\n \"divide_per_instance\": False,\n \"metric_name\": \"Percentage CPU\",\n \"metric_resource_uri\": \"/subscriptions/b67f7fec-69fc-4974-9099-a26bd6ffeda3/resourceGroups/TestingMetricsScaleSet/providers/Microsoft.Compute/virtualMachineScaleSets/testingsc\",\n \"operator\": azure_native.monitor.ComparisonOperationType.GREATER_THAN,\n \"statistic\": azure_native.monitor.MetricStatisticType.AVERAGE,\n \"threshold\": 10,\n \"time_aggregation\": azure_native.monitor.TimeAggregationType.AVERAGE,\n \"time_grain\": \"PT1M\",\n \"time_window\": \"PT5M\",\n },\n \"scale_action\": {\n \"cooldown\": \"PT5M\",\n \"direction\": azure_native.monitor.ScaleDirection.INCREASE,\n \"type\": azure_native.monitor.ScaleType.CHANGE_COUNT,\n \"value\": \"1\",\n },\n },\n {\n \"metric_trigger\": {\n \"divide_per_instance\": False,\n \"metric_name\": \"Percentage CPU\",\n \"metric_resource_uri\": \"/subscriptions/b67f7fec-69fc-4974-9099-a26bd6ffeda3/resourceGroups/TestingMetricsScaleSet/providers/Microsoft.Compute/virtualMachineScaleSets/testingsc\",\n \"operator\": azure_native.monitor.ComparisonOperationType.GREATER_THAN,\n \"statistic\": azure_native.monitor.MetricStatisticType.AVERAGE,\n \"threshold\": 15,\n \"time_aggregation\": azure_native.monitor.TimeAggregationType.AVERAGE,\n \"time_grain\": \"PT2M\",\n \"time_window\": \"PT5M\",\n },\n \"scale_action\": {\n \"cooldown\": \"PT6M\",\n \"direction\": azure_native.monitor.ScaleDirection.DECREASE,\n \"type\": azure_native.monitor.ScaleType.CHANGE_COUNT,\n \"value\": \"2\",\n },\n },\n ],\n },\n {\n \"capacity\": {\n \"default\": \"1\",\n \"maximum\": \"10\",\n \"minimum\": \"1\",\n },\n \"name\": \"saludos\",\n \"recurrence\": {\n \"frequency\": azure_native.monitor.RecurrenceFrequency.WEEK,\n \"schedule\": {\n \"days\": [\"1\"],\n \"hours\": [5],\n \"minutes\": [15],\n \"time_zone\": \"UTC\",\n },\n },\n \"rules\": [\n {\n \"metric_trigger\": {\n \"divide_per_instance\": False,\n \"metric_name\": \"Percentage CPU\",\n \"metric_resource_uri\": \"/subscriptions/b67f7fec-69fc-4974-9099-a26bd6ffeda3/resourceGroups/TestingMetricsScaleSet/providers/Microsoft.Compute/virtualMachineScaleSets/testingsc\",\n \"operator\": azure_native.monitor.ComparisonOperationType.GREATER_THAN,\n \"statistic\": azure_native.monitor.MetricStatisticType.AVERAGE,\n \"threshold\": 10,\n \"time_aggregation\": azure_native.monitor.TimeAggregationType.AVERAGE,\n \"time_grain\": \"PT1M\",\n \"time_window\": \"PT5M\",\n },\n \"scale_action\": {\n \"cooldown\": \"PT5M\",\n \"direction\": azure_native.monitor.ScaleDirection.INCREASE,\n \"type\": azure_native.monitor.ScaleType.CHANGE_COUNT,\n \"value\": \"1\",\n },\n },\n {\n \"metric_trigger\": {\n \"divide_per_instance\": False,\n \"metric_name\": \"Percentage CPU\",\n \"metric_resource_uri\": \"/subscriptions/b67f7fec-69fc-4974-9099-a26bd6ffeda3/resourceGroups/TestingMetricsScaleSet/providers/Microsoft.Compute/virtualMachineScaleSets/testingsc\",\n \"operator\": azure_native.monitor.ComparisonOperationType.GREATER_THAN,\n \"statistic\": azure_native.monitor.MetricStatisticType.AVERAGE,\n \"threshold\": 15,\n \"time_aggregation\": azure_native.monitor.TimeAggregationType.AVERAGE,\n \"time_grain\": \"PT2M\",\n \"time_window\": \"PT5M\",\n },\n \"scale_action\": {\n \"cooldown\": \"PT6M\",\n \"direction\": azure_native.monitor.ScaleDirection.DECREASE,\n \"type\": azure_native.monitor.ScaleType.CHANGE_COUNT,\n \"value\": \"2\",\n },\n },\n ],\n },\n ],\n resource_group_name=\"TestingMetricsScaleSet\",\n tags={\n \"key1\": \"value1\",\n \"key2\": \"value2\",\n },\n target_resource_uri=\"/subscriptions/b67f7fec-69fc-4974-9099-a26bd6ffeda3/resourceGroups/TestingMetricsScaleSet/providers/Microsoft.Compute/virtualMachineScaleSets/testingsc\")\n\n```\n\n```yaml\nresources:\n autoscaleSetting:\n type: azure-native:monitor:AutoscaleSetting\n properties:\n autoscaleSettingName: MySetting\n enabled: true\n location: West US\n notifications:\n - email:\n customEmails:\n - gu@ms.com\n - ge@ns.net\n sendToSubscriptionAdministrator: true\n sendToSubscriptionCoAdministrators: true\n operation: Scale\n webhooks:\n - properties: {}\n serviceUri: http://myservice.com\n predictiveAutoscalePolicy:\n scaleMode: Enabled\n profiles:\n - capacity:\n default: '1'\n maximum: '10'\n minimum: '1'\n fixedDate:\n end: 2015-03-05T14:30:00Z\n start: 2015-03-05T14:00:00Z\n timeZone: UTC\n name: adios\n rules:\n - metricTrigger:\n dividePerInstance: false\n metricName: Percentage CPU\n metricResourceUri: /subscriptions/b67f7fec-69fc-4974-9099-a26bd6ffeda3/resourceGroups/TestingMetricsScaleSet/providers/Microsoft.Compute/virtualMachineScaleSets/testingsc\n operator: GreaterThan\n statistic: Average\n threshold: 10\n timeAggregation: Average\n timeGrain: PT1M\n timeWindow: PT5M\n scaleAction:\n cooldown: PT5M\n direction: Increase\n type: ChangeCount\n value: '1'\n - metricTrigger:\n dividePerInstance: false\n metricName: Percentage CPU\n metricResourceUri: /subscriptions/b67f7fec-69fc-4974-9099-a26bd6ffeda3/resourceGroups/TestingMetricsScaleSet/providers/Microsoft.Compute/virtualMachineScaleSets/testingsc\n operator: GreaterThan\n statistic: Average\n threshold: 15\n timeAggregation: Average\n timeGrain: PT2M\n timeWindow: PT5M\n scaleAction:\n cooldown: PT6M\n direction: Decrease\n type: ChangeCount\n value: '2'\n - capacity:\n default: '1'\n maximum: '10'\n minimum: '1'\n name: saludos\n recurrence:\n frequency: Week\n schedule:\n days:\n - '1'\n hours:\n - 5\n minutes:\n - 15\n timeZone: UTC\n rules:\n - metricTrigger:\n dividePerInstance: false\n metricName: Percentage CPU\n metricResourceUri: /subscriptions/b67f7fec-69fc-4974-9099-a26bd6ffeda3/resourceGroups/TestingMetricsScaleSet/providers/Microsoft.Compute/virtualMachineScaleSets/testingsc\n operator: GreaterThan\n statistic: Average\n threshold: 10\n timeAggregation: Average\n timeGrain: PT1M\n timeWindow: PT5M\n scaleAction:\n cooldown: PT5M\n direction: Increase\n type: ChangeCount\n value: '1'\n - metricTrigger:\n dividePerInstance: false\n metricName: Percentage CPU\n metricResourceUri: /subscriptions/b67f7fec-69fc-4974-9099-a26bd6ffeda3/resourceGroups/TestingMetricsScaleSet/providers/Microsoft.Compute/virtualMachineScaleSets/testingsc\n operator: GreaterThan\n statistic: Average\n threshold: 15\n timeAggregation: Average\n timeGrain: PT2M\n timeWindow: PT5M\n scaleAction:\n cooldown: PT6M\n direction: Decrease\n type: ChangeCount\n value: '2'\n resourceGroupName: TestingMetricsScaleSet\n tags:\n key1: value1\n key2: value2\n targetResourceUri: /subscriptions/b67f7fec-69fc-4974-9099-a26bd6ffeda3/resourceGroups/TestingMetricsScaleSet/providers/Microsoft.Compute/virtualMachineScaleSets/testingsc\n\n```\n\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nAn existing resource can be imported using its type token, name, and identifier, e.g.\n\n```sh\n$ pulumi import azure-native:monitor:AutoscaleSetting MySetting /subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Insights/autoscalesettings/{autoscaleSettingName} \n```\n", + "properties": { + "azureApiVersion": { + "type": "string", + "description": "The Azure API version of the resource." + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "name": { + "type": "string", + "description": "Azure resource name" + }, + "properties": { + "type": "object", + "$ref": "#/types/azure-native:monitor:AutoscaleSettingResponse", + "description": "The autoscale setting of the resource." + }, + "systemData": { + "type": "object", + "$ref": "#/types/azure-native:monitor:SystemDataResponse", + "description": "The system metadata related to the response." + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Gets or sets a list of key value pairs that describe the resource. These tags can be used in viewing and grouping this resource (across resource groups). A maximum of 15 tags can be provided for a resource. Each tag must have a key no greater in length than 128 characters and a value no greater in length than 256 characters." + }, + "type": { + "type": "string", + "description": "Azure resource type" + } + }, + "type": "object", + "required": [ + "azureApiVersion", + "location", + "name", + "properties", + "systemData", + "type" + ], + "inputProperties": { + "autoscaleSettingName": { + "type": "string", + "description": "The autoscale setting name.", + "willReplaceOnChanges": true + }, + "enabled": { + "type": "boolean", + "description": "the enabled flag. Specifies whether automatic scaling is enabled for the resource. The default value is 'false'.", + "default": false + }, + "location": { + "type": "string", + "description": "Resource location", + "willReplaceOnChanges": true + }, + "name": { + "type": "string", + "description": "the name of the autoscale setting." + }, + "notifications": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/types/azure-native:monitor:AutoscaleNotification" + }, + "description": "the collection of notifications." + }, + "predictiveAutoscalePolicy": { + "type": "object", + "$ref": "#/types/azure-native:monitor:PredictiveAutoscalePolicy", + "description": "the predictive autoscale policy mode." + }, + "profiles": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/types/azure-native:monitor:AutoscaleProfile" + }, + "description": "the collection of automatic scaling profiles that specify different scaling parameters for different time periods. A maximum of 20 profiles can be specified." + }, + "resourceGroupName": { + "type": "string", + "description": "The name of the resource group. The name is case insensitive.", + "willReplaceOnChanges": true + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Gets or sets a list of key value pairs that describe the resource. These tags can be used in viewing and grouping this resource (across resource groups). A maximum of 15 tags can be provided for a resource. Each tag must have a key no greater in length than 128 characters and a value no greater in length than 256 characters." + }, + "targetResourceLocation": { + "type": "string", + "description": "the location of the resource that the autoscale setting should be added to." + }, + "targetResourceUri": { + "type": "string", + "description": "the resource identifier of the resource that the autoscale setting should be added to." + } + }, + "requiredInputs": [ + "profiles", + "resourceGroupName" + ], + "aliases": [ + { + "type": "azure-native:insights/v20221001:AutoscaleSetting" + }, + { + "type": "azure-native:insights:AutoscaleSetting" + }, + { + "type": "azure-native:monitor/v20140401:AutoscaleSetting" + }, + { + "type": "azure-native:monitor/v20150401:AutoscaleSetting" + }, + { + "type": "azure-native:monitor/v20210501preview:AutoscaleSetting" + }, + { + "type": "azure-native:monitor/v20221001:AutoscaleSetting" + } + ] + }, "azure-native:monitor:AzureMonitorWorkspace": { "description": "An Azure Monitor Workspace definition.\n\nUses Azure REST API version 2023-10-01-preview. In version 2.x of the Azure Native provider, it used API version 2023-04-03.\n\nOther available API versions: 2023-04-03. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native monitor [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### Creates an Azure Monitor Workspace\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AzureNative = Pulumi.AzureNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var azureMonitorWorkspace = new AzureNative.Monitor.AzureMonitorWorkspace(\"azureMonitorWorkspace\", new()\n {\n AzureMonitorWorkspaceName = \"myAzureMonitorWorkspace\",\n Location = \"eastus\",\n ResourceGroupName = \"myResourceGroup\",\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\tmonitor \"github.com/pulumi/pulumi-azure-native-sdk/monitor/v2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := monitor.NewAzureMonitorWorkspace(ctx, \"azureMonitorWorkspace\", \u0026monitor.AzureMonitorWorkspaceArgs{\n\t\t\tAzureMonitorWorkspaceName: pulumi.String(\"myAzureMonitorWorkspace\"),\n\t\t\tLocation: pulumi.String(\"eastus\"),\n\t\t\tResourceGroupName: pulumi.String(\"myResourceGroup\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n\n```\n\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azurenative.monitor.AzureMonitorWorkspace;\nimport com.pulumi.azurenative.monitor.AzureMonitorWorkspaceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var azureMonitorWorkspace = new AzureMonitorWorkspace(\"azureMonitorWorkspace\", AzureMonitorWorkspaceArgs.builder()\n .azureMonitorWorkspaceName(\"myAzureMonitorWorkspace\")\n .location(\"eastus\")\n .resourceGroupName(\"myResourceGroup\")\n .build());\n\n }\n}\n\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure_native from \"@pulumi/azure-native\";\n\nconst azureMonitorWorkspace = new azure_native.monitor.AzureMonitorWorkspace(\"azureMonitorWorkspace\", {\n azureMonitorWorkspaceName: \"myAzureMonitorWorkspace\",\n location: \"eastus\",\n resourceGroupName: \"myResourceGroup\",\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_azure_native as azure_native\n\nazure_monitor_workspace = azure_native.monitor.AzureMonitorWorkspace(\"azureMonitorWorkspace\",\n azure_monitor_workspace_name=\"myAzureMonitorWorkspace\",\n location=\"eastus\",\n resource_group_name=\"myResourceGroup\")\n\n```\n\n```yaml\nresources:\n azureMonitorWorkspace:\n type: azure-native:monitor:AzureMonitorWorkspace\n properties:\n azureMonitorWorkspaceName: myAzureMonitorWorkspace\n location: eastus\n resourceGroupName: myResourceGroup\n\n```\n\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nAn existing resource can be imported using its type token, name, and identifier, e.g.\n\n```sh\n$ pulumi import azure-native:monitor:AzureMonitorWorkspace myAzureMonitorWorkspace /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Monitor/accounts/{azureMonitorWorkspaceName} \n```\n", "properties": { @@ -767166,6 +768513,277 @@ } ] }, + "azure-native:monitor:DiagnosticSetting": { + "description": "The diagnostic setting resource.\n\nUses Azure REST API version 2021-05-01-preview.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### Creates or Updates the diagnostic setting\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AzureNative = Pulumi.AzureNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var diagnosticSetting = new AzureNative.Monitor.DiagnosticSetting(\"diagnosticSetting\", new()\n {\n EventHubAuthorizationRuleId = \"/subscriptions/1a66ce04-b633-4a0b-b2bc-a912ec8986a6/resourceGroups/montest/providers/microsoft.eventhub/namespaces/mynamespace/authorizationrules/myrule\",\n EventHubName = \"myeventhub\",\n LogAnalyticsDestinationType = \"Dedicated\",\n Logs = new[]\n {\n new AzureNative.Monitor.Inputs.LogSettingsArgs\n {\n CategoryGroup = \"allLogs\",\n Enabled = true,\n RetentionPolicy = new AzureNative.Monitor.Inputs.RetentionPolicyArgs\n {\n Days = 0,\n Enabled = false,\n },\n },\n },\n MarketplacePartnerId = \"/subscriptions/abcdeabc-1234-1234-ab12-123a1234567a/resourceGroups/test-rg/providers/Microsoft.Datadog/monitors/dd1\",\n Metrics = new[]\n {\n new AzureNative.Monitor.Inputs.MetricSettingsArgs\n {\n Category = \"WorkflowMetrics\",\n Enabled = true,\n RetentionPolicy = new AzureNative.Monitor.Inputs.RetentionPolicyArgs\n {\n Days = 0,\n Enabled = false,\n },\n },\n },\n Name = \"mysetting\",\n ResourceUri = \"subscriptions/1a66ce04-b633-4a0b-b2bc-a912ec8986a6/resourcegroups/viruela1/providers/microsoft.logic/workflows/viruela6\",\n StorageAccountId = \"/subscriptions/df602c9c-7aa0-407d-a6fb-eb20c8bd1192/resourceGroups/apptest/providers/Microsoft.Storage/storageAccounts/appteststorage1\",\n WorkspaceId = \"\",\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\tmonitor \"github.com/pulumi/pulumi-azure-native-sdk/monitor/v2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := monitor.NewDiagnosticSetting(ctx, \"diagnosticSetting\", \u0026monitor.DiagnosticSettingArgs{\n\t\t\tEventHubAuthorizationRuleId: pulumi.String(\"/subscriptions/1a66ce04-b633-4a0b-b2bc-a912ec8986a6/resourceGroups/montest/providers/microsoft.eventhub/namespaces/mynamespace/authorizationrules/myrule\"),\n\t\t\tEventHubName: pulumi.String(\"myeventhub\"),\n\t\t\tLogAnalyticsDestinationType: pulumi.String(\"Dedicated\"),\n\t\t\tLogs: monitor.LogSettingsArray{\n\t\t\t\t\u0026monitor.LogSettingsArgs{\n\t\t\t\t\tCategoryGroup: pulumi.String(\"allLogs\"),\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\tRetentionPolicy: \u0026monitor.RetentionPolicyArgs{\n\t\t\t\t\t\tDays: pulumi.Int(0),\n\t\t\t\t\t\tEnabled: pulumi.Bool(false),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tMarketplacePartnerId: pulumi.String(\"/subscriptions/abcdeabc-1234-1234-ab12-123a1234567a/resourceGroups/test-rg/providers/Microsoft.Datadog/monitors/dd1\"),\n\t\t\tMetrics: monitor.MetricSettingsArray{\n\t\t\t\t\u0026monitor.MetricSettingsArgs{\n\t\t\t\t\tCategory: pulumi.String(\"WorkflowMetrics\"),\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\tRetentionPolicy: \u0026monitor.RetentionPolicyArgs{\n\t\t\t\t\t\tDays: pulumi.Int(0),\n\t\t\t\t\t\tEnabled: pulumi.Bool(false),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tName: pulumi.String(\"mysetting\"),\n\t\t\tResourceUri: pulumi.String(\"subscriptions/1a66ce04-b633-4a0b-b2bc-a912ec8986a6/resourcegroups/viruela1/providers/microsoft.logic/workflows/viruela6\"),\n\t\t\tStorageAccountId: pulumi.String(\"/subscriptions/df602c9c-7aa0-407d-a6fb-eb20c8bd1192/resourceGroups/apptest/providers/Microsoft.Storage/storageAccounts/appteststorage1\"),\n\t\t\tWorkspaceId: pulumi.String(\"\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n\n```\n\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azurenative.monitor.DiagnosticSetting;\nimport com.pulumi.azurenative.monitor.DiagnosticSettingArgs;\nimport com.pulumi.azurenative.monitor.inputs.LogSettingsArgs;\nimport com.pulumi.azurenative.monitor.inputs.RetentionPolicyArgs;\nimport com.pulumi.azurenative.monitor.inputs.MetricSettingsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var diagnosticSetting = new DiagnosticSetting(\"diagnosticSetting\", DiagnosticSettingArgs.builder()\n .eventHubAuthorizationRuleId(\"/subscriptions/1a66ce04-b633-4a0b-b2bc-a912ec8986a6/resourceGroups/montest/providers/microsoft.eventhub/namespaces/mynamespace/authorizationrules/myrule\")\n .eventHubName(\"myeventhub\")\n .logAnalyticsDestinationType(\"Dedicated\")\n .logs(LogSettingsArgs.builder()\n .categoryGroup(\"allLogs\")\n .enabled(true)\n .retentionPolicy(RetentionPolicyArgs.builder()\n .days(0)\n .enabled(false)\n .build())\n .build())\n .marketplacePartnerId(\"/subscriptions/abcdeabc-1234-1234-ab12-123a1234567a/resourceGroups/test-rg/providers/Microsoft.Datadog/monitors/dd1\")\n .metrics(MetricSettingsArgs.builder()\n .category(\"WorkflowMetrics\")\n .enabled(true)\n .retentionPolicy(RetentionPolicyArgs.builder()\n .days(0)\n .enabled(false)\n .build())\n .build())\n .name(\"mysetting\")\n .resourceUri(\"subscriptions/1a66ce04-b633-4a0b-b2bc-a912ec8986a6/resourcegroups/viruela1/providers/microsoft.logic/workflows/viruela6\")\n .storageAccountId(\"/subscriptions/df602c9c-7aa0-407d-a6fb-eb20c8bd1192/resourceGroups/apptest/providers/Microsoft.Storage/storageAccounts/appteststorage1\")\n .workspaceId(\"\")\n .build());\n\n }\n}\n\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure_native from \"@pulumi/azure-native\";\n\nconst diagnosticSetting = new azure_native.monitor.DiagnosticSetting(\"diagnosticSetting\", {\n eventHubAuthorizationRuleId: \"/subscriptions/1a66ce04-b633-4a0b-b2bc-a912ec8986a6/resourceGroups/montest/providers/microsoft.eventhub/namespaces/mynamespace/authorizationrules/myrule\",\n eventHubName: \"myeventhub\",\n logAnalyticsDestinationType: \"Dedicated\",\n logs: [{\n categoryGroup: \"allLogs\",\n enabled: true,\n retentionPolicy: {\n days: 0,\n enabled: false,\n },\n }],\n marketplacePartnerId: \"/subscriptions/abcdeabc-1234-1234-ab12-123a1234567a/resourceGroups/test-rg/providers/Microsoft.Datadog/monitors/dd1\",\n metrics: [{\n category: \"WorkflowMetrics\",\n enabled: true,\n retentionPolicy: {\n days: 0,\n enabled: false,\n },\n }],\n name: \"mysetting\",\n resourceUri: \"subscriptions/1a66ce04-b633-4a0b-b2bc-a912ec8986a6/resourcegroups/viruela1/providers/microsoft.logic/workflows/viruela6\",\n storageAccountId: \"/subscriptions/df602c9c-7aa0-407d-a6fb-eb20c8bd1192/resourceGroups/apptest/providers/Microsoft.Storage/storageAccounts/appteststorage1\",\n workspaceId: \"\",\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_azure_native as azure_native\n\ndiagnostic_setting = azure_native.monitor.DiagnosticSetting(\"diagnosticSetting\",\n event_hub_authorization_rule_id=\"/subscriptions/1a66ce04-b633-4a0b-b2bc-a912ec8986a6/resourceGroups/montest/providers/microsoft.eventhub/namespaces/mynamespace/authorizationrules/myrule\",\n event_hub_name=\"myeventhub\",\n log_analytics_destination_type=\"Dedicated\",\n logs=[{\n \"category_group\": \"allLogs\",\n \"enabled\": True,\n \"retention_policy\": {\n \"days\": 0,\n \"enabled\": False,\n },\n }],\n marketplace_partner_id=\"/subscriptions/abcdeabc-1234-1234-ab12-123a1234567a/resourceGroups/test-rg/providers/Microsoft.Datadog/monitors/dd1\",\n metrics=[{\n \"category\": \"WorkflowMetrics\",\n \"enabled\": True,\n \"retention_policy\": {\n \"days\": 0,\n \"enabled\": False,\n },\n }],\n name=\"mysetting\",\n resource_uri=\"subscriptions/1a66ce04-b633-4a0b-b2bc-a912ec8986a6/resourcegroups/viruela1/providers/microsoft.logic/workflows/viruela6\",\n storage_account_id=\"/subscriptions/df602c9c-7aa0-407d-a6fb-eb20c8bd1192/resourceGroups/apptest/providers/Microsoft.Storage/storageAccounts/appteststorage1\",\n workspace_id=\"\")\n\n```\n\n```yaml\nresources:\n diagnosticSetting:\n type: azure-native:monitor:DiagnosticSetting\n properties:\n eventHubAuthorizationRuleId: /subscriptions/1a66ce04-b633-4a0b-b2bc-a912ec8986a6/resourceGroups/montest/providers/microsoft.eventhub/namespaces/mynamespace/authorizationrules/myrule\n eventHubName: myeventhub\n logAnalyticsDestinationType: Dedicated\n logs:\n - categoryGroup: allLogs\n enabled: true\n retentionPolicy:\n days: 0\n enabled: false\n marketplacePartnerId: /subscriptions/abcdeabc-1234-1234-ab12-123a1234567a/resourceGroups/test-rg/providers/Microsoft.Datadog/monitors/dd1\n metrics:\n - category: WorkflowMetrics\n enabled: true\n retentionPolicy:\n days: 0\n enabled: false\n name: mysetting\n resourceUri: subscriptions/1a66ce04-b633-4a0b-b2bc-a912ec8986a6/resourcegroups/viruela1/providers/microsoft.logic/workflows/viruela6\n storageAccountId: /subscriptions/df602c9c-7aa0-407d-a6fb-eb20c8bd1192/resourceGroups/apptest/providers/Microsoft.Storage/storageAccounts/appteststorage1\n workspaceId: \"\"\n\n```\n\n{{% /example %}}\n{{% example %}}\n### Creates or Updates the diagnostic setting for category\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AzureNative = Pulumi.AzureNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var diagnosticSetting = new AzureNative.Monitor.DiagnosticSetting(\"diagnosticSetting\", new()\n {\n EventHubAuthorizationRuleId = \"/subscriptions/1a66ce04-b633-4a0b-b2bc-a912ec8986a6/resourceGroups/montest/providers/microsoft.eventhub/namespaces/mynamespace/authorizationrules/myrule\",\n EventHubName = \"myeventhub\",\n LogAnalyticsDestinationType = \"Dedicated\",\n Logs = new[]\n {\n new AzureNative.Monitor.Inputs.LogSettingsArgs\n {\n Category = \"WorkflowRuntime\",\n Enabled = true,\n RetentionPolicy = new AzureNative.Monitor.Inputs.RetentionPolicyArgs\n {\n Days = 0,\n Enabled = false,\n },\n },\n },\n MarketplacePartnerId = \"/subscriptions/abcdeabc-1234-1234-ab12-123a1234567a/resourceGroups/test-rg/providers/Microsoft.Datadog/monitors/dd1\",\n Metrics = new[]\n {\n new AzureNative.Monitor.Inputs.MetricSettingsArgs\n {\n Category = \"WorkflowMetrics\",\n Enabled = true,\n RetentionPolicy = new AzureNative.Monitor.Inputs.RetentionPolicyArgs\n {\n Days = 0,\n Enabled = false,\n },\n },\n },\n Name = \"mysetting\",\n ResourceUri = \"subscriptions/1a66ce04-b633-4a0b-b2bc-a912ec8986a6/resourcegroups/viruela1/providers/microsoft.logic/workflows/viruela6\",\n StorageAccountId = \"/subscriptions/df602c9c-7aa0-407d-a6fb-eb20c8bd1192/resourceGroups/apptest/providers/Microsoft.Storage/storageAccounts/appteststorage1\",\n WorkspaceId = \"\",\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\tmonitor \"github.com/pulumi/pulumi-azure-native-sdk/monitor/v2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := monitor.NewDiagnosticSetting(ctx, \"diagnosticSetting\", \u0026monitor.DiagnosticSettingArgs{\n\t\t\tEventHubAuthorizationRuleId: pulumi.String(\"/subscriptions/1a66ce04-b633-4a0b-b2bc-a912ec8986a6/resourceGroups/montest/providers/microsoft.eventhub/namespaces/mynamespace/authorizationrules/myrule\"),\n\t\t\tEventHubName: pulumi.String(\"myeventhub\"),\n\t\t\tLogAnalyticsDestinationType: pulumi.String(\"Dedicated\"),\n\t\t\tLogs: monitor.LogSettingsArray{\n\t\t\t\t\u0026monitor.LogSettingsArgs{\n\t\t\t\t\tCategory: pulumi.String(\"WorkflowRuntime\"),\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\tRetentionPolicy: \u0026monitor.RetentionPolicyArgs{\n\t\t\t\t\t\tDays: pulumi.Int(0),\n\t\t\t\t\t\tEnabled: pulumi.Bool(false),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tMarketplacePartnerId: pulumi.String(\"/subscriptions/abcdeabc-1234-1234-ab12-123a1234567a/resourceGroups/test-rg/providers/Microsoft.Datadog/monitors/dd1\"),\n\t\t\tMetrics: monitor.MetricSettingsArray{\n\t\t\t\t\u0026monitor.MetricSettingsArgs{\n\t\t\t\t\tCategory: pulumi.String(\"WorkflowMetrics\"),\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\tRetentionPolicy: \u0026monitor.RetentionPolicyArgs{\n\t\t\t\t\t\tDays: pulumi.Int(0),\n\t\t\t\t\t\tEnabled: pulumi.Bool(false),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tName: pulumi.String(\"mysetting\"),\n\t\t\tResourceUri: pulumi.String(\"subscriptions/1a66ce04-b633-4a0b-b2bc-a912ec8986a6/resourcegroups/viruela1/providers/microsoft.logic/workflows/viruela6\"),\n\t\t\tStorageAccountId: pulumi.String(\"/subscriptions/df602c9c-7aa0-407d-a6fb-eb20c8bd1192/resourceGroups/apptest/providers/Microsoft.Storage/storageAccounts/appteststorage1\"),\n\t\t\tWorkspaceId: pulumi.String(\"\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n\n```\n\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azurenative.monitor.DiagnosticSetting;\nimport com.pulumi.azurenative.monitor.DiagnosticSettingArgs;\nimport com.pulumi.azurenative.monitor.inputs.LogSettingsArgs;\nimport com.pulumi.azurenative.monitor.inputs.RetentionPolicyArgs;\nimport com.pulumi.azurenative.monitor.inputs.MetricSettingsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var diagnosticSetting = new DiagnosticSetting(\"diagnosticSetting\", DiagnosticSettingArgs.builder()\n .eventHubAuthorizationRuleId(\"/subscriptions/1a66ce04-b633-4a0b-b2bc-a912ec8986a6/resourceGroups/montest/providers/microsoft.eventhub/namespaces/mynamespace/authorizationrules/myrule\")\n .eventHubName(\"myeventhub\")\n .logAnalyticsDestinationType(\"Dedicated\")\n .logs(LogSettingsArgs.builder()\n .category(\"WorkflowRuntime\")\n .enabled(true)\n .retentionPolicy(RetentionPolicyArgs.builder()\n .days(0)\n .enabled(false)\n .build())\n .build())\n .marketplacePartnerId(\"/subscriptions/abcdeabc-1234-1234-ab12-123a1234567a/resourceGroups/test-rg/providers/Microsoft.Datadog/monitors/dd1\")\n .metrics(MetricSettingsArgs.builder()\n .category(\"WorkflowMetrics\")\n .enabled(true)\n .retentionPolicy(RetentionPolicyArgs.builder()\n .days(0)\n .enabled(false)\n .build())\n .build())\n .name(\"mysetting\")\n .resourceUri(\"subscriptions/1a66ce04-b633-4a0b-b2bc-a912ec8986a6/resourcegroups/viruela1/providers/microsoft.logic/workflows/viruela6\")\n .storageAccountId(\"/subscriptions/df602c9c-7aa0-407d-a6fb-eb20c8bd1192/resourceGroups/apptest/providers/Microsoft.Storage/storageAccounts/appteststorage1\")\n .workspaceId(\"\")\n .build());\n\n }\n}\n\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure_native from \"@pulumi/azure-native\";\n\nconst diagnosticSetting = new azure_native.monitor.DiagnosticSetting(\"diagnosticSetting\", {\n eventHubAuthorizationRuleId: \"/subscriptions/1a66ce04-b633-4a0b-b2bc-a912ec8986a6/resourceGroups/montest/providers/microsoft.eventhub/namespaces/mynamespace/authorizationrules/myrule\",\n eventHubName: \"myeventhub\",\n logAnalyticsDestinationType: \"Dedicated\",\n logs: [{\n category: \"WorkflowRuntime\",\n enabled: true,\n retentionPolicy: {\n days: 0,\n enabled: false,\n },\n }],\n marketplacePartnerId: \"/subscriptions/abcdeabc-1234-1234-ab12-123a1234567a/resourceGroups/test-rg/providers/Microsoft.Datadog/monitors/dd1\",\n metrics: [{\n category: \"WorkflowMetrics\",\n enabled: true,\n retentionPolicy: {\n days: 0,\n enabled: false,\n },\n }],\n name: \"mysetting\",\n resourceUri: \"subscriptions/1a66ce04-b633-4a0b-b2bc-a912ec8986a6/resourcegroups/viruela1/providers/microsoft.logic/workflows/viruela6\",\n storageAccountId: \"/subscriptions/df602c9c-7aa0-407d-a6fb-eb20c8bd1192/resourceGroups/apptest/providers/Microsoft.Storage/storageAccounts/appteststorage1\",\n workspaceId: \"\",\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_azure_native as azure_native\n\ndiagnostic_setting = azure_native.monitor.DiagnosticSetting(\"diagnosticSetting\",\n event_hub_authorization_rule_id=\"/subscriptions/1a66ce04-b633-4a0b-b2bc-a912ec8986a6/resourceGroups/montest/providers/microsoft.eventhub/namespaces/mynamespace/authorizationrules/myrule\",\n event_hub_name=\"myeventhub\",\n log_analytics_destination_type=\"Dedicated\",\n logs=[{\n \"category\": \"WorkflowRuntime\",\n \"enabled\": True,\n \"retention_policy\": {\n \"days\": 0,\n \"enabled\": False,\n },\n }],\n marketplace_partner_id=\"/subscriptions/abcdeabc-1234-1234-ab12-123a1234567a/resourceGroups/test-rg/providers/Microsoft.Datadog/monitors/dd1\",\n metrics=[{\n \"category\": \"WorkflowMetrics\",\n \"enabled\": True,\n \"retention_policy\": {\n \"days\": 0,\n \"enabled\": False,\n },\n }],\n name=\"mysetting\",\n resource_uri=\"subscriptions/1a66ce04-b633-4a0b-b2bc-a912ec8986a6/resourcegroups/viruela1/providers/microsoft.logic/workflows/viruela6\",\n storage_account_id=\"/subscriptions/df602c9c-7aa0-407d-a6fb-eb20c8bd1192/resourceGroups/apptest/providers/Microsoft.Storage/storageAccounts/appteststorage1\",\n workspace_id=\"\")\n\n```\n\n```yaml\nresources:\n diagnosticSetting:\n type: azure-native:monitor:DiagnosticSetting\n properties:\n eventHubAuthorizationRuleId: /subscriptions/1a66ce04-b633-4a0b-b2bc-a912ec8986a6/resourceGroups/montest/providers/microsoft.eventhub/namespaces/mynamespace/authorizationrules/myrule\n eventHubName: myeventhub\n logAnalyticsDestinationType: Dedicated\n logs:\n - category: WorkflowRuntime\n enabled: true\n retentionPolicy:\n days: 0\n enabled: false\n marketplacePartnerId: /subscriptions/abcdeabc-1234-1234-ab12-123a1234567a/resourceGroups/test-rg/providers/Microsoft.Datadog/monitors/dd1\n metrics:\n - category: WorkflowMetrics\n enabled: true\n retentionPolicy:\n days: 0\n enabled: false\n name: mysetting\n resourceUri: subscriptions/1a66ce04-b633-4a0b-b2bc-a912ec8986a6/resourcegroups/viruela1/providers/microsoft.logic/workflows/viruela6\n storageAccountId: /subscriptions/df602c9c-7aa0-407d-a6fb-eb20c8bd1192/resourceGroups/apptest/providers/Microsoft.Storage/storageAccounts/appteststorage1\n workspaceId: \"\"\n\n```\n\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nAn existing resource can be imported using its type token, name, and identifier, e.g.\n\n```sh\n$ pulumi import azure-native:monitor:DiagnosticSetting mysetting /{resourceUri}/providers/Microsoft.Insights/diagnosticSettings/{name} \n```\n", + "properties": { + "azureApiVersion": { + "type": "string", + "description": "The Azure API version of the resource." + }, + "eventHubAuthorizationRuleId": { + "type": "string", + "description": "The resource Id for the event hub authorization rule." + }, + "eventHubName": { + "type": "string", + "description": "The name of the event hub. If none is specified, the default event hub will be selected." + }, + "logAnalyticsDestinationType": { + "type": "string", + "description": "A string indicating whether the export to Log Analytics should use the default destination type, i.e. AzureDiagnostics, or use a destination type constructed as follows: \u003cnormalized service identity\u003e_\u003cnormalized category name\u003e. Possible values are: Dedicated and null (null is default.)" + }, + "logs": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/types/azure-native:monitor:LogSettingsResponse" + }, + "description": "The list of logs settings." + }, + "marketplacePartnerId": { + "type": "string", + "description": "The full ARM resource ID of the Marketplace resource to which you would like to send Diagnostic Logs." + }, + "metrics": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/types/azure-native:monitor:MetricSettingsResponse" + }, + "description": "The list of metric settings." + }, + "name": { + "type": "string", + "description": "The name of the resource" + }, + "serviceBusRuleId": { + "type": "string", + "description": "The service bus rule Id of the diagnostic setting. This is here to maintain backwards compatibility." + }, + "storageAccountId": { + "type": "string", + "description": "The resource ID of the storage account to which you would like to send Diagnostic Logs." + }, + "systemData": { + "type": "object", + "$ref": "#/types/azure-native:monitor:SystemDataResponse", + "description": "The system metadata related to this resource." + }, + "type": { + "type": "string", + "description": "The type of the resource. E.g. \"Microsoft.Compute/virtualMachines\" or \"Microsoft.Storage/storageAccounts\"" + }, + "workspaceId": { + "type": "string", + "description": "The full ARM resource ID of the Log Analytics workspace to which you would like to send Diagnostic Logs. Example: /subscriptions/4b9e8510-67ab-4e9a-95a9-e2f1e570ea9c/resourceGroups/insights-integration/providers/Microsoft.OperationalInsights/workspaces/viruela2" + } + }, + "type": "object", + "required": [ + "azureApiVersion", + "name", + "systemData", + "type" + ], + "inputProperties": { + "eventHubAuthorizationRuleId": { + "type": "string", + "description": "The resource Id for the event hub authorization rule." + }, + "eventHubName": { + "type": "string", + "description": "The name of the event hub. If none is specified, the default event hub will be selected." + }, + "logAnalyticsDestinationType": { + "type": "string", + "description": "A string indicating whether the export to Log Analytics should use the default destination type, i.e. AzureDiagnostics, or use a destination type constructed as follows: \u003cnormalized service identity\u003e_\u003cnormalized category name\u003e. Possible values are: Dedicated and null (null is default.)" + }, + "logs": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/types/azure-native:monitor:LogSettings" + }, + "description": "The list of logs settings." + }, + "marketplacePartnerId": { + "type": "string", + "description": "The full ARM resource ID of the Marketplace resource to which you would like to send Diagnostic Logs." + }, + "metrics": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/types/azure-native:monitor:MetricSettings" + }, + "description": "The list of metric settings." + }, + "name": { + "type": "string", + "description": "The name of the diagnostic setting.", + "willReplaceOnChanges": true + }, + "resourceUri": { + "type": "string", + "description": "The identifier of the resource.", + "willReplaceOnChanges": true + }, + "serviceBusRuleId": { + "type": "string", + "description": "The service bus rule Id of the diagnostic setting. This is here to maintain backwards compatibility." + }, + "storageAccountId": { + "type": "string", + "description": "The resource ID of the storage account to which you would like to send Diagnostic Logs." + }, + "workspaceId": { + "type": "string", + "description": "The full ARM resource ID of the Log Analytics workspace to which you would like to send Diagnostic Logs. Example: /subscriptions/4b9e8510-67ab-4e9a-95a9-e2f1e570ea9c/resourceGroups/insights-integration/providers/Microsoft.OperationalInsights/workspaces/viruela2" + } + }, + "requiredInputs": [ + "resourceUri" + ], + "aliases": [ + { + "type": "azure-native:insights/v20210501preview:DiagnosticSetting" + }, + { + "type": "azure-native:insights:DiagnosticSetting" + }, + { + "type": "azure-native:monitor/v20170501preview:DiagnosticSetting" + }, + { + "type": "azure-native:monitor/v20210501preview:DiagnosticSetting" + } + ] + }, + "azure-native:monitor:ManagementGroupDiagnosticSetting": { + "description": "The management group diagnostic setting resource.\n\nUses Azure REST API version 2021-05-01-preview.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### Creates or Updates the management group diagnostic setting\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AzureNative = Pulumi.AzureNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var managementGroupDiagnosticSetting = new AzureNative.Monitor.ManagementGroupDiagnosticSetting(\"managementGroupDiagnosticSetting\", new()\n {\n EventHubAuthorizationRuleId = \"/subscriptions/fb9f25f9-5785-4510-a38f-a62f188eb9f8/resourceGroups/montest/providers/microsoft.eventhub/namespaces/mynamespace/authorizationrules/myrule\",\n EventHubName = \"myeventhub\",\n Logs = new[]\n {\n new AzureNative.Monitor.Inputs.ManagementGroupLogSettingsArgs\n {\n CategoryGroup = \"allLogs\",\n Enabled = true,\n },\n },\n ManagementGroupId = \"testChildMG7\",\n MarketplacePartnerId = \"/subscriptions/abcdeabc-1234-1234-ab12-123a1234567a/resourceGroups/test-rg/providers/Microsoft.Datadog/monitors/dd1\",\n Name = \"setting1\",\n StorageAccountId = \"/subscriptions/bfaef57f-297e-4210-bfe5-27c18cc671f7/resourceGroups/FuncAppRunners/providers/Microsoft.Storage/storageAccounts/testpersonalb6a5\",\n WorkspaceId = \"/subscriptions/9cf7cc0a-0ba1-4624-bc82-97e1ee25dc45/resourceGroups/mgTest/providers/Microsoft.OperationalInsights/workspaces/mgTestWorkspace\",\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\tmonitor \"github.com/pulumi/pulumi-azure-native-sdk/monitor/v2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := monitor.NewManagementGroupDiagnosticSetting(ctx, \"managementGroupDiagnosticSetting\", \u0026monitor.ManagementGroupDiagnosticSettingArgs{\n\t\t\tEventHubAuthorizationRuleId: pulumi.String(\"/subscriptions/fb9f25f9-5785-4510-a38f-a62f188eb9f8/resourceGroups/montest/providers/microsoft.eventhub/namespaces/mynamespace/authorizationrules/myrule\"),\n\t\t\tEventHubName: pulumi.String(\"myeventhub\"),\n\t\t\tLogs: monitor.ManagementGroupLogSettingsArray{\n\t\t\t\t\u0026monitor.ManagementGroupLogSettingsArgs{\n\t\t\t\t\tCategoryGroup: pulumi.String(\"allLogs\"),\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t},\n\t\t\tManagementGroupId: pulumi.String(\"testChildMG7\"),\n\t\t\tMarketplacePartnerId: pulumi.String(\"/subscriptions/abcdeabc-1234-1234-ab12-123a1234567a/resourceGroups/test-rg/providers/Microsoft.Datadog/monitors/dd1\"),\n\t\t\tName: pulumi.String(\"setting1\"),\n\t\t\tStorageAccountId: pulumi.String(\"/subscriptions/bfaef57f-297e-4210-bfe5-27c18cc671f7/resourceGroups/FuncAppRunners/providers/Microsoft.Storage/storageAccounts/testpersonalb6a5\"),\n\t\t\tWorkspaceId: pulumi.String(\"/subscriptions/9cf7cc0a-0ba1-4624-bc82-97e1ee25dc45/resourceGroups/mgTest/providers/Microsoft.OperationalInsights/workspaces/mgTestWorkspace\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n\n```\n\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azurenative.monitor.ManagementGroupDiagnosticSetting;\nimport com.pulumi.azurenative.monitor.ManagementGroupDiagnosticSettingArgs;\nimport com.pulumi.azurenative.monitor.inputs.ManagementGroupLogSettingsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var managementGroupDiagnosticSetting = new ManagementGroupDiagnosticSetting(\"managementGroupDiagnosticSetting\", ManagementGroupDiagnosticSettingArgs.builder()\n .eventHubAuthorizationRuleId(\"/subscriptions/fb9f25f9-5785-4510-a38f-a62f188eb9f8/resourceGroups/montest/providers/microsoft.eventhub/namespaces/mynamespace/authorizationrules/myrule\")\n .eventHubName(\"myeventhub\")\n .logs(ManagementGroupLogSettingsArgs.builder()\n .categoryGroup(\"allLogs\")\n .enabled(true)\n .build())\n .managementGroupId(\"testChildMG7\")\n .marketplacePartnerId(\"/subscriptions/abcdeabc-1234-1234-ab12-123a1234567a/resourceGroups/test-rg/providers/Microsoft.Datadog/monitors/dd1\")\n .name(\"setting1\")\n .storageAccountId(\"/subscriptions/bfaef57f-297e-4210-bfe5-27c18cc671f7/resourceGroups/FuncAppRunners/providers/Microsoft.Storage/storageAccounts/testpersonalb6a5\")\n .workspaceId(\"/subscriptions/9cf7cc0a-0ba1-4624-bc82-97e1ee25dc45/resourceGroups/mgTest/providers/Microsoft.OperationalInsights/workspaces/mgTestWorkspace\")\n .build());\n\n }\n}\n\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure_native from \"@pulumi/azure-native\";\n\nconst managementGroupDiagnosticSetting = new azure_native.monitor.ManagementGroupDiagnosticSetting(\"managementGroupDiagnosticSetting\", {\n eventHubAuthorizationRuleId: \"/subscriptions/fb9f25f9-5785-4510-a38f-a62f188eb9f8/resourceGroups/montest/providers/microsoft.eventhub/namespaces/mynamespace/authorizationrules/myrule\",\n eventHubName: \"myeventhub\",\n logs: [{\n categoryGroup: \"allLogs\",\n enabled: true,\n }],\n managementGroupId: \"testChildMG7\",\n marketplacePartnerId: \"/subscriptions/abcdeabc-1234-1234-ab12-123a1234567a/resourceGroups/test-rg/providers/Microsoft.Datadog/monitors/dd1\",\n name: \"setting1\",\n storageAccountId: \"/subscriptions/bfaef57f-297e-4210-bfe5-27c18cc671f7/resourceGroups/FuncAppRunners/providers/Microsoft.Storage/storageAccounts/testpersonalb6a5\",\n workspaceId: \"/subscriptions/9cf7cc0a-0ba1-4624-bc82-97e1ee25dc45/resourceGroups/mgTest/providers/Microsoft.OperationalInsights/workspaces/mgTestWorkspace\",\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_azure_native as azure_native\n\nmanagement_group_diagnostic_setting = azure_native.monitor.ManagementGroupDiagnosticSetting(\"managementGroupDiagnosticSetting\",\n event_hub_authorization_rule_id=\"/subscriptions/fb9f25f9-5785-4510-a38f-a62f188eb9f8/resourceGroups/montest/providers/microsoft.eventhub/namespaces/mynamespace/authorizationrules/myrule\",\n event_hub_name=\"myeventhub\",\n logs=[{\n \"category_group\": \"allLogs\",\n \"enabled\": True,\n }],\n management_group_id=\"testChildMG7\",\n marketplace_partner_id=\"/subscriptions/abcdeabc-1234-1234-ab12-123a1234567a/resourceGroups/test-rg/providers/Microsoft.Datadog/monitors/dd1\",\n name=\"setting1\",\n storage_account_id=\"/subscriptions/bfaef57f-297e-4210-bfe5-27c18cc671f7/resourceGroups/FuncAppRunners/providers/Microsoft.Storage/storageAccounts/testpersonalb6a5\",\n workspace_id=\"/subscriptions/9cf7cc0a-0ba1-4624-bc82-97e1ee25dc45/resourceGroups/mgTest/providers/Microsoft.OperationalInsights/workspaces/mgTestWorkspace\")\n\n```\n\n```yaml\nresources:\n managementGroupDiagnosticSetting:\n type: azure-native:monitor:ManagementGroupDiagnosticSetting\n properties:\n eventHubAuthorizationRuleId: /subscriptions/fb9f25f9-5785-4510-a38f-a62f188eb9f8/resourceGroups/montest/providers/microsoft.eventhub/namespaces/mynamespace/authorizationrules/myrule\n eventHubName: myeventhub\n logs:\n - categoryGroup: allLogs\n enabled: true\n managementGroupId: testChildMG7\n marketplacePartnerId: /subscriptions/abcdeabc-1234-1234-ab12-123a1234567a/resourceGroups/test-rg/providers/Microsoft.Datadog/monitors/dd1\n name: setting1\n storageAccountId: /subscriptions/bfaef57f-297e-4210-bfe5-27c18cc671f7/resourceGroups/FuncAppRunners/providers/Microsoft.Storage/storageAccounts/testpersonalb6a5\n workspaceId: /subscriptions/9cf7cc0a-0ba1-4624-bc82-97e1ee25dc45/resourceGroups/mgTest/providers/Microsoft.OperationalInsights/workspaces/mgTestWorkspace\n\n```\n\n{{% /example %}}\n{{% example %}}\n### Creates or Updates the management group diagnostic setting for category\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AzureNative = Pulumi.AzureNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var managementGroupDiagnosticSetting = new AzureNative.Monitor.ManagementGroupDiagnosticSetting(\"managementGroupDiagnosticSetting\", new()\n {\n EventHubAuthorizationRuleId = \"/subscriptions/fb9f25f9-5785-4510-a38f-a62f188eb9f8/resourceGroups/montest/providers/microsoft.eventhub/namespaces/mynamespace/authorizationrules/myrule\",\n EventHubName = \"myeventhub\",\n Logs = new[]\n {\n new AzureNative.Monitor.Inputs.ManagementGroupLogSettingsArgs\n {\n Category = \"Administrative\",\n Enabled = true,\n },\n new AzureNative.Monitor.Inputs.ManagementGroupLogSettingsArgs\n {\n Category = \"Policy\",\n Enabled = true,\n },\n },\n ManagementGroupId = \"testChildMG7\",\n MarketplacePartnerId = \"/subscriptions/abcdeabc-1234-1234-ab12-123a1234567a/resourceGroups/test-rg/providers/Microsoft.Datadog/monitors/dd1\",\n Name = \"setting1\",\n StorageAccountId = \"/subscriptions/bfaef57f-297e-4210-bfe5-27c18cc671f7/resourceGroups/FuncAppRunners/providers/Microsoft.Storage/storageAccounts/testpersonalb6a5\",\n WorkspaceId = \"/subscriptions/9cf7cc0a-0ba1-4624-bc82-97e1ee25dc45/resourceGroups/mgTest/providers/Microsoft.OperationalInsights/workspaces/mgTestWorkspace\",\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\tmonitor \"github.com/pulumi/pulumi-azure-native-sdk/monitor/v2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := monitor.NewManagementGroupDiagnosticSetting(ctx, \"managementGroupDiagnosticSetting\", \u0026monitor.ManagementGroupDiagnosticSettingArgs{\n\t\t\tEventHubAuthorizationRuleId: pulumi.String(\"/subscriptions/fb9f25f9-5785-4510-a38f-a62f188eb9f8/resourceGroups/montest/providers/microsoft.eventhub/namespaces/mynamespace/authorizationrules/myrule\"),\n\t\t\tEventHubName: pulumi.String(\"myeventhub\"),\n\t\t\tLogs: monitor.ManagementGroupLogSettingsArray{\n\t\t\t\t\u0026monitor.ManagementGroupLogSettingsArgs{\n\t\t\t\t\tCategory: pulumi.String(\"Administrative\"),\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t\t\u0026monitor.ManagementGroupLogSettingsArgs{\n\t\t\t\t\tCategory: pulumi.String(\"Policy\"),\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t},\n\t\t\tManagementGroupId: pulumi.String(\"testChildMG7\"),\n\t\t\tMarketplacePartnerId: pulumi.String(\"/subscriptions/abcdeabc-1234-1234-ab12-123a1234567a/resourceGroups/test-rg/providers/Microsoft.Datadog/monitors/dd1\"),\n\t\t\tName: pulumi.String(\"setting1\"),\n\t\t\tStorageAccountId: pulumi.String(\"/subscriptions/bfaef57f-297e-4210-bfe5-27c18cc671f7/resourceGroups/FuncAppRunners/providers/Microsoft.Storage/storageAccounts/testpersonalb6a5\"),\n\t\t\tWorkspaceId: pulumi.String(\"/subscriptions/9cf7cc0a-0ba1-4624-bc82-97e1ee25dc45/resourceGroups/mgTest/providers/Microsoft.OperationalInsights/workspaces/mgTestWorkspace\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n\n```\n\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azurenative.monitor.ManagementGroupDiagnosticSetting;\nimport com.pulumi.azurenative.monitor.ManagementGroupDiagnosticSettingArgs;\nimport com.pulumi.azurenative.monitor.inputs.ManagementGroupLogSettingsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var managementGroupDiagnosticSetting = new ManagementGroupDiagnosticSetting(\"managementGroupDiagnosticSetting\", ManagementGroupDiagnosticSettingArgs.builder()\n .eventHubAuthorizationRuleId(\"/subscriptions/fb9f25f9-5785-4510-a38f-a62f188eb9f8/resourceGroups/montest/providers/microsoft.eventhub/namespaces/mynamespace/authorizationrules/myrule\")\n .eventHubName(\"myeventhub\")\n .logs( \n ManagementGroupLogSettingsArgs.builder()\n .category(\"Administrative\")\n .enabled(true)\n .build(),\n ManagementGroupLogSettingsArgs.builder()\n .category(\"Policy\")\n .enabled(true)\n .build())\n .managementGroupId(\"testChildMG7\")\n .marketplacePartnerId(\"/subscriptions/abcdeabc-1234-1234-ab12-123a1234567a/resourceGroups/test-rg/providers/Microsoft.Datadog/monitors/dd1\")\n .name(\"setting1\")\n .storageAccountId(\"/subscriptions/bfaef57f-297e-4210-bfe5-27c18cc671f7/resourceGroups/FuncAppRunners/providers/Microsoft.Storage/storageAccounts/testpersonalb6a5\")\n .workspaceId(\"/subscriptions/9cf7cc0a-0ba1-4624-bc82-97e1ee25dc45/resourceGroups/mgTest/providers/Microsoft.OperationalInsights/workspaces/mgTestWorkspace\")\n .build());\n\n }\n}\n\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure_native from \"@pulumi/azure-native\";\n\nconst managementGroupDiagnosticSetting = new azure_native.monitor.ManagementGroupDiagnosticSetting(\"managementGroupDiagnosticSetting\", {\n eventHubAuthorizationRuleId: \"/subscriptions/fb9f25f9-5785-4510-a38f-a62f188eb9f8/resourceGroups/montest/providers/microsoft.eventhub/namespaces/mynamespace/authorizationrules/myrule\",\n eventHubName: \"myeventhub\",\n logs: [\n {\n category: \"Administrative\",\n enabled: true,\n },\n {\n category: \"Policy\",\n enabled: true,\n },\n ],\n managementGroupId: \"testChildMG7\",\n marketplacePartnerId: \"/subscriptions/abcdeabc-1234-1234-ab12-123a1234567a/resourceGroups/test-rg/providers/Microsoft.Datadog/monitors/dd1\",\n name: \"setting1\",\n storageAccountId: \"/subscriptions/bfaef57f-297e-4210-bfe5-27c18cc671f7/resourceGroups/FuncAppRunners/providers/Microsoft.Storage/storageAccounts/testpersonalb6a5\",\n workspaceId: \"/subscriptions/9cf7cc0a-0ba1-4624-bc82-97e1ee25dc45/resourceGroups/mgTest/providers/Microsoft.OperationalInsights/workspaces/mgTestWorkspace\",\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_azure_native as azure_native\n\nmanagement_group_diagnostic_setting = azure_native.monitor.ManagementGroupDiagnosticSetting(\"managementGroupDiagnosticSetting\",\n event_hub_authorization_rule_id=\"/subscriptions/fb9f25f9-5785-4510-a38f-a62f188eb9f8/resourceGroups/montest/providers/microsoft.eventhub/namespaces/mynamespace/authorizationrules/myrule\",\n event_hub_name=\"myeventhub\",\n logs=[\n {\n \"category\": \"Administrative\",\n \"enabled\": True,\n },\n {\n \"category\": \"Policy\",\n \"enabled\": True,\n },\n ],\n management_group_id=\"testChildMG7\",\n marketplace_partner_id=\"/subscriptions/abcdeabc-1234-1234-ab12-123a1234567a/resourceGroups/test-rg/providers/Microsoft.Datadog/monitors/dd1\",\n name=\"setting1\",\n storage_account_id=\"/subscriptions/bfaef57f-297e-4210-bfe5-27c18cc671f7/resourceGroups/FuncAppRunners/providers/Microsoft.Storage/storageAccounts/testpersonalb6a5\",\n workspace_id=\"/subscriptions/9cf7cc0a-0ba1-4624-bc82-97e1ee25dc45/resourceGroups/mgTest/providers/Microsoft.OperationalInsights/workspaces/mgTestWorkspace\")\n\n```\n\n```yaml\nresources:\n managementGroupDiagnosticSetting:\n type: azure-native:monitor:ManagementGroupDiagnosticSetting\n properties:\n eventHubAuthorizationRuleId: /subscriptions/fb9f25f9-5785-4510-a38f-a62f188eb9f8/resourceGroups/montest/providers/microsoft.eventhub/namespaces/mynamespace/authorizationrules/myrule\n eventHubName: myeventhub\n logs:\n - category: Administrative\n enabled: true\n - category: Policy\n enabled: true\n managementGroupId: testChildMG7\n marketplacePartnerId: /subscriptions/abcdeabc-1234-1234-ab12-123a1234567a/resourceGroups/test-rg/providers/Microsoft.Datadog/monitors/dd1\n name: setting1\n storageAccountId: /subscriptions/bfaef57f-297e-4210-bfe5-27c18cc671f7/resourceGroups/FuncAppRunners/providers/Microsoft.Storage/storageAccounts/testpersonalb6a5\n workspaceId: /subscriptions/9cf7cc0a-0ba1-4624-bc82-97e1ee25dc45/resourceGroups/mgTest/providers/Microsoft.OperationalInsights/workspaces/mgTestWorkspace\n\n```\n\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nAn existing resource can be imported using its type token, name, and identifier, e.g.\n\n```sh\n$ pulumi import azure-native:monitor:ManagementGroupDiagnosticSetting setting1 /providers/Microsoft.Management/managementGroups/{managementGroupId}/providers/Microsoft.Insights/diagnosticSettings/{name} \n```\n", + "properties": { + "azureApiVersion": { + "type": "string", + "description": "The Azure API version of the resource." + }, + "eventHubAuthorizationRuleId": { + "type": "string", + "description": "The resource Id for the event hub authorization rule." + }, + "eventHubName": { + "type": "string", + "description": "The name of the event hub. If none is specified, the default event hub will be selected." + }, + "logs": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/types/azure-native:monitor:ManagementGroupLogSettingsResponse" + }, + "description": "The list of logs settings." + }, + "marketplacePartnerId": { + "type": "string", + "description": "The full ARM resource ID of the Marketplace resource to which you would like to send Diagnostic Logs." + }, + "name": { + "type": "string", + "description": "The name of the resource" + }, + "serviceBusRuleId": { + "type": "string", + "description": "The service bus rule Id of the diagnostic setting. This is here to maintain backwards compatibility." + }, + "storageAccountId": { + "type": "string", + "description": "The resource ID of the storage account to which you would like to send Diagnostic Logs." + }, + "systemData": { + "type": "object", + "$ref": "#/types/azure-native:monitor:SystemDataResponse", + "description": "The system metadata related to this resource." + }, + "type": { + "type": "string", + "description": "The type of the resource. E.g. \"Microsoft.Compute/virtualMachines\" or \"Microsoft.Storage/storageAccounts\"" + }, + "workspaceId": { + "type": "string", + "description": "The full ARM resource ID of the Log Analytics workspace to which you would like to send Diagnostic Logs. Example: /subscriptions/4b9e8510-67ab-4e9a-95a9-e2f1e570ea9c/resourceGroups/insights-integration/providers/Microsoft.OperationalInsights/workspaces/viruela2" + } + }, + "type": "object", + "required": [ + "azureApiVersion", + "name", + "systemData", + "type" + ], + "inputProperties": { + "eventHubAuthorizationRuleId": { + "type": "string", + "description": "The resource Id for the event hub authorization rule." + }, + "eventHubName": { + "type": "string", + "description": "The name of the event hub. If none is specified, the default event hub will be selected." + }, + "logs": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/types/azure-native:monitor:ManagementGroupLogSettings" + }, + "description": "The list of logs settings." + }, + "managementGroupId": { + "type": "string", + "description": "The management group id.", + "willReplaceOnChanges": true + }, + "marketplacePartnerId": { + "type": "string", + "description": "The full ARM resource ID of the Marketplace resource to which you would like to send Diagnostic Logs." + }, + "name": { + "type": "string", + "description": "The name of the diagnostic setting.", + "willReplaceOnChanges": true + }, + "serviceBusRuleId": { + "type": "string", + "description": "The service bus rule Id of the diagnostic setting. This is here to maintain backwards compatibility." + }, + "storageAccountId": { + "type": "string", + "description": "The resource ID of the storage account to which you would like to send Diagnostic Logs." + }, + "workspaceId": { + "type": "string", + "description": "The full ARM resource ID of the Log Analytics workspace to which you would like to send Diagnostic Logs. Example: /subscriptions/4b9e8510-67ab-4e9a-95a9-e2f1e570ea9c/resourceGroups/insights-integration/providers/Microsoft.OperationalInsights/workspaces/viruela2" + } + }, + "requiredInputs": [ + "managementGroupId" + ], + "aliases": [ + { + "type": "azure-native:insights/v20200101preview:ManagementGroupDiagnosticSetting" + }, + { + "type": "azure-native:insights/v20210501preview:ManagementGroupDiagnosticSetting" + }, + { + "type": "azure-native:insights:ManagementGroupDiagnosticSetting" + }, + { + "type": "azure-native:monitor/v20200101preview:ManagementGroupDiagnosticSetting" + }, + { + "type": "azure-native:monitor/v20210501preview:ManagementGroupDiagnosticSetting" + } + ] + }, "azure-native:monitor:PipelineGroup": { "description": "A pipeline group definition.\n\nUses Azure REST API version 2024-10-01-preview. In version 2.x of the Azure Native provider, it used API version 2023-10-01-preview.\n\nOther available API versions: 2023-10-01-preview. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native monitor [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### Create a PipelineGroup instance using UDP receiver\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AzureNative = Pulumi.AzureNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var pipelineGroup = new AzureNative.Monitor.PipelineGroup(\"pipelineGroup\", new()\n {\n ExtendedLocation = new AzureNative.Monitor.Inputs.AzureResourceManagerCommonTypesExtendedLocationArgs\n {\n Name = \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/microsoft.extendedlocation/customlocations/myTestCustomLocation\",\n Type = AzureNative.Monitor.ExtendedLocationType.CustomLocation,\n },\n Location = \"eastus2\",\n PipelineGroupName = \"plGroup1\",\n Properties = new AzureNative.Monitor.Inputs.PipelineGroupPropertiesArgs\n {\n Exporters = new[]\n {\n new AzureNative.Monitor.Inputs.ExporterArgs\n {\n AzureMonitorWorkspaceLogs = new AzureNative.Monitor.Inputs.AzureMonitorWorkspaceLogsExporterArgs\n {\n Api = new AzureNative.Monitor.Inputs.AzureMonitorWorkspaceLogsApiConfigArgs\n {\n DataCollectionEndpointUrl = \"https://logs-myingestion-eb0s.eastus-1.ingest.monitor.azure.com\",\n DataCollectionRule = \"dcr-00000000000000000000000000000000\",\n Schema = new AzureNative.Monitor.Inputs.SchemaMapArgs\n {\n RecordMap = new[]\n {\n new AzureNative.Monitor.Inputs.RecordMapArgs\n {\n From = \"body\",\n To = \"Body\",\n },\n new AzureNative.Monitor.Inputs.RecordMapArgs\n {\n From = \"severity_text\",\n To = \"SeverityText\",\n },\n new AzureNative.Monitor.Inputs.RecordMapArgs\n {\n From = \"time_unix_nano\",\n To = \"TimeGenerated\",\n },\n },\n },\n Stream = \"Custom-MyTableRawData_CL\",\n },\n Concurrency = new AzureNative.Monitor.Inputs.ConcurrencyConfigurationArgs\n {\n BatchQueueSize = 100,\n WorkerCount = 4,\n },\n },\n Name = \"my-workspace-logs-exporter1\",\n Type = AzureNative.Monitor.ExporterType.AzureMonitorWorkspaceLogs,\n },\n },\n Processors = new() { },\n Receivers = new[]\n {\n new AzureNative.Monitor.Inputs.ReceiverArgs\n {\n Name = \"udp-receiver1\",\n Type = AzureNative.Monitor.ReceiverType.UDP,\n Udp = new AzureNative.Monitor.Inputs.UdpReceiverArgs\n {\n Encoding = AzureNative.Monitor.StreamEncodingType.Utf_8,\n Endpoint = \"0.0.0.0:518\",\n },\n },\n },\n Service = new AzureNative.Monitor.Inputs.ServiceArgs\n {\n Pipelines = new[]\n {\n new AzureNative.Monitor.Inputs.PipelineArgs\n {\n Exporters = new[]\n {\n \"my-workspace-logs-exporter1\",\n },\n Name = \"MyPipelineForLogs1\",\n Processors = new() { },\n Receivers = new[]\n {\n \"udp-receiver1\",\n },\n Type = AzureNative.Monitor.PipelineType.Logs,\n },\n },\n },\n },\n ResourceGroupName = \"myResourceGroup\",\n Tags = \n {\n { \"tag1\", \"A\" },\n { \"tag2\", \"B\" },\n },\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\tmonitor \"github.com/pulumi/pulumi-azure-native-sdk/monitor/v2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := monitor.NewPipelineGroup(ctx, \"pipelineGroup\", \u0026monitor.PipelineGroupArgs{\n\t\t\tExtendedLocation: \u0026monitor.AzureResourceManagerCommonTypesExtendedLocationArgs{\n\t\t\t\tName: pulumi.String(\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/microsoft.extendedlocation/customlocations/myTestCustomLocation\"),\n\t\t\t\tType: pulumi.String(monitor.ExtendedLocationTypeCustomLocation),\n\t\t\t},\n\t\t\tLocation: pulumi.String(\"eastus2\"),\n\t\t\tPipelineGroupName: pulumi.String(\"plGroup1\"),\n\t\t\tProperties: \u0026monitor.PipelineGroupPropertiesArgs{\n\t\t\t\tExporters: monitor.ExporterArray{\n\t\t\t\t\t\u0026monitor.ExporterArgs{\n\t\t\t\t\t\tAzureMonitorWorkspaceLogs: \u0026monitor.AzureMonitorWorkspaceLogsExporterArgs{\n\t\t\t\t\t\t\tApi: \u0026monitor.AzureMonitorWorkspaceLogsApiConfigArgs{\n\t\t\t\t\t\t\t\tDataCollectionEndpointUrl: pulumi.String(\"https://logs-myingestion-eb0s.eastus-1.ingest.monitor.azure.com\"),\n\t\t\t\t\t\t\t\tDataCollectionRule: pulumi.String(\"dcr-00000000000000000000000000000000\"),\n\t\t\t\t\t\t\t\tSchema: \u0026monitor.SchemaMapArgs{\n\t\t\t\t\t\t\t\t\tRecordMap: monitor.RecordMapArray{\n\t\t\t\t\t\t\t\t\t\t\u0026monitor.RecordMapArgs{\n\t\t\t\t\t\t\t\t\t\t\tFrom: pulumi.String(\"body\"),\n\t\t\t\t\t\t\t\t\t\t\tTo: pulumi.String(\"Body\"),\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\u0026monitor.RecordMapArgs{\n\t\t\t\t\t\t\t\t\t\t\tFrom: pulumi.String(\"severity_text\"),\n\t\t\t\t\t\t\t\t\t\t\tTo: pulumi.String(\"SeverityText\"),\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\u0026monitor.RecordMapArgs{\n\t\t\t\t\t\t\t\t\t\t\tFrom: pulumi.String(\"time_unix_nano\"),\n\t\t\t\t\t\t\t\t\t\t\tTo: pulumi.String(\"TimeGenerated\"),\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tStream: pulumi.String(\"Custom-MyTableRawData_CL\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tConcurrency: \u0026monitor.ConcurrencyConfigurationArgs{\n\t\t\t\t\t\t\t\tBatchQueueSize: pulumi.Int(100),\n\t\t\t\t\t\t\t\tWorkerCount: pulumi.Int(4),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\tName: pulumi.String(\"my-workspace-logs-exporter1\"),\n\t\t\t\t\t\tType: pulumi.String(monitor.ExporterTypeAzureMonitorWorkspaceLogs),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tProcessors: monitor.ProcessorArray{},\n\t\t\t\tReceivers: monitor.ReceiverArray{\n\t\t\t\t\t\u0026monitor.ReceiverArgs{\n\t\t\t\t\t\tName: pulumi.String(\"udp-receiver1\"),\n\t\t\t\t\t\tType: pulumi.String(monitor.ReceiverTypeUDP),\n\t\t\t\t\t\tUdp: \u0026monitor.UdpReceiverArgs{\n\t\t\t\t\t\t\tEncoding: pulumi.String(monitor.StreamEncodingType_Utf_8),\n\t\t\t\t\t\t\tEndpoint: pulumi.String(\"0.0.0.0:518\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tService: \u0026monitor.ServiceArgs{\n\t\t\t\t\tPipelines: monitor.PipelineArray{\n\t\t\t\t\t\t\u0026monitor.PipelineArgs{\n\t\t\t\t\t\t\tExporters: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"my-workspace-logs-exporter1\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tName: pulumi.String(\"MyPipelineForLogs1\"),\n\t\t\t\t\t\t\tProcessors: pulumi.StringArray{},\n\t\t\t\t\t\t\tReceivers: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"udp-receiver1\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tType: pulumi.String(monitor.PipelineTypeLogs),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tResourceGroupName: pulumi.String(\"myResourceGroup\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"tag1\": pulumi.String(\"A\"),\n\t\t\t\t\"tag2\": pulumi.String(\"B\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n\n```\n\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azurenative.monitor.PipelineGroup;\nimport com.pulumi.azurenative.monitor.PipelineGroupArgs;\nimport com.pulumi.azurenative.monitor.inputs.AzureResourceManagerCommonTypesExtendedLocationArgs;\nimport com.pulumi.azurenative.monitor.inputs.PipelineGroupPropertiesArgs;\nimport com.pulumi.azurenative.monitor.inputs.ServiceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var pipelineGroup = new PipelineGroup(\"pipelineGroup\", PipelineGroupArgs.builder()\n .extendedLocation(AzureResourceManagerCommonTypesExtendedLocationArgs.builder()\n .name(\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/microsoft.extendedlocation/customlocations/myTestCustomLocation\")\n .type(\"CustomLocation\")\n .build())\n .location(\"eastus2\")\n .pipelineGroupName(\"plGroup1\")\n .properties(PipelineGroupPropertiesArgs.builder()\n .exporters(ExporterArgs.builder()\n .azureMonitorWorkspaceLogs(AzureMonitorWorkspaceLogsExporterArgs.builder()\n .api(AzureMonitorWorkspaceLogsApiConfigArgs.builder()\n .dataCollectionEndpointUrl(\"https://logs-myingestion-eb0s.eastus-1.ingest.monitor.azure.com\")\n .dataCollectionRule(\"dcr-00000000000000000000000000000000\")\n .schema(SchemaMapArgs.builder()\n .recordMap( \n RecordMapArgs.builder()\n .from(\"body\")\n .to(\"Body\")\n .build(),\n RecordMapArgs.builder()\n .from(\"severity_text\")\n .to(\"SeverityText\")\n .build(),\n RecordMapArgs.builder()\n .from(\"time_unix_nano\")\n .to(\"TimeGenerated\")\n .build())\n .build())\n .stream(\"Custom-MyTableRawData_CL\")\n .build())\n .concurrency(ConcurrencyConfigurationArgs.builder()\n .batchQueueSize(100)\n .workerCount(4)\n .build())\n .build())\n .name(\"my-workspace-logs-exporter1\")\n .type(\"AzureMonitorWorkspaceLogs\")\n .build())\n .processors()\n .receivers(ReceiverArgs.builder()\n .name(\"udp-receiver1\")\n .type(\"UDP\")\n .udp(UdpReceiverArgs.builder()\n .encoding(\"utf-8\")\n .endpoint(\"0.0.0.0:518\")\n .build())\n .build())\n .service(ServiceArgs.builder()\n .pipelines(PipelineArgs.builder()\n .exporters(\"my-workspace-logs-exporter1\")\n .name(\"MyPipelineForLogs1\")\n .processors()\n .receivers(\"udp-receiver1\")\n .type(\"Logs\")\n .build())\n .build())\n .build())\n .resourceGroupName(\"myResourceGroup\")\n .tags(Map.ofEntries(\n Map.entry(\"tag1\", \"A\"),\n Map.entry(\"tag2\", \"B\")\n ))\n .build());\n\n }\n}\n\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure_native from \"@pulumi/azure-native\";\n\nconst pipelineGroup = new azure_native.monitor.PipelineGroup(\"pipelineGroup\", {\n extendedLocation: {\n name: \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/microsoft.extendedlocation/customlocations/myTestCustomLocation\",\n type: azure_native.monitor.ExtendedLocationType.CustomLocation,\n },\n location: \"eastus2\",\n pipelineGroupName: \"plGroup1\",\n properties: {\n exporters: [{\n azureMonitorWorkspaceLogs: {\n api: {\n dataCollectionEndpointUrl: \"https://logs-myingestion-eb0s.eastus-1.ingest.monitor.azure.com\",\n dataCollectionRule: \"dcr-00000000000000000000000000000000\",\n schema: {\n recordMap: [\n {\n from: \"body\",\n to: \"Body\",\n },\n {\n from: \"severity_text\",\n to: \"SeverityText\",\n },\n {\n from: \"time_unix_nano\",\n to: \"TimeGenerated\",\n },\n ],\n },\n stream: \"Custom-MyTableRawData_CL\",\n },\n concurrency: {\n batchQueueSize: 100,\n workerCount: 4,\n },\n },\n name: \"my-workspace-logs-exporter1\",\n type: azure_native.monitor.ExporterType.AzureMonitorWorkspaceLogs,\n }],\n processors: [],\n receivers: [{\n name: \"udp-receiver1\",\n type: azure_native.monitor.ReceiverType.UDP,\n udp: {\n encoding: azure_native.monitor.StreamEncodingType.Utf_8,\n endpoint: \"0.0.0.0:518\",\n },\n }],\n service: {\n pipelines: [{\n exporters: [\"my-workspace-logs-exporter1\"],\n name: \"MyPipelineForLogs1\",\n processors: [],\n receivers: [\"udp-receiver1\"],\n type: azure_native.monitor.PipelineType.Logs,\n }],\n },\n },\n resourceGroupName: \"myResourceGroup\",\n tags: {\n tag1: \"A\",\n tag2: \"B\",\n },\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_azure_native as azure_native\n\npipeline_group = azure_native.monitor.PipelineGroup(\"pipelineGroup\",\n extended_location={\n \"name\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/microsoft.extendedlocation/customlocations/myTestCustomLocation\",\n \"type\": azure_native.monitor.ExtendedLocationType.CUSTOM_LOCATION,\n },\n location=\"eastus2\",\n pipeline_group_name=\"plGroup1\",\n properties={\n \"exporters\": [{\n \"azure_monitor_workspace_logs\": {\n \"api\": {\n \"data_collection_endpoint_url\": \"https://logs-myingestion-eb0s.eastus-1.ingest.monitor.azure.com\",\n \"data_collection_rule\": \"dcr-00000000000000000000000000000000\",\n \"schema\": {\n \"record_map\": [\n {\n \"from_\": \"body\",\n \"to\": \"Body\",\n },\n {\n \"from_\": \"severity_text\",\n \"to\": \"SeverityText\",\n },\n {\n \"from_\": \"time_unix_nano\",\n \"to\": \"TimeGenerated\",\n },\n ],\n },\n \"stream\": \"Custom-MyTableRawData_CL\",\n },\n \"concurrency\": {\n \"batch_queue_size\": 100,\n \"worker_count\": 4,\n },\n },\n \"name\": \"my-workspace-logs-exporter1\",\n \"type\": azure_native.monitor.ExporterType.AZURE_MONITOR_WORKSPACE_LOGS,\n }],\n \"processors\": [],\n \"receivers\": [{\n \"name\": \"udp-receiver1\",\n \"type\": azure_native.monitor.ReceiverType.UDP,\n \"udp\": {\n \"encoding\": azure_native.monitor.StreamEncodingType.UTF_8,\n \"endpoint\": \"0.0.0.0:518\",\n },\n }],\n \"service\": {\n \"pipelines\": [{\n \"exporters\": [\"my-workspace-logs-exporter1\"],\n \"name\": \"MyPipelineForLogs1\",\n \"processors\": [],\n \"receivers\": [\"udp-receiver1\"],\n \"type\": azure_native.monitor.PipelineType.LOGS,\n }],\n },\n },\n resource_group_name=\"myResourceGroup\",\n tags={\n \"tag1\": \"A\",\n \"tag2\": \"B\",\n })\n\n```\n\n```yaml\nresources:\n pipelineGroup:\n type: azure-native:monitor:PipelineGroup\n properties:\n extendedLocation:\n name: /subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/microsoft.extendedlocation/customlocations/myTestCustomLocation\n type: CustomLocation\n location: eastus2\n pipelineGroupName: plGroup1\n properties:\n exporters:\n - azureMonitorWorkspaceLogs:\n api:\n dataCollectionEndpointUrl: https://logs-myingestion-eb0s.eastus-1.ingest.monitor.azure.com\n dataCollectionRule: dcr-00000000000000000000000000000000\n schema:\n recordMap:\n - from: body\n to: Body\n - from: severity_text\n to: SeverityText\n - from: time_unix_nano\n to: TimeGenerated\n stream: Custom-MyTableRawData_CL\n concurrency:\n batchQueueSize: 100\n workerCount: 4\n name: my-workspace-logs-exporter1\n type: AzureMonitorWorkspaceLogs\n processors: []\n receivers:\n - name: udp-receiver1\n type: UDP\n udp:\n encoding: utf-8\n endpoint: 0.0.0.0:518\n service:\n pipelines:\n - exporters:\n - my-workspace-logs-exporter1\n name: MyPipelineForLogs1\n processors: []\n receivers:\n - udp-receiver1\n type: Logs\n resourceGroupName: myResourceGroup\n tags:\n tag1: A\n tag2: B\n\n```\n\n{{% /example %}}\n{{% example %}}\n### Create a PipelineGroup instance using a UDP receiver with json array mapper\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AzureNative = Pulumi.AzureNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var pipelineGroup = new AzureNative.Monitor.PipelineGroup(\"pipelineGroup\", new()\n {\n ExtendedLocation = new AzureNative.Monitor.Inputs.AzureResourceManagerCommonTypesExtendedLocationArgs\n {\n Name = \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/microsoft.extendedlocation/customlocations/myTestCustomLocation\",\n Type = AzureNative.Monitor.ExtendedLocationType.CustomLocation,\n },\n Location = \"eastus2\",\n PipelineGroupName = \"plGroup1\",\n Properties = new AzureNative.Monitor.Inputs.PipelineGroupPropertiesArgs\n {\n Exporters = new[]\n {\n new AzureNative.Monitor.Inputs.ExporterArgs\n {\n AzureMonitorWorkspaceLogs = new AzureNative.Monitor.Inputs.AzureMonitorWorkspaceLogsExporterArgs\n {\n Api = new AzureNative.Monitor.Inputs.AzureMonitorWorkspaceLogsApiConfigArgs\n {\n DataCollectionEndpointUrl = \"https://logs-myingestion-eb0s.eastus-1.ingest.monitor.azure.com\",\n DataCollectionRule = \"dcr-00000000000000000000000000000000\",\n Schema = new AzureNative.Monitor.Inputs.SchemaMapArgs\n {\n RecordMap = new[]\n {\n new AzureNative.Monitor.Inputs.RecordMapArgs\n {\n From = \"body\",\n To = \"Body\",\n },\n new AzureNative.Monitor.Inputs.RecordMapArgs\n {\n From = \"severity_text\",\n To = \"SeverityText\",\n },\n new AzureNative.Monitor.Inputs.RecordMapArgs\n {\n From = \"time_unix_nano\",\n To = \"TimeGenerated\",\n },\n },\n },\n Stream = \"Custom-MyTableRawData_CL\",\n },\n Concurrency = new AzureNative.Monitor.Inputs.ConcurrencyConfigurationArgs\n {\n BatchQueueSize = 100,\n WorkerCount = 4,\n },\n },\n Name = \"my-workspace-logs-exporter1\",\n Type = AzureNative.Monitor.ExporterType.AzureMonitorWorkspaceLogs,\n },\n },\n Processors = new() { },\n Receivers = new[]\n {\n new AzureNative.Monitor.Inputs.ReceiverArgs\n {\n Name = \"udp-receiver1\",\n Type = AzureNative.Monitor.ReceiverType.UDP,\n Udp = new AzureNative.Monitor.Inputs.UdpReceiverArgs\n {\n Encoding = AzureNative.Monitor.StreamEncodingType.Utf_8,\n Endpoint = \"0.0.0.0:518\",\n JsonArrayMapper = new AzureNative.Monitor.Inputs.JsonArrayMapperArgs\n {\n DestinationField = new AzureNative.Monitor.Inputs.JsonMapperDestinationFieldArgs\n {\n Destination = AzureNative.Monitor.JsonMapperElement.Attributes,\n },\n Keys = new[]\n {\n \"key1\",\n \"key2\",\n \"key3\",\n },\n SourceField = new AzureNative.Monitor.Inputs.JsonMapperSourceFieldArgs\n {\n FieldName = \"field1\",\n },\n },\n },\n },\n },\n Service = new AzureNative.Monitor.Inputs.ServiceArgs\n {\n Pipelines = new[]\n {\n new AzureNative.Monitor.Inputs.PipelineArgs\n {\n Exporters = new[]\n {\n \"my-workspace-logs-exporter1\",\n },\n Name = \"MyPipelineForLogs1\",\n Processors = new() { },\n Receivers = new[]\n {\n \"udp-receiver1\",\n },\n Type = AzureNative.Monitor.PipelineType.Logs,\n },\n },\n },\n },\n ResourceGroupName = \"myResourceGroup\",\n Tags = \n {\n { \"tag1\", \"A\" },\n { \"tag2\", \"B\" },\n },\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\tmonitor \"github.com/pulumi/pulumi-azure-native-sdk/monitor/v2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := monitor.NewPipelineGroup(ctx, \"pipelineGroup\", \u0026monitor.PipelineGroupArgs{\n\t\t\tExtendedLocation: \u0026monitor.AzureResourceManagerCommonTypesExtendedLocationArgs{\n\t\t\t\tName: pulumi.String(\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/microsoft.extendedlocation/customlocations/myTestCustomLocation\"),\n\t\t\t\tType: pulumi.String(monitor.ExtendedLocationTypeCustomLocation),\n\t\t\t},\n\t\t\tLocation: pulumi.String(\"eastus2\"),\n\t\t\tPipelineGroupName: pulumi.String(\"plGroup1\"),\n\t\t\tProperties: \u0026monitor.PipelineGroupPropertiesArgs{\n\t\t\t\tExporters: monitor.ExporterArray{\n\t\t\t\t\t\u0026monitor.ExporterArgs{\n\t\t\t\t\t\tAzureMonitorWorkspaceLogs: \u0026monitor.AzureMonitorWorkspaceLogsExporterArgs{\n\t\t\t\t\t\t\tApi: \u0026monitor.AzureMonitorWorkspaceLogsApiConfigArgs{\n\t\t\t\t\t\t\t\tDataCollectionEndpointUrl: pulumi.String(\"https://logs-myingestion-eb0s.eastus-1.ingest.monitor.azure.com\"),\n\t\t\t\t\t\t\t\tDataCollectionRule: pulumi.String(\"dcr-00000000000000000000000000000000\"),\n\t\t\t\t\t\t\t\tSchema: \u0026monitor.SchemaMapArgs{\n\t\t\t\t\t\t\t\t\tRecordMap: monitor.RecordMapArray{\n\t\t\t\t\t\t\t\t\t\t\u0026monitor.RecordMapArgs{\n\t\t\t\t\t\t\t\t\t\t\tFrom: pulumi.String(\"body\"),\n\t\t\t\t\t\t\t\t\t\t\tTo: pulumi.String(\"Body\"),\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\u0026monitor.RecordMapArgs{\n\t\t\t\t\t\t\t\t\t\t\tFrom: pulumi.String(\"severity_text\"),\n\t\t\t\t\t\t\t\t\t\t\tTo: pulumi.String(\"SeverityText\"),\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\u0026monitor.RecordMapArgs{\n\t\t\t\t\t\t\t\t\t\t\tFrom: pulumi.String(\"time_unix_nano\"),\n\t\t\t\t\t\t\t\t\t\t\tTo: pulumi.String(\"TimeGenerated\"),\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tStream: pulumi.String(\"Custom-MyTableRawData_CL\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tConcurrency: \u0026monitor.ConcurrencyConfigurationArgs{\n\t\t\t\t\t\t\t\tBatchQueueSize: pulumi.Int(100),\n\t\t\t\t\t\t\t\tWorkerCount: pulumi.Int(4),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\tName: pulumi.String(\"my-workspace-logs-exporter1\"),\n\t\t\t\t\t\tType: pulumi.String(monitor.ExporterTypeAzureMonitorWorkspaceLogs),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tProcessors: monitor.ProcessorArray{},\n\t\t\t\tReceivers: monitor.ReceiverArray{\n\t\t\t\t\t\u0026monitor.ReceiverArgs{\n\t\t\t\t\t\tName: pulumi.String(\"udp-receiver1\"),\n\t\t\t\t\t\tType: pulumi.String(monitor.ReceiverTypeUDP),\n\t\t\t\t\t\tUdp: \u0026monitor.UdpReceiverArgs{\n\t\t\t\t\t\t\tEncoding: pulumi.String(monitor.StreamEncodingType_Utf_8),\n\t\t\t\t\t\t\tEndpoint: pulumi.String(\"0.0.0.0:518\"),\n\t\t\t\t\t\t\tJsonArrayMapper: \u0026monitor.JsonArrayMapperArgs{\n\t\t\t\t\t\t\t\tDestinationField: \u0026monitor.JsonMapperDestinationFieldArgs{\n\t\t\t\t\t\t\t\t\tDestination: pulumi.String(monitor.JsonMapperElementAttributes),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tKeys: pulumi.StringArray{\n\t\t\t\t\t\t\t\t\tpulumi.String(\"key1\"),\n\t\t\t\t\t\t\t\t\tpulumi.String(\"key2\"),\n\t\t\t\t\t\t\t\t\tpulumi.String(\"key3\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tSourceField: \u0026monitor.JsonMapperSourceFieldArgs{\n\t\t\t\t\t\t\t\t\tFieldName: pulumi.String(\"field1\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tService: \u0026monitor.ServiceArgs{\n\t\t\t\t\tPipelines: monitor.PipelineArray{\n\t\t\t\t\t\t\u0026monitor.PipelineArgs{\n\t\t\t\t\t\t\tExporters: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"my-workspace-logs-exporter1\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tName: pulumi.String(\"MyPipelineForLogs1\"),\n\t\t\t\t\t\t\tProcessors: pulumi.StringArray{},\n\t\t\t\t\t\t\tReceivers: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"udp-receiver1\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tType: pulumi.String(monitor.PipelineTypeLogs),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tResourceGroupName: pulumi.String(\"myResourceGroup\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"tag1\": pulumi.String(\"A\"),\n\t\t\t\t\"tag2\": pulumi.String(\"B\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n\n```\n\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azurenative.monitor.PipelineGroup;\nimport com.pulumi.azurenative.monitor.PipelineGroupArgs;\nimport com.pulumi.azurenative.monitor.inputs.AzureResourceManagerCommonTypesExtendedLocationArgs;\nimport com.pulumi.azurenative.monitor.inputs.PipelineGroupPropertiesArgs;\nimport com.pulumi.azurenative.monitor.inputs.ServiceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var pipelineGroup = new PipelineGroup(\"pipelineGroup\", PipelineGroupArgs.builder()\n .extendedLocation(AzureResourceManagerCommonTypesExtendedLocationArgs.builder()\n .name(\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/microsoft.extendedlocation/customlocations/myTestCustomLocation\")\n .type(\"CustomLocation\")\n .build())\n .location(\"eastus2\")\n .pipelineGroupName(\"plGroup1\")\n .properties(PipelineGroupPropertiesArgs.builder()\n .exporters(ExporterArgs.builder()\n .azureMonitorWorkspaceLogs(AzureMonitorWorkspaceLogsExporterArgs.builder()\n .api(AzureMonitorWorkspaceLogsApiConfigArgs.builder()\n .dataCollectionEndpointUrl(\"https://logs-myingestion-eb0s.eastus-1.ingest.monitor.azure.com\")\n .dataCollectionRule(\"dcr-00000000000000000000000000000000\")\n .schema(SchemaMapArgs.builder()\n .recordMap( \n RecordMapArgs.builder()\n .from(\"body\")\n .to(\"Body\")\n .build(),\n RecordMapArgs.builder()\n .from(\"severity_text\")\n .to(\"SeverityText\")\n .build(),\n RecordMapArgs.builder()\n .from(\"time_unix_nano\")\n .to(\"TimeGenerated\")\n .build())\n .build())\n .stream(\"Custom-MyTableRawData_CL\")\n .build())\n .concurrency(ConcurrencyConfigurationArgs.builder()\n .batchQueueSize(100)\n .workerCount(4)\n .build())\n .build())\n .name(\"my-workspace-logs-exporter1\")\n .type(\"AzureMonitorWorkspaceLogs\")\n .build())\n .processors()\n .receivers(ReceiverArgs.builder()\n .name(\"udp-receiver1\")\n .type(\"UDP\")\n .udp(UdpReceiverArgs.builder()\n .encoding(\"utf-8\")\n .endpoint(\"0.0.0.0:518\")\n .jsonArrayMapper(JsonArrayMapperArgs.builder()\n .destinationField(JsonMapperDestinationFieldArgs.builder()\n .destination(\"attributes\")\n .build())\n .keys( \n \"key1\",\n \"key2\",\n \"key3\")\n .sourceField(JsonMapperSourceFieldArgs.builder()\n .fieldName(\"field1\")\n .build())\n .build())\n .build())\n .build())\n .service(ServiceArgs.builder()\n .pipelines(PipelineArgs.builder()\n .exporters(\"my-workspace-logs-exporter1\")\n .name(\"MyPipelineForLogs1\")\n .processors()\n .receivers(\"udp-receiver1\")\n .type(\"Logs\")\n .build())\n .build())\n .build())\n .resourceGroupName(\"myResourceGroup\")\n .tags(Map.ofEntries(\n Map.entry(\"tag1\", \"A\"),\n Map.entry(\"tag2\", \"B\")\n ))\n .build());\n\n }\n}\n\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure_native from \"@pulumi/azure-native\";\n\nconst pipelineGroup = new azure_native.monitor.PipelineGroup(\"pipelineGroup\", {\n extendedLocation: {\n name: \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/microsoft.extendedlocation/customlocations/myTestCustomLocation\",\n type: azure_native.monitor.ExtendedLocationType.CustomLocation,\n },\n location: \"eastus2\",\n pipelineGroupName: \"plGroup1\",\n properties: {\n exporters: [{\n azureMonitorWorkspaceLogs: {\n api: {\n dataCollectionEndpointUrl: \"https://logs-myingestion-eb0s.eastus-1.ingest.monitor.azure.com\",\n dataCollectionRule: \"dcr-00000000000000000000000000000000\",\n schema: {\n recordMap: [\n {\n from: \"body\",\n to: \"Body\",\n },\n {\n from: \"severity_text\",\n to: \"SeverityText\",\n },\n {\n from: \"time_unix_nano\",\n to: \"TimeGenerated\",\n },\n ],\n },\n stream: \"Custom-MyTableRawData_CL\",\n },\n concurrency: {\n batchQueueSize: 100,\n workerCount: 4,\n },\n },\n name: \"my-workspace-logs-exporter1\",\n type: azure_native.monitor.ExporterType.AzureMonitorWorkspaceLogs,\n }],\n processors: [],\n receivers: [{\n name: \"udp-receiver1\",\n type: azure_native.monitor.ReceiverType.UDP,\n udp: {\n encoding: azure_native.monitor.StreamEncodingType.Utf_8,\n endpoint: \"0.0.0.0:518\",\n jsonArrayMapper: {\n destinationField: {\n destination: azure_native.monitor.JsonMapperElement.Attributes,\n },\n keys: [\n \"key1\",\n \"key2\",\n \"key3\",\n ],\n sourceField: {\n fieldName: \"field1\",\n },\n },\n },\n }],\n service: {\n pipelines: [{\n exporters: [\"my-workspace-logs-exporter1\"],\n name: \"MyPipelineForLogs1\",\n processors: [],\n receivers: [\"udp-receiver1\"],\n type: azure_native.monitor.PipelineType.Logs,\n }],\n },\n },\n resourceGroupName: \"myResourceGroup\",\n tags: {\n tag1: \"A\",\n tag2: \"B\",\n },\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_azure_native as azure_native\n\npipeline_group = azure_native.monitor.PipelineGroup(\"pipelineGroup\",\n extended_location={\n \"name\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/microsoft.extendedlocation/customlocations/myTestCustomLocation\",\n \"type\": azure_native.monitor.ExtendedLocationType.CUSTOM_LOCATION,\n },\n location=\"eastus2\",\n pipeline_group_name=\"plGroup1\",\n properties={\n \"exporters\": [{\n \"azure_monitor_workspace_logs\": {\n \"api\": {\n \"data_collection_endpoint_url\": \"https://logs-myingestion-eb0s.eastus-1.ingest.monitor.azure.com\",\n \"data_collection_rule\": \"dcr-00000000000000000000000000000000\",\n \"schema\": {\n \"record_map\": [\n {\n \"from_\": \"body\",\n \"to\": \"Body\",\n },\n {\n \"from_\": \"severity_text\",\n \"to\": \"SeverityText\",\n },\n {\n \"from_\": \"time_unix_nano\",\n \"to\": \"TimeGenerated\",\n },\n ],\n },\n \"stream\": \"Custom-MyTableRawData_CL\",\n },\n \"concurrency\": {\n \"batch_queue_size\": 100,\n \"worker_count\": 4,\n },\n },\n \"name\": \"my-workspace-logs-exporter1\",\n \"type\": azure_native.monitor.ExporterType.AZURE_MONITOR_WORKSPACE_LOGS,\n }],\n \"processors\": [],\n \"receivers\": [{\n \"name\": \"udp-receiver1\",\n \"type\": azure_native.monitor.ReceiverType.UDP,\n \"udp\": {\n \"encoding\": azure_native.monitor.StreamEncodingType.UTF_8,\n \"endpoint\": \"0.0.0.0:518\",\n \"json_array_mapper\": {\n \"destination_field\": {\n \"destination\": azure_native.monitor.JsonMapperElement.ATTRIBUTES,\n },\n \"keys\": [\n \"key1\",\n \"key2\",\n \"key3\",\n ],\n \"source_field\": {\n \"field_name\": \"field1\",\n },\n },\n },\n }],\n \"service\": {\n \"pipelines\": [{\n \"exporters\": [\"my-workspace-logs-exporter1\"],\n \"name\": \"MyPipelineForLogs1\",\n \"processors\": [],\n \"receivers\": [\"udp-receiver1\"],\n \"type\": azure_native.monitor.PipelineType.LOGS,\n }],\n },\n },\n resource_group_name=\"myResourceGroup\",\n tags={\n \"tag1\": \"A\",\n \"tag2\": \"B\",\n })\n\n```\n\n```yaml\nresources:\n pipelineGroup:\n type: azure-native:monitor:PipelineGroup\n properties:\n extendedLocation:\n name: /subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/microsoft.extendedlocation/customlocations/myTestCustomLocation\n type: CustomLocation\n location: eastus2\n pipelineGroupName: plGroup1\n properties:\n exporters:\n - azureMonitorWorkspaceLogs:\n api:\n dataCollectionEndpointUrl: https://logs-myingestion-eb0s.eastus-1.ingest.monitor.azure.com\n dataCollectionRule: dcr-00000000000000000000000000000000\n schema:\n recordMap:\n - from: body\n to: Body\n - from: severity_text\n to: SeverityText\n - from: time_unix_nano\n to: TimeGenerated\n stream: Custom-MyTableRawData_CL\n concurrency:\n batchQueueSize: 100\n workerCount: 4\n name: my-workspace-logs-exporter1\n type: AzureMonitorWorkspaceLogs\n processors: []\n receivers:\n - name: udp-receiver1\n type: UDP\n udp:\n encoding: utf-8\n endpoint: 0.0.0.0:518\n jsonArrayMapper:\n destinationField:\n destination: attributes\n keys:\n - key1\n - key2\n - key3\n sourceField:\n fieldName: field1\n service:\n pipelines:\n - exporters:\n - my-workspace-logs-exporter1\n name: MyPipelineForLogs1\n processors: []\n receivers:\n - udp-receiver1\n type: Logs\n resourceGroupName: myResourceGroup\n tags:\n tag1: A\n tag2: B\n\n```\n\n{{% /example %}}\n{{% example %}}\n### Create a PipelineGroup instance using a syslog receiver\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AzureNative = Pulumi.AzureNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var pipelineGroup = new AzureNative.Monitor.PipelineGroup(\"pipelineGroup\", new()\n {\n ExtendedLocation = new AzureNative.Monitor.Inputs.AzureResourceManagerCommonTypesExtendedLocationArgs\n {\n Name = \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/microsoft.extendedlocation/customlocations/myTestCustomLocation\",\n Type = AzureNative.Monitor.ExtendedLocationType.CustomLocation,\n },\n Location = \"eastus2\",\n PipelineGroupName = \"plGroup1\",\n Properties = new AzureNative.Monitor.Inputs.PipelineGroupPropertiesArgs\n {\n Exporters = new[]\n {\n new AzureNative.Monitor.Inputs.ExporterArgs\n {\n AzureMonitorWorkspaceLogs = new AzureNative.Monitor.Inputs.AzureMonitorWorkspaceLogsExporterArgs\n {\n Api = new AzureNative.Monitor.Inputs.AzureMonitorWorkspaceLogsApiConfigArgs\n {\n DataCollectionEndpointUrl = \"https://logs-myingestion-eb0s.eastus-1.ingest.monitor.azure.com\",\n DataCollectionRule = \"dcr-00000000000000000000000000000000\",\n Schema = new AzureNative.Monitor.Inputs.SchemaMapArgs\n {\n RecordMap = new[]\n {\n new AzureNative.Monitor.Inputs.RecordMapArgs\n {\n From = \"body\",\n To = \"Body\",\n },\n new AzureNative.Monitor.Inputs.RecordMapArgs\n {\n From = \"severity_text\",\n To = \"SeverityText\",\n },\n new AzureNative.Monitor.Inputs.RecordMapArgs\n {\n From = \"time_unix_nano\",\n To = \"TimeGenerated\",\n },\n },\n },\n Stream = \"Custom-MyTableRawData_CL\",\n },\n Concurrency = new AzureNative.Monitor.Inputs.ConcurrencyConfigurationArgs\n {\n BatchQueueSize = 100,\n WorkerCount = 4,\n },\n },\n Name = \"my-workspace-logs-exporter1\",\n Type = AzureNative.Monitor.ExporterType.AzureMonitorWorkspaceLogs,\n },\n },\n Processors = new[]\n {\n new AzureNative.Monitor.Inputs.ProcessorArgs\n {\n Name = \"batch-processor1\",\n Type = AzureNative.Monitor.ProcessorType.Batch,\n },\n },\n Receivers = new[]\n {\n new AzureNative.Monitor.Inputs.ReceiverArgs\n {\n Name = \"syslog-receiver1\",\n Syslog = new AzureNative.Monitor.Inputs.SyslogReceiverArgs\n {\n Endpoint = \"0.0.0.0:514\",\n },\n Type = AzureNative.Monitor.ReceiverType.Syslog,\n },\n },\n Service = new AzureNative.Monitor.Inputs.ServiceArgs\n {\n Pipelines = new[]\n {\n new AzureNative.Monitor.Inputs.PipelineArgs\n {\n Exporters = new[]\n {\n \"my-workspace-logs-exporter1\",\n },\n Name = \"MyPipelineForLogs1\",\n Processors = new[]\n {\n \"batch-processor1\",\n },\n Receivers = new[]\n {\n \"syslog-receiver1\",\n },\n Type = AzureNative.Monitor.PipelineType.Logs,\n },\n },\n },\n },\n ResourceGroupName = \"myResourceGroup\",\n Tags = \n {\n { \"tag1\", \"A\" },\n { \"tag2\", \"B\" },\n },\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\tmonitor \"github.com/pulumi/pulumi-azure-native-sdk/monitor/v2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := monitor.NewPipelineGroup(ctx, \"pipelineGroup\", \u0026monitor.PipelineGroupArgs{\n\t\t\tExtendedLocation: \u0026monitor.AzureResourceManagerCommonTypesExtendedLocationArgs{\n\t\t\t\tName: pulumi.String(\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/microsoft.extendedlocation/customlocations/myTestCustomLocation\"),\n\t\t\t\tType: pulumi.String(monitor.ExtendedLocationTypeCustomLocation),\n\t\t\t},\n\t\t\tLocation: pulumi.String(\"eastus2\"),\n\t\t\tPipelineGroupName: pulumi.String(\"plGroup1\"),\n\t\t\tProperties: \u0026monitor.PipelineGroupPropertiesArgs{\n\t\t\t\tExporters: monitor.ExporterArray{\n\t\t\t\t\t\u0026monitor.ExporterArgs{\n\t\t\t\t\t\tAzureMonitorWorkspaceLogs: \u0026monitor.AzureMonitorWorkspaceLogsExporterArgs{\n\t\t\t\t\t\t\tApi: \u0026monitor.AzureMonitorWorkspaceLogsApiConfigArgs{\n\t\t\t\t\t\t\t\tDataCollectionEndpointUrl: pulumi.String(\"https://logs-myingestion-eb0s.eastus-1.ingest.monitor.azure.com\"),\n\t\t\t\t\t\t\t\tDataCollectionRule: pulumi.String(\"dcr-00000000000000000000000000000000\"),\n\t\t\t\t\t\t\t\tSchema: \u0026monitor.SchemaMapArgs{\n\t\t\t\t\t\t\t\t\tRecordMap: monitor.RecordMapArray{\n\t\t\t\t\t\t\t\t\t\t\u0026monitor.RecordMapArgs{\n\t\t\t\t\t\t\t\t\t\t\tFrom: pulumi.String(\"body\"),\n\t\t\t\t\t\t\t\t\t\t\tTo: pulumi.String(\"Body\"),\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\u0026monitor.RecordMapArgs{\n\t\t\t\t\t\t\t\t\t\t\tFrom: pulumi.String(\"severity_text\"),\n\t\t\t\t\t\t\t\t\t\t\tTo: pulumi.String(\"SeverityText\"),\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\u0026monitor.RecordMapArgs{\n\t\t\t\t\t\t\t\t\t\t\tFrom: pulumi.String(\"time_unix_nano\"),\n\t\t\t\t\t\t\t\t\t\t\tTo: pulumi.String(\"TimeGenerated\"),\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tStream: pulumi.String(\"Custom-MyTableRawData_CL\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tConcurrency: \u0026monitor.ConcurrencyConfigurationArgs{\n\t\t\t\t\t\t\t\tBatchQueueSize: pulumi.Int(100),\n\t\t\t\t\t\t\t\tWorkerCount: pulumi.Int(4),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\tName: pulumi.String(\"my-workspace-logs-exporter1\"),\n\t\t\t\t\t\tType: pulumi.String(monitor.ExporterTypeAzureMonitorWorkspaceLogs),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tProcessors: monitor.ProcessorArray{\n\t\t\t\t\t\u0026monitor.ProcessorArgs{\n\t\t\t\t\t\tName: pulumi.String(\"batch-processor1\"),\n\t\t\t\t\t\tType: pulumi.String(monitor.ProcessorTypeBatch),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tReceivers: monitor.ReceiverArray{\n\t\t\t\t\t\u0026monitor.ReceiverArgs{\n\t\t\t\t\t\tName: pulumi.String(\"syslog-receiver1\"),\n\t\t\t\t\t\tSyslog: \u0026monitor.SyslogReceiverArgs{\n\t\t\t\t\t\t\tEndpoint: pulumi.String(\"0.0.0.0:514\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tType: pulumi.String(monitor.ReceiverTypeSyslog),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tService: \u0026monitor.ServiceArgs{\n\t\t\t\t\tPipelines: monitor.PipelineArray{\n\t\t\t\t\t\t\u0026monitor.PipelineArgs{\n\t\t\t\t\t\t\tExporters: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"my-workspace-logs-exporter1\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tName: pulumi.String(\"MyPipelineForLogs1\"),\n\t\t\t\t\t\t\tProcessors: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"batch-processor1\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tReceivers: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"syslog-receiver1\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tType: pulumi.String(monitor.PipelineTypeLogs),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tResourceGroupName: pulumi.String(\"myResourceGroup\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"tag1\": pulumi.String(\"A\"),\n\t\t\t\t\"tag2\": pulumi.String(\"B\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n\n```\n\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azurenative.monitor.PipelineGroup;\nimport com.pulumi.azurenative.monitor.PipelineGroupArgs;\nimport com.pulumi.azurenative.monitor.inputs.AzureResourceManagerCommonTypesExtendedLocationArgs;\nimport com.pulumi.azurenative.monitor.inputs.PipelineGroupPropertiesArgs;\nimport com.pulumi.azurenative.monitor.inputs.ServiceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var pipelineGroup = new PipelineGroup(\"pipelineGroup\", PipelineGroupArgs.builder()\n .extendedLocation(AzureResourceManagerCommonTypesExtendedLocationArgs.builder()\n .name(\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/microsoft.extendedlocation/customlocations/myTestCustomLocation\")\n .type(\"CustomLocation\")\n .build())\n .location(\"eastus2\")\n .pipelineGroupName(\"plGroup1\")\n .properties(PipelineGroupPropertiesArgs.builder()\n .exporters(ExporterArgs.builder()\n .azureMonitorWorkspaceLogs(AzureMonitorWorkspaceLogsExporterArgs.builder()\n .api(AzureMonitorWorkspaceLogsApiConfigArgs.builder()\n .dataCollectionEndpointUrl(\"https://logs-myingestion-eb0s.eastus-1.ingest.monitor.azure.com\")\n .dataCollectionRule(\"dcr-00000000000000000000000000000000\")\n .schema(SchemaMapArgs.builder()\n .recordMap( \n RecordMapArgs.builder()\n .from(\"body\")\n .to(\"Body\")\n .build(),\n RecordMapArgs.builder()\n .from(\"severity_text\")\n .to(\"SeverityText\")\n .build(),\n RecordMapArgs.builder()\n .from(\"time_unix_nano\")\n .to(\"TimeGenerated\")\n .build())\n .build())\n .stream(\"Custom-MyTableRawData_CL\")\n .build())\n .concurrency(ConcurrencyConfigurationArgs.builder()\n .batchQueueSize(100)\n .workerCount(4)\n .build())\n .build())\n .name(\"my-workspace-logs-exporter1\")\n .type(\"AzureMonitorWorkspaceLogs\")\n .build())\n .processors(ProcessorArgs.builder()\n .name(\"batch-processor1\")\n .type(\"Batch\")\n .build())\n .receivers(ReceiverArgs.builder()\n .name(\"syslog-receiver1\")\n .syslog(SyslogReceiverArgs.builder()\n .endpoint(\"0.0.0.0:514\")\n .build())\n .type(\"Syslog\")\n .build())\n .service(ServiceArgs.builder()\n .pipelines(PipelineArgs.builder()\n .exporters(\"my-workspace-logs-exporter1\")\n .name(\"MyPipelineForLogs1\")\n .processors(\"batch-processor1\")\n .receivers(\"syslog-receiver1\")\n .type(\"Logs\")\n .build())\n .build())\n .build())\n .resourceGroupName(\"myResourceGroup\")\n .tags(Map.ofEntries(\n Map.entry(\"tag1\", \"A\"),\n Map.entry(\"tag2\", \"B\")\n ))\n .build());\n\n }\n}\n\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure_native from \"@pulumi/azure-native\";\n\nconst pipelineGroup = new azure_native.monitor.PipelineGroup(\"pipelineGroup\", {\n extendedLocation: {\n name: \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/microsoft.extendedlocation/customlocations/myTestCustomLocation\",\n type: azure_native.monitor.ExtendedLocationType.CustomLocation,\n },\n location: \"eastus2\",\n pipelineGroupName: \"plGroup1\",\n properties: {\n exporters: [{\n azureMonitorWorkspaceLogs: {\n api: {\n dataCollectionEndpointUrl: \"https://logs-myingestion-eb0s.eastus-1.ingest.monitor.azure.com\",\n dataCollectionRule: \"dcr-00000000000000000000000000000000\",\n schema: {\n recordMap: [\n {\n from: \"body\",\n to: \"Body\",\n },\n {\n from: \"severity_text\",\n to: \"SeverityText\",\n },\n {\n from: \"time_unix_nano\",\n to: \"TimeGenerated\",\n },\n ],\n },\n stream: \"Custom-MyTableRawData_CL\",\n },\n concurrency: {\n batchQueueSize: 100,\n workerCount: 4,\n },\n },\n name: \"my-workspace-logs-exporter1\",\n type: azure_native.monitor.ExporterType.AzureMonitorWorkspaceLogs,\n }],\n processors: [{\n name: \"batch-processor1\",\n type: azure_native.monitor.ProcessorType.Batch,\n }],\n receivers: [{\n name: \"syslog-receiver1\",\n syslog: {\n endpoint: \"0.0.0.0:514\",\n },\n type: azure_native.monitor.ReceiverType.Syslog,\n }],\n service: {\n pipelines: [{\n exporters: [\"my-workspace-logs-exporter1\"],\n name: \"MyPipelineForLogs1\",\n processors: [\"batch-processor1\"],\n receivers: [\"syslog-receiver1\"],\n type: azure_native.monitor.PipelineType.Logs,\n }],\n },\n },\n resourceGroupName: \"myResourceGroup\",\n tags: {\n tag1: \"A\",\n tag2: \"B\",\n },\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_azure_native as azure_native\n\npipeline_group = azure_native.monitor.PipelineGroup(\"pipelineGroup\",\n extended_location={\n \"name\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/microsoft.extendedlocation/customlocations/myTestCustomLocation\",\n \"type\": azure_native.monitor.ExtendedLocationType.CUSTOM_LOCATION,\n },\n location=\"eastus2\",\n pipeline_group_name=\"plGroup1\",\n properties={\n \"exporters\": [{\n \"azure_monitor_workspace_logs\": {\n \"api\": {\n \"data_collection_endpoint_url\": \"https://logs-myingestion-eb0s.eastus-1.ingest.monitor.azure.com\",\n \"data_collection_rule\": \"dcr-00000000000000000000000000000000\",\n \"schema\": {\n \"record_map\": [\n {\n \"from_\": \"body\",\n \"to\": \"Body\",\n },\n {\n \"from_\": \"severity_text\",\n \"to\": \"SeverityText\",\n },\n {\n \"from_\": \"time_unix_nano\",\n \"to\": \"TimeGenerated\",\n },\n ],\n },\n \"stream\": \"Custom-MyTableRawData_CL\",\n },\n \"concurrency\": {\n \"batch_queue_size\": 100,\n \"worker_count\": 4,\n },\n },\n \"name\": \"my-workspace-logs-exporter1\",\n \"type\": azure_native.monitor.ExporterType.AZURE_MONITOR_WORKSPACE_LOGS,\n }],\n \"processors\": [{\n \"name\": \"batch-processor1\",\n \"type\": azure_native.monitor.ProcessorType.BATCH,\n }],\n \"receivers\": [{\n \"name\": \"syslog-receiver1\",\n \"syslog\": {\n \"endpoint\": \"0.0.0.0:514\",\n },\n \"type\": azure_native.monitor.ReceiverType.SYSLOG,\n }],\n \"service\": {\n \"pipelines\": [{\n \"exporters\": [\"my-workspace-logs-exporter1\"],\n \"name\": \"MyPipelineForLogs1\",\n \"processors\": [\"batch-processor1\"],\n \"receivers\": [\"syslog-receiver1\"],\n \"type\": azure_native.monitor.PipelineType.LOGS,\n }],\n },\n },\n resource_group_name=\"myResourceGroup\",\n tags={\n \"tag1\": \"A\",\n \"tag2\": \"B\",\n })\n\n```\n\n```yaml\nresources:\n pipelineGroup:\n type: azure-native:monitor:PipelineGroup\n properties:\n extendedLocation:\n name: /subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/microsoft.extendedlocation/customlocations/myTestCustomLocation\n type: CustomLocation\n location: eastus2\n pipelineGroupName: plGroup1\n properties:\n exporters:\n - azureMonitorWorkspaceLogs:\n api:\n dataCollectionEndpointUrl: https://logs-myingestion-eb0s.eastus-1.ingest.monitor.azure.com\n dataCollectionRule: dcr-00000000000000000000000000000000\n schema:\n recordMap:\n - from: body\n to: Body\n - from: severity_text\n to: SeverityText\n - from: time_unix_nano\n to: TimeGenerated\n stream: Custom-MyTableRawData_CL\n concurrency:\n batchQueueSize: 100\n workerCount: 4\n name: my-workspace-logs-exporter1\n type: AzureMonitorWorkspaceLogs\n processors:\n - name: batch-processor1\n type: Batch\n receivers:\n - name: syslog-receiver1\n syslog:\n endpoint: 0.0.0.0:514\n type: Syslog\n service:\n pipelines:\n - exporters:\n - my-workspace-logs-exporter1\n name: MyPipelineForLogs1\n processors:\n - batch-processor1\n receivers:\n - syslog-receiver1\n type: Logs\n resourceGroupName: myResourceGroup\n tags:\n tag1: A\n tag2: B\n\n```\n\n{{% /example %}}\n{{% example %}}\n### Create a PipelineGroup instance using a syslog receiver and cache.\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AzureNative = Pulumi.AzureNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var pipelineGroup = new AzureNative.Monitor.PipelineGroup(\"pipelineGroup\", new()\n {\n ExtendedLocation = new AzureNative.Monitor.Inputs.AzureResourceManagerCommonTypesExtendedLocationArgs\n {\n Name = \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/microsoft.extendedlocation/customlocations/myTestCustomLocation\",\n Type = AzureNative.Monitor.ExtendedLocationType.CustomLocation,\n },\n Location = \"eastus2\",\n PipelineGroupName = \"plGroup1\",\n Properties = new AzureNative.Monitor.Inputs.PipelineGroupPropertiesArgs\n {\n Exporters = new[]\n {\n new AzureNative.Monitor.Inputs.ExporterArgs\n {\n AzureMonitorWorkspaceLogs = new AzureNative.Monitor.Inputs.AzureMonitorWorkspaceLogsExporterArgs\n {\n Api = new AzureNative.Monitor.Inputs.AzureMonitorWorkspaceLogsApiConfigArgs\n {\n DataCollectionEndpointUrl = \"https://logs-myingestion-eb0s.eastus-1.ingest.monitor.azure.com\",\n DataCollectionRule = \"dcr-00000000000000000000000000000000\",\n Schema = new AzureNative.Monitor.Inputs.SchemaMapArgs\n {\n RecordMap = new[]\n {\n new AzureNative.Monitor.Inputs.RecordMapArgs\n {\n From = \"body\",\n To = \"Body\",\n },\n new AzureNative.Monitor.Inputs.RecordMapArgs\n {\n From = \"severity_text\",\n To = \"SeverityText\",\n },\n new AzureNative.Monitor.Inputs.RecordMapArgs\n {\n From = \"time_unix_nano\",\n To = \"TimeGenerated\",\n },\n },\n },\n Stream = \"Custom-MyTableRawData_CL\",\n },\n Cache = new AzureNative.Monitor.Inputs.CacheConfigurationArgs\n {\n MaxStorageUsage = 100,\n RetentionPeriod = 10,\n },\n Concurrency = new AzureNative.Monitor.Inputs.ConcurrencyConfigurationArgs\n {\n BatchQueueSize = 100,\n WorkerCount = 4,\n },\n },\n Name = \"my-workspace-logs-exporter1\",\n Type = AzureNative.Monitor.ExporterType.AzureMonitorWorkspaceLogs,\n },\n },\n Processors = new[]\n {\n new AzureNative.Monitor.Inputs.ProcessorArgs\n {\n Name = \"batch-processor1\",\n Type = AzureNative.Monitor.ProcessorType.Batch,\n },\n },\n Receivers = new[]\n {\n new AzureNative.Monitor.Inputs.ReceiverArgs\n {\n Name = \"syslog-receiver1\",\n Syslog = new AzureNative.Monitor.Inputs.SyslogReceiverArgs\n {\n Endpoint = \"0.0.0.0:514\",\n },\n Type = AzureNative.Monitor.ReceiverType.Syslog,\n },\n },\n Service = new AzureNative.Monitor.Inputs.ServiceArgs\n {\n Pipelines = new[]\n {\n new AzureNative.Monitor.Inputs.PipelineArgs\n {\n Exporters = new[]\n {\n \"my-workspace-logs-exporter1\",\n },\n Name = \"MyPipelineForLogs1\",\n Processors = new[]\n {\n \"batch-processor1\",\n },\n Receivers = new[]\n {\n \"syslog-receiver1\",\n },\n Type = AzureNative.Monitor.PipelineType.Logs,\n },\n },\n },\n },\n ResourceGroupName = \"myResourceGroup\",\n Tags = \n {\n { \"tag1\", \"A\" },\n { \"tag2\", \"B\" },\n },\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\tmonitor \"github.com/pulumi/pulumi-azure-native-sdk/monitor/v2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := monitor.NewPipelineGroup(ctx, \"pipelineGroup\", \u0026monitor.PipelineGroupArgs{\n\t\t\tExtendedLocation: \u0026monitor.AzureResourceManagerCommonTypesExtendedLocationArgs{\n\t\t\t\tName: pulumi.String(\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/microsoft.extendedlocation/customlocations/myTestCustomLocation\"),\n\t\t\t\tType: pulumi.String(monitor.ExtendedLocationTypeCustomLocation),\n\t\t\t},\n\t\t\tLocation: pulumi.String(\"eastus2\"),\n\t\t\tPipelineGroupName: pulumi.String(\"plGroup1\"),\n\t\t\tProperties: \u0026monitor.PipelineGroupPropertiesArgs{\n\t\t\t\tExporters: monitor.ExporterArray{\n\t\t\t\t\t\u0026monitor.ExporterArgs{\n\t\t\t\t\t\tAzureMonitorWorkspaceLogs: \u0026monitor.AzureMonitorWorkspaceLogsExporterArgs{\n\t\t\t\t\t\t\tApi: \u0026monitor.AzureMonitorWorkspaceLogsApiConfigArgs{\n\t\t\t\t\t\t\t\tDataCollectionEndpointUrl: pulumi.String(\"https://logs-myingestion-eb0s.eastus-1.ingest.monitor.azure.com\"),\n\t\t\t\t\t\t\t\tDataCollectionRule: pulumi.String(\"dcr-00000000000000000000000000000000\"),\n\t\t\t\t\t\t\t\tSchema: \u0026monitor.SchemaMapArgs{\n\t\t\t\t\t\t\t\t\tRecordMap: monitor.RecordMapArray{\n\t\t\t\t\t\t\t\t\t\t\u0026monitor.RecordMapArgs{\n\t\t\t\t\t\t\t\t\t\t\tFrom: pulumi.String(\"body\"),\n\t\t\t\t\t\t\t\t\t\t\tTo: pulumi.String(\"Body\"),\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\u0026monitor.RecordMapArgs{\n\t\t\t\t\t\t\t\t\t\t\tFrom: pulumi.String(\"severity_text\"),\n\t\t\t\t\t\t\t\t\t\t\tTo: pulumi.String(\"SeverityText\"),\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\u0026monitor.RecordMapArgs{\n\t\t\t\t\t\t\t\t\t\t\tFrom: pulumi.String(\"time_unix_nano\"),\n\t\t\t\t\t\t\t\t\t\t\tTo: pulumi.String(\"TimeGenerated\"),\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tStream: pulumi.String(\"Custom-MyTableRawData_CL\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tCache: \u0026monitor.CacheConfigurationArgs{\n\t\t\t\t\t\t\t\tMaxStorageUsage: pulumi.Int(100),\n\t\t\t\t\t\t\t\tRetentionPeriod: pulumi.Int(10),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tConcurrency: \u0026monitor.ConcurrencyConfigurationArgs{\n\t\t\t\t\t\t\t\tBatchQueueSize: pulumi.Int(100),\n\t\t\t\t\t\t\t\tWorkerCount: pulumi.Int(4),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\tName: pulumi.String(\"my-workspace-logs-exporter1\"),\n\t\t\t\t\t\tType: pulumi.String(monitor.ExporterTypeAzureMonitorWorkspaceLogs),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tProcessors: monitor.ProcessorArray{\n\t\t\t\t\t\u0026monitor.ProcessorArgs{\n\t\t\t\t\t\tName: pulumi.String(\"batch-processor1\"),\n\t\t\t\t\t\tType: pulumi.String(monitor.ProcessorTypeBatch),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tReceivers: monitor.ReceiverArray{\n\t\t\t\t\t\u0026monitor.ReceiverArgs{\n\t\t\t\t\t\tName: pulumi.String(\"syslog-receiver1\"),\n\t\t\t\t\t\tSyslog: \u0026monitor.SyslogReceiverArgs{\n\t\t\t\t\t\t\tEndpoint: pulumi.String(\"0.0.0.0:514\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tType: pulumi.String(monitor.ReceiverTypeSyslog),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tService: \u0026monitor.ServiceArgs{\n\t\t\t\t\tPipelines: monitor.PipelineArray{\n\t\t\t\t\t\t\u0026monitor.PipelineArgs{\n\t\t\t\t\t\t\tExporters: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"my-workspace-logs-exporter1\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tName: pulumi.String(\"MyPipelineForLogs1\"),\n\t\t\t\t\t\t\tProcessors: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"batch-processor1\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tReceivers: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"syslog-receiver1\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tType: pulumi.String(monitor.PipelineTypeLogs),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tResourceGroupName: pulumi.String(\"myResourceGroup\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"tag1\": pulumi.String(\"A\"),\n\t\t\t\t\"tag2\": pulumi.String(\"B\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n\n```\n\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azurenative.monitor.PipelineGroup;\nimport com.pulumi.azurenative.monitor.PipelineGroupArgs;\nimport com.pulumi.azurenative.monitor.inputs.AzureResourceManagerCommonTypesExtendedLocationArgs;\nimport com.pulumi.azurenative.monitor.inputs.PipelineGroupPropertiesArgs;\nimport com.pulumi.azurenative.monitor.inputs.ServiceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var pipelineGroup = new PipelineGroup(\"pipelineGroup\", PipelineGroupArgs.builder()\n .extendedLocation(AzureResourceManagerCommonTypesExtendedLocationArgs.builder()\n .name(\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/microsoft.extendedlocation/customlocations/myTestCustomLocation\")\n .type(\"CustomLocation\")\n .build())\n .location(\"eastus2\")\n .pipelineGroupName(\"plGroup1\")\n .properties(PipelineGroupPropertiesArgs.builder()\n .exporters(ExporterArgs.builder()\n .azureMonitorWorkspaceLogs(AzureMonitorWorkspaceLogsExporterArgs.builder()\n .api(AzureMonitorWorkspaceLogsApiConfigArgs.builder()\n .dataCollectionEndpointUrl(\"https://logs-myingestion-eb0s.eastus-1.ingest.monitor.azure.com\")\n .dataCollectionRule(\"dcr-00000000000000000000000000000000\")\n .schema(SchemaMapArgs.builder()\n .recordMap( \n RecordMapArgs.builder()\n .from(\"body\")\n .to(\"Body\")\n .build(),\n RecordMapArgs.builder()\n .from(\"severity_text\")\n .to(\"SeverityText\")\n .build(),\n RecordMapArgs.builder()\n .from(\"time_unix_nano\")\n .to(\"TimeGenerated\")\n .build())\n .build())\n .stream(\"Custom-MyTableRawData_CL\")\n .build())\n .cache(CacheConfigurationArgs.builder()\n .maxStorageUsage(100)\n .retentionPeriod(10)\n .build())\n .concurrency(ConcurrencyConfigurationArgs.builder()\n .batchQueueSize(100)\n .workerCount(4)\n .build())\n .build())\n .name(\"my-workspace-logs-exporter1\")\n .type(\"AzureMonitorWorkspaceLogs\")\n .build())\n .processors(ProcessorArgs.builder()\n .name(\"batch-processor1\")\n .type(\"Batch\")\n .build())\n .receivers(ReceiverArgs.builder()\n .name(\"syslog-receiver1\")\n .syslog(SyslogReceiverArgs.builder()\n .endpoint(\"0.0.0.0:514\")\n .build())\n .type(\"Syslog\")\n .build())\n .service(ServiceArgs.builder()\n .pipelines(PipelineArgs.builder()\n .exporters(\"my-workspace-logs-exporter1\")\n .name(\"MyPipelineForLogs1\")\n .processors(\"batch-processor1\")\n .receivers(\"syslog-receiver1\")\n .type(\"Logs\")\n .build())\n .build())\n .build())\n .resourceGroupName(\"myResourceGroup\")\n .tags(Map.ofEntries(\n Map.entry(\"tag1\", \"A\"),\n Map.entry(\"tag2\", \"B\")\n ))\n .build());\n\n }\n}\n\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure_native from \"@pulumi/azure-native\";\n\nconst pipelineGroup = new azure_native.monitor.PipelineGroup(\"pipelineGroup\", {\n extendedLocation: {\n name: \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/microsoft.extendedlocation/customlocations/myTestCustomLocation\",\n type: azure_native.monitor.ExtendedLocationType.CustomLocation,\n },\n location: \"eastus2\",\n pipelineGroupName: \"plGroup1\",\n properties: {\n exporters: [{\n azureMonitorWorkspaceLogs: {\n api: {\n dataCollectionEndpointUrl: \"https://logs-myingestion-eb0s.eastus-1.ingest.monitor.azure.com\",\n dataCollectionRule: \"dcr-00000000000000000000000000000000\",\n schema: {\n recordMap: [\n {\n from: \"body\",\n to: \"Body\",\n },\n {\n from: \"severity_text\",\n to: \"SeverityText\",\n },\n {\n from: \"time_unix_nano\",\n to: \"TimeGenerated\",\n },\n ],\n },\n stream: \"Custom-MyTableRawData_CL\",\n },\n cache: {\n maxStorageUsage: 100,\n retentionPeriod: 10,\n },\n concurrency: {\n batchQueueSize: 100,\n workerCount: 4,\n },\n },\n name: \"my-workspace-logs-exporter1\",\n type: azure_native.monitor.ExporterType.AzureMonitorWorkspaceLogs,\n }],\n processors: [{\n name: \"batch-processor1\",\n type: azure_native.monitor.ProcessorType.Batch,\n }],\n receivers: [{\n name: \"syslog-receiver1\",\n syslog: {\n endpoint: \"0.0.0.0:514\",\n },\n type: azure_native.monitor.ReceiverType.Syslog,\n }],\n service: {\n pipelines: [{\n exporters: [\"my-workspace-logs-exporter1\"],\n name: \"MyPipelineForLogs1\",\n processors: [\"batch-processor1\"],\n receivers: [\"syslog-receiver1\"],\n type: azure_native.monitor.PipelineType.Logs,\n }],\n },\n },\n resourceGroupName: \"myResourceGroup\",\n tags: {\n tag1: \"A\",\n tag2: \"B\",\n },\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_azure_native as azure_native\n\npipeline_group = azure_native.monitor.PipelineGroup(\"pipelineGroup\",\n extended_location={\n \"name\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/microsoft.extendedlocation/customlocations/myTestCustomLocation\",\n \"type\": azure_native.monitor.ExtendedLocationType.CUSTOM_LOCATION,\n },\n location=\"eastus2\",\n pipeline_group_name=\"plGroup1\",\n properties={\n \"exporters\": [{\n \"azure_monitor_workspace_logs\": {\n \"api\": {\n \"data_collection_endpoint_url\": \"https://logs-myingestion-eb0s.eastus-1.ingest.monitor.azure.com\",\n \"data_collection_rule\": \"dcr-00000000000000000000000000000000\",\n \"schema\": {\n \"record_map\": [\n {\n \"from_\": \"body\",\n \"to\": \"Body\",\n },\n {\n \"from_\": \"severity_text\",\n \"to\": \"SeverityText\",\n },\n {\n \"from_\": \"time_unix_nano\",\n \"to\": \"TimeGenerated\",\n },\n ],\n },\n \"stream\": \"Custom-MyTableRawData_CL\",\n },\n \"cache\": {\n \"max_storage_usage\": 100,\n \"retention_period\": 10,\n },\n \"concurrency\": {\n \"batch_queue_size\": 100,\n \"worker_count\": 4,\n },\n },\n \"name\": \"my-workspace-logs-exporter1\",\n \"type\": azure_native.monitor.ExporterType.AZURE_MONITOR_WORKSPACE_LOGS,\n }],\n \"processors\": [{\n \"name\": \"batch-processor1\",\n \"type\": azure_native.monitor.ProcessorType.BATCH,\n }],\n \"receivers\": [{\n \"name\": \"syslog-receiver1\",\n \"syslog\": {\n \"endpoint\": \"0.0.0.0:514\",\n },\n \"type\": azure_native.monitor.ReceiverType.SYSLOG,\n }],\n \"service\": {\n \"pipelines\": [{\n \"exporters\": [\"my-workspace-logs-exporter1\"],\n \"name\": \"MyPipelineForLogs1\",\n \"processors\": [\"batch-processor1\"],\n \"receivers\": [\"syslog-receiver1\"],\n \"type\": azure_native.monitor.PipelineType.LOGS,\n }],\n },\n },\n resource_group_name=\"myResourceGroup\",\n tags={\n \"tag1\": \"A\",\n \"tag2\": \"B\",\n })\n\n```\n\n```yaml\nresources:\n pipelineGroup:\n type: azure-native:monitor:PipelineGroup\n properties:\n extendedLocation:\n name: /subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/microsoft.extendedlocation/customlocations/myTestCustomLocation\n type: CustomLocation\n location: eastus2\n pipelineGroupName: plGroup1\n properties:\n exporters:\n - azureMonitorWorkspaceLogs:\n api:\n dataCollectionEndpointUrl: https://logs-myingestion-eb0s.eastus-1.ingest.monitor.azure.com\n dataCollectionRule: dcr-00000000000000000000000000000000\n schema:\n recordMap:\n - from: body\n to: Body\n - from: severity_text\n to: SeverityText\n - from: time_unix_nano\n to: TimeGenerated\n stream: Custom-MyTableRawData_CL\n cache:\n maxStorageUsage: 100\n retentionPeriod: 10\n concurrency:\n batchQueueSize: 100\n workerCount: 4\n name: my-workspace-logs-exporter1\n type: AzureMonitorWorkspaceLogs\n processors:\n - name: batch-processor1\n type: Batch\n receivers:\n - name: syslog-receiver1\n syslog:\n endpoint: 0.0.0.0:514\n type: Syslog\n service:\n pipelines:\n - exporters:\n - my-workspace-logs-exporter1\n name: MyPipelineForLogs1\n processors:\n - batch-processor1\n receivers:\n - syslog-receiver1\n type: Logs\n resourceGroupName: myResourceGroup\n tags:\n tag1: A\n tag2: B\n\n```\n\n{{% /example %}}\n{{% example %}}\n### Create a PipelineGroup instance using a syslog receiver and networking configurations.\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AzureNative = Pulumi.AzureNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var pipelineGroup = new AzureNative.Monitor.PipelineGroup(\"pipelineGroup\", new()\n {\n ExtendedLocation = new AzureNative.Monitor.Inputs.AzureResourceManagerCommonTypesExtendedLocationArgs\n {\n Name = \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/microsoft.extendedlocation/customlocations/myTestCustomLocation\",\n Type = AzureNative.Monitor.ExtendedLocationType.CustomLocation,\n },\n Location = \"eastus2\",\n PipelineGroupName = \"plGroup1\",\n Properties = new AzureNative.Monitor.Inputs.PipelineGroupPropertiesArgs\n {\n Exporters = new[]\n {\n new AzureNative.Monitor.Inputs.ExporterArgs\n {\n AzureMonitorWorkspaceLogs = new AzureNative.Monitor.Inputs.AzureMonitorWorkspaceLogsExporterArgs\n {\n Api = new AzureNative.Monitor.Inputs.AzureMonitorWorkspaceLogsApiConfigArgs\n {\n DataCollectionEndpointUrl = \"https://logs-myingestion-eb0s.eastus-1.ingest.monitor.azure.com\",\n DataCollectionRule = \"dcr-00000000000000000000000000000000\",\n Schema = new AzureNative.Monitor.Inputs.SchemaMapArgs\n {\n RecordMap = new[]\n {\n new AzureNative.Monitor.Inputs.RecordMapArgs\n {\n From = \"body\",\n To = \"Body\",\n },\n new AzureNative.Monitor.Inputs.RecordMapArgs\n {\n From = \"severity_text\",\n To = \"SeverityText\",\n },\n new AzureNative.Monitor.Inputs.RecordMapArgs\n {\n From = \"time_unix_nano\",\n To = \"TimeGenerated\",\n },\n },\n },\n Stream = \"Custom-MyTableRawData_CL\",\n },\n Concurrency = new AzureNative.Monitor.Inputs.ConcurrencyConfigurationArgs\n {\n BatchQueueSize = 100,\n WorkerCount = 4,\n },\n },\n Name = \"my-workspace-logs-exporter1\",\n Type = AzureNative.Monitor.ExporterType.AzureMonitorWorkspaceLogs,\n },\n },\n NetworkingConfigurations = new[]\n {\n new AzureNative.Monitor.Inputs.NetworkingConfigurationArgs\n {\n ExternalNetworkingMode = AzureNative.Monitor.ExternalNetworkingMode.LoadBalancerOnly,\n Host = \"azuremonitorpipeline.contoso.com\",\n Routes = new[]\n {\n new AzureNative.Monitor.Inputs.NetworkingRouteArgs\n {\n Receiver = \"syslog-receiver1\",\n },\n },\n },\n },\n Processors = new() { },\n Receivers = new[]\n {\n new AzureNative.Monitor.Inputs.ReceiverArgs\n {\n Name = \"syslog-receiver1\",\n Syslog = new AzureNative.Monitor.Inputs.SyslogReceiverArgs\n {\n Endpoint = \"0.0.0.0:514\",\n },\n Type = AzureNative.Monitor.ReceiverType.Syslog,\n },\n },\n Service = new AzureNative.Monitor.Inputs.ServiceArgs\n {\n Pipelines = new[]\n {\n new AzureNative.Monitor.Inputs.PipelineArgs\n {\n Exporters = new[]\n {\n \"my-workspace-logs-exporter1\",\n },\n Name = \"MyPipelineForLogs1\",\n Processors = new() { },\n Receivers = new[]\n {\n \"syslog-receiver1\",\n },\n Type = AzureNative.Monitor.PipelineType.Logs,\n },\n },\n },\n },\n ResourceGroupName = \"myResourceGroup\",\n Tags = \n {\n { \"tag1\", \"A\" },\n { \"tag2\", \"B\" },\n },\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\tmonitor \"github.com/pulumi/pulumi-azure-native-sdk/monitor/v2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := monitor.NewPipelineGroup(ctx, \"pipelineGroup\", \u0026monitor.PipelineGroupArgs{\n\t\t\tExtendedLocation: \u0026monitor.AzureResourceManagerCommonTypesExtendedLocationArgs{\n\t\t\t\tName: pulumi.String(\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/microsoft.extendedlocation/customlocations/myTestCustomLocation\"),\n\t\t\t\tType: pulumi.String(monitor.ExtendedLocationTypeCustomLocation),\n\t\t\t},\n\t\t\tLocation: pulumi.String(\"eastus2\"),\n\t\t\tPipelineGroupName: pulumi.String(\"plGroup1\"),\n\t\t\tProperties: \u0026monitor.PipelineGroupPropertiesArgs{\n\t\t\t\tExporters: monitor.ExporterArray{\n\t\t\t\t\t\u0026monitor.ExporterArgs{\n\t\t\t\t\t\tAzureMonitorWorkspaceLogs: \u0026monitor.AzureMonitorWorkspaceLogsExporterArgs{\n\t\t\t\t\t\t\tApi: \u0026monitor.AzureMonitorWorkspaceLogsApiConfigArgs{\n\t\t\t\t\t\t\t\tDataCollectionEndpointUrl: pulumi.String(\"https://logs-myingestion-eb0s.eastus-1.ingest.monitor.azure.com\"),\n\t\t\t\t\t\t\t\tDataCollectionRule: pulumi.String(\"dcr-00000000000000000000000000000000\"),\n\t\t\t\t\t\t\t\tSchema: \u0026monitor.SchemaMapArgs{\n\t\t\t\t\t\t\t\t\tRecordMap: monitor.RecordMapArray{\n\t\t\t\t\t\t\t\t\t\t\u0026monitor.RecordMapArgs{\n\t\t\t\t\t\t\t\t\t\t\tFrom: pulumi.String(\"body\"),\n\t\t\t\t\t\t\t\t\t\t\tTo: pulumi.String(\"Body\"),\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\u0026monitor.RecordMapArgs{\n\t\t\t\t\t\t\t\t\t\t\tFrom: pulumi.String(\"severity_text\"),\n\t\t\t\t\t\t\t\t\t\t\tTo: pulumi.String(\"SeverityText\"),\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\u0026monitor.RecordMapArgs{\n\t\t\t\t\t\t\t\t\t\t\tFrom: pulumi.String(\"time_unix_nano\"),\n\t\t\t\t\t\t\t\t\t\t\tTo: pulumi.String(\"TimeGenerated\"),\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tStream: pulumi.String(\"Custom-MyTableRawData_CL\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tConcurrency: \u0026monitor.ConcurrencyConfigurationArgs{\n\t\t\t\t\t\t\t\tBatchQueueSize: pulumi.Int(100),\n\t\t\t\t\t\t\t\tWorkerCount: pulumi.Int(4),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\tName: pulumi.String(\"my-workspace-logs-exporter1\"),\n\t\t\t\t\t\tType: pulumi.String(monitor.ExporterTypeAzureMonitorWorkspaceLogs),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tNetworkingConfigurations: monitor.NetworkingConfigurationArray{\n\t\t\t\t\t\u0026monitor.NetworkingConfigurationArgs{\n\t\t\t\t\t\tExternalNetworkingMode: pulumi.String(monitor.ExternalNetworkingModeLoadBalancerOnly),\n\t\t\t\t\t\tHost: pulumi.String(\"azuremonitorpipeline.contoso.com\"),\n\t\t\t\t\t\tRoutes: monitor.NetworkingRouteArray{\n\t\t\t\t\t\t\t\u0026monitor.NetworkingRouteArgs{\n\t\t\t\t\t\t\t\tReceiver: pulumi.String(\"syslog-receiver1\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tProcessors: monitor.ProcessorArray{},\n\t\t\t\tReceivers: monitor.ReceiverArray{\n\t\t\t\t\t\u0026monitor.ReceiverArgs{\n\t\t\t\t\t\tName: pulumi.String(\"syslog-receiver1\"),\n\t\t\t\t\t\tSyslog: \u0026monitor.SyslogReceiverArgs{\n\t\t\t\t\t\t\tEndpoint: pulumi.String(\"0.0.0.0:514\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tType: pulumi.String(monitor.ReceiverTypeSyslog),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tService: \u0026monitor.ServiceArgs{\n\t\t\t\t\tPipelines: monitor.PipelineArray{\n\t\t\t\t\t\t\u0026monitor.PipelineArgs{\n\t\t\t\t\t\t\tExporters: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"my-workspace-logs-exporter1\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tName: pulumi.String(\"MyPipelineForLogs1\"),\n\t\t\t\t\t\t\tProcessors: pulumi.StringArray{},\n\t\t\t\t\t\t\tReceivers: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"syslog-receiver1\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tType: pulumi.String(monitor.PipelineTypeLogs),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tResourceGroupName: pulumi.String(\"myResourceGroup\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"tag1\": pulumi.String(\"A\"),\n\t\t\t\t\"tag2\": pulumi.String(\"B\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n\n```\n\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azurenative.monitor.PipelineGroup;\nimport com.pulumi.azurenative.monitor.PipelineGroupArgs;\nimport com.pulumi.azurenative.monitor.inputs.AzureResourceManagerCommonTypesExtendedLocationArgs;\nimport com.pulumi.azurenative.monitor.inputs.PipelineGroupPropertiesArgs;\nimport com.pulumi.azurenative.monitor.inputs.ServiceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var pipelineGroup = new PipelineGroup(\"pipelineGroup\", PipelineGroupArgs.builder()\n .extendedLocation(AzureResourceManagerCommonTypesExtendedLocationArgs.builder()\n .name(\"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/microsoft.extendedlocation/customlocations/myTestCustomLocation\")\n .type(\"CustomLocation\")\n .build())\n .location(\"eastus2\")\n .pipelineGroupName(\"plGroup1\")\n .properties(PipelineGroupPropertiesArgs.builder()\n .exporters(ExporterArgs.builder()\n .azureMonitorWorkspaceLogs(AzureMonitorWorkspaceLogsExporterArgs.builder()\n .api(AzureMonitorWorkspaceLogsApiConfigArgs.builder()\n .dataCollectionEndpointUrl(\"https://logs-myingestion-eb0s.eastus-1.ingest.monitor.azure.com\")\n .dataCollectionRule(\"dcr-00000000000000000000000000000000\")\n .schema(SchemaMapArgs.builder()\n .recordMap( \n RecordMapArgs.builder()\n .from(\"body\")\n .to(\"Body\")\n .build(),\n RecordMapArgs.builder()\n .from(\"severity_text\")\n .to(\"SeverityText\")\n .build(),\n RecordMapArgs.builder()\n .from(\"time_unix_nano\")\n .to(\"TimeGenerated\")\n .build())\n .build())\n .stream(\"Custom-MyTableRawData_CL\")\n .build())\n .concurrency(ConcurrencyConfigurationArgs.builder()\n .batchQueueSize(100)\n .workerCount(4)\n .build())\n .build())\n .name(\"my-workspace-logs-exporter1\")\n .type(\"AzureMonitorWorkspaceLogs\")\n .build())\n .networkingConfigurations(NetworkingConfigurationArgs.builder()\n .externalNetworkingMode(\"LoadBalancerOnly\")\n .host(\"azuremonitorpipeline.contoso.com\")\n .routes(NetworkingRouteArgs.builder()\n .receiver(\"syslog-receiver1\")\n .build())\n .build())\n .processors()\n .receivers(ReceiverArgs.builder()\n .name(\"syslog-receiver1\")\n .syslog(SyslogReceiverArgs.builder()\n .endpoint(\"0.0.0.0:514\")\n .build())\n .type(\"Syslog\")\n .build())\n .service(ServiceArgs.builder()\n .pipelines(PipelineArgs.builder()\n .exporters(\"my-workspace-logs-exporter1\")\n .name(\"MyPipelineForLogs1\")\n .processors()\n .receivers(\"syslog-receiver1\")\n .type(\"Logs\")\n .build())\n .build())\n .build())\n .resourceGroupName(\"myResourceGroup\")\n .tags(Map.ofEntries(\n Map.entry(\"tag1\", \"A\"),\n Map.entry(\"tag2\", \"B\")\n ))\n .build());\n\n }\n}\n\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure_native from \"@pulumi/azure-native\";\n\nconst pipelineGroup = new azure_native.monitor.PipelineGroup(\"pipelineGroup\", {\n extendedLocation: {\n name: \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/microsoft.extendedlocation/customlocations/myTestCustomLocation\",\n type: azure_native.monitor.ExtendedLocationType.CustomLocation,\n },\n location: \"eastus2\",\n pipelineGroupName: \"plGroup1\",\n properties: {\n exporters: [{\n azureMonitorWorkspaceLogs: {\n api: {\n dataCollectionEndpointUrl: \"https://logs-myingestion-eb0s.eastus-1.ingest.monitor.azure.com\",\n dataCollectionRule: \"dcr-00000000000000000000000000000000\",\n schema: {\n recordMap: [\n {\n from: \"body\",\n to: \"Body\",\n },\n {\n from: \"severity_text\",\n to: \"SeverityText\",\n },\n {\n from: \"time_unix_nano\",\n to: \"TimeGenerated\",\n },\n ],\n },\n stream: \"Custom-MyTableRawData_CL\",\n },\n concurrency: {\n batchQueueSize: 100,\n workerCount: 4,\n },\n },\n name: \"my-workspace-logs-exporter1\",\n type: azure_native.monitor.ExporterType.AzureMonitorWorkspaceLogs,\n }],\n networkingConfigurations: [{\n externalNetworkingMode: azure_native.monitor.ExternalNetworkingMode.LoadBalancerOnly,\n host: \"azuremonitorpipeline.contoso.com\",\n routes: [{\n receiver: \"syslog-receiver1\",\n }],\n }],\n processors: [],\n receivers: [{\n name: \"syslog-receiver1\",\n syslog: {\n endpoint: \"0.0.0.0:514\",\n },\n type: azure_native.monitor.ReceiverType.Syslog,\n }],\n service: {\n pipelines: [{\n exporters: [\"my-workspace-logs-exporter1\"],\n name: \"MyPipelineForLogs1\",\n processors: [],\n receivers: [\"syslog-receiver1\"],\n type: azure_native.monitor.PipelineType.Logs,\n }],\n },\n },\n resourceGroupName: \"myResourceGroup\",\n tags: {\n tag1: \"A\",\n tag2: \"B\",\n },\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_azure_native as azure_native\n\npipeline_group = azure_native.monitor.PipelineGroup(\"pipelineGroup\",\n extended_location={\n \"name\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/microsoft.extendedlocation/customlocations/myTestCustomLocation\",\n \"type\": azure_native.monitor.ExtendedLocationType.CUSTOM_LOCATION,\n },\n location=\"eastus2\",\n pipeline_group_name=\"plGroup1\",\n properties={\n \"exporters\": [{\n \"azure_monitor_workspace_logs\": {\n \"api\": {\n \"data_collection_endpoint_url\": \"https://logs-myingestion-eb0s.eastus-1.ingest.monitor.azure.com\",\n \"data_collection_rule\": \"dcr-00000000000000000000000000000000\",\n \"schema\": {\n \"record_map\": [\n {\n \"from_\": \"body\",\n \"to\": \"Body\",\n },\n {\n \"from_\": \"severity_text\",\n \"to\": \"SeverityText\",\n },\n {\n \"from_\": \"time_unix_nano\",\n \"to\": \"TimeGenerated\",\n },\n ],\n },\n \"stream\": \"Custom-MyTableRawData_CL\",\n },\n \"concurrency\": {\n \"batch_queue_size\": 100,\n \"worker_count\": 4,\n },\n },\n \"name\": \"my-workspace-logs-exporter1\",\n \"type\": azure_native.monitor.ExporterType.AZURE_MONITOR_WORKSPACE_LOGS,\n }],\n \"networking_configurations\": [{\n \"external_networking_mode\": azure_native.monitor.ExternalNetworkingMode.LOAD_BALANCER_ONLY,\n \"host\": \"azuremonitorpipeline.contoso.com\",\n \"routes\": [{\n \"receiver\": \"syslog-receiver1\",\n }],\n }],\n \"processors\": [],\n \"receivers\": [{\n \"name\": \"syslog-receiver1\",\n \"syslog\": {\n \"endpoint\": \"0.0.0.0:514\",\n },\n \"type\": azure_native.monitor.ReceiverType.SYSLOG,\n }],\n \"service\": {\n \"pipelines\": [{\n \"exporters\": [\"my-workspace-logs-exporter1\"],\n \"name\": \"MyPipelineForLogs1\",\n \"processors\": [],\n \"receivers\": [\"syslog-receiver1\"],\n \"type\": azure_native.monitor.PipelineType.LOGS,\n }],\n },\n },\n resource_group_name=\"myResourceGroup\",\n tags={\n \"tag1\": \"A\",\n \"tag2\": \"B\",\n })\n\n```\n\n```yaml\nresources:\n pipelineGroup:\n type: azure-native:monitor:PipelineGroup\n properties:\n extendedLocation:\n name: /subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/microsoft.extendedlocation/customlocations/myTestCustomLocation\n type: CustomLocation\n location: eastus2\n pipelineGroupName: plGroup1\n properties:\n exporters:\n - azureMonitorWorkspaceLogs:\n api:\n dataCollectionEndpointUrl: https://logs-myingestion-eb0s.eastus-1.ingest.monitor.azure.com\n dataCollectionRule: dcr-00000000000000000000000000000000\n schema:\n recordMap:\n - from: body\n to: Body\n - from: severity_text\n to: SeverityText\n - from: time_unix_nano\n to: TimeGenerated\n stream: Custom-MyTableRawData_CL\n concurrency:\n batchQueueSize: 100\n workerCount: 4\n name: my-workspace-logs-exporter1\n type: AzureMonitorWorkspaceLogs\n networkingConfigurations:\n - externalNetworkingMode: LoadBalancerOnly\n host: azuremonitorpipeline.contoso.com\n routes:\n - receiver: syslog-receiver1\n processors: []\n receivers:\n - name: syslog-receiver1\n syslog:\n endpoint: 0.0.0.0:514\n type: Syslog\n service:\n pipelines:\n - exporters:\n - my-workspace-logs-exporter1\n name: MyPipelineForLogs1\n processors: []\n receivers:\n - syslog-receiver1\n type: Logs\n resourceGroupName: myResourceGroup\n tags:\n tag1: A\n tag2: B\n\n```\n\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nAn existing resource can be imported using its type token, name, and identifier, e.g.\n\n```sh\n$ pulumi import azure-native:monitor:PipelineGroup plGroup1 /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Monitor/pipelineGroups/{pipelineGroupName} \n```\n", "properties": { @@ -767912,6 +769530,123 @@ } ] }, + "azure-native:monitor:SubscriptionDiagnosticSetting": { + "description": "The subscription diagnostic setting resource.\n\nUses Azure REST API version 2021-05-01-preview.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### Creates or Updates the subscription diagnostic setting\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AzureNative = Pulumi.AzureNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var subscriptionDiagnosticSetting = new AzureNative.Monitor.SubscriptionDiagnosticSetting(\"subscriptionDiagnosticSetting\", new()\n {\n EventHubAuthorizationRuleId = \"/subscriptions/fb9f25f9-5785-4510-a38f-a62f188eb9f8/resourceGroups/montest/providers/microsoft.eventhub/namespaces/mynamespace/authorizationrules/myrule\",\n EventHubName = \"myeventhub\",\n Logs = new[]\n {\n new AzureNative.Monitor.Inputs.SubscriptionLogSettingsArgs\n {\n CategoryGroup = \"allLogs\",\n Enabled = true,\n },\n },\n MarketplacePartnerId = \"/subscriptions/abcdeabc-1234-1234-ab12-123a1234567a/resourceGroups/test-rg/providers/Microsoft.Datadog/monitors/dd1\",\n Name = \"ds4\",\n StorageAccountId = \"/subscriptions/df602c9c-7aa0-407d-a6fb-eb20c8bd1192/resourceGroups/apptest/providers/Microsoft.Storage/storageAccounts/appteststorage1\",\n WorkspaceId = \"\",\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\tmonitor \"github.com/pulumi/pulumi-azure-native-sdk/monitor/v2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := monitor.NewSubscriptionDiagnosticSetting(ctx, \"subscriptionDiagnosticSetting\", \u0026monitor.SubscriptionDiagnosticSettingArgs{\n\t\t\tEventHubAuthorizationRuleId: pulumi.String(\"/subscriptions/fb9f25f9-5785-4510-a38f-a62f188eb9f8/resourceGroups/montest/providers/microsoft.eventhub/namespaces/mynamespace/authorizationrules/myrule\"),\n\t\t\tEventHubName: pulumi.String(\"myeventhub\"),\n\t\t\tLogs: monitor.SubscriptionLogSettingsArray{\n\t\t\t\t\u0026monitor.SubscriptionLogSettingsArgs{\n\t\t\t\t\tCategoryGroup: pulumi.String(\"allLogs\"),\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t},\n\t\t\tMarketplacePartnerId: pulumi.String(\"/subscriptions/abcdeabc-1234-1234-ab12-123a1234567a/resourceGroups/test-rg/providers/Microsoft.Datadog/monitors/dd1\"),\n\t\t\tName: pulumi.String(\"ds4\"),\n\t\t\tStorageAccountId: pulumi.String(\"/subscriptions/df602c9c-7aa0-407d-a6fb-eb20c8bd1192/resourceGroups/apptest/providers/Microsoft.Storage/storageAccounts/appteststorage1\"),\n\t\t\tWorkspaceId: pulumi.String(\"\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n\n```\n\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azurenative.monitor.SubscriptionDiagnosticSetting;\nimport com.pulumi.azurenative.monitor.SubscriptionDiagnosticSettingArgs;\nimport com.pulumi.azurenative.monitor.inputs.SubscriptionLogSettingsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var subscriptionDiagnosticSetting = new SubscriptionDiagnosticSetting(\"subscriptionDiagnosticSetting\", SubscriptionDiagnosticSettingArgs.builder()\n .eventHubAuthorizationRuleId(\"/subscriptions/fb9f25f9-5785-4510-a38f-a62f188eb9f8/resourceGroups/montest/providers/microsoft.eventhub/namespaces/mynamespace/authorizationrules/myrule\")\n .eventHubName(\"myeventhub\")\n .logs(SubscriptionLogSettingsArgs.builder()\n .categoryGroup(\"allLogs\")\n .enabled(true)\n .build())\n .marketplacePartnerId(\"/subscriptions/abcdeabc-1234-1234-ab12-123a1234567a/resourceGroups/test-rg/providers/Microsoft.Datadog/monitors/dd1\")\n .name(\"ds4\")\n .storageAccountId(\"/subscriptions/df602c9c-7aa0-407d-a6fb-eb20c8bd1192/resourceGroups/apptest/providers/Microsoft.Storage/storageAccounts/appteststorage1\")\n .workspaceId(\"\")\n .build());\n\n }\n}\n\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure_native from \"@pulumi/azure-native\";\n\nconst subscriptionDiagnosticSetting = new azure_native.monitor.SubscriptionDiagnosticSetting(\"subscriptionDiagnosticSetting\", {\n eventHubAuthorizationRuleId: \"/subscriptions/fb9f25f9-5785-4510-a38f-a62f188eb9f8/resourceGroups/montest/providers/microsoft.eventhub/namespaces/mynamespace/authorizationrules/myrule\",\n eventHubName: \"myeventhub\",\n logs: [{\n categoryGroup: \"allLogs\",\n enabled: true,\n }],\n marketplacePartnerId: \"/subscriptions/abcdeabc-1234-1234-ab12-123a1234567a/resourceGroups/test-rg/providers/Microsoft.Datadog/monitors/dd1\",\n name: \"ds4\",\n storageAccountId: \"/subscriptions/df602c9c-7aa0-407d-a6fb-eb20c8bd1192/resourceGroups/apptest/providers/Microsoft.Storage/storageAccounts/appteststorage1\",\n workspaceId: \"\",\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_azure_native as azure_native\n\nsubscription_diagnostic_setting = azure_native.monitor.SubscriptionDiagnosticSetting(\"subscriptionDiagnosticSetting\",\n event_hub_authorization_rule_id=\"/subscriptions/fb9f25f9-5785-4510-a38f-a62f188eb9f8/resourceGroups/montest/providers/microsoft.eventhub/namespaces/mynamespace/authorizationrules/myrule\",\n event_hub_name=\"myeventhub\",\n logs=[{\n \"category_group\": \"allLogs\",\n \"enabled\": True,\n }],\n marketplace_partner_id=\"/subscriptions/abcdeabc-1234-1234-ab12-123a1234567a/resourceGroups/test-rg/providers/Microsoft.Datadog/monitors/dd1\",\n name=\"ds4\",\n storage_account_id=\"/subscriptions/df602c9c-7aa0-407d-a6fb-eb20c8bd1192/resourceGroups/apptest/providers/Microsoft.Storage/storageAccounts/appteststorage1\",\n workspace_id=\"\")\n\n```\n\n```yaml\nresources:\n subscriptionDiagnosticSetting:\n type: azure-native:monitor:SubscriptionDiagnosticSetting\n properties:\n eventHubAuthorizationRuleId: /subscriptions/fb9f25f9-5785-4510-a38f-a62f188eb9f8/resourceGroups/montest/providers/microsoft.eventhub/namespaces/mynamespace/authorizationrules/myrule\n eventHubName: myeventhub\n logs:\n - categoryGroup: allLogs\n enabled: true\n marketplacePartnerId: /subscriptions/abcdeabc-1234-1234-ab12-123a1234567a/resourceGroups/test-rg/providers/Microsoft.Datadog/monitors/dd1\n name: ds4\n storageAccountId: /subscriptions/df602c9c-7aa0-407d-a6fb-eb20c8bd1192/resourceGroups/apptest/providers/Microsoft.Storage/storageAccounts/appteststorage1\n workspaceId: \"\"\n\n```\n\n{{% /example %}}\n{{% example %}}\n### Creates or Updates the subscription diagnostic setting for category\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AzureNative = Pulumi.AzureNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var subscriptionDiagnosticSetting = new AzureNative.Monitor.SubscriptionDiagnosticSetting(\"subscriptionDiagnosticSetting\", new()\n {\n EventHubAuthorizationRuleId = \"/subscriptions/fb9f25f9-5785-4510-a38f-a62f188eb9f8/resourceGroups/montest/providers/microsoft.eventhub/namespaces/mynamespace/authorizationrules/myrule\",\n EventHubName = \"myeventhub\",\n Logs = new[]\n {\n new AzureNative.Monitor.Inputs.SubscriptionLogSettingsArgs\n {\n Category = \"Security\",\n Enabled = true,\n },\n },\n MarketplacePartnerId = \"/subscriptions/abcdeabc-1234-1234-ab12-123a1234567a/resourceGroups/test-rg/providers/Microsoft.Datadog/monitors/dd1\",\n Name = \"ds4\",\n StorageAccountId = \"/subscriptions/df602c9c-7aa0-407d-a6fb-eb20c8bd1192/resourceGroups/apptest/providers/Microsoft.Storage/storageAccounts/appteststorage1\",\n WorkspaceId = \"\",\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\tmonitor \"github.com/pulumi/pulumi-azure-native-sdk/monitor/v2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := monitor.NewSubscriptionDiagnosticSetting(ctx, \"subscriptionDiagnosticSetting\", \u0026monitor.SubscriptionDiagnosticSettingArgs{\n\t\t\tEventHubAuthorizationRuleId: pulumi.String(\"/subscriptions/fb9f25f9-5785-4510-a38f-a62f188eb9f8/resourceGroups/montest/providers/microsoft.eventhub/namespaces/mynamespace/authorizationrules/myrule\"),\n\t\t\tEventHubName: pulumi.String(\"myeventhub\"),\n\t\t\tLogs: monitor.SubscriptionLogSettingsArray{\n\t\t\t\t\u0026monitor.SubscriptionLogSettingsArgs{\n\t\t\t\t\tCategory: pulumi.String(\"Security\"),\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t},\n\t\t\tMarketplacePartnerId: pulumi.String(\"/subscriptions/abcdeabc-1234-1234-ab12-123a1234567a/resourceGroups/test-rg/providers/Microsoft.Datadog/monitors/dd1\"),\n\t\t\tName: pulumi.String(\"ds4\"),\n\t\t\tStorageAccountId: pulumi.String(\"/subscriptions/df602c9c-7aa0-407d-a6fb-eb20c8bd1192/resourceGroups/apptest/providers/Microsoft.Storage/storageAccounts/appteststorage1\"),\n\t\t\tWorkspaceId: pulumi.String(\"\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n\n```\n\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azurenative.monitor.SubscriptionDiagnosticSetting;\nimport com.pulumi.azurenative.monitor.SubscriptionDiagnosticSettingArgs;\nimport com.pulumi.azurenative.monitor.inputs.SubscriptionLogSettingsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var subscriptionDiagnosticSetting = new SubscriptionDiagnosticSetting(\"subscriptionDiagnosticSetting\", SubscriptionDiagnosticSettingArgs.builder()\n .eventHubAuthorizationRuleId(\"/subscriptions/fb9f25f9-5785-4510-a38f-a62f188eb9f8/resourceGroups/montest/providers/microsoft.eventhub/namespaces/mynamespace/authorizationrules/myrule\")\n .eventHubName(\"myeventhub\")\n .logs(SubscriptionLogSettingsArgs.builder()\n .category(\"Security\")\n .enabled(true)\n .build())\n .marketplacePartnerId(\"/subscriptions/abcdeabc-1234-1234-ab12-123a1234567a/resourceGroups/test-rg/providers/Microsoft.Datadog/monitors/dd1\")\n .name(\"ds4\")\n .storageAccountId(\"/subscriptions/df602c9c-7aa0-407d-a6fb-eb20c8bd1192/resourceGroups/apptest/providers/Microsoft.Storage/storageAccounts/appteststorage1\")\n .workspaceId(\"\")\n .build());\n\n }\n}\n\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure_native from \"@pulumi/azure-native\";\n\nconst subscriptionDiagnosticSetting = new azure_native.monitor.SubscriptionDiagnosticSetting(\"subscriptionDiagnosticSetting\", {\n eventHubAuthorizationRuleId: \"/subscriptions/fb9f25f9-5785-4510-a38f-a62f188eb9f8/resourceGroups/montest/providers/microsoft.eventhub/namespaces/mynamespace/authorizationrules/myrule\",\n eventHubName: \"myeventhub\",\n logs: [{\n category: \"Security\",\n enabled: true,\n }],\n marketplacePartnerId: \"/subscriptions/abcdeabc-1234-1234-ab12-123a1234567a/resourceGroups/test-rg/providers/Microsoft.Datadog/monitors/dd1\",\n name: \"ds4\",\n storageAccountId: \"/subscriptions/df602c9c-7aa0-407d-a6fb-eb20c8bd1192/resourceGroups/apptest/providers/Microsoft.Storage/storageAccounts/appteststorage1\",\n workspaceId: \"\",\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_azure_native as azure_native\n\nsubscription_diagnostic_setting = azure_native.monitor.SubscriptionDiagnosticSetting(\"subscriptionDiagnosticSetting\",\n event_hub_authorization_rule_id=\"/subscriptions/fb9f25f9-5785-4510-a38f-a62f188eb9f8/resourceGroups/montest/providers/microsoft.eventhub/namespaces/mynamespace/authorizationrules/myrule\",\n event_hub_name=\"myeventhub\",\n logs=[{\n \"category\": \"Security\",\n \"enabled\": True,\n }],\n marketplace_partner_id=\"/subscriptions/abcdeabc-1234-1234-ab12-123a1234567a/resourceGroups/test-rg/providers/Microsoft.Datadog/monitors/dd1\",\n name=\"ds4\",\n storage_account_id=\"/subscriptions/df602c9c-7aa0-407d-a6fb-eb20c8bd1192/resourceGroups/apptest/providers/Microsoft.Storage/storageAccounts/appteststorage1\",\n workspace_id=\"\")\n\n```\n\n```yaml\nresources:\n subscriptionDiagnosticSetting:\n type: azure-native:monitor:SubscriptionDiagnosticSetting\n properties:\n eventHubAuthorizationRuleId: /subscriptions/fb9f25f9-5785-4510-a38f-a62f188eb9f8/resourceGroups/montest/providers/microsoft.eventhub/namespaces/mynamespace/authorizationrules/myrule\n eventHubName: myeventhub\n logs:\n - category: Security\n enabled: true\n marketplacePartnerId: /subscriptions/abcdeabc-1234-1234-ab12-123a1234567a/resourceGroups/test-rg/providers/Microsoft.Datadog/monitors/dd1\n name: ds4\n storageAccountId: /subscriptions/df602c9c-7aa0-407d-a6fb-eb20c8bd1192/resourceGroups/apptest/providers/Microsoft.Storage/storageAccounts/appteststorage1\n workspaceId: \"\"\n\n```\n\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nAn existing resource can be imported using its type token, name, and identifier, e.g.\n\n```sh\n$ pulumi import azure-native:monitor:SubscriptionDiagnosticSetting ds4 /subscriptions/{subscriptionId}/providers/Microsoft.Insights/diagnosticSettings/{name} \n```\n", + "properties": { + "azureApiVersion": { + "type": "string", + "description": "The Azure API version of the resource." + }, + "eventHubAuthorizationRuleId": { + "type": "string", + "description": "The resource Id for the event hub authorization rule." + }, + "eventHubName": { + "type": "string", + "description": "The name of the event hub. If none is specified, the default event hub will be selected." + }, + "logs": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/types/azure-native:monitor:SubscriptionLogSettingsResponse" + }, + "description": "The list of logs settings." + }, + "marketplacePartnerId": { + "type": "string", + "description": "The full ARM resource ID of the Marketplace resource to which you would like to send Diagnostic Logs." + }, + "name": { + "type": "string", + "description": "The name of the resource" + }, + "serviceBusRuleId": { + "type": "string", + "description": "The service bus rule Id of the diagnostic setting. This is here to maintain backwards compatibility." + }, + "storageAccountId": { + "type": "string", + "description": "The resource ID of the storage account to which you would like to send Diagnostic Logs." + }, + "systemData": { + "type": "object", + "$ref": "#/types/azure-native:monitor:SystemDataResponse", + "description": "The system metadata related to this resource." + }, + "type": { + "type": "string", + "description": "The type of the resource. E.g. \"Microsoft.Compute/virtualMachines\" or \"Microsoft.Storage/storageAccounts\"" + }, + "workspaceId": { + "type": "string", + "description": "The full ARM resource ID of the Log Analytics workspace to which you would like to send Diagnostic Logs. Example: /subscriptions/4b9e8510-67ab-4e9a-95a9-e2f1e570ea9c/resourceGroups/insights-integration/providers/Microsoft.OperationalInsights/workspaces/viruela2" + } + }, + "type": "object", + "required": [ + "azureApiVersion", + "name", + "systemData", + "type" + ], + "inputProperties": { + "eventHubAuthorizationRuleId": { + "type": "string", + "description": "The resource Id for the event hub authorization rule." + }, + "eventHubName": { + "type": "string", + "description": "The name of the event hub. If none is specified, the default event hub will be selected." + }, + "logs": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/types/azure-native:monitor:SubscriptionLogSettings" + }, + "description": "The list of logs settings." + }, + "marketplacePartnerId": { + "type": "string", + "description": "The full ARM resource ID of the Marketplace resource to which you would like to send Diagnostic Logs." + }, + "name": { + "type": "string", + "description": "The name of the diagnostic setting.", + "willReplaceOnChanges": true + }, + "serviceBusRuleId": { + "type": "string", + "description": "The service bus rule Id of the diagnostic setting. This is here to maintain backwards compatibility." + }, + "storageAccountId": { + "type": "string", + "description": "The resource ID of the storage account to which you would like to send Diagnostic Logs." + }, + "workspaceId": { + "type": "string", + "description": "The full ARM resource ID of the Log Analytics workspace to which you would like to send Diagnostic Logs. Example: /subscriptions/4b9e8510-67ab-4e9a-95a9-e2f1e570ea9c/resourceGroups/insights-integration/providers/Microsoft.OperationalInsights/workspaces/viruela2" + } + }, + "aliases": [ + { + "type": "azure-native:insights/v20170501preview:SubscriptionDiagnosticSetting" + }, + { + "type": "azure-native:insights/v20210501preview:SubscriptionDiagnosticSetting" + }, + { + "type": "azure-native:insights:SubscriptionDiagnosticSetting" + }, + { + "type": "azure-native:monitor/v20170501preview:SubscriptionDiagnosticSetting" + }, + { + "type": "azure-native:monitor/v20210501preview:SubscriptionDiagnosticSetting" + } + ] + }, "azure-native:monitor:TenantActionGroup": { "description": "A tenant action group resource.\n\nUses Azure REST API version 2023-05-01-preview.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### Create or update a tenant action group\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AzureNative = Pulumi.AzureNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var tenantActionGroup = new AzureNative.Monitor.TenantActionGroup(\"tenantActionGroup\", new()\n {\n AzureAppPushReceivers = new[]\n {\n new AzureNative.Monitor.Inputs.AzureAppPushReceiverArgs\n {\n EmailAddress = \"johndoe@email.com\",\n Name = \"Sample azureAppPush\",\n },\n },\n EmailReceivers = new[]\n {\n new AzureNative.Monitor.Inputs.EmailReceiverArgs\n {\n EmailAddress = \"johndoe@email.com\",\n Name = \"John Doe's email\",\n UseCommonAlertSchema = false,\n },\n new AzureNative.Monitor.Inputs.EmailReceiverArgs\n {\n EmailAddress = \"janesmith@email.com\",\n Name = \"Jane Smith's email\",\n UseCommonAlertSchema = true,\n },\n },\n Enabled = true,\n GroupShortName = \"sample\",\n Location = \"Global\",\n ManagementGroupId = \"72f988bf-86f1-41af-91ab-2d7cd011db47\",\n SmsReceivers = new[]\n {\n new AzureNative.Monitor.Inputs.SmsReceiverArgs\n {\n CountryCode = \"1\",\n Name = \"John Doe's mobile\",\n PhoneNumber = \"2062022299\",\n },\n new AzureNative.Monitor.Inputs.SmsReceiverArgs\n {\n CountryCode = \"1\",\n Name = \"Jane Smith's mobile\",\n PhoneNumber = \"0987654321\",\n },\n },\n Tags = null,\n TenantActionGroupName = \"testTenantActionGroup\",\n VoiceReceivers = new[]\n {\n new AzureNative.Monitor.Inputs.VoiceReceiverArgs\n {\n CountryCode = \"1\",\n Name = \"Sample voice\",\n PhoneNumber = \"2062022299\",\n },\n },\n WebhookReceivers = new[]\n {\n new AzureNative.Monitor.Inputs.WebhookReceiverArgs\n {\n Name = \"Sample webhook 1\",\n ServiceUri = \"http://www.example.com/webhook1\",\n UseCommonAlertSchema = true,\n },\n new AzureNative.Monitor.Inputs.WebhookReceiverArgs\n {\n IdentifierUri = \"http://someidentifier/d7811ba3-7996-4a93-99b6-6b2f3f355f8a\",\n Name = \"Sample webhook 2\",\n ObjectId = \"d3bb868c-fe44-452c-aa26-769a6538c808\",\n ServiceUri = \"http://www.example.com/webhook2\",\n TenantId = \"68a4459a-ccb8-493c-b9da-dd30457d1b84\",\n UseAadAuth = true,\n UseCommonAlertSchema = true,\n },\n },\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\tmonitor \"github.com/pulumi/pulumi-azure-native-sdk/monitor/v2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := monitor.NewTenantActionGroup(ctx, \"tenantActionGroup\", \u0026monitor.TenantActionGroupArgs{\n\t\t\tAzureAppPushReceivers: monitor.AzureAppPushReceiverArray{\n\t\t\t\t\u0026monitor.AzureAppPushReceiverArgs{\n\t\t\t\t\tEmailAddress: pulumi.String(\"johndoe@email.com\"),\n\t\t\t\t\tName: pulumi.String(\"Sample azureAppPush\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tEmailReceivers: monitor.EmailReceiverArray{\n\t\t\t\t\u0026monitor.EmailReceiverArgs{\n\t\t\t\t\tEmailAddress: pulumi.String(\"johndoe@email.com\"),\n\t\t\t\t\tName: pulumi.String(\"John Doe's email\"),\n\t\t\t\t\tUseCommonAlertSchema: pulumi.Bool(false),\n\t\t\t\t},\n\t\t\t\t\u0026monitor.EmailReceiverArgs{\n\t\t\t\t\tEmailAddress: pulumi.String(\"janesmith@email.com\"),\n\t\t\t\t\tName: pulumi.String(\"Jane Smith's email\"),\n\t\t\t\t\tUseCommonAlertSchema: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t},\n\t\t\tEnabled: pulumi.Bool(true),\n\t\t\tGroupShortName: pulumi.String(\"sample\"),\n\t\t\tLocation: pulumi.String(\"Global\"),\n\t\t\tManagementGroupId: pulumi.String(\"72f988bf-86f1-41af-91ab-2d7cd011db47\"),\n\t\t\tSmsReceivers: monitor.SmsReceiverArray{\n\t\t\t\t\u0026monitor.SmsReceiverArgs{\n\t\t\t\t\tCountryCode: pulumi.String(\"1\"),\n\t\t\t\t\tName: pulumi.String(\"John Doe's mobile\"),\n\t\t\t\t\tPhoneNumber: pulumi.String(\"2062022299\"),\n\t\t\t\t},\n\t\t\t\t\u0026monitor.SmsReceiverArgs{\n\t\t\t\t\tCountryCode: pulumi.String(\"1\"),\n\t\t\t\t\tName: pulumi.String(\"Jane Smith's mobile\"),\n\t\t\t\t\tPhoneNumber: pulumi.String(\"0987654321\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{},\n\t\t\tTenantActionGroupName: pulumi.String(\"testTenantActionGroup\"),\n\t\t\tVoiceReceivers: monitor.VoiceReceiverArray{\n\t\t\t\t\u0026monitor.VoiceReceiverArgs{\n\t\t\t\t\tCountryCode: pulumi.String(\"1\"),\n\t\t\t\t\tName: pulumi.String(\"Sample voice\"),\n\t\t\t\t\tPhoneNumber: pulumi.String(\"2062022299\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tWebhookReceivers: monitor.WebhookReceiverArray{\n\t\t\t\t\u0026monitor.WebhookReceiverArgs{\n\t\t\t\t\tName: pulumi.String(\"Sample webhook 1\"),\n\t\t\t\t\tServiceUri: pulumi.String(\"http://www.example.com/webhook1\"),\n\t\t\t\t\tUseCommonAlertSchema: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t\t\u0026monitor.WebhookReceiverArgs{\n\t\t\t\t\tIdentifierUri: pulumi.String(\"http://someidentifier/d7811ba3-7996-4a93-99b6-6b2f3f355f8a\"),\n\t\t\t\t\tName: pulumi.String(\"Sample webhook 2\"),\n\t\t\t\t\tObjectId: pulumi.String(\"d3bb868c-fe44-452c-aa26-769a6538c808\"),\n\t\t\t\t\tServiceUri: pulumi.String(\"http://www.example.com/webhook2\"),\n\t\t\t\t\tTenantId: pulumi.String(\"68a4459a-ccb8-493c-b9da-dd30457d1b84\"),\n\t\t\t\t\tUseAadAuth: pulumi.Bool(true),\n\t\t\t\t\tUseCommonAlertSchema: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n\n```\n\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azurenative.monitor.TenantActionGroup;\nimport com.pulumi.azurenative.monitor.TenantActionGroupArgs;\nimport com.pulumi.azurenative.monitor.inputs.AzureAppPushReceiverArgs;\nimport com.pulumi.azurenative.monitor.inputs.EmailReceiverArgs;\nimport com.pulumi.azurenative.monitor.inputs.SmsReceiverArgs;\nimport com.pulumi.azurenative.monitor.inputs.VoiceReceiverArgs;\nimport com.pulumi.azurenative.monitor.inputs.WebhookReceiverArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var tenantActionGroup = new TenantActionGroup(\"tenantActionGroup\", TenantActionGroupArgs.builder()\n .azureAppPushReceivers(AzureAppPushReceiverArgs.builder()\n .emailAddress(\"johndoe@email.com\")\n .name(\"Sample azureAppPush\")\n .build())\n .emailReceivers( \n EmailReceiverArgs.builder()\n .emailAddress(\"johndoe@email.com\")\n .name(\"John Doe's email\")\n .useCommonAlertSchema(false)\n .build(),\n EmailReceiverArgs.builder()\n .emailAddress(\"janesmith@email.com\")\n .name(\"Jane Smith's email\")\n .useCommonAlertSchema(true)\n .build())\n .enabled(true)\n .groupShortName(\"sample\")\n .location(\"Global\")\n .managementGroupId(\"72f988bf-86f1-41af-91ab-2d7cd011db47\")\n .smsReceivers( \n SmsReceiverArgs.builder()\n .countryCode(\"1\")\n .name(\"John Doe's mobile\")\n .phoneNumber(\"2062022299\")\n .build(),\n SmsReceiverArgs.builder()\n .countryCode(\"1\")\n .name(\"Jane Smith's mobile\")\n .phoneNumber(\"0987654321\")\n .build())\n .tags()\n .tenantActionGroupName(\"testTenantActionGroup\")\n .voiceReceivers(VoiceReceiverArgs.builder()\n .countryCode(\"1\")\n .name(\"Sample voice\")\n .phoneNumber(\"2062022299\")\n .build())\n .webhookReceivers( \n WebhookReceiverArgs.builder()\n .name(\"Sample webhook 1\")\n .serviceUri(\"http://www.example.com/webhook1\")\n .useCommonAlertSchema(true)\n .build(),\n WebhookReceiverArgs.builder()\n .identifierUri(\"http://someidentifier/d7811ba3-7996-4a93-99b6-6b2f3f355f8a\")\n .name(\"Sample webhook 2\")\n .objectId(\"d3bb868c-fe44-452c-aa26-769a6538c808\")\n .serviceUri(\"http://www.example.com/webhook2\")\n .tenantId(\"68a4459a-ccb8-493c-b9da-dd30457d1b84\")\n .useAadAuth(true)\n .useCommonAlertSchema(true)\n .build())\n .build());\n\n }\n}\n\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure_native from \"@pulumi/azure-native\";\n\nconst tenantActionGroup = new azure_native.monitor.TenantActionGroup(\"tenantActionGroup\", {\n azureAppPushReceivers: [{\n emailAddress: \"johndoe@email.com\",\n name: \"Sample azureAppPush\",\n }],\n emailReceivers: [\n {\n emailAddress: \"johndoe@email.com\",\n name: \"John Doe's email\",\n useCommonAlertSchema: false,\n },\n {\n emailAddress: \"janesmith@email.com\",\n name: \"Jane Smith's email\",\n useCommonAlertSchema: true,\n },\n ],\n enabled: true,\n groupShortName: \"sample\",\n location: \"Global\",\n managementGroupId: \"72f988bf-86f1-41af-91ab-2d7cd011db47\",\n smsReceivers: [\n {\n countryCode: \"1\",\n name: \"John Doe's mobile\",\n phoneNumber: \"2062022299\",\n },\n {\n countryCode: \"1\",\n name: \"Jane Smith's mobile\",\n phoneNumber: \"0987654321\",\n },\n ],\n tags: {},\n tenantActionGroupName: \"testTenantActionGroup\",\n voiceReceivers: [{\n countryCode: \"1\",\n name: \"Sample voice\",\n phoneNumber: \"2062022299\",\n }],\n webhookReceivers: [\n {\n name: \"Sample webhook 1\",\n serviceUri: \"http://www.example.com/webhook1\",\n useCommonAlertSchema: true,\n },\n {\n identifierUri: \"http://someidentifier/d7811ba3-7996-4a93-99b6-6b2f3f355f8a\",\n name: \"Sample webhook 2\",\n objectId: \"d3bb868c-fe44-452c-aa26-769a6538c808\",\n serviceUri: \"http://www.example.com/webhook2\",\n tenantId: \"68a4459a-ccb8-493c-b9da-dd30457d1b84\",\n useAadAuth: true,\n useCommonAlertSchema: true,\n },\n ],\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_azure_native as azure_native\n\ntenant_action_group = azure_native.monitor.TenantActionGroup(\"tenantActionGroup\",\n azure_app_push_receivers=[{\n \"email_address\": \"johndoe@email.com\",\n \"name\": \"Sample azureAppPush\",\n }],\n email_receivers=[\n {\n \"email_address\": \"johndoe@email.com\",\n \"name\": \"John Doe's email\",\n \"use_common_alert_schema\": False,\n },\n {\n \"email_address\": \"janesmith@email.com\",\n \"name\": \"Jane Smith's email\",\n \"use_common_alert_schema\": True,\n },\n ],\n enabled=True,\n group_short_name=\"sample\",\n location=\"Global\",\n management_group_id=\"72f988bf-86f1-41af-91ab-2d7cd011db47\",\n sms_receivers=[\n {\n \"country_code\": \"1\",\n \"name\": \"John Doe's mobile\",\n \"phone_number\": \"2062022299\",\n },\n {\n \"country_code\": \"1\",\n \"name\": \"Jane Smith's mobile\",\n \"phone_number\": \"0987654321\",\n },\n ],\n tags={},\n tenant_action_group_name=\"testTenantActionGroup\",\n voice_receivers=[{\n \"country_code\": \"1\",\n \"name\": \"Sample voice\",\n \"phone_number\": \"2062022299\",\n }],\n webhook_receivers=[\n {\n \"name\": \"Sample webhook 1\",\n \"service_uri\": \"http://www.example.com/webhook1\",\n \"use_common_alert_schema\": True,\n },\n {\n \"identifier_uri\": \"http://someidentifier/d7811ba3-7996-4a93-99b6-6b2f3f355f8a\",\n \"name\": \"Sample webhook 2\",\n \"object_id\": \"d3bb868c-fe44-452c-aa26-769a6538c808\",\n \"service_uri\": \"http://www.example.com/webhook2\",\n \"tenant_id\": \"68a4459a-ccb8-493c-b9da-dd30457d1b84\",\n \"use_aad_auth\": True,\n \"use_common_alert_schema\": True,\n },\n ])\n\n```\n\n```yaml\nresources:\n tenantActionGroup:\n type: azure-native:monitor:TenantActionGroup\n properties:\n azureAppPushReceivers:\n - emailAddress: johndoe@email.com\n name: Sample azureAppPush\n emailReceivers:\n - emailAddress: johndoe@email.com\n name: John Doe's email\n useCommonAlertSchema: false\n - emailAddress: janesmith@email.com\n name: Jane Smith's email\n useCommonAlertSchema: true\n enabled: true\n groupShortName: sample\n location: Global\n managementGroupId: 72f988bf-86f1-41af-91ab-2d7cd011db47\n smsReceivers:\n - countryCode: '1'\n name: John Doe's mobile\n phoneNumber: '2062022299'\n - countryCode: '1'\n name: Jane Smith's mobile\n phoneNumber: '0987654321'\n tags: {}\n tenantActionGroupName: testTenantActionGroup\n voiceReceivers:\n - countryCode: '1'\n name: Sample voice\n phoneNumber: '2062022299'\n webhookReceivers:\n - name: Sample webhook 1\n serviceUri: http://www.example.com/webhook1\n useCommonAlertSchema: true\n - identifierUri: http://someidentifier/d7811ba3-7996-4a93-99b6-6b2f3f355f8a\n name: Sample webhook 2\n objectId: d3bb868c-fe44-452c-aa26-769a6538c808\n serviceUri: http://www.example.com/webhook2\n tenantId: 68a4459a-ccb8-493c-b9da-dd30457d1b84\n useAadAuth: true\n useCommonAlertSchema: true\n\n```\n\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nAn existing resource can be imported using its type token, name, and identifier, e.g.\n\n```sh\n$ pulumi import azure-native:monitor:TenantActionGroup testTenantActionGroup /providers/Microsoft.Management/managementGroups/{managementGroupId}/providers/Microsoft.Insights/tenantActionGroups/{tenantActionGroupName} \n```\n", "properties": { @@ -1049137,6 +1050872,80 @@ ] } }, + "azure-native:monitor:getAutoscaleSetting": { + "description": "Gets an autoscale setting\n\nUses Azure REST API version 2021-05-01-preview.", + "inputs": { + "properties": { + "autoscaleSettingName": { + "type": "string", + "description": "The autoscale setting name.", + "willReplaceOnChanges": true + }, + "resourceGroupName": { + "type": "string", + "description": "The name of the resource group. The name is case insensitive.", + "willReplaceOnChanges": true + } + }, + "type": "object", + "required": [ + "autoscaleSettingName", + "resourceGroupName" + ] + }, + "outputs": { + "description": "The autoscale setting resource.", + "properties": { + "azureApiVersion": { + "type": "string", + "description": "The Azure API version of the resource." + }, + "id": { + "type": "string", + "description": "Azure resource Id" + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "name": { + "type": "string", + "description": "Azure resource name" + }, + "properties": { + "type": "object", + "$ref": "#/types/azure-native:monitor:AutoscaleSettingResponse", + "description": "The autoscale setting of the resource." + }, + "systemData": { + "type": "object", + "$ref": "#/types/azure-native:monitor:SystemDataResponse", + "description": "The system metadata related to the response." + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Gets or sets a list of key value pairs that describe the resource. These tags can be used in viewing and grouping this resource (across resource groups). A maximum of 15 tags can be provided for a resource. Each tag must have a key no greater in length than 128 characters and a value no greater in length than 256 characters." + }, + "type": { + "type": "string", + "description": "Azure resource type" + } + }, + "type": "object", + "required": [ + "azureApiVersion", + "id", + "location", + "name", + "properties", + "systemData", + "type" + ] + } + }, "azure-native:monitor:getAzureMonitorWorkspace": { "description": "Returns the specific Azure Monitor workspace\n\nUses Azure REST API version 2023-10-01-preview.\n\nOther available API versions: 2023-04-03. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native monitor [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details.", "inputs": { @@ -1049245,6 +1051054,194 @@ ] } }, + "azure-native:monitor:getDiagnosticSetting": { + "description": "Gets the active diagnostic settings for the specified resource.\n\nUses Azure REST API version 2021-05-01-preview.", + "inputs": { + "properties": { + "name": { + "type": "string", + "description": "The name of the diagnostic setting.", + "willReplaceOnChanges": true + }, + "resourceUri": { + "type": "string", + "description": "The identifier of the resource.", + "willReplaceOnChanges": true + } + }, + "type": "object", + "required": [ + "name", + "resourceUri" + ] + }, + "outputs": { + "description": "The diagnostic setting resource.", + "properties": { + "azureApiVersion": { + "type": "string", + "description": "The Azure API version of the resource." + }, + "eventHubAuthorizationRuleId": { + "type": "string", + "description": "The resource Id for the event hub authorization rule." + }, + "eventHubName": { + "type": "string", + "description": "The name of the event hub. If none is specified, the default event hub will be selected." + }, + "id": { + "type": "string", + "description": "Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" + }, + "logAnalyticsDestinationType": { + "type": "string", + "description": "A string indicating whether the export to Log Analytics should use the default destination type, i.e. AzureDiagnostics, or use a destination type constructed as follows: \u003cnormalized service identity\u003e_\u003cnormalized category name\u003e. Possible values are: Dedicated and null (null is default.)" + }, + "logs": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/types/azure-native:monitor:LogSettingsResponse" + }, + "description": "The list of logs settings." + }, + "marketplacePartnerId": { + "type": "string", + "description": "The full ARM resource ID of the Marketplace resource to which you would like to send Diagnostic Logs." + }, + "metrics": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/types/azure-native:monitor:MetricSettingsResponse" + }, + "description": "The list of metric settings." + }, + "name": { + "type": "string", + "description": "The name of the resource" + }, + "serviceBusRuleId": { + "type": "string", + "description": "The service bus rule Id of the diagnostic setting. This is here to maintain backwards compatibility." + }, + "storageAccountId": { + "type": "string", + "description": "The resource ID of the storage account to which you would like to send Diagnostic Logs." + }, + "systemData": { + "type": "object", + "$ref": "#/types/azure-native:monitor:SystemDataResponse", + "description": "The system metadata related to this resource." + }, + "type": { + "type": "string", + "description": "The type of the resource. E.g. \"Microsoft.Compute/virtualMachines\" or \"Microsoft.Storage/storageAccounts\"" + }, + "workspaceId": { + "type": "string", + "description": "The full ARM resource ID of the Log Analytics workspace to which you would like to send Diagnostic Logs. Example: /subscriptions/4b9e8510-67ab-4e9a-95a9-e2f1e570ea9c/resourceGroups/insights-integration/providers/Microsoft.OperationalInsights/workspaces/viruela2" + } + }, + "type": "object", + "required": [ + "azureApiVersion", + "id", + "name", + "systemData", + "type" + ] + } + }, + "azure-native:monitor:getManagementGroupDiagnosticSetting": { + "description": "Gets the active management group diagnostic settings for the specified resource.\n\nUses Azure REST API version 2021-05-01-preview.", + "inputs": { + "properties": { + "managementGroupId": { + "type": "string", + "description": "The management group id.", + "willReplaceOnChanges": true + }, + "name": { + "type": "string", + "description": "The name of the diagnostic setting.", + "willReplaceOnChanges": true + } + }, + "type": "object", + "required": [ + "managementGroupId", + "name" + ] + }, + "outputs": { + "description": "The management group diagnostic setting resource.", + "properties": { + "azureApiVersion": { + "type": "string", + "description": "The Azure API version of the resource." + }, + "eventHubAuthorizationRuleId": { + "type": "string", + "description": "The resource Id for the event hub authorization rule." + }, + "eventHubName": { + "type": "string", + "description": "The name of the event hub. If none is specified, the default event hub will be selected." + }, + "id": { + "type": "string", + "description": "Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" + }, + "logs": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/types/azure-native:monitor:ManagementGroupLogSettingsResponse" + }, + "description": "The list of logs settings." + }, + "marketplacePartnerId": { + "type": "string", + "description": "The full ARM resource ID of the Marketplace resource to which you would like to send Diagnostic Logs." + }, + "name": { + "type": "string", + "description": "The name of the resource" + }, + "serviceBusRuleId": { + "type": "string", + "description": "The service bus rule Id of the diagnostic setting. This is here to maintain backwards compatibility." + }, + "storageAccountId": { + "type": "string", + "description": "The resource ID of the storage account to which you would like to send Diagnostic Logs." + }, + "systemData": { + "type": "object", + "$ref": "#/types/azure-native:monitor:SystemDataResponse", + "description": "The system metadata related to this resource." + }, + "type": { + "type": "string", + "description": "The type of the resource. E.g. \"Microsoft.Compute/virtualMachines\" or \"Microsoft.Storage/storageAccounts\"" + }, + "workspaceId": { + "type": "string", + "description": "The full ARM resource ID of the Log Analytics workspace to which you would like to send Diagnostic Logs. Example: /subscriptions/4b9e8510-67ab-4e9a-95a9-e2f1e570ea9c/resourceGroups/insights-integration/providers/Microsoft.OperationalInsights/workspaces/viruela2" + } + }, + "type": "object", + "required": [ + "azureApiVersion", + "id", + "name", + "systemData", + "type" + ] + } + }, "azure-native:monitor:getPipelineGroup": { "description": "Returns the specific pipeline group instance.\n\nUses Azure REST API version 2024-10-01-preview.\n\nOther available API versions: 2023-10-01-preview. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native monitor [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details.", "inputs": { @@ -1049736,6 +1051733,88 @@ ] } }, + "azure-native:monitor:getSubscriptionDiagnosticSetting": { + "description": "Gets the active subscription diagnostic settings for the specified resource.\n\nUses Azure REST API version 2021-05-01-preview.", + "inputs": { + "properties": { + "name": { + "type": "string", + "description": "The name of the diagnostic setting.", + "willReplaceOnChanges": true + } + }, + "type": "object", + "required": [ + "name" + ] + }, + "outputs": { + "description": "The subscription diagnostic setting resource.", + "properties": { + "azureApiVersion": { + "type": "string", + "description": "The Azure API version of the resource." + }, + "eventHubAuthorizationRuleId": { + "type": "string", + "description": "The resource Id for the event hub authorization rule." + }, + "eventHubName": { + "type": "string", + "description": "The name of the event hub. If none is specified, the default event hub will be selected." + }, + "id": { + "type": "string", + "description": "Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" + }, + "logs": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/types/azure-native:monitor:SubscriptionLogSettingsResponse" + }, + "description": "The list of logs settings." + }, + "marketplacePartnerId": { + "type": "string", + "description": "The full ARM resource ID of the Marketplace resource to which you would like to send Diagnostic Logs." + }, + "name": { + "type": "string", + "description": "The name of the resource" + }, + "serviceBusRuleId": { + "type": "string", + "description": "The service bus rule Id of the diagnostic setting. This is here to maintain backwards compatibility." + }, + "storageAccountId": { + "type": "string", + "description": "The resource ID of the storage account to which you would like to send Diagnostic Logs." + }, + "systemData": { + "type": "object", + "$ref": "#/types/azure-native:monitor:SystemDataResponse", + "description": "The system metadata related to this resource." + }, + "type": { + "type": "string", + "description": "The type of the resource. E.g. \"Microsoft.Compute/virtualMachines\" or \"Microsoft.Storage/storageAccounts\"" + }, + "workspaceId": { + "type": "string", + "description": "The full ARM resource ID of the Log Analytics workspace to which you would like to send Diagnostic Logs. Example: /subscriptions/4b9e8510-67ab-4e9a-95a9-e2f1e570ea9c/resourceGroups/insights-integration/providers/Microsoft.OperationalInsights/workspaces/viruela2" + } + }, + "type": "object", + "required": [ + "azureApiVersion", + "id", + "name", + "systemData", + "type" + ] + } + }, "azure-native:monitor:getTenantActionGroup": { "description": "Get a tenant action group.\n\nUses Azure REST API version 2023-05-01-preview.", "inputs": { @@ -1049849,6 +1051928,36 @@ ] } }, + "azure-native:monitor:listDiagnosticSettingsCategory": { + "description": "Lists the diagnostic settings categories for the specified resource.\n\nUses Azure REST API version 2021-05-01-preview.", + "inputs": { + "properties": { + "resourceUri": { + "type": "string", + "description": "The identifier of the resource.", + "willReplaceOnChanges": true + } + }, + "type": "object", + "required": [ + "resourceUri" + ] + }, + "outputs": { + "description": "Represents a collection of diagnostic setting category resources.", + "properties": { + "value": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/types/azure-native:monitor:DiagnosticSettingsCategoryResourceResponse" + }, + "description": "The collection of diagnostic settings category resources." + } + }, + "type": "object" + } + }, "azure-native:mysqldiscovery:getMySQLServer": { "description": "Gets the MySQLServers resource.\n\nUses Azure REST API version 2024-09-30-preview.", "inputs": { diff --git a/reports/curationViolations.json b/reports/curationViolations.json index 430b695846f7..444f081cc4df 100644 --- a/reports/curationViolations.json +++ b/reports/curationViolations.json @@ -331,6 +331,10 @@ "ModuleName": "MixedReality", "Detail": "expected tracking stable but found preview" }, + { + "ModuleName": "Monitor", + "Detail": "expected tracking stable but found preview" + }, { "ModuleName": "MySQLDiscovery", "Detail": "expected tracking stable but found preview" diff --git a/reports/flattenedPropertyConflicts.json b/reports/flattenedPropertyConflicts.json index 18ae6768c352..7136183893ea 100644 --- a/reports/flattenedPropertyConflicts.json +++ b/reports/flattenedPropertyConflicts.json @@ -71,6 +71,12 @@ "totalBudget.currency": {}, "totalBudget.value": {} }, + "azure-native:monitor/v20210501preview:AutoscaleSetting": { + "properties.name": {} + }, + "azure-native:monitor:AutoscaleSetting": { + "properties.name": {} + }, "azure-native:network/v20180801:P2sVpnServerConfiguration": { "properties.etag": {}, "properties.name": {} diff --git a/reports/oldApiVersions.json b/reports/oldApiVersions.json index fbfe28ebbca3..5a6d93be5592 100644 --- a/reports/oldApiVersions.json +++ b/reports/oldApiVersions.json @@ -4,5 +4,8 @@ ], "DBforPostgreSQL": [ "2017-12-01" + ], + "Monitor": [ + "2021-05-01-preview" ] } \ No newline at end of file diff --git a/reports/pending.json b/reports/pending.json index e309735d5608..9e3fbd5c1a70 100644 --- a/reports/pending.json +++ b/reports/pending.json @@ -780,6 +780,23 @@ "2024-10-01-preview" ], "Monitor": [ + "2021-06-03-preview", + "2021-07-01-preview", + "2021-08-01", + "2021-09-01", + "2021-09-01-preview", + "2022-04-01", + "2022-06-01", + "2022-06-15", + "2022-08-01-preview", + "2022-10-01", + "2023-01-01", + "2023-01-01-preview", + "2023-03-01-preview", + "2023-03-11", + "2023-03-15-preview", + "2023-04-03", + "2023-05-01-preview", "2023-06-01-preview", "2023-09-01-preview", "2023-10-01-preview", diff --git a/reports/tokenPaths.json b/reports/tokenPaths.json index 393ae978e7aa..6b8e0b55ef02 100644 --- a/reports/tokenPaths.json +++ b/reports/tokenPaths.json @@ -8551,6 +8551,10 @@ "azure-native:mongocluster:FirewallRule": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/mongoClusters/{mongoClusterName}/firewallRules/{firewallRuleName}", "azure-native:mongocluster:MongoCluster": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/mongoClusters/{mongoClusterName}", "azure-native:mongocluster:PrivateEndpointConnection": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/mongoClusters/{mongoClusterName}/privateEndpointConnections/{privateEndpointConnectionName}", + "azure-native:monitor/v20210501preview:AutoscaleSetting": "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Insights/autoscalesettings/{autoscaleSettingName}", + "azure-native:monitor/v20210501preview:DiagnosticSetting": "/{resourceUri}/providers/Microsoft.Insights/diagnosticSettings/{name}", + "azure-native:monitor/v20210501preview:ManagementGroupDiagnosticSetting": "/providers/Microsoft.Management/managementGroups/{managementGroupId}/providers/Microsoft.Insights/diagnosticSettings/{name}", + "azure-native:monitor/v20210501preview:SubscriptionDiagnosticSetting": "/subscriptions/{subscriptionId}/providers/Microsoft.Insights/diagnosticSettings/{name}", "azure-native:monitor/v20230403:AzureMonitorWorkspace": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Monitor/accounts/{azureMonitorWorkspaceName}", "azure-native:monitor/v20230501preview:TenantActionGroup": "/providers/Microsoft.Management/managementGroups/{managementGroupId}/providers/Microsoft.Insights/tenantActionGroups/{tenantActionGroupName}", "azure-native:monitor/v20230601preview:PrivateEndpointConnection": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/privateLinkScopes/{scopeName}/privateEndpointConnections/{privateEndpointConnectionName}", @@ -8565,12 +8569,16 @@ "azure-native:monitor/v20241001preview:PipelineGroup": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Monitor/pipelineGroups/{pipelineGroupName}", "azure-native:monitor/v20250101preview:ScheduledQueryRule": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/scheduledQueryRules/{ruleName}", "azure-native:monitor:ActionGroup": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/actionGroups/{actionGroupName}", + "azure-native:monitor:AutoscaleSetting": "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Insights/autoscalesettings/{autoscaleSettingName}", "azure-native:monitor:AzureMonitorWorkspace": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Monitor/accounts/{azureMonitorWorkspaceName}", + "azure-native:monitor:DiagnosticSetting": "/{resourceUri}/providers/Microsoft.Insights/diagnosticSettings/{name}", + "azure-native:monitor:ManagementGroupDiagnosticSetting": "/providers/Microsoft.Management/managementGroups/{managementGroupId}/providers/Microsoft.Insights/diagnosticSettings/{name}", "azure-native:monitor:PipelineGroup": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Monitor/pipelineGroups/{pipelineGroupName}", "azure-native:monitor:PrivateEndpointConnection": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/privateLinkScopes/{scopeName}/privateEndpointConnections/{privateEndpointConnectionName}", "azure-native:monitor:PrivateLinkScope": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/privateLinkScopes/{scopeName}", "azure-native:monitor:PrivateLinkScopedResource": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/privateLinkScopes/{scopeName}/scopedResources/{name}", "azure-native:monitor:ScheduledQueryRule": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/scheduledQueryRules/{ruleName}", + "azure-native:monitor:SubscriptionDiagnosticSetting": "/subscriptions/{subscriptionId}/providers/Microsoft.Insights/diagnosticSettings/{name}", "azure-native:monitor:TenantActionGroup": "/providers/Microsoft.Management/managementGroups/{managementGroupId}/providers/Microsoft.Insights/tenantActionGroups/{tenantActionGroupName}", "azure-native:mysqldiscovery/v20240930preview:MySQLServer": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MySQLDiscovery/MySQLSites/{siteName}/MySQLServers/{serverName}", "azure-native:mysqldiscovery/v20240930preview:MySQLSite": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MySQLDiscovery/MySQLSites/{siteName}", diff --git a/sdk/dotnet/Monitor/AutoscaleSetting.cs b/sdk/dotnet/Monitor/AutoscaleSetting.cs new file mode 100644 index 000000000000..8cd16f62b303 --- /dev/null +++ b/sdk/dotnet/Monitor/AutoscaleSetting.cs @@ -0,0 +1,206 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Monitor +{ + /// + /// The autoscale setting resource. + /// + /// Uses Azure REST API version 2021-05-01-preview. + /// + [AzureNativeResourceType("azure-native:monitor:AutoscaleSetting")] + public partial class AutoscaleSetting : global::Pulumi.CustomResource + { + /// + /// The Azure API version of the resource. + /// + [Output("azureApiVersion")] + public Output AzureApiVersion { get; private set; } = null!; + + /// + /// Resource location + /// + [Output("location")] + public Output Location { get; private set; } = null!; + + /// + /// Azure resource name + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + /// + /// The autoscale setting of the resource. + /// + [Output("properties")] + public Output Properties { get; private set; } = null!; + + /// + /// The system metadata related to the response. + /// + [Output("systemData")] + public Output SystemData { get; private set; } = null!; + + /// + /// Gets or sets a list of key value pairs that describe the resource. These tags can be used in viewing and grouping this resource (across resource groups). A maximum of 15 tags can be provided for a resource. Each tag must have a key no greater in length than 128 characters and a value no greater in length than 256 characters. + /// + [Output("tags")] + public Output?> Tags { get; private set; } = null!; + + /// + /// Azure resource type + /// + [Output("type")] + public Output Type { get; private set; } = null!; + + + /// + /// Create a AutoscaleSetting resource with the given unique name, arguments, and options. + /// + /// + /// The unique name of the resource + /// The arguments used to populate this resource's properties + /// A bag of options that control this resource's behavior + public AutoscaleSetting(string name, AutoscaleSettingArgs args, CustomResourceOptions? options = null) + : base("azure-native:monitor:AutoscaleSetting", name, args ?? new AutoscaleSettingArgs(), MakeResourceOptions(options, "")) + { + } + + private AutoscaleSetting(string name, Input id, CustomResourceOptions? options = null) + : base("azure-native:monitor:AutoscaleSetting", name, null, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + Aliases = + { + new global::Pulumi.Alias { Type = "azure-native:insights/v20221001:AutoscaleSetting" }, + new global::Pulumi.Alias { Type = "azure-native:insights:AutoscaleSetting" }, + new global::Pulumi.Alias { Type = "azure-native:monitor/v20140401:AutoscaleSetting" }, + new global::Pulumi.Alias { Type = "azure-native:monitor/v20150401:AutoscaleSetting" }, + new global::Pulumi.Alias { Type = "azure-native:monitor/v20210501preview:AutoscaleSetting" }, + new global::Pulumi.Alias { Type = "azure-native:monitor/v20221001:AutoscaleSetting" }, + }, + }; + var merged = CustomResourceOptions.Merge(defaultOptions, options); + // Override the ID if one was specified for consistency with other language SDKs. + merged.Id = id ?? merged.Id; + return merged; + } + /// + /// Get an existing AutoscaleSetting resource's state with the given name, ID, and optional extra + /// properties used to qualify the lookup. + /// + /// + /// The unique name of the resulting resource. + /// The unique provider ID of the resource to lookup. + /// A bag of options that control this resource's behavior + public static AutoscaleSetting Get(string name, Input id, CustomResourceOptions? options = null) + { + return new AutoscaleSetting(name, id, options); + } + } + + public sealed class AutoscaleSettingArgs : global::Pulumi.ResourceArgs + { + /// + /// The autoscale setting name. + /// + [Input("autoscaleSettingName")] + public Input? AutoscaleSettingName { get; set; } + + /// + /// the enabled flag. Specifies whether automatic scaling is enabled for the resource. The default value is 'false'. + /// + [Input("enabled")] + public Input? Enabled { get; set; } + + /// + /// Resource location + /// + [Input("location")] + public Input? Location { get; set; } + + /// + /// the name of the autoscale setting. + /// + [Input("name")] + public Input? Name { get; set; } + + [Input("notifications")] + private InputList? _notifications; + + /// + /// the collection of notifications. + /// + public InputList Notifications + { + get => _notifications ?? (_notifications = new InputList()); + set => _notifications = value; + } + + /// + /// the predictive autoscale policy mode. + /// + [Input("predictiveAutoscalePolicy")] + public Input? PredictiveAutoscalePolicy { get; set; } + + [Input("profiles", required: true)] + private InputList? _profiles; + + /// + /// the collection of automatic scaling profiles that specify different scaling parameters for different time periods. A maximum of 20 profiles can be specified. + /// + public InputList Profiles + { + get => _profiles ?? (_profiles = new InputList()); + set => _profiles = value; + } + + /// + /// The name of the resource group. The name is case insensitive. + /// + [Input("resourceGroupName", required: true)] + public Input ResourceGroupName { get; set; } = null!; + + [Input("tags")] + private InputMap? _tags; + + /// + /// Gets or sets a list of key value pairs that describe the resource. These tags can be used in viewing and grouping this resource (across resource groups). A maximum of 15 tags can be provided for a resource. Each tag must have a key no greater in length than 128 characters and a value no greater in length than 256 characters. + /// + public InputMap Tags + { + get => _tags ?? (_tags = new InputMap()); + set => _tags = value; + } + + /// + /// the location of the resource that the autoscale setting should be added to. + /// + [Input("targetResourceLocation")] + public Input? TargetResourceLocation { get; set; } + + /// + /// the resource identifier of the resource that the autoscale setting should be added to. + /// + [Input("targetResourceUri")] + public Input? TargetResourceUri { get; set; } + + public AutoscaleSettingArgs() + { + Enabled = false; + } + public static new AutoscaleSettingArgs Empty => new AutoscaleSettingArgs(); + } +} diff --git a/sdk/dotnet/Monitor/DiagnosticSetting.cs b/sdk/dotnet/Monitor/DiagnosticSetting.cs new file mode 100644 index 000000000000..190d51bb35bb --- /dev/null +++ b/sdk/dotnet/Monitor/DiagnosticSetting.cs @@ -0,0 +1,233 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Monitor +{ + /// + /// The diagnostic setting resource. + /// + /// Uses Azure REST API version 2021-05-01-preview. + /// + [AzureNativeResourceType("azure-native:monitor:DiagnosticSetting")] + public partial class DiagnosticSetting : global::Pulumi.CustomResource + { + /// + /// The Azure API version of the resource. + /// + [Output("azureApiVersion")] + public Output AzureApiVersion { get; private set; } = null!; + + /// + /// The resource Id for the event hub authorization rule. + /// + [Output("eventHubAuthorizationRuleId")] + public Output EventHubAuthorizationRuleId { get; private set; } = null!; + + /// + /// The name of the event hub. If none is specified, the default event hub will be selected. + /// + [Output("eventHubName")] + public Output EventHubName { get; private set; } = null!; + + /// + /// A string indicating whether the export to Log Analytics should use the default destination type, i.e. AzureDiagnostics, or use a destination type constructed as follows: <normalized service identity>_<normalized category name>. Possible values are: Dedicated and null (null is default.) + /// + [Output("logAnalyticsDestinationType")] + public Output LogAnalyticsDestinationType { get; private set; } = null!; + + /// + /// The list of logs settings. + /// + [Output("logs")] + public Output> Logs { get; private set; } = null!; + + /// + /// The full ARM resource ID of the Marketplace resource to which you would like to send Diagnostic Logs. + /// + [Output("marketplacePartnerId")] + public Output MarketplacePartnerId { get; private set; } = null!; + + /// + /// The list of metric settings. + /// + [Output("metrics")] + public Output> Metrics { get; private set; } = null!; + + /// + /// The name of the resource + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + /// + /// The service bus rule Id of the diagnostic setting. This is here to maintain backwards compatibility. + /// + [Output("serviceBusRuleId")] + public Output ServiceBusRuleId { get; private set; } = null!; + + /// + /// The resource ID of the storage account to which you would like to send Diagnostic Logs. + /// + [Output("storageAccountId")] + public Output StorageAccountId { get; private set; } = null!; + + /// + /// The system metadata related to this resource. + /// + [Output("systemData")] + public Output SystemData { get; private set; } = null!; + + /// + /// The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + /// + [Output("type")] + public Output Type { get; private set; } = null!; + + /// + /// The full ARM resource ID of the Log Analytics workspace to which you would like to send Diagnostic Logs. Example: /subscriptions/4b9e8510-67ab-4e9a-95a9-e2f1e570ea9c/resourceGroups/insights-integration/providers/Microsoft.OperationalInsights/workspaces/viruela2 + /// + [Output("workspaceId")] + public Output WorkspaceId { get; private set; } = null!; + + + /// + /// Create a DiagnosticSetting resource with the given unique name, arguments, and options. + /// + /// + /// The unique name of the resource + /// The arguments used to populate this resource's properties + /// A bag of options that control this resource's behavior + public DiagnosticSetting(string name, DiagnosticSettingArgs args, CustomResourceOptions? options = null) + : base("azure-native:monitor:DiagnosticSetting", name, args ?? new DiagnosticSettingArgs(), MakeResourceOptions(options, "")) + { + } + + private DiagnosticSetting(string name, Input id, CustomResourceOptions? options = null) + : base("azure-native:monitor:DiagnosticSetting", name, null, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + Aliases = + { + new global::Pulumi.Alias { Type = "azure-native:insights/v20210501preview:DiagnosticSetting" }, + new global::Pulumi.Alias { Type = "azure-native:insights:DiagnosticSetting" }, + new global::Pulumi.Alias { Type = "azure-native:monitor/v20170501preview:DiagnosticSetting" }, + new global::Pulumi.Alias { Type = "azure-native:monitor/v20210501preview:DiagnosticSetting" }, + }, + }; + var merged = CustomResourceOptions.Merge(defaultOptions, options); + // Override the ID if one was specified for consistency with other language SDKs. + merged.Id = id ?? merged.Id; + return merged; + } + /// + /// Get an existing DiagnosticSetting resource's state with the given name, ID, and optional extra + /// properties used to qualify the lookup. + /// + /// + /// The unique name of the resulting resource. + /// The unique provider ID of the resource to lookup. + /// A bag of options that control this resource's behavior + public static DiagnosticSetting Get(string name, Input id, CustomResourceOptions? options = null) + { + return new DiagnosticSetting(name, id, options); + } + } + + public sealed class DiagnosticSettingArgs : global::Pulumi.ResourceArgs + { + /// + /// The resource Id for the event hub authorization rule. + /// + [Input("eventHubAuthorizationRuleId")] + public Input? EventHubAuthorizationRuleId { get; set; } + + /// + /// The name of the event hub. If none is specified, the default event hub will be selected. + /// + [Input("eventHubName")] + public Input? EventHubName { get; set; } + + /// + /// A string indicating whether the export to Log Analytics should use the default destination type, i.e. AzureDiagnostics, or use a destination type constructed as follows: <normalized service identity>_<normalized category name>. Possible values are: Dedicated and null (null is default.) + /// + [Input("logAnalyticsDestinationType")] + public Input? LogAnalyticsDestinationType { get; set; } + + [Input("logs")] + private InputList? _logs; + + /// + /// The list of logs settings. + /// + public InputList Logs + { + get => _logs ?? (_logs = new InputList()); + set => _logs = value; + } + + /// + /// The full ARM resource ID of the Marketplace resource to which you would like to send Diagnostic Logs. + /// + [Input("marketplacePartnerId")] + public Input? MarketplacePartnerId { get; set; } + + [Input("metrics")] + private InputList? _metrics; + + /// + /// The list of metric settings. + /// + public InputList Metrics + { + get => _metrics ?? (_metrics = new InputList()); + set => _metrics = value; + } + + /// + /// The name of the diagnostic setting. + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// The identifier of the resource. + /// + [Input("resourceUri", required: true)] + public Input ResourceUri { get; set; } = null!; + + /// + /// The service bus rule Id of the diagnostic setting. This is here to maintain backwards compatibility. + /// + [Input("serviceBusRuleId")] + public Input? ServiceBusRuleId { get; set; } + + /// + /// The resource ID of the storage account to which you would like to send Diagnostic Logs. + /// + [Input("storageAccountId")] + public Input? StorageAccountId { get; set; } + + /// + /// The full ARM resource ID of the Log Analytics workspace to which you would like to send Diagnostic Logs. Example: /subscriptions/4b9e8510-67ab-4e9a-95a9-e2f1e570ea9c/resourceGroups/insights-integration/providers/Microsoft.OperationalInsights/workspaces/viruela2 + /// + [Input("workspaceId")] + public Input? WorkspaceId { get; set; } + + public DiagnosticSettingArgs() + { + } + public static new DiagnosticSettingArgs Empty => new DiagnosticSettingArgs(); + } +} diff --git a/sdk/dotnet/Monitor/Enums.cs b/sdk/dotnet/Monitor/Enums.cs index 0b501b781b8c..55a556af4f61 100644 --- a/sdk/dotnet/Monitor/Enums.cs +++ b/sdk/dotnet/Monitor/Enums.cs @@ -38,6 +38,41 @@ private AccessMode(string value) public override string ToString() => _value; } + /// + /// the operator that is used to compare the metric data and the threshold. + /// + [EnumType] + public readonly struct ComparisonOperationType : IEquatable + { + private readonly string _value; + + private ComparisonOperationType(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static ComparisonOperationType EqualsValue { get; } = new ComparisonOperationType("Equals"); + public static ComparisonOperationType NotEquals { get; } = new ComparisonOperationType("NotEquals"); + public static ComparisonOperationType GreaterThan { get; } = new ComparisonOperationType("GreaterThan"); + public static ComparisonOperationType GreaterThanOrEqual { get; } = new ComparisonOperationType("GreaterThanOrEqual"); + public static ComparisonOperationType LessThan { get; } = new ComparisonOperationType("LessThan"); + public static ComparisonOperationType LessThanOrEqual { get; } = new ComparisonOperationType("LessThanOrEqual"); + + public static bool operator ==(ComparisonOperationType left, ComparisonOperationType right) => left.Equals(right); + public static bool operator !=(ComparisonOperationType left, ComparisonOperationType right) => !left.Equals(right); + + public static explicit operator string(ComparisonOperationType value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is ComparisonOperationType other && Equals(other); + public bool Equals(ComparisonOperationType other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + /// /// The criteria operator. Relevant and required only for rules of the kind LogAlert. /// @@ -406,6 +441,70 @@ private ManagedServiceIdentityType(string value) public override string ToString() => _value; } + /// + /// the metric statistic type. How the metrics from multiple instances are combined. + /// + [EnumType] + public readonly struct MetricStatisticType : IEquatable + { + private readonly string _value; + + private MetricStatisticType(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static MetricStatisticType Average { get; } = new MetricStatisticType("Average"); + public static MetricStatisticType Min { get; } = new MetricStatisticType("Min"); + public static MetricStatisticType Max { get; } = new MetricStatisticType("Max"); + public static MetricStatisticType Sum { get; } = new MetricStatisticType("Sum"); + public static MetricStatisticType Count { get; } = new MetricStatisticType("Count"); + + public static bool operator ==(MetricStatisticType left, MetricStatisticType right) => left.Equals(right); + public static bool operator !=(MetricStatisticType left, MetricStatisticType right) => !left.Equals(right); + + public static explicit operator string(MetricStatisticType value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is MetricStatisticType other && Equals(other); + public bool Equals(MetricStatisticType other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// the operation associated with the notification and its value must be "scale" + /// + [EnumType] + public readonly struct OperationType : IEquatable + { + private readonly string _value; + + private OperationType(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static OperationType Scale { get; } = new OperationType("Scale"); + + public static bool operator ==(OperationType left, OperationType right) => left.Equals(right); + public static bool operator !=(OperationType left, OperationType right) => !left.Equals(right); + + public static explicit operator string(OperationType value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is OperationType other && Equals(other); + public bool Equals(OperationType other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + /// /// The type of pipeline /// @@ -439,6 +538,38 @@ private PipelineType(string value) public override string ToString() => _value; } + /// + /// the predictive autoscale mode + /// + [EnumType] + public readonly struct PredictiveAutoscalePolicyScaleMode : IEquatable + { + private readonly string _value; + + private PredictiveAutoscalePolicyScaleMode(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static PredictiveAutoscalePolicyScaleMode Disabled { get; } = new PredictiveAutoscalePolicyScaleMode("Disabled"); + public static PredictiveAutoscalePolicyScaleMode ForecastOnly { get; } = new PredictiveAutoscalePolicyScaleMode("ForecastOnly"); + public static PredictiveAutoscalePolicyScaleMode Enabled { get; } = new PredictiveAutoscalePolicyScaleMode("Enabled"); + + public static bool operator ==(PredictiveAutoscalePolicyScaleMode left, PredictiveAutoscalePolicyScaleMode right) => left.Equals(right); + public static bool operator !=(PredictiveAutoscalePolicyScaleMode left, PredictiveAutoscalePolicyScaleMode right) => !left.Equals(right); + + public static explicit operator string(PredictiveAutoscalePolicyScaleMode value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is PredictiveAutoscalePolicyScaleMode other && Equals(other); + public bool Equals(PredictiveAutoscalePolicyScaleMode other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + /// /// Indicates whether the connection has been Approved/Rejected/Removed by the owner of the service. /// @@ -553,6 +684,139 @@ private ReceiverType(string value) public override string ToString() => _value; } + /// + /// the recurrence frequency. How often the schedule profile should take effect. This value must be Week, meaning each week will have the same set of profiles. For example, to set a daily schedule, set **schedule** to every day of the week. The frequency property specifies that the schedule is repeated weekly. + /// + [EnumType] + public readonly struct RecurrenceFrequency : IEquatable + { + private readonly string _value; + + private RecurrenceFrequency(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static RecurrenceFrequency None { get; } = new RecurrenceFrequency("None"); + public static RecurrenceFrequency Second { get; } = new RecurrenceFrequency("Second"); + public static RecurrenceFrequency Minute { get; } = new RecurrenceFrequency("Minute"); + public static RecurrenceFrequency Hour { get; } = new RecurrenceFrequency("Hour"); + public static RecurrenceFrequency Day { get; } = new RecurrenceFrequency("Day"); + public static RecurrenceFrequency Week { get; } = new RecurrenceFrequency("Week"); + public static RecurrenceFrequency Month { get; } = new RecurrenceFrequency("Month"); + public static RecurrenceFrequency Year { get; } = new RecurrenceFrequency("Year"); + + public static bool operator ==(RecurrenceFrequency left, RecurrenceFrequency right) => left.Equals(right); + public static bool operator !=(RecurrenceFrequency left, RecurrenceFrequency right) => !left.Equals(right); + + public static explicit operator string(RecurrenceFrequency value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is RecurrenceFrequency other && Equals(other); + public bool Equals(RecurrenceFrequency other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// the scale direction. Whether the scaling action increases or decreases the number of instances. + /// + [EnumType] + public readonly struct ScaleDirection : IEquatable + { + private readonly string _value; + + private ScaleDirection(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static ScaleDirection None { get; } = new ScaleDirection("None"); + public static ScaleDirection Increase { get; } = new ScaleDirection("Increase"); + public static ScaleDirection Decrease { get; } = new ScaleDirection("Decrease"); + + public static bool operator ==(ScaleDirection left, ScaleDirection right) => left.Equals(right); + public static bool operator !=(ScaleDirection left, ScaleDirection right) => !left.Equals(right); + + public static explicit operator string(ScaleDirection value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is ScaleDirection other && Equals(other); + public bool Equals(ScaleDirection other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// the dimension operator. Only 'Equals' and 'NotEquals' are supported. 'Equals' being equal to any of the values. 'NotEquals' being not equal to all of the values + /// + [EnumType] + public readonly struct ScaleRuleMetricDimensionOperationType : IEquatable + { + private readonly string _value; + + private ScaleRuleMetricDimensionOperationType(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static ScaleRuleMetricDimensionOperationType EqualsValue { get; } = new ScaleRuleMetricDimensionOperationType("Equals"); + public static ScaleRuleMetricDimensionOperationType NotEquals { get; } = new ScaleRuleMetricDimensionOperationType("NotEquals"); + + public static bool operator ==(ScaleRuleMetricDimensionOperationType left, ScaleRuleMetricDimensionOperationType right) => left.Equals(right); + public static bool operator !=(ScaleRuleMetricDimensionOperationType left, ScaleRuleMetricDimensionOperationType right) => !left.Equals(right); + + public static explicit operator string(ScaleRuleMetricDimensionOperationType value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is ScaleRuleMetricDimensionOperationType other && Equals(other); + public bool Equals(ScaleRuleMetricDimensionOperationType other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// the type of action that should occur when the scale rule fires. + /// + [EnumType] + public readonly struct ScaleType : IEquatable + { + private readonly string _value; + + private ScaleType(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static ScaleType ChangeCount { get; } = new ScaleType("ChangeCount"); + public static ScaleType PercentChangeCount { get; } = new ScaleType("PercentChangeCount"); + public static ScaleType ExactCount { get; } = new ScaleType("ExactCount"); + public static ScaleType ServiceAllowedNextValue { get; } = new ScaleType("ServiceAllowedNextValue"); + + public static bool operator ==(ScaleType left, ScaleType right) => left.Equals(right); + public static bool operator !=(ScaleType left, ScaleType right) => !left.Equals(right); + + public static explicit operator string(ScaleType value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is ScaleType other && Equals(other); + public bool Equals(ScaleType other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + /// /// The kind of scoped Azure monitor resource. /// @@ -707,4 +971,39 @@ private TimeAggregation(string value) public override string ToString() => _value; } + + /// + /// time aggregation type. How the data that is collected should be combined over time. The default value is Average. + /// + [EnumType] + public readonly struct TimeAggregationType : IEquatable + { + private readonly string _value; + + private TimeAggregationType(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static TimeAggregationType Average { get; } = new TimeAggregationType("Average"); + public static TimeAggregationType Minimum { get; } = new TimeAggregationType("Minimum"); + public static TimeAggregationType Maximum { get; } = new TimeAggregationType("Maximum"); + public static TimeAggregationType Total { get; } = new TimeAggregationType("Total"); + public static TimeAggregationType Count { get; } = new TimeAggregationType("Count"); + public static TimeAggregationType Last { get; } = new TimeAggregationType("Last"); + + public static bool operator ==(TimeAggregationType left, TimeAggregationType right) => left.Equals(right); + public static bool operator !=(TimeAggregationType left, TimeAggregationType right) => !left.Equals(right); + + public static explicit operator string(TimeAggregationType value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is TimeAggregationType other && Equals(other); + public bool Equals(TimeAggregationType other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } } diff --git a/sdk/dotnet/Monitor/GetAutoscaleSetting.cs b/sdk/dotnet/Monitor/GetAutoscaleSetting.cs new file mode 100644 index 000000000000..1187fd365d74 --- /dev/null +++ b/sdk/dotnet/Monitor/GetAutoscaleSetting.cs @@ -0,0 +1,145 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Monitor +{ + public static class GetAutoscaleSetting + { + /// + /// Gets an autoscale setting + /// + /// Uses Azure REST API version 2021-05-01-preview. + /// + public static Task InvokeAsync(GetAutoscaleSettingArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("azure-native:monitor:getAutoscaleSetting", args ?? new GetAutoscaleSettingArgs(), options.WithDefaults()); + + /// + /// Gets an autoscale setting + /// + /// Uses Azure REST API version 2021-05-01-preview. + /// + public static Output Invoke(GetAutoscaleSettingInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("azure-native:monitor:getAutoscaleSetting", args ?? new GetAutoscaleSettingInvokeArgs(), options.WithDefaults()); + + /// + /// Gets an autoscale setting + /// + /// Uses Azure REST API version 2021-05-01-preview. + /// + public static Output Invoke(GetAutoscaleSettingInvokeArgs args, InvokeOutputOptions options) + => global::Pulumi.Deployment.Instance.Invoke("azure-native:monitor:getAutoscaleSetting", args ?? new GetAutoscaleSettingInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetAutoscaleSettingArgs : global::Pulumi.InvokeArgs + { + /// + /// The autoscale setting name. + /// + [Input("autoscaleSettingName", required: true)] + public string AutoscaleSettingName { get; set; } = null!; + + /// + /// The name of the resource group. The name is case insensitive. + /// + [Input("resourceGroupName", required: true)] + public string ResourceGroupName { get; set; } = null!; + + public GetAutoscaleSettingArgs() + { + } + public static new GetAutoscaleSettingArgs Empty => new GetAutoscaleSettingArgs(); + } + + public sealed class GetAutoscaleSettingInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// The autoscale setting name. + /// + [Input("autoscaleSettingName", required: true)] + public Input AutoscaleSettingName { get; set; } = null!; + + /// + /// The name of the resource group. The name is case insensitive. + /// + [Input("resourceGroupName", required: true)] + public Input ResourceGroupName { get; set; } = null!; + + public GetAutoscaleSettingInvokeArgs() + { + } + public static new GetAutoscaleSettingInvokeArgs Empty => new GetAutoscaleSettingInvokeArgs(); + } + + + [OutputType] + public sealed class GetAutoscaleSettingResult + { + /// + /// The Azure API version of the resource. + /// + public readonly string AzureApiVersion; + /// + /// Azure resource Id + /// + public readonly string Id; + /// + /// Resource location + /// + public readonly string Location; + /// + /// Azure resource name + /// + public readonly string Name; + /// + /// The autoscale setting of the resource. + /// + public readonly Outputs.AutoscaleSettingResponse Properties; + /// + /// The system metadata related to the response. + /// + public readonly Outputs.SystemDataResponse SystemData; + /// + /// Gets or sets a list of key value pairs that describe the resource. These tags can be used in viewing and grouping this resource (across resource groups). A maximum of 15 tags can be provided for a resource. Each tag must have a key no greater in length than 128 characters and a value no greater in length than 256 characters. + /// + public readonly ImmutableDictionary? Tags; + /// + /// Azure resource type + /// + public readonly string Type; + + [OutputConstructor] + private GetAutoscaleSettingResult( + string azureApiVersion, + + string id, + + string location, + + string name, + + Outputs.AutoscaleSettingResponse properties, + + Outputs.SystemDataResponse systemData, + + ImmutableDictionary? tags, + + string type) + { + AzureApiVersion = azureApiVersion; + Id = id; + Location = location; + Name = name; + Properties = properties; + SystemData = systemData; + Tags = tags; + Type = type; + } + } +} diff --git a/sdk/dotnet/Monitor/GetDiagnosticSetting.cs b/sdk/dotnet/Monitor/GetDiagnosticSetting.cs new file mode 100644 index 000000000000..53a7995b23f1 --- /dev/null +++ b/sdk/dotnet/Monitor/GetDiagnosticSetting.cs @@ -0,0 +1,187 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Monitor +{ + public static class GetDiagnosticSetting + { + /// + /// Gets the active diagnostic settings for the specified resource. + /// + /// Uses Azure REST API version 2021-05-01-preview. + /// + public static Task InvokeAsync(GetDiagnosticSettingArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("azure-native:monitor:getDiagnosticSetting", args ?? new GetDiagnosticSettingArgs(), options.WithDefaults()); + + /// + /// Gets the active diagnostic settings for the specified resource. + /// + /// Uses Azure REST API version 2021-05-01-preview. + /// + public static Output Invoke(GetDiagnosticSettingInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("azure-native:monitor:getDiagnosticSetting", args ?? new GetDiagnosticSettingInvokeArgs(), options.WithDefaults()); + + /// + /// Gets the active diagnostic settings for the specified resource. + /// + /// Uses Azure REST API version 2021-05-01-preview. + /// + public static Output Invoke(GetDiagnosticSettingInvokeArgs args, InvokeOutputOptions options) + => global::Pulumi.Deployment.Instance.Invoke("azure-native:monitor:getDiagnosticSetting", args ?? new GetDiagnosticSettingInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetDiagnosticSettingArgs : global::Pulumi.InvokeArgs + { + /// + /// The name of the diagnostic setting. + /// + [Input("name", required: true)] + public string Name { get; set; } = null!; + + /// + /// The identifier of the resource. + /// + [Input("resourceUri", required: true)] + public string ResourceUri { get; set; } = null!; + + public GetDiagnosticSettingArgs() + { + } + public static new GetDiagnosticSettingArgs Empty => new GetDiagnosticSettingArgs(); + } + + public sealed class GetDiagnosticSettingInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// The name of the diagnostic setting. + /// + [Input("name", required: true)] + public Input Name { get; set; } = null!; + + /// + /// The identifier of the resource. + /// + [Input("resourceUri", required: true)] + public Input ResourceUri { get; set; } = null!; + + public GetDiagnosticSettingInvokeArgs() + { + } + public static new GetDiagnosticSettingInvokeArgs Empty => new GetDiagnosticSettingInvokeArgs(); + } + + + [OutputType] + public sealed class GetDiagnosticSettingResult + { + /// + /// The Azure API version of the resource. + /// + public readonly string AzureApiVersion; + /// + /// The resource Id for the event hub authorization rule. + /// + public readonly string? EventHubAuthorizationRuleId; + /// + /// The name of the event hub. If none is specified, the default event hub will be selected. + /// + public readonly string? EventHubName; + /// + /// Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + /// + public readonly string Id; + /// + /// A string indicating whether the export to Log Analytics should use the default destination type, i.e. AzureDiagnostics, or use a destination type constructed as follows: <normalized service identity>_<normalized category name>. Possible values are: Dedicated and null (null is default.) + /// + public readonly string? LogAnalyticsDestinationType; + /// + /// The list of logs settings. + /// + public readonly ImmutableArray Logs; + /// + /// The full ARM resource ID of the Marketplace resource to which you would like to send Diagnostic Logs. + /// + public readonly string? MarketplacePartnerId; + /// + /// The list of metric settings. + /// + public readonly ImmutableArray Metrics; + /// + /// The name of the resource + /// + public readonly string Name; + /// + /// The service bus rule Id of the diagnostic setting. This is here to maintain backwards compatibility. + /// + public readonly string? ServiceBusRuleId; + /// + /// The resource ID of the storage account to which you would like to send Diagnostic Logs. + /// + public readonly string? StorageAccountId; + /// + /// The system metadata related to this resource. + /// + public readonly Outputs.SystemDataResponse SystemData; + /// + /// The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + /// + public readonly string Type; + /// + /// The full ARM resource ID of the Log Analytics workspace to which you would like to send Diagnostic Logs. Example: /subscriptions/4b9e8510-67ab-4e9a-95a9-e2f1e570ea9c/resourceGroups/insights-integration/providers/Microsoft.OperationalInsights/workspaces/viruela2 + /// + public readonly string? WorkspaceId; + + [OutputConstructor] + private GetDiagnosticSettingResult( + string azureApiVersion, + + string? eventHubAuthorizationRuleId, + + string? eventHubName, + + string id, + + string? logAnalyticsDestinationType, + + ImmutableArray logs, + + string? marketplacePartnerId, + + ImmutableArray metrics, + + string name, + + string? serviceBusRuleId, + + string? storageAccountId, + + Outputs.SystemDataResponse systemData, + + string type, + + string? workspaceId) + { + AzureApiVersion = azureApiVersion; + EventHubAuthorizationRuleId = eventHubAuthorizationRuleId; + EventHubName = eventHubName; + Id = id; + LogAnalyticsDestinationType = logAnalyticsDestinationType; + Logs = logs; + MarketplacePartnerId = marketplacePartnerId; + Metrics = metrics; + Name = name; + ServiceBusRuleId = serviceBusRuleId; + StorageAccountId = storageAccountId; + SystemData = systemData; + Type = type; + WorkspaceId = workspaceId; + } + } +} diff --git a/sdk/dotnet/Monitor/GetManagementGroupDiagnosticSetting.cs b/sdk/dotnet/Monitor/GetManagementGroupDiagnosticSetting.cs new file mode 100644 index 000000000000..f4fd46cd466f --- /dev/null +++ b/sdk/dotnet/Monitor/GetManagementGroupDiagnosticSetting.cs @@ -0,0 +1,173 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Monitor +{ + public static class GetManagementGroupDiagnosticSetting + { + /// + /// Gets the active management group diagnostic settings for the specified resource. + /// + /// Uses Azure REST API version 2021-05-01-preview. + /// + public static Task InvokeAsync(GetManagementGroupDiagnosticSettingArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("azure-native:monitor:getManagementGroupDiagnosticSetting", args ?? new GetManagementGroupDiagnosticSettingArgs(), options.WithDefaults()); + + /// + /// Gets the active management group diagnostic settings for the specified resource. + /// + /// Uses Azure REST API version 2021-05-01-preview. + /// + public static Output Invoke(GetManagementGroupDiagnosticSettingInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("azure-native:monitor:getManagementGroupDiagnosticSetting", args ?? new GetManagementGroupDiagnosticSettingInvokeArgs(), options.WithDefaults()); + + /// + /// Gets the active management group diagnostic settings for the specified resource. + /// + /// Uses Azure REST API version 2021-05-01-preview. + /// + public static Output Invoke(GetManagementGroupDiagnosticSettingInvokeArgs args, InvokeOutputOptions options) + => global::Pulumi.Deployment.Instance.Invoke("azure-native:monitor:getManagementGroupDiagnosticSetting", args ?? new GetManagementGroupDiagnosticSettingInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetManagementGroupDiagnosticSettingArgs : global::Pulumi.InvokeArgs + { + /// + /// The management group id. + /// + [Input("managementGroupId", required: true)] + public string ManagementGroupId { get; set; } = null!; + + /// + /// The name of the diagnostic setting. + /// + [Input("name", required: true)] + public string Name { get; set; } = null!; + + public GetManagementGroupDiagnosticSettingArgs() + { + } + public static new GetManagementGroupDiagnosticSettingArgs Empty => new GetManagementGroupDiagnosticSettingArgs(); + } + + public sealed class GetManagementGroupDiagnosticSettingInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// The management group id. + /// + [Input("managementGroupId", required: true)] + public Input ManagementGroupId { get; set; } = null!; + + /// + /// The name of the diagnostic setting. + /// + [Input("name", required: true)] + public Input Name { get; set; } = null!; + + public GetManagementGroupDiagnosticSettingInvokeArgs() + { + } + public static new GetManagementGroupDiagnosticSettingInvokeArgs Empty => new GetManagementGroupDiagnosticSettingInvokeArgs(); + } + + + [OutputType] + public sealed class GetManagementGroupDiagnosticSettingResult + { + /// + /// The Azure API version of the resource. + /// + public readonly string AzureApiVersion; + /// + /// The resource Id for the event hub authorization rule. + /// + public readonly string? EventHubAuthorizationRuleId; + /// + /// The name of the event hub. If none is specified, the default event hub will be selected. + /// + public readonly string? EventHubName; + /// + /// Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + /// + public readonly string Id; + /// + /// The list of logs settings. + /// + public readonly ImmutableArray Logs; + /// + /// The full ARM resource ID of the Marketplace resource to which you would like to send Diagnostic Logs. + /// + public readonly string? MarketplacePartnerId; + /// + /// The name of the resource + /// + public readonly string Name; + /// + /// The service bus rule Id of the diagnostic setting. This is here to maintain backwards compatibility. + /// + public readonly string? ServiceBusRuleId; + /// + /// The resource ID of the storage account to which you would like to send Diagnostic Logs. + /// + public readonly string? StorageAccountId; + /// + /// The system metadata related to this resource. + /// + public readonly Outputs.SystemDataResponse SystemData; + /// + /// The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + /// + public readonly string Type; + /// + /// The full ARM resource ID of the Log Analytics workspace to which you would like to send Diagnostic Logs. Example: /subscriptions/4b9e8510-67ab-4e9a-95a9-e2f1e570ea9c/resourceGroups/insights-integration/providers/Microsoft.OperationalInsights/workspaces/viruela2 + /// + public readonly string? WorkspaceId; + + [OutputConstructor] + private GetManagementGroupDiagnosticSettingResult( + string azureApiVersion, + + string? eventHubAuthorizationRuleId, + + string? eventHubName, + + string id, + + ImmutableArray logs, + + string? marketplacePartnerId, + + string name, + + string? serviceBusRuleId, + + string? storageAccountId, + + Outputs.SystemDataResponse systemData, + + string type, + + string? workspaceId) + { + AzureApiVersion = azureApiVersion; + EventHubAuthorizationRuleId = eventHubAuthorizationRuleId; + EventHubName = eventHubName; + Id = id; + Logs = logs; + MarketplacePartnerId = marketplacePartnerId; + Name = name; + ServiceBusRuleId = serviceBusRuleId; + StorageAccountId = storageAccountId; + SystemData = systemData; + Type = type; + WorkspaceId = workspaceId; + } + } +} diff --git a/sdk/dotnet/Monitor/GetSubscriptionDiagnosticSetting.cs b/sdk/dotnet/Monitor/GetSubscriptionDiagnosticSetting.cs new file mode 100644 index 000000000000..448a2be08af2 --- /dev/null +++ b/sdk/dotnet/Monitor/GetSubscriptionDiagnosticSetting.cs @@ -0,0 +1,161 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Monitor +{ + public static class GetSubscriptionDiagnosticSetting + { + /// + /// Gets the active subscription diagnostic settings for the specified resource. + /// + /// Uses Azure REST API version 2021-05-01-preview. + /// + public static Task InvokeAsync(GetSubscriptionDiagnosticSettingArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("azure-native:monitor:getSubscriptionDiagnosticSetting", args ?? new GetSubscriptionDiagnosticSettingArgs(), options.WithDefaults()); + + /// + /// Gets the active subscription diagnostic settings for the specified resource. + /// + /// Uses Azure REST API version 2021-05-01-preview. + /// + public static Output Invoke(GetSubscriptionDiagnosticSettingInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("azure-native:monitor:getSubscriptionDiagnosticSetting", args ?? new GetSubscriptionDiagnosticSettingInvokeArgs(), options.WithDefaults()); + + /// + /// Gets the active subscription diagnostic settings for the specified resource. + /// + /// Uses Azure REST API version 2021-05-01-preview. + /// + public static Output Invoke(GetSubscriptionDiagnosticSettingInvokeArgs args, InvokeOutputOptions options) + => global::Pulumi.Deployment.Instance.Invoke("azure-native:monitor:getSubscriptionDiagnosticSetting", args ?? new GetSubscriptionDiagnosticSettingInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetSubscriptionDiagnosticSettingArgs : global::Pulumi.InvokeArgs + { + /// + /// The name of the diagnostic setting. + /// + [Input("name", required: true)] + public string Name { get; set; } = null!; + + public GetSubscriptionDiagnosticSettingArgs() + { + } + public static new GetSubscriptionDiagnosticSettingArgs Empty => new GetSubscriptionDiagnosticSettingArgs(); + } + + public sealed class GetSubscriptionDiagnosticSettingInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// The name of the diagnostic setting. + /// + [Input("name", required: true)] + public Input Name { get; set; } = null!; + + public GetSubscriptionDiagnosticSettingInvokeArgs() + { + } + public static new GetSubscriptionDiagnosticSettingInvokeArgs Empty => new GetSubscriptionDiagnosticSettingInvokeArgs(); + } + + + [OutputType] + public sealed class GetSubscriptionDiagnosticSettingResult + { + /// + /// The Azure API version of the resource. + /// + public readonly string AzureApiVersion; + /// + /// The resource Id for the event hub authorization rule. + /// + public readonly string? EventHubAuthorizationRuleId; + /// + /// The name of the event hub. If none is specified, the default event hub will be selected. + /// + public readonly string? EventHubName; + /// + /// Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + /// + public readonly string Id; + /// + /// The list of logs settings. + /// + public readonly ImmutableArray Logs; + /// + /// The full ARM resource ID of the Marketplace resource to which you would like to send Diagnostic Logs. + /// + public readonly string? MarketplacePartnerId; + /// + /// The name of the resource + /// + public readonly string Name; + /// + /// The service bus rule Id of the diagnostic setting. This is here to maintain backwards compatibility. + /// + public readonly string? ServiceBusRuleId; + /// + /// The resource ID of the storage account to which you would like to send Diagnostic Logs. + /// + public readonly string? StorageAccountId; + /// + /// The system metadata related to this resource. + /// + public readonly Outputs.SystemDataResponse SystemData; + /// + /// The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + /// + public readonly string Type; + /// + /// The full ARM resource ID of the Log Analytics workspace to which you would like to send Diagnostic Logs. Example: /subscriptions/4b9e8510-67ab-4e9a-95a9-e2f1e570ea9c/resourceGroups/insights-integration/providers/Microsoft.OperationalInsights/workspaces/viruela2 + /// + public readonly string? WorkspaceId; + + [OutputConstructor] + private GetSubscriptionDiagnosticSettingResult( + string azureApiVersion, + + string? eventHubAuthorizationRuleId, + + string? eventHubName, + + string id, + + ImmutableArray logs, + + string? marketplacePartnerId, + + string name, + + string? serviceBusRuleId, + + string? storageAccountId, + + Outputs.SystemDataResponse systemData, + + string type, + + string? workspaceId) + { + AzureApiVersion = azureApiVersion; + EventHubAuthorizationRuleId = eventHubAuthorizationRuleId; + EventHubName = eventHubName; + Id = id; + Logs = logs; + MarketplacePartnerId = marketplacePartnerId; + Name = name; + ServiceBusRuleId = serviceBusRuleId; + StorageAccountId = storageAccountId; + SystemData = systemData; + Type = type; + WorkspaceId = workspaceId; + } + } +} diff --git a/sdk/dotnet/Monitor/Inputs/AutoscaleNotificationArgs.cs b/sdk/dotnet/Monitor/Inputs/AutoscaleNotificationArgs.cs new file mode 100644 index 000000000000..8e84555ce5d0 --- /dev/null +++ b/sdk/dotnet/Monitor/Inputs/AutoscaleNotificationArgs.cs @@ -0,0 +1,47 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Monitor.Inputs +{ + + /// + /// Autoscale notification. + /// + public sealed class AutoscaleNotificationArgs : global::Pulumi.ResourceArgs + { + /// + /// the email notification. + /// + [Input("email")] + public Input? Email { get; set; } + + /// + /// the operation associated with the notification and its value must be "scale" + /// + [Input("operation", required: true)] + public Input Operation { get; set; } = null!; + + [Input("webhooks")] + private InputList? _webhooks; + + /// + /// the collection of webhook notifications. + /// + public InputList Webhooks + { + get => _webhooks ?? (_webhooks = new InputList()); + set => _webhooks = value; + } + + public AutoscaleNotificationArgs() + { + } + public static new AutoscaleNotificationArgs Empty => new AutoscaleNotificationArgs(); + } +} diff --git a/sdk/dotnet/Monitor/Inputs/AutoscaleProfileArgs.cs b/sdk/dotnet/Monitor/Inputs/AutoscaleProfileArgs.cs new file mode 100644 index 000000000000..d6fedf0307b3 --- /dev/null +++ b/sdk/dotnet/Monitor/Inputs/AutoscaleProfileArgs.cs @@ -0,0 +1,59 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Monitor.Inputs +{ + + /// + /// Autoscale profile. + /// + public sealed class AutoscaleProfileArgs : global::Pulumi.ResourceArgs + { + /// + /// the number of instances that can be used during this profile. + /// + [Input("capacity", required: true)] + public Input Capacity { get; set; } = null!; + + /// + /// the specific date-time for the profile. This element is not used if the Recurrence element is used. + /// + [Input("fixedDate")] + public Input? FixedDate { get; set; } + + /// + /// the name of the profile. + /// + [Input("name", required: true)] + public Input Name { get; set; } = null!; + + /// + /// the repeating times at which this profile begins. This element is not used if the FixedDate element is used. + /// + [Input("recurrence")] + public Input? Recurrence { get; set; } + + [Input("rules", required: true)] + private InputList? _rules; + + /// + /// the collection of rules that provide the triggers and parameters for the scaling action. A maximum of 10 rules can be specified. + /// + public InputList Rules + { + get => _rules ?? (_rules = new InputList()); + set => _rules = value; + } + + public AutoscaleProfileArgs() + { + } + public static new AutoscaleProfileArgs Empty => new AutoscaleProfileArgs(); + } +} diff --git a/sdk/dotnet/Monitor/Inputs/EmailNotificationArgs.cs b/sdk/dotnet/Monitor/Inputs/EmailNotificationArgs.cs new file mode 100644 index 000000000000..1a203a5a011c --- /dev/null +++ b/sdk/dotnet/Monitor/Inputs/EmailNotificationArgs.cs @@ -0,0 +1,49 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Monitor.Inputs +{ + + /// + /// Email notification of an autoscale event. + /// + public sealed class EmailNotificationArgs : global::Pulumi.ResourceArgs + { + [Input("customEmails")] + private InputList? _customEmails; + + /// + /// the custom e-mails list. This value can be null or empty, in which case this attribute will be ignored. + /// + public InputList CustomEmails + { + get => _customEmails ?? (_customEmails = new InputList()); + set => _customEmails = value; + } + + /// + /// a value indicating whether to send email to subscription administrator. + /// + [Input("sendToSubscriptionAdministrator")] + public Input? SendToSubscriptionAdministrator { get; set; } + + /// + /// a value indicating whether to send email to subscription co-administrators. + /// + [Input("sendToSubscriptionCoAdministrators")] + public Input? SendToSubscriptionCoAdministrators { get; set; } + + public EmailNotificationArgs() + { + SendToSubscriptionAdministrator = false; + SendToSubscriptionCoAdministrators = false; + } + public static new EmailNotificationArgs Empty => new EmailNotificationArgs(); + } +} diff --git a/sdk/dotnet/Monitor/Inputs/LogSettingsArgs.cs b/sdk/dotnet/Monitor/Inputs/LogSettingsArgs.cs new file mode 100644 index 000000000000..054fc9aed966 --- /dev/null +++ b/sdk/dotnet/Monitor/Inputs/LogSettingsArgs.cs @@ -0,0 +1,47 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Monitor.Inputs +{ + + /// + /// Part of MultiTenantDiagnosticSettings. Specifies the settings for a particular log. + /// + public sealed class LogSettingsArgs : global::Pulumi.ResourceArgs + { + /// + /// Name of a Diagnostic Log category for a resource type this setting is applied to. To obtain the list of Diagnostic Log categories for a resource, first perform a GET diagnostic settings operation. + /// + [Input("category")] + public Input? Category { get; set; } + + /// + /// Name of a Diagnostic Log category group for a resource type this setting is applied to. To obtain the list of Diagnostic Log categories for a resource, first perform a GET diagnostic settings operation. + /// + [Input("categoryGroup")] + public Input? CategoryGroup { get; set; } + + /// + /// a value indicating whether this log is enabled. + /// + [Input("enabled", required: true)] + public Input Enabled { get; set; } = null!; + + /// + /// the retention policy for this log. + /// + [Input("retentionPolicy")] + public Input? RetentionPolicy { get; set; } + + public LogSettingsArgs() + { + } + public static new LogSettingsArgs Empty => new LogSettingsArgs(); + } +} diff --git a/sdk/dotnet/Monitor/Inputs/ManagementGroupLogSettingsArgs.cs b/sdk/dotnet/Monitor/Inputs/ManagementGroupLogSettingsArgs.cs new file mode 100644 index 000000000000..28e98e4a8b1d --- /dev/null +++ b/sdk/dotnet/Monitor/Inputs/ManagementGroupLogSettingsArgs.cs @@ -0,0 +1,41 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Monitor.Inputs +{ + + /// + /// Part of Management Group diagnostic setting. Specifies the settings for a particular log. + /// + public sealed class ManagementGroupLogSettingsArgs : global::Pulumi.ResourceArgs + { + /// + /// Name of a Management Group Diagnostic Log category for a resource type this setting is applied to. + /// + [Input("category")] + public Input? Category { get; set; } + + /// + /// Name of a Management Group Diagnostic Log category group for a resource type this setting is applied to. + /// + [Input("categoryGroup")] + public Input? CategoryGroup { get; set; } + + /// + /// a value indicating whether this log is enabled. + /// + [Input("enabled", required: true)] + public Input Enabled { get; set; } = null!; + + public ManagementGroupLogSettingsArgs() + { + } + public static new ManagementGroupLogSettingsArgs Empty => new ManagementGroupLogSettingsArgs(); + } +} diff --git a/sdk/dotnet/Monitor/Inputs/MetricSettingsArgs.cs b/sdk/dotnet/Monitor/Inputs/MetricSettingsArgs.cs new file mode 100644 index 000000000000..1c90fa0f73a0 --- /dev/null +++ b/sdk/dotnet/Monitor/Inputs/MetricSettingsArgs.cs @@ -0,0 +1,47 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Monitor.Inputs +{ + + /// + /// Part of MultiTenantDiagnosticSettings. Specifies the settings for a particular metric. + /// + public sealed class MetricSettingsArgs : global::Pulumi.ResourceArgs + { + /// + /// Name of a Diagnostic Metric category for a resource type this setting is applied to. To obtain the list of Diagnostic metric categories for a resource, first perform a GET diagnostic settings operation. + /// + [Input("category")] + public Input? Category { get; set; } + + /// + /// a value indicating whether this category is enabled. + /// + [Input("enabled", required: true)] + public Input Enabled { get; set; } = null!; + + /// + /// the retention policy for this category. + /// + [Input("retentionPolicy")] + public Input? RetentionPolicy { get; set; } + + /// + /// the timegrain of the metric in ISO8601 format. + /// + [Input("timeGrain")] + public Input? TimeGrain { get; set; } + + public MetricSettingsArgs() + { + } + public static new MetricSettingsArgs Empty => new MetricSettingsArgs(); + } +} diff --git a/sdk/dotnet/Monitor/Inputs/MetricTriggerArgs.cs b/sdk/dotnet/Monitor/Inputs/MetricTriggerArgs.cs new file mode 100644 index 000000000000..72b3cd5d376d --- /dev/null +++ b/sdk/dotnet/Monitor/Inputs/MetricTriggerArgs.cs @@ -0,0 +1,101 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Monitor.Inputs +{ + + /// + /// The trigger that results in a scaling action. + /// + public sealed class MetricTriggerArgs : global::Pulumi.ResourceArgs + { + [Input("dimensions")] + private InputList? _dimensions; + + /// + /// List of dimension conditions. For example: [{"DimensionName":"AppName","Operator":"Equals","Values":["App1"]},{"DimensionName":"Deployment","Operator":"Equals","Values":["default"]}]. + /// + public InputList Dimensions + { + get => _dimensions ?? (_dimensions = new InputList()); + set => _dimensions = value; + } + + /// + /// a value indicating whether metric should divide per instance. + /// + [Input("dividePerInstance")] + public Input? DividePerInstance { get; set; } + + /// + /// the name of the metric that defines what the rule monitors. + /// + [Input("metricName", required: true)] + public Input MetricName { get; set; } = null!; + + /// + /// the namespace of the metric that defines what the rule monitors. + /// + [Input("metricNamespace")] + public Input? MetricNamespace { get; set; } + + /// + /// the location of the resource the rule monitors. + /// + [Input("metricResourceLocation")] + public Input? MetricResourceLocation { get; set; } + + /// + /// the resource identifier of the resource the rule monitors. + /// + [Input("metricResourceUri", required: true)] + public Input MetricResourceUri { get; set; } = null!; + + /// + /// the operator that is used to compare the metric data and the threshold. + /// + [Input("operator", required: true)] + public Input Operator { get; set; } = null!; + + /// + /// the metric statistic type. How the metrics from multiple instances are combined. + /// + [Input("statistic", required: true)] + public Input Statistic { get; set; } = null!; + + /// + /// the threshold of the metric that triggers the scale action. + /// + [Input("threshold", required: true)] + public Input Threshold { get; set; } = null!; + + /// + /// time aggregation type. How the data that is collected should be combined over time. The default value is Average. + /// + [Input("timeAggregation", required: true)] + public Input TimeAggregation { get; set; } = null!; + + /// + /// the granularity of metrics the rule monitors. Must be one of the predefined values returned from metric definitions for the metric. Must be between 12 hours and 1 minute. + /// + [Input("timeGrain", required: true)] + public Input TimeGrain { get; set; } = null!; + + /// + /// the range of time in which instance data is collected. This value must be greater than the delay in metric collection, which can vary from resource-to-resource. Must be between 12 hours and 5 minutes. + /// + [Input("timeWindow", required: true)] + public Input TimeWindow { get; set; } = null!; + + public MetricTriggerArgs() + { + } + public static new MetricTriggerArgs Empty => new MetricTriggerArgs(); + } +} diff --git a/sdk/dotnet/Monitor/Inputs/PredictiveAutoscalePolicyArgs.cs b/sdk/dotnet/Monitor/Inputs/PredictiveAutoscalePolicyArgs.cs new file mode 100644 index 000000000000..9040343ffa70 --- /dev/null +++ b/sdk/dotnet/Monitor/Inputs/PredictiveAutoscalePolicyArgs.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Monitor.Inputs +{ + + /// + /// The parameters for enabling predictive autoscale. + /// + public sealed class PredictiveAutoscalePolicyArgs : global::Pulumi.ResourceArgs + { + /// + /// the amount of time to specify by which instances are launched in advance. It must be between 1 minute and 60 minutes in ISO 8601 format. + /// + [Input("scaleLookAheadTime")] + public Input? ScaleLookAheadTime { get; set; } + + /// + /// the predictive autoscale mode + /// + [Input("scaleMode", required: true)] + public Input ScaleMode { get; set; } = null!; + + public PredictiveAutoscalePolicyArgs() + { + } + public static new PredictiveAutoscalePolicyArgs Empty => new PredictiveAutoscalePolicyArgs(); + } +} diff --git a/sdk/dotnet/Monitor/Inputs/RecurrenceArgs.cs b/sdk/dotnet/Monitor/Inputs/RecurrenceArgs.cs new file mode 100644 index 000000000000..188a3e7452e1 --- /dev/null +++ b/sdk/dotnet/Monitor/Inputs/RecurrenceArgs.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Monitor.Inputs +{ + + /// + /// The repeating times at which this profile begins. This element is not used if the FixedDate element is used. + /// + public sealed class RecurrenceArgs : global::Pulumi.ResourceArgs + { + /// + /// the recurrence frequency. How often the schedule profile should take effect. This value must be Week, meaning each week will have the same set of profiles. For example, to set a daily schedule, set **schedule** to every day of the week. The frequency property specifies that the schedule is repeated weekly. + /// + [Input("frequency", required: true)] + public Input Frequency { get; set; } = null!; + + /// + /// the scheduling constraints for when the profile begins. + /// + [Input("schedule", required: true)] + public Input Schedule { get; set; } = null!; + + public RecurrenceArgs() + { + } + public static new RecurrenceArgs Empty => new RecurrenceArgs(); + } +} diff --git a/sdk/dotnet/Monitor/Inputs/RecurrentScheduleArgs.cs b/sdk/dotnet/Monitor/Inputs/RecurrentScheduleArgs.cs new file mode 100644 index 000000000000..035db1e627de --- /dev/null +++ b/sdk/dotnet/Monitor/Inputs/RecurrentScheduleArgs.cs @@ -0,0 +1,65 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Monitor.Inputs +{ + + /// + /// The scheduling constraints for when the profile begins. + /// + public sealed class RecurrentScheduleArgs : global::Pulumi.ResourceArgs + { + [Input("days", required: true)] + private InputList? _days; + + /// + /// the collection of days that the profile takes effect on. Possible values are Sunday through Saturday. + /// + public InputList Days + { + get => _days ?? (_days = new InputList()); + set => _days = value; + } + + [Input("hours", required: true)] + private InputList? _hours; + + /// + /// A collection of hours that the profile takes effect on. Values supported are 0 to 23 on the 24-hour clock (AM/PM times are not supported). + /// + public InputList Hours + { + get => _hours ?? (_hours = new InputList()); + set => _hours = value; + } + + [Input("minutes", required: true)] + private InputList? _minutes; + + /// + /// A collection of minutes at which the profile takes effect at. + /// + public InputList Minutes + { + get => _minutes ?? (_minutes = new InputList()); + set => _minutes = value; + } + + /// + /// the timezone for the hours of the profile. Some examples of valid time zones are: Dateline Standard Time, UTC-11, Hawaiian Standard Time, Alaskan Standard Time, Pacific Standard Time (Mexico), Pacific Standard Time, US Mountain Standard Time, Mountain Standard Time (Mexico), Mountain Standard Time, Central America Standard Time, Central Standard Time, Central Standard Time (Mexico), Canada Central Standard Time, SA Pacific Standard Time, Eastern Standard Time, US Eastern Standard Time, Venezuela Standard Time, Paraguay Standard Time, Atlantic Standard Time, Central Brazilian Standard Time, SA Western Standard Time, Pacific SA Standard Time, Newfoundland Standard Time, E. South America Standard Time, Argentina Standard Time, SA Eastern Standard Time, Greenland Standard Time, Montevideo Standard Time, Bahia Standard Time, UTC-02, Mid-Atlantic Standard Time, Azores Standard Time, Cape Verde Standard Time, Morocco Standard Time, UTC, GMT Standard Time, Greenwich Standard Time, W. Europe Standard Time, Central Europe Standard Time, Romance Standard Time, Central European Standard Time, W. Central Africa Standard Time, Namibia Standard Time, Jordan Standard Time, GTB Standard Time, Middle East Standard Time, Egypt Standard Time, Syria Standard Time, E. Europe Standard Time, South Africa Standard Time, FLE Standard Time, Turkey Standard Time, Israel Standard Time, Kaliningrad Standard Time, Libya Standard Time, Arabic Standard Time, Arab Standard Time, Belarus Standard Time, Russian Standard Time, E. Africa Standard Time, Iran Standard Time, Arabian Standard Time, Azerbaijan Standard Time, Russia Time Zone 3, Mauritius Standard Time, Georgian Standard Time, Caucasus Standard Time, Afghanistan Standard Time, West Asia Standard Time, Ekaterinburg Standard Time, Pakistan Standard Time, India Standard Time, Sri Lanka Standard Time, Nepal Standard Time, Central Asia Standard Time, Bangladesh Standard Time, N. Central Asia Standard Time, Myanmar Standard Time, SE Asia Standard Time, North Asia Standard Time, China Standard Time, North Asia East Standard Time, Singapore Standard Time, W. Australia Standard Time, Taipei Standard Time, Ulaanbaatar Standard Time, Tokyo Standard Time, Korea Standard Time, Yakutsk Standard Time, Cen. Australia Standard Time, AUS Central Standard Time, E. Australia Standard Time, AUS Eastern Standard Time, West Pacific Standard Time, Tasmania Standard Time, Magadan Standard Time, Vladivostok Standard Time, Russia Time Zone 10, Central Pacific Standard Time, Russia Time Zone 11, New Zealand Standard Time, UTC+12, Fiji Standard Time, Kamchatka Standard Time, Tonga Standard Time, Samoa Standard Time, Line Islands Standard Time + /// + [Input("timeZone", required: true)] + public Input TimeZone { get; set; } = null!; + + public RecurrentScheduleArgs() + { + } + public static new RecurrentScheduleArgs Empty => new RecurrentScheduleArgs(); + } +} diff --git a/sdk/dotnet/Monitor/Inputs/RetentionPolicyArgs.cs b/sdk/dotnet/Monitor/Inputs/RetentionPolicyArgs.cs new file mode 100644 index 000000000000..3f6132c5b5ec --- /dev/null +++ b/sdk/dotnet/Monitor/Inputs/RetentionPolicyArgs.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Monitor.Inputs +{ + + /// + /// Specifies the retention policy for the log. + /// + public sealed class RetentionPolicyArgs : global::Pulumi.ResourceArgs + { + /// + /// the number of days for the retention in days. A value of 0 will retain the events indefinitely. + /// + [Input("days", required: true)] + public Input Days { get; set; } = null!; + + /// + /// a value indicating whether the retention policy is enabled. + /// + [Input("enabled", required: true)] + public Input Enabled { get; set; } = null!; + + public RetentionPolicyArgs() + { + } + public static new RetentionPolicyArgs Empty => new RetentionPolicyArgs(); + } +} diff --git a/sdk/dotnet/Monitor/Inputs/ScaleActionArgs.cs b/sdk/dotnet/Monitor/Inputs/ScaleActionArgs.cs new file mode 100644 index 000000000000..a8e94c1c7eff --- /dev/null +++ b/sdk/dotnet/Monitor/Inputs/ScaleActionArgs.cs @@ -0,0 +1,48 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Monitor.Inputs +{ + + /// + /// The parameters for the scaling action. + /// + public sealed class ScaleActionArgs : global::Pulumi.ResourceArgs + { + /// + /// the amount of time to wait since the last scaling action before this action occurs. It must be between 1 week and 1 minute in ISO 8601 format. + /// + [Input("cooldown", required: true)] + public Input Cooldown { get; set; } = null!; + + /// + /// the scale direction. Whether the scaling action increases or decreases the number of instances. + /// + [Input("direction", required: true)] + public Input Direction { get; set; } = null!; + + /// + /// the type of action that should occur when the scale rule fires. + /// + [Input("type", required: true)] + public Input Type { get; set; } = null!; + + /// + /// the number of instances that are involved in the scaling action. This value must be 1 or greater. The default value is 1. + /// + [Input("value")] + public Input? Value { get; set; } + + public ScaleActionArgs() + { + Value = "1"; + } + public static new ScaleActionArgs Empty => new ScaleActionArgs(); + } +} diff --git a/sdk/dotnet/Monitor/Inputs/ScaleCapacityArgs.cs b/sdk/dotnet/Monitor/Inputs/ScaleCapacityArgs.cs new file mode 100644 index 000000000000..1080af2fb240 --- /dev/null +++ b/sdk/dotnet/Monitor/Inputs/ScaleCapacityArgs.cs @@ -0,0 +1,41 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Monitor.Inputs +{ + + /// + /// The number of instances that can be used during this profile. + /// + public sealed class ScaleCapacityArgs : global::Pulumi.ResourceArgs + { + /// + /// the number of instances that will be set if metrics are not available for evaluation. The default is only used if the current instance count is lower than the default. + /// + [Input("default", required: true)] + public Input Default { get; set; } = null!; + + /// + /// the maximum number of instances for the resource. The actual maximum number of instances is limited by the cores that are available in the subscription. + /// + [Input("maximum", required: true)] + public Input Maximum { get; set; } = null!; + + /// + /// the minimum number of instances for the resource. + /// + [Input("minimum", required: true)] + public Input Minimum { get; set; } = null!; + + public ScaleCapacityArgs() + { + } + public static new ScaleCapacityArgs Empty => new ScaleCapacityArgs(); + } +} diff --git a/sdk/dotnet/Monitor/Inputs/ScaleRuleArgs.cs b/sdk/dotnet/Monitor/Inputs/ScaleRuleArgs.cs new file mode 100644 index 000000000000..da23cc21d5a0 --- /dev/null +++ b/sdk/dotnet/Monitor/Inputs/ScaleRuleArgs.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Monitor.Inputs +{ + + /// + /// A rule that provide the triggers and parameters for the scaling action. + /// + public sealed class ScaleRuleArgs : global::Pulumi.ResourceArgs + { + /// + /// the trigger that results in a scaling action. + /// + [Input("metricTrigger", required: true)] + public Input MetricTrigger { get; set; } = null!; + + /// + /// the parameters for the scaling action. + /// + [Input("scaleAction", required: true)] + public Input ScaleAction { get; set; } = null!; + + public ScaleRuleArgs() + { + } + public static new ScaleRuleArgs Empty => new ScaleRuleArgs(); + } +} diff --git a/sdk/dotnet/Monitor/Inputs/ScaleRuleMetricDimensionArgs.cs b/sdk/dotnet/Monitor/Inputs/ScaleRuleMetricDimensionArgs.cs new file mode 100644 index 000000000000..6e2135ad38d2 --- /dev/null +++ b/sdk/dotnet/Monitor/Inputs/ScaleRuleMetricDimensionArgs.cs @@ -0,0 +1,47 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Monitor.Inputs +{ + + /// + /// Specifies an auto scale rule metric dimension. + /// + public sealed class ScaleRuleMetricDimensionArgs : global::Pulumi.ResourceArgs + { + /// + /// Name of the dimension. + /// + [Input("dimensionName", required: true)] + public Input DimensionName { get; set; } = null!; + + /// + /// the dimension operator. Only 'Equals' and 'NotEquals' are supported. 'Equals' being equal to any of the values. 'NotEquals' being not equal to all of the values + /// + [Input("operator", required: true)] + public InputUnion Operator { get; set; } = null!; + + [Input("values", required: true)] + private InputList? _values; + + /// + /// list of dimension values. For example: ["App1","App2"]. + /// + public InputList Values + { + get => _values ?? (_values = new InputList()); + set => _values = value; + } + + public ScaleRuleMetricDimensionArgs() + { + } + public static new ScaleRuleMetricDimensionArgs Empty => new ScaleRuleMetricDimensionArgs(); + } +} diff --git a/sdk/dotnet/Monitor/Inputs/SubscriptionLogSettingsArgs.cs b/sdk/dotnet/Monitor/Inputs/SubscriptionLogSettingsArgs.cs new file mode 100644 index 000000000000..07e9d891a9a0 --- /dev/null +++ b/sdk/dotnet/Monitor/Inputs/SubscriptionLogSettingsArgs.cs @@ -0,0 +1,41 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Monitor.Inputs +{ + + /// + /// Part of Subscription diagnostic setting. Specifies the settings for a particular log. + /// + public sealed class SubscriptionLogSettingsArgs : global::Pulumi.ResourceArgs + { + /// + /// Name of a Subscription Diagnostic Log category for a resource type this setting is applied to. + /// + [Input("category")] + public Input? Category { get; set; } + + /// + /// Name of a Subscription Diagnostic Log category group for a resource type this setting is applied to. + /// + [Input("categoryGroup")] + public Input? CategoryGroup { get; set; } + + /// + /// a value indicating whether this log is enabled. + /// + [Input("enabled", required: true)] + public Input Enabled { get; set; } = null!; + + public SubscriptionLogSettingsArgs() + { + } + public static new SubscriptionLogSettingsArgs Empty => new SubscriptionLogSettingsArgs(); + } +} diff --git a/sdk/dotnet/Monitor/Inputs/TimeWindowArgs.cs b/sdk/dotnet/Monitor/Inputs/TimeWindowArgs.cs new file mode 100644 index 000000000000..4906e7ab2c3f --- /dev/null +++ b/sdk/dotnet/Monitor/Inputs/TimeWindowArgs.cs @@ -0,0 +1,41 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Monitor.Inputs +{ + + /// + /// A specific date-time for the profile. + /// + public sealed class TimeWindowArgs : global::Pulumi.ResourceArgs + { + /// + /// the end time for the profile in ISO 8601 format. + /// + [Input("end", required: true)] + public Input End { get; set; } = null!; + + /// + /// the start time for the profile in ISO 8601 format. + /// + [Input("start", required: true)] + public Input Start { get; set; } = null!; + + /// + /// the timezone of the start and end times for the profile. Some examples of valid time zones are: Dateline Standard Time, UTC-11, Hawaiian Standard Time, Alaskan Standard Time, Pacific Standard Time (Mexico), Pacific Standard Time, US Mountain Standard Time, Mountain Standard Time (Mexico), Mountain Standard Time, Central America Standard Time, Central Standard Time, Central Standard Time (Mexico), Canada Central Standard Time, SA Pacific Standard Time, Eastern Standard Time, US Eastern Standard Time, Venezuela Standard Time, Paraguay Standard Time, Atlantic Standard Time, Central Brazilian Standard Time, SA Western Standard Time, Pacific SA Standard Time, Newfoundland Standard Time, E. South America Standard Time, Argentina Standard Time, SA Eastern Standard Time, Greenland Standard Time, Montevideo Standard Time, Bahia Standard Time, UTC-02, Mid-Atlantic Standard Time, Azores Standard Time, Cape Verde Standard Time, Morocco Standard Time, UTC, GMT Standard Time, Greenwich Standard Time, W. Europe Standard Time, Central Europe Standard Time, Romance Standard Time, Central European Standard Time, W. Central Africa Standard Time, Namibia Standard Time, Jordan Standard Time, GTB Standard Time, Middle East Standard Time, Egypt Standard Time, Syria Standard Time, E. Europe Standard Time, South Africa Standard Time, FLE Standard Time, Turkey Standard Time, Israel Standard Time, Kaliningrad Standard Time, Libya Standard Time, Arabic Standard Time, Arab Standard Time, Belarus Standard Time, Russian Standard Time, E. Africa Standard Time, Iran Standard Time, Arabian Standard Time, Azerbaijan Standard Time, Russia Time Zone 3, Mauritius Standard Time, Georgian Standard Time, Caucasus Standard Time, Afghanistan Standard Time, West Asia Standard Time, Ekaterinburg Standard Time, Pakistan Standard Time, India Standard Time, Sri Lanka Standard Time, Nepal Standard Time, Central Asia Standard Time, Bangladesh Standard Time, N. Central Asia Standard Time, Myanmar Standard Time, SE Asia Standard Time, North Asia Standard Time, China Standard Time, North Asia East Standard Time, Singapore Standard Time, W. Australia Standard Time, Taipei Standard Time, Ulaanbaatar Standard Time, Tokyo Standard Time, Korea Standard Time, Yakutsk Standard Time, Cen. Australia Standard Time, AUS Central Standard Time, E. Australia Standard Time, AUS Eastern Standard Time, West Pacific Standard Time, Tasmania Standard Time, Magadan Standard Time, Vladivostok Standard Time, Russia Time Zone 10, Central Pacific Standard Time, Russia Time Zone 11, New Zealand Standard Time, UTC+12, Fiji Standard Time, Kamchatka Standard Time, Tonga Standard Time, Samoa Standard Time, Line Islands Standard Time + /// + [Input("timeZone")] + public Input? TimeZone { get; set; } + + public TimeWindowArgs() + { + } + public static new TimeWindowArgs Empty => new TimeWindowArgs(); + } +} diff --git a/sdk/dotnet/Monitor/Inputs/WebhookNotificationArgs.cs b/sdk/dotnet/Monitor/Inputs/WebhookNotificationArgs.cs new file mode 100644 index 000000000000..7bc4a649a6ae --- /dev/null +++ b/sdk/dotnet/Monitor/Inputs/WebhookNotificationArgs.cs @@ -0,0 +1,41 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Monitor.Inputs +{ + + /// + /// Webhook notification of an autoscale event. + /// + public sealed class WebhookNotificationArgs : global::Pulumi.ResourceArgs + { + [Input("properties")] + private InputMap? _properties; + + /// + /// a property bag of settings. This value can be empty. + /// + public InputMap Properties + { + get => _properties ?? (_properties = new InputMap()); + set => _properties = value; + } + + /// + /// the service address to receive the notification. + /// + [Input("serviceUri")] + public Input? ServiceUri { get; set; } + + public WebhookNotificationArgs() + { + } + public static new WebhookNotificationArgs Empty => new WebhookNotificationArgs(); + } +} diff --git a/sdk/dotnet/Monitor/ListDiagnosticSettingsCategory.cs b/sdk/dotnet/Monitor/ListDiagnosticSettingsCategory.cs new file mode 100644 index 000000000000..6d86c4db6645 --- /dev/null +++ b/sdk/dotnet/Monitor/ListDiagnosticSettingsCategory.cs @@ -0,0 +1,83 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Monitor +{ + public static class ListDiagnosticSettingsCategory + { + /// + /// Lists the diagnostic settings categories for the specified resource. + /// + /// Uses Azure REST API version 2021-05-01-preview. + /// + public static Task InvokeAsync(ListDiagnosticSettingsCategoryArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("azure-native:monitor:listDiagnosticSettingsCategory", args ?? new ListDiagnosticSettingsCategoryArgs(), options.WithDefaults()); + + /// + /// Lists the diagnostic settings categories for the specified resource. + /// + /// Uses Azure REST API version 2021-05-01-preview. + /// + public static Output Invoke(ListDiagnosticSettingsCategoryInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("azure-native:monitor:listDiagnosticSettingsCategory", args ?? new ListDiagnosticSettingsCategoryInvokeArgs(), options.WithDefaults()); + + /// + /// Lists the diagnostic settings categories for the specified resource. + /// + /// Uses Azure REST API version 2021-05-01-preview. + /// + public static Output Invoke(ListDiagnosticSettingsCategoryInvokeArgs args, InvokeOutputOptions options) + => global::Pulumi.Deployment.Instance.Invoke("azure-native:monitor:listDiagnosticSettingsCategory", args ?? new ListDiagnosticSettingsCategoryInvokeArgs(), options.WithDefaults()); + } + + + public sealed class ListDiagnosticSettingsCategoryArgs : global::Pulumi.InvokeArgs + { + /// + /// The identifier of the resource. + /// + [Input("resourceUri", required: true)] + public string ResourceUri { get; set; } = null!; + + public ListDiagnosticSettingsCategoryArgs() + { + } + public static new ListDiagnosticSettingsCategoryArgs Empty => new ListDiagnosticSettingsCategoryArgs(); + } + + public sealed class ListDiagnosticSettingsCategoryInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// The identifier of the resource. + /// + [Input("resourceUri", required: true)] + public Input ResourceUri { get; set; } = null!; + + public ListDiagnosticSettingsCategoryInvokeArgs() + { + } + public static new ListDiagnosticSettingsCategoryInvokeArgs Empty => new ListDiagnosticSettingsCategoryInvokeArgs(); + } + + + [OutputType] + public sealed class ListDiagnosticSettingsCategoryResult + { + /// + /// The collection of diagnostic settings category resources. + /// + public readonly ImmutableArray Value; + + [OutputConstructor] + private ListDiagnosticSettingsCategoryResult(ImmutableArray value) + { + Value = value; + } + } +} diff --git a/sdk/dotnet/Monitor/ManagementGroupDiagnosticSetting.cs b/sdk/dotnet/Monitor/ManagementGroupDiagnosticSetting.cs new file mode 100644 index 000000000000..bc11db75f289 --- /dev/null +++ b/sdk/dotnet/Monitor/ManagementGroupDiagnosticSetting.cs @@ -0,0 +1,204 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Monitor +{ + /// + /// The management group diagnostic setting resource. + /// + /// Uses Azure REST API version 2021-05-01-preview. + /// + [AzureNativeResourceType("azure-native:monitor:ManagementGroupDiagnosticSetting")] + public partial class ManagementGroupDiagnosticSetting : global::Pulumi.CustomResource + { + /// + /// The Azure API version of the resource. + /// + [Output("azureApiVersion")] + public Output AzureApiVersion { get; private set; } = null!; + + /// + /// The resource Id for the event hub authorization rule. + /// + [Output("eventHubAuthorizationRuleId")] + public Output EventHubAuthorizationRuleId { get; private set; } = null!; + + /// + /// The name of the event hub. If none is specified, the default event hub will be selected. + /// + [Output("eventHubName")] + public Output EventHubName { get; private set; } = null!; + + /// + /// The list of logs settings. + /// + [Output("logs")] + public Output> Logs { get; private set; } = null!; + + /// + /// The full ARM resource ID of the Marketplace resource to which you would like to send Diagnostic Logs. + /// + [Output("marketplacePartnerId")] + public Output MarketplacePartnerId { get; private set; } = null!; + + /// + /// The name of the resource + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + /// + /// The service bus rule Id of the diagnostic setting. This is here to maintain backwards compatibility. + /// + [Output("serviceBusRuleId")] + public Output ServiceBusRuleId { get; private set; } = null!; + + /// + /// The resource ID of the storage account to which you would like to send Diagnostic Logs. + /// + [Output("storageAccountId")] + public Output StorageAccountId { get; private set; } = null!; + + /// + /// The system metadata related to this resource. + /// + [Output("systemData")] + public Output SystemData { get; private set; } = null!; + + /// + /// The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + /// + [Output("type")] + public Output Type { get; private set; } = null!; + + /// + /// The full ARM resource ID of the Log Analytics workspace to which you would like to send Diagnostic Logs. Example: /subscriptions/4b9e8510-67ab-4e9a-95a9-e2f1e570ea9c/resourceGroups/insights-integration/providers/Microsoft.OperationalInsights/workspaces/viruela2 + /// + [Output("workspaceId")] + public Output WorkspaceId { get; private set; } = null!; + + + /// + /// Create a ManagementGroupDiagnosticSetting resource with the given unique name, arguments, and options. + /// + /// + /// The unique name of the resource + /// The arguments used to populate this resource's properties + /// A bag of options that control this resource's behavior + public ManagementGroupDiagnosticSetting(string name, ManagementGroupDiagnosticSettingArgs args, CustomResourceOptions? options = null) + : base("azure-native:monitor:ManagementGroupDiagnosticSetting", name, args ?? new ManagementGroupDiagnosticSettingArgs(), MakeResourceOptions(options, "")) + { + } + + private ManagementGroupDiagnosticSetting(string name, Input id, CustomResourceOptions? options = null) + : base("azure-native:monitor:ManagementGroupDiagnosticSetting", name, null, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + Aliases = + { + new global::Pulumi.Alias { Type = "azure-native:insights/v20200101preview:ManagementGroupDiagnosticSetting" }, + new global::Pulumi.Alias { Type = "azure-native:insights/v20210501preview:ManagementGroupDiagnosticSetting" }, + new global::Pulumi.Alias { Type = "azure-native:insights:ManagementGroupDiagnosticSetting" }, + new global::Pulumi.Alias { Type = "azure-native:monitor/v20200101preview:ManagementGroupDiagnosticSetting" }, + new global::Pulumi.Alias { Type = "azure-native:monitor/v20210501preview:ManagementGroupDiagnosticSetting" }, + }, + }; + var merged = CustomResourceOptions.Merge(defaultOptions, options); + // Override the ID if one was specified for consistency with other language SDKs. + merged.Id = id ?? merged.Id; + return merged; + } + /// + /// Get an existing ManagementGroupDiagnosticSetting resource's state with the given name, ID, and optional extra + /// properties used to qualify the lookup. + /// + /// + /// The unique name of the resulting resource. + /// The unique provider ID of the resource to lookup. + /// A bag of options that control this resource's behavior + public static ManagementGroupDiagnosticSetting Get(string name, Input id, CustomResourceOptions? options = null) + { + return new ManagementGroupDiagnosticSetting(name, id, options); + } + } + + public sealed class ManagementGroupDiagnosticSettingArgs : global::Pulumi.ResourceArgs + { + /// + /// The resource Id for the event hub authorization rule. + /// + [Input("eventHubAuthorizationRuleId")] + public Input? EventHubAuthorizationRuleId { get; set; } + + /// + /// The name of the event hub. If none is specified, the default event hub will be selected. + /// + [Input("eventHubName")] + public Input? EventHubName { get; set; } + + [Input("logs")] + private InputList? _logs; + + /// + /// The list of logs settings. + /// + public InputList Logs + { + get => _logs ?? (_logs = new InputList()); + set => _logs = value; + } + + /// + /// The management group id. + /// + [Input("managementGroupId", required: true)] + public Input ManagementGroupId { get; set; } = null!; + + /// + /// The full ARM resource ID of the Marketplace resource to which you would like to send Diagnostic Logs. + /// + [Input("marketplacePartnerId")] + public Input? MarketplacePartnerId { get; set; } + + /// + /// The name of the diagnostic setting. + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// The service bus rule Id of the diagnostic setting. This is here to maintain backwards compatibility. + /// + [Input("serviceBusRuleId")] + public Input? ServiceBusRuleId { get; set; } + + /// + /// The resource ID of the storage account to which you would like to send Diagnostic Logs. + /// + [Input("storageAccountId")] + public Input? StorageAccountId { get; set; } + + /// + /// The full ARM resource ID of the Log Analytics workspace to which you would like to send Diagnostic Logs. Example: /subscriptions/4b9e8510-67ab-4e9a-95a9-e2f1e570ea9c/resourceGroups/insights-integration/providers/Microsoft.OperationalInsights/workspaces/viruela2 + /// + [Input("workspaceId")] + public Input? WorkspaceId { get; set; } + + public ManagementGroupDiagnosticSettingArgs() + { + } + public static new ManagementGroupDiagnosticSettingArgs Empty => new ManagementGroupDiagnosticSettingArgs(); + } +} diff --git a/sdk/dotnet/Monitor/Outputs/AutoscaleNotificationResponse.cs b/sdk/dotnet/Monitor/Outputs/AutoscaleNotificationResponse.cs new file mode 100644 index 000000000000..5efd60c47457 --- /dev/null +++ b/sdk/dotnet/Monitor/Outputs/AutoscaleNotificationResponse.cs @@ -0,0 +1,45 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Monitor.Outputs +{ + + /// + /// Autoscale notification. + /// + [OutputType] + public sealed class AutoscaleNotificationResponse + { + /// + /// the email notification. + /// + public readonly Outputs.EmailNotificationResponse? Email; + /// + /// the operation associated with the notification and its value must be "scale" + /// + public readonly string Operation; + /// + /// the collection of webhook notifications. + /// + public readonly ImmutableArray Webhooks; + + [OutputConstructor] + private AutoscaleNotificationResponse( + Outputs.EmailNotificationResponse? email, + + string operation, + + ImmutableArray webhooks) + { + Email = email; + Operation = operation; + Webhooks = webhooks; + } + } +} diff --git a/sdk/dotnet/Monitor/Outputs/AutoscaleProfileResponse.cs b/sdk/dotnet/Monitor/Outputs/AutoscaleProfileResponse.cs new file mode 100644 index 000000000000..57604c7f5de7 --- /dev/null +++ b/sdk/dotnet/Monitor/Outputs/AutoscaleProfileResponse.cs @@ -0,0 +1,59 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Monitor.Outputs +{ + + /// + /// Autoscale profile. + /// + [OutputType] + public sealed class AutoscaleProfileResponse + { + /// + /// the number of instances that can be used during this profile. + /// + public readonly Outputs.ScaleCapacityResponse Capacity; + /// + /// the specific date-time for the profile. This element is not used if the Recurrence element is used. + /// + public readonly Outputs.TimeWindowResponse? FixedDate; + /// + /// the name of the profile. + /// + public readonly string Name; + /// + /// the repeating times at which this profile begins. This element is not used if the FixedDate element is used. + /// + public readonly Outputs.RecurrenceResponse? Recurrence; + /// + /// the collection of rules that provide the triggers and parameters for the scaling action. A maximum of 10 rules can be specified. + /// + public readonly ImmutableArray Rules; + + [OutputConstructor] + private AutoscaleProfileResponse( + Outputs.ScaleCapacityResponse capacity, + + Outputs.TimeWindowResponse? fixedDate, + + string name, + + Outputs.RecurrenceResponse? recurrence, + + ImmutableArray rules) + { + Capacity = capacity; + FixedDate = fixedDate; + Name = name; + Recurrence = recurrence; + Rules = rules; + } + } +} diff --git a/sdk/dotnet/Monitor/Outputs/AutoscaleSettingResponse.cs b/sdk/dotnet/Monitor/Outputs/AutoscaleSettingResponse.cs new file mode 100644 index 000000000000..dcdf6b335516 --- /dev/null +++ b/sdk/dotnet/Monitor/Outputs/AutoscaleSettingResponse.cs @@ -0,0 +1,73 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Monitor.Outputs +{ + + /// + /// A setting that contains all of the configuration for the automatic scaling of a resource. + /// + [OutputType] + public sealed class AutoscaleSettingResponse + { + /// + /// the enabled flag. Specifies whether automatic scaling is enabled for the resource. The default value is 'false'. + /// + public readonly bool? Enabled; + /// + /// the name of the autoscale setting. + /// + public readonly string? Name; + /// + /// the collection of notifications. + /// + public readonly ImmutableArray Notifications; + /// + /// the predictive autoscale policy mode. + /// + public readonly Outputs.PredictiveAutoscalePolicyResponse? PredictiveAutoscalePolicy; + /// + /// the collection of automatic scaling profiles that specify different scaling parameters for different time periods. A maximum of 20 profiles can be specified. + /// + public readonly ImmutableArray Profiles; + /// + /// the location of the resource that the autoscale setting should be added to. + /// + public readonly string? TargetResourceLocation; + /// + /// the resource identifier of the resource that the autoscale setting should be added to. + /// + public readonly string? TargetResourceUri; + + [OutputConstructor] + private AutoscaleSettingResponse( + bool? enabled, + + string? name, + + ImmutableArray notifications, + + Outputs.PredictiveAutoscalePolicyResponse? predictiveAutoscalePolicy, + + ImmutableArray profiles, + + string? targetResourceLocation, + + string? targetResourceUri) + { + Enabled = enabled; + Name = name; + Notifications = notifications; + PredictiveAutoscalePolicy = predictiveAutoscalePolicy; + Profiles = profiles; + TargetResourceLocation = targetResourceLocation; + TargetResourceUri = targetResourceUri; + } + } +} diff --git a/sdk/dotnet/Monitor/Outputs/DiagnosticSettingsCategoryResourceResponse.cs b/sdk/dotnet/Monitor/Outputs/DiagnosticSettingsCategoryResourceResponse.cs new file mode 100644 index 000000000000..bbf8603a879d --- /dev/null +++ b/sdk/dotnet/Monitor/Outputs/DiagnosticSettingsCategoryResourceResponse.cs @@ -0,0 +1,66 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Monitor.Outputs +{ + + /// + /// The diagnostic settings category resource. + /// + [OutputType] + public sealed class DiagnosticSettingsCategoryResourceResponse + { + /// + /// the collection of what category groups are supported. + /// + public readonly ImmutableArray CategoryGroups; + /// + /// The type of the diagnostic settings category. + /// + public readonly string? CategoryType; + /// + /// Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + /// + public readonly string Id; + /// + /// The name of the resource + /// + public readonly string Name; + /// + /// The system metadata related to this resource. + /// + public readonly Outputs.SystemDataResponse SystemData; + /// + /// The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + /// + public readonly string Type; + + [OutputConstructor] + private DiagnosticSettingsCategoryResourceResponse( + ImmutableArray categoryGroups, + + string? categoryType, + + string id, + + string name, + + Outputs.SystemDataResponse systemData, + + string type) + { + CategoryGroups = categoryGroups; + CategoryType = categoryType; + Id = id; + Name = name; + SystemData = systemData; + Type = type; + } + } +} diff --git a/sdk/dotnet/Monitor/Outputs/EmailNotificationResponse.cs b/sdk/dotnet/Monitor/Outputs/EmailNotificationResponse.cs new file mode 100644 index 000000000000..0d8250b95f84 --- /dev/null +++ b/sdk/dotnet/Monitor/Outputs/EmailNotificationResponse.cs @@ -0,0 +1,45 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Monitor.Outputs +{ + + /// + /// Email notification of an autoscale event. + /// + [OutputType] + public sealed class EmailNotificationResponse + { + /// + /// the custom e-mails list. This value can be null or empty, in which case this attribute will be ignored. + /// + public readonly ImmutableArray CustomEmails; + /// + /// a value indicating whether to send email to subscription administrator. + /// + public readonly bool? SendToSubscriptionAdministrator; + /// + /// a value indicating whether to send email to subscription co-administrators. + /// + public readonly bool? SendToSubscriptionCoAdministrators; + + [OutputConstructor] + private EmailNotificationResponse( + ImmutableArray customEmails, + + bool? sendToSubscriptionAdministrator, + + bool? sendToSubscriptionCoAdministrators) + { + CustomEmails = customEmails; + SendToSubscriptionAdministrator = sendToSubscriptionAdministrator; + SendToSubscriptionCoAdministrators = sendToSubscriptionCoAdministrators; + } + } +} diff --git a/sdk/dotnet/Monitor/Outputs/LogSettingsResponse.cs b/sdk/dotnet/Monitor/Outputs/LogSettingsResponse.cs new file mode 100644 index 000000000000..bac2298ea5dd --- /dev/null +++ b/sdk/dotnet/Monitor/Outputs/LogSettingsResponse.cs @@ -0,0 +1,52 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Monitor.Outputs +{ + + /// + /// Part of MultiTenantDiagnosticSettings. Specifies the settings for a particular log. + /// + [OutputType] + public sealed class LogSettingsResponse + { + /// + /// Name of a Diagnostic Log category for a resource type this setting is applied to. To obtain the list of Diagnostic Log categories for a resource, first perform a GET diagnostic settings operation. + /// + public readonly string? Category; + /// + /// Name of a Diagnostic Log category group for a resource type this setting is applied to. To obtain the list of Diagnostic Log categories for a resource, first perform a GET diagnostic settings operation. + /// + public readonly string? CategoryGroup; + /// + /// a value indicating whether this log is enabled. + /// + public readonly bool Enabled; + /// + /// the retention policy for this log. + /// + public readonly Outputs.RetentionPolicyResponse? RetentionPolicy; + + [OutputConstructor] + private LogSettingsResponse( + string? category, + + string? categoryGroup, + + bool enabled, + + Outputs.RetentionPolicyResponse? retentionPolicy) + { + Category = category; + CategoryGroup = categoryGroup; + Enabled = enabled; + RetentionPolicy = retentionPolicy; + } + } +} diff --git a/sdk/dotnet/Monitor/Outputs/ManagementGroupLogSettingsResponse.cs b/sdk/dotnet/Monitor/Outputs/ManagementGroupLogSettingsResponse.cs new file mode 100644 index 000000000000..3e31c193d8fa --- /dev/null +++ b/sdk/dotnet/Monitor/Outputs/ManagementGroupLogSettingsResponse.cs @@ -0,0 +1,45 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Monitor.Outputs +{ + + /// + /// Part of Management Group diagnostic setting. Specifies the settings for a particular log. + /// + [OutputType] + public sealed class ManagementGroupLogSettingsResponse + { + /// + /// Name of a Management Group Diagnostic Log category for a resource type this setting is applied to. + /// + public readonly string? Category; + /// + /// Name of a Management Group Diagnostic Log category group for a resource type this setting is applied to. + /// + public readonly string? CategoryGroup; + /// + /// a value indicating whether this log is enabled. + /// + public readonly bool Enabled; + + [OutputConstructor] + private ManagementGroupLogSettingsResponse( + string? category, + + string? categoryGroup, + + bool enabled) + { + Category = category; + CategoryGroup = categoryGroup; + Enabled = enabled; + } + } +} diff --git a/sdk/dotnet/Monitor/Outputs/MetricSettingsResponse.cs b/sdk/dotnet/Monitor/Outputs/MetricSettingsResponse.cs new file mode 100644 index 000000000000..a07c4b8a94f8 --- /dev/null +++ b/sdk/dotnet/Monitor/Outputs/MetricSettingsResponse.cs @@ -0,0 +1,52 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Monitor.Outputs +{ + + /// + /// Part of MultiTenantDiagnosticSettings. Specifies the settings for a particular metric. + /// + [OutputType] + public sealed class MetricSettingsResponse + { + /// + /// Name of a Diagnostic Metric category for a resource type this setting is applied to. To obtain the list of Diagnostic metric categories for a resource, first perform a GET diagnostic settings operation. + /// + public readonly string? Category; + /// + /// a value indicating whether this category is enabled. + /// + public readonly bool Enabled; + /// + /// the retention policy for this category. + /// + public readonly Outputs.RetentionPolicyResponse? RetentionPolicy; + /// + /// the timegrain of the metric in ISO8601 format. + /// + public readonly string? TimeGrain; + + [OutputConstructor] + private MetricSettingsResponse( + string? category, + + bool enabled, + + Outputs.RetentionPolicyResponse? retentionPolicy, + + string? timeGrain) + { + Category = category; + Enabled = enabled; + RetentionPolicy = retentionPolicy; + TimeGrain = timeGrain; + } + } +} diff --git a/sdk/dotnet/Monitor/Outputs/MetricTriggerResponse.cs b/sdk/dotnet/Monitor/Outputs/MetricTriggerResponse.cs new file mode 100644 index 000000000000..b25f1f4aea66 --- /dev/null +++ b/sdk/dotnet/Monitor/Outputs/MetricTriggerResponse.cs @@ -0,0 +1,108 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Monitor.Outputs +{ + + /// + /// The trigger that results in a scaling action. + /// + [OutputType] + public sealed class MetricTriggerResponse + { + /// + /// List of dimension conditions. For example: [{"DimensionName":"AppName","Operator":"Equals","Values":["App1"]},{"DimensionName":"Deployment","Operator":"Equals","Values":["default"]}]. + /// + public readonly ImmutableArray Dimensions; + /// + /// a value indicating whether metric should divide per instance. + /// + public readonly bool? DividePerInstance; + /// + /// the name of the metric that defines what the rule monitors. + /// + public readonly string MetricName; + /// + /// the namespace of the metric that defines what the rule monitors. + /// + public readonly string? MetricNamespace; + /// + /// the location of the resource the rule monitors. + /// + public readonly string? MetricResourceLocation; + /// + /// the resource identifier of the resource the rule monitors. + /// + public readonly string MetricResourceUri; + /// + /// the operator that is used to compare the metric data and the threshold. + /// + public readonly string Operator; + /// + /// the metric statistic type. How the metrics from multiple instances are combined. + /// + public readonly string Statistic; + /// + /// the threshold of the metric that triggers the scale action. + /// + public readonly double Threshold; + /// + /// time aggregation type. How the data that is collected should be combined over time. The default value is Average. + /// + public readonly string TimeAggregation; + /// + /// the granularity of metrics the rule monitors. Must be one of the predefined values returned from metric definitions for the metric. Must be between 12 hours and 1 minute. + /// + public readonly string TimeGrain; + /// + /// the range of time in which instance data is collected. This value must be greater than the delay in metric collection, which can vary from resource-to-resource. Must be between 12 hours and 5 minutes. + /// + public readonly string TimeWindow; + + [OutputConstructor] + private MetricTriggerResponse( + ImmutableArray dimensions, + + bool? dividePerInstance, + + string metricName, + + string? metricNamespace, + + string? metricResourceLocation, + + string metricResourceUri, + + string @operator, + + string statistic, + + double threshold, + + string timeAggregation, + + string timeGrain, + + string timeWindow) + { + Dimensions = dimensions; + DividePerInstance = dividePerInstance; + MetricName = metricName; + MetricNamespace = metricNamespace; + MetricResourceLocation = metricResourceLocation; + MetricResourceUri = metricResourceUri; + Operator = @operator; + Statistic = statistic; + Threshold = threshold; + TimeAggregation = timeAggregation; + TimeGrain = timeGrain; + TimeWindow = timeWindow; + } + } +} diff --git a/sdk/dotnet/Monitor/Outputs/PredictiveAutoscalePolicyResponse.cs b/sdk/dotnet/Monitor/Outputs/PredictiveAutoscalePolicyResponse.cs new file mode 100644 index 000000000000..f29024804e58 --- /dev/null +++ b/sdk/dotnet/Monitor/Outputs/PredictiveAutoscalePolicyResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Monitor.Outputs +{ + + /// + /// The parameters for enabling predictive autoscale. + /// + [OutputType] + public sealed class PredictiveAutoscalePolicyResponse + { + /// + /// the amount of time to specify by which instances are launched in advance. It must be between 1 minute and 60 minutes in ISO 8601 format. + /// + public readonly string? ScaleLookAheadTime; + /// + /// the predictive autoscale mode + /// + public readonly string ScaleMode; + + [OutputConstructor] + private PredictiveAutoscalePolicyResponse( + string? scaleLookAheadTime, + + string scaleMode) + { + ScaleLookAheadTime = scaleLookAheadTime; + ScaleMode = scaleMode; + } + } +} diff --git a/sdk/dotnet/Monitor/Outputs/RecurrenceResponse.cs b/sdk/dotnet/Monitor/Outputs/RecurrenceResponse.cs new file mode 100644 index 000000000000..57120997038c --- /dev/null +++ b/sdk/dotnet/Monitor/Outputs/RecurrenceResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Monitor.Outputs +{ + + /// + /// The repeating times at which this profile begins. This element is not used if the FixedDate element is used. + /// + [OutputType] + public sealed class RecurrenceResponse + { + /// + /// the recurrence frequency. How often the schedule profile should take effect. This value must be Week, meaning each week will have the same set of profiles. For example, to set a daily schedule, set **schedule** to every day of the week. The frequency property specifies that the schedule is repeated weekly. + /// + public readonly string Frequency; + /// + /// the scheduling constraints for when the profile begins. + /// + public readonly Outputs.RecurrentScheduleResponse Schedule; + + [OutputConstructor] + private RecurrenceResponse( + string frequency, + + Outputs.RecurrentScheduleResponse schedule) + { + Frequency = frequency; + Schedule = schedule; + } + } +} diff --git a/sdk/dotnet/Monitor/Outputs/RecurrentScheduleResponse.cs b/sdk/dotnet/Monitor/Outputs/RecurrentScheduleResponse.cs new file mode 100644 index 000000000000..bcb9cfa79f91 --- /dev/null +++ b/sdk/dotnet/Monitor/Outputs/RecurrentScheduleResponse.cs @@ -0,0 +1,52 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Monitor.Outputs +{ + + /// + /// The scheduling constraints for when the profile begins. + /// + [OutputType] + public sealed class RecurrentScheduleResponse + { + /// + /// the collection of days that the profile takes effect on. Possible values are Sunday through Saturday. + /// + public readonly ImmutableArray Days; + /// + /// A collection of hours that the profile takes effect on. Values supported are 0 to 23 on the 24-hour clock (AM/PM times are not supported). + /// + public readonly ImmutableArray Hours; + /// + /// A collection of minutes at which the profile takes effect at. + /// + public readonly ImmutableArray Minutes; + /// + /// the timezone for the hours of the profile. Some examples of valid time zones are: Dateline Standard Time, UTC-11, Hawaiian Standard Time, Alaskan Standard Time, Pacific Standard Time (Mexico), Pacific Standard Time, US Mountain Standard Time, Mountain Standard Time (Mexico), Mountain Standard Time, Central America Standard Time, Central Standard Time, Central Standard Time (Mexico), Canada Central Standard Time, SA Pacific Standard Time, Eastern Standard Time, US Eastern Standard Time, Venezuela Standard Time, Paraguay Standard Time, Atlantic Standard Time, Central Brazilian Standard Time, SA Western Standard Time, Pacific SA Standard Time, Newfoundland Standard Time, E. South America Standard Time, Argentina Standard Time, SA Eastern Standard Time, Greenland Standard Time, Montevideo Standard Time, Bahia Standard Time, UTC-02, Mid-Atlantic Standard Time, Azores Standard Time, Cape Verde Standard Time, Morocco Standard Time, UTC, GMT Standard Time, Greenwich Standard Time, W. Europe Standard Time, Central Europe Standard Time, Romance Standard Time, Central European Standard Time, W. Central Africa Standard Time, Namibia Standard Time, Jordan Standard Time, GTB Standard Time, Middle East Standard Time, Egypt Standard Time, Syria Standard Time, E. Europe Standard Time, South Africa Standard Time, FLE Standard Time, Turkey Standard Time, Israel Standard Time, Kaliningrad Standard Time, Libya Standard Time, Arabic Standard Time, Arab Standard Time, Belarus Standard Time, Russian Standard Time, E. Africa Standard Time, Iran Standard Time, Arabian Standard Time, Azerbaijan Standard Time, Russia Time Zone 3, Mauritius Standard Time, Georgian Standard Time, Caucasus Standard Time, Afghanistan Standard Time, West Asia Standard Time, Ekaterinburg Standard Time, Pakistan Standard Time, India Standard Time, Sri Lanka Standard Time, Nepal Standard Time, Central Asia Standard Time, Bangladesh Standard Time, N. Central Asia Standard Time, Myanmar Standard Time, SE Asia Standard Time, North Asia Standard Time, China Standard Time, North Asia East Standard Time, Singapore Standard Time, W. Australia Standard Time, Taipei Standard Time, Ulaanbaatar Standard Time, Tokyo Standard Time, Korea Standard Time, Yakutsk Standard Time, Cen. Australia Standard Time, AUS Central Standard Time, E. Australia Standard Time, AUS Eastern Standard Time, West Pacific Standard Time, Tasmania Standard Time, Magadan Standard Time, Vladivostok Standard Time, Russia Time Zone 10, Central Pacific Standard Time, Russia Time Zone 11, New Zealand Standard Time, UTC+12, Fiji Standard Time, Kamchatka Standard Time, Tonga Standard Time, Samoa Standard Time, Line Islands Standard Time + /// + public readonly string TimeZone; + + [OutputConstructor] + private RecurrentScheduleResponse( + ImmutableArray days, + + ImmutableArray hours, + + ImmutableArray minutes, + + string timeZone) + { + Days = days; + Hours = hours; + Minutes = minutes; + TimeZone = timeZone; + } + } +} diff --git a/sdk/dotnet/Monitor/Outputs/RetentionPolicyResponse.cs b/sdk/dotnet/Monitor/Outputs/RetentionPolicyResponse.cs new file mode 100644 index 000000000000..d498c73f484c --- /dev/null +++ b/sdk/dotnet/Monitor/Outputs/RetentionPolicyResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Monitor.Outputs +{ + + /// + /// Specifies the retention policy for the log. + /// + [OutputType] + public sealed class RetentionPolicyResponse + { + /// + /// the number of days for the retention in days. A value of 0 will retain the events indefinitely. + /// + public readonly int Days; + /// + /// a value indicating whether the retention policy is enabled. + /// + public readonly bool Enabled; + + [OutputConstructor] + private RetentionPolicyResponse( + int days, + + bool enabled) + { + Days = days; + Enabled = enabled; + } + } +} diff --git a/sdk/dotnet/Monitor/Outputs/ScaleActionResponse.cs b/sdk/dotnet/Monitor/Outputs/ScaleActionResponse.cs new file mode 100644 index 000000000000..c213fd5ed0a5 --- /dev/null +++ b/sdk/dotnet/Monitor/Outputs/ScaleActionResponse.cs @@ -0,0 +1,52 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Monitor.Outputs +{ + + /// + /// The parameters for the scaling action. + /// + [OutputType] + public sealed class ScaleActionResponse + { + /// + /// the amount of time to wait since the last scaling action before this action occurs. It must be between 1 week and 1 minute in ISO 8601 format. + /// + public readonly string Cooldown; + /// + /// the scale direction. Whether the scaling action increases or decreases the number of instances. + /// + public readonly string Direction; + /// + /// the type of action that should occur when the scale rule fires. + /// + public readonly string Type; + /// + /// the number of instances that are involved in the scaling action. This value must be 1 or greater. The default value is 1. + /// + public readonly string? Value; + + [OutputConstructor] + private ScaleActionResponse( + string cooldown, + + string direction, + + string type, + + string? value) + { + Cooldown = cooldown; + Direction = direction; + Type = type; + Value = value; + } + } +} diff --git a/sdk/dotnet/Monitor/Outputs/ScaleCapacityResponse.cs b/sdk/dotnet/Monitor/Outputs/ScaleCapacityResponse.cs new file mode 100644 index 000000000000..6e860ea4b302 --- /dev/null +++ b/sdk/dotnet/Monitor/Outputs/ScaleCapacityResponse.cs @@ -0,0 +1,45 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Monitor.Outputs +{ + + /// + /// The number of instances that can be used during this profile. + /// + [OutputType] + public sealed class ScaleCapacityResponse + { + /// + /// the number of instances that will be set if metrics are not available for evaluation. The default is only used if the current instance count is lower than the default. + /// + public readonly string Default; + /// + /// the maximum number of instances for the resource. The actual maximum number of instances is limited by the cores that are available in the subscription. + /// + public readonly string Maximum; + /// + /// the minimum number of instances for the resource. + /// + public readonly string Minimum; + + [OutputConstructor] + private ScaleCapacityResponse( + string @default, + + string maximum, + + string minimum) + { + Default = @default; + Maximum = maximum; + Minimum = minimum; + } + } +} diff --git a/sdk/dotnet/Monitor/Outputs/ScaleRuleMetricDimensionResponse.cs b/sdk/dotnet/Monitor/Outputs/ScaleRuleMetricDimensionResponse.cs new file mode 100644 index 000000000000..28d7e98efd4f --- /dev/null +++ b/sdk/dotnet/Monitor/Outputs/ScaleRuleMetricDimensionResponse.cs @@ -0,0 +1,45 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Monitor.Outputs +{ + + /// + /// Specifies an auto scale rule metric dimension. + /// + [OutputType] + public sealed class ScaleRuleMetricDimensionResponse + { + /// + /// Name of the dimension. + /// + public readonly string DimensionName; + /// + /// the dimension operator. Only 'Equals' and 'NotEquals' are supported. 'Equals' being equal to any of the values. 'NotEquals' being not equal to all of the values + /// + public readonly string Operator; + /// + /// list of dimension values. For example: ["App1","App2"]. + /// + public readonly ImmutableArray Values; + + [OutputConstructor] + private ScaleRuleMetricDimensionResponse( + string dimensionName, + + string @operator, + + ImmutableArray values) + { + DimensionName = dimensionName; + Operator = @operator; + Values = values; + } + } +} diff --git a/sdk/dotnet/Monitor/Outputs/ScaleRuleResponse.cs b/sdk/dotnet/Monitor/Outputs/ScaleRuleResponse.cs new file mode 100644 index 000000000000..95241730577f --- /dev/null +++ b/sdk/dotnet/Monitor/Outputs/ScaleRuleResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Monitor.Outputs +{ + + /// + /// A rule that provide the triggers and parameters for the scaling action. + /// + [OutputType] + public sealed class ScaleRuleResponse + { + /// + /// the trigger that results in a scaling action. + /// + public readonly Outputs.MetricTriggerResponse MetricTrigger; + /// + /// the parameters for the scaling action. + /// + public readonly Outputs.ScaleActionResponse ScaleAction; + + [OutputConstructor] + private ScaleRuleResponse( + Outputs.MetricTriggerResponse metricTrigger, + + Outputs.ScaleActionResponse scaleAction) + { + MetricTrigger = metricTrigger; + ScaleAction = scaleAction; + } + } +} diff --git a/sdk/dotnet/Monitor/Outputs/SubscriptionLogSettingsResponse.cs b/sdk/dotnet/Monitor/Outputs/SubscriptionLogSettingsResponse.cs new file mode 100644 index 000000000000..55be733327f9 --- /dev/null +++ b/sdk/dotnet/Monitor/Outputs/SubscriptionLogSettingsResponse.cs @@ -0,0 +1,45 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Monitor.Outputs +{ + + /// + /// Part of Subscription diagnostic setting. Specifies the settings for a particular log. + /// + [OutputType] + public sealed class SubscriptionLogSettingsResponse + { + /// + /// Name of a Subscription Diagnostic Log category for a resource type this setting is applied to. + /// + public readonly string? Category; + /// + /// Name of a Subscription Diagnostic Log category group for a resource type this setting is applied to. + /// + public readonly string? CategoryGroup; + /// + /// a value indicating whether this log is enabled. + /// + public readonly bool Enabled; + + [OutputConstructor] + private SubscriptionLogSettingsResponse( + string? category, + + string? categoryGroup, + + bool enabled) + { + Category = category; + CategoryGroup = categoryGroup; + Enabled = enabled; + } + } +} diff --git a/sdk/dotnet/Monitor/Outputs/TimeWindowResponse.cs b/sdk/dotnet/Monitor/Outputs/TimeWindowResponse.cs new file mode 100644 index 000000000000..621c850eda31 --- /dev/null +++ b/sdk/dotnet/Monitor/Outputs/TimeWindowResponse.cs @@ -0,0 +1,45 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Monitor.Outputs +{ + + /// + /// A specific date-time for the profile. + /// + [OutputType] + public sealed class TimeWindowResponse + { + /// + /// the end time for the profile in ISO 8601 format. + /// + public readonly string End; + /// + /// the start time for the profile in ISO 8601 format. + /// + public readonly string Start; + /// + /// the timezone of the start and end times for the profile. Some examples of valid time zones are: Dateline Standard Time, UTC-11, Hawaiian Standard Time, Alaskan Standard Time, Pacific Standard Time (Mexico), Pacific Standard Time, US Mountain Standard Time, Mountain Standard Time (Mexico), Mountain Standard Time, Central America Standard Time, Central Standard Time, Central Standard Time (Mexico), Canada Central Standard Time, SA Pacific Standard Time, Eastern Standard Time, US Eastern Standard Time, Venezuela Standard Time, Paraguay Standard Time, Atlantic Standard Time, Central Brazilian Standard Time, SA Western Standard Time, Pacific SA Standard Time, Newfoundland Standard Time, E. South America Standard Time, Argentina Standard Time, SA Eastern Standard Time, Greenland Standard Time, Montevideo Standard Time, Bahia Standard Time, UTC-02, Mid-Atlantic Standard Time, Azores Standard Time, Cape Verde Standard Time, Morocco Standard Time, UTC, GMT Standard Time, Greenwich Standard Time, W. Europe Standard Time, Central Europe Standard Time, Romance Standard Time, Central European Standard Time, W. Central Africa Standard Time, Namibia Standard Time, Jordan Standard Time, GTB Standard Time, Middle East Standard Time, Egypt Standard Time, Syria Standard Time, E. Europe Standard Time, South Africa Standard Time, FLE Standard Time, Turkey Standard Time, Israel Standard Time, Kaliningrad Standard Time, Libya Standard Time, Arabic Standard Time, Arab Standard Time, Belarus Standard Time, Russian Standard Time, E. Africa Standard Time, Iran Standard Time, Arabian Standard Time, Azerbaijan Standard Time, Russia Time Zone 3, Mauritius Standard Time, Georgian Standard Time, Caucasus Standard Time, Afghanistan Standard Time, West Asia Standard Time, Ekaterinburg Standard Time, Pakistan Standard Time, India Standard Time, Sri Lanka Standard Time, Nepal Standard Time, Central Asia Standard Time, Bangladesh Standard Time, N. Central Asia Standard Time, Myanmar Standard Time, SE Asia Standard Time, North Asia Standard Time, China Standard Time, North Asia East Standard Time, Singapore Standard Time, W. Australia Standard Time, Taipei Standard Time, Ulaanbaatar Standard Time, Tokyo Standard Time, Korea Standard Time, Yakutsk Standard Time, Cen. Australia Standard Time, AUS Central Standard Time, E. Australia Standard Time, AUS Eastern Standard Time, West Pacific Standard Time, Tasmania Standard Time, Magadan Standard Time, Vladivostok Standard Time, Russia Time Zone 10, Central Pacific Standard Time, Russia Time Zone 11, New Zealand Standard Time, UTC+12, Fiji Standard Time, Kamchatka Standard Time, Tonga Standard Time, Samoa Standard Time, Line Islands Standard Time + /// + public readonly string? TimeZone; + + [OutputConstructor] + private TimeWindowResponse( + string end, + + string start, + + string? timeZone) + { + End = end; + Start = start; + TimeZone = timeZone; + } + } +} diff --git a/sdk/dotnet/Monitor/Outputs/WebhookNotificationResponse.cs b/sdk/dotnet/Monitor/Outputs/WebhookNotificationResponse.cs new file mode 100644 index 000000000000..798ac5415dcf --- /dev/null +++ b/sdk/dotnet/Monitor/Outputs/WebhookNotificationResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Monitor.Outputs +{ + + /// + /// Webhook notification of an autoscale event. + /// + [OutputType] + public sealed class WebhookNotificationResponse + { + /// + /// a property bag of settings. This value can be empty. + /// + public readonly ImmutableDictionary? Properties; + /// + /// the service address to receive the notification. + /// + public readonly string? ServiceUri; + + [OutputConstructor] + private WebhookNotificationResponse( + ImmutableDictionary? properties, + + string? serviceUri) + { + Properties = properties; + ServiceUri = serviceUri; + } + } +} diff --git a/sdk/dotnet/Monitor/SubscriptionDiagnosticSetting.cs b/sdk/dotnet/Monitor/SubscriptionDiagnosticSetting.cs new file mode 100644 index 000000000000..af21c496e4c7 --- /dev/null +++ b/sdk/dotnet/Monitor/SubscriptionDiagnosticSetting.cs @@ -0,0 +1,198 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Monitor +{ + /// + /// The subscription diagnostic setting resource. + /// + /// Uses Azure REST API version 2021-05-01-preview. + /// + [AzureNativeResourceType("azure-native:monitor:SubscriptionDiagnosticSetting")] + public partial class SubscriptionDiagnosticSetting : global::Pulumi.CustomResource + { + /// + /// The Azure API version of the resource. + /// + [Output("azureApiVersion")] + public Output AzureApiVersion { get; private set; } = null!; + + /// + /// The resource Id for the event hub authorization rule. + /// + [Output("eventHubAuthorizationRuleId")] + public Output EventHubAuthorizationRuleId { get; private set; } = null!; + + /// + /// The name of the event hub. If none is specified, the default event hub will be selected. + /// + [Output("eventHubName")] + public Output EventHubName { get; private set; } = null!; + + /// + /// The list of logs settings. + /// + [Output("logs")] + public Output> Logs { get; private set; } = null!; + + /// + /// The full ARM resource ID of the Marketplace resource to which you would like to send Diagnostic Logs. + /// + [Output("marketplacePartnerId")] + public Output MarketplacePartnerId { get; private set; } = null!; + + /// + /// The name of the resource + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + /// + /// The service bus rule Id of the diagnostic setting. This is here to maintain backwards compatibility. + /// + [Output("serviceBusRuleId")] + public Output ServiceBusRuleId { get; private set; } = null!; + + /// + /// The resource ID of the storage account to which you would like to send Diagnostic Logs. + /// + [Output("storageAccountId")] + public Output StorageAccountId { get; private set; } = null!; + + /// + /// The system metadata related to this resource. + /// + [Output("systemData")] + public Output SystemData { get; private set; } = null!; + + /// + /// The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + /// + [Output("type")] + public Output Type { get; private set; } = null!; + + /// + /// The full ARM resource ID of the Log Analytics workspace to which you would like to send Diagnostic Logs. Example: /subscriptions/4b9e8510-67ab-4e9a-95a9-e2f1e570ea9c/resourceGroups/insights-integration/providers/Microsoft.OperationalInsights/workspaces/viruela2 + /// + [Output("workspaceId")] + public Output WorkspaceId { get; private set; } = null!; + + + /// + /// Create a SubscriptionDiagnosticSetting resource with the given unique name, arguments, and options. + /// + /// + /// The unique name of the resource + /// The arguments used to populate this resource's properties + /// A bag of options that control this resource's behavior + public SubscriptionDiagnosticSetting(string name, SubscriptionDiagnosticSettingArgs? args = null, CustomResourceOptions? options = null) + : base("azure-native:monitor:SubscriptionDiagnosticSetting", name, args ?? new SubscriptionDiagnosticSettingArgs(), MakeResourceOptions(options, "")) + { + } + + private SubscriptionDiagnosticSetting(string name, Input id, CustomResourceOptions? options = null) + : base("azure-native:monitor:SubscriptionDiagnosticSetting", name, null, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + Aliases = + { + new global::Pulumi.Alias { Type = "azure-native:insights/v20170501preview:SubscriptionDiagnosticSetting" }, + new global::Pulumi.Alias { Type = "azure-native:insights/v20210501preview:SubscriptionDiagnosticSetting" }, + new global::Pulumi.Alias { Type = "azure-native:insights:SubscriptionDiagnosticSetting" }, + new global::Pulumi.Alias { Type = "azure-native:monitor/v20170501preview:SubscriptionDiagnosticSetting" }, + new global::Pulumi.Alias { Type = "azure-native:monitor/v20210501preview:SubscriptionDiagnosticSetting" }, + }, + }; + var merged = CustomResourceOptions.Merge(defaultOptions, options); + // Override the ID if one was specified for consistency with other language SDKs. + merged.Id = id ?? merged.Id; + return merged; + } + /// + /// Get an existing SubscriptionDiagnosticSetting resource's state with the given name, ID, and optional extra + /// properties used to qualify the lookup. + /// + /// + /// The unique name of the resulting resource. + /// The unique provider ID of the resource to lookup. + /// A bag of options that control this resource's behavior + public static SubscriptionDiagnosticSetting Get(string name, Input id, CustomResourceOptions? options = null) + { + return new SubscriptionDiagnosticSetting(name, id, options); + } + } + + public sealed class SubscriptionDiagnosticSettingArgs : global::Pulumi.ResourceArgs + { + /// + /// The resource Id for the event hub authorization rule. + /// + [Input("eventHubAuthorizationRuleId")] + public Input? EventHubAuthorizationRuleId { get; set; } + + /// + /// The name of the event hub. If none is specified, the default event hub will be selected. + /// + [Input("eventHubName")] + public Input? EventHubName { get; set; } + + [Input("logs")] + private InputList? _logs; + + /// + /// The list of logs settings. + /// + public InputList Logs + { + get => _logs ?? (_logs = new InputList()); + set => _logs = value; + } + + /// + /// The full ARM resource ID of the Marketplace resource to which you would like to send Diagnostic Logs. + /// + [Input("marketplacePartnerId")] + public Input? MarketplacePartnerId { get; set; } + + /// + /// The name of the diagnostic setting. + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// The service bus rule Id of the diagnostic setting. This is here to maintain backwards compatibility. + /// + [Input("serviceBusRuleId")] + public Input? ServiceBusRuleId { get; set; } + + /// + /// The resource ID of the storage account to which you would like to send Diagnostic Logs. + /// + [Input("storageAccountId")] + public Input? StorageAccountId { get; set; } + + /// + /// The full ARM resource ID of the Log Analytics workspace to which you would like to send Diagnostic Logs. Example: /subscriptions/4b9e8510-67ab-4e9a-95a9-e2f1e570ea9c/resourceGroups/insights-integration/providers/Microsoft.OperationalInsights/workspaces/viruela2 + /// + [Input("workspaceId")] + public Input? WorkspaceId { get; set; } + + public SubscriptionDiagnosticSettingArgs() + { + } + public static new SubscriptionDiagnosticSettingArgs Empty => new SubscriptionDiagnosticSettingArgs(); + } +} diff --git a/sdk/nodejs/monitor/autoscaleSetting.ts b/sdk/nodejs/monitor/autoscaleSetting.ts new file mode 100644 index 000000000000..856709526555 --- /dev/null +++ b/sdk/nodejs/monitor/autoscaleSetting.ts @@ -0,0 +1,167 @@ +// *** WARNING: this file was generated by pulumi-language-nodejs. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../types/input"; +import * as outputs from "../types/output"; +import * as enums from "../types/enums"; +import * as utilities from "../utilities"; + +/** + * The autoscale setting resource. + * + * Uses Azure REST API version 2021-05-01-preview. + */ +export class AutoscaleSetting extends pulumi.CustomResource { + /** + * Get an existing AutoscaleSetting resource's state with the given name, ID, and optional extra + * properties used to qualify the lookup. + * + * @param name The _unique_ name of the resulting resource. + * @param id The _unique_ provider ID of the resource to lookup. + * @param opts Optional settings to control the behavior of the CustomResource. + */ + public static get(name: string, id: pulumi.Input, opts?: pulumi.CustomResourceOptions): AutoscaleSetting { + return new AutoscaleSetting(name, undefined as any, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'azure-native:monitor:AutoscaleSetting'; + + /** + * Returns true if the given object is an instance of AutoscaleSetting. This is designed to work even + * when multiple copies of the Pulumi SDK have been loaded into the same process. + */ + public static isInstance(obj: any): obj is AutoscaleSetting { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === AutoscaleSetting.__pulumiType; + } + + /** + * The Azure API version of the resource. + */ + public /*out*/ readonly azureApiVersion!: pulumi.Output; + /** + * Resource location + */ + public readonly location!: pulumi.Output; + /** + * Azure resource name + */ + public readonly name!: pulumi.Output; + /** + * The autoscale setting of the resource. + */ + public /*out*/ readonly properties!: pulumi.Output; + /** + * The system metadata related to the response. + */ + public /*out*/ readonly systemData!: pulumi.Output; + /** + * Gets or sets a list of key value pairs that describe the resource. These tags can be used in viewing and grouping this resource (across resource groups). A maximum of 15 tags can be provided for a resource. Each tag must have a key no greater in length than 128 characters and a value no greater in length than 256 characters. + */ + public readonly tags!: pulumi.Output<{[key: string]: string} | undefined>; + /** + * Azure resource type + */ + public /*out*/ readonly type!: pulumi.Output; + + /** + * Create a AutoscaleSetting resource with the given unique name, arguments, and options. + * + * @param name The _unique_ name of the resource. + * @param args The arguments to use to populate this resource's properties. + * @param opts A bag of options that control this resource's behavior. + */ + constructor(name: string, args: AutoscaleSettingArgs, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (!opts.id) { + if ((!args || args.profiles === undefined) && !opts.urn) { + throw new Error("Missing required property 'profiles'"); + } + if ((!args || args.resourceGroupName === undefined) && !opts.urn) { + throw new Error("Missing required property 'resourceGroupName'"); + } + resourceInputs["autoscaleSettingName"] = args ? args.autoscaleSettingName : undefined; + resourceInputs["enabled"] = (args ? args.enabled : undefined) ?? false; + resourceInputs["location"] = args ? args.location : undefined; + resourceInputs["name"] = args ? args.name : undefined; + resourceInputs["notifications"] = args ? args.notifications : undefined; + resourceInputs["predictiveAutoscalePolicy"] = args ? args.predictiveAutoscalePolicy : undefined; + resourceInputs["profiles"] = args ? args.profiles : undefined; + resourceInputs["resourceGroupName"] = args ? args.resourceGroupName : undefined; + resourceInputs["tags"] = args ? args.tags : undefined; + resourceInputs["targetResourceLocation"] = args ? args.targetResourceLocation : undefined; + resourceInputs["targetResourceUri"] = args ? args.targetResourceUri : undefined; + resourceInputs["azureApiVersion"] = undefined /*out*/; + resourceInputs["properties"] = undefined /*out*/; + resourceInputs["systemData"] = undefined /*out*/; + resourceInputs["type"] = undefined /*out*/; + } else { + resourceInputs["azureApiVersion"] = undefined /*out*/; + resourceInputs["location"] = undefined /*out*/; + resourceInputs["name"] = undefined /*out*/; + resourceInputs["properties"] = undefined /*out*/; + resourceInputs["systemData"] = undefined /*out*/; + resourceInputs["tags"] = undefined /*out*/; + resourceInputs["type"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + const aliasOpts = { aliases: [{ type: "azure-native:insights/v20221001:AutoscaleSetting" }, { type: "azure-native:insights:AutoscaleSetting" }, { type: "azure-native:monitor/v20140401:AutoscaleSetting" }, { type: "azure-native:monitor/v20150401:AutoscaleSetting" }, { type: "azure-native:monitor/v20210501preview:AutoscaleSetting" }, { type: "azure-native:monitor/v20221001:AutoscaleSetting" }] }; + opts = pulumi.mergeOptions(opts, aliasOpts); + super(AutoscaleSetting.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * The set of arguments for constructing a AutoscaleSetting resource. + */ +export interface AutoscaleSettingArgs { + /** + * The autoscale setting name. + */ + autoscaleSettingName?: pulumi.Input; + /** + * the enabled flag. Specifies whether automatic scaling is enabled for the resource. The default value is 'false'. + */ + enabled?: pulumi.Input; + /** + * Resource location + */ + location?: pulumi.Input; + /** + * the name of the autoscale setting. + */ + name?: pulumi.Input; + /** + * the collection of notifications. + */ + notifications?: pulumi.Input[]>; + /** + * the predictive autoscale policy mode. + */ + predictiveAutoscalePolicy?: pulumi.Input; + /** + * the collection of automatic scaling profiles that specify different scaling parameters for different time periods. A maximum of 20 profiles can be specified. + */ + profiles: pulumi.Input[]>; + /** + * The name of the resource group. The name is case insensitive. + */ + resourceGroupName: pulumi.Input; + /** + * Gets or sets a list of key value pairs that describe the resource. These tags can be used in viewing and grouping this resource (across resource groups). A maximum of 15 tags can be provided for a resource. Each tag must have a key no greater in length than 128 characters and a value no greater in length than 256 characters. + */ + tags?: pulumi.Input<{[key: string]: pulumi.Input}>; + /** + * the location of the resource that the autoscale setting should be added to. + */ + targetResourceLocation?: pulumi.Input; + /** + * the resource identifier of the resource that the autoscale setting should be added to. + */ + targetResourceUri?: pulumi.Input; +} diff --git a/sdk/nodejs/monitor/diagnosticSetting.ts b/sdk/nodejs/monitor/diagnosticSetting.ts new file mode 100644 index 000000000000..626e1cf6fe54 --- /dev/null +++ b/sdk/nodejs/monitor/diagnosticSetting.ts @@ -0,0 +1,193 @@ +// *** WARNING: this file was generated by pulumi-language-nodejs. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../types/input"; +import * as outputs from "../types/output"; +import * as enums from "../types/enums"; +import * as utilities from "../utilities"; + +/** + * The diagnostic setting resource. + * + * Uses Azure REST API version 2021-05-01-preview. + */ +export class DiagnosticSetting extends pulumi.CustomResource { + /** + * Get an existing DiagnosticSetting resource's state with the given name, ID, and optional extra + * properties used to qualify the lookup. + * + * @param name The _unique_ name of the resulting resource. + * @param id The _unique_ provider ID of the resource to lookup. + * @param opts Optional settings to control the behavior of the CustomResource. + */ + public static get(name: string, id: pulumi.Input, opts?: pulumi.CustomResourceOptions): DiagnosticSetting { + return new DiagnosticSetting(name, undefined as any, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'azure-native:monitor:DiagnosticSetting'; + + /** + * Returns true if the given object is an instance of DiagnosticSetting. This is designed to work even + * when multiple copies of the Pulumi SDK have been loaded into the same process. + */ + public static isInstance(obj: any): obj is DiagnosticSetting { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === DiagnosticSetting.__pulumiType; + } + + /** + * The Azure API version of the resource. + */ + public /*out*/ readonly azureApiVersion!: pulumi.Output; + /** + * The resource Id for the event hub authorization rule. + */ + public readonly eventHubAuthorizationRuleId!: pulumi.Output; + /** + * The name of the event hub. If none is specified, the default event hub will be selected. + */ + public readonly eventHubName!: pulumi.Output; + /** + * A string indicating whether the export to Log Analytics should use the default destination type, i.e. AzureDiagnostics, or use a destination type constructed as follows: _. Possible values are: Dedicated and null (null is default.) + */ + public readonly logAnalyticsDestinationType!: pulumi.Output; + /** + * The list of logs settings. + */ + public readonly logs!: pulumi.Output; + /** + * The full ARM resource ID of the Marketplace resource to which you would like to send Diagnostic Logs. + */ + public readonly marketplacePartnerId!: pulumi.Output; + /** + * The list of metric settings. + */ + public readonly metrics!: pulumi.Output; + /** + * The name of the resource + */ + public readonly name!: pulumi.Output; + /** + * The service bus rule Id of the diagnostic setting. This is here to maintain backwards compatibility. + */ + public readonly serviceBusRuleId!: pulumi.Output; + /** + * The resource ID of the storage account to which you would like to send Diagnostic Logs. + */ + public readonly storageAccountId!: pulumi.Output; + /** + * The system metadata related to this resource. + */ + public /*out*/ readonly systemData!: pulumi.Output; + /** + * The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + */ + public /*out*/ readonly type!: pulumi.Output; + /** + * The full ARM resource ID of the Log Analytics workspace to which you would like to send Diagnostic Logs. Example: /subscriptions/4b9e8510-67ab-4e9a-95a9-e2f1e570ea9c/resourceGroups/insights-integration/providers/Microsoft.OperationalInsights/workspaces/viruela2 + */ + public readonly workspaceId!: pulumi.Output; + + /** + * Create a DiagnosticSetting resource with the given unique name, arguments, and options. + * + * @param name The _unique_ name of the resource. + * @param args The arguments to use to populate this resource's properties. + * @param opts A bag of options that control this resource's behavior. + */ + constructor(name: string, args: DiagnosticSettingArgs, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (!opts.id) { + if ((!args || args.resourceUri === undefined) && !opts.urn) { + throw new Error("Missing required property 'resourceUri'"); + } + resourceInputs["eventHubAuthorizationRuleId"] = args ? args.eventHubAuthorizationRuleId : undefined; + resourceInputs["eventHubName"] = args ? args.eventHubName : undefined; + resourceInputs["logAnalyticsDestinationType"] = args ? args.logAnalyticsDestinationType : undefined; + resourceInputs["logs"] = args ? args.logs : undefined; + resourceInputs["marketplacePartnerId"] = args ? args.marketplacePartnerId : undefined; + resourceInputs["metrics"] = args ? args.metrics : undefined; + resourceInputs["name"] = args ? args.name : undefined; + resourceInputs["resourceUri"] = args ? args.resourceUri : undefined; + resourceInputs["serviceBusRuleId"] = args ? args.serviceBusRuleId : undefined; + resourceInputs["storageAccountId"] = args ? args.storageAccountId : undefined; + resourceInputs["workspaceId"] = args ? args.workspaceId : undefined; + resourceInputs["azureApiVersion"] = undefined /*out*/; + resourceInputs["systemData"] = undefined /*out*/; + resourceInputs["type"] = undefined /*out*/; + } else { + resourceInputs["azureApiVersion"] = undefined /*out*/; + resourceInputs["eventHubAuthorizationRuleId"] = undefined /*out*/; + resourceInputs["eventHubName"] = undefined /*out*/; + resourceInputs["logAnalyticsDestinationType"] = undefined /*out*/; + resourceInputs["logs"] = undefined /*out*/; + resourceInputs["marketplacePartnerId"] = undefined /*out*/; + resourceInputs["metrics"] = undefined /*out*/; + resourceInputs["name"] = undefined /*out*/; + resourceInputs["serviceBusRuleId"] = undefined /*out*/; + resourceInputs["storageAccountId"] = undefined /*out*/; + resourceInputs["systemData"] = undefined /*out*/; + resourceInputs["type"] = undefined /*out*/; + resourceInputs["workspaceId"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + const aliasOpts = { aliases: [{ type: "azure-native:insights/v20210501preview:DiagnosticSetting" }, { type: "azure-native:insights:DiagnosticSetting" }, { type: "azure-native:monitor/v20170501preview:DiagnosticSetting" }, { type: "azure-native:monitor/v20210501preview:DiagnosticSetting" }] }; + opts = pulumi.mergeOptions(opts, aliasOpts); + super(DiagnosticSetting.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * The set of arguments for constructing a DiagnosticSetting resource. + */ +export interface DiagnosticSettingArgs { + /** + * The resource Id for the event hub authorization rule. + */ + eventHubAuthorizationRuleId?: pulumi.Input; + /** + * The name of the event hub. If none is specified, the default event hub will be selected. + */ + eventHubName?: pulumi.Input; + /** + * A string indicating whether the export to Log Analytics should use the default destination type, i.e. AzureDiagnostics, or use a destination type constructed as follows: _. Possible values are: Dedicated and null (null is default.) + */ + logAnalyticsDestinationType?: pulumi.Input; + /** + * The list of logs settings. + */ + logs?: pulumi.Input[]>; + /** + * The full ARM resource ID of the Marketplace resource to which you would like to send Diagnostic Logs. + */ + marketplacePartnerId?: pulumi.Input; + /** + * The list of metric settings. + */ + metrics?: pulumi.Input[]>; + /** + * The name of the diagnostic setting. + */ + name?: pulumi.Input; + /** + * The identifier of the resource. + */ + resourceUri: pulumi.Input; + /** + * The service bus rule Id of the diagnostic setting. This is here to maintain backwards compatibility. + */ + serviceBusRuleId?: pulumi.Input; + /** + * The resource ID of the storage account to which you would like to send Diagnostic Logs. + */ + storageAccountId?: pulumi.Input; + /** + * The full ARM resource ID of the Log Analytics workspace to which you would like to send Diagnostic Logs. Example: /subscriptions/4b9e8510-67ab-4e9a-95a9-e2f1e570ea9c/resourceGroups/insights-integration/providers/Microsoft.OperationalInsights/workspaces/viruela2 + */ + workspaceId?: pulumi.Input; +} diff --git a/sdk/nodejs/monitor/getAutoscaleSetting.ts b/sdk/nodejs/monitor/getAutoscaleSetting.ts new file mode 100644 index 000000000000..606cc6acba65 --- /dev/null +++ b/sdk/nodejs/monitor/getAutoscaleSetting.ts @@ -0,0 +1,93 @@ +// *** WARNING: this file was generated by pulumi-language-nodejs. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../types/input"; +import * as outputs from "../types/output"; +import * as enums from "../types/enums"; +import * as utilities from "../utilities"; + +/** + * Gets an autoscale setting + * + * Uses Azure REST API version 2021-05-01-preview. + */ +export function getAutoscaleSetting(args: GetAutoscaleSettingArgs, opts?: pulumi.InvokeOptions): Promise { + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("azure-native:monitor:getAutoscaleSetting", { + "autoscaleSettingName": args.autoscaleSettingName, + "resourceGroupName": args.resourceGroupName, + }, opts); +} + +export interface GetAutoscaleSettingArgs { + /** + * The autoscale setting name. + */ + autoscaleSettingName: string; + /** + * The name of the resource group. The name is case insensitive. + */ + resourceGroupName: string; +} + +/** + * The autoscale setting resource. + */ +export interface GetAutoscaleSettingResult { + /** + * The Azure API version of the resource. + */ + readonly azureApiVersion: string; + /** + * Azure resource Id + */ + readonly id: string; + /** + * Resource location + */ + readonly location: string; + /** + * Azure resource name + */ + readonly name: string; + /** + * The autoscale setting of the resource. + */ + readonly properties: outputs.monitor.AutoscaleSettingResponse; + /** + * The system metadata related to the response. + */ + readonly systemData: outputs.monitor.SystemDataResponse; + /** + * Gets or sets a list of key value pairs that describe the resource. These tags can be used in viewing and grouping this resource (across resource groups). A maximum of 15 tags can be provided for a resource. Each tag must have a key no greater in length than 128 characters and a value no greater in length than 256 characters. + */ + readonly tags?: {[key: string]: string}; + /** + * Azure resource type + */ + readonly type: string; +} +/** + * Gets an autoscale setting + * + * Uses Azure REST API version 2021-05-01-preview. + */ +export function getAutoscaleSettingOutput(args: GetAutoscaleSettingOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invokeOutput("azure-native:monitor:getAutoscaleSetting", { + "autoscaleSettingName": args.autoscaleSettingName, + "resourceGroupName": args.resourceGroupName, + }, opts); +} + +export interface GetAutoscaleSettingOutputArgs { + /** + * The autoscale setting name. + */ + autoscaleSettingName: pulumi.Input; + /** + * The name of the resource group. The name is case insensitive. + */ + resourceGroupName: pulumi.Input; +} diff --git a/sdk/nodejs/monitor/getDiagnosticSetting.ts b/sdk/nodejs/monitor/getDiagnosticSetting.ts new file mode 100644 index 000000000000..6908d26e2e1e --- /dev/null +++ b/sdk/nodejs/monitor/getDiagnosticSetting.ts @@ -0,0 +1,117 @@ +// *** WARNING: this file was generated by pulumi-language-nodejs. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../types/input"; +import * as outputs from "../types/output"; +import * as enums from "../types/enums"; +import * as utilities from "../utilities"; + +/** + * Gets the active diagnostic settings for the specified resource. + * + * Uses Azure REST API version 2021-05-01-preview. + */ +export function getDiagnosticSetting(args: GetDiagnosticSettingArgs, opts?: pulumi.InvokeOptions): Promise { + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("azure-native:monitor:getDiagnosticSetting", { + "name": args.name, + "resourceUri": args.resourceUri, + }, opts); +} + +export interface GetDiagnosticSettingArgs { + /** + * The name of the diagnostic setting. + */ + name: string; + /** + * The identifier of the resource. + */ + resourceUri: string; +} + +/** + * The diagnostic setting resource. + */ +export interface GetDiagnosticSettingResult { + /** + * The Azure API version of the resource. + */ + readonly azureApiVersion: string; + /** + * The resource Id for the event hub authorization rule. + */ + readonly eventHubAuthorizationRuleId?: string; + /** + * The name of the event hub. If none is specified, the default event hub will be selected. + */ + readonly eventHubName?: string; + /** + * Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + */ + readonly id: string; + /** + * A string indicating whether the export to Log Analytics should use the default destination type, i.e. AzureDiagnostics, or use a destination type constructed as follows: _. Possible values are: Dedicated and null (null is default.) + */ + readonly logAnalyticsDestinationType?: string; + /** + * The list of logs settings. + */ + readonly logs?: outputs.monitor.LogSettingsResponse[]; + /** + * The full ARM resource ID of the Marketplace resource to which you would like to send Diagnostic Logs. + */ + readonly marketplacePartnerId?: string; + /** + * The list of metric settings. + */ + readonly metrics?: outputs.monitor.MetricSettingsResponse[]; + /** + * The name of the resource + */ + readonly name: string; + /** + * The service bus rule Id of the diagnostic setting. This is here to maintain backwards compatibility. + */ + readonly serviceBusRuleId?: string; + /** + * The resource ID of the storage account to which you would like to send Diagnostic Logs. + */ + readonly storageAccountId?: string; + /** + * The system metadata related to this resource. + */ + readonly systemData: outputs.monitor.SystemDataResponse; + /** + * The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + */ + readonly type: string; + /** + * The full ARM resource ID of the Log Analytics workspace to which you would like to send Diagnostic Logs. Example: /subscriptions/4b9e8510-67ab-4e9a-95a9-e2f1e570ea9c/resourceGroups/insights-integration/providers/Microsoft.OperationalInsights/workspaces/viruela2 + */ + readonly workspaceId?: string; +} +/** + * Gets the active diagnostic settings for the specified resource. + * + * Uses Azure REST API version 2021-05-01-preview. + */ +export function getDiagnosticSettingOutput(args: GetDiagnosticSettingOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invokeOutput("azure-native:monitor:getDiagnosticSetting", { + "name": args.name, + "resourceUri": args.resourceUri, + }, opts); +} + +export interface GetDiagnosticSettingOutputArgs { + /** + * The name of the diagnostic setting. + */ + name: pulumi.Input; + /** + * The identifier of the resource. + */ + resourceUri: pulumi.Input; +} diff --git a/sdk/nodejs/monitor/getManagementGroupDiagnosticSetting.ts b/sdk/nodejs/monitor/getManagementGroupDiagnosticSetting.ts new file mode 100644 index 000000000000..a7e17554eb53 --- /dev/null +++ b/sdk/nodejs/monitor/getManagementGroupDiagnosticSetting.ts @@ -0,0 +1,109 @@ +// *** WARNING: this file was generated by pulumi-language-nodejs. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../types/input"; +import * as outputs from "../types/output"; +import * as enums from "../types/enums"; +import * as utilities from "../utilities"; + +/** + * Gets the active management group diagnostic settings for the specified resource. + * + * Uses Azure REST API version 2021-05-01-preview. + */ +export function getManagementGroupDiagnosticSetting(args: GetManagementGroupDiagnosticSettingArgs, opts?: pulumi.InvokeOptions): Promise { + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("azure-native:monitor:getManagementGroupDiagnosticSetting", { + "managementGroupId": args.managementGroupId, + "name": args.name, + }, opts); +} + +export interface GetManagementGroupDiagnosticSettingArgs { + /** + * The management group id. + */ + managementGroupId: string; + /** + * The name of the diagnostic setting. + */ + name: string; +} + +/** + * The management group diagnostic setting resource. + */ +export interface GetManagementGroupDiagnosticSettingResult { + /** + * The Azure API version of the resource. + */ + readonly azureApiVersion: string; + /** + * The resource Id for the event hub authorization rule. + */ + readonly eventHubAuthorizationRuleId?: string; + /** + * The name of the event hub. If none is specified, the default event hub will be selected. + */ + readonly eventHubName?: string; + /** + * Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + */ + readonly id: string; + /** + * The list of logs settings. + */ + readonly logs?: outputs.monitor.ManagementGroupLogSettingsResponse[]; + /** + * The full ARM resource ID of the Marketplace resource to which you would like to send Diagnostic Logs. + */ + readonly marketplacePartnerId?: string; + /** + * The name of the resource + */ + readonly name: string; + /** + * The service bus rule Id of the diagnostic setting. This is here to maintain backwards compatibility. + */ + readonly serviceBusRuleId?: string; + /** + * The resource ID of the storage account to which you would like to send Diagnostic Logs. + */ + readonly storageAccountId?: string; + /** + * The system metadata related to this resource. + */ + readonly systemData: outputs.monitor.SystemDataResponse; + /** + * The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + */ + readonly type: string; + /** + * The full ARM resource ID of the Log Analytics workspace to which you would like to send Diagnostic Logs. Example: /subscriptions/4b9e8510-67ab-4e9a-95a9-e2f1e570ea9c/resourceGroups/insights-integration/providers/Microsoft.OperationalInsights/workspaces/viruela2 + */ + readonly workspaceId?: string; +} +/** + * Gets the active management group diagnostic settings for the specified resource. + * + * Uses Azure REST API version 2021-05-01-preview. + */ +export function getManagementGroupDiagnosticSettingOutput(args: GetManagementGroupDiagnosticSettingOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invokeOutput("azure-native:monitor:getManagementGroupDiagnosticSetting", { + "managementGroupId": args.managementGroupId, + "name": args.name, + }, opts); +} + +export interface GetManagementGroupDiagnosticSettingOutputArgs { + /** + * The management group id. + */ + managementGroupId: pulumi.Input; + /** + * The name of the diagnostic setting. + */ + name: pulumi.Input; +} diff --git a/sdk/nodejs/monitor/getSubscriptionDiagnosticSetting.ts b/sdk/nodejs/monitor/getSubscriptionDiagnosticSetting.ts new file mode 100644 index 000000000000..d36557d3281d --- /dev/null +++ b/sdk/nodejs/monitor/getSubscriptionDiagnosticSetting.ts @@ -0,0 +1,99 @@ +// *** WARNING: this file was generated by pulumi-language-nodejs. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../types/input"; +import * as outputs from "../types/output"; +import * as enums from "../types/enums"; +import * as utilities from "../utilities"; + +/** + * Gets the active subscription diagnostic settings for the specified resource. + * + * Uses Azure REST API version 2021-05-01-preview. + */ +export function getSubscriptionDiagnosticSetting(args: GetSubscriptionDiagnosticSettingArgs, opts?: pulumi.InvokeOptions): Promise { + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("azure-native:monitor:getSubscriptionDiagnosticSetting", { + "name": args.name, + }, opts); +} + +export interface GetSubscriptionDiagnosticSettingArgs { + /** + * The name of the diagnostic setting. + */ + name: string; +} + +/** + * The subscription diagnostic setting resource. + */ +export interface GetSubscriptionDiagnosticSettingResult { + /** + * The Azure API version of the resource. + */ + readonly azureApiVersion: string; + /** + * The resource Id for the event hub authorization rule. + */ + readonly eventHubAuthorizationRuleId?: string; + /** + * The name of the event hub. If none is specified, the default event hub will be selected. + */ + readonly eventHubName?: string; + /** + * Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + */ + readonly id: string; + /** + * The list of logs settings. + */ + readonly logs?: outputs.monitor.SubscriptionLogSettingsResponse[]; + /** + * The full ARM resource ID of the Marketplace resource to which you would like to send Diagnostic Logs. + */ + readonly marketplacePartnerId?: string; + /** + * The name of the resource + */ + readonly name: string; + /** + * The service bus rule Id of the diagnostic setting. This is here to maintain backwards compatibility. + */ + readonly serviceBusRuleId?: string; + /** + * The resource ID of the storage account to which you would like to send Diagnostic Logs. + */ + readonly storageAccountId?: string; + /** + * The system metadata related to this resource. + */ + readonly systemData: outputs.monitor.SystemDataResponse; + /** + * The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + */ + readonly type: string; + /** + * The full ARM resource ID of the Log Analytics workspace to which you would like to send Diagnostic Logs. Example: /subscriptions/4b9e8510-67ab-4e9a-95a9-e2f1e570ea9c/resourceGroups/insights-integration/providers/Microsoft.OperationalInsights/workspaces/viruela2 + */ + readonly workspaceId?: string; +} +/** + * Gets the active subscription diagnostic settings for the specified resource. + * + * Uses Azure REST API version 2021-05-01-preview. + */ +export function getSubscriptionDiagnosticSettingOutput(args: GetSubscriptionDiagnosticSettingOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invokeOutput("azure-native:monitor:getSubscriptionDiagnosticSetting", { + "name": args.name, + }, opts); +} + +export interface GetSubscriptionDiagnosticSettingOutputArgs { + /** + * The name of the diagnostic setting. + */ + name: pulumi.Input; +} diff --git a/sdk/nodejs/monitor/index.ts b/sdk/nodejs/monitor/index.ts index bcd90acbd585..73b70c9d4e6e 100644 --- a/sdk/nodejs/monitor/index.ts +++ b/sdk/nodejs/monitor/index.ts @@ -10,21 +10,46 @@ export type ActionGroup = import("./actionGroup").ActionGroup; export const ActionGroup: typeof import("./actionGroup").ActionGroup = null as any; utilities.lazyLoad(exports, ["ActionGroup"], () => require("./actionGroup")); +export { AutoscaleSettingArgs } from "./autoscaleSetting"; +export type AutoscaleSetting = import("./autoscaleSetting").AutoscaleSetting; +export const AutoscaleSetting: typeof import("./autoscaleSetting").AutoscaleSetting = null as any; +utilities.lazyLoad(exports, ["AutoscaleSetting"], () => require("./autoscaleSetting")); + export { AzureMonitorWorkspaceArgs } from "./azureMonitorWorkspace"; export type AzureMonitorWorkspace = import("./azureMonitorWorkspace").AzureMonitorWorkspace; export const AzureMonitorWorkspace: typeof import("./azureMonitorWorkspace").AzureMonitorWorkspace = null as any; utilities.lazyLoad(exports, ["AzureMonitorWorkspace"], () => require("./azureMonitorWorkspace")); +export { DiagnosticSettingArgs } from "./diagnosticSetting"; +export type DiagnosticSetting = import("./diagnosticSetting").DiagnosticSetting; +export const DiagnosticSetting: typeof import("./diagnosticSetting").DiagnosticSetting = null as any; +utilities.lazyLoad(exports, ["DiagnosticSetting"], () => require("./diagnosticSetting")); + export { GetActionGroupArgs, GetActionGroupResult, GetActionGroupOutputArgs } from "./getActionGroup"; export const getActionGroup: typeof import("./getActionGroup").getActionGroup = null as any; export const getActionGroupOutput: typeof import("./getActionGroup").getActionGroupOutput = null as any; utilities.lazyLoad(exports, ["getActionGroup","getActionGroupOutput"], () => require("./getActionGroup")); +export { GetAutoscaleSettingArgs, GetAutoscaleSettingResult, GetAutoscaleSettingOutputArgs } from "./getAutoscaleSetting"; +export const getAutoscaleSetting: typeof import("./getAutoscaleSetting").getAutoscaleSetting = null as any; +export const getAutoscaleSettingOutput: typeof import("./getAutoscaleSetting").getAutoscaleSettingOutput = null as any; +utilities.lazyLoad(exports, ["getAutoscaleSetting","getAutoscaleSettingOutput"], () => require("./getAutoscaleSetting")); + export { GetAzureMonitorWorkspaceArgs, GetAzureMonitorWorkspaceResult, GetAzureMonitorWorkspaceOutputArgs } from "./getAzureMonitorWorkspace"; export const getAzureMonitorWorkspace: typeof import("./getAzureMonitorWorkspace").getAzureMonitorWorkspace = null as any; export const getAzureMonitorWorkspaceOutput: typeof import("./getAzureMonitorWorkspace").getAzureMonitorWorkspaceOutput = null as any; utilities.lazyLoad(exports, ["getAzureMonitorWorkspace","getAzureMonitorWorkspaceOutput"], () => require("./getAzureMonitorWorkspace")); +export { GetDiagnosticSettingArgs, GetDiagnosticSettingResult, GetDiagnosticSettingOutputArgs } from "./getDiagnosticSetting"; +export const getDiagnosticSetting: typeof import("./getDiagnosticSetting").getDiagnosticSetting = null as any; +export const getDiagnosticSettingOutput: typeof import("./getDiagnosticSetting").getDiagnosticSettingOutput = null as any; +utilities.lazyLoad(exports, ["getDiagnosticSetting","getDiagnosticSettingOutput"], () => require("./getDiagnosticSetting")); + +export { GetManagementGroupDiagnosticSettingArgs, GetManagementGroupDiagnosticSettingResult, GetManagementGroupDiagnosticSettingOutputArgs } from "./getManagementGroupDiagnosticSetting"; +export const getManagementGroupDiagnosticSetting: typeof import("./getManagementGroupDiagnosticSetting").getManagementGroupDiagnosticSetting = null as any; +export const getManagementGroupDiagnosticSettingOutput: typeof import("./getManagementGroupDiagnosticSetting").getManagementGroupDiagnosticSettingOutput = null as any; +utilities.lazyLoad(exports, ["getManagementGroupDiagnosticSetting","getManagementGroupDiagnosticSettingOutput"], () => require("./getManagementGroupDiagnosticSetting")); + export { GetPipelineGroupArgs, GetPipelineGroupResult, GetPipelineGroupOutputArgs } from "./getPipelineGroup"; export const getPipelineGroup: typeof import("./getPipelineGroup").getPipelineGroup = null as any; export const getPipelineGroupOutput: typeof import("./getPipelineGroup").getPipelineGroupOutput = null as any; @@ -50,11 +75,26 @@ export const getScheduledQueryRule: typeof import("./getScheduledQueryRule").get export const getScheduledQueryRuleOutput: typeof import("./getScheduledQueryRule").getScheduledQueryRuleOutput = null as any; utilities.lazyLoad(exports, ["getScheduledQueryRule","getScheduledQueryRuleOutput"], () => require("./getScheduledQueryRule")); +export { GetSubscriptionDiagnosticSettingArgs, GetSubscriptionDiagnosticSettingResult, GetSubscriptionDiagnosticSettingOutputArgs } from "./getSubscriptionDiagnosticSetting"; +export const getSubscriptionDiagnosticSetting: typeof import("./getSubscriptionDiagnosticSetting").getSubscriptionDiagnosticSetting = null as any; +export const getSubscriptionDiagnosticSettingOutput: typeof import("./getSubscriptionDiagnosticSetting").getSubscriptionDiagnosticSettingOutput = null as any; +utilities.lazyLoad(exports, ["getSubscriptionDiagnosticSetting","getSubscriptionDiagnosticSettingOutput"], () => require("./getSubscriptionDiagnosticSetting")); + export { GetTenantActionGroupArgs, GetTenantActionGroupResult, GetTenantActionGroupOutputArgs } from "./getTenantActionGroup"; export const getTenantActionGroup: typeof import("./getTenantActionGroup").getTenantActionGroup = null as any; export const getTenantActionGroupOutput: typeof import("./getTenantActionGroup").getTenantActionGroupOutput = null as any; utilities.lazyLoad(exports, ["getTenantActionGroup","getTenantActionGroupOutput"], () => require("./getTenantActionGroup")); +export { ListDiagnosticSettingsCategoryArgs, ListDiagnosticSettingsCategoryResult, ListDiagnosticSettingsCategoryOutputArgs } from "./listDiagnosticSettingsCategory"; +export const listDiagnosticSettingsCategory: typeof import("./listDiagnosticSettingsCategory").listDiagnosticSettingsCategory = null as any; +export const listDiagnosticSettingsCategoryOutput: typeof import("./listDiagnosticSettingsCategory").listDiagnosticSettingsCategoryOutput = null as any; +utilities.lazyLoad(exports, ["listDiagnosticSettingsCategory","listDiagnosticSettingsCategoryOutput"], () => require("./listDiagnosticSettingsCategory")); + +export { ManagementGroupDiagnosticSettingArgs } from "./managementGroupDiagnosticSetting"; +export type ManagementGroupDiagnosticSetting = import("./managementGroupDiagnosticSetting").ManagementGroupDiagnosticSetting; +export const ManagementGroupDiagnosticSetting: typeof import("./managementGroupDiagnosticSetting").ManagementGroupDiagnosticSetting = null as any; +utilities.lazyLoad(exports, ["ManagementGroupDiagnosticSetting"], () => require("./managementGroupDiagnosticSetting")); + export { PipelineGroupArgs } from "./pipelineGroup"; export type PipelineGroup = import("./pipelineGroup").PipelineGroup; export const PipelineGroup: typeof import("./pipelineGroup").PipelineGroup = null as any; @@ -80,6 +120,11 @@ export type ScheduledQueryRule = import("./scheduledQueryRule").ScheduledQueryRu export const ScheduledQueryRule: typeof import("./scheduledQueryRule").ScheduledQueryRule = null as any; utilities.lazyLoad(exports, ["ScheduledQueryRule"], () => require("./scheduledQueryRule")); +export { SubscriptionDiagnosticSettingArgs } from "./subscriptionDiagnosticSetting"; +export type SubscriptionDiagnosticSetting = import("./subscriptionDiagnosticSetting").SubscriptionDiagnosticSetting; +export const SubscriptionDiagnosticSetting: typeof import("./subscriptionDiagnosticSetting").SubscriptionDiagnosticSetting = null as any; +utilities.lazyLoad(exports, ["SubscriptionDiagnosticSetting"], () => require("./subscriptionDiagnosticSetting")); + export { TenantActionGroupArgs } from "./tenantActionGroup"; export type TenantActionGroup = import("./tenantActionGroup").TenantActionGroup; export const TenantActionGroup: typeof import("./tenantActionGroup").TenantActionGroup = null as any; @@ -95,8 +140,14 @@ const _module = { switch (type) { case "azure-native:monitor:ActionGroup": return new ActionGroup(name, undefined, { urn }) + case "azure-native:monitor:AutoscaleSetting": + return new AutoscaleSetting(name, undefined, { urn }) case "azure-native:monitor:AzureMonitorWorkspace": return new AzureMonitorWorkspace(name, undefined, { urn }) + case "azure-native:monitor:DiagnosticSetting": + return new DiagnosticSetting(name, undefined, { urn }) + case "azure-native:monitor:ManagementGroupDiagnosticSetting": + return new ManagementGroupDiagnosticSetting(name, undefined, { urn }) case "azure-native:monitor:PipelineGroup": return new PipelineGroup(name, undefined, { urn }) case "azure-native:monitor:PrivateEndpointConnection": @@ -107,6 +158,8 @@ const _module = { return new PrivateLinkScopedResource(name, undefined, { urn }) case "azure-native:monitor:ScheduledQueryRule": return new ScheduledQueryRule(name, undefined, { urn }) + case "azure-native:monitor:SubscriptionDiagnosticSetting": + return new SubscriptionDiagnosticSetting(name, undefined, { urn }) case "azure-native:monitor:TenantActionGroup": return new TenantActionGroup(name, undefined, { urn }) default: diff --git a/sdk/nodejs/monitor/listDiagnosticSettingsCategory.ts b/sdk/nodejs/monitor/listDiagnosticSettingsCategory.ts new file mode 100644 index 000000000000..999655176553 --- /dev/null +++ b/sdk/nodejs/monitor/listDiagnosticSettingsCategory.ts @@ -0,0 +1,55 @@ +// *** WARNING: this file was generated by pulumi-language-nodejs. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../types/input"; +import * as outputs from "../types/output"; +import * as enums from "../types/enums"; +import * as utilities from "../utilities"; + +/** + * Lists the diagnostic settings categories for the specified resource. + * + * Uses Azure REST API version 2021-05-01-preview. + */ +export function listDiagnosticSettingsCategory(args: ListDiagnosticSettingsCategoryArgs, opts?: pulumi.InvokeOptions): Promise { + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("azure-native:monitor:listDiagnosticSettingsCategory", { + "resourceUri": args.resourceUri, + }, opts); +} + +export interface ListDiagnosticSettingsCategoryArgs { + /** + * The identifier of the resource. + */ + resourceUri: string; +} + +/** + * Represents a collection of diagnostic setting category resources. + */ +export interface ListDiagnosticSettingsCategoryResult { + /** + * The collection of diagnostic settings category resources. + */ + readonly value?: outputs.monitor.DiagnosticSettingsCategoryResourceResponse[]; +} +/** + * Lists the diagnostic settings categories for the specified resource. + * + * Uses Azure REST API version 2021-05-01-preview. + */ +export function listDiagnosticSettingsCategoryOutput(args: ListDiagnosticSettingsCategoryOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invokeOutput("azure-native:monitor:listDiagnosticSettingsCategory", { + "resourceUri": args.resourceUri, + }, opts); +} + +export interface ListDiagnosticSettingsCategoryOutputArgs { + /** + * The identifier of the resource. + */ + resourceUri: pulumi.Input; +} diff --git a/sdk/nodejs/monitor/managementGroupDiagnosticSetting.ts b/sdk/nodejs/monitor/managementGroupDiagnosticSetting.ts new file mode 100644 index 000000000000..9a8da4edb616 --- /dev/null +++ b/sdk/nodejs/monitor/managementGroupDiagnosticSetting.ts @@ -0,0 +1,173 @@ +// *** WARNING: this file was generated by pulumi-language-nodejs. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../types/input"; +import * as outputs from "../types/output"; +import * as enums from "../types/enums"; +import * as utilities from "../utilities"; + +/** + * The management group diagnostic setting resource. + * + * Uses Azure REST API version 2021-05-01-preview. + */ +export class ManagementGroupDiagnosticSetting extends pulumi.CustomResource { + /** + * Get an existing ManagementGroupDiagnosticSetting resource's state with the given name, ID, and optional extra + * properties used to qualify the lookup. + * + * @param name The _unique_ name of the resulting resource. + * @param id The _unique_ provider ID of the resource to lookup. + * @param opts Optional settings to control the behavior of the CustomResource. + */ + public static get(name: string, id: pulumi.Input, opts?: pulumi.CustomResourceOptions): ManagementGroupDiagnosticSetting { + return new ManagementGroupDiagnosticSetting(name, undefined as any, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'azure-native:monitor:ManagementGroupDiagnosticSetting'; + + /** + * Returns true if the given object is an instance of ManagementGroupDiagnosticSetting. This is designed to work even + * when multiple copies of the Pulumi SDK have been loaded into the same process. + */ + public static isInstance(obj: any): obj is ManagementGroupDiagnosticSetting { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === ManagementGroupDiagnosticSetting.__pulumiType; + } + + /** + * The Azure API version of the resource. + */ + public /*out*/ readonly azureApiVersion!: pulumi.Output; + /** + * The resource Id for the event hub authorization rule. + */ + public readonly eventHubAuthorizationRuleId!: pulumi.Output; + /** + * The name of the event hub. If none is specified, the default event hub will be selected. + */ + public readonly eventHubName!: pulumi.Output; + /** + * The list of logs settings. + */ + public readonly logs!: pulumi.Output; + /** + * The full ARM resource ID of the Marketplace resource to which you would like to send Diagnostic Logs. + */ + public readonly marketplacePartnerId!: pulumi.Output; + /** + * The name of the resource + */ + public readonly name!: pulumi.Output; + /** + * The service bus rule Id of the diagnostic setting. This is here to maintain backwards compatibility. + */ + public readonly serviceBusRuleId!: pulumi.Output; + /** + * The resource ID of the storage account to which you would like to send Diagnostic Logs. + */ + public readonly storageAccountId!: pulumi.Output; + /** + * The system metadata related to this resource. + */ + public /*out*/ readonly systemData!: pulumi.Output; + /** + * The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + */ + public /*out*/ readonly type!: pulumi.Output; + /** + * The full ARM resource ID of the Log Analytics workspace to which you would like to send Diagnostic Logs. Example: /subscriptions/4b9e8510-67ab-4e9a-95a9-e2f1e570ea9c/resourceGroups/insights-integration/providers/Microsoft.OperationalInsights/workspaces/viruela2 + */ + public readonly workspaceId!: pulumi.Output; + + /** + * Create a ManagementGroupDiagnosticSetting resource with the given unique name, arguments, and options. + * + * @param name The _unique_ name of the resource. + * @param args The arguments to use to populate this resource's properties. + * @param opts A bag of options that control this resource's behavior. + */ + constructor(name: string, args: ManagementGroupDiagnosticSettingArgs, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (!opts.id) { + if ((!args || args.managementGroupId === undefined) && !opts.urn) { + throw new Error("Missing required property 'managementGroupId'"); + } + resourceInputs["eventHubAuthorizationRuleId"] = args ? args.eventHubAuthorizationRuleId : undefined; + resourceInputs["eventHubName"] = args ? args.eventHubName : undefined; + resourceInputs["logs"] = args ? args.logs : undefined; + resourceInputs["managementGroupId"] = args ? args.managementGroupId : undefined; + resourceInputs["marketplacePartnerId"] = args ? args.marketplacePartnerId : undefined; + resourceInputs["name"] = args ? args.name : undefined; + resourceInputs["serviceBusRuleId"] = args ? args.serviceBusRuleId : undefined; + resourceInputs["storageAccountId"] = args ? args.storageAccountId : undefined; + resourceInputs["workspaceId"] = args ? args.workspaceId : undefined; + resourceInputs["azureApiVersion"] = undefined /*out*/; + resourceInputs["systemData"] = undefined /*out*/; + resourceInputs["type"] = undefined /*out*/; + } else { + resourceInputs["azureApiVersion"] = undefined /*out*/; + resourceInputs["eventHubAuthorizationRuleId"] = undefined /*out*/; + resourceInputs["eventHubName"] = undefined /*out*/; + resourceInputs["logs"] = undefined /*out*/; + resourceInputs["marketplacePartnerId"] = undefined /*out*/; + resourceInputs["name"] = undefined /*out*/; + resourceInputs["serviceBusRuleId"] = undefined /*out*/; + resourceInputs["storageAccountId"] = undefined /*out*/; + resourceInputs["systemData"] = undefined /*out*/; + resourceInputs["type"] = undefined /*out*/; + resourceInputs["workspaceId"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + const aliasOpts = { aliases: [{ type: "azure-native:insights/v20200101preview:ManagementGroupDiagnosticSetting" }, { type: "azure-native:insights/v20210501preview:ManagementGroupDiagnosticSetting" }, { type: "azure-native:insights:ManagementGroupDiagnosticSetting" }, { type: "azure-native:monitor/v20200101preview:ManagementGroupDiagnosticSetting" }, { type: "azure-native:monitor/v20210501preview:ManagementGroupDiagnosticSetting" }] }; + opts = pulumi.mergeOptions(opts, aliasOpts); + super(ManagementGroupDiagnosticSetting.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * The set of arguments for constructing a ManagementGroupDiagnosticSetting resource. + */ +export interface ManagementGroupDiagnosticSettingArgs { + /** + * The resource Id for the event hub authorization rule. + */ + eventHubAuthorizationRuleId?: pulumi.Input; + /** + * The name of the event hub. If none is specified, the default event hub will be selected. + */ + eventHubName?: pulumi.Input; + /** + * The list of logs settings. + */ + logs?: pulumi.Input[]>; + /** + * The management group id. + */ + managementGroupId: pulumi.Input; + /** + * The full ARM resource ID of the Marketplace resource to which you would like to send Diagnostic Logs. + */ + marketplacePartnerId?: pulumi.Input; + /** + * The name of the diagnostic setting. + */ + name?: pulumi.Input; + /** + * The service bus rule Id of the diagnostic setting. This is here to maintain backwards compatibility. + */ + serviceBusRuleId?: pulumi.Input; + /** + * The resource ID of the storage account to which you would like to send Diagnostic Logs. + */ + storageAccountId?: pulumi.Input; + /** + * The full ARM resource ID of the Log Analytics workspace to which you would like to send Diagnostic Logs. Example: /subscriptions/4b9e8510-67ab-4e9a-95a9-e2f1e570ea9c/resourceGroups/insights-integration/providers/Microsoft.OperationalInsights/workspaces/viruela2 + */ + workspaceId?: pulumi.Input; +} diff --git a/sdk/nodejs/monitor/subscriptionDiagnosticSetting.ts b/sdk/nodejs/monitor/subscriptionDiagnosticSetting.ts new file mode 100644 index 000000000000..b9f8f5762316 --- /dev/null +++ b/sdk/nodejs/monitor/subscriptionDiagnosticSetting.ts @@ -0,0 +1,165 @@ +// *** WARNING: this file was generated by pulumi-language-nodejs. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../types/input"; +import * as outputs from "../types/output"; +import * as enums from "../types/enums"; +import * as utilities from "../utilities"; + +/** + * The subscription diagnostic setting resource. + * + * Uses Azure REST API version 2021-05-01-preview. + */ +export class SubscriptionDiagnosticSetting extends pulumi.CustomResource { + /** + * Get an existing SubscriptionDiagnosticSetting resource's state with the given name, ID, and optional extra + * properties used to qualify the lookup. + * + * @param name The _unique_ name of the resulting resource. + * @param id The _unique_ provider ID of the resource to lookup. + * @param opts Optional settings to control the behavior of the CustomResource. + */ + public static get(name: string, id: pulumi.Input, opts?: pulumi.CustomResourceOptions): SubscriptionDiagnosticSetting { + return new SubscriptionDiagnosticSetting(name, undefined as any, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'azure-native:monitor:SubscriptionDiagnosticSetting'; + + /** + * Returns true if the given object is an instance of SubscriptionDiagnosticSetting. This is designed to work even + * when multiple copies of the Pulumi SDK have been loaded into the same process. + */ + public static isInstance(obj: any): obj is SubscriptionDiagnosticSetting { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === SubscriptionDiagnosticSetting.__pulumiType; + } + + /** + * The Azure API version of the resource. + */ + public /*out*/ readonly azureApiVersion!: pulumi.Output; + /** + * The resource Id for the event hub authorization rule. + */ + public readonly eventHubAuthorizationRuleId!: pulumi.Output; + /** + * The name of the event hub. If none is specified, the default event hub will be selected. + */ + public readonly eventHubName!: pulumi.Output; + /** + * The list of logs settings. + */ + public readonly logs!: pulumi.Output; + /** + * The full ARM resource ID of the Marketplace resource to which you would like to send Diagnostic Logs. + */ + public readonly marketplacePartnerId!: pulumi.Output; + /** + * The name of the resource + */ + public readonly name!: pulumi.Output; + /** + * The service bus rule Id of the diagnostic setting. This is here to maintain backwards compatibility. + */ + public readonly serviceBusRuleId!: pulumi.Output; + /** + * The resource ID of the storage account to which you would like to send Diagnostic Logs. + */ + public readonly storageAccountId!: pulumi.Output; + /** + * The system metadata related to this resource. + */ + public /*out*/ readonly systemData!: pulumi.Output; + /** + * The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + */ + public /*out*/ readonly type!: pulumi.Output; + /** + * The full ARM resource ID of the Log Analytics workspace to which you would like to send Diagnostic Logs. Example: /subscriptions/4b9e8510-67ab-4e9a-95a9-e2f1e570ea9c/resourceGroups/insights-integration/providers/Microsoft.OperationalInsights/workspaces/viruela2 + */ + public readonly workspaceId!: pulumi.Output; + + /** + * Create a SubscriptionDiagnosticSetting resource with the given unique name, arguments, and options. + * + * @param name The _unique_ name of the resource. + * @param args The arguments to use to populate this resource's properties. + * @param opts A bag of options that control this resource's behavior. + */ + constructor(name: string, args?: SubscriptionDiagnosticSettingArgs, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (!opts.id) { + resourceInputs["eventHubAuthorizationRuleId"] = args ? args.eventHubAuthorizationRuleId : undefined; + resourceInputs["eventHubName"] = args ? args.eventHubName : undefined; + resourceInputs["logs"] = args ? args.logs : undefined; + resourceInputs["marketplacePartnerId"] = args ? args.marketplacePartnerId : undefined; + resourceInputs["name"] = args ? args.name : undefined; + resourceInputs["serviceBusRuleId"] = args ? args.serviceBusRuleId : undefined; + resourceInputs["storageAccountId"] = args ? args.storageAccountId : undefined; + resourceInputs["workspaceId"] = args ? args.workspaceId : undefined; + resourceInputs["azureApiVersion"] = undefined /*out*/; + resourceInputs["systemData"] = undefined /*out*/; + resourceInputs["type"] = undefined /*out*/; + } else { + resourceInputs["azureApiVersion"] = undefined /*out*/; + resourceInputs["eventHubAuthorizationRuleId"] = undefined /*out*/; + resourceInputs["eventHubName"] = undefined /*out*/; + resourceInputs["logs"] = undefined /*out*/; + resourceInputs["marketplacePartnerId"] = undefined /*out*/; + resourceInputs["name"] = undefined /*out*/; + resourceInputs["serviceBusRuleId"] = undefined /*out*/; + resourceInputs["storageAccountId"] = undefined /*out*/; + resourceInputs["systemData"] = undefined /*out*/; + resourceInputs["type"] = undefined /*out*/; + resourceInputs["workspaceId"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + const aliasOpts = { aliases: [{ type: "azure-native:insights/v20170501preview:SubscriptionDiagnosticSetting" }, { type: "azure-native:insights/v20210501preview:SubscriptionDiagnosticSetting" }, { type: "azure-native:insights:SubscriptionDiagnosticSetting" }, { type: "azure-native:monitor/v20170501preview:SubscriptionDiagnosticSetting" }, { type: "azure-native:monitor/v20210501preview:SubscriptionDiagnosticSetting" }] }; + opts = pulumi.mergeOptions(opts, aliasOpts); + super(SubscriptionDiagnosticSetting.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * The set of arguments for constructing a SubscriptionDiagnosticSetting resource. + */ +export interface SubscriptionDiagnosticSettingArgs { + /** + * The resource Id for the event hub authorization rule. + */ + eventHubAuthorizationRuleId?: pulumi.Input; + /** + * The name of the event hub. If none is specified, the default event hub will be selected. + */ + eventHubName?: pulumi.Input; + /** + * The list of logs settings. + */ + logs?: pulumi.Input[]>; + /** + * The full ARM resource ID of the Marketplace resource to which you would like to send Diagnostic Logs. + */ + marketplacePartnerId?: pulumi.Input; + /** + * The name of the diagnostic setting. + */ + name?: pulumi.Input; + /** + * The service bus rule Id of the diagnostic setting. This is here to maintain backwards compatibility. + */ + serviceBusRuleId?: pulumi.Input; + /** + * The resource ID of the storage account to which you would like to send Diagnostic Logs. + */ + storageAccountId?: pulumi.Input; + /** + * The full ARM resource ID of the Log Analytics workspace to which you would like to send Diagnostic Logs. Example: /subscriptions/4b9e8510-67ab-4e9a-95a9-e2f1e570ea9c/resourceGroups/insights-integration/providers/Microsoft.OperationalInsights/workspaces/viruela2 + */ + workspaceId?: pulumi.Input; +} diff --git a/sdk/nodejs/tsconfig.json b/sdk/nodejs/tsconfig.json index 432c3408ea22..72dd6b833ca0 100644 --- a/sdk/nodejs/tsconfig.json +++ b/sdk/nodejs/tsconfig.json @@ -3161,21 +3161,30 @@ "mongocluster/mongoCluster.ts", "mongocluster/privateEndpointConnection.ts", "monitor/actionGroup.ts", + "monitor/autoscaleSetting.ts", "monitor/azureMonitorWorkspace.ts", + "monitor/diagnosticSetting.ts", "monitor/getActionGroup.ts", + "monitor/getAutoscaleSetting.ts", "monitor/getAzureMonitorWorkspace.ts", + "monitor/getDiagnosticSetting.ts", + "monitor/getManagementGroupDiagnosticSetting.ts", "monitor/getPipelineGroup.ts", "monitor/getPrivateEndpointConnection.ts", "monitor/getPrivateLinkScope.ts", "monitor/getPrivateLinkScopedResource.ts", "monitor/getScheduledQueryRule.ts", + "monitor/getSubscriptionDiagnosticSetting.ts", "monitor/getTenantActionGroup.ts", "monitor/index.ts", + "monitor/listDiagnosticSettingsCategory.ts", + "monitor/managementGroupDiagnosticSetting.ts", "monitor/pipelineGroup.ts", "monitor/privateEndpointConnection.ts", "monitor/privateLinkScope.ts", "monitor/privateLinkScopedResource.ts", "monitor/scheduledQueryRule.ts", + "monitor/subscriptionDiagnosticSetting.ts", "monitor/tenantActionGroup.ts", "mysqldiscovery/getMySQLServer.ts", "mysqldiscovery/getMySQLSite.ts", diff --git a/sdk/nodejs/types/enums/monitor/index.ts b/sdk/nodejs/types/enums/monitor/index.ts index b7e9f5dd4ba6..7ee7ca503217 100644 --- a/sdk/nodejs/types/enums/monitor/index.ts +++ b/sdk/nodejs/types/enums/monitor/index.ts @@ -12,6 +12,20 @@ export const AccessMode = { */ export type AccessMode = (typeof AccessMode)[keyof typeof AccessMode]; +export const ComparisonOperationType = { + Equals: "Equals", + NotEquals: "NotEquals", + GreaterThan: "GreaterThan", + GreaterThanOrEqual: "GreaterThanOrEqual", + LessThan: "LessThan", + LessThanOrEqual: "LessThanOrEqual", +} as const; + +/** + * the operator that is used to compare the metric data and the threshold. + */ +export type ComparisonOperationType = (typeof ComparisonOperationType)[keyof typeof ComparisonOperationType]; + export const ConditionOperator = { Equals: "Equals", GreaterThan: "GreaterThan", @@ -149,6 +163,28 @@ export const ManagedServiceIdentityType = { */ export type ManagedServiceIdentityType = (typeof ManagedServiceIdentityType)[keyof typeof ManagedServiceIdentityType]; +export const MetricStatisticType = { + Average: "Average", + Min: "Min", + Max: "Max", + Sum: "Sum", + Count: "Count", +} as const; + +/** + * the metric statistic type. How the metrics from multiple instances are combined. + */ +export type MetricStatisticType = (typeof MetricStatisticType)[keyof typeof MetricStatisticType]; + +export const OperationType = { + Scale: "Scale", +} as const; + +/** + * the operation associated with the notification and its value must be "scale" + */ +export type OperationType = (typeof OperationType)[keyof typeof OperationType]; + export const PipelineType = { /** * Pipeline for logs telemetry. @@ -161,6 +197,17 @@ export const PipelineType = { */ export type PipelineType = (typeof PipelineType)[keyof typeof PipelineType]; +export const PredictiveAutoscalePolicyScaleMode = { + Disabled: "Disabled", + ForecastOnly: "ForecastOnly", + Enabled: "Enabled", +} as const; + +/** + * the predictive autoscale mode + */ +export type PredictiveAutoscalePolicyScaleMode = (typeof PredictiveAutoscalePolicyScaleMode)[keyof typeof PredictiveAutoscalePolicyScaleMode]; + export const PrivateEndpointServiceConnectionStatus = { Pending: "Pending", Approved: "Approved", @@ -212,6 +259,55 @@ export const ReceiverType = { */ export type ReceiverType = (typeof ReceiverType)[keyof typeof ReceiverType]; +export const RecurrenceFrequency = { + None: "None", + Second: "Second", + Minute: "Minute", + Hour: "Hour", + Day: "Day", + Week: "Week", + Month: "Month", + Year: "Year", +} as const; + +/** + * the recurrence frequency. How often the schedule profile should take effect. This value must be Week, meaning each week will have the same set of profiles. For example, to set a daily schedule, set **schedule** to every day of the week. The frequency property specifies that the schedule is repeated weekly. + */ +export type RecurrenceFrequency = (typeof RecurrenceFrequency)[keyof typeof RecurrenceFrequency]; + +export const ScaleDirection = { + None: "None", + Increase: "Increase", + Decrease: "Decrease", +} as const; + +/** + * the scale direction. Whether the scaling action increases or decreases the number of instances. + */ +export type ScaleDirection = (typeof ScaleDirection)[keyof typeof ScaleDirection]; + +export const ScaleRuleMetricDimensionOperationType = { + Equals: "Equals", + NotEquals: "NotEquals", +} as const; + +/** + * the dimension operator. Only 'Equals' and 'NotEquals' are supported. 'Equals' being equal to any of the values. 'NotEquals' being not equal to all of the values + */ +export type ScaleRuleMetricDimensionOperationType = (typeof ScaleRuleMetricDimensionOperationType)[keyof typeof ScaleRuleMetricDimensionOperationType]; + +export const ScaleType = { + ChangeCount: "ChangeCount", + PercentChangeCount: "PercentChangeCount", + ExactCount: "ExactCount", + ServiceAllowedNextValue: "ServiceAllowedNextValue", +} as const; + +/** + * the type of action that should occur when the scale rule fires. + */ +export type ScaleType = (typeof ScaleType)[keyof typeof ScaleType]; + export const ScopedResourceKind = { Resource: "Resource", Metrics: "Metrics", @@ -282,3 +378,17 @@ export const TimeAggregation = { * Aggregation type. Relevant and required only for rules of the kind LogAlert. */ export type TimeAggregation = (typeof TimeAggregation)[keyof typeof TimeAggregation]; + +export const TimeAggregationType = { + Average: "Average", + Minimum: "Minimum", + Maximum: "Maximum", + Total: "Total", + Count: "Count", + Last: "Last", +} as const; + +/** + * time aggregation type. How the data that is collected should be combined over time. The default value is Average. + */ +export type TimeAggregationType = (typeof TimeAggregationType)[keyof typeof TimeAggregationType]; diff --git a/sdk/nodejs/types/input.ts b/sdk/nodejs/types/input.ts index 49217b53661f..997bdedd71c3 100644 --- a/sdk/nodejs/types/input.ts +++ b/sdk/nodejs/types/input.ts @@ -130568,6 +130568,59 @@ export namespace monitor { }; } + /** + * Autoscale notification. + */ + export interface AutoscaleNotificationArgs { + /** + * the email notification. + */ + email?: pulumi.Input; + /** + * the operation associated with the notification and its value must be "scale" + */ + operation: pulumi.Input; + /** + * the collection of webhook notifications. + */ + webhooks?: pulumi.Input[]>; + } + /** + * autoscaleNotificationArgsProvideDefaults sets the appropriate defaults for AutoscaleNotificationArgs + */ + export function autoscaleNotificationArgsProvideDefaults(val: AutoscaleNotificationArgs): AutoscaleNotificationArgs { + return { + ...val, + email: (val.email ? pulumi.output(val.email).apply(inputs.monitor.emailNotificationArgsProvideDefaults) : undefined), + }; + } + + /** + * Autoscale profile. + */ + export interface AutoscaleProfileArgs { + /** + * the number of instances that can be used during this profile. + */ + capacity: pulumi.Input; + /** + * the specific date-time for the profile. This element is not used if the Recurrence element is used. + */ + fixedDate?: pulumi.Input; + /** + * the name of the profile. + */ + name: pulumi.Input; + /** + * the repeating times at which this profile begins. This element is not used if the FixedDate element is used. + */ + recurrence?: pulumi.Input; + /** + * the collection of rules that provide the triggers and parameters for the scaling action. A maximum of 10 rules can be specified. + */ + rules: pulumi.Input[]>; + } + /** * The Azure mobile App push notification receiver. */ @@ -130851,6 +130904,34 @@ export namespace monitor { values: pulumi.Input[]>; } + /** + * Email notification of an autoscale event. + */ + export interface EmailNotificationArgs { + /** + * the custom e-mails list. This value can be null or empty, in which case this attribute will be ignored. + */ + customEmails?: pulumi.Input[]>; + /** + * a value indicating whether to send email to subscription administrator. + */ + sendToSubscriptionAdministrator?: pulumi.Input; + /** + * a value indicating whether to send email to subscription co-administrators. + */ + sendToSubscriptionCoAdministrators?: pulumi.Input; + } + /** + * emailNotificationArgsProvideDefaults sets the appropriate defaults for EmailNotificationArgs + */ + export function emailNotificationArgsProvideDefaults(val: EmailNotificationArgs): EmailNotificationArgs { + return { + ...val, + sendToSubscriptionAdministrator: (val.sendToSubscriptionAdministrator) ?? false, + sendToSubscriptionCoAdministrators: (val.sendToSubscriptionCoAdministrators) ?? false, + }; + } + /** * An email receiver. */ @@ -131088,6 +131169,28 @@ export namespace monitor { fieldName?: pulumi.Input; } + /** + * Part of MultiTenantDiagnosticSettings. Specifies the settings for a particular log. + */ + export interface LogSettingsArgs { + /** + * Name of a Diagnostic Log category for a resource type this setting is applied to. To obtain the list of Diagnostic Log categories for a resource, first perform a GET diagnostic settings operation. + */ + category?: pulumi.Input; + /** + * Name of a Diagnostic Log category group for a resource type this setting is applied to. To obtain the list of Diagnostic Log categories for a resource, first perform a GET diagnostic settings operation. + */ + categoryGroup?: pulumi.Input; + /** + * a value indicating whether this log is enabled. + */ + enabled: pulumi.Input; + /** + * the retention policy for this log. + */ + retentionPolicy?: pulumi.Input; + } + /** * A logic app receiver. */ @@ -131137,6 +131240,100 @@ export namespace monitor { userAssignedIdentities?: pulumi.Input[]>; } + /** + * Part of Management Group diagnostic setting. Specifies the settings for a particular log. + */ + export interface ManagementGroupLogSettingsArgs { + /** + * Name of a Management Group Diagnostic Log category for a resource type this setting is applied to. + */ + category?: pulumi.Input; + /** + * Name of a Management Group Diagnostic Log category group for a resource type this setting is applied to. + */ + categoryGroup?: pulumi.Input; + /** + * a value indicating whether this log is enabled. + */ + enabled: pulumi.Input; + } + + /** + * Part of MultiTenantDiagnosticSettings. Specifies the settings for a particular metric. + */ + export interface MetricSettingsArgs { + /** + * Name of a Diagnostic Metric category for a resource type this setting is applied to. To obtain the list of Diagnostic metric categories for a resource, first perform a GET diagnostic settings operation. + */ + category?: pulumi.Input; + /** + * a value indicating whether this category is enabled. + */ + enabled: pulumi.Input; + /** + * the retention policy for this category. + */ + retentionPolicy?: pulumi.Input; + /** + * the timegrain of the metric in ISO8601 format. + */ + timeGrain?: pulumi.Input; + } + + /** + * The trigger that results in a scaling action. + */ + export interface MetricTriggerArgs { + /** + * List of dimension conditions. For example: [{"DimensionName":"AppName","Operator":"Equals","Values":["App1"]},{"DimensionName":"Deployment","Operator":"Equals","Values":["default"]}]. + */ + dimensions?: pulumi.Input[]>; + /** + * a value indicating whether metric should divide per instance. + */ + dividePerInstance?: pulumi.Input; + /** + * the name of the metric that defines what the rule monitors. + */ + metricName: pulumi.Input; + /** + * the namespace of the metric that defines what the rule monitors. + */ + metricNamespace?: pulumi.Input; + /** + * the location of the resource the rule monitors. + */ + metricResourceLocation?: pulumi.Input; + /** + * the resource identifier of the resource the rule monitors. + */ + metricResourceUri: pulumi.Input; + /** + * the operator that is used to compare the metric data and the threshold. + */ + operator: pulumi.Input; + /** + * the metric statistic type. How the metrics from multiple instances are combined. + */ + statistic: pulumi.Input; + /** + * the threshold of the metric that triggers the scale action. + */ + threshold: pulumi.Input; + /** + * time aggregation type. How the data that is collected should be combined over time. The default value is Average. + */ + timeAggregation: pulumi.Input; + /** + * the granularity of metrics the rule monitors. Must be one of the predefined values returned from metric definitions for the metric. Must be between 12 hours and 1 minute. + */ + timeGrain: pulumi.Input; + /** + * the range of time in which instance data is collected. This value must be greater than the delay in metric collection, which can vary from resource-to-resource. Must be between 12 hours and 5 minutes. + */ + timeWindow: pulumi.Input; + } + /** * Networking configuration for the pipeline group instance. */ @@ -131253,6 +131450,20 @@ export namespace monitor { service: pulumi.Input; } + /** + * The parameters for enabling predictive autoscale. + */ + export interface PredictiveAutoscalePolicyArgs { + /** + * the amount of time to specify by which instances are launched in advance. It must be between 1 minute and 60 minutes in ISO 8601 format. + */ + scaleLookAheadTime?: pulumi.Input; + /** + * the predictive autoscale mode + */ + scaleMode: pulumi.Input; + } + /** * A collection of information about the state of the connection between service consumer and provider. */ @@ -131348,6 +131559,42 @@ export namespace monitor { to: pulumi.Input; } + /** + * The repeating times at which this profile begins. This element is not used if the FixedDate element is used. + */ + export interface RecurrenceArgs { + /** + * the recurrence frequency. How often the schedule profile should take effect. This value must be Week, meaning each week will have the same set of profiles. For example, to set a daily schedule, set **schedule** to every day of the week. The frequency property specifies that the schedule is repeated weekly. + */ + frequency: pulumi.Input; + /** + * the scheduling constraints for when the profile begins. + */ + schedule: pulumi.Input; + } + + /** + * The scheduling constraints for when the profile begins. + */ + export interface RecurrentScheduleArgs { + /** + * the collection of days that the profile takes effect on. Possible values are Sunday through Saturday. + */ + days: pulumi.Input[]>; + /** + * A collection of hours that the profile takes effect on. Values supported are 0 to 23 on the 24-hour clock (AM/PM times are not supported). + */ + hours: pulumi.Input[]>; + /** + * A collection of minutes at which the profile takes effect at. + */ + minutes: pulumi.Input[]>; + /** + * the timezone for the hours of the profile. Some examples of valid time zones are: Dateline Standard Time, UTC-11, Hawaiian Standard Time, Alaskan Standard Time, Pacific Standard Time (Mexico), Pacific Standard Time, US Mountain Standard Time, Mountain Standard Time (Mexico), Mountain Standard Time, Central America Standard Time, Central Standard Time, Central Standard Time (Mexico), Canada Central Standard Time, SA Pacific Standard Time, Eastern Standard Time, US Eastern Standard Time, Venezuela Standard Time, Paraguay Standard Time, Atlantic Standard Time, Central Brazilian Standard Time, SA Western Standard Time, Pacific SA Standard Time, Newfoundland Standard Time, E. South America Standard Time, Argentina Standard Time, SA Eastern Standard Time, Greenland Standard Time, Montevideo Standard Time, Bahia Standard Time, UTC-02, Mid-Atlantic Standard Time, Azores Standard Time, Cape Verde Standard Time, Morocco Standard Time, UTC, GMT Standard Time, Greenwich Standard Time, W. Europe Standard Time, Central Europe Standard Time, Romance Standard Time, Central European Standard Time, W. Central Africa Standard Time, Namibia Standard Time, Jordan Standard Time, GTB Standard Time, Middle East Standard Time, Egypt Standard Time, Syria Standard Time, E. Europe Standard Time, South Africa Standard Time, FLE Standard Time, Turkey Standard Time, Israel Standard Time, Kaliningrad Standard Time, Libya Standard Time, Arabic Standard Time, Arab Standard Time, Belarus Standard Time, Russian Standard Time, E. Africa Standard Time, Iran Standard Time, Arabian Standard Time, Azerbaijan Standard Time, Russia Time Zone 3, Mauritius Standard Time, Georgian Standard Time, Caucasus Standard Time, Afghanistan Standard Time, West Asia Standard Time, Ekaterinburg Standard Time, Pakistan Standard Time, India Standard Time, Sri Lanka Standard Time, Nepal Standard Time, Central Asia Standard Time, Bangladesh Standard Time, N. Central Asia Standard Time, Myanmar Standard Time, SE Asia Standard Time, North Asia Standard Time, China Standard Time, North Asia East Standard Time, Singapore Standard Time, W. Australia Standard Time, Taipei Standard Time, Ulaanbaatar Standard Time, Tokyo Standard Time, Korea Standard Time, Yakutsk Standard Time, Cen. Australia Standard Time, AUS Central Standard Time, E. Australia Standard Time, AUS Eastern Standard Time, West Pacific Standard Time, Tasmania Standard Time, Magadan Standard Time, Vladivostok Standard Time, Russia Time Zone 10, Central Pacific Standard Time, Russia Time Zone 11, New Zealand Standard Time, UTC+12, Fiji Standard Time, Kamchatka Standard Time, Tonga Standard Time, Samoa Standard Time, Line Islands Standard Time + */ + timeZone: pulumi.Input; + } + /** * Resource map for schema in azure monitor. */ @@ -131362,6 +131609,20 @@ export namespace monitor { to: pulumi.Input; } + /** + * Specifies the retention policy for the log. + */ + export interface RetentionPolicyArgs { + /** + * the number of days for the retention in days. A value of 0 will retain the events indefinitely. + */ + days: pulumi.Input; + /** + * a value indicating whether the retention policy is enabled. + */ + enabled: pulumi.Input; + } + /** * TBD. Relevant only for rules of the kind LogAlert. */ @@ -131376,6 +131637,96 @@ export namespace monitor { timeToResolve?: pulumi.Input; } + /** + * The parameters for the scaling action. + */ + export interface ScaleActionArgs { + /** + * the amount of time to wait since the last scaling action before this action occurs. It must be between 1 week and 1 minute in ISO 8601 format. + */ + cooldown: pulumi.Input; + /** + * the scale direction. Whether the scaling action increases or decreases the number of instances. + */ + direction: pulumi.Input; + /** + * the type of action that should occur when the scale rule fires. + */ + type: pulumi.Input; + /** + * the number of instances that are involved in the scaling action. This value must be 1 or greater. The default value is 1. + */ + value?: pulumi.Input; + } + /** + * scaleActionArgsProvideDefaults sets the appropriate defaults for ScaleActionArgs + */ + export function scaleActionArgsProvideDefaults(val: ScaleActionArgs): ScaleActionArgs { + return { + ...val, + value: (val.value) ?? "1", + }; + } + + /** + * The number of instances that can be used during this profile. + */ + export interface ScaleCapacityArgs { + /** + * the number of instances that will be set if metrics are not available for evaluation. The default is only used if the current instance count is lower than the default. + */ + default: pulumi.Input; + /** + * the maximum number of instances for the resource. The actual maximum number of instances is limited by the cores that are available in the subscription. + */ + maximum: pulumi.Input; + /** + * the minimum number of instances for the resource. + */ + minimum: pulumi.Input; + } + + /** + * A rule that provide the triggers and parameters for the scaling action. + */ + export interface ScaleRuleArgs { + /** + * the trigger that results in a scaling action. + */ + metricTrigger: pulumi.Input; + /** + * the parameters for the scaling action. + */ + scaleAction: pulumi.Input; + } + /** + * scaleRuleArgsProvideDefaults sets the appropriate defaults for ScaleRuleArgs + */ + export function scaleRuleArgsProvideDefaults(val: ScaleRuleArgs): ScaleRuleArgs { + return { + ...val, + scaleAction: pulumi.output(val.scaleAction).apply(inputs.monitor.scaleActionArgsProvideDefaults), + }; + } + + /** + * Specifies an auto scale rule metric dimension. + */ + export interface ScaleRuleMetricDimensionArgs { + /** + * Name of the dimension. + */ + dimensionName: pulumi.Input; + /** + * the dimension operator. Only 'Equals' and 'NotEquals' are supported. 'Equals' being equal to any of the values. 'NotEquals' being not equal to all of the values + */ + operator: pulumi.Input; + /** + * list of dimension values. For example: ["App1","App2"]. + */ + values: pulumi.Input[]>; + } + /** * The rule criteria that defines the conditions of the scheduled query rule. */ @@ -131450,6 +131801,24 @@ export namespace monitor { phoneNumber: pulumi.Input; } + /** + * Part of Subscription diagnostic setting. Specifies the settings for a particular log. + */ + export interface SubscriptionLogSettingsArgs { + /** + * Name of a Subscription Diagnostic Log category for a resource type this setting is applied to. + */ + category?: pulumi.Input; + /** + * Name of a Subscription Diagnostic Log category group for a resource type this setting is applied to. + */ + categoryGroup?: pulumi.Input; + /** + * a value indicating whether this log is enabled. + */ + enabled: pulumi.Input; + } + /** * Base receiver using TCP as transport protocol. */ @@ -131483,6 +131852,24 @@ export namespace monitor { url: pulumi.Input; } + /** + * A specific date-time for the profile. + */ + export interface TimeWindowArgs { + /** + * the end time for the profile in ISO 8601 format. + */ + end: pulumi.Input; + /** + * the start time for the profile in ISO 8601 format. + */ + start: pulumi.Input; + /** + * the timezone of the start and end times for the profile. Some examples of valid time zones are: Dateline Standard Time, UTC-11, Hawaiian Standard Time, Alaskan Standard Time, Pacific Standard Time (Mexico), Pacific Standard Time, US Mountain Standard Time, Mountain Standard Time (Mexico), Mountain Standard Time, Central America Standard Time, Central Standard Time, Central Standard Time (Mexico), Canada Central Standard Time, SA Pacific Standard Time, Eastern Standard Time, US Eastern Standard Time, Venezuela Standard Time, Paraguay Standard Time, Atlantic Standard Time, Central Brazilian Standard Time, SA Western Standard Time, Pacific SA Standard Time, Newfoundland Standard Time, E. South America Standard Time, Argentina Standard Time, SA Eastern Standard Time, Greenland Standard Time, Montevideo Standard Time, Bahia Standard Time, UTC-02, Mid-Atlantic Standard Time, Azores Standard Time, Cape Verde Standard Time, Morocco Standard Time, UTC, GMT Standard Time, Greenwich Standard Time, W. Europe Standard Time, Central Europe Standard Time, Romance Standard Time, Central European Standard Time, W. Central Africa Standard Time, Namibia Standard Time, Jordan Standard Time, GTB Standard Time, Middle East Standard Time, Egypt Standard Time, Syria Standard Time, E. Europe Standard Time, South Africa Standard Time, FLE Standard Time, Turkey Standard Time, Israel Standard Time, Kaliningrad Standard Time, Libya Standard Time, Arabic Standard Time, Arab Standard Time, Belarus Standard Time, Russian Standard Time, E. Africa Standard Time, Iran Standard Time, Arabian Standard Time, Azerbaijan Standard Time, Russia Time Zone 3, Mauritius Standard Time, Georgian Standard Time, Caucasus Standard Time, Afghanistan Standard Time, West Asia Standard Time, Ekaterinburg Standard Time, Pakistan Standard Time, India Standard Time, Sri Lanka Standard Time, Nepal Standard Time, Central Asia Standard Time, Bangladesh Standard Time, N. Central Asia Standard Time, Myanmar Standard Time, SE Asia Standard Time, North Asia Standard Time, China Standard Time, North Asia East Standard Time, Singapore Standard Time, W. Australia Standard Time, Taipei Standard Time, Ulaanbaatar Standard Time, Tokyo Standard Time, Korea Standard Time, Yakutsk Standard Time, Cen. Australia Standard Time, AUS Central Standard Time, E. Australia Standard Time, AUS Eastern Standard Time, West Pacific Standard Time, Tasmania Standard Time, Magadan Standard Time, Vladivostok Standard Time, Russia Time Zone 10, Central Pacific Standard Time, Russia Time Zone 11, New Zealand Standard Time, UTC+12, Fiji Standard Time, Kamchatka Standard Time, Tonga Standard Time, Samoa Standard Time, Line Islands Standard Time + */ + timeZone?: pulumi.Input; + } + /** * Receiver using UDP as transport protocol. */ @@ -131534,6 +131921,20 @@ export namespace monitor { phoneNumber: pulumi.Input; } + /** + * Webhook notification of an autoscale event. + */ + export interface WebhookNotificationArgs { + /** + * a property bag of settings. This value can be empty. + */ + properties?: pulumi.Input<{[key: string]: pulumi.Input}>; + /** + * the service address to receive the notification. + */ + serviceUri?: pulumi.Input; + } + /** * A webhook receiver. */ diff --git a/sdk/nodejs/types/output.ts b/sdk/nodejs/types/output.ts index 17437959f8f7..5bac747d7fb4 100644 --- a/sdk/nodejs/types/output.ts +++ b/sdk/nodejs/types/output.ts @@ -166900,6 +166900,102 @@ export namespace monitor { }; } + /** + * Autoscale notification. + */ + export interface AutoscaleNotificationResponse { + /** + * the email notification. + */ + email?: outputs.monitor.EmailNotificationResponse; + /** + * the operation associated with the notification and its value must be "scale" + */ + operation: string; + /** + * the collection of webhook notifications. + */ + webhooks?: outputs.monitor.WebhookNotificationResponse[]; + } + /** + * autoscaleNotificationResponseProvideDefaults sets the appropriate defaults for AutoscaleNotificationResponse + */ + export function autoscaleNotificationResponseProvideDefaults(val: AutoscaleNotificationResponse): AutoscaleNotificationResponse { + return { + ...val, + email: (val.email ? outputs.monitor.emailNotificationResponseProvideDefaults(val.email) : undefined), + }; + } + + /** + * Autoscale profile. + */ + export interface AutoscaleProfileResponse { + /** + * the number of instances that can be used during this profile. + */ + capacity: outputs.monitor.ScaleCapacityResponse; + /** + * the specific date-time for the profile. This element is not used if the Recurrence element is used. + */ + fixedDate?: outputs.monitor.TimeWindowResponse; + /** + * the name of the profile. + */ + name: string; + /** + * the repeating times at which this profile begins. This element is not used if the FixedDate element is used. + */ + recurrence?: outputs.monitor.RecurrenceResponse; + /** + * the collection of rules that provide the triggers and parameters for the scaling action. A maximum of 10 rules can be specified. + */ + rules: outputs.monitor.ScaleRuleResponse[]; + } + + /** + * A setting that contains all of the configuration for the automatic scaling of a resource. + */ + export interface AutoscaleSettingResponse { + /** + * the enabled flag. Specifies whether automatic scaling is enabled for the resource. The default value is 'false'. + */ + enabled?: boolean; + /** + * the name of the autoscale setting. + */ + name?: string; + /** + * the collection of notifications. + */ + notifications?: outputs.monitor.AutoscaleNotificationResponse[]; + /** + * the predictive autoscale policy mode. + */ + predictiveAutoscalePolicy?: outputs.monitor.PredictiveAutoscalePolicyResponse; + /** + * the collection of automatic scaling profiles that specify different scaling parameters for different time periods. A maximum of 20 profiles can be specified. + */ + profiles: outputs.monitor.AutoscaleProfileResponse[]; + /** + * the location of the resource that the autoscale setting should be added to. + */ + targetResourceLocation?: string; + /** + * the resource identifier of the resource that the autoscale setting should be added to. + */ + targetResourceUri?: string; + } + /** + * autoscaleSettingResponseProvideDefaults sets the appropriate defaults for AutoscaleSettingResponse + */ + export function autoscaleSettingResponseProvideDefaults(val: AutoscaleSettingResponse): AutoscaleSettingResponse { + return { + ...val, + enabled: (val.enabled) ?? false, + }; + } + /** * The Azure mobile App push notification receiver. */ @@ -167165,6 +167261,36 @@ export namespace monitor { }; } + /** + * The diagnostic settings category resource. + */ + export interface DiagnosticSettingsCategoryResourceResponse { + /** + * the collection of what category groups are supported. + */ + categoryGroups?: string[]; + /** + * The type of the diagnostic settings category. + */ + categoryType?: string; + /** + * Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + */ + id: string; + /** + * The name of the resource + */ + name: string; + /** + * The system metadata related to this resource. + */ + systemData: outputs.monitor.SystemDataResponse; + /** + * The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + */ + type: string; + } + /** * Dimension splitting and filtering definition */ @@ -167183,6 +167309,34 @@ export namespace monitor { values: string[]; } + /** + * Email notification of an autoscale event. + */ + export interface EmailNotificationResponse { + /** + * the custom e-mails list. This value can be null or empty, in which case this attribute will be ignored. + */ + customEmails?: string[]; + /** + * a value indicating whether to send email to subscription administrator. + */ + sendToSubscriptionAdministrator?: boolean; + /** + * a value indicating whether to send email to subscription co-administrators. + */ + sendToSubscriptionCoAdministrators?: boolean; + } + /** + * emailNotificationResponseProvideDefaults sets the appropriate defaults for EmailNotificationResponse + */ + export function emailNotificationResponseProvideDefaults(val: EmailNotificationResponse): EmailNotificationResponse { + return { + ...val, + sendToSubscriptionAdministrator: (val.sendToSubscriptionAdministrator) ?? false, + sendToSubscriptionCoAdministrators: (val.sendToSubscriptionCoAdministrators) ?? false, + }; + } + /** * An email receiver. */ @@ -167446,6 +167600,28 @@ export namespace monitor { fieldName?: string; } + /** + * Part of MultiTenantDiagnosticSettings. Specifies the settings for a particular log. + */ + export interface LogSettingsResponse { + /** + * Name of a Diagnostic Log category for a resource type this setting is applied to. To obtain the list of Diagnostic Log categories for a resource, first perform a GET diagnostic settings operation. + */ + category?: string; + /** + * Name of a Diagnostic Log category group for a resource type this setting is applied to. To obtain the list of Diagnostic Log categories for a resource, first perform a GET diagnostic settings operation. + */ + categoryGroup?: string; + /** + * a value indicating whether this log is enabled. + */ + enabled: boolean; + /** + * the retention policy for this log. + */ + retentionPolicy?: outputs.monitor.RetentionPolicyResponse; + } + /** * A logic app receiver. */ @@ -167503,6 +167679,100 @@ export namespace monitor { userAssignedIdentities?: {[key: string]: outputs.monitor.UserAssignedIdentityResponse}; } + /** + * Part of Management Group diagnostic setting. Specifies the settings for a particular log. + */ + export interface ManagementGroupLogSettingsResponse { + /** + * Name of a Management Group Diagnostic Log category for a resource type this setting is applied to. + */ + category?: string; + /** + * Name of a Management Group Diagnostic Log category group for a resource type this setting is applied to. + */ + categoryGroup?: string; + /** + * a value indicating whether this log is enabled. + */ + enabled: boolean; + } + + /** + * Part of MultiTenantDiagnosticSettings. Specifies the settings for a particular metric. + */ + export interface MetricSettingsResponse { + /** + * Name of a Diagnostic Metric category for a resource type this setting is applied to. To obtain the list of Diagnostic metric categories for a resource, first perform a GET diagnostic settings operation. + */ + category?: string; + /** + * a value indicating whether this category is enabled. + */ + enabled: boolean; + /** + * the retention policy for this category. + */ + retentionPolicy?: outputs.monitor.RetentionPolicyResponse; + /** + * the timegrain of the metric in ISO8601 format. + */ + timeGrain?: string; + } + + /** + * The trigger that results in a scaling action. + */ + export interface MetricTriggerResponse { + /** + * List of dimension conditions. For example: [{"DimensionName":"AppName","Operator":"Equals","Values":["App1"]},{"DimensionName":"Deployment","Operator":"Equals","Values":["default"]}]. + */ + dimensions?: outputs.monitor.ScaleRuleMetricDimensionResponse[]; + /** + * a value indicating whether metric should divide per instance. + */ + dividePerInstance?: boolean; + /** + * the name of the metric that defines what the rule monitors. + */ + metricName: string; + /** + * the namespace of the metric that defines what the rule monitors. + */ + metricNamespace?: string; + /** + * the location of the resource the rule monitors. + */ + metricResourceLocation?: string; + /** + * the resource identifier of the resource the rule monitors. + */ + metricResourceUri: string; + /** + * the operator that is used to compare the metric data and the threshold. + */ + operator: string; + /** + * the metric statistic type. How the metrics from multiple instances are combined. + */ + statistic: string; + /** + * the threshold of the metric that triggers the scale action. + */ + threshold: number; + /** + * time aggregation type. How the data that is collected should be combined over time. The default value is Average. + */ + timeAggregation: string; + /** + * the granularity of metrics the rule monitors. Must be one of the predefined values returned from metric definitions for the metric. Must be between 12 hours and 1 minute. + */ + timeGrain: string; + /** + * the range of time in which instance data is collected. This value must be greater than the delay in metric collection, which can vary from resource-to-resource. Must be between 12 hours and 5 minutes. + */ + timeWindow: string; + } + /** * Information about metrics for the workspace */ @@ -167637,6 +167907,20 @@ export namespace monitor { type: string; } + /** + * The parameters for enabling predictive autoscale. + */ + export interface PredictiveAutoscalePolicyResponse { + /** + * the amount of time to specify by which instances are launched in advance. It must be between 1 minute and 60 minutes in ISO 8601 format. + */ + scaleLookAheadTime?: string; + /** + * the predictive autoscale mode + */ + scaleMode: string; + } + /** * The Private Endpoint Connection resource. */ @@ -167780,6 +168064,42 @@ export namespace monitor { to: string; } + /** + * The repeating times at which this profile begins. This element is not used if the FixedDate element is used. + */ + export interface RecurrenceResponse { + /** + * the recurrence frequency. How often the schedule profile should take effect. This value must be Week, meaning each week will have the same set of profiles. For example, to set a daily schedule, set **schedule** to every day of the week. The frequency property specifies that the schedule is repeated weekly. + */ + frequency: string; + /** + * the scheduling constraints for when the profile begins. + */ + schedule: outputs.monitor.RecurrentScheduleResponse; + } + + /** + * The scheduling constraints for when the profile begins. + */ + export interface RecurrentScheduleResponse { + /** + * the collection of days that the profile takes effect on. Possible values are Sunday through Saturday. + */ + days: string[]; + /** + * A collection of hours that the profile takes effect on. Values supported are 0 to 23 on the 24-hour clock (AM/PM times are not supported). + */ + hours: number[]; + /** + * A collection of minutes at which the profile takes effect at. + */ + minutes: number[]; + /** + * the timezone for the hours of the profile. Some examples of valid time zones are: Dateline Standard Time, UTC-11, Hawaiian Standard Time, Alaskan Standard Time, Pacific Standard Time (Mexico), Pacific Standard Time, US Mountain Standard Time, Mountain Standard Time (Mexico), Mountain Standard Time, Central America Standard Time, Central Standard Time, Central Standard Time (Mexico), Canada Central Standard Time, SA Pacific Standard Time, Eastern Standard Time, US Eastern Standard Time, Venezuela Standard Time, Paraguay Standard Time, Atlantic Standard Time, Central Brazilian Standard Time, SA Western Standard Time, Pacific SA Standard Time, Newfoundland Standard Time, E. South America Standard Time, Argentina Standard Time, SA Eastern Standard Time, Greenland Standard Time, Montevideo Standard Time, Bahia Standard Time, UTC-02, Mid-Atlantic Standard Time, Azores Standard Time, Cape Verde Standard Time, Morocco Standard Time, UTC, GMT Standard Time, Greenwich Standard Time, W. Europe Standard Time, Central Europe Standard Time, Romance Standard Time, Central European Standard Time, W. Central Africa Standard Time, Namibia Standard Time, Jordan Standard Time, GTB Standard Time, Middle East Standard Time, Egypt Standard Time, Syria Standard Time, E. Europe Standard Time, South Africa Standard Time, FLE Standard Time, Turkey Standard Time, Israel Standard Time, Kaliningrad Standard Time, Libya Standard Time, Arabic Standard Time, Arab Standard Time, Belarus Standard Time, Russian Standard Time, E. Africa Standard Time, Iran Standard Time, Arabian Standard Time, Azerbaijan Standard Time, Russia Time Zone 3, Mauritius Standard Time, Georgian Standard Time, Caucasus Standard Time, Afghanistan Standard Time, West Asia Standard Time, Ekaterinburg Standard Time, Pakistan Standard Time, India Standard Time, Sri Lanka Standard Time, Nepal Standard Time, Central Asia Standard Time, Bangladesh Standard Time, N. Central Asia Standard Time, Myanmar Standard Time, SE Asia Standard Time, North Asia Standard Time, China Standard Time, North Asia East Standard Time, Singapore Standard Time, W. Australia Standard Time, Taipei Standard Time, Ulaanbaatar Standard Time, Tokyo Standard Time, Korea Standard Time, Yakutsk Standard Time, Cen. Australia Standard Time, AUS Central Standard Time, E. Australia Standard Time, AUS Eastern Standard Time, West Pacific Standard Time, Tasmania Standard Time, Magadan Standard Time, Vladivostok Standard Time, Russia Time Zone 10, Central Pacific Standard Time, Russia Time Zone 11, New Zealand Standard Time, UTC+12, Fiji Standard Time, Kamchatka Standard Time, Tonga Standard Time, Samoa Standard Time, Line Islands Standard Time + */ + timeZone: string; + } + /** * Resource map for schema in azure monitor. */ @@ -167794,6 +168114,20 @@ export namespace monitor { to: string; } + /** + * Specifies the retention policy for the log. + */ + export interface RetentionPolicyResponse { + /** + * the number of days for the retention in days. A value of 0 will retain the events indefinitely. + */ + days: number; + /** + * a value indicating whether the retention policy is enabled. + */ + enabled: boolean; + } + /** * TBD. Relevant only for rules of the kind LogAlert. */ @@ -167808,6 +168142,96 @@ export namespace monitor { timeToResolve?: string; } + /** + * The parameters for the scaling action. + */ + export interface ScaleActionResponse { + /** + * the amount of time to wait since the last scaling action before this action occurs. It must be between 1 week and 1 minute in ISO 8601 format. + */ + cooldown: string; + /** + * the scale direction. Whether the scaling action increases or decreases the number of instances. + */ + direction: string; + /** + * the type of action that should occur when the scale rule fires. + */ + type: string; + /** + * the number of instances that are involved in the scaling action. This value must be 1 or greater. The default value is 1. + */ + value?: string; + } + /** + * scaleActionResponseProvideDefaults sets the appropriate defaults for ScaleActionResponse + */ + export function scaleActionResponseProvideDefaults(val: ScaleActionResponse): ScaleActionResponse { + return { + ...val, + value: (val.value) ?? "1", + }; + } + + /** + * The number of instances that can be used during this profile. + */ + export interface ScaleCapacityResponse { + /** + * the number of instances that will be set if metrics are not available for evaluation. The default is only used if the current instance count is lower than the default. + */ + default: string; + /** + * the maximum number of instances for the resource. The actual maximum number of instances is limited by the cores that are available in the subscription. + */ + maximum: string; + /** + * the minimum number of instances for the resource. + */ + minimum: string; + } + + /** + * Specifies an auto scale rule metric dimension. + */ + export interface ScaleRuleMetricDimensionResponse { + /** + * Name of the dimension. + */ + dimensionName: string; + /** + * the dimension operator. Only 'Equals' and 'NotEquals' are supported. 'Equals' being equal to any of the values. 'NotEquals' being not equal to all of the values + */ + operator: string; + /** + * list of dimension values. For example: ["App1","App2"]. + */ + values: string[]; + } + + /** + * A rule that provide the triggers and parameters for the scaling action. + */ + export interface ScaleRuleResponse { + /** + * the trigger that results in a scaling action. + */ + metricTrigger: outputs.monitor.MetricTriggerResponse; + /** + * the parameters for the scaling action. + */ + scaleAction: outputs.monitor.ScaleActionResponse; + } + /** + * scaleRuleResponseProvideDefaults sets the appropriate defaults for ScaleRuleResponse + */ + export function scaleRuleResponseProvideDefaults(val: ScaleRuleResponse): ScaleRuleResponse { + return { + ...val, + scaleAction: outputs.monitor.scaleActionResponseProvideDefaults(val.scaleAction), + }; + } + /** * The rule criteria that defines the conditions of the scheduled query rule. */ @@ -167886,6 +168310,24 @@ export namespace monitor { status: string; } + /** + * Part of Subscription diagnostic setting. Specifies the settings for a particular log. + */ + export interface SubscriptionLogSettingsResponse { + /** + * Name of a Subscription Diagnostic Log category for a resource type this setting is applied to. + */ + category?: string; + /** + * Name of a Subscription Diagnostic Log category group for a resource type this setting is applied to. + */ + categoryGroup?: string; + /** + * a value indicating whether this log is enabled. + */ + enabled: boolean; + } + /** * Base receiver using TCP as transport protocol. */ @@ -167949,6 +168391,24 @@ export namespace monitor { url: string; } + /** + * A specific date-time for the profile. + */ + export interface TimeWindowResponse { + /** + * the end time for the profile in ISO 8601 format. + */ + end: string; + /** + * the start time for the profile in ISO 8601 format. + */ + start: string; + /** + * the timezone of the start and end times for the profile. Some examples of valid time zones are: Dateline Standard Time, UTC-11, Hawaiian Standard Time, Alaskan Standard Time, Pacific Standard Time (Mexico), Pacific Standard Time, US Mountain Standard Time, Mountain Standard Time (Mexico), Mountain Standard Time, Central America Standard Time, Central Standard Time, Central Standard Time (Mexico), Canada Central Standard Time, SA Pacific Standard Time, Eastern Standard Time, US Eastern Standard Time, Venezuela Standard Time, Paraguay Standard Time, Atlantic Standard Time, Central Brazilian Standard Time, SA Western Standard Time, Pacific SA Standard Time, Newfoundland Standard Time, E. South America Standard Time, Argentina Standard Time, SA Eastern Standard Time, Greenland Standard Time, Montevideo Standard Time, Bahia Standard Time, UTC-02, Mid-Atlantic Standard Time, Azores Standard Time, Cape Verde Standard Time, Morocco Standard Time, UTC, GMT Standard Time, Greenwich Standard Time, W. Europe Standard Time, Central Europe Standard Time, Romance Standard Time, Central European Standard Time, W. Central Africa Standard Time, Namibia Standard Time, Jordan Standard Time, GTB Standard Time, Middle East Standard Time, Egypt Standard Time, Syria Standard Time, E. Europe Standard Time, South Africa Standard Time, FLE Standard Time, Turkey Standard Time, Israel Standard Time, Kaliningrad Standard Time, Libya Standard Time, Arabic Standard Time, Arab Standard Time, Belarus Standard Time, Russian Standard Time, E. Africa Standard Time, Iran Standard Time, Arabian Standard Time, Azerbaijan Standard Time, Russia Time Zone 3, Mauritius Standard Time, Georgian Standard Time, Caucasus Standard Time, Afghanistan Standard Time, West Asia Standard Time, Ekaterinburg Standard Time, Pakistan Standard Time, India Standard Time, Sri Lanka Standard Time, Nepal Standard Time, Central Asia Standard Time, Bangladesh Standard Time, N. Central Asia Standard Time, Myanmar Standard Time, SE Asia Standard Time, North Asia Standard Time, China Standard Time, North Asia East Standard Time, Singapore Standard Time, W. Australia Standard Time, Taipei Standard Time, Ulaanbaatar Standard Time, Tokyo Standard Time, Korea Standard Time, Yakutsk Standard Time, Cen. Australia Standard Time, AUS Central Standard Time, E. Australia Standard Time, AUS Eastern Standard Time, West Pacific Standard Time, Tasmania Standard Time, Magadan Standard Time, Vladivostok Standard Time, Russia Time Zone 10, Central Pacific Standard Time, Russia Time Zone 11, New Zealand Standard Time, UTC+12, Fiji Standard Time, Kamchatka Standard Time, Tonga Standard Time, Samoa Standard Time, Line Islands Standard Time + */ + timeZone?: string; + } + /** * Receiver using UDP as transport protocol. */ @@ -168028,6 +168488,20 @@ export namespace monitor { phoneNumber: string; } + /** + * Webhook notification of an autoscale event. + */ + export interface WebhookNotificationResponse { + /** + * a property bag of settings. This value can be empty. + */ + properties?: {[key: string]: string}; + /** + * the service address to receive the notification. + */ + serviceUri?: string; + } + /** * A webhook receiver. */ diff --git a/sdk/python/pulumi_azure_native/__init__.py b/sdk/python/pulumi_azure_native/__init__.py index d4b6338cea26..df56e7360e70 100644 --- a/sdk/python/pulumi_azure_native/__init__.py +++ b/sdk/python/pulumi_azure_native/__init__.py @@ -3219,12 +3219,16 @@ "fqn": "pulumi_azure_native.monitor", "classes": { "azure-native:monitor:ActionGroup": "ActionGroup", + "azure-native:monitor:AutoscaleSetting": "AutoscaleSetting", "azure-native:monitor:AzureMonitorWorkspace": "AzureMonitorWorkspace", + "azure-native:monitor:DiagnosticSetting": "DiagnosticSetting", + "azure-native:monitor:ManagementGroupDiagnosticSetting": "ManagementGroupDiagnosticSetting", "azure-native:monitor:PipelineGroup": "PipelineGroup", "azure-native:monitor:PrivateEndpointConnection": "PrivateEndpointConnection", "azure-native:monitor:PrivateLinkScope": "PrivateLinkScope", "azure-native:monitor:PrivateLinkScopedResource": "PrivateLinkScopedResource", "azure-native:monitor:ScheduledQueryRule": "ScheduledQueryRule", + "azure-native:monitor:SubscriptionDiagnosticSetting": "SubscriptionDiagnosticSetting", "azure-native:monitor:TenantActionGroup": "TenantActionGroup" } }, diff --git a/sdk/python/pulumi_azure_native/monitor/__init__.py b/sdk/python/pulumi_azure_native/monitor/__init__.py index b8ee6a054b8b..75a99da0fef5 100644 --- a/sdk/python/pulumi_azure_native/monitor/__init__.py +++ b/sdk/python/pulumi_azure_native/monitor/__init__.py @@ -7,20 +7,29 @@ # Export this package's modules as members: from ._enums import * from .action_group import * +from .autoscale_setting import * from .azure_monitor_workspace import * +from .diagnostic_setting import * from .get_action_group import * +from .get_autoscale_setting import * from .get_azure_monitor_workspace import * +from .get_diagnostic_setting import * +from .get_management_group_diagnostic_setting import * from .get_pipeline_group import * from .get_private_endpoint_connection import * from .get_private_link_scope import * from .get_private_link_scoped_resource import * from .get_scheduled_query_rule import * +from .get_subscription_diagnostic_setting import * from .get_tenant_action_group import * +from .list_diagnostic_settings_category import * +from .management_group_diagnostic_setting import * from .pipeline_group import * from .private_endpoint_connection import * from .private_link_scope import * from .private_link_scoped_resource import * from .scheduled_query_rule import * +from .subscription_diagnostic_setting import * from .tenant_action_group import * from ._inputs import * from . import outputs diff --git a/sdk/python/pulumi_azure_native/monitor/_enums.py b/sdk/python/pulumi_azure_native/monitor/_enums.py index 6a573572aac9..646c341360a8 100644 --- a/sdk/python/pulumi_azure_native/monitor/_enums.py +++ b/sdk/python/pulumi_azure_native/monitor/_enums.py @@ -6,6 +6,7 @@ __all__ = [ 'AccessMode', + 'ComparisonOperationType', 'ConditionOperator', 'CriterionType', 'DimensionOperator', @@ -17,14 +18,22 @@ 'JsonMapperElement', 'Kind', 'ManagedServiceIdentityType', + 'MetricStatisticType', + 'OperationType', 'PipelineType', + 'PredictiveAutoscalePolicyScaleMode', 'PrivateEndpointServiceConnectionStatus', 'ProcessorType', 'ReceiverType', + 'RecurrenceFrequency', + 'ScaleDirection', + 'ScaleRuleMetricDimensionOperationType', + 'ScaleType', 'ScopedResourceKind', 'StreamEncodingType', 'SyslogProtocol', 'TimeAggregation', + 'TimeAggregationType', ] @@ -36,6 +45,18 @@ class AccessMode(str, Enum): PRIVATE_ONLY = "PrivateOnly" +class ComparisonOperationType(str, Enum): + """ + the operator that is used to compare the metric data and the threshold. + """ + EQUALS = "Equals" + NOT_EQUALS = "NotEquals" + GREATER_THAN = "GreaterThan" + GREATER_THAN_OR_EQUAL = "GreaterThanOrEqual" + LESS_THAN = "LessThan" + LESS_THAN_OR_EQUAL = "LessThanOrEqual" + + class ConditionOperator(str, Enum): """ The criteria operator. Relevant and required only for rules of the kind LogAlert. @@ -151,6 +172,24 @@ class ManagedServiceIdentityType(str, Enum): SYSTEM_ASSIGNED_USER_ASSIGNED = "SystemAssigned,UserAssigned" +class MetricStatisticType(str, Enum): + """ + the metric statistic type. How the metrics from multiple instances are combined. + """ + AVERAGE = "Average" + MIN = "Min" + MAX = "Max" + SUM = "Sum" + COUNT = "Count" + + +class OperationType(str, Enum): + """ + the operation associated with the notification and its value must be "scale" + """ + SCALE = "Scale" + + class PipelineType(str, Enum): """ The type of pipeline @@ -161,6 +200,15 @@ class PipelineType(str, Enum): """ +class PredictiveAutoscalePolicyScaleMode(str, Enum): + """ + the predictive autoscale mode + """ + DISABLED = "Disabled" + FORECAST_ONLY = "ForecastOnly" + ENABLED = "Enabled" + + class PrivateEndpointServiceConnectionStatus(str, Enum): """ Indicates whether the connection has been Approved/Rejected/Removed by the owner of the service. @@ -206,6 +254,47 @@ class ReceiverType(str, Enum): """ +class RecurrenceFrequency(str, Enum): + """ + the recurrence frequency. How often the schedule profile should take effect. This value must be Week, meaning each week will have the same set of profiles. For example, to set a daily schedule, set **schedule** to every day of the week. The frequency property specifies that the schedule is repeated weekly. + """ + NONE = "None" + SECOND = "Second" + MINUTE = "Minute" + HOUR = "Hour" + DAY = "Day" + WEEK = "Week" + MONTH = "Month" + YEAR = "Year" + + +class ScaleDirection(str, Enum): + """ + the scale direction. Whether the scaling action increases or decreases the number of instances. + """ + NONE = "None" + INCREASE = "Increase" + DECREASE = "Decrease" + + +class ScaleRuleMetricDimensionOperationType(str, Enum): + """ + the dimension operator. Only 'Equals' and 'NotEquals' are supported. 'Equals' being equal to any of the values. 'NotEquals' being not equal to all of the values + """ + EQUALS = "Equals" + NOT_EQUALS = "NotEquals" + + +class ScaleType(str, Enum): + """ + the type of action that should occur when the scale rule fires. + """ + CHANGE_COUNT = "ChangeCount" + PERCENT_CHANGE_COUNT = "PercentChangeCount" + EXACT_COUNT = "ExactCount" + SERVICE_ALLOWED_NEXT_VALUE = "ServiceAllowedNextValue" + + class ScopedResourceKind(str, Enum): """ The kind of scoped Azure monitor resource. @@ -267,3 +356,15 @@ class TimeAggregation(str, Enum): MINIMUM = "Minimum" MAXIMUM = "Maximum" TOTAL = "Total" + + +class TimeAggregationType(str, Enum): + """ + time aggregation type. How the data that is collected should be combined over time. The default value is Average. + """ + AVERAGE = "Average" + MINIMUM = "Minimum" + MAXIMUM = "Maximum" + TOTAL = "Total" + COUNT = "Count" + LAST = "Last" diff --git a/sdk/python/pulumi_azure_native/monitor/_inputs.py b/sdk/python/pulumi_azure_native/monitor/_inputs.py index 035dffc4b50b..7fe5be3ce7c4 100644 --- a/sdk/python/pulumi_azure_native/monitor/_inputs.py +++ b/sdk/python/pulumi_azure_native/monitor/_inputs.py @@ -26,6 +26,10 @@ 'ArmRoleReceiverArgsDict', 'AutomationRunbookReceiverArgs', 'AutomationRunbookReceiverArgsDict', + 'AutoscaleNotificationArgs', + 'AutoscaleNotificationArgsDict', + 'AutoscaleProfileArgs', + 'AutoscaleProfileArgsDict', 'AzureAppPushReceiverArgs', 'AzureAppPushReceiverArgsDict', 'AzureFunctionReceiverArgs', @@ -48,6 +52,8 @@ 'ConditionArgsDict', 'DimensionArgs', 'DimensionArgsDict', + 'EmailNotificationArgs', + 'EmailNotificationArgsDict', 'EmailReceiverArgs', 'EmailReceiverArgsDict', 'EventHubReceiverArgs', @@ -68,10 +74,18 @@ 'JsonMapperDestinationFieldArgsDict', 'JsonMapperSourceFieldArgs', 'JsonMapperSourceFieldArgsDict', + 'LogSettingsArgs', + 'LogSettingsArgsDict', 'LogicAppReceiverArgs', 'LogicAppReceiverArgsDict', 'ManagedServiceIdentityArgs', 'ManagedServiceIdentityArgsDict', + 'ManagementGroupLogSettingsArgs', + 'ManagementGroupLogSettingsArgsDict', + 'MetricSettingsArgs', + 'MetricSettingsArgsDict', + 'MetricTriggerArgs', + 'MetricTriggerArgsDict', 'NetworkingConfigurationArgs', 'NetworkingConfigurationArgsDict', 'NetworkingRouteArgs', @@ -84,6 +98,8 @@ 'PipelineGroupPropertiesArgsDict', 'PipelineArgs', 'PipelineArgsDict', + 'PredictiveAutoscalePolicyArgs', + 'PredictiveAutoscalePolicyArgsDict', 'PrivateLinkServiceConnectionStateArgs', 'PrivateLinkServiceConnectionStateArgsDict', 'ProcessorArgs', @@ -92,10 +108,24 @@ 'ReceiverArgsDict', 'RecordMapArgs', 'RecordMapArgsDict', + 'RecurrenceArgs', + 'RecurrenceArgsDict', + 'RecurrentScheduleArgs', + 'RecurrentScheduleArgsDict', 'ResourceMapArgs', 'ResourceMapArgsDict', + 'RetentionPolicyArgs', + 'RetentionPolicyArgsDict', 'RuleResolveConfigurationArgs', 'RuleResolveConfigurationArgsDict', + 'ScaleActionArgs', + 'ScaleActionArgsDict', + 'ScaleCapacityArgs', + 'ScaleCapacityArgsDict', + 'ScaleRuleMetricDimensionArgs', + 'ScaleRuleMetricDimensionArgsDict', + 'ScaleRuleArgs', + 'ScaleRuleArgsDict', 'ScheduledQueryRuleCriteriaArgs', 'ScheduledQueryRuleCriteriaArgsDict', 'SchemaMapArgs', @@ -106,14 +136,20 @@ 'ServiceArgsDict', 'SmsReceiverArgs', 'SmsReceiverArgsDict', + 'SubscriptionLogSettingsArgs', + 'SubscriptionLogSettingsArgsDict', 'SyslogReceiverArgs', 'SyslogReceiverArgsDict', 'TcpExporterArgs', 'TcpExporterArgsDict', + 'TimeWindowArgs', + 'TimeWindowArgsDict', 'UdpReceiverArgs', 'UdpReceiverArgsDict', 'VoiceReceiverArgs', 'VoiceReceiverArgsDict', + 'WebhookNotificationArgs', + 'WebhookNotificationArgsDict', 'WebhookReceiverArgs', 'WebhookReceiverArgsDict', ] @@ -596,6 +632,194 @@ def use_common_alert_schema(self, value: Optional[pulumi.Input[bool]]): pulumi.set(self, "use_common_alert_schema", value) +if not MYPY: + class AutoscaleNotificationArgsDict(TypedDict): + """ + Autoscale notification. + """ + operation: pulumi.Input['OperationType'] + """ + the operation associated with the notification and its value must be "scale" + """ + email: NotRequired[pulumi.Input['EmailNotificationArgsDict']] + """ + the email notification. + """ + webhooks: NotRequired[pulumi.Input[Sequence[pulumi.Input['WebhookNotificationArgsDict']]]] + """ + the collection of webhook notifications. + """ +elif False: + AutoscaleNotificationArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class AutoscaleNotificationArgs: + def __init__(__self__, *, + operation: pulumi.Input['OperationType'], + email: Optional[pulumi.Input['EmailNotificationArgs']] = None, + webhooks: Optional[pulumi.Input[Sequence[pulumi.Input['WebhookNotificationArgs']]]] = None): + """ + Autoscale notification. + :param pulumi.Input['OperationType'] operation: the operation associated with the notification and its value must be "scale" + :param pulumi.Input['EmailNotificationArgs'] email: the email notification. + :param pulumi.Input[Sequence[pulumi.Input['WebhookNotificationArgs']]] webhooks: the collection of webhook notifications. + """ + pulumi.set(__self__, "operation", operation) + if email is not None: + pulumi.set(__self__, "email", email) + if webhooks is not None: + pulumi.set(__self__, "webhooks", webhooks) + + @property + @pulumi.getter + def operation(self) -> pulumi.Input['OperationType']: + """ + the operation associated with the notification and its value must be "scale" + """ + return pulumi.get(self, "operation") + + @operation.setter + def operation(self, value: pulumi.Input['OperationType']): + pulumi.set(self, "operation", value) + + @property + @pulumi.getter + def email(self) -> Optional[pulumi.Input['EmailNotificationArgs']]: + """ + the email notification. + """ + return pulumi.get(self, "email") + + @email.setter + def email(self, value: Optional[pulumi.Input['EmailNotificationArgs']]): + pulumi.set(self, "email", value) + + @property + @pulumi.getter + def webhooks(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['WebhookNotificationArgs']]]]: + """ + the collection of webhook notifications. + """ + return pulumi.get(self, "webhooks") + + @webhooks.setter + def webhooks(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['WebhookNotificationArgs']]]]): + pulumi.set(self, "webhooks", value) + + +if not MYPY: + class AutoscaleProfileArgsDict(TypedDict): + """ + Autoscale profile. + """ + capacity: pulumi.Input['ScaleCapacityArgsDict'] + """ + the number of instances that can be used during this profile. + """ + name: pulumi.Input[str] + """ + the name of the profile. + """ + rules: pulumi.Input[Sequence[pulumi.Input['ScaleRuleArgsDict']]] + """ + the collection of rules that provide the triggers and parameters for the scaling action. A maximum of 10 rules can be specified. + """ + fixed_date: NotRequired[pulumi.Input['TimeWindowArgsDict']] + """ + the specific date-time for the profile. This element is not used if the Recurrence element is used. + """ + recurrence: NotRequired[pulumi.Input['RecurrenceArgsDict']] + """ + the repeating times at which this profile begins. This element is not used if the FixedDate element is used. + """ +elif False: + AutoscaleProfileArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class AutoscaleProfileArgs: + def __init__(__self__, *, + capacity: pulumi.Input['ScaleCapacityArgs'], + name: pulumi.Input[str], + rules: pulumi.Input[Sequence[pulumi.Input['ScaleRuleArgs']]], + fixed_date: Optional[pulumi.Input['TimeWindowArgs']] = None, + recurrence: Optional[pulumi.Input['RecurrenceArgs']] = None): + """ + Autoscale profile. + :param pulumi.Input['ScaleCapacityArgs'] capacity: the number of instances that can be used during this profile. + :param pulumi.Input[str] name: the name of the profile. + :param pulumi.Input[Sequence[pulumi.Input['ScaleRuleArgs']]] rules: the collection of rules that provide the triggers and parameters for the scaling action. A maximum of 10 rules can be specified. + :param pulumi.Input['TimeWindowArgs'] fixed_date: the specific date-time for the profile. This element is not used if the Recurrence element is used. + :param pulumi.Input['RecurrenceArgs'] recurrence: the repeating times at which this profile begins. This element is not used if the FixedDate element is used. + """ + pulumi.set(__self__, "capacity", capacity) + pulumi.set(__self__, "name", name) + pulumi.set(__self__, "rules", rules) + if fixed_date is not None: + pulumi.set(__self__, "fixed_date", fixed_date) + if recurrence is not None: + pulumi.set(__self__, "recurrence", recurrence) + + @property + @pulumi.getter + def capacity(self) -> pulumi.Input['ScaleCapacityArgs']: + """ + the number of instances that can be used during this profile. + """ + return pulumi.get(self, "capacity") + + @capacity.setter + def capacity(self, value: pulumi.Input['ScaleCapacityArgs']): + pulumi.set(self, "capacity", value) + + @property + @pulumi.getter + def name(self) -> pulumi.Input[str]: + """ + the name of the profile. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: pulumi.Input[str]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter + def rules(self) -> pulumi.Input[Sequence[pulumi.Input['ScaleRuleArgs']]]: + """ + the collection of rules that provide the triggers and parameters for the scaling action. A maximum of 10 rules can be specified. + """ + return pulumi.get(self, "rules") + + @rules.setter + def rules(self, value: pulumi.Input[Sequence[pulumi.Input['ScaleRuleArgs']]]): + pulumi.set(self, "rules", value) + + @property + @pulumi.getter(name="fixedDate") + def fixed_date(self) -> Optional[pulumi.Input['TimeWindowArgs']]: + """ + the specific date-time for the profile. This element is not used if the Recurrence element is used. + """ + return pulumi.get(self, "fixed_date") + + @fixed_date.setter + def fixed_date(self, value: Optional[pulumi.Input['TimeWindowArgs']]): + pulumi.set(self, "fixed_date", value) + + @property + @pulumi.getter + def recurrence(self) -> Optional[pulumi.Input['RecurrenceArgs']]: + """ + the repeating times at which this profile begins. This element is not used if the FixedDate element is used. + """ + return pulumi.get(self, "recurrence") + + @recurrence.setter + def recurrence(self, value: Optional[pulumi.Input['RecurrenceArgs']]): + pulumi.set(self, "recurrence", value) + + if not MYPY: class AzureAppPushReceiverArgsDict(TypedDict): """ @@ -1570,6 +1794,86 @@ def values(self, value: pulumi.Input[Sequence[pulumi.Input[str]]]): pulumi.set(self, "values", value) +if not MYPY: + class EmailNotificationArgsDict(TypedDict): + """ + Email notification of an autoscale event. + """ + custom_emails: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]] + """ + the custom e-mails list. This value can be null or empty, in which case this attribute will be ignored. + """ + send_to_subscription_administrator: NotRequired[pulumi.Input[bool]] + """ + a value indicating whether to send email to subscription administrator. + """ + send_to_subscription_co_administrators: NotRequired[pulumi.Input[bool]] + """ + a value indicating whether to send email to subscription co-administrators. + """ +elif False: + EmailNotificationArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class EmailNotificationArgs: + def __init__(__self__, *, + custom_emails: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + send_to_subscription_administrator: Optional[pulumi.Input[bool]] = None, + send_to_subscription_co_administrators: Optional[pulumi.Input[bool]] = None): + """ + Email notification of an autoscale event. + :param pulumi.Input[Sequence[pulumi.Input[str]]] custom_emails: the custom e-mails list. This value can be null or empty, in which case this attribute will be ignored. + :param pulumi.Input[bool] send_to_subscription_administrator: a value indicating whether to send email to subscription administrator. + :param pulumi.Input[bool] send_to_subscription_co_administrators: a value indicating whether to send email to subscription co-administrators. + """ + if custom_emails is not None: + pulumi.set(__self__, "custom_emails", custom_emails) + if send_to_subscription_administrator is None: + send_to_subscription_administrator = False + if send_to_subscription_administrator is not None: + pulumi.set(__self__, "send_to_subscription_administrator", send_to_subscription_administrator) + if send_to_subscription_co_administrators is None: + send_to_subscription_co_administrators = False + if send_to_subscription_co_administrators is not None: + pulumi.set(__self__, "send_to_subscription_co_administrators", send_to_subscription_co_administrators) + + @property + @pulumi.getter(name="customEmails") + def custom_emails(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + the custom e-mails list. This value can be null or empty, in which case this attribute will be ignored. + """ + return pulumi.get(self, "custom_emails") + + @custom_emails.setter + def custom_emails(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "custom_emails", value) + + @property + @pulumi.getter(name="sendToSubscriptionAdministrator") + def send_to_subscription_administrator(self) -> Optional[pulumi.Input[bool]]: + """ + a value indicating whether to send email to subscription administrator. + """ + return pulumi.get(self, "send_to_subscription_administrator") + + @send_to_subscription_administrator.setter + def send_to_subscription_administrator(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "send_to_subscription_administrator", value) + + @property + @pulumi.getter(name="sendToSubscriptionCoAdministrators") + def send_to_subscription_co_administrators(self) -> Optional[pulumi.Input[bool]]: + """ + a value indicating whether to send email to subscription co-administrators. + """ + return pulumi.get(self, "send_to_subscription_co_administrators") + + @send_to_subscription_co_administrators.setter + def send_to_subscription_co_administrators(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "send_to_subscription_co_administrators", value) + + if not MYPY: class EmailReceiverArgsDict(TypedDict): """ @@ -2375,6 +2679,101 @@ def field_name(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "field_name", value) +if not MYPY: + class LogSettingsArgsDict(TypedDict): + """ + Part of MultiTenantDiagnosticSettings. Specifies the settings for a particular log. + """ + enabled: pulumi.Input[bool] + """ + a value indicating whether this log is enabled. + """ + category: NotRequired[pulumi.Input[str]] + """ + Name of a Diagnostic Log category for a resource type this setting is applied to. To obtain the list of Diagnostic Log categories for a resource, first perform a GET diagnostic settings operation. + """ + category_group: NotRequired[pulumi.Input[str]] + """ + Name of a Diagnostic Log category group for a resource type this setting is applied to. To obtain the list of Diagnostic Log categories for a resource, first perform a GET diagnostic settings operation. + """ + retention_policy: NotRequired[pulumi.Input['RetentionPolicyArgsDict']] + """ + the retention policy for this log. + """ +elif False: + LogSettingsArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class LogSettingsArgs: + def __init__(__self__, *, + enabled: pulumi.Input[bool], + category: Optional[pulumi.Input[str]] = None, + category_group: Optional[pulumi.Input[str]] = None, + retention_policy: Optional[pulumi.Input['RetentionPolicyArgs']] = None): + """ + Part of MultiTenantDiagnosticSettings. Specifies the settings for a particular log. + :param pulumi.Input[bool] enabled: a value indicating whether this log is enabled. + :param pulumi.Input[str] category: Name of a Diagnostic Log category for a resource type this setting is applied to. To obtain the list of Diagnostic Log categories for a resource, first perform a GET diagnostic settings operation. + :param pulumi.Input[str] category_group: Name of a Diagnostic Log category group for a resource type this setting is applied to. To obtain the list of Diagnostic Log categories for a resource, first perform a GET diagnostic settings operation. + :param pulumi.Input['RetentionPolicyArgs'] retention_policy: the retention policy for this log. + """ + pulumi.set(__self__, "enabled", enabled) + if category is not None: + pulumi.set(__self__, "category", category) + if category_group is not None: + pulumi.set(__self__, "category_group", category_group) + if retention_policy is not None: + pulumi.set(__self__, "retention_policy", retention_policy) + + @property + @pulumi.getter + def enabled(self) -> pulumi.Input[bool]: + """ + a value indicating whether this log is enabled. + """ + return pulumi.get(self, "enabled") + + @enabled.setter + def enabled(self, value: pulumi.Input[bool]): + pulumi.set(self, "enabled", value) + + @property + @pulumi.getter + def category(self) -> Optional[pulumi.Input[str]]: + """ + Name of a Diagnostic Log category for a resource type this setting is applied to. To obtain the list of Diagnostic Log categories for a resource, first perform a GET diagnostic settings operation. + """ + return pulumi.get(self, "category") + + @category.setter + def category(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "category", value) + + @property + @pulumi.getter(name="categoryGroup") + def category_group(self) -> Optional[pulumi.Input[str]]: + """ + Name of a Diagnostic Log category group for a resource type this setting is applied to. To obtain the list of Diagnostic Log categories for a resource, first perform a GET diagnostic settings operation. + """ + return pulumi.get(self, "category_group") + + @category_group.setter + def category_group(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "category_group", value) + + @property + @pulumi.getter(name="retentionPolicy") + def retention_policy(self) -> Optional[pulumi.Input['RetentionPolicyArgs']]: + """ + the retention policy for this log. + """ + return pulumi.get(self, "retention_policy") + + @retention_policy.setter + def retention_policy(self, value: Optional[pulumi.Input['RetentionPolicyArgs']]): + pulumi.set(self, "retention_policy", value) + + if not MYPY: class LogicAppReceiverArgsDict(TypedDict): """ @@ -2546,914 +2945,1882 @@ def user_assigned_identities(self, value: Optional[pulumi.Input[Sequence[pulumi. if not MYPY: - class NetworkingConfigurationArgsDict(TypedDict): + class ManagementGroupLogSettingsArgsDict(TypedDict): """ - Networking configuration for the pipeline group instance. + Part of Management Group diagnostic setting. Specifies the settings for a particular log. """ - external_networking_mode: pulumi.Input[Union[str, 'ExternalNetworkingMode']] + enabled: pulumi.Input[bool] """ - External networking mode. + a value indicating whether this log is enabled. """ - routes: pulumi.Input[Sequence[pulumi.Input['NetworkingRouteArgsDict']]] + category: NotRequired[pulumi.Input[str]] """ - Networking routes configuration. + Name of a Management Group Diagnostic Log category for a resource type this setting is applied to. """ - host: NotRequired[pulumi.Input[str]] + category_group: NotRequired[pulumi.Input[str]] """ - The address exposed on the cluster. Example: azuremonitorpipeline.contoso.com. + Name of a Management Group Diagnostic Log category group for a resource type this setting is applied to. """ elif False: - NetworkingConfigurationArgsDict: TypeAlias = Mapping[str, Any] + ManagementGroupLogSettingsArgsDict: TypeAlias = Mapping[str, Any] @pulumi.input_type -class NetworkingConfigurationArgs: +class ManagementGroupLogSettingsArgs: def __init__(__self__, *, - external_networking_mode: pulumi.Input[Union[str, 'ExternalNetworkingMode']], - routes: pulumi.Input[Sequence[pulumi.Input['NetworkingRouteArgs']]], - host: Optional[pulumi.Input[str]] = None): + enabled: pulumi.Input[bool], + category: Optional[pulumi.Input[str]] = None, + category_group: Optional[pulumi.Input[str]] = None): """ - Networking configuration for the pipeline group instance. - :param pulumi.Input[Union[str, 'ExternalNetworkingMode']] external_networking_mode: External networking mode. - :param pulumi.Input[Sequence[pulumi.Input['NetworkingRouteArgs']]] routes: Networking routes configuration. - :param pulumi.Input[str] host: The address exposed on the cluster. Example: azuremonitorpipeline.contoso.com. + Part of Management Group diagnostic setting. Specifies the settings for a particular log. + :param pulumi.Input[bool] enabled: a value indicating whether this log is enabled. + :param pulumi.Input[str] category: Name of a Management Group Diagnostic Log category for a resource type this setting is applied to. + :param pulumi.Input[str] category_group: Name of a Management Group Diagnostic Log category group for a resource type this setting is applied to. """ - pulumi.set(__self__, "external_networking_mode", external_networking_mode) - pulumi.set(__self__, "routes", routes) - if host is not None: - pulumi.set(__self__, "host", host) + pulumi.set(__self__, "enabled", enabled) + if category is not None: + pulumi.set(__self__, "category", category) + if category_group is not None: + pulumi.set(__self__, "category_group", category_group) @property - @pulumi.getter(name="externalNetworkingMode") - def external_networking_mode(self) -> pulumi.Input[Union[str, 'ExternalNetworkingMode']]: + @pulumi.getter + def enabled(self) -> pulumi.Input[bool]: """ - External networking mode. + a value indicating whether this log is enabled. """ - return pulumi.get(self, "external_networking_mode") + return pulumi.get(self, "enabled") - @external_networking_mode.setter - def external_networking_mode(self, value: pulumi.Input[Union[str, 'ExternalNetworkingMode']]): - pulumi.set(self, "external_networking_mode", value) + @enabled.setter + def enabled(self, value: pulumi.Input[bool]): + pulumi.set(self, "enabled", value) @property @pulumi.getter - def routes(self) -> pulumi.Input[Sequence[pulumi.Input['NetworkingRouteArgs']]]: + def category(self) -> Optional[pulumi.Input[str]]: """ - Networking routes configuration. + Name of a Management Group Diagnostic Log category for a resource type this setting is applied to. """ - return pulumi.get(self, "routes") + return pulumi.get(self, "category") - @routes.setter - def routes(self, value: pulumi.Input[Sequence[pulumi.Input['NetworkingRouteArgs']]]): - pulumi.set(self, "routes", value) + @category.setter + def category(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "category", value) @property - @pulumi.getter - def host(self) -> Optional[pulumi.Input[str]]: + @pulumi.getter(name="categoryGroup") + def category_group(self) -> Optional[pulumi.Input[str]]: """ - The address exposed on the cluster. Example: azuremonitorpipeline.contoso.com. + Name of a Management Group Diagnostic Log category group for a resource type this setting is applied to. """ - return pulumi.get(self, "host") + return pulumi.get(self, "category_group") - @host.setter - def host(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "host", value) + @category_group.setter + def category_group(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "category_group", value) if not MYPY: - class NetworkingRouteArgsDict(TypedDict): + class MetricSettingsArgsDict(TypedDict): """ - Networking route configuration. + Part of MultiTenantDiagnosticSettings. Specifies the settings for a particular metric. """ - receiver: pulumi.Input[str] + enabled: pulumi.Input[bool] """ - The name of the previously defined receiver. + a value indicating whether this category is enabled. """ - path: NotRequired[pulumi.Input[str]] + category: NotRequired[pulumi.Input[str]] """ - Route path. + Name of a Diagnostic Metric category for a resource type this setting is applied to. To obtain the list of Diagnostic metric categories for a resource, first perform a GET diagnostic settings operation. """ - port: NotRequired[pulumi.Input[int]] + retention_policy: NotRequired[pulumi.Input['RetentionPolicyArgsDict']] """ - The port that will be configured externally. If not specified, it will use the port from the receiver definition. + the retention policy for this category. """ - subdomain: NotRequired[pulumi.Input[str]] + time_grain: NotRequired[pulumi.Input[str]] """ - Route subdomain. + the timegrain of the metric in ISO8601 format. """ elif False: - NetworkingRouteArgsDict: TypeAlias = Mapping[str, Any] + MetricSettingsArgsDict: TypeAlias = Mapping[str, Any] @pulumi.input_type -class NetworkingRouteArgs: +class MetricSettingsArgs: def __init__(__self__, *, - receiver: pulumi.Input[str], - path: Optional[pulumi.Input[str]] = None, - port: Optional[pulumi.Input[int]] = None, - subdomain: Optional[pulumi.Input[str]] = None): - """ - Networking route configuration. - :param pulumi.Input[str] receiver: The name of the previously defined receiver. - :param pulumi.Input[str] path: Route path. - :param pulumi.Input[int] port: The port that will be configured externally. If not specified, it will use the port from the receiver definition. - :param pulumi.Input[str] subdomain: Route subdomain. - """ - pulumi.set(__self__, "receiver", receiver) - if path is not None: - pulumi.set(__self__, "path", path) - if port is not None: - pulumi.set(__self__, "port", port) - if subdomain is not None: - pulumi.set(__self__, "subdomain", subdomain) + enabled: pulumi.Input[bool], + category: Optional[pulumi.Input[str]] = None, + retention_policy: Optional[pulumi.Input['RetentionPolicyArgs']] = None, + time_grain: Optional[pulumi.Input[str]] = None): + """ + Part of MultiTenantDiagnosticSettings. Specifies the settings for a particular metric. + :param pulumi.Input[bool] enabled: a value indicating whether this category is enabled. + :param pulumi.Input[str] category: Name of a Diagnostic Metric category for a resource type this setting is applied to. To obtain the list of Diagnostic metric categories for a resource, first perform a GET diagnostic settings operation. + :param pulumi.Input['RetentionPolicyArgs'] retention_policy: the retention policy for this category. + :param pulumi.Input[str] time_grain: the timegrain of the metric in ISO8601 format. + """ + pulumi.set(__self__, "enabled", enabled) + if category is not None: + pulumi.set(__self__, "category", category) + if retention_policy is not None: + pulumi.set(__self__, "retention_policy", retention_policy) + if time_grain is not None: + pulumi.set(__self__, "time_grain", time_grain) @property @pulumi.getter - def receiver(self) -> pulumi.Input[str]: + def enabled(self) -> pulumi.Input[bool]: """ - The name of the previously defined receiver. + a value indicating whether this category is enabled. """ - return pulumi.get(self, "receiver") + return pulumi.get(self, "enabled") - @receiver.setter - def receiver(self, value: pulumi.Input[str]): - pulumi.set(self, "receiver", value) + @enabled.setter + def enabled(self, value: pulumi.Input[bool]): + pulumi.set(self, "enabled", value) @property @pulumi.getter - def path(self) -> Optional[pulumi.Input[str]]: + def category(self) -> Optional[pulumi.Input[str]]: """ - Route path. + Name of a Diagnostic Metric category for a resource type this setting is applied to. To obtain the list of Diagnostic metric categories for a resource, first perform a GET diagnostic settings operation. """ - return pulumi.get(self, "path") + return pulumi.get(self, "category") - @path.setter - def path(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "path", value) + @category.setter + def category(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "category", value) @property - @pulumi.getter - def port(self) -> Optional[pulumi.Input[int]]: + @pulumi.getter(name="retentionPolicy") + def retention_policy(self) -> Optional[pulumi.Input['RetentionPolicyArgs']]: """ - The port that will be configured externally. If not specified, it will use the port from the receiver definition. + the retention policy for this category. """ - return pulumi.get(self, "port") + return pulumi.get(self, "retention_policy") - @port.setter - def port(self, value: Optional[pulumi.Input[int]]): - pulumi.set(self, "port", value) + @retention_policy.setter + def retention_policy(self, value: Optional[pulumi.Input['RetentionPolicyArgs']]): + pulumi.set(self, "retention_policy", value) @property - @pulumi.getter - def subdomain(self) -> Optional[pulumi.Input[str]]: + @pulumi.getter(name="timeGrain") + def time_grain(self) -> Optional[pulumi.Input[str]]: """ - Route subdomain. + the timegrain of the metric in ISO8601 format. """ - return pulumi.get(self, "subdomain") + return pulumi.get(self, "time_grain") - @subdomain.setter - def subdomain(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "subdomain", value) + @time_grain.setter + def time_grain(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "time_grain", value) if not MYPY: - class OtlpReceiverArgsDict(TypedDict): - """ - OTLP Receiver. - """ - endpoint: pulumi.Input[str] - """ - OTLP GRPC endpoint definition. Example: 0.0.0.0:. - """ -elif False: - OtlpReceiverArgsDict: TypeAlias = Mapping[str, Any] - -@pulumi.input_type -class OtlpReceiverArgs: - def __init__(__self__, *, - endpoint: pulumi.Input[str]): + class MetricTriggerArgsDict(TypedDict): """ - OTLP Receiver. - :param pulumi.Input[str] endpoint: OTLP GRPC endpoint definition. Example: 0.0.0.0:. + The trigger that results in a scaling action. """ - pulumi.set(__self__, "endpoint", endpoint) - - @property - @pulumi.getter - def endpoint(self) -> pulumi.Input[str]: + metric_name: pulumi.Input[str] """ - OTLP GRPC endpoint definition. Example: 0.0.0.0:. + the name of the metric that defines what the rule monitors. """ - return pulumi.get(self, "endpoint") - - @endpoint.setter - def endpoint(self, value: pulumi.Input[str]): - pulumi.set(self, "endpoint", value) - - -if not MYPY: - class PersistenceConfigurationsArgsDict(TypedDict): + metric_resource_uri: pulumi.Input[str] """ - Persistence options to all pipelines in the instance. + the resource identifier of the resource the rule monitors. """ - persistent_volume_name: pulumi.Input[str] + operator: pulumi.Input['ComparisonOperationType'] """ - The name of the mounted persistent volume. + the operator that is used to compare the metric data and the threshold. """ -elif False: - PersistenceConfigurationsArgsDict: TypeAlias = Mapping[str, Any] - -@pulumi.input_type -class PersistenceConfigurationsArgs: - def __init__(__self__, *, - persistent_volume_name: pulumi.Input[str]): + statistic: pulumi.Input['MetricStatisticType'] """ - Persistence options to all pipelines in the instance. - :param pulumi.Input[str] persistent_volume_name: The name of the mounted persistent volume. + the metric statistic type. How the metrics from multiple instances are combined. """ - pulumi.set(__self__, "persistent_volume_name", persistent_volume_name) - - @property - @pulumi.getter(name="persistentVolumeName") - def persistent_volume_name(self) -> pulumi.Input[str]: + threshold: pulumi.Input[float] """ - The name of the mounted persistent volume. + the threshold of the metric that triggers the scale action. """ - return pulumi.get(self, "persistent_volume_name") - - @persistent_volume_name.setter - def persistent_volume_name(self, value: pulumi.Input[str]): - pulumi.set(self, "persistent_volume_name", value) - - -if not MYPY: - class PipelineGroupPropertiesArgsDict(TypedDict): + time_aggregation: pulumi.Input['TimeAggregationType'] """ - Properties that need to be specified to create a new pipeline group instance. + time aggregation type. How the data that is collected should be combined over time. The default value is Average. """ - exporters: pulumi.Input[Sequence[pulumi.Input['ExporterArgsDict']]] + time_grain: pulumi.Input[str] """ - The exporters specified for a pipeline group instance. + the granularity of metrics the rule monitors. Must be one of the predefined values returned from metric definitions for the metric. Must be between 12 hours and 1 minute. """ - processors: pulumi.Input[Sequence[pulumi.Input['ProcessorArgsDict']]] + time_window: pulumi.Input[str] """ - The processors specified for a pipeline group instance. + the range of time in which instance data is collected. This value must be greater than the delay in metric collection, which can vary from resource-to-resource. Must be between 12 hours and 5 minutes. """ - receivers: pulumi.Input[Sequence[pulumi.Input['ReceiverArgsDict']]] + dimensions: NotRequired[pulumi.Input[Sequence[pulumi.Input['ScaleRuleMetricDimensionArgsDict']]]] """ - The receivers specified for a pipeline group instance. + List of dimension conditions. For example: [{"DimensionName":"AppName","Operator":"Equals","Values":["App1"]},{"DimensionName":"Deployment","Operator":"Equals","Values":["default"]}]. """ - service: pulumi.Input['ServiceArgsDict'] + divide_per_instance: NotRequired[pulumi.Input[bool]] """ - The service section for a given pipeline group instance. + a value indicating whether metric should divide per instance. """ - networking_configurations: NotRequired[pulumi.Input[Sequence[pulumi.Input['NetworkingConfigurationArgsDict']]]] + metric_namespace: NotRequired[pulumi.Input[str]] """ - Networking configurations for the pipeline group instance. + the namespace of the metric that defines what the rule monitors. """ - replicas: NotRequired[pulumi.Input[int]] + metric_resource_location: NotRequired[pulumi.Input[str]] """ - Defines the amount of replicas of the pipeline group instance. + the location of the resource the rule monitors. """ elif False: - PipelineGroupPropertiesArgsDict: TypeAlias = Mapping[str, Any] + MetricTriggerArgsDict: TypeAlias = Mapping[str, Any] @pulumi.input_type -class PipelineGroupPropertiesArgs: +class MetricTriggerArgs: def __init__(__self__, *, - exporters: pulumi.Input[Sequence[pulumi.Input['ExporterArgs']]], - processors: pulumi.Input[Sequence[pulumi.Input['ProcessorArgs']]], - receivers: pulumi.Input[Sequence[pulumi.Input['ReceiverArgs']]], - service: pulumi.Input['ServiceArgs'], - networking_configurations: Optional[pulumi.Input[Sequence[pulumi.Input['NetworkingConfigurationArgs']]]] = None, - replicas: Optional[pulumi.Input[int]] = None): - """ - Properties that need to be specified to create a new pipeline group instance. - :param pulumi.Input[Sequence[pulumi.Input['ExporterArgs']]] exporters: The exporters specified for a pipeline group instance. - :param pulumi.Input[Sequence[pulumi.Input['ProcessorArgs']]] processors: The processors specified for a pipeline group instance. - :param pulumi.Input[Sequence[pulumi.Input['ReceiverArgs']]] receivers: The receivers specified for a pipeline group instance. - :param pulumi.Input['ServiceArgs'] service: The service section for a given pipeline group instance. - :param pulumi.Input[Sequence[pulumi.Input['NetworkingConfigurationArgs']]] networking_configurations: Networking configurations for the pipeline group instance. - :param pulumi.Input[int] replicas: Defines the amount of replicas of the pipeline group instance. - """ - pulumi.set(__self__, "exporters", exporters) - pulumi.set(__self__, "processors", processors) - pulumi.set(__self__, "receivers", receivers) - pulumi.set(__self__, "service", service) - if networking_configurations is not None: - pulumi.set(__self__, "networking_configurations", networking_configurations) - if replicas is not None: - pulumi.set(__self__, "replicas", replicas) + metric_name: pulumi.Input[str], + metric_resource_uri: pulumi.Input[str], + operator: pulumi.Input['ComparisonOperationType'], + statistic: pulumi.Input['MetricStatisticType'], + threshold: pulumi.Input[float], + time_aggregation: pulumi.Input['TimeAggregationType'], + time_grain: pulumi.Input[str], + time_window: pulumi.Input[str], + dimensions: Optional[pulumi.Input[Sequence[pulumi.Input['ScaleRuleMetricDimensionArgs']]]] = None, + divide_per_instance: Optional[pulumi.Input[bool]] = None, + metric_namespace: Optional[pulumi.Input[str]] = None, + metric_resource_location: Optional[pulumi.Input[str]] = None): + """ + The trigger that results in a scaling action. + :param pulumi.Input[str] metric_name: the name of the metric that defines what the rule monitors. + :param pulumi.Input[str] metric_resource_uri: the resource identifier of the resource the rule monitors. + :param pulumi.Input['ComparisonOperationType'] operator: the operator that is used to compare the metric data and the threshold. + :param pulumi.Input['MetricStatisticType'] statistic: the metric statistic type. How the metrics from multiple instances are combined. + :param pulumi.Input[float] threshold: the threshold of the metric that triggers the scale action. + :param pulumi.Input['TimeAggregationType'] time_aggregation: time aggregation type. How the data that is collected should be combined over time. The default value is Average. + :param pulumi.Input[str] time_grain: the granularity of metrics the rule monitors. Must be one of the predefined values returned from metric definitions for the metric. Must be between 12 hours and 1 minute. + :param pulumi.Input[str] time_window: the range of time in which instance data is collected. This value must be greater than the delay in metric collection, which can vary from resource-to-resource. Must be between 12 hours and 5 minutes. + :param pulumi.Input[Sequence[pulumi.Input['ScaleRuleMetricDimensionArgs']]] dimensions: List of dimension conditions. For example: [{"DimensionName":"AppName","Operator":"Equals","Values":["App1"]},{"DimensionName":"Deployment","Operator":"Equals","Values":["default"]}]. + :param pulumi.Input[bool] divide_per_instance: a value indicating whether metric should divide per instance. + :param pulumi.Input[str] metric_namespace: the namespace of the metric that defines what the rule monitors. + :param pulumi.Input[str] metric_resource_location: the location of the resource the rule monitors. + """ + pulumi.set(__self__, "metric_name", metric_name) + pulumi.set(__self__, "metric_resource_uri", metric_resource_uri) + pulumi.set(__self__, "operator", operator) + pulumi.set(__self__, "statistic", statistic) + pulumi.set(__self__, "threshold", threshold) + pulumi.set(__self__, "time_aggregation", time_aggregation) + pulumi.set(__self__, "time_grain", time_grain) + pulumi.set(__self__, "time_window", time_window) + if dimensions is not None: + pulumi.set(__self__, "dimensions", dimensions) + if divide_per_instance is not None: + pulumi.set(__self__, "divide_per_instance", divide_per_instance) + if metric_namespace is not None: + pulumi.set(__self__, "metric_namespace", metric_namespace) + if metric_resource_location is not None: + pulumi.set(__self__, "metric_resource_location", metric_resource_location) @property - @pulumi.getter - def exporters(self) -> pulumi.Input[Sequence[pulumi.Input['ExporterArgs']]]: + @pulumi.getter(name="metricName") + def metric_name(self) -> pulumi.Input[str]: """ - The exporters specified for a pipeline group instance. + the name of the metric that defines what the rule monitors. """ - return pulumi.get(self, "exporters") + return pulumi.get(self, "metric_name") - @exporters.setter - def exporters(self, value: pulumi.Input[Sequence[pulumi.Input['ExporterArgs']]]): - pulumi.set(self, "exporters", value) + @metric_name.setter + def metric_name(self, value: pulumi.Input[str]): + pulumi.set(self, "metric_name", value) @property - @pulumi.getter - def processors(self) -> pulumi.Input[Sequence[pulumi.Input['ProcessorArgs']]]: + @pulumi.getter(name="metricResourceUri") + def metric_resource_uri(self) -> pulumi.Input[str]: """ - The processors specified for a pipeline group instance. + the resource identifier of the resource the rule monitors. """ - return pulumi.get(self, "processors") + return pulumi.get(self, "metric_resource_uri") - @processors.setter - def processors(self, value: pulumi.Input[Sequence[pulumi.Input['ProcessorArgs']]]): - pulumi.set(self, "processors", value) + @metric_resource_uri.setter + def metric_resource_uri(self, value: pulumi.Input[str]): + pulumi.set(self, "metric_resource_uri", value) @property @pulumi.getter - def receivers(self) -> pulumi.Input[Sequence[pulumi.Input['ReceiverArgs']]]: + def operator(self) -> pulumi.Input['ComparisonOperationType']: """ - The receivers specified for a pipeline group instance. + the operator that is used to compare the metric data and the threshold. """ - return pulumi.get(self, "receivers") + return pulumi.get(self, "operator") - @receivers.setter - def receivers(self, value: pulumi.Input[Sequence[pulumi.Input['ReceiverArgs']]]): - pulumi.set(self, "receivers", value) + @operator.setter + def operator(self, value: pulumi.Input['ComparisonOperationType']): + pulumi.set(self, "operator", value) @property @pulumi.getter - def service(self) -> pulumi.Input['ServiceArgs']: + def statistic(self) -> pulumi.Input['MetricStatisticType']: """ - The service section for a given pipeline group instance. + the metric statistic type. How the metrics from multiple instances are combined. """ - return pulumi.get(self, "service") + return pulumi.get(self, "statistic") - @service.setter - def service(self, value: pulumi.Input['ServiceArgs']): - pulumi.set(self, "service", value) + @statistic.setter + def statistic(self, value: pulumi.Input['MetricStatisticType']): + pulumi.set(self, "statistic", value) @property - @pulumi.getter(name="networkingConfigurations") - def networking_configurations(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['NetworkingConfigurationArgs']]]]: + @pulumi.getter + def threshold(self) -> pulumi.Input[float]: """ - Networking configurations for the pipeline group instance. + the threshold of the metric that triggers the scale action. """ - return pulumi.get(self, "networking_configurations") + return pulumi.get(self, "threshold") - @networking_configurations.setter - def networking_configurations(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['NetworkingConfigurationArgs']]]]): - pulumi.set(self, "networking_configurations", value) + @threshold.setter + def threshold(self, value: pulumi.Input[float]): + pulumi.set(self, "threshold", value) @property - @pulumi.getter - def replicas(self) -> Optional[pulumi.Input[int]]: + @pulumi.getter(name="timeAggregation") + def time_aggregation(self) -> pulumi.Input['TimeAggregationType']: """ - Defines the amount of replicas of the pipeline group instance. + time aggregation type. How the data that is collected should be combined over time. The default value is Average. """ - return pulumi.get(self, "replicas") - - @replicas.setter - def replicas(self, value: Optional[pulumi.Input[int]]): - pulumi.set(self, "replicas", value) + return pulumi.get(self, "time_aggregation") + @time_aggregation.setter + def time_aggregation(self, value: pulumi.Input['TimeAggregationType']): + pulumi.set(self, "time_aggregation", value) -if not MYPY: - class PipelineArgsDict(TypedDict): - """ - Pipeline Info. - """ - exporters: pulumi.Input[Sequence[pulumi.Input[str]]] - """ - Reference to exporters configured for the pipeline. - """ - name: pulumi.Input[str] - """ - Name of the pipeline. - """ - receivers: pulumi.Input[Sequence[pulumi.Input[str]]] - """ - Reference to receivers configured for the pipeline. - """ - type: pulumi.Input[Union[str, 'PipelineType']] - """ - The type of pipeline - """ - processors: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]] + @property + @pulumi.getter(name="timeGrain") + def time_grain(self) -> pulumi.Input[str]: """ - Reference to processors configured for the pipeline. + the granularity of metrics the rule monitors. Must be one of the predefined values returned from metric definitions for the metric. Must be between 12 hours and 1 minute. """ -elif False: - PipelineArgsDict: TypeAlias = Mapping[str, Any] + return pulumi.get(self, "time_grain") -@pulumi.input_type -class PipelineArgs: - def __init__(__self__, *, - exporters: pulumi.Input[Sequence[pulumi.Input[str]]], - name: pulumi.Input[str], - receivers: pulumi.Input[Sequence[pulumi.Input[str]]], - type: pulumi.Input[Union[str, 'PipelineType']], - processors: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): - """ - Pipeline Info. - :param pulumi.Input[Sequence[pulumi.Input[str]]] exporters: Reference to exporters configured for the pipeline. - :param pulumi.Input[str] name: Name of the pipeline. - :param pulumi.Input[Sequence[pulumi.Input[str]]] receivers: Reference to receivers configured for the pipeline. - :param pulumi.Input[Union[str, 'PipelineType']] type: The type of pipeline - :param pulumi.Input[Sequence[pulumi.Input[str]]] processors: Reference to processors configured for the pipeline. - """ - pulumi.set(__self__, "exporters", exporters) - pulumi.set(__self__, "name", name) - pulumi.set(__self__, "receivers", receivers) - pulumi.set(__self__, "type", type) - if processors is not None: - pulumi.set(__self__, "processors", processors) + @time_grain.setter + def time_grain(self, value: pulumi.Input[str]): + pulumi.set(self, "time_grain", value) @property - @pulumi.getter - def exporters(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]: + @pulumi.getter(name="timeWindow") + def time_window(self) -> pulumi.Input[str]: """ - Reference to exporters configured for the pipeline. + the range of time in which instance data is collected. This value must be greater than the delay in metric collection, which can vary from resource-to-resource. Must be between 12 hours and 5 minutes. """ - return pulumi.get(self, "exporters") + return pulumi.get(self, "time_window") - @exporters.setter - def exporters(self, value: pulumi.Input[Sequence[pulumi.Input[str]]]): - pulumi.set(self, "exporters", value) + @time_window.setter + def time_window(self, value: pulumi.Input[str]): + pulumi.set(self, "time_window", value) @property @pulumi.getter - def name(self) -> pulumi.Input[str]: + def dimensions(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ScaleRuleMetricDimensionArgs']]]]: """ - Name of the pipeline. + List of dimension conditions. For example: [{"DimensionName":"AppName","Operator":"Equals","Values":["App1"]},{"DimensionName":"Deployment","Operator":"Equals","Values":["default"]}]. """ - return pulumi.get(self, "name") + return pulumi.get(self, "dimensions") - @name.setter - def name(self, value: pulumi.Input[str]): - pulumi.set(self, "name", value) + @dimensions.setter + def dimensions(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ScaleRuleMetricDimensionArgs']]]]): + pulumi.set(self, "dimensions", value) @property - @pulumi.getter - def receivers(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]: + @pulumi.getter(name="dividePerInstance") + def divide_per_instance(self) -> Optional[pulumi.Input[bool]]: """ - Reference to receivers configured for the pipeline. + a value indicating whether metric should divide per instance. """ - return pulumi.get(self, "receivers") + return pulumi.get(self, "divide_per_instance") - @receivers.setter - def receivers(self, value: pulumi.Input[Sequence[pulumi.Input[str]]]): - pulumi.set(self, "receivers", value) + @divide_per_instance.setter + def divide_per_instance(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "divide_per_instance", value) @property - @pulumi.getter - def type(self) -> pulumi.Input[Union[str, 'PipelineType']]: + @pulumi.getter(name="metricNamespace") + def metric_namespace(self) -> Optional[pulumi.Input[str]]: """ - The type of pipeline + the namespace of the metric that defines what the rule monitors. """ - return pulumi.get(self, "type") + return pulumi.get(self, "metric_namespace") - @type.setter - def type(self, value: pulumi.Input[Union[str, 'PipelineType']]): - pulumi.set(self, "type", value) + @metric_namespace.setter + def metric_namespace(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "metric_namespace", value) @property - @pulumi.getter - def processors(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + @pulumi.getter(name="metricResourceLocation") + def metric_resource_location(self) -> Optional[pulumi.Input[str]]: """ - Reference to processors configured for the pipeline. + the location of the resource the rule monitors. """ - return pulumi.get(self, "processors") + return pulumi.get(self, "metric_resource_location") - @processors.setter - def processors(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): - pulumi.set(self, "processors", value) + @metric_resource_location.setter + def metric_resource_location(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "metric_resource_location", value) if not MYPY: - class PrivateLinkServiceConnectionStateArgsDict(TypedDict): + class NetworkingConfigurationArgsDict(TypedDict): """ - A collection of information about the state of the connection between service consumer and provider. + Networking configuration for the pipeline group instance. """ - actions_required: NotRequired[pulumi.Input[str]] + external_networking_mode: pulumi.Input[Union[str, 'ExternalNetworkingMode']] """ - A message indicating if changes on the service provider require any updates on the consumer. + External networking mode. """ - description: NotRequired[pulumi.Input[str]] + routes: pulumi.Input[Sequence[pulumi.Input['NetworkingRouteArgsDict']]] """ - The reason for approval/rejection of the connection. + Networking routes configuration. """ - status: NotRequired[pulumi.Input[Union[str, 'PrivateEndpointServiceConnectionStatus']]] + host: NotRequired[pulumi.Input[str]] """ - Indicates whether the connection has been Approved/Rejected/Removed by the owner of the service. + The address exposed on the cluster. Example: azuremonitorpipeline.contoso.com. """ elif False: - PrivateLinkServiceConnectionStateArgsDict: TypeAlias = Mapping[str, Any] + NetworkingConfigurationArgsDict: TypeAlias = Mapping[str, Any] @pulumi.input_type -class PrivateLinkServiceConnectionStateArgs: +class NetworkingConfigurationArgs: def __init__(__self__, *, - actions_required: Optional[pulumi.Input[str]] = None, - description: Optional[pulumi.Input[str]] = None, - status: Optional[pulumi.Input[Union[str, 'PrivateEndpointServiceConnectionStatus']]] = None): + external_networking_mode: pulumi.Input[Union[str, 'ExternalNetworkingMode']], + routes: pulumi.Input[Sequence[pulumi.Input['NetworkingRouteArgs']]], + host: Optional[pulumi.Input[str]] = None): """ - A collection of information about the state of the connection between service consumer and provider. - :param pulumi.Input[str] actions_required: A message indicating if changes on the service provider require any updates on the consumer. - :param pulumi.Input[str] description: The reason for approval/rejection of the connection. - :param pulumi.Input[Union[str, 'PrivateEndpointServiceConnectionStatus']] status: Indicates whether the connection has been Approved/Rejected/Removed by the owner of the service. + Networking configuration for the pipeline group instance. + :param pulumi.Input[Union[str, 'ExternalNetworkingMode']] external_networking_mode: External networking mode. + :param pulumi.Input[Sequence[pulumi.Input['NetworkingRouteArgs']]] routes: Networking routes configuration. + :param pulumi.Input[str] host: The address exposed on the cluster. Example: azuremonitorpipeline.contoso.com. """ - if actions_required is not None: - pulumi.set(__self__, "actions_required", actions_required) - if description is not None: - pulumi.set(__self__, "description", description) - if status is not None: - pulumi.set(__self__, "status", status) + pulumi.set(__self__, "external_networking_mode", external_networking_mode) + pulumi.set(__self__, "routes", routes) + if host is not None: + pulumi.set(__self__, "host", host) @property - @pulumi.getter(name="actionsRequired") - def actions_required(self) -> Optional[pulumi.Input[str]]: + @pulumi.getter(name="externalNetworkingMode") + def external_networking_mode(self) -> pulumi.Input[Union[str, 'ExternalNetworkingMode']]: """ - A message indicating if changes on the service provider require any updates on the consumer. + External networking mode. """ - return pulumi.get(self, "actions_required") + return pulumi.get(self, "external_networking_mode") - @actions_required.setter - def actions_required(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "actions_required", value) + @external_networking_mode.setter + def external_networking_mode(self, value: pulumi.Input[Union[str, 'ExternalNetworkingMode']]): + pulumi.set(self, "external_networking_mode", value) @property @pulumi.getter - def description(self) -> Optional[pulumi.Input[str]]: + def routes(self) -> pulumi.Input[Sequence[pulumi.Input['NetworkingRouteArgs']]]: """ - The reason for approval/rejection of the connection. + Networking routes configuration. """ - return pulumi.get(self, "description") + return pulumi.get(self, "routes") - @description.setter - def description(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "description", value) + @routes.setter + def routes(self, value: pulumi.Input[Sequence[pulumi.Input['NetworkingRouteArgs']]]): + pulumi.set(self, "routes", value) @property @pulumi.getter - def status(self) -> Optional[pulumi.Input[Union[str, 'PrivateEndpointServiceConnectionStatus']]]: + def host(self) -> Optional[pulumi.Input[str]]: """ - Indicates whether the connection has been Approved/Rejected/Removed by the owner of the service. + The address exposed on the cluster. Example: azuremonitorpipeline.contoso.com. """ - return pulumi.get(self, "status") + return pulumi.get(self, "host") - @status.setter - def status(self, value: Optional[pulumi.Input[Union[str, 'PrivateEndpointServiceConnectionStatus']]]): - pulumi.set(self, "status", value) + @host.setter + def host(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "host", value) if not MYPY: - class ProcessorArgsDict(TypedDict): + class NetworkingRouteArgsDict(TypedDict): """ - Processor Info. + Networking route configuration. """ - name: pulumi.Input[str] + receiver: pulumi.Input[str] """ - The name of processor. + The name of the previously defined receiver. """ - type: pulumi.Input[Union[str, 'ProcessorType']] + path: NotRequired[pulumi.Input[str]] """ - The type of processor. + Route path. """ - batch: NotRequired[pulumi.Input['BatchProcessorArgsDict']] + port: NotRequired[pulumi.Input[int]] """ - Batch processor configurations. + The port that will be configured externally. If not specified, it will use the port from the receiver definition. + """ + subdomain: NotRequired[pulumi.Input[str]] + """ + Route subdomain. """ elif False: - ProcessorArgsDict: TypeAlias = Mapping[str, Any] + NetworkingRouteArgsDict: TypeAlias = Mapping[str, Any] @pulumi.input_type -class ProcessorArgs: +class NetworkingRouteArgs: def __init__(__self__, *, - name: pulumi.Input[str], - type: pulumi.Input[Union[str, 'ProcessorType']], - batch: Optional[pulumi.Input['BatchProcessorArgs']] = None): + receiver: pulumi.Input[str], + path: Optional[pulumi.Input[str]] = None, + port: Optional[pulumi.Input[int]] = None, + subdomain: Optional[pulumi.Input[str]] = None): """ - Processor Info. - :param pulumi.Input[str] name: The name of processor. - :param pulumi.Input[Union[str, 'ProcessorType']] type: The type of processor. - :param pulumi.Input['BatchProcessorArgs'] batch: Batch processor configurations. + Networking route configuration. + :param pulumi.Input[str] receiver: The name of the previously defined receiver. + :param pulumi.Input[str] path: Route path. + :param pulumi.Input[int] port: The port that will be configured externally. If not specified, it will use the port from the receiver definition. + :param pulumi.Input[str] subdomain: Route subdomain. """ - pulumi.set(__self__, "name", name) - pulumi.set(__self__, "type", type) - if batch is not None: - pulumi.set(__self__, "batch", batch) + pulumi.set(__self__, "receiver", receiver) + if path is not None: + pulumi.set(__self__, "path", path) + if port is not None: + pulumi.set(__self__, "port", port) + if subdomain is not None: + pulumi.set(__self__, "subdomain", subdomain) @property @pulumi.getter - def name(self) -> pulumi.Input[str]: + def receiver(self) -> pulumi.Input[str]: """ - The name of processor. + The name of the previously defined receiver. """ - return pulumi.get(self, "name") + return pulumi.get(self, "receiver") - @name.setter - def name(self, value: pulumi.Input[str]): - pulumi.set(self, "name", value) + @receiver.setter + def receiver(self, value: pulumi.Input[str]): + pulumi.set(self, "receiver", value) @property @pulumi.getter - def type(self) -> pulumi.Input[Union[str, 'ProcessorType']]: + def path(self) -> Optional[pulumi.Input[str]]: """ - The type of processor. + Route path. """ - return pulumi.get(self, "type") + return pulumi.get(self, "path") - @type.setter - def type(self, value: pulumi.Input[Union[str, 'ProcessorType']]): - pulumi.set(self, "type", value) + @path.setter + def path(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "path", value) @property @pulumi.getter - def batch(self) -> Optional[pulumi.Input['BatchProcessorArgs']]: + def port(self) -> Optional[pulumi.Input[int]]: """ - Batch processor configurations. + The port that will be configured externally. If not specified, it will use the port from the receiver definition. """ - return pulumi.get(self, "batch") + return pulumi.get(self, "port") - @batch.setter - def batch(self, value: Optional[pulumi.Input['BatchProcessorArgs']]): - pulumi.set(self, "batch", value) + @port.setter + def port(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "port", value) + + @property + @pulumi.getter + def subdomain(self) -> Optional[pulumi.Input[str]]: + """ + Route subdomain. + """ + return pulumi.get(self, "subdomain") + + @subdomain.setter + def subdomain(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "subdomain", value) if not MYPY: - class ReceiverArgsDict(TypedDict): + class OtlpReceiverArgsDict(TypedDict): """ - Receiver Info. + OTLP Receiver. """ - name: pulumi.Input[str] + endpoint: pulumi.Input[str] """ - The name of receiver. + OTLP GRPC endpoint definition. Example: 0.0.0.0:. """ - type: pulumi.Input[Union[str, 'ReceiverType']] +elif False: + OtlpReceiverArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class OtlpReceiverArgs: + def __init__(__self__, *, + endpoint: pulumi.Input[str]): """ - The type of receiver. + OTLP Receiver. + :param pulumi.Input[str] endpoint: OTLP GRPC endpoint definition. Example: 0.0.0.0:. """ - otlp: NotRequired[pulumi.Input['OtlpReceiverArgsDict']] + pulumi.set(__self__, "endpoint", endpoint) + + @property + @pulumi.getter + def endpoint(self) -> pulumi.Input[str]: """ - OTLP receiver configurations. This field is mandatory for OTLP and pipelineGroup receivers. + OTLP GRPC endpoint definition. Example: 0.0.0.0:. """ - syslog: NotRequired[pulumi.Input['SyslogReceiverArgsDict']] + return pulumi.get(self, "endpoint") + + @endpoint.setter + def endpoint(self, value: pulumi.Input[str]): + pulumi.set(self, "endpoint", value) + + +if not MYPY: + class PersistenceConfigurationsArgsDict(TypedDict): """ - Syslog configurations. This field is mandatory for syslog type receivers. + Persistence options to all pipelines in the instance. """ - udp: NotRequired[pulumi.Input['UdpReceiverArgsDict']] + persistent_volume_name: pulumi.Input[str] """ - UDP receiver configurations. This field is mandatory for UDP receivers. + The name of the mounted persistent volume. """ elif False: - ReceiverArgsDict: TypeAlias = Mapping[str, Any] + PersistenceConfigurationsArgsDict: TypeAlias = Mapping[str, Any] @pulumi.input_type -class ReceiverArgs: +class PersistenceConfigurationsArgs: def __init__(__self__, *, - name: pulumi.Input[str], - type: pulumi.Input[Union[str, 'ReceiverType']], - otlp: Optional[pulumi.Input['OtlpReceiverArgs']] = None, - syslog: Optional[pulumi.Input['SyslogReceiverArgs']] = None, - udp: Optional[pulumi.Input['UdpReceiverArgs']] = None): + persistent_volume_name: pulumi.Input[str]): """ - Receiver Info. - :param pulumi.Input[str] name: The name of receiver. - :param pulumi.Input[Union[str, 'ReceiverType']] type: The type of receiver. - :param pulumi.Input['OtlpReceiverArgs'] otlp: OTLP receiver configurations. This field is mandatory for OTLP and pipelineGroup receivers. - :param pulumi.Input['SyslogReceiverArgs'] syslog: Syslog configurations. This field is mandatory for syslog type receivers. - :param pulumi.Input['UdpReceiverArgs'] udp: UDP receiver configurations. This field is mandatory for UDP receivers. + Persistence options to all pipelines in the instance. + :param pulumi.Input[str] persistent_volume_name: The name of the mounted persistent volume. """ - pulumi.set(__self__, "name", name) - pulumi.set(__self__, "type", type) - if otlp is not None: - pulumi.set(__self__, "otlp", otlp) - if syslog is not None: - pulumi.set(__self__, "syslog", syslog) - if udp is not None: - pulumi.set(__self__, "udp", udp) + pulumi.set(__self__, "persistent_volume_name", persistent_volume_name) @property - @pulumi.getter - def name(self) -> pulumi.Input[str]: + @pulumi.getter(name="persistentVolumeName") + def persistent_volume_name(self) -> pulumi.Input[str]: + """ + The name of the mounted persistent volume. + """ + return pulumi.get(self, "persistent_volume_name") + + @persistent_volume_name.setter + def persistent_volume_name(self, value: pulumi.Input[str]): + pulumi.set(self, "persistent_volume_name", value) + + +if not MYPY: + class PipelineGroupPropertiesArgsDict(TypedDict): + """ + Properties that need to be specified to create a new pipeline group instance. + """ + exporters: pulumi.Input[Sequence[pulumi.Input['ExporterArgsDict']]] + """ + The exporters specified for a pipeline group instance. + """ + processors: pulumi.Input[Sequence[pulumi.Input['ProcessorArgsDict']]] + """ + The processors specified for a pipeline group instance. + """ + receivers: pulumi.Input[Sequence[pulumi.Input['ReceiverArgsDict']]] + """ + The receivers specified for a pipeline group instance. + """ + service: pulumi.Input['ServiceArgsDict'] + """ + The service section for a given pipeline group instance. + """ + networking_configurations: NotRequired[pulumi.Input[Sequence[pulumi.Input['NetworkingConfigurationArgsDict']]]] + """ + Networking configurations for the pipeline group instance. + """ + replicas: NotRequired[pulumi.Input[int]] + """ + Defines the amount of replicas of the pipeline group instance. + """ +elif False: + PipelineGroupPropertiesArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class PipelineGroupPropertiesArgs: + def __init__(__self__, *, + exporters: pulumi.Input[Sequence[pulumi.Input['ExporterArgs']]], + processors: pulumi.Input[Sequence[pulumi.Input['ProcessorArgs']]], + receivers: pulumi.Input[Sequence[pulumi.Input['ReceiverArgs']]], + service: pulumi.Input['ServiceArgs'], + networking_configurations: Optional[pulumi.Input[Sequence[pulumi.Input['NetworkingConfigurationArgs']]]] = None, + replicas: Optional[pulumi.Input[int]] = None): + """ + Properties that need to be specified to create a new pipeline group instance. + :param pulumi.Input[Sequence[pulumi.Input['ExporterArgs']]] exporters: The exporters specified for a pipeline group instance. + :param pulumi.Input[Sequence[pulumi.Input['ProcessorArgs']]] processors: The processors specified for a pipeline group instance. + :param pulumi.Input[Sequence[pulumi.Input['ReceiverArgs']]] receivers: The receivers specified for a pipeline group instance. + :param pulumi.Input['ServiceArgs'] service: The service section for a given pipeline group instance. + :param pulumi.Input[Sequence[pulumi.Input['NetworkingConfigurationArgs']]] networking_configurations: Networking configurations for the pipeline group instance. + :param pulumi.Input[int] replicas: Defines the amount of replicas of the pipeline group instance. + """ + pulumi.set(__self__, "exporters", exporters) + pulumi.set(__self__, "processors", processors) + pulumi.set(__self__, "receivers", receivers) + pulumi.set(__self__, "service", service) + if networking_configurations is not None: + pulumi.set(__self__, "networking_configurations", networking_configurations) + if replicas is not None: + pulumi.set(__self__, "replicas", replicas) + + @property + @pulumi.getter + def exporters(self) -> pulumi.Input[Sequence[pulumi.Input['ExporterArgs']]]: + """ + The exporters specified for a pipeline group instance. + """ + return pulumi.get(self, "exporters") + + @exporters.setter + def exporters(self, value: pulumi.Input[Sequence[pulumi.Input['ExporterArgs']]]): + pulumi.set(self, "exporters", value) + + @property + @pulumi.getter + def processors(self) -> pulumi.Input[Sequence[pulumi.Input['ProcessorArgs']]]: + """ + The processors specified for a pipeline group instance. + """ + return pulumi.get(self, "processors") + + @processors.setter + def processors(self, value: pulumi.Input[Sequence[pulumi.Input['ProcessorArgs']]]): + pulumi.set(self, "processors", value) + + @property + @pulumi.getter + def receivers(self) -> pulumi.Input[Sequence[pulumi.Input['ReceiverArgs']]]: + """ + The receivers specified for a pipeline group instance. + """ + return pulumi.get(self, "receivers") + + @receivers.setter + def receivers(self, value: pulumi.Input[Sequence[pulumi.Input['ReceiverArgs']]]): + pulumi.set(self, "receivers", value) + + @property + @pulumi.getter + def service(self) -> pulumi.Input['ServiceArgs']: + """ + The service section for a given pipeline group instance. + """ + return pulumi.get(self, "service") + + @service.setter + def service(self, value: pulumi.Input['ServiceArgs']): + pulumi.set(self, "service", value) + + @property + @pulumi.getter(name="networkingConfigurations") + def networking_configurations(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['NetworkingConfigurationArgs']]]]: + """ + Networking configurations for the pipeline group instance. + """ + return pulumi.get(self, "networking_configurations") + + @networking_configurations.setter + def networking_configurations(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['NetworkingConfigurationArgs']]]]): + pulumi.set(self, "networking_configurations", value) + + @property + @pulumi.getter + def replicas(self) -> Optional[pulumi.Input[int]]: + """ + Defines the amount of replicas of the pipeline group instance. + """ + return pulumi.get(self, "replicas") + + @replicas.setter + def replicas(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "replicas", value) + + +if not MYPY: + class PipelineArgsDict(TypedDict): + """ + Pipeline Info. + """ + exporters: pulumi.Input[Sequence[pulumi.Input[str]]] + """ + Reference to exporters configured for the pipeline. + """ + name: pulumi.Input[str] + """ + Name of the pipeline. + """ + receivers: pulumi.Input[Sequence[pulumi.Input[str]]] + """ + Reference to receivers configured for the pipeline. + """ + type: pulumi.Input[Union[str, 'PipelineType']] + """ + The type of pipeline + """ + processors: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]] + """ + Reference to processors configured for the pipeline. + """ +elif False: + PipelineArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class PipelineArgs: + def __init__(__self__, *, + exporters: pulumi.Input[Sequence[pulumi.Input[str]]], + name: pulumi.Input[str], + receivers: pulumi.Input[Sequence[pulumi.Input[str]]], + type: pulumi.Input[Union[str, 'PipelineType']], + processors: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): + """ + Pipeline Info. + :param pulumi.Input[Sequence[pulumi.Input[str]]] exporters: Reference to exporters configured for the pipeline. + :param pulumi.Input[str] name: Name of the pipeline. + :param pulumi.Input[Sequence[pulumi.Input[str]]] receivers: Reference to receivers configured for the pipeline. + :param pulumi.Input[Union[str, 'PipelineType']] type: The type of pipeline + :param pulumi.Input[Sequence[pulumi.Input[str]]] processors: Reference to processors configured for the pipeline. + """ + pulumi.set(__self__, "exporters", exporters) + pulumi.set(__self__, "name", name) + pulumi.set(__self__, "receivers", receivers) + pulumi.set(__self__, "type", type) + if processors is not None: + pulumi.set(__self__, "processors", processors) + + @property + @pulumi.getter + def exporters(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]: + """ + Reference to exporters configured for the pipeline. + """ + return pulumi.get(self, "exporters") + + @exporters.setter + def exporters(self, value: pulumi.Input[Sequence[pulumi.Input[str]]]): + pulumi.set(self, "exporters", value) + + @property + @pulumi.getter + def name(self) -> pulumi.Input[str]: + """ + Name of the pipeline. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: pulumi.Input[str]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter + def receivers(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]: + """ + Reference to receivers configured for the pipeline. + """ + return pulumi.get(self, "receivers") + + @receivers.setter + def receivers(self, value: pulumi.Input[Sequence[pulumi.Input[str]]]): + pulumi.set(self, "receivers", value) + + @property + @pulumi.getter + def type(self) -> pulumi.Input[Union[str, 'PipelineType']]: + """ + The type of pipeline + """ + return pulumi.get(self, "type") + + @type.setter + def type(self, value: pulumi.Input[Union[str, 'PipelineType']]): + pulumi.set(self, "type", value) + + @property + @pulumi.getter + def processors(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Reference to processors configured for the pipeline. + """ + return pulumi.get(self, "processors") + + @processors.setter + def processors(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "processors", value) + + +if not MYPY: + class PredictiveAutoscalePolicyArgsDict(TypedDict): + """ + The parameters for enabling predictive autoscale. + """ + scale_mode: pulumi.Input['PredictiveAutoscalePolicyScaleMode'] + """ + the predictive autoscale mode + """ + scale_look_ahead_time: NotRequired[pulumi.Input[str]] + """ + the amount of time to specify by which instances are launched in advance. It must be between 1 minute and 60 minutes in ISO 8601 format. + """ +elif False: + PredictiveAutoscalePolicyArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class PredictiveAutoscalePolicyArgs: + def __init__(__self__, *, + scale_mode: pulumi.Input['PredictiveAutoscalePolicyScaleMode'], + scale_look_ahead_time: Optional[pulumi.Input[str]] = None): + """ + The parameters for enabling predictive autoscale. + :param pulumi.Input['PredictiveAutoscalePolicyScaleMode'] scale_mode: the predictive autoscale mode + :param pulumi.Input[str] scale_look_ahead_time: the amount of time to specify by which instances are launched in advance. It must be between 1 minute and 60 minutes in ISO 8601 format. + """ + pulumi.set(__self__, "scale_mode", scale_mode) + if scale_look_ahead_time is not None: + pulumi.set(__self__, "scale_look_ahead_time", scale_look_ahead_time) + + @property + @pulumi.getter(name="scaleMode") + def scale_mode(self) -> pulumi.Input['PredictiveAutoscalePolicyScaleMode']: + """ + the predictive autoscale mode + """ + return pulumi.get(self, "scale_mode") + + @scale_mode.setter + def scale_mode(self, value: pulumi.Input['PredictiveAutoscalePolicyScaleMode']): + pulumi.set(self, "scale_mode", value) + + @property + @pulumi.getter(name="scaleLookAheadTime") + def scale_look_ahead_time(self) -> Optional[pulumi.Input[str]]: + """ + the amount of time to specify by which instances are launched in advance. It must be between 1 minute and 60 minutes in ISO 8601 format. + """ + return pulumi.get(self, "scale_look_ahead_time") + + @scale_look_ahead_time.setter + def scale_look_ahead_time(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "scale_look_ahead_time", value) + + +if not MYPY: + class PrivateLinkServiceConnectionStateArgsDict(TypedDict): + """ + A collection of information about the state of the connection between service consumer and provider. + """ + actions_required: NotRequired[pulumi.Input[str]] + """ + A message indicating if changes on the service provider require any updates on the consumer. + """ + description: NotRequired[pulumi.Input[str]] + """ + The reason for approval/rejection of the connection. + """ + status: NotRequired[pulumi.Input[Union[str, 'PrivateEndpointServiceConnectionStatus']]] + """ + Indicates whether the connection has been Approved/Rejected/Removed by the owner of the service. + """ +elif False: + PrivateLinkServiceConnectionStateArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class PrivateLinkServiceConnectionStateArgs: + def __init__(__self__, *, + actions_required: Optional[pulumi.Input[str]] = None, + description: Optional[pulumi.Input[str]] = None, + status: Optional[pulumi.Input[Union[str, 'PrivateEndpointServiceConnectionStatus']]] = None): + """ + A collection of information about the state of the connection between service consumer and provider. + :param pulumi.Input[str] actions_required: A message indicating if changes on the service provider require any updates on the consumer. + :param pulumi.Input[str] description: The reason for approval/rejection of the connection. + :param pulumi.Input[Union[str, 'PrivateEndpointServiceConnectionStatus']] status: Indicates whether the connection has been Approved/Rejected/Removed by the owner of the service. + """ + if actions_required is not None: + pulumi.set(__self__, "actions_required", actions_required) + if description is not None: + pulumi.set(__self__, "description", description) + if status is not None: + pulumi.set(__self__, "status", status) + + @property + @pulumi.getter(name="actionsRequired") + def actions_required(self) -> Optional[pulumi.Input[str]]: + """ + A message indicating if changes on the service provider require any updates on the consumer. + """ + return pulumi.get(self, "actions_required") + + @actions_required.setter + def actions_required(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "actions_required", value) + + @property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[str]]: + """ + The reason for approval/rejection of the connection. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "description", value) + + @property + @pulumi.getter + def status(self) -> Optional[pulumi.Input[Union[str, 'PrivateEndpointServiceConnectionStatus']]]: + """ + Indicates whether the connection has been Approved/Rejected/Removed by the owner of the service. + """ + return pulumi.get(self, "status") + + @status.setter + def status(self, value: Optional[pulumi.Input[Union[str, 'PrivateEndpointServiceConnectionStatus']]]): + pulumi.set(self, "status", value) + + +if not MYPY: + class ProcessorArgsDict(TypedDict): + """ + Processor Info. + """ + name: pulumi.Input[str] + """ + The name of processor. + """ + type: pulumi.Input[Union[str, 'ProcessorType']] + """ + The type of processor. + """ + batch: NotRequired[pulumi.Input['BatchProcessorArgsDict']] + """ + Batch processor configurations. + """ +elif False: + ProcessorArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class ProcessorArgs: + def __init__(__self__, *, + name: pulumi.Input[str], + type: pulumi.Input[Union[str, 'ProcessorType']], + batch: Optional[pulumi.Input['BatchProcessorArgs']] = None): + """ + Processor Info. + :param pulumi.Input[str] name: The name of processor. + :param pulumi.Input[Union[str, 'ProcessorType']] type: The type of processor. + :param pulumi.Input['BatchProcessorArgs'] batch: Batch processor configurations. + """ + pulumi.set(__self__, "name", name) + pulumi.set(__self__, "type", type) + if batch is not None: + pulumi.set(__self__, "batch", batch) + + @property + @pulumi.getter + def name(self) -> pulumi.Input[str]: + """ + The name of processor. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: pulumi.Input[str]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter + def type(self) -> pulumi.Input[Union[str, 'ProcessorType']]: + """ + The type of processor. + """ + return pulumi.get(self, "type") + + @type.setter + def type(self, value: pulumi.Input[Union[str, 'ProcessorType']]): + pulumi.set(self, "type", value) + + @property + @pulumi.getter + def batch(self) -> Optional[pulumi.Input['BatchProcessorArgs']]: + """ + Batch processor configurations. + """ + return pulumi.get(self, "batch") + + @batch.setter + def batch(self, value: Optional[pulumi.Input['BatchProcessorArgs']]): + pulumi.set(self, "batch", value) + + +if not MYPY: + class ReceiverArgsDict(TypedDict): + """ + Receiver Info. + """ + name: pulumi.Input[str] + """ + The name of receiver. + """ + type: pulumi.Input[Union[str, 'ReceiverType']] + """ + The type of receiver. + """ + otlp: NotRequired[pulumi.Input['OtlpReceiverArgsDict']] + """ + OTLP receiver configurations. This field is mandatory for OTLP and pipelineGroup receivers. + """ + syslog: NotRequired[pulumi.Input['SyslogReceiverArgsDict']] + """ + Syslog configurations. This field is mandatory for syslog type receivers. + """ + udp: NotRequired[pulumi.Input['UdpReceiverArgsDict']] + """ + UDP receiver configurations. This field is mandatory for UDP receivers. + """ +elif False: + ReceiverArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class ReceiverArgs: + def __init__(__self__, *, + name: pulumi.Input[str], + type: pulumi.Input[Union[str, 'ReceiverType']], + otlp: Optional[pulumi.Input['OtlpReceiverArgs']] = None, + syslog: Optional[pulumi.Input['SyslogReceiverArgs']] = None, + udp: Optional[pulumi.Input['UdpReceiverArgs']] = None): + """ + Receiver Info. + :param pulumi.Input[str] name: The name of receiver. + :param pulumi.Input[Union[str, 'ReceiverType']] type: The type of receiver. + :param pulumi.Input['OtlpReceiverArgs'] otlp: OTLP receiver configurations. This field is mandatory for OTLP and pipelineGroup receivers. + :param pulumi.Input['SyslogReceiverArgs'] syslog: Syslog configurations. This field is mandatory for syslog type receivers. + :param pulumi.Input['UdpReceiverArgs'] udp: UDP receiver configurations. This field is mandatory for UDP receivers. + """ + pulumi.set(__self__, "name", name) + pulumi.set(__self__, "type", type) + if otlp is not None: + pulumi.set(__self__, "otlp", otlp) + if syslog is not None: + pulumi.set(__self__, "syslog", syslog) + if udp is not None: + pulumi.set(__self__, "udp", udp) + + @property + @pulumi.getter + def name(self) -> pulumi.Input[str]: + """ + The name of receiver. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: pulumi.Input[str]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter + def type(self) -> pulumi.Input[Union[str, 'ReceiverType']]: + """ + The type of receiver. + """ + return pulumi.get(self, "type") + + @type.setter + def type(self, value: pulumi.Input[Union[str, 'ReceiverType']]): + pulumi.set(self, "type", value) + + @property + @pulumi.getter + def otlp(self) -> Optional[pulumi.Input['OtlpReceiverArgs']]: + """ + OTLP receiver configurations. This field is mandatory for OTLP and pipelineGroup receivers. + """ + return pulumi.get(self, "otlp") + + @otlp.setter + def otlp(self, value: Optional[pulumi.Input['OtlpReceiverArgs']]): + pulumi.set(self, "otlp", value) + + @property + @pulumi.getter + def syslog(self) -> Optional[pulumi.Input['SyslogReceiverArgs']]: + """ + Syslog configurations. This field is mandatory for syslog type receivers. + """ + return pulumi.get(self, "syslog") + + @syslog.setter + def syslog(self, value: Optional[pulumi.Input['SyslogReceiverArgs']]): + pulumi.set(self, "syslog", value) + + @property + @pulumi.getter + def udp(self) -> Optional[pulumi.Input['UdpReceiverArgs']]: + """ + UDP receiver configurations. This field is mandatory for UDP receivers. + """ + return pulumi.get(self, "udp") + + @udp.setter + def udp(self, value: Optional[pulumi.Input['UdpReceiverArgs']]): + pulumi.set(self, "udp", value) + + +if not MYPY: + class RecordMapArgsDict(TypedDict): + """ + Record map for schema in azure monitor. + """ + from_: pulumi.Input[str] + """ + Record Map Key. + """ + to: pulumi.Input[str] + """ + Record Map Value. + """ +elif False: + RecordMapArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class RecordMapArgs: + def __init__(__self__, *, + from_: pulumi.Input[str], + to: pulumi.Input[str]): + """ + Record map for schema in azure monitor. + :param pulumi.Input[str] from_: Record Map Key. + :param pulumi.Input[str] to: Record Map Value. + """ + pulumi.set(__self__, "from_", from_) + pulumi.set(__self__, "to", to) + + @property + @pulumi.getter(name="from") + def from_(self) -> pulumi.Input[str]: + """ + Record Map Key. + """ + return pulumi.get(self, "from_") + + @from_.setter + def from_(self, value: pulumi.Input[str]): + pulumi.set(self, "from_", value) + + @property + @pulumi.getter + def to(self) -> pulumi.Input[str]: + """ + Record Map Value. + """ + return pulumi.get(self, "to") + + @to.setter + def to(self, value: pulumi.Input[str]): + pulumi.set(self, "to", value) + + +if not MYPY: + class RecurrenceArgsDict(TypedDict): + """ + The repeating times at which this profile begins. This element is not used if the FixedDate element is used. + """ + frequency: pulumi.Input['RecurrenceFrequency'] + """ + the recurrence frequency. How often the schedule profile should take effect. This value must be Week, meaning each week will have the same set of profiles. For example, to set a daily schedule, set **schedule** to every day of the week. The frequency property specifies that the schedule is repeated weekly. + """ + schedule: pulumi.Input['RecurrentScheduleArgsDict'] + """ + the scheduling constraints for when the profile begins. + """ +elif False: + RecurrenceArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class RecurrenceArgs: + def __init__(__self__, *, + frequency: pulumi.Input['RecurrenceFrequency'], + schedule: pulumi.Input['RecurrentScheduleArgs']): + """ + The repeating times at which this profile begins. This element is not used if the FixedDate element is used. + :param pulumi.Input['RecurrenceFrequency'] frequency: the recurrence frequency. How often the schedule profile should take effect. This value must be Week, meaning each week will have the same set of profiles. For example, to set a daily schedule, set **schedule** to every day of the week. The frequency property specifies that the schedule is repeated weekly. + :param pulumi.Input['RecurrentScheduleArgs'] schedule: the scheduling constraints for when the profile begins. + """ + pulumi.set(__self__, "frequency", frequency) + pulumi.set(__self__, "schedule", schedule) + + @property + @pulumi.getter + def frequency(self) -> pulumi.Input['RecurrenceFrequency']: + """ + the recurrence frequency. How often the schedule profile should take effect. This value must be Week, meaning each week will have the same set of profiles. For example, to set a daily schedule, set **schedule** to every day of the week. The frequency property specifies that the schedule is repeated weekly. + """ + return pulumi.get(self, "frequency") + + @frequency.setter + def frequency(self, value: pulumi.Input['RecurrenceFrequency']): + pulumi.set(self, "frequency", value) + + @property + @pulumi.getter + def schedule(self) -> pulumi.Input['RecurrentScheduleArgs']: + """ + the scheduling constraints for when the profile begins. + """ + return pulumi.get(self, "schedule") + + @schedule.setter + def schedule(self, value: pulumi.Input['RecurrentScheduleArgs']): + pulumi.set(self, "schedule", value) + + +if not MYPY: + class RecurrentScheduleArgsDict(TypedDict): + """ + The scheduling constraints for when the profile begins. + """ + days: pulumi.Input[Sequence[pulumi.Input[str]]] + """ + the collection of days that the profile takes effect on. Possible values are Sunday through Saturday. + """ + hours: pulumi.Input[Sequence[pulumi.Input[int]]] + """ + A collection of hours that the profile takes effect on. Values supported are 0 to 23 on the 24-hour clock (AM/PM times are not supported). + """ + minutes: pulumi.Input[Sequence[pulumi.Input[int]]] + """ + A collection of minutes at which the profile takes effect at. + """ + time_zone: pulumi.Input[str] + """ + the timezone for the hours of the profile. Some examples of valid time zones are: Dateline Standard Time, UTC-11, Hawaiian Standard Time, Alaskan Standard Time, Pacific Standard Time (Mexico), Pacific Standard Time, US Mountain Standard Time, Mountain Standard Time (Mexico), Mountain Standard Time, Central America Standard Time, Central Standard Time, Central Standard Time (Mexico), Canada Central Standard Time, SA Pacific Standard Time, Eastern Standard Time, US Eastern Standard Time, Venezuela Standard Time, Paraguay Standard Time, Atlantic Standard Time, Central Brazilian Standard Time, SA Western Standard Time, Pacific SA Standard Time, Newfoundland Standard Time, E. South America Standard Time, Argentina Standard Time, SA Eastern Standard Time, Greenland Standard Time, Montevideo Standard Time, Bahia Standard Time, UTC-02, Mid-Atlantic Standard Time, Azores Standard Time, Cape Verde Standard Time, Morocco Standard Time, UTC, GMT Standard Time, Greenwich Standard Time, W. Europe Standard Time, Central Europe Standard Time, Romance Standard Time, Central European Standard Time, W. Central Africa Standard Time, Namibia Standard Time, Jordan Standard Time, GTB Standard Time, Middle East Standard Time, Egypt Standard Time, Syria Standard Time, E. Europe Standard Time, South Africa Standard Time, FLE Standard Time, Turkey Standard Time, Israel Standard Time, Kaliningrad Standard Time, Libya Standard Time, Arabic Standard Time, Arab Standard Time, Belarus Standard Time, Russian Standard Time, E. Africa Standard Time, Iran Standard Time, Arabian Standard Time, Azerbaijan Standard Time, Russia Time Zone 3, Mauritius Standard Time, Georgian Standard Time, Caucasus Standard Time, Afghanistan Standard Time, West Asia Standard Time, Ekaterinburg Standard Time, Pakistan Standard Time, India Standard Time, Sri Lanka Standard Time, Nepal Standard Time, Central Asia Standard Time, Bangladesh Standard Time, N. Central Asia Standard Time, Myanmar Standard Time, SE Asia Standard Time, North Asia Standard Time, China Standard Time, North Asia East Standard Time, Singapore Standard Time, W. Australia Standard Time, Taipei Standard Time, Ulaanbaatar Standard Time, Tokyo Standard Time, Korea Standard Time, Yakutsk Standard Time, Cen. Australia Standard Time, AUS Central Standard Time, E. Australia Standard Time, AUS Eastern Standard Time, West Pacific Standard Time, Tasmania Standard Time, Magadan Standard Time, Vladivostok Standard Time, Russia Time Zone 10, Central Pacific Standard Time, Russia Time Zone 11, New Zealand Standard Time, UTC+12, Fiji Standard Time, Kamchatka Standard Time, Tonga Standard Time, Samoa Standard Time, Line Islands Standard Time + """ +elif False: + RecurrentScheduleArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class RecurrentScheduleArgs: + def __init__(__self__, *, + days: pulumi.Input[Sequence[pulumi.Input[str]]], + hours: pulumi.Input[Sequence[pulumi.Input[int]]], + minutes: pulumi.Input[Sequence[pulumi.Input[int]]], + time_zone: pulumi.Input[str]): + """ + The scheduling constraints for when the profile begins. + :param pulumi.Input[Sequence[pulumi.Input[str]]] days: the collection of days that the profile takes effect on. Possible values are Sunday through Saturday. + :param pulumi.Input[Sequence[pulumi.Input[int]]] hours: A collection of hours that the profile takes effect on. Values supported are 0 to 23 on the 24-hour clock (AM/PM times are not supported). + :param pulumi.Input[Sequence[pulumi.Input[int]]] minutes: A collection of minutes at which the profile takes effect at. + :param pulumi.Input[str] time_zone: the timezone for the hours of the profile. Some examples of valid time zones are: Dateline Standard Time, UTC-11, Hawaiian Standard Time, Alaskan Standard Time, Pacific Standard Time (Mexico), Pacific Standard Time, US Mountain Standard Time, Mountain Standard Time (Mexico), Mountain Standard Time, Central America Standard Time, Central Standard Time, Central Standard Time (Mexico), Canada Central Standard Time, SA Pacific Standard Time, Eastern Standard Time, US Eastern Standard Time, Venezuela Standard Time, Paraguay Standard Time, Atlantic Standard Time, Central Brazilian Standard Time, SA Western Standard Time, Pacific SA Standard Time, Newfoundland Standard Time, E. South America Standard Time, Argentina Standard Time, SA Eastern Standard Time, Greenland Standard Time, Montevideo Standard Time, Bahia Standard Time, UTC-02, Mid-Atlantic Standard Time, Azores Standard Time, Cape Verde Standard Time, Morocco Standard Time, UTC, GMT Standard Time, Greenwich Standard Time, W. Europe Standard Time, Central Europe Standard Time, Romance Standard Time, Central European Standard Time, W. Central Africa Standard Time, Namibia Standard Time, Jordan Standard Time, GTB Standard Time, Middle East Standard Time, Egypt Standard Time, Syria Standard Time, E. Europe Standard Time, South Africa Standard Time, FLE Standard Time, Turkey Standard Time, Israel Standard Time, Kaliningrad Standard Time, Libya Standard Time, Arabic Standard Time, Arab Standard Time, Belarus Standard Time, Russian Standard Time, E. Africa Standard Time, Iran Standard Time, Arabian Standard Time, Azerbaijan Standard Time, Russia Time Zone 3, Mauritius Standard Time, Georgian Standard Time, Caucasus Standard Time, Afghanistan Standard Time, West Asia Standard Time, Ekaterinburg Standard Time, Pakistan Standard Time, India Standard Time, Sri Lanka Standard Time, Nepal Standard Time, Central Asia Standard Time, Bangladesh Standard Time, N. Central Asia Standard Time, Myanmar Standard Time, SE Asia Standard Time, North Asia Standard Time, China Standard Time, North Asia East Standard Time, Singapore Standard Time, W. Australia Standard Time, Taipei Standard Time, Ulaanbaatar Standard Time, Tokyo Standard Time, Korea Standard Time, Yakutsk Standard Time, Cen. Australia Standard Time, AUS Central Standard Time, E. Australia Standard Time, AUS Eastern Standard Time, West Pacific Standard Time, Tasmania Standard Time, Magadan Standard Time, Vladivostok Standard Time, Russia Time Zone 10, Central Pacific Standard Time, Russia Time Zone 11, New Zealand Standard Time, UTC+12, Fiji Standard Time, Kamchatka Standard Time, Tonga Standard Time, Samoa Standard Time, Line Islands Standard Time + """ + pulumi.set(__self__, "days", days) + pulumi.set(__self__, "hours", hours) + pulumi.set(__self__, "minutes", minutes) + pulumi.set(__self__, "time_zone", time_zone) + + @property + @pulumi.getter + def days(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]: + """ + the collection of days that the profile takes effect on. Possible values are Sunday through Saturday. + """ + return pulumi.get(self, "days") + + @days.setter + def days(self, value: pulumi.Input[Sequence[pulumi.Input[str]]]): + pulumi.set(self, "days", value) + + @property + @pulumi.getter + def hours(self) -> pulumi.Input[Sequence[pulumi.Input[int]]]: + """ + A collection of hours that the profile takes effect on. Values supported are 0 to 23 on the 24-hour clock (AM/PM times are not supported). + """ + return pulumi.get(self, "hours") + + @hours.setter + def hours(self, value: pulumi.Input[Sequence[pulumi.Input[int]]]): + pulumi.set(self, "hours", value) + + @property + @pulumi.getter + def minutes(self) -> pulumi.Input[Sequence[pulumi.Input[int]]]: + """ + A collection of minutes at which the profile takes effect at. + """ + return pulumi.get(self, "minutes") + + @minutes.setter + def minutes(self, value: pulumi.Input[Sequence[pulumi.Input[int]]]): + pulumi.set(self, "minutes", value) + + @property + @pulumi.getter(name="timeZone") + def time_zone(self) -> pulumi.Input[str]: + """ + the timezone for the hours of the profile. Some examples of valid time zones are: Dateline Standard Time, UTC-11, Hawaiian Standard Time, Alaskan Standard Time, Pacific Standard Time (Mexico), Pacific Standard Time, US Mountain Standard Time, Mountain Standard Time (Mexico), Mountain Standard Time, Central America Standard Time, Central Standard Time, Central Standard Time (Mexico), Canada Central Standard Time, SA Pacific Standard Time, Eastern Standard Time, US Eastern Standard Time, Venezuela Standard Time, Paraguay Standard Time, Atlantic Standard Time, Central Brazilian Standard Time, SA Western Standard Time, Pacific SA Standard Time, Newfoundland Standard Time, E. South America Standard Time, Argentina Standard Time, SA Eastern Standard Time, Greenland Standard Time, Montevideo Standard Time, Bahia Standard Time, UTC-02, Mid-Atlantic Standard Time, Azores Standard Time, Cape Verde Standard Time, Morocco Standard Time, UTC, GMT Standard Time, Greenwich Standard Time, W. Europe Standard Time, Central Europe Standard Time, Romance Standard Time, Central European Standard Time, W. Central Africa Standard Time, Namibia Standard Time, Jordan Standard Time, GTB Standard Time, Middle East Standard Time, Egypt Standard Time, Syria Standard Time, E. Europe Standard Time, South Africa Standard Time, FLE Standard Time, Turkey Standard Time, Israel Standard Time, Kaliningrad Standard Time, Libya Standard Time, Arabic Standard Time, Arab Standard Time, Belarus Standard Time, Russian Standard Time, E. Africa Standard Time, Iran Standard Time, Arabian Standard Time, Azerbaijan Standard Time, Russia Time Zone 3, Mauritius Standard Time, Georgian Standard Time, Caucasus Standard Time, Afghanistan Standard Time, West Asia Standard Time, Ekaterinburg Standard Time, Pakistan Standard Time, India Standard Time, Sri Lanka Standard Time, Nepal Standard Time, Central Asia Standard Time, Bangladesh Standard Time, N. Central Asia Standard Time, Myanmar Standard Time, SE Asia Standard Time, North Asia Standard Time, China Standard Time, North Asia East Standard Time, Singapore Standard Time, W. Australia Standard Time, Taipei Standard Time, Ulaanbaatar Standard Time, Tokyo Standard Time, Korea Standard Time, Yakutsk Standard Time, Cen. Australia Standard Time, AUS Central Standard Time, E. Australia Standard Time, AUS Eastern Standard Time, West Pacific Standard Time, Tasmania Standard Time, Magadan Standard Time, Vladivostok Standard Time, Russia Time Zone 10, Central Pacific Standard Time, Russia Time Zone 11, New Zealand Standard Time, UTC+12, Fiji Standard Time, Kamchatka Standard Time, Tonga Standard Time, Samoa Standard Time, Line Islands Standard Time + """ + return pulumi.get(self, "time_zone") + + @time_zone.setter + def time_zone(self, value: pulumi.Input[str]): + pulumi.set(self, "time_zone", value) + + +if not MYPY: + class ResourceMapArgsDict(TypedDict): + """ + Resource map for schema in azure monitor. + """ + from_: pulumi.Input[str] + """ + Resource Map Key. + """ + to: pulumi.Input[str] + """ + Resource Map Value. + """ +elif False: + ResourceMapArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class ResourceMapArgs: + def __init__(__self__, *, + from_: pulumi.Input[str], + to: pulumi.Input[str]): + """ + Resource map for schema in azure monitor. + :param pulumi.Input[str] from_: Resource Map Key. + :param pulumi.Input[str] to: Resource Map Value. + """ + pulumi.set(__self__, "from_", from_) + pulumi.set(__self__, "to", to) + + @property + @pulumi.getter(name="from") + def from_(self) -> pulumi.Input[str]: + """ + Resource Map Key. + """ + return pulumi.get(self, "from_") + + @from_.setter + def from_(self, value: pulumi.Input[str]): + pulumi.set(self, "from_", value) + + @property + @pulumi.getter + def to(self) -> pulumi.Input[str]: + """ + Resource Map Value. + """ + return pulumi.get(self, "to") + + @to.setter + def to(self, value: pulumi.Input[str]): + pulumi.set(self, "to", value) + + +if not MYPY: + class RetentionPolicyArgsDict(TypedDict): + """ + Specifies the retention policy for the log. + """ + days: pulumi.Input[int] + """ + the number of days for the retention in days. A value of 0 will retain the events indefinitely. + """ + enabled: pulumi.Input[bool] + """ + a value indicating whether the retention policy is enabled. + """ +elif False: + RetentionPolicyArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class RetentionPolicyArgs: + def __init__(__self__, *, + days: pulumi.Input[int], + enabled: pulumi.Input[bool]): + """ + Specifies the retention policy for the log. + :param pulumi.Input[int] days: the number of days for the retention in days. A value of 0 will retain the events indefinitely. + :param pulumi.Input[bool] enabled: a value indicating whether the retention policy is enabled. + """ + pulumi.set(__self__, "days", days) + pulumi.set(__self__, "enabled", enabled) + + @property + @pulumi.getter + def days(self) -> pulumi.Input[int]: + """ + the number of days for the retention in days. A value of 0 will retain the events indefinitely. + """ + return pulumi.get(self, "days") + + @days.setter + def days(self, value: pulumi.Input[int]): + pulumi.set(self, "days", value) + + @property + @pulumi.getter + def enabled(self) -> pulumi.Input[bool]: + """ + a value indicating whether the retention policy is enabled. + """ + return pulumi.get(self, "enabled") + + @enabled.setter + def enabled(self, value: pulumi.Input[bool]): + pulumi.set(self, "enabled", value) + + +if not MYPY: + class RuleResolveConfigurationArgsDict(TypedDict): + """ + TBD. Relevant only for rules of the kind LogAlert. + """ + auto_resolved: NotRequired[pulumi.Input[bool]] + """ + The flag that indicates whether or not to auto resolve a fired alert. + """ + time_to_resolve: NotRequired[pulumi.Input[str]] + """ + The duration a rule must evaluate as healthy before the fired alert is automatically resolved represented in ISO 8601 duration format. + """ +elif False: + RuleResolveConfigurationArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class RuleResolveConfigurationArgs: + def __init__(__self__, *, + auto_resolved: Optional[pulumi.Input[bool]] = None, + time_to_resolve: Optional[pulumi.Input[str]] = None): + """ + TBD. Relevant only for rules of the kind LogAlert. + :param pulumi.Input[bool] auto_resolved: The flag that indicates whether or not to auto resolve a fired alert. + :param pulumi.Input[str] time_to_resolve: The duration a rule must evaluate as healthy before the fired alert is automatically resolved represented in ISO 8601 duration format. + """ + if auto_resolved is not None: + pulumi.set(__self__, "auto_resolved", auto_resolved) + if time_to_resolve is not None: + pulumi.set(__self__, "time_to_resolve", time_to_resolve) + + @property + @pulumi.getter(name="autoResolved") + def auto_resolved(self) -> Optional[pulumi.Input[bool]]: + """ + The flag that indicates whether or not to auto resolve a fired alert. + """ + return pulumi.get(self, "auto_resolved") + + @auto_resolved.setter + def auto_resolved(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "auto_resolved", value) + + @property + @pulumi.getter(name="timeToResolve") + def time_to_resolve(self) -> Optional[pulumi.Input[str]]: + """ + The duration a rule must evaluate as healthy before the fired alert is automatically resolved represented in ISO 8601 duration format. + """ + return pulumi.get(self, "time_to_resolve") + + @time_to_resolve.setter + def time_to_resolve(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "time_to_resolve", value) + + +if not MYPY: + class ScaleActionArgsDict(TypedDict): + """ + The parameters for the scaling action. + """ + cooldown: pulumi.Input[str] + """ + the amount of time to wait since the last scaling action before this action occurs. It must be between 1 week and 1 minute in ISO 8601 format. + """ + direction: pulumi.Input['ScaleDirection'] + """ + the scale direction. Whether the scaling action increases or decreases the number of instances. + """ + type: pulumi.Input['ScaleType'] + """ + the type of action that should occur when the scale rule fires. """ - The name of receiver. + value: NotRequired[pulumi.Input[str]] """ - return pulumi.get(self, "name") + the number of instances that are involved in the scaling action. This value must be 1 or greater. The default value is 1. + """ +elif False: + ScaleActionArgsDict: TypeAlias = Mapping[str, Any] - @name.setter - def name(self, value: pulumi.Input[str]): - pulumi.set(self, "name", value) +@pulumi.input_type +class ScaleActionArgs: + def __init__(__self__, *, + cooldown: pulumi.Input[str], + direction: pulumi.Input['ScaleDirection'], + type: pulumi.Input['ScaleType'], + value: Optional[pulumi.Input[str]] = None): + """ + The parameters for the scaling action. + :param pulumi.Input[str] cooldown: the amount of time to wait since the last scaling action before this action occurs. It must be between 1 week and 1 minute in ISO 8601 format. + :param pulumi.Input['ScaleDirection'] direction: the scale direction. Whether the scaling action increases or decreases the number of instances. + :param pulumi.Input['ScaleType'] type: the type of action that should occur when the scale rule fires. + :param pulumi.Input[str] value: the number of instances that are involved in the scaling action. This value must be 1 or greater. The default value is 1. + """ + pulumi.set(__self__, "cooldown", cooldown) + pulumi.set(__self__, "direction", direction) + pulumi.set(__self__, "type", type) + if value is None: + value = '1' + if value is not None: + pulumi.set(__self__, "value", value) @property @pulumi.getter - def type(self) -> pulumi.Input[Union[str, 'ReceiverType']]: + def cooldown(self) -> pulumi.Input[str]: """ - The type of receiver. + the amount of time to wait since the last scaling action before this action occurs. It must be between 1 week and 1 minute in ISO 8601 format. """ - return pulumi.get(self, "type") + return pulumi.get(self, "cooldown") - @type.setter - def type(self, value: pulumi.Input[Union[str, 'ReceiverType']]): - pulumi.set(self, "type", value) + @cooldown.setter + def cooldown(self, value: pulumi.Input[str]): + pulumi.set(self, "cooldown", value) @property @pulumi.getter - def otlp(self) -> Optional[pulumi.Input['OtlpReceiverArgs']]: + def direction(self) -> pulumi.Input['ScaleDirection']: """ - OTLP receiver configurations. This field is mandatory for OTLP and pipelineGroup receivers. + the scale direction. Whether the scaling action increases or decreases the number of instances. """ - return pulumi.get(self, "otlp") + return pulumi.get(self, "direction") - @otlp.setter - def otlp(self, value: Optional[pulumi.Input['OtlpReceiverArgs']]): - pulumi.set(self, "otlp", value) + @direction.setter + def direction(self, value: pulumi.Input['ScaleDirection']): + pulumi.set(self, "direction", value) @property @pulumi.getter - def syslog(self) -> Optional[pulumi.Input['SyslogReceiverArgs']]: + def type(self) -> pulumi.Input['ScaleType']: """ - Syslog configurations. This field is mandatory for syslog type receivers. + the type of action that should occur when the scale rule fires. """ - return pulumi.get(self, "syslog") + return pulumi.get(self, "type") - @syslog.setter - def syslog(self, value: Optional[pulumi.Input['SyslogReceiverArgs']]): - pulumi.set(self, "syslog", value) + @type.setter + def type(self, value: pulumi.Input['ScaleType']): + pulumi.set(self, "type", value) @property @pulumi.getter - def udp(self) -> Optional[pulumi.Input['UdpReceiverArgs']]: + def value(self) -> Optional[pulumi.Input[str]]: """ - UDP receiver configurations. This field is mandatory for UDP receivers. + the number of instances that are involved in the scaling action. This value must be 1 or greater. The default value is 1. """ - return pulumi.get(self, "udp") + return pulumi.get(self, "value") - @udp.setter - def udp(self, value: Optional[pulumi.Input['UdpReceiverArgs']]): - pulumi.set(self, "udp", value) + @value.setter + def value(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "value", value) if not MYPY: - class RecordMapArgsDict(TypedDict): + class ScaleCapacityArgsDict(TypedDict): """ - Record map for schema in azure monitor. + The number of instances that can be used during this profile. """ - from_: pulumi.Input[str] + default: pulumi.Input[str] """ - Record Map Key. + the number of instances that will be set if metrics are not available for evaluation. The default is only used if the current instance count is lower than the default. """ - to: pulumi.Input[str] + maximum: pulumi.Input[str] """ - Record Map Value. + the maximum number of instances for the resource. The actual maximum number of instances is limited by the cores that are available in the subscription. + """ + minimum: pulumi.Input[str] + """ + the minimum number of instances for the resource. """ elif False: - RecordMapArgsDict: TypeAlias = Mapping[str, Any] + ScaleCapacityArgsDict: TypeAlias = Mapping[str, Any] @pulumi.input_type -class RecordMapArgs: +class ScaleCapacityArgs: def __init__(__self__, *, - from_: pulumi.Input[str], - to: pulumi.Input[str]): + default: pulumi.Input[str], + maximum: pulumi.Input[str], + minimum: pulumi.Input[str]): """ - Record map for schema in azure monitor. - :param pulumi.Input[str] from_: Record Map Key. - :param pulumi.Input[str] to: Record Map Value. + The number of instances that can be used during this profile. + :param pulumi.Input[str] default: the number of instances that will be set if metrics are not available for evaluation. The default is only used if the current instance count is lower than the default. + :param pulumi.Input[str] maximum: the maximum number of instances for the resource. The actual maximum number of instances is limited by the cores that are available in the subscription. + :param pulumi.Input[str] minimum: the minimum number of instances for the resource. """ - pulumi.set(__self__, "from_", from_) - pulumi.set(__self__, "to", to) + pulumi.set(__self__, "default", default) + pulumi.set(__self__, "maximum", maximum) + pulumi.set(__self__, "minimum", minimum) @property - @pulumi.getter(name="from") - def from_(self) -> pulumi.Input[str]: + @pulumi.getter + def default(self) -> pulumi.Input[str]: """ - Record Map Key. + the number of instances that will be set if metrics are not available for evaluation. The default is only used if the current instance count is lower than the default. """ - return pulumi.get(self, "from_") + return pulumi.get(self, "default") - @from_.setter - def from_(self, value: pulumi.Input[str]): - pulumi.set(self, "from_", value) + @default.setter + def default(self, value: pulumi.Input[str]): + pulumi.set(self, "default", value) @property @pulumi.getter - def to(self) -> pulumi.Input[str]: + def maximum(self) -> pulumi.Input[str]: """ - Record Map Value. + the maximum number of instances for the resource. The actual maximum number of instances is limited by the cores that are available in the subscription. """ - return pulumi.get(self, "to") + return pulumi.get(self, "maximum") - @to.setter - def to(self, value: pulumi.Input[str]): - pulumi.set(self, "to", value) + @maximum.setter + def maximum(self, value: pulumi.Input[str]): + pulumi.set(self, "maximum", value) + + @property + @pulumi.getter + def minimum(self) -> pulumi.Input[str]: + """ + the minimum number of instances for the resource. + """ + return pulumi.get(self, "minimum") + + @minimum.setter + def minimum(self, value: pulumi.Input[str]): + pulumi.set(self, "minimum", value) if not MYPY: - class ResourceMapArgsDict(TypedDict): + class ScaleRuleMetricDimensionArgsDict(TypedDict): """ - Resource map for schema in azure monitor. + Specifies an auto scale rule metric dimension. """ - from_: pulumi.Input[str] + dimension_name: pulumi.Input[str] """ - Resource Map Key. + Name of the dimension. """ - to: pulumi.Input[str] + operator: pulumi.Input[Union[str, 'ScaleRuleMetricDimensionOperationType']] """ - Resource Map Value. + the dimension operator. Only 'Equals' and 'NotEquals' are supported. 'Equals' being equal to any of the values. 'NotEquals' being not equal to all of the values + """ + values: pulumi.Input[Sequence[pulumi.Input[str]]] + """ + list of dimension values. For example: ["App1","App2"]. """ elif False: - ResourceMapArgsDict: TypeAlias = Mapping[str, Any] + ScaleRuleMetricDimensionArgsDict: TypeAlias = Mapping[str, Any] @pulumi.input_type -class ResourceMapArgs: +class ScaleRuleMetricDimensionArgs: def __init__(__self__, *, - from_: pulumi.Input[str], - to: pulumi.Input[str]): + dimension_name: pulumi.Input[str], + operator: pulumi.Input[Union[str, 'ScaleRuleMetricDimensionOperationType']], + values: pulumi.Input[Sequence[pulumi.Input[str]]]): """ - Resource map for schema in azure monitor. - :param pulumi.Input[str] from_: Resource Map Key. - :param pulumi.Input[str] to: Resource Map Value. + Specifies an auto scale rule metric dimension. + :param pulumi.Input[str] dimension_name: Name of the dimension. + :param pulumi.Input[Union[str, 'ScaleRuleMetricDimensionOperationType']] operator: the dimension operator. Only 'Equals' and 'NotEquals' are supported. 'Equals' being equal to any of the values. 'NotEquals' being not equal to all of the values + :param pulumi.Input[Sequence[pulumi.Input[str]]] values: list of dimension values. For example: ["App1","App2"]. """ - pulumi.set(__self__, "from_", from_) - pulumi.set(__self__, "to", to) + pulumi.set(__self__, "dimension_name", dimension_name) + pulumi.set(__self__, "operator", operator) + pulumi.set(__self__, "values", values) @property - @pulumi.getter(name="from") - def from_(self) -> pulumi.Input[str]: + @pulumi.getter(name="dimensionName") + def dimension_name(self) -> pulumi.Input[str]: """ - Resource Map Key. + Name of the dimension. """ - return pulumi.get(self, "from_") + return pulumi.get(self, "dimension_name") - @from_.setter - def from_(self, value: pulumi.Input[str]): - pulumi.set(self, "from_", value) + @dimension_name.setter + def dimension_name(self, value: pulumi.Input[str]): + pulumi.set(self, "dimension_name", value) @property @pulumi.getter - def to(self) -> pulumi.Input[str]: + def operator(self) -> pulumi.Input[Union[str, 'ScaleRuleMetricDimensionOperationType']]: """ - Resource Map Value. + the dimension operator. Only 'Equals' and 'NotEquals' are supported. 'Equals' being equal to any of the values. 'NotEquals' being not equal to all of the values """ - return pulumi.get(self, "to") + return pulumi.get(self, "operator") - @to.setter - def to(self, value: pulumi.Input[str]): - pulumi.set(self, "to", value) + @operator.setter + def operator(self, value: pulumi.Input[Union[str, 'ScaleRuleMetricDimensionOperationType']]): + pulumi.set(self, "operator", value) + + @property + @pulumi.getter + def values(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]: + """ + list of dimension values. For example: ["App1","App2"]. + """ + return pulumi.get(self, "values") + + @values.setter + def values(self, value: pulumi.Input[Sequence[pulumi.Input[str]]]): + pulumi.set(self, "values", value) if not MYPY: - class RuleResolveConfigurationArgsDict(TypedDict): + class ScaleRuleArgsDict(TypedDict): """ - TBD. Relevant only for rules of the kind LogAlert. + A rule that provide the triggers and parameters for the scaling action. """ - auto_resolved: NotRequired[pulumi.Input[bool]] + metric_trigger: pulumi.Input['MetricTriggerArgsDict'] """ - The flag that indicates whether or not to auto resolve a fired alert. + the trigger that results in a scaling action. """ - time_to_resolve: NotRequired[pulumi.Input[str]] + scale_action: pulumi.Input['ScaleActionArgsDict'] """ - The duration a rule must evaluate as healthy before the fired alert is automatically resolved represented in ISO 8601 duration format. + the parameters for the scaling action. """ elif False: - RuleResolveConfigurationArgsDict: TypeAlias = Mapping[str, Any] + ScaleRuleArgsDict: TypeAlias = Mapping[str, Any] @pulumi.input_type -class RuleResolveConfigurationArgs: +class ScaleRuleArgs: def __init__(__self__, *, - auto_resolved: Optional[pulumi.Input[bool]] = None, - time_to_resolve: Optional[pulumi.Input[str]] = None): + metric_trigger: pulumi.Input['MetricTriggerArgs'], + scale_action: pulumi.Input['ScaleActionArgs']): """ - TBD. Relevant only for rules of the kind LogAlert. - :param pulumi.Input[bool] auto_resolved: The flag that indicates whether or not to auto resolve a fired alert. - :param pulumi.Input[str] time_to_resolve: The duration a rule must evaluate as healthy before the fired alert is automatically resolved represented in ISO 8601 duration format. + A rule that provide the triggers and parameters for the scaling action. + :param pulumi.Input['MetricTriggerArgs'] metric_trigger: the trigger that results in a scaling action. + :param pulumi.Input['ScaleActionArgs'] scale_action: the parameters for the scaling action. """ - if auto_resolved is not None: - pulumi.set(__self__, "auto_resolved", auto_resolved) - if time_to_resolve is not None: - pulumi.set(__self__, "time_to_resolve", time_to_resolve) + pulumi.set(__self__, "metric_trigger", metric_trigger) + pulumi.set(__self__, "scale_action", scale_action) @property - @pulumi.getter(name="autoResolved") - def auto_resolved(self) -> Optional[pulumi.Input[bool]]: + @pulumi.getter(name="metricTrigger") + def metric_trigger(self) -> pulumi.Input['MetricTriggerArgs']: """ - The flag that indicates whether or not to auto resolve a fired alert. + the trigger that results in a scaling action. """ - return pulumi.get(self, "auto_resolved") + return pulumi.get(self, "metric_trigger") - @auto_resolved.setter - def auto_resolved(self, value: Optional[pulumi.Input[bool]]): - pulumi.set(self, "auto_resolved", value) + @metric_trigger.setter + def metric_trigger(self, value: pulumi.Input['MetricTriggerArgs']): + pulumi.set(self, "metric_trigger", value) @property - @pulumi.getter(name="timeToResolve") - def time_to_resolve(self) -> Optional[pulumi.Input[str]]: + @pulumi.getter(name="scaleAction") + def scale_action(self) -> pulumi.Input['ScaleActionArgs']: """ - The duration a rule must evaluate as healthy before the fired alert is automatically resolved represented in ISO 8601 duration format. + the parameters for the scaling action. """ - return pulumi.get(self, "time_to_resolve") + return pulumi.get(self, "scale_action") - @time_to_resolve.setter - def time_to_resolve(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "time_to_resolve", value) + @scale_action.setter + def scale_action(self, value: pulumi.Input['ScaleActionArgs']): + pulumi.set(self, "scale_action", value) if not MYPY: @@ -3749,6 +5116,81 @@ def phone_number(self, value: pulumi.Input[str]): pulumi.set(self, "phone_number", value) +if not MYPY: + class SubscriptionLogSettingsArgsDict(TypedDict): + """ + Part of Subscription diagnostic setting. Specifies the settings for a particular log. + """ + enabled: pulumi.Input[bool] + """ + a value indicating whether this log is enabled. + """ + category: NotRequired[pulumi.Input[str]] + """ + Name of a Subscription Diagnostic Log category for a resource type this setting is applied to. + """ + category_group: NotRequired[pulumi.Input[str]] + """ + Name of a Subscription Diagnostic Log category group for a resource type this setting is applied to. + """ +elif False: + SubscriptionLogSettingsArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class SubscriptionLogSettingsArgs: + def __init__(__self__, *, + enabled: pulumi.Input[bool], + category: Optional[pulumi.Input[str]] = None, + category_group: Optional[pulumi.Input[str]] = None): + """ + Part of Subscription diagnostic setting. Specifies the settings for a particular log. + :param pulumi.Input[bool] enabled: a value indicating whether this log is enabled. + :param pulumi.Input[str] category: Name of a Subscription Diagnostic Log category for a resource type this setting is applied to. + :param pulumi.Input[str] category_group: Name of a Subscription Diagnostic Log category group for a resource type this setting is applied to. + """ + pulumi.set(__self__, "enabled", enabled) + if category is not None: + pulumi.set(__self__, "category", category) + if category_group is not None: + pulumi.set(__self__, "category_group", category_group) + + @property + @pulumi.getter + def enabled(self) -> pulumi.Input[bool]: + """ + a value indicating whether this log is enabled. + """ + return pulumi.get(self, "enabled") + + @enabled.setter + def enabled(self, value: pulumi.Input[bool]): + pulumi.set(self, "enabled", value) + + @property + @pulumi.getter + def category(self) -> Optional[pulumi.Input[str]]: + """ + Name of a Subscription Diagnostic Log category for a resource type this setting is applied to. + """ + return pulumi.get(self, "category") + + @category.setter + def category(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "category", value) + + @property + @pulumi.getter(name="categoryGroup") + def category_group(self) -> Optional[pulumi.Input[str]]: + """ + Name of a Subscription Diagnostic Log category group for a resource type this setting is applied to. + """ + return pulumi.get(self, "category_group") + + @category_group.setter + def category_group(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "category_group", value) + + if not MYPY: class SyslogReceiverArgsDict(TypedDict): """ @@ -3841,6 +5283,80 @@ def url(self, value: pulumi.Input[str]): pulumi.set(self, "url", value) +if not MYPY: + class TimeWindowArgsDict(TypedDict): + """ + A specific date-time for the profile. + """ + end: pulumi.Input[str] + """ + the end time for the profile in ISO 8601 format. + """ + start: pulumi.Input[str] + """ + the start time for the profile in ISO 8601 format. + """ + time_zone: NotRequired[pulumi.Input[str]] + """ + the timezone of the start and end times for the profile. Some examples of valid time zones are: Dateline Standard Time, UTC-11, Hawaiian Standard Time, Alaskan Standard Time, Pacific Standard Time (Mexico), Pacific Standard Time, US Mountain Standard Time, Mountain Standard Time (Mexico), Mountain Standard Time, Central America Standard Time, Central Standard Time, Central Standard Time (Mexico), Canada Central Standard Time, SA Pacific Standard Time, Eastern Standard Time, US Eastern Standard Time, Venezuela Standard Time, Paraguay Standard Time, Atlantic Standard Time, Central Brazilian Standard Time, SA Western Standard Time, Pacific SA Standard Time, Newfoundland Standard Time, E. South America Standard Time, Argentina Standard Time, SA Eastern Standard Time, Greenland Standard Time, Montevideo Standard Time, Bahia Standard Time, UTC-02, Mid-Atlantic Standard Time, Azores Standard Time, Cape Verde Standard Time, Morocco Standard Time, UTC, GMT Standard Time, Greenwich Standard Time, W. Europe Standard Time, Central Europe Standard Time, Romance Standard Time, Central European Standard Time, W. Central Africa Standard Time, Namibia Standard Time, Jordan Standard Time, GTB Standard Time, Middle East Standard Time, Egypt Standard Time, Syria Standard Time, E. Europe Standard Time, South Africa Standard Time, FLE Standard Time, Turkey Standard Time, Israel Standard Time, Kaliningrad Standard Time, Libya Standard Time, Arabic Standard Time, Arab Standard Time, Belarus Standard Time, Russian Standard Time, E. Africa Standard Time, Iran Standard Time, Arabian Standard Time, Azerbaijan Standard Time, Russia Time Zone 3, Mauritius Standard Time, Georgian Standard Time, Caucasus Standard Time, Afghanistan Standard Time, West Asia Standard Time, Ekaterinburg Standard Time, Pakistan Standard Time, India Standard Time, Sri Lanka Standard Time, Nepal Standard Time, Central Asia Standard Time, Bangladesh Standard Time, N. Central Asia Standard Time, Myanmar Standard Time, SE Asia Standard Time, North Asia Standard Time, China Standard Time, North Asia East Standard Time, Singapore Standard Time, W. Australia Standard Time, Taipei Standard Time, Ulaanbaatar Standard Time, Tokyo Standard Time, Korea Standard Time, Yakutsk Standard Time, Cen. Australia Standard Time, AUS Central Standard Time, E. Australia Standard Time, AUS Eastern Standard Time, West Pacific Standard Time, Tasmania Standard Time, Magadan Standard Time, Vladivostok Standard Time, Russia Time Zone 10, Central Pacific Standard Time, Russia Time Zone 11, New Zealand Standard Time, UTC+12, Fiji Standard Time, Kamchatka Standard Time, Tonga Standard Time, Samoa Standard Time, Line Islands Standard Time + """ +elif False: + TimeWindowArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class TimeWindowArgs: + def __init__(__self__, *, + end: pulumi.Input[str], + start: pulumi.Input[str], + time_zone: Optional[pulumi.Input[str]] = None): + """ + A specific date-time for the profile. + :param pulumi.Input[str] end: the end time for the profile in ISO 8601 format. + :param pulumi.Input[str] start: the start time for the profile in ISO 8601 format. + :param pulumi.Input[str] time_zone: the timezone of the start and end times for the profile. Some examples of valid time zones are: Dateline Standard Time, UTC-11, Hawaiian Standard Time, Alaskan Standard Time, Pacific Standard Time (Mexico), Pacific Standard Time, US Mountain Standard Time, Mountain Standard Time (Mexico), Mountain Standard Time, Central America Standard Time, Central Standard Time, Central Standard Time (Mexico), Canada Central Standard Time, SA Pacific Standard Time, Eastern Standard Time, US Eastern Standard Time, Venezuela Standard Time, Paraguay Standard Time, Atlantic Standard Time, Central Brazilian Standard Time, SA Western Standard Time, Pacific SA Standard Time, Newfoundland Standard Time, E. South America Standard Time, Argentina Standard Time, SA Eastern Standard Time, Greenland Standard Time, Montevideo Standard Time, Bahia Standard Time, UTC-02, Mid-Atlantic Standard Time, Azores Standard Time, Cape Verde Standard Time, Morocco Standard Time, UTC, GMT Standard Time, Greenwich Standard Time, W. Europe Standard Time, Central Europe Standard Time, Romance Standard Time, Central European Standard Time, W. Central Africa Standard Time, Namibia Standard Time, Jordan Standard Time, GTB Standard Time, Middle East Standard Time, Egypt Standard Time, Syria Standard Time, E. Europe Standard Time, South Africa Standard Time, FLE Standard Time, Turkey Standard Time, Israel Standard Time, Kaliningrad Standard Time, Libya Standard Time, Arabic Standard Time, Arab Standard Time, Belarus Standard Time, Russian Standard Time, E. Africa Standard Time, Iran Standard Time, Arabian Standard Time, Azerbaijan Standard Time, Russia Time Zone 3, Mauritius Standard Time, Georgian Standard Time, Caucasus Standard Time, Afghanistan Standard Time, West Asia Standard Time, Ekaterinburg Standard Time, Pakistan Standard Time, India Standard Time, Sri Lanka Standard Time, Nepal Standard Time, Central Asia Standard Time, Bangladesh Standard Time, N. Central Asia Standard Time, Myanmar Standard Time, SE Asia Standard Time, North Asia Standard Time, China Standard Time, North Asia East Standard Time, Singapore Standard Time, W. Australia Standard Time, Taipei Standard Time, Ulaanbaatar Standard Time, Tokyo Standard Time, Korea Standard Time, Yakutsk Standard Time, Cen. Australia Standard Time, AUS Central Standard Time, E. Australia Standard Time, AUS Eastern Standard Time, West Pacific Standard Time, Tasmania Standard Time, Magadan Standard Time, Vladivostok Standard Time, Russia Time Zone 10, Central Pacific Standard Time, Russia Time Zone 11, New Zealand Standard Time, UTC+12, Fiji Standard Time, Kamchatka Standard Time, Tonga Standard Time, Samoa Standard Time, Line Islands Standard Time + """ + pulumi.set(__self__, "end", end) + pulumi.set(__self__, "start", start) + if time_zone is not None: + pulumi.set(__self__, "time_zone", time_zone) + + @property + @pulumi.getter + def end(self) -> pulumi.Input[str]: + """ + the end time for the profile in ISO 8601 format. + """ + return pulumi.get(self, "end") + + @end.setter + def end(self, value: pulumi.Input[str]): + pulumi.set(self, "end", value) + + @property + @pulumi.getter + def start(self) -> pulumi.Input[str]: + """ + the start time for the profile in ISO 8601 format. + """ + return pulumi.get(self, "start") + + @start.setter + def start(self, value: pulumi.Input[str]): + pulumi.set(self, "start", value) + + @property + @pulumi.getter(name="timeZone") + def time_zone(self) -> Optional[pulumi.Input[str]]: + """ + the timezone of the start and end times for the profile. Some examples of valid time zones are: Dateline Standard Time, UTC-11, Hawaiian Standard Time, Alaskan Standard Time, Pacific Standard Time (Mexico), Pacific Standard Time, US Mountain Standard Time, Mountain Standard Time (Mexico), Mountain Standard Time, Central America Standard Time, Central Standard Time, Central Standard Time (Mexico), Canada Central Standard Time, SA Pacific Standard Time, Eastern Standard Time, US Eastern Standard Time, Venezuela Standard Time, Paraguay Standard Time, Atlantic Standard Time, Central Brazilian Standard Time, SA Western Standard Time, Pacific SA Standard Time, Newfoundland Standard Time, E. South America Standard Time, Argentina Standard Time, SA Eastern Standard Time, Greenland Standard Time, Montevideo Standard Time, Bahia Standard Time, UTC-02, Mid-Atlantic Standard Time, Azores Standard Time, Cape Verde Standard Time, Morocco Standard Time, UTC, GMT Standard Time, Greenwich Standard Time, W. Europe Standard Time, Central Europe Standard Time, Romance Standard Time, Central European Standard Time, W. Central Africa Standard Time, Namibia Standard Time, Jordan Standard Time, GTB Standard Time, Middle East Standard Time, Egypt Standard Time, Syria Standard Time, E. Europe Standard Time, South Africa Standard Time, FLE Standard Time, Turkey Standard Time, Israel Standard Time, Kaliningrad Standard Time, Libya Standard Time, Arabic Standard Time, Arab Standard Time, Belarus Standard Time, Russian Standard Time, E. Africa Standard Time, Iran Standard Time, Arabian Standard Time, Azerbaijan Standard Time, Russia Time Zone 3, Mauritius Standard Time, Georgian Standard Time, Caucasus Standard Time, Afghanistan Standard Time, West Asia Standard Time, Ekaterinburg Standard Time, Pakistan Standard Time, India Standard Time, Sri Lanka Standard Time, Nepal Standard Time, Central Asia Standard Time, Bangladesh Standard Time, N. Central Asia Standard Time, Myanmar Standard Time, SE Asia Standard Time, North Asia Standard Time, China Standard Time, North Asia East Standard Time, Singapore Standard Time, W. Australia Standard Time, Taipei Standard Time, Ulaanbaatar Standard Time, Tokyo Standard Time, Korea Standard Time, Yakutsk Standard Time, Cen. Australia Standard Time, AUS Central Standard Time, E. Australia Standard Time, AUS Eastern Standard Time, West Pacific Standard Time, Tasmania Standard Time, Magadan Standard Time, Vladivostok Standard Time, Russia Time Zone 10, Central Pacific Standard Time, Russia Time Zone 11, New Zealand Standard Time, UTC+12, Fiji Standard Time, Kamchatka Standard Time, Tonga Standard Time, Samoa Standard Time, Line Islands Standard Time + """ + return pulumi.get(self, "time_zone") + + @time_zone.setter + def time_zone(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "time_zone", value) + + if not MYPY: class UdpReceiverArgsDict(TypedDict): """ @@ -4013,6 +5529,62 @@ def phone_number(self, value: pulumi.Input[str]): pulumi.set(self, "phone_number", value) +if not MYPY: + class WebhookNotificationArgsDict(TypedDict): + """ + Webhook notification of an autoscale event. + """ + properties: NotRequired[pulumi.Input[Mapping[str, pulumi.Input[str]]]] + """ + a property bag of settings. This value can be empty. + """ + service_uri: NotRequired[pulumi.Input[str]] + """ + the service address to receive the notification. + """ +elif False: + WebhookNotificationArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class WebhookNotificationArgs: + def __init__(__self__, *, + properties: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + service_uri: Optional[pulumi.Input[str]] = None): + """ + Webhook notification of an autoscale event. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] properties: a property bag of settings. This value can be empty. + :param pulumi.Input[str] service_uri: the service address to receive the notification. + """ + if properties is not None: + pulumi.set(__self__, "properties", properties) + if service_uri is not None: + pulumi.set(__self__, "service_uri", service_uri) + + @property + @pulumi.getter + def properties(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + """ + a property bag of settings. This value can be empty. + """ + return pulumi.get(self, "properties") + + @properties.setter + def properties(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "properties", value) + + @property + @pulumi.getter(name="serviceUri") + def service_uri(self) -> Optional[pulumi.Input[str]]: + """ + the service address to receive the notification. + """ + return pulumi.get(self, "service_uri") + + @service_uri.setter + def service_uri(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "service_uri", value) + + if not MYPY: class WebhookReceiverArgsDict(TypedDict): """ diff --git a/sdk/python/pulumi_azure_native/monitor/autoscale_setting.py b/sdk/python/pulumi_azure_native/monitor/autoscale_setting.py new file mode 100644 index 000000000000..171823963ef1 --- /dev/null +++ b/sdk/python/pulumi_azure_native/monitor/autoscale_setting.py @@ -0,0 +1,397 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi-language-python. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import sys +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias +from .. import _utilities +from . import outputs +from ._enums import * +from ._inputs import * + +__all__ = ['AutoscaleSettingArgs', 'AutoscaleSetting'] + +@pulumi.input_type +class AutoscaleSettingArgs: + def __init__(__self__, *, + profiles: pulumi.Input[Sequence[pulumi.Input['AutoscaleProfileArgs']]], + resource_group_name: pulumi.Input[str], + autoscale_setting_name: Optional[pulumi.Input[str]] = None, + enabled: Optional[pulumi.Input[bool]] = None, + location: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + notifications: Optional[pulumi.Input[Sequence[pulumi.Input['AutoscaleNotificationArgs']]]] = None, + predictive_autoscale_policy: Optional[pulumi.Input['PredictiveAutoscalePolicyArgs']] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + target_resource_location: Optional[pulumi.Input[str]] = None, + target_resource_uri: Optional[pulumi.Input[str]] = None): + """ + The set of arguments for constructing a AutoscaleSetting resource. + :param pulumi.Input[Sequence[pulumi.Input['AutoscaleProfileArgs']]] profiles: the collection of automatic scaling profiles that specify different scaling parameters for different time periods. A maximum of 20 profiles can be specified. + :param pulumi.Input[str] resource_group_name: The name of the resource group. The name is case insensitive. + :param pulumi.Input[str] autoscale_setting_name: The autoscale setting name. + :param pulumi.Input[bool] enabled: the enabled flag. Specifies whether automatic scaling is enabled for the resource. The default value is 'false'. + :param pulumi.Input[str] location: Resource location + :param pulumi.Input[str] name: the name of the autoscale setting. + :param pulumi.Input[Sequence[pulumi.Input['AutoscaleNotificationArgs']]] notifications: the collection of notifications. + :param pulumi.Input['PredictiveAutoscalePolicyArgs'] predictive_autoscale_policy: the predictive autoscale policy mode. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Gets or sets a list of key value pairs that describe the resource. These tags can be used in viewing and grouping this resource (across resource groups). A maximum of 15 tags can be provided for a resource. Each tag must have a key no greater in length than 128 characters and a value no greater in length than 256 characters. + :param pulumi.Input[str] target_resource_location: the location of the resource that the autoscale setting should be added to. + :param pulumi.Input[str] target_resource_uri: the resource identifier of the resource that the autoscale setting should be added to. + """ + pulumi.set(__self__, "profiles", profiles) + pulumi.set(__self__, "resource_group_name", resource_group_name) + if autoscale_setting_name is not None: + pulumi.set(__self__, "autoscale_setting_name", autoscale_setting_name) + if enabled is None: + enabled = False + if enabled is not None: + pulumi.set(__self__, "enabled", enabled) + if location is not None: + pulumi.set(__self__, "location", location) + if name is not None: + pulumi.set(__self__, "name", name) + if notifications is not None: + pulumi.set(__self__, "notifications", notifications) + if predictive_autoscale_policy is not None: + pulumi.set(__self__, "predictive_autoscale_policy", predictive_autoscale_policy) + if tags is not None: + pulumi.set(__self__, "tags", tags) + if target_resource_location is not None: + pulumi.set(__self__, "target_resource_location", target_resource_location) + if target_resource_uri is not None: + pulumi.set(__self__, "target_resource_uri", target_resource_uri) + + @property + @pulumi.getter + def profiles(self) -> pulumi.Input[Sequence[pulumi.Input['AutoscaleProfileArgs']]]: + """ + the collection of automatic scaling profiles that specify different scaling parameters for different time periods. A maximum of 20 profiles can be specified. + """ + return pulumi.get(self, "profiles") + + @profiles.setter + def profiles(self, value: pulumi.Input[Sequence[pulumi.Input['AutoscaleProfileArgs']]]): + pulumi.set(self, "profiles", value) + + @property + @pulumi.getter(name="resourceGroupName") + def resource_group_name(self) -> pulumi.Input[str]: + """ + The name of the resource group. The name is case insensitive. + """ + return pulumi.get(self, "resource_group_name") + + @resource_group_name.setter + def resource_group_name(self, value: pulumi.Input[str]): + pulumi.set(self, "resource_group_name", value) + + @property + @pulumi.getter(name="autoscaleSettingName") + def autoscale_setting_name(self) -> Optional[pulumi.Input[str]]: + """ + The autoscale setting name. + """ + return pulumi.get(self, "autoscale_setting_name") + + @autoscale_setting_name.setter + def autoscale_setting_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "autoscale_setting_name", value) + + @property + @pulumi.getter + def enabled(self) -> Optional[pulumi.Input[bool]]: + """ + the enabled flag. Specifies whether automatic scaling is enabled for the resource. The default value is 'false'. + """ + return pulumi.get(self, "enabled") + + @enabled.setter + def enabled(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "enabled", value) + + @property + @pulumi.getter + def location(self) -> Optional[pulumi.Input[str]]: + """ + Resource location + """ + return pulumi.get(self, "location") + + @location.setter + def location(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "location", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + the name of the autoscale setting. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter + def notifications(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['AutoscaleNotificationArgs']]]]: + """ + the collection of notifications. + """ + return pulumi.get(self, "notifications") + + @notifications.setter + def notifications(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['AutoscaleNotificationArgs']]]]): + pulumi.set(self, "notifications", value) + + @property + @pulumi.getter(name="predictiveAutoscalePolicy") + def predictive_autoscale_policy(self) -> Optional[pulumi.Input['PredictiveAutoscalePolicyArgs']]: + """ + the predictive autoscale policy mode. + """ + return pulumi.get(self, "predictive_autoscale_policy") + + @predictive_autoscale_policy.setter + def predictive_autoscale_policy(self, value: Optional[pulumi.Input['PredictiveAutoscalePolicyArgs']]): + pulumi.set(self, "predictive_autoscale_policy", value) + + @property + @pulumi.getter + def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + """ + Gets or sets a list of key value pairs that describe the resource. These tags can be used in viewing and grouping this resource (across resource groups). A maximum of 15 tags can be provided for a resource. Each tag must have a key no greater in length than 128 characters and a value no greater in length than 256 characters. + """ + return pulumi.get(self, "tags") + + @tags.setter + def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "tags", value) + + @property + @pulumi.getter(name="targetResourceLocation") + def target_resource_location(self) -> Optional[pulumi.Input[str]]: + """ + the location of the resource that the autoscale setting should be added to. + """ + return pulumi.get(self, "target_resource_location") + + @target_resource_location.setter + def target_resource_location(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "target_resource_location", value) + + @property + @pulumi.getter(name="targetResourceUri") + def target_resource_uri(self) -> Optional[pulumi.Input[str]]: + """ + the resource identifier of the resource that the autoscale setting should be added to. + """ + return pulumi.get(self, "target_resource_uri") + + @target_resource_uri.setter + def target_resource_uri(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "target_resource_uri", value) + + +class AutoscaleSetting(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + autoscale_setting_name: Optional[pulumi.Input[str]] = None, + enabled: Optional[pulumi.Input[bool]] = None, + location: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + notifications: Optional[pulumi.Input[Sequence[pulumi.Input[Union['AutoscaleNotificationArgs', 'AutoscaleNotificationArgsDict']]]]] = None, + predictive_autoscale_policy: Optional[pulumi.Input[Union['PredictiveAutoscalePolicyArgs', 'PredictiveAutoscalePolicyArgsDict']]] = None, + profiles: Optional[pulumi.Input[Sequence[pulumi.Input[Union['AutoscaleProfileArgs', 'AutoscaleProfileArgsDict']]]]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + target_resource_location: Optional[pulumi.Input[str]] = None, + target_resource_uri: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + The autoscale setting resource. + + Uses Azure REST API version 2021-05-01-preview. + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] autoscale_setting_name: The autoscale setting name. + :param pulumi.Input[bool] enabled: the enabled flag. Specifies whether automatic scaling is enabled for the resource. The default value is 'false'. + :param pulumi.Input[str] location: Resource location + :param pulumi.Input[str] name: the name of the autoscale setting. + :param pulumi.Input[Sequence[pulumi.Input[Union['AutoscaleNotificationArgs', 'AutoscaleNotificationArgsDict']]]] notifications: the collection of notifications. + :param pulumi.Input[Union['PredictiveAutoscalePolicyArgs', 'PredictiveAutoscalePolicyArgsDict']] predictive_autoscale_policy: the predictive autoscale policy mode. + :param pulumi.Input[Sequence[pulumi.Input[Union['AutoscaleProfileArgs', 'AutoscaleProfileArgsDict']]]] profiles: the collection of automatic scaling profiles that specify different scaling parameters for different time periods. A maximum of 20 profiles can be specified. + :param pulumi.Input[str] resource_group_name: The name of the resource group. The name is case insensitive. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Gets or sets a list of key value pairs that describe the resource. These tags can be used in viewing and grouping this resource (across resource groups). A maximum of 15 tags can be provided for a resource. Each tag must have a key no greater in length than 128 characters and a value no greater in length than 256 characters. + :param pulumi.Input[str] target_resource_location: the location of the resource that the autoscale setting should be added to. + :param pulumi.Input[str] target_resource_uri: the resource identifier of the resource that the autoscale setting should be added to. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: AutoscaleSettingArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + The autoscale setting resource. + + Uses Azure REST API version 2021-05-01-preview. + + :param str resource_name: The name of the resource. + :param AutoscaleSettingArgs args: The arguments to use to populate this resource's properties. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + ... + def __init__(__self__, resource_name: str, *args, **kwargs): + resource_args, opts = _utilities.get_resource_args_opts(AutoscaleSettingArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + autoscale_setting_name: Optional[pulumi.Input[str]] = None, + enabled: Optional[pulumi.Input[bool]] = None, + location: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + notifications: Optional[pulumi.Input[Sequence[pulumi.Input[Union['AutoscaleNotificationArgs', 'AutoscaleNotificationArgsDict']]]]] = None, + predictive_autoscale_policy: Optional[pulumi.Input[Union['PredictiveAutoscalePolicyArgs', 'PredictiveAutoscalePolicyArgsDict']]] = None, + profiles: Optional[pulumi.Input[Sequence[pulumi.Input[Union['AutoscaleProfileArgs', 'AutoscaleProfileArgsDict']]]]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + target_resource_location: Optional[pulumi.Input[str]] = None, + target_resource_uri: Optional[pulumi.Input[str]] = None, + __props__=None): + opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) + if not isinstance(opts, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + if opts.id is None: + if __props__ is not None: + raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') + __props__ = AutoscaleSettingArgs.__new__(AutoscaleSettingArgs) + + __props__.__dict__["autoscale_setting_name"] = autoscale_setting_name + if enabled is None: + enabled = False + __props__.__dict__["enabled"] = enabled + __props__.__dict__["location"] = location + __props__.__dict__["name"] = name + __props__.__dict__["notifications"] = notifications + __props__.__dict__["predictive_autoscale_policy"] = predictive_autoscale_policy + if profiles is None and not opts.urn: + raise TypeError("Missing required property 'profiles'") + __props__.__dict__["profiles"] = profiles + if resource_group_name is None and not opts.urn: + raise TypeError("Missing required property 'resource_group_name'") + __props__.__dict__["resource_group_name"] = resource_group_name + __props__.__dict__["tags"] = tags + __props__.__dict__["target_resource_location"] = target_resource_location + __props__.__dict__["target_resource_uri"] = target_resource_uri + __props__.__dict__["azure_api_version"] = None + __props__.__dict__["properties"] = None + __props__.__dict__["system_data"] = None + __props__.__dict__["type"] = None + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:insights/v20221001:AutoscaleSetting"), pulumi.Alias(type_="azure-native:insights:AutoscaleSetting"), pulumi.Alias(type_="azure-native:monitor/v20140401:AutoscaleSetting"), pulumi.Alias(type_="azure-native:monitor/v20150401:AutoscaleSetting"), pulumi.Alias(type_="azure-native:monitor/v20210501preview:AutoscaleSetting"), pulumi.Alias(type_="azure-native:monitor/v20221001:AutoscaleSetting")]) + opts = pulumi.ResourceOptions.merge(opts, alias_opts) + super(AutoscaleSetting, __self__).__init__( + 'azure-native:monitor:AutoscaleSetting', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None) -> 'AutoscaleSetting': + """ + Get an existing AutoscaleSetting resource's state with the given name, id, and optional extra + properties used to qualify the lookup. + + :param str resource_name: The unique name of the resulting resource. + :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = AutoscaleSettingArgs.__new__(AutoscaleSettingArgs) + + __props__.__dict__["azure_api_version"] = None + __props__.__dict__["location"] = None + __props__.__dict__["name"] = None + __props__.__dict__["properties"] = None + __props__.__dict__["system_data"] = None + __props__.__dict__["tags"] = None + __props__.__dict__["type"] = None + return AutoscaleSetting(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="azureApiVersion") + def azure_api_version(self) -> pulumi.Output[str]: + """ + The Azure API version of the resource. + """ + return pulumi.get(self, "azure_api_version") + + @property + @pulumi.getter + def location(self) -> pulumi.Output[str]: + """ + Resource location + """ + return pulumi.get(self, "location") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + Azure resource name + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def properties(self) -> pulumi.Output['outputs.AutoscaleSettingResponse']: + """ + The autoscale setting of the resource. + """ + return pulumi.get(self, "properties") + + @property + @pulumi.getter(name="systemData") + def system_data(self) -> pulumi.Output['outputs.SystemDataResponse']: + """ + The system metadata related to the response. + """ + return pulumi.get(self, "system_data") + + @property + @pulumi.getter + def tags(self) -> pulumi.Output[Optional[Mapping[str, str]]]: + """ + Gets or sets a list of key value pairs that describe the resource. These tags can be used in viewing and grouping this resource (across resource groups). A maximum of 15 tags can be provided for a resource. Each tag must have a key no greater in length than 128 characters and a value no greater in length than 256 characters. + """ + return pulumi.get(self, "tags") + + @property + @pulumi.getter + def type(self) -> pulumi.Output[str]: + """ + Azure resource type + """ + return pulumi.get(self, "type") + diff --git a/sdk/python/pulumi_azure_native/monitor/diagnostic_setting.py b/sdk/python/pulumi_azure_native/monitor/diagnostic_setting.py new file mode 100644 index 000000000000..efddb237b58f --- /dev/null +++ b/sdk/python/pulumi_azure_native/monitor/diagnostic_setting.py @@ -0,0 +1,444 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi-language-python. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import sys +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias +from .. import _utilities +from . import outputs +from ._inputs import * + +__all__ = ['DiagnosticSettingArgs', 'DiagnosticSetting'] + +@pulumi.input_type +class DiagnosticSettingArgs: + def __init__(__self__, *, + resource_uri: pulumi.Input[str], + event_hub_authorization_rule_id: Optional[pulumi.Input[str]] = None, + event_hub_name: Optional[pulumi.Input[str]] = None, + log_analytics_destination_type: Optional[pulumi.Input[str]] = None, + logs: Optional[pulumi.Input[Sequence[pulumi.Input['LogSettingsArgs']]]] = None, + marketplace_partner_id: Optional[pulumi.Input[str]] = None, + metrics: Optional[pulumi.Input[Sequence[pulumi.Input['MetricSettingsArgs']]]] = None, + name: Optional[pulumi.Input[str]] = None, + service_bus_rule_id: Optional[pulumi.Input[str]] = None, + storage_account_id: Optional[pulumi.Input[str]] = None, + workspace_id: Optional[pulumi.Input[str]] = None): + """ + The set of arguments for constructing a DiagnosticSetting resource. + :param pulumi.Input[str] resource_uri: The identifier of the resource. + :param pulumi.Input[str] event_hub_authorization_rule_id: The resource Id for the event hub authorization rule. + :param pulumi.Input[str] event_hub_name: The name of the event hub. If none is specified, the default event hub will be selected. + :param pulumi.Input[str] log_analytics_destination_type: A string indicating whether the export to Log Analytics should use the default destination type, i.e. AzureDiagnostics, or use a destination type constructed as follows: _. Possible values are: Dedicated and null (null is default.) + :param pulumi.Input[Sequence[pulumi.Input['LogSettingsArgs']]] logs: The list of logs settings. + :param pulumi.Input[str] marketplace_partner_id: The full ARM resource ID of the Marketplace resource to which you would like to send Diagnostic Logs. + :param pulumi.Input[Sequence[pulumi.Input['MetricSettingsArgs']]] metrics: The list of metric settings. + :param pulumi.Input[str] name: The name of the diagnostic setting. + :param pulumi.Input[str] service_bus_rule_id: The service bus rule Id of the diagnostic setting. This is here to maintain backwards compatibility. + :param pulumi.Input[str] storage_account_id: The resource ID of the storage account to which you would like to send Diagnostic Logs. + :param pulumi.Input[str] workspace_id: The full ARM resource ID of the Log Analytics workspace to which you would like to send Diagnostic Logs. Example: /subscriptions/4b9e8510-67ab-4e9a-95a9-e2f1e570ea9c/resourceGroups/insights-integration/providers/Microsoft.OperationalInsights/workspaces/viruela2 + """ + pulumi.set(__self__, "resource_uri", resource_uri) + if event_hub_authorization_rule_id is not None: + pulumi.set(__self__, "event_hub_authorization_rule_id", event_hub_authorization_rule_id) + if event_hub_name is not None: + pulumi.set(__self__, "event_hub_name", event_hub_name) + if log_analytics_destination_type is not None: + pulumi.set(__self__, "log_analytics_destination_type", log_analytics_destination_type) + if logs is not None: + pulumi.set(__self__, "logs", logs) + if marketplace_partner_id is not None: + pulumi.set(__self__, "marketplace_partner_id", marketplace_partner_id) + if metrics is not None: + pulumi.set(__self__, "metrics", metrics) + if name is not None: + pulumi.set(__self__, "name", name) + if service_bus_rule_id is not None: + pulumi.set(__self__, "service_bus_rule_id", service_bus_rule_id) + if storage_account_id is not None: + pulumi.set(__self__, "storage_account_id", storage_account_id) + if workspace_id is not None: + pulumi.set(__self__, "workspace_id", workspace_id) + + @property + @pulumi.getter(name="resourceUri") + def resource_uri(self) -> pulumi.Input[str]: + """ + The identifier of the resource. + """ + return pulumi.get(self, "resource_uri") + + @resource_uri.setter + def resource_uri(self, value: pulumi.Input[str]): + pulumi.set(self, "resource_uri", value) + + @property + @pulumi.getter(name="eventHubAuthorizationRuleId") + def event_hub_authorization_rule_id(self) -> Optional[pulumi.Input[str]]: + """ + The resource Id for the event hub authorization rule. + """ + return pulumi.get(self, "event_hub_authorization_rule_id") + + @event_hub_authorization_rule_id.setter + def event_hub_authorization_rule_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "event_hub_authorization_rule_id", value) + + @property + @pulumi.getter(name="eventHubName") + def event_hub_name(self) -> Optional[pulumi.Input[str]]: + """ + The name of the event hub. If none is specified, the default event hub will be selected. + """ + return pulumi.get(self, "event_hub_name") + + @event_hub_name.setter + def event_hub_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "event_hub_name", value) + + @property + @pulumi.getter(name="logAnalyticsDestinationType") + def log_analytics_destination_type(self) -> Optional[pulumi.Input[str]]: + """ + A string indicating whether the export to Log Analytics should use the default destination type, i.e. AzureDiagnostics, or use a destination type constructed as follows: _. Possible values are: Dedicated and null (null is default.) + """ + return pulumi.get(self, "log_analytics_destination_type") + + @log_analytics_destination_type.setter + def log_analytics_destination_type(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "log_analytics_destination_type", value) + + @property + @pulumi.getter + def logs(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['LogSettingsArgs']]]]: + """ + The list of logs settings. + """ + return pulumi.get(self, "logs") + + @logs.setter + def logs(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['LogSettingsArgs']]]]): + pulumi.set(self, "logs", value) + + @property + @pulumi.getter(name="marketplacePartnerId") + def marketplace_partner_id(self) -> Optional[pulumi.Input[str]]: + """ + The full ARM resource ID of the Marketplace resource to which you would like to send Diagnostic Logs. + """ + return pulumi.get(self, "marketplace_partner_id") + + @marketplace_partner_id.setter + def marketplace_partner_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "marketplace_partner_id", value) + + @property + @pulumi.getter + def metrics(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['MetricSettingsArgs']]]]: + """ + The list of metric settings. + """ + return pulumi.get(self, "metrics") + + @metrics.setter + def metrics(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['MetricSettingsArgs']]]]): + pulumi.set(self, "metrics", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + The name of the diagnostic setting. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter(name="serviceBusRuleId") + def service_bus_rule_id(self) -> Optional[pulumi.Input[str]]: + """ + The service bus rule Id of the diagnostic setting. This is here to maintain backwards compatibility. + """ + return pulumi.get(self, "service_bus_rule_id") + + @service_bus_rule_id.setter + def service_bus_rule_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "service_bus_rule_id", value) + + @property + @pulumi.getter(name="storageAccountId") + def storage_account_id(self) -> Optional[pulumi.Input[str]]: + """ + The resource ID of the storage account to which you would like to send Diagnostic Logs. + """ + return pulumi.get(self, "storage_account_id") + + @storage_account_id.setter + def storage_account_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "storage_account_id", value) + + @property + @pulumi.getter(name="workspaceId") + def workspace_id(self) -> Optional[pulumi.Input[str]]: + """ + The full ARM resource ID of the Log Analytics workspace to which you would like to send Diagnostic Logs. Example: /subscriptions/4b9e8510-67ab-4e9a-95a9-e2f1e570ea9c/resourceGroups/insights-integration/providers/Microsoft.OperationalInsights/workspaces/viruela2 + """ + return pulumi.get(self, "workspace_id") + + @workspace_id.setter + def workspace_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "workspace_id", value) + + +class DiagnosticSetting(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + event_hub_authorization_rule_id: Optional[pulumi.Input[str]] = None, + event_hub_name: Optional[pulumi.Input[str]] = None, + log_analytics_destination_type: Optional[pulumi.Input[str]] = None, + logs: Optional[pulumi.Input[Sequence[pulumi.Input[Union['LogSettingsArgs', 'LogSettingsArgsDict']]]]] = None, + marketplace_partner_id: Optional[pulumi.Input[str]] = None, + metrics: Optional[pulumi.Input[Sequence[pulumi.Input[Union['MetricSettingsArgs', 'MetricSettingsArgsDict']]]]] = None, + name: Optional[pulumi.Input[str]] = None, + resource_uri: Optional[pulumi.Input[str]] = None, + service_bus_rule_id: Optional[pulumi.Input[str]] = None, + storage_account_id: Optional[pulumi.Input[str]] = None, + workspace_id: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + The diagnostic setting resource. + + Uses Azure REST API version 2021-05-01-preview. + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] event_hub_authorization_rule_id: The resource Id for the event hub authorization rule. + :param pulumi.Input[str] event_hub_name: The name of the event hub. If none is specified, the default event hub will be selected. + :param pulumi.Input[str] log_analytics_destination_type: A string indicating whether the export to Log Analytics should use the default destination type, i.e. AzureDiagnostics, or use a destination type constructed as follows: _. Possible values are: Dedicated and null (null is default.) + :param pulumi.Input[Sequence[pulumi.Input[Union['LogSettingsArgs', 'LogSettingsArgsDict']]]] logs: The list of logs settings. + :param pulumi.Input[str] marketplace_partner_id: The full ARM resource ID of the Marketplace resource to which you would like to send Diagnostic Logs. + :param pulumi.Input[Sequence[pulumi.Input[Union['MetricSettingsArgs', 'MetricSettingsArgsDict']]]] metrics: The list of metric settings. + :param pulumi.Input[str] name: The name of the diagnostic setting. + :param pulumi.Input[str] resource_uri: The identifier of the resource. + :param pulumi.Input[str] service_bus_rule_id: The service bus rule Id of the diagnostic setting. This is here to maintain backwards compatibility. + :param pulumi.Input[str] storage_account_id: The resource ID of the storage account to which you would like to send Diagnostic Logs. + :param pulumi.Input[str] workspace_id: The full ARM resource ID of the Log Analytics workspace to which you would like to send Diagnostic Logs. Example: /subscriptions/4b9e8510-67ab-4e9a-95a9-e2f1e570ea9c/resourceGroups/insights-integration/providers/Microsoft.OperationalInsights/workspaces/viruela2 + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: DiagnosticSettingArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + The diagnostic setting resource. + + Uses Azure REST API version 2021-05-01-preview. + + :param str resource_name: The name of the resource. + :param DiagnosticSettingArgs args: The arguments to use to populate this resource's properties. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + ... + def __init__(__self__, resource_name: str, *args, **kwargs): + resource_args, opts = _utilities.get_resource_args_opts(DiagnosticSettingArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + event_hub_authorization_rule_id: Optional[pulumi.Input[str]] = None, + event_hub_name: Optional[pulumi.Input[str]] = None, + log_analytics_destination_type: Optional[pulumi.Input[str]] = None, + logs: Optional[pulumi.Input[Sequence[pulumi.Input[Union['LogSettingsArgs', 'LogSettingsArgsDict']]]]] = None, + marketplace_partner_id: Optional[pulumi.Input[str]] = None, + metrics: Optional[pulumi.Input[Sequence[pulumi.Input[Union['MetricSettingsArgs', 'MetricSettingsArgsDict']]]]] = None, + name: Optional[pulumi.Input[str]] = None, + resource_uri: Optional[pulumi.Input[str]] = None, + service_bus_rule_id: Optional[pulumi.Input[str]] = None, + storage_account_id: Optional[pulumi.Input[str]] = None, + workspace_id: Optional[pulumi.Input[str]] = None, + __props__=None): + opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) + if not isinstance(opts, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + if opts.id is None: + if __props__ is not None: + raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') + __props__ = DiagnosticSettingArgs.__new__(DiagnosticSettingArgs) + + __props__.__dict__["event_hub_authorization_rule_id"] = event_hub_authorization_rule_id + __props__.__dict__["event_hub_name"] = event_hub_name + __props__.__dict__["log_analytics_destination_type"] = log_analytics_destination_type + __props__.__dict__["logs"] = logs + __props__.__dict__["marketplace_partner_id"] = marketplace_partner_id + __props__.__dict__["metrics"] = metrics + __props__.__dict__["name"] = name + if resource_uri is None and not opts.urn: + raise TypeError("Missing required property 'resource_uri'") + __props__.__dict__["resource_uri"] = resource_uri + __props__.__dict__["service_bus_rule_id"] = service_bus_rule_id + __props__.__dict__["storage_account_id"] = storage_account_id + __props__.__dict__["workspace_id"] = workspace_id + __props__.__dict__["azure_api_version"] = None + __props__.__dict__["system_data"] = None + __props__.__dict__["type"] = None + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:insights/v20210501preview:DiagnosticSetting"), pulumi.Alias(type_="azure-native:insights:DiagnosticSetting"), pulumi.Alias(type_="azure-native:monitor/v20170501preview:DiagnosticSetting"), pulumi.Alias(type_="azure-native:monitor/v20210501preview:DiagnosticSetting")]) + opts = pulumi.ResourceOptions.merge(opts, alias_opts) + super(DiagnosticSetting, __self__).__init__( + 'azure-native:monitor:DiagnosticSetting', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None) -> 'DiagnosticSetting': + """ + Get an existing DiagnosticSetting resource's state with the given name, id, and optional extra + properties used to qualify the lookup. + + :param str resource_name: The unique name of the resulting resource. + :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = DiagnosticSettingArgs.__new__(DiagnosticSettingArgs) + + __props__.__dict__["azure_api_version"] = None + __props__.__dict__["event_hub_authorization_rule_id"] = None + __props__.__dict__["event_hub_name"] = None + __props__.__dict__["log_analytics_destination_type"] = None + __props__.__dict__["logs"] = None + __props__.__dict__["marketplace_partner_id"] = None + __props__.__dict__["metrics"] = None + __props__.__dict__["name"] = None + __props__.__dict__["service_bus_rule_id"] = None + __props__.__dict__["storage_account_id"] = None + __props__.__dict__["system_data"] = None + __props__.__dict__["type"] = None + __props__.__dict__["workspace_id"] = None + return DiagnosticSetting(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="azureApiVersion") + def azure_api_version(self) -> pulumi.Output[str]: + """ + The Azure API version of the resource. + """ + return pulumi.get(self, "azure_api_version") + + @property + @pulumi.getter(name="eventHubAuthorizationRuleId") + def event_hub_authorization_rule_id(self) -> pulumi.Output[Optional[str]]: + """ + The resource Id for the event hub authorization rule. + """ + return pulumi.get(self, "event_hub_authorization_rule_id") + + @property + @pulumi.getter(name="eventHubName") + def event_hub_name(self) -> pulumi.Output[Optional[str]]: + """ + The name of the event hub. If none is specified, the default event hub will be selected. + """ + return pulumi.get(self, "event_hub_name") + + @property + @pulumi.getter(name="logAnalyticsDestinationType") + def log_analytics_destination_type(self) -> pulumi.Output[Optional[str]]: + """ + A string indicating whether the export to Log Analytics should use the default destination type, i.e. AzureDiagnostics, or use a destination type constructed as follows: _. Possible values are: Dedicated and null (null is default.) + """ + return pulumi.get(self, "log_analytics_destination_type") + + @property + @pulumi.getter + def logs(self) -> pulumi.Output[Optional[Sequence['outputs.LogSettingsResponse']]]: + """ + The list of logs settings. + """ + return pulumi.get(self, "logs") + + @property + @pulumi.getter(name="marketplacePartnerId") + def marketplace_partner_id(self) -> pulumi.Output[Optional[str]]: + """ + The full ARM resource ID of the Marketplace resource to which you would like to send Diagnostic Logs. + """ + return pulumi.get(self, "marketplace_partner_id") + + @property + @pulumi.getter + def metrics(self) -> pulumi.Output[Optional[Sequence['outputs.MetricSettingsResponse']]]: + """ + The list of metric settings. + """ + return pulumi.get(self, "metrics") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + The name of the resource + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="serviceBusRuleId") + def service_bus_rule_id(self) -> pulumi.Output[Optional[str]]: + """ + The service bus rule Id of the diagnostic setting. This is here to maintain backwards compatibility. + """ + return pulumi.get(self, "service_bus_rule_id") + + @property + @pulumi.getter(name="storageAccountId") + def storage_account_id(self) -> pulumi.Output[Optional[str]]: + """ + The resource ID of the storage account to which you would like to send Diagnostic Logs. + """ + return pulumi.get(self, "storage_account_id") + + @property + @pulumi.getter(name="systemData") + def system_data(self) -> pulumi.Output['outputs.SystemDataResponse']: + """ + The system metadata related to this resource. + """ + return pulumi.get(self, "system_data") + + @property + @pulumi.getter + def type(self) -> pulumi.Output[str]: + """ + The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + """ + return pulumi.get(self, "type") + + @property + @pulumi.getter(name="workspaceId") + def workspace_id(self) -> pulumi.Output[Optional[str]]: + """ + The full ARM resource ID of the Log Analytics workspace to which you would like to send Diagnostic Logs. Example: /subscriptions/4b9e8510-67ab-4e9a-95a9-e2f1e570ea9c/resourceGroups/insights-integration/providers/Microsoft.OperationalInsights/workspaces/viruela2 + """ + return pulumi.get(self, "workspace_id") + diff --git a/sdk/python/pulumi_azure_native/monitor/get_autoscale_setting.py b/sdk/python/pulumi_azure_native/monitor/get_autoscale_setting.py new file mode 100644 index 000000000000..89534a8719b7 --- /dev/null +++ b/sdk/python/pulumi_azure_native/monitor/get_autoscale_setting.py @@ -0,0 +1,189 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi-language-python. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import sys +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias +from .. import _utilities +from . import outputs + +__all__ = [ + 'GetAutoscaleSettingResult', + 'AwaitableGetAutoscaleSettingResult', + 'get_autoscale_setting', + 'get_autoscale_setting_output', +] + +@pulumi.output_type +class GetAutoscaleSettingResult: + """ + The autoscale setting resource. + """ + def __init__(__self__, azure_api_version=None, id=None, location=None, name=None, properties=None, system_data=None, tags=None, type=None): + if azure_api_version and not isinstance(azure_api_version, str): + raise TypeError("Expected argument 'azure_api_version' to be a str") + pulumi.set(__self__, "azure_api_version", azure_api_version) + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if location and not isinstance(location, str): + raise TypeError("Expected argument 'location' to be a str") + pulumi.set(__self__, "location", location) + if name and not isinstance(name, str): + raise TypeError("Expected argument 'name' to be a str") + pulumi.set(__self__, "name", name) + if properties and not isinstance(properties, dict): + raise TypeError("Expected argument 'properties' to be a dict") + pulumi.set(__self__, "properties", properties) + if system_data and not isinstance(system_data, dict): + raise TypeError("Expected argument 'system_data' to be a dict") + pulumi.set(__self__, "system_data", system_data) + if tags and not isinstance(tags, dict): + raise TypeError("Expected argument 'tags' to be a dict") + pulumi.set(__self__, "tags", tags) + if type and not isinstance(type, str): + raise TypeError("Expected argument 'type' to be a str") + pulumi.set(__self__, "type", type) + + @property + @pulumi.getter(name="azureApiVersion") + def azure_api_version(self) -> str: + """ + The Azure API version of the resource. + """ + return pulumi.get(self, "azure_api_version") + + @property + @pulumi.getter + def id(self) -> str: + """ + Azure resource Id + """ + return pulumi.get(self, "id") + + @property + @pulumi.getter + def location(self) -> str: + """ + Resource location + """ + return pulumi.get(self, "location") + + @property + @pulumi.getter + def name(self) -> str: + """ + Azure resource name + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def properties(self) -> 'outputs.AutoscaleSettingResponse': + """ + The autoscale setting of the resource. + """ + return pulumi.get(self, "properties") + + @property + @pulumi.getter(name="systemData") + def system_data(self) -> 'outputs.SystemDataResponse': + """ + The system metadata related to the response. + """ + return pulumi.get(self, "system_data") + + @property + @pulumi.getter + def tags(self) -> Optional[Mapping[str, str]]: + """ + Gets or sets a list of key value pairs that describe the resource. These tags can be used in viewing and grouping this resource (across resource groups). A maximum of 15 tags can be provided for a resource. Each tag must have a key no greater in length than 128 characters and a value no greater in length than 256 characters. + """ + return pulumi.get(self, "tags") + + @property + @pulumi.getter + def type(self) -> str: + """ + Azure resource type + """ + return pulumi.get(self, "type") + + +class AwaitableGetAutoscaleSettingResult(GetAutoscaleSettingResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetAutoscaleSettingResult( + azure_api_version=self.azure_api_version, + id=self.id, + location=self.location, + name=self.name, + properties=self.properties, + system_data=self.system_data, + tags=self.tags, + type=self.type) + + +def get_autoscale_setting(autoscale_setting_name: Optional[str] = None, + resource_group_name: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetAutoscaleSettingResult: + """ + Gets an autoscale setting + + Uses Azure REST API version 2021-05-01-preview. + + + :param str autoscale_setting_name: The autoscale setting name. + :param str resource_group_name: The name of the resource group. The name is case insensitive. + """ + __args__ = dict() + __args__['autoscaleSettingName'] = autoscale_setting_name + __args__['resourceGroupName'] = resource_group_name + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('azure-native:monitor:getAutoscaleSetting', __args__, opts=opts, typ=GetAutoscaleSettingResult).value + + return AwaitableGetAutoscaleSettingResult( + azure_api_version=pulumi.get(__ret__, 'azure_api_version'), + id=pulumi.get(__ret__, 'id'), + location=pulumi.get(__ret__, 'location'), + name=pulumi.get(__ret__, 'name'), + properties=pulumi.get(__ret__, 'properties'), + system_data=pulumi.get(__ret__, 'system_data'), + tags=pulumi.get(__ret__, 'tags'), + type=pulumi.get(__ret__, 'type')) +def get_autoscale_setting_output(autoscale_setting_name: Optional[pulumi.Input[str]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetAutoscaleSettingResult]: + """ + Gets an autoscale setting + + Uses Azure REST API version 2021-05-01-preview. + + + :param str autoscale_setting_name: The autoscale setting name. + :param str resource_group_name: The name of the resource group. The name is case insensitive. + """ + __args__ = dict() + __args__['autoscaleSettingName'] = autoscale_setting_name + __args__['resourceGroupName'] = resource_group_name + opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('azure-native:monitor:getAutoscaleSetting', __args__, opts=opts, typ=GetAutoscaleSettingResult) + return __ret__.apply(lambda __response__: GetAutoscaleSettingResult( + azure_api_version=pulumi.get(__response__, 'azure_api_version'), + id=pulumi.get(__response__, 'id'), + location=pulumi.get(__response__, 'location'), + name=pulumi.get(__response__, 'name'), + properties=pulumi.get(__response__, 'properties'), + system_data=pulumi.get(__response__, 'system_data'), + tags=pulumi.get(__response__, 'tags'), + type=pulumi.get(__response__, 'type'))) diff --git a/sdk/python/pulumi_azure_native/monitor/get_diagnostic_setting.py b/sdk/python/pulumi_azure_native/monitor/get_diagnostic_setting.py new file mode 100644 index 000000000000..9091ca9d7908 --- /dev/null +++ b/sdk/python/pulumi_azure_native/monitor/get_diagnostic_setting.py @@ -0,0 +1,273 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi-language-python. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import sys +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias +from .. import _utilities +from . import outputs + +__all__ = [ + 'GetDiagnosticSettingResult', + 'AwaitableGetDiagnosticSettingResult', + 'get_diagnostic_setting', + 'get_diagnostic_setting_output', +] + +@pulumi.output_type +class GetDiagnosticSettingResult: + """ + The diagnostic setting resource. + """ + def __init__(__self__, azure_api_version=None, event_hub_authorization_rule_id=None, event_hub_name=None, id=None, log_analytics_destination_type=None, logs=None, marketplace_partner_id=None, metrics=None, name=None, service_bus_rule_id=None, storage_account_id=None, system_data=None, type=None, workspace_id=None): + if azure_api_version and not isinstance(azure_api_version, str): + raise TypeError("Expected argument 'azure_api_version' to be a str") + pulumi.set(__self__, "azure_api_version", azure_api_version) + if event_hub_authorization_rule_id and not isinstance(event_hub_authorization_rule_id, str): + raise TypeError("Expected argument 'event_hub_authorization_rule_id' to be a str") + pulumi.set(__self__, "event_hub_authorization_rule_id", event_hub_authorization_rule_id) + if event_hub_name and not isinstance(event_hub_name, str): + raise TypeError("Expected argument 'event_hub_name' to be a str") + pulumi.set(__self__, "event_hub_name", event_hub_name) + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if log_analytics_destination_type and not isinstance(log_analytics_destination_type, str): + raise TypeError("Expected argument 'log_analytics_destination_type' to be a str") + pulumi.set(__self__, "log_analytics_destination_type", log_analytics_destination_type) + if logs and not isinstance(logs, list): + raise TypeError("Expected argument 'logs' to be a list") + pulumi.set(__self__, "logs", logs) + if marketplace_partner_id and not isinstance(marketplace_partner_id, str): + raise TypeError("Expected argument 'marketplace_partner_id' to be a str") + pulumi.set(__self__, "marketplace_partner_id", marketplace_partner_id) + if metrics and not isinstance(metrics, list): + raise TypeError("Expected argument 'metrics' to be a list") + pulumi.set(__self__, "metrics", metrics) + if name and not isinstance(name, str): + raise TypeError("Expected argument 'name' to be a str") + pulumi.set(__self__, "name", name) + if service_bus_rule_id and not isinstance(service_bus_rule_id, str): + raise TypeError("Expected argument 'service_bus_rule_id' to be a str") + pulumi.set(__self__, "service_bus_rule_id", service_bus_rule_id) + if storage_account_id and not isinstance(storage_account_id, str): + raise TypeError("Expected argument 'storage_account_id' to be a str") + pulumi.set(__self__, "storage_account_id", storage_account_id) + if system_data and not isinstance(system_data, dict): + raise TypeError("Expected argument 'system_data' to be a dict") + pulumi.set(__self__, "system_data", system_data) + if type and not isinstance(type, str): + raise TypeError("Expected argument 'type' to be a str") + pulumi.set(__self__, "type", type) + if workspace_id and not isinstance(workspace_id, str): + raise TypeError("Expected argument 'workspace_id' to be a str") + pulumi.set(__self__, "workspace_id", workspace_id) + + @property + @pulumi.getter(name="azureApiVersion") + def azure_api_version(self) -> str: + """ + The Azure API version of the resource. + """ + return pulumi.get(self, "azure_api_version") + + @property + @pulumi.getter(name="eventHubAuthorizationRuleId") + def event_hub_authorization_rule_id(self) -> Optional[str]: + """ + The resource Id for the event hub authorization rule. + """ + return pulumi.get(self, "event_hub_authorization_rule_id") + + @property + @pulumi.getter(name="eventHubName") + def event_hub_name(self) -> Optional[str]: + """ + The name of the event hub. If none is specified, the default event hub will be selected. + """ + return pulumi.get(self, "event_hub_name") + + @property + @pulumi.getter + def id(self) -> str: + """ + Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + """ + return pulumi.get(self, "id") + + @property + @pulumi.getter(name="logAnalyticsDestinationType") + def log_analytics_destination_type(self) -> Optional[str]: + """ + A string indicating whether the export to Log Analytics should use the default destination type, i.e. AzureDiagnostics, or use a destination type constructed as follows: _. Possible values are: Dedicated and null (null is default.) + """ + return pulumi.get(self, "log_analytics_destination_type") + + @property + @pulumi.getter + def logs(self) -> Optional[Sequence['outputs.LogSettingsResponse']]: + """ + The list of logs settings. + """ + return pulumi.get(self, "logs") + + @property + @pulumi.getter(name="marketplacePartnerId") + def marketplace_partner_id(self) -> Optional[str]: + """ + The full ARM resource ID of the Marketplace resource to which you would like to send Diagnostic Logs. + """ + return pulumi.get(self, "marketplace_partner_id") + + @property + @pulumi.getter + def metrics(self) -> Optional[Sequence['outputs.MetricSettingsResponse']]: + """ + The list of metric settings. + """ + return pulumi.get(self, "metrics") + + @property + @pulumi.getter + def name(self) -> str: + """ + The name of the resource + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="serviceBusRuleId") + def service_bus_rule_id(self) -> Optional[str]: + """ + The service bus rule Id of the diagnostic setting. This is here to maintain backwards compatibility. + """ + return pulumi.get(self, "service_bus_rule_id") + + @property + @pulumi.getter(name="storageAccountId") + def storage_account_id(self) -> Optional[str]: + """ + The resource ID of the storage account to which you would like to send Diagnostic Logs. + """ + return pulumi.get(self, "storage_account_id") + + @property + @pulumi.getter(name="systemData") + def system_data(self) -> 'outputs.SystemDataResponse': + """ + The system metadata related to this resource. + """ + return pulumi.get(self, "system_data") + + @property + @pulumi.getter + def type(self) -> str: + """ + The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + """ + return pulumi.get(self, "type") + + @property + @pulumi.getter(name="workspaceId") + def workspace_id(self) -> Optional[str]: + """ + The full ARM resource ID of the Log Analytics workspace to which you would like to send Diagnostic Logs. Example: /subscriptions/4b9e8510-67ab-4e9a-95a9-e2f1e570ea9c/resourceGroups/insights-integration/providers/Microsoft.OperationalInsights/workspaces/viruela2 + """ + return pulumi.get(self, "workspace_id") + + +class AwaitableGetDiagnosticSettingResult(GetDiagnosticSettingResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetDiagnosticSettingResult( + azure_api_version=self.azure_api_version, + event_hub_authorization_rule_id=self.event_hub_authorization_rule_id, + event_hub_name=self.event_hub_name, + id=self.id, + log_analytics_destination_type=self.log_analytics_destination_type, + logs=self.logs, + marketplace_partner_id=self.marketplace_partner_id, + metrics=self.metrics, + name=self.name, + service_bus_rule_id=self.service_bus_rule_id, + storage_account_id=self.storage_account_id, + system_data=self.system_data, + type=self.type, + workspace_id=self.workspace_id) + + +def get_diagnostic_setting(name: Optional[str] = None, + resource_uri: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetDiagnosticSettingResult: + """ + Gets the active diagnostic settings for the specified resource. + + Uses Azure REST API version 2021-05-01-preview. + + + :param str name: The name of the diagnostic setting. + :param str resource_uri: The identifier of the resource. + """ + __args__ = dict() + __args__['name'] = name + __args__['resourceUri'] = resource_uri + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('azure-native:monitor:getDiagnosticSetting', __args__, opts=opts, typ=GetDiagnosticSettingResult).value + + return AwaitableGetDiagnosticSettingResult( + azure_api_version=pulumi.get(__ret__, 'azure_api_version'), + event_hub_authorization_rule_id=pulumi.get(__ret__, 'event_hub_authorization_rule_id'), + event_hub_name=pulumi.get(__ret__, 'event_hub_name'), + id=pulumi.get(__ret__, 'id'), + log_analytics_destination_type=pulumi.get(__ret__, 'log_analytics_destination_type'), + logs=pulumi.get(__ret__, 'logs'), + marketplace_partner_id=pulumi.get(__ret__, 'marketplace_partner_id'), + metrics=pulumi.get(__ret__, 'metrics'), + name=pulumi.get(__ret__, 'name'), + service_bus_rule_id=pulumi.get(__ret__, 'service_bus_rule_id'), + storage_account_id=pulumi.get(__ret__, 'storage_account_id'), + system_data=pulumi.get(__ret__, 'system_data'), + type=pulumi.get(__ret__, 'type'), + workspace_id=pulumi.get(__ret__, 'workspace_id')) +def get_diagnostic_setting_output(name: Optional[pulumi.Input[str]] = None, + resource_uri: Optional[pulumi.Input[str]] = None, + opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetDiagnosticSettingResult]: + """ + Gets the active diagnostic settings for the specified resource. + + Uses Azure REST API version 2021-05-01-preview. + + + :param str name: The name of the diagnostic setting. + :param str resource_uri: The identifier of the resource. + """ + __args__ = dict() + __args__['name'] = name + __args__['resourceUri'] = resource_uri + opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('azure-native:monitor:getDiagnosticSetting', __args__, opts=opts, typ=GetDiagnosticSettingResult) + return __ret__.apply(lambda __response__: GetDiagnosticSettingResult( + azure_api_version=pulumi.get(__response__, 'azure_api_version'), + event_hub_authorization_rule_id=pulumi.get(__response__, 'event_hub_authorization_rule_id'), + event_hub_name=pulumi.get(__response__, 'event_hub_name'), + id=pulumi.get(__response__, 'id'), + log_analytics_destination_type=pulumi.get(__response__, 'log_analytics_destination_type'), + logs=pulumi.get(__response__, 'logs'), + marketplace_partner_id=pulumi.get(__response__, 'marketplace_partner_id'), + metrics=pulumi.get(__response__, 'metrics'), + name=pulumi.get(__response__, 'name'), + service_bus_rule_id=pulumi.get(__response__, 'service_bus_rule_id'), + storage_account_id=pulumi.get(__response__, 'storage_account_id'), + system_data=pulumi.get(__response__, 'system_data'), + type=pulumi.get(__response__, 'type'), + workspace_id=pulumi.get(__response__, 'workspace_id'))) diff --git a/sdk/python/pulumi_azure_native/monitor/get_management_group_diagnostic_setting.py b/sdk/python/pulumi_azure_native/monitor/get_management_group_diagnostic_setting.py new file mode 100644 index 000000000000..199a342fac86 --- /dev/null +++ b/sdk/python/pulumi_azure_native/monitor/get_management_group_diagnostic_setting.py @@ -0,0 +1,245 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi-language-python. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import sys +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias +from .. import _utilities +from . import outputs + +__all__ = [ + 'GetManagementGroupDiagnosticSettingResult', + 'AwaitableGetManagementGroupDiagnosticSettingResult', + 'get_management_group_diagnostic_setting', + 'get_management_group_diagnostic_setting_output', +] + +@pulumi.output_type +class GetManagementGroupDiagnosticSettingResult: + """ + The management group diagnostic setting resource. + """ + def __init__(__self__, azure_api_version=None, event_hub_authorization_rule_id=None, event_hub_name=None, id=None, logs=None, marketplace_partner_id=None, name=None, service_bus_rule_id=None, storage_account_id=None, system_data=None, type=None, workspace_id=None): + if azure_api_version and not isinstance(azure_api_version, str): + raise TypeError("Expected argument 'azure_api_version' to be a str") + pulumi.set(__self__, "azure_api_version", azure_api_version) + if event_hub_authorization_rule_id and not isinstance(event_hub_authorization_rule_id, str): + raise TypeError("Expected argument 'event_hub_authorization_rule_id' to be a str") + pulumi.set(__self__, "event_hub_authorization_rule_id", event_hub_authorization_rule_id) + if event_hub_name and not isinstance(event_hub_name, str): + raise TypeError("Expected argument 'event_hub_name' to be a str") + pulumi.set(__self__, "event_hub_name", event_hub_name) + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if logs and not isinstance(logs, list): + raise TypeError("Expected argument 'logs' to be a list") + pulumi.set(__self__, "logs", logs) + if marketplace_partner_id and not isinstance(marketplace_partner_id, str): + raise TypeError("Expected argument 'marketplace_partner_id' to be a str") + pulumi.set(__self__, "marketplace_partner_id", marketplace_partner_id) + if name and not isinstance(name, str): + raise TypeError("Expected argument 'name' to be a str") + pulumi.set(__self__, "name", name) + if service_bus_rule_id and not isinstance(service_bus_rule_id, str): + raise TypeError("Expected argument 'service_bus_rule_id' to be a str") + pulumi.set(__self__, "service_bus_rule_id", service_bus_rule_id) + if storage_account_id and not isinstance(storage_account_id, str): + raise TypeError("Expected argument 'storage_account_id' to be a str") + pulumi.set(__self__, "storage_account_id", storage_account_id) + if system_data and not isinstance(system_data, dict): + raise TypeError("Expected argument 'system_data' to be a dict") + pulumi.set(__self__, "system_data", system_data) + if type and not isinstance(type, str): + raise TypeError("Expected argument 'type' to be a str") + pulumi.set(__self__, "type", type) + if workspace_id and not isinstance(workspace_id, str): + raise TypeError("Expected argument 'workspace_id' to be a str") + pulumi.set(__self__, "workspace_id", workspace_id) + + @property + @pulumi.getter(name="azureApiVersion") + def azure_api_version(self) -> str: + """ + The Azure API version of the resource. + """ + return pulumi.get(self, "azure_api_version") + + @property + @pulumi.getter(name="eventHubAuthorizationRuleId") + def event_hub_authorization_rule_id(self) -> Optional[str]: + """ + The resource Id for the event hub authorization rule. + """ + return pulumi.get(self, "event_hub_authorization_rule_id") + + @property + @pulumi.getter(name="eventHubName") + def event_hub_name(self) -> Optional[str]: + """ + The name of the event hub. If none is specified, the default event hub will be selected. + """ + return pulumi.get(self, "event_hub_name") + + @property + @pulumi.getter + def id(self) -> str: + """ + Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + """ + return pulumi.get(self, "id") + + @property + @pulumi.getter + def logs(self) -> Optional[Sequence['outputs.ManagementGroupLogSettingsResponse']]: + """ + The list of logs settings. + """ + return pulumi.get(self, "logs") + + @property + @pulumi.getter(name="marketplacePartnerId") + def marketplace_partner_id(self) -> Optional[str]: + """ + The full ARM resource ID of the Marketplace resource to which you would like to send Diagnostic Logs. + """ + return pulumi.get(self, "marketplace_partner_id") + + @property + @pulumi.getter + def name(self) -> str: + """ + The name of the resource + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="serviceBusRuleId") + def service_bus_rule_id(self) -> Optional[str]: + """ + The service bus rule Id of the diagnostic setting. This is here to maintain backwards compatibility. + """ + return pulumi.get(self, "service_bus_rule_id") + + @property + @pulumi.getter(name="storageAccountId") + def storage_account_id(self) -> Optional[str]: + """ + The resource ID of the storage account to which you would like to send Diagnostic Logs. + """ + return pulumi.get(self, "storage_account_id") + + @property + @pulumi.getter(name="systemData") + def system_data(self) -> 'outputs.SystemDataResponse': + """ + The system metadata related to this resource. + """ + return pulumi.get(self, "system_data") + + @property + @pulumi.getter + def type(self) -> str: + """ + The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + """ + return pulumi.get(self, "type") + + @property + @pulumi.getter(name="workspaceId") + def workspace_id(self) -> Optional[str]: + """ + The full ARM resource ID of the Log Analytics workspace to which you would like to send Diagnostic Logs. Example: /subscriptions/4b9e8510-67ab-4e9a-95a9-e2f1e570ea9c/resourceGroups/insights-integration/providers/Microsoft.OperationalInsights/workspaces/viruela2 + """ + return pulumi.get(self, "workspace_id") + + +class AwaitableGetManagementGroupDiagnosticSettingResult(GetManagementGroupDiagnosticSettingResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetManagementGroupDiagnosticSettingResult( + azure_api_version=self.azure_api_version, + event_hub_authorization_rule_id=self.event_hub_authorization_rule_id, + event_hub_name=self.event_hub_name, + id=self.id, + logs=self.logs, + marketplace_partner_id=self.marketplace_partner_id, + name=self.name, + service_bus_rule_id=self.service_bus_rule_id, + storage_account_id=self.storage_account_id, + system_data=self.system_data, + type=self.type, + workspace_id=self.workspace_id) + + +def get_management_group_diagnostic_setting(management_group_id: Optional[str] = None, + name: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetManagementGroupDiagnosticSettingResult: + """ + Gets the active management group diagnostic settings for the specified resource. + + Uses Azure REST API version 2021-05-01-preview. + + + :param str management_group_id: The management group id. + :param str name: The name of the diagnostic setting. + """ + __args__ = dict() + __args__['managementGroupId'] = management_group_id + __args__['name'] = name + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('azure-native:monitor:getManagementGroupDiagnosticSetting', __args__, opts=opts, typ=GetManagementGroupDiagnosticSettingResult).value + + return AwaitableGetManagementGroupDiagnosticSettingResult( + azure_api_version=pulumi.get(__ret__, 'azure_api_version'), + event_hub_authorization_rule_id=pulumi.get(__ret__, 'event_hub_authorization_rule_id'), + event_hub_name=pulumi.get(__ret__, 'event_hub_name'), + id=pulumi.get(__ret__, 'id'), + logs=pulumi.get(__ret__, 'logs'), + marketplace_partner_id=pulumi.get(__ret__, 'marketplace_partner_id'), + name=pulumi.get(__ret__, 'name'), + service_bus_rule_id=pulumi.get(__ret__, 'service_bus_rule_id'), + storage_account_id=pulumi.get(__ret__, 'storage_account_id'), + system_data=pulumi.get(__ret__, 'system_data'), + type=pulumi.get(__ret__, 'type'), + workspace_id=pulumi.get(__ret__, 'workspace_id')) +def get_management_group_diagnostic_setting_output(management_group_id: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetManagementGroupDiagnosticSettingResult]: + """ + Gets the active management group diagnostic settings for the specified resource. + + Uses Azure REST API version 2021-05-01-preview. + + + :param str management_group_id: The management group id. + :param str name: The name of the diagnostic setting. + """ + __args__ = dict() + __args__['managementGroupId'] = management_group_id + __args__['name'] = name + opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('azure-native:monitor:getManagementGroupDiagnosticSetting', __args__, opts=opts, typ=GetManagementGroupDiagnosticSettingResult) + return __ret__.apply(lambda __response__: GetManagementGroupDiagnosticSettingResult( + azure_api_version=pulumi.get(__response__, 'azure_api_version'), + event_hub_authorization_rule_id=pulumi.get(__response__, 'event_hub_authorization_rule_id'), + event_hub_name=pulumi.get(__response__, 'event_hub_name'), + id=pulumi.get(__response__, 'id'), + logs=pulumi.get(__response__, 'logs'), + marketplace_partner_id=pulumi.get(__response__, 'marketplace_partner_id'), + name=pulumi.get(__response__, 'name'), + service_bus_rule_id=pulumi.get(__response__, 'service_bus_rule_id'), + storage_account_id=pulumi.get(__response__, 'storage_account_id'), + system_data=pulumi.get(__response__, 'system_data'), + type=pulumi.get(__response__, 'type'), + workspace_id=pulumi.get(__response__, 'workspace_id'))) diff --git a/sdk/python/pulumi_azure_native/monitor/get_subscription_diagnostic_setting.py b/sdk/python/pulumi_azure_native/monitor/get_subscription_diagnostic_setting.py new file mode 100644 index 000000000000..c79bdc916299 --- /dev/null +++ b/sdk/python/pulumi_azure_native/monitor/get_subscription_diagnostic_setting.py @@ -0,0 +1,239 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi-language-python. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import sys +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias +from .. import _utilities +from . import outputs + +__all__ = [ + 'GetSubscriptionDiagnosticSettingResult', + 'AwaitableGetSubscriptionDiagnosticSettingResult', + 'get_subscription_diagnostic_setting', + 'get_subscription_diagnostic_setting_output', +] + +@pulumi.output_type +class GetSubscriptionDiagnosticSettingResult: + """ + The subscription diagnostic setting resource. + """ + def __init__(__self__, azure_api_version=None, event_hub_authorization_rule_id=None, event_hub_name=None, id=None, logs=None, marketplace_partner_id=None, name=None, service_bus_rule_id=None, storage_account_id=None, system_data=None, type=None, workspace_id=None): + if azure_api_version and not isinstance(azure_api_version, str): + raise TypeError("Expected argument 'azure_api_version' to be a str") + pulumi.set(__self__, "azure_api_version", azure_api_version) + if event_hub_authorization_rule_id and not isinstance(event_hub_authorization_rule_id, str): + raise TypeError("Expected argument 'event_hub_authorization_rule_id' to be a str") + pulumi.set(__self__, "event_hub_authorization_rule_id", event_hub_authorization_rule_id) + if event_hub_name and not isinstance(event_hub_name, str): + raise TypeError("Expected argument 'event_hub_name' to be a str") + pulumi.set(__self__, "event_hub_name", event_hub_name) + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if logs and not isinstance(logs, list): + raise TypeError("Expected argument 'logs' to be a list") + pulumi.set(__self__, "logs", logs) + if marketplace_partner_id and not isinstance(marketplace_partner_id, str): + raise TypeError("Expected argument 'marketplace_partner_id' to be a str") + pulumi.set(__self__, "marketplace_partner_id", marketplace_partner_id) + if name and not isinstance(name, str): + raise TypeError("Expected argument 'name' to be a str") + pulumi.set(__self__, "name", name) + if service_bus_rule_id and not isinstance(service_bus_rule_id, str): + raise TypeError("Expected argument 'service_bus_rule_id' to be a str") + pulumi.set(__self__, "service_bus_rule_id", service_bus_rule_id) + if storage_account_id and not isinstance(storage_account_id, str): + raise TypeError("Expected argument 'storage_account_id' to be a str") + pulumi.set(__self__, "storage_account_id", storage_account_id) + if system_data and not isinstance(system_data, dict): + raise TypeError("Expected argument 'system_data' to be a dict") + pulumi.set(__self__, "system_data", system_data) + if type and not isinstance(type, str): + raise TypeError("Expected argument 'type' to be a str") + pulumi.set(__self__, "type", type) + if workspace_id and not isinstance(workspace_id, str): + raise TypeError("Expected argument 'workspace_id' to be a str") + pulumi.set(__self__, "workspace_id", workspace_id) + + @property + @pulumi.getter(name="azureApiVersion") + def azure_api_version(self) -> str: + """ + The Azure API version of the resource. + """ + return pulumi.get(self, "azure_api_version") + + @property + @pulumi.getter(name="eventHubAuthorizationRuleId") + def event_hub_authorization_rule_id(self) -> Optional[str]: + """ + The resource Id for the event hub authorization rule. + """ + return pulumi.get(self, "event_hub_authorization_rule_id") + + @property + @pulumi.getter(name="eventHubName") + def event_hub_name(self) -> Optional[str]: + """ + The name of the event hub. If none is specified, the default event hub will be selected. + """ + return pulumi.get(self, "event_hub_name") + + @property + @pulumi.getter + def id(self) -> str: + """ + Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + """ + return pulumi.get(self, "id") + + @property + @pulumi.getter + def logs(self) -> Optional[Sequence['outputs.SubscriptionLogSettingsResponse']]: + """ + The list of logs settings. + """ + return pulumi.get(self, "logs") + + @property + @pulumi.getter(name="marketplacePartnerId") + def marketplace_partner_id(self) -> Optional[str]: + """ + The full ARM resource ID of the Marketplace resource to which you would like to send Diagnostic Logs. + """ + return pulumi.get(self, "marketplace_partner_id") + + @property + @pulumi.getter + def name(self) -> str: + """ + The name of the resource + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="serviceBusRuleId") + def service_bus_rule_id(self) -> Optional[str]: + """ + The service bus rule Id of the diagnostic setting. This is here to maintain backwards compatibility. + """ + return pulumi.get(self, "service_bus_rule_id") + + @property + @pulumi.getter(name="storageAccountId") + def storage_account_id(self) -> Optional[str]: + """ + The resource ID of the storage account to which you would like to send Diagnostic Logs. + """ + return pulumi.get(self, "storage_account_id") + + @property + @pulumi.getter(name="systemData") + def system_data(self) -> 'outputs.SystemDataResponse': + """ + The system metadata related to this resource. + """ + return pulumi.get(self, "system_data") + + @property + @pulumi.getter + def type(self) -> str: + """ + The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + """ + return pulumi.get(self, "type") + + @property + @pulumi.getter(name="workspaceId") + def workspace_id(self) -> Optional[str]: + """ + The full ARM resource ID of the Log Analytics workspace to which you would like to send Diagnostic Logs. Example: /subscriptions/4b9e8510-67ab-4e9a-95a9-e2f1e570ea9c/resourceGroups/insights-integration/providers/Microsoft.OperationalInsights/workspaces/viruela2 + """ + return pulumi.get(self, "workspace_id") + + +class AwaitableGetSubscriptionDiagnosticSettingResult(GetSubscriptionDiagnosticSettingResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetSubscriptionDiagnosticSettingResult( + azure_api_version=self.azure_api_version, + event_hub_authorization_rule_id=self.event_hub_authorization_rule_id, + event_hub_name=self.event_hub_name, + id=self.id, + logs=self.logs, + marketplace_partner_id=self.marketplace_partner_id, + name=self.name, + service_bus_rule_id=self.service_bus_rule_id, + storage_account_id=self.storage_account_id, + system_data=self.system_data, + type=self.type, + workspace_id=self.workspace_id) + + +def get_subscription_diagnostic_setting(name: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetSubscriptionDiagnosticSettingResult: + """ + Gets the active subscription diagnostic settings for the specified resource. + + Uses Azure REST API version 2021-05-01-preview. + + + :param str name: The name of the diagnostic setting. + """ + __args__ = dict() + __args__['name'] = name + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('azure-native:monitor:getSubscriptionDiagnosticSetting', __args__, opts=opts, typ=GetSubscriptionDiagnosticSettingResult).value + + return AwaitableGetSubscriptionDiagnosticSettingResult( + azure_api_version=pulumi.get(__ret__, 'azure_api_version'), + event_hub_authorization_rule_id=pulumi.get(__ret__, 'event_hub_authorization_rule_id'), + event_hub_name=pulumi.get(__ret__, 'event_hub_name'), + id=pulumi.get(__ret__, 'id'), + logs=pulumi.get(__ret__, 'logs'), + marketplace_partner_id=pulumi.get(__ret__, 'marketplace_partner_id'), + name=pulumi.get(__ret__, 'name'), + service_bus_rule_id=pulumi.get(__ret__, 'service_bus_rule_id'), + storage_account_id=pulumi.get(__ret__, 'storage_account_id'), + system_data=pulumi.get(__ret__, 'system_data'), + type=pulumi.get(__ret__, 'type'), + workspace_id=pulumi.get(__ret__, 'workspace_id')) +def get_subscription_diagnostic_setting_output(name: Optional[pulumi.Input[str]] = None, + opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetSubscriptionDiagnosticSettingResult]: + """ + Gets the active subscription diagnostic settings for the specified resource. + + Uses Azure REST API version 2021-05-01-preview. + + + :param str name: The name of the diagnostic setting. + """ + __args__ = dict() + __args__['name'] = name + opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('azure-native:monitor:getSubscriptionDiagnosticSetting', __args__, opts=opts, typ=GetSubscriptionDiagnosticSettingResult) + return __ret__.apply(lambda __response__: GetSubscriptionDiagnosticSettingResult( + azure_api_version=pulumi.get(__response__, 'azure_api_version'), + event_hub_authorization_rule_id=pulumi.get(__response__, 'event_hub_authorization_rule_id'), + event_hub_name=pulumi.get(__response__, 'event_hub_name'), + id=pulumi.get(__response__, 'id'), + logs=pulumi.get(__response__, 'logs'), + marketplace_partner_id=pulumi.get(__response__, 'marketplace_partner_id'), + name=pulumi.get(__response__, 'name'), + service_bus_rule_id=pulumi.get(__response__, 'service_bus_rule_id'), + storage_account_id=pulumi.get(__response__, 'storage_account_id'), + system_data=pulumi.get(__response__, 'system_data'), + type=pulumi.get(__response__, 'type'), + workspace_id=pulumi.get(__response__, 'workspace_id'))) diff --git a/sdk/python/pulumi_azure_native/monitor/list_diagnostic_settings_category.py b/sdk/python/pulumi_azure_native/monitor/list_diagnostic_settings_category.py new file mode 100644 index 000000000000..688f9a7b11c7 --- /dev/null +++ b/sdk/python/pulumi_azure_native/monitor/list_diagnostic_settings_category.py @@ -0,0 +1,85 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi-language-python. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import sys +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias +from .. import _utilities +from . import outputs + +__all__ = [ + 'ListDiagnosticSettingsCategoryResult', + 'AwaitableListDiagnosticSettingsCategoryResult', + 'list_diagnostic_settings_category', + 'list_diagnostic_settings_category_output', +] + +@pulumi.output_type +class ListDiagnosticSettingsCategoryResult: + """ + Represents a collection of diagnostic setting category resources. + """ + def __init__(__self__, value=None): + if value and not isinstance(value, list): + raise TypeError("Expected argument 'value' to be a list") + pulumi.set(__self__, "value", value) + + @property + @pulumi.getter + def value(self) -> Optional[Sequence['outputs.DiagnosticSettingsCategoryResourceResponse']]: + """ + The collection of diagnostic settings category resources. + """ + return pulumi.get(self, "value") + + +class AwaitableListDiagnosticSettingsCategoryResult(ListDiagnosticSettingsCategoryResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return ListDiagnosticSettingsCategoryResult( + value=self.value) + + +def list_diagnostic_settings_category(resource_uri: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableListDiagnosticSettingsCategoryResult: + """ + Lists the diagnostic settings categories for the specified resource. + + Uses Azure REST API version 2021-05-01-preview. + + + :param str resource_uri: The identifier of the resource. + """ + __args__ = dict() + __args__['resourceUri'] = resource_uri + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('azure-native:monitor:listDiagnosticSettingsCategory', __args__, opts=opts, typ=ListDiagnosticSettingsCategoryResult).value + + return AwaitableListDiagnosticSettingsCategoryResult( + value=pulumi.get(__ret__, 'value')) +def list_diagnostic_settings_category_output(resource_uri: Optional[pulumi.Input[str]] = None, + opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[ListDiagnosticSettingsCategoryResult]: + """ + Lists the diagnostic settings categories for the specified resource. + + Uses Azure REST API version 2021-05-01-preview. + + + :param str resource_uri: The identifier of the resource. + """ + __args__ = dict() + __args__['resourceUri'] = resource_uri + opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('azure-native:monitor:listDiagnosticSettingsCategory', __args__, opts=opts, typ=ListDiagnosticSettingsCategoryResult) + return __ret__.apply(lambda __response__: ListDiagnosticSettingsCategoryResult( + value=pulumi.get(__response__, 'value'))) diff --git a/sdk/python/pulumi_azure_native/monitor/management_group_diagnostic_setting.py b/sdk/python/pulumi_azure_native/monitor/management_group_diagnostic_setting.py new file mode 100644 index 000000000000..0f96d84fb0ef --- /dev/null +++ b/sdk/python/pulumi_azure_native/monitor/management_group_diagnostic_setting.py @@ -0,0 +1,386 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi-language-python. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import sys +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias +from .. import _utilities +from . import outputs +from ._inputs import * + +__all__ = ['ManagementGroupDiagnosticSettingArgs', 'ManagementGroupDiagnosticSetting'] + +@pulumi.input_type +class ManagementGroupDiagnosticSettingArgs: + def __init__(__self__, *, + management_group_id: pulumi.Input[str], + event_hub_authorization_rule_id: Optional[pulumi.Input[str]] = None, + event_hub_name: Optional[pulumi.Input[str]] = None, + logs: Optional[pulumi.Input[Sequence[pulumi.Input['ManagementGroupLogSettingsArgs']]]] = None, + marketplace_partner_id: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + service_bus_rule_id: Optional[pulumi.Input[str]] = None, + storage_account_id: Optional[pulumi.Input[str]] = None, + workspace_id: Optional[pulumi.Input[str]] = None): + """ + The set of arguments for constructing a ManagementGroupDiagnosticSetting resource. + :param pulumi.Input[str] management_group_id: The management group id. + :param pulumi.Input[str] event_hub_authorization_rule_id: The resource Id for the event hub authorization rule. + :param pulumi.Input[str] event_hub_name: The name of the event hub. If none is specified, the default event hub will be selected. + :param pulumi.Input[Sequence[pulumi.Input['ManagementGroupLogSettingsArgs']]] logs: The list of logs settings. + :param pulumi.Input[str] marketplace_partner_id: The full ARM resource ID of the Marketplace resource to which you would like to send Diagnostic Logs. + :param pulumi.Input[str] name: The name of the diagnostic setting. + :param pulumi.Input[str] service_bus_rule_id: The service bus rule Id of the diagnostic setting. This is here to maintain backwards compatibility. + :param pulumi.Input[str] storage_account_id: The resource ID of the storage account to which you would like to send Diagnostic Logs. + :param pulumi.Input[str] workspace_id: The full ARM resource ID of the Log Analytics workspace to which you would like to send Diagnostic Logs. Example: /subscriptions/4b9e8510-67ab-4e9a-95a9-e2f1e570ea9c/resourceGroups/insights-integration/providers/Microsoft.OperationalInsights/workspaces/viruela2 + """ + pulumi.set(__self__, "management_group_id", management_group_id) + if event_hub_authorization_rule_id is not None: + pulumi.set(__self__, "event_hub_authorization_rule_id", event_hub_authorization_rule_id) + if event_hub_name is not None: + pulumi.set(__self__, "event_hub_name", event_hub_name) + if logs is not None: + pulumi.set(__self__, "logs", logs) + if marketplace_partner_id is not None: + pulumi.set(__self__, "marketplace_partner_id", marketplace_partner_id) + if name is not None: + pulumi.set(__self__, "name", name) + if service_bus_rule_id is not None: + pulumi.set(__self__, "service_bus_rule_id", service_bus_rule_id) + if storage_account_id is not None: + pulumi.set(__self__, "storage_account_id", storage_account_id) + if workspace_id is not None: + pulumi.set(__self__, "workspace_id", workspace_id) + + @property + @pulumi.getter(name="managementGroupId") + def management_group_id(self) -> pulumi.Input[str]: + """ + The management group id. + """ + return pulumi.get(self, "management_group_id") + + @management_group_id.setter + def management_group_id(self, value: pulumi.Input[str]): + pulumi.set(self, "management_group_id", value) + + @property + @pulumi.getter(name="eventHubAuthorizationRuleId") + def event_hub_authorization_rule_id(self) -> Optional[pulumi.Input[str]]: + """ + The resource Id for the event hub authorization rule. + """ + return pulumi.get(self, "event_hub_authorization_rule_id") + + @event_hub_authorization_rule_id.setter + def event_hub_authorization_rule_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "event_hub_authorization_rule_id", value) + + @property + @pulumi.getter(name="eventHubName") + def event_hub_name(self) -> Optional[pulumi.Input[str]]: + """ + The name of the event hub. If none is specified, the default event hub will be selected. + """ + return pulumi.get(self, "event_hub_name") + + @event_hub_name.setter + def event_hub_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "event_hub_name", value) + + @property + @pulumi.getter + def logs(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ManagementGroupLogSettingsArgs']]]]: + """ + The list of logs settings. + """ + return pulumi.get(self, "logs") + + @logs.setter + def logs(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ManagementGroupLogSettingsArgs']]]]): + pulumi.set(self, "logs", value) + + @property + @pulumi.getter(name="marketplacePartnerId") + def marketplace_partner_id(self) -> Optional[pulumi.Input[str]]: + """ + The full ARM resource ID of the Marketplace resource to which you would like to send Diagnostic Logs. + """ + return pulumi.get(self, "marketplace_partner_id") + + @marketplace_partner_id.setter + def marketplace_partner_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "marketplace_partner_id", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + The name of the diagnostic setting. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter(name="serviceBusRuleId") + def service_bus_rule_id(self) -> Optional[pulumi.Input[str]]: + """ + The service bus rule Id of the diagnostic setting. This is here to maintain backwards compatibility. + """ + return pulumi.get(self, "service_bus_rule_id") + + @service_bus_rule_id.setter + def service_bus_rule_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "service_bus_rule_id", value) + + @property + @pulumi.getter(name="storageAccountId") + def storage_account_id(self) -> Optional[pulumi.Input[str]]: + """ + The resource ID of the storage account to which you would like to send Diagnostic Logs. + """ + return pulumi.get(self, "storage_account_id") + + @storage_account_id.setter + def storage_account_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "storage_account_id", value) + + @property + @pulumi.getter(name="workspaceId") + def workspace_id(self) -> Optional[pulumi.Input[str]]: + """ + The full ARM resource ID of the Log Analytics workspace to which you would like to send Diagnostic Logs. Example: /subscriptions/4b9e8510-67ab-4e9a-95a9-e2f1e570ea9c/resourceGroups/insights-integration/providers/Microsoft.OperationalInsights/workspaces/viruela2 + """ + return pulumi.get(self, "workspace_id") + + @workspace_id.setter + def workspace_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "workspace_id", value) + + +class ManagementGroupDiagnosticSetting(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + event_hub_authorization_rule_id: Optional[pulumi.Input[str]] = None, + event_hub_name: Optional[pulumi.Input[str]] = None, + logs: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ManagementGroupLogSettingsArgs', 'ManagementGroupLogSettingsArgsDict']]]]] = None, + management_group_id: Optional[pulumi.Input[str]] = None, + marketplace_partner_id: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + service_bus_rule_id: Optional[pulumi.Input[str]] = None, + storage_account_id: Optional[pulumi.Input[str]] = None, + workspace_id: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + The management group diagnostic setting resource. + + Uses Azure REST API version 2021-05-01-preview. + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] event_hub_authorization_rule_id: The resource Id for the event hub authorization rule. + :param pulumi.Input[str] event_hub_name: The name of the event hub. If none is specified, the default event hub will be selected. + :param pulumi.Input[Sequence[pulumi.Input[Union['ManagementGroupLogSettingsArgs', 'ManagementGroupLogSettingsArgsDict']]]] logs: The list of logs settings. + :param pulumi.Input[str] management_group_id: The management group id. + :param pulumi.Input[str] marketplace_partner_id: The full ARM resource ID of the Marketplace resource to which you would like to send Diagnostic Logs. + :param pulumi.Input[str] name: The name of the diagnostic setting. + :param pulumi.Input[str] service_bus_rule_id: The service bus rule Id of the diagnostic setting. This is here to maintain backwards compatibility. + :param pulumi.Input[str] storage_account_id: The resource ID of the storage account to which you would like to send Diagnostic Logs. + :param pulumi.Input[str] workspace_id: The full ARM resource ID of the Log Analytics workspace to which you would like to send Diagnostic Logs. Example: /subscriptions/4b9e8510-67ab-4e9a-95a9-e2f1e570ea9c/resourceGroups/insights-integration/providers/Microsoft.OperationalInsights/workspaces/viruela2 + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: ManagementGroupDiagnosticSettingArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + The management group diagnostic setting resource. + + Uses Azure REST API version 2021-05-01-preview. + + :param str resource_name: The name of the resource. + :param ManagementGroupDiagnosticSettingArgs args: The arguments to use to populate this resource's properties. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + ... + def __init__(__self__, resource_name: str, *args, **kwargs): + resource_args, opts = _utilities.get_resource_args_opts(ManagementGroupDiagnosticSettingArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + event_hub_authorization_rule_id: Optional[pulumi.Input[str]] = None, + event_hub_name: Optional[pulumi.Input[str]] = None, + logs: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ManagementGroupLogSettingsArgs', 'ManagementGroupLogSettingsArgsDict']]]]] = None, + management_group_id: Optional[pulumi.Input[str]] = None, + marketplace_partner_id: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + service_bus_rule_id: Optional[pulumi.Input[str]] = None, + storage_account_id: Optional[pulumi.Input[str]] = None, + workspace_id: Optional[pulumi.Input[str]] = None, + __props__=None): + opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) + if not isinstance(opts, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + if opts.id is None: + if __props__ is not None: + raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') + __props__ = ManagementGroupDiagnosticSettingArgs.__new__(ManagementGroupDiagnosticSettingArgs) + + __props__.__dict__["event_hub_authorization_rule_id"] = event_hub_authorization_rule_id + __props__.__dict__["event_hub_name"] = event_hub_name + __props__.__dict__["logs"] = logs + if management_group_id is None and not opts.urn: + raise TypeError("Missing required property 'management_group_id'") + __props__.__dict__["management_group_id"] = management_group_id + __props__.__dict__["marketplace_partner_id"] = marketplace_partner_id + __props__.__dict__["name"] = name + __props__.__dict__["service_bus_rule_id"] = service_bus_rule_id + __props__.__dict__["storage_account_id"] = storage_account_id + __props__.__dict__["workspace_id"] = workspace_id + __props__.__dict__["azure_api_version"] = None + __props__.__dict__["system_data"] = None + __props__.__dict__["type"] = None + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:insights/v20200101preview:ManagementGroupDiagnosticSetting"), pulumi.Alias(type_="azure-native:insights/v20210501preview:ManagementGroupDiagnosticSetting"), pulumi.Alias(type_="azure-native:insights:ManagementGroupDiagnosticSetting"), pulumi.Alias(type_="azure-native:monitor/v20200101preview:ManagementGroupDiagnosticSetting"), pulumi.Alias(type_="azure-native:monitor/v20210501preview:ManagementGroupDiagnosticSetting")]) + opts = pulumi.ResourceOptions.merge(opts, alias_opts) + super(ManagementGroupDiagnosticSetting, __self__).__init__( + 'azure-native:monitor:ManagementGroupDiagnosticSetting', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None) -> 'ManagementGroupDiagnosticSetting': + """ + Get an existing ManagementGroupDiagnosticSetting resource's state with the given name, id, and optional extra + properties used to qualify the lookup. + + :param str resource_name: The unique name of the resulting resource. + :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = ManagementGroupDiagnosticSettingArgs.__new__(ManagementGroupDiagnosticSettingArgs) + + __props__.__dict__["azure_api_version"] = None + __props__.__dict__["event_hub_authorization_rule_id"] = None + __props__.__dict__["event_hub_name"] = None + __props__.__dict__["logs"] = None + __props__.__dict__["marketplace_partner_id"] = None + __props__.__dict__["name"] = None + __props__.__dict__["service_bus_rule_id"] = None + __props__.__dict__["storage_account_id"] = None + __props__.__dict__["system_data"] = None + __props__.__dict__["type"] = None + __props__.__dict__["workspace_id"] = None + return ManagementGroupDiagnosticSetting(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="azureApiVersion") + def azure_api_version(self) -> pulumi.Output[str]: + """ + The Azure API version of the resource. + """ + return pulumi.get(self, "azure_api_version") + + @property + @pulumi.getter(name="eventHubAuthorizationRuleId") + def event_hub_authorization_rule_id(self) -> pulumi.Output[Optional[str]]: + """ + The resource Id for the event hub authorization rule. + """ + return pulumi.get(self, "event_hub_authorization_rule_id") + + @property + @pulumi.getter(name="eventHubName") + def event_hub_name(self) -> pulumi.Output[Optional[str]]: + """ + The name of the event hub. If none is specified, the default event hub will be selected. + """ + return pulumi.get(self, "event_hub_name") + + @property + @pulumi.getter + def logs(self) -> pulumi.Output[Optional[Sequence['outputs.ManagementGroupLogSettingsResponse']]]: + """ + The list of logs settings. + """ + return pulumi.get(self, "logs") + + @property + @pulumi.getter(name="marketplacePartnerId") + def marketplace_partner_id(self) -> pulumi.Output[Optional[str]]: + """ + The full ARM resource ID of the Marketplace resource to which you would like to send Diagnostic Logs. + """ + return pulumi.get(self, "marketplace_partner_id") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + The name of the resource + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="serviceBusRuleId") + def service_bus_rule_id(self) -> pulumi.Output[Optional[str]]: + """ + The service bus rule Id of the diagnostic setting. This is here to maintain backwards compatibility. + """ + return pulumi.get(self, "service_bus_rule_id") + + @property + @pulumi.getter(name="storageAccountId") + def storage_account_id(self) -> pulumi.Output[Optional[str]]: + """ + The resource ID of the storage account to which you would like to send Diagnostic Logs. + """ + return pulumi.get(self, "storage_account_id") + + @property + @pulumi.getter(name="systemData") + def system_data(self) -> pulumi.Output['outputs.SystemDataResponse']: + """ + The system metadata related to this resource. + """ + return pulumi.get(self, "system_data") + + @property + @pulumi.getter + def type(self) -> pulumi.Output[str]: + """ + The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + """ + return pulumi.get(self, "type") + + @property + @pulumi.getter(name="workspaceId") + def workspace_id(self) -> pulumi.Output[Optional[str]]: + """ + The full ARM resource ID of the Log Analytics workspace to which you would like to send Diagnostic Logs. Example: /subscriptions/4b9e8510-67ab-4e9a-95a9-e2f1e570ea9c/resourceGroups/insights-integration/providers/Microsoft.OperationalInsights/workspaces/viruela2 + """ + return pulumi.get(self, "workspace_id") + diff --git a/sdk/python/pulumi_azure_native/monitor/outputs.py b/sdk/python/pulumi_azure_native/monitor/outputs.py index ca589a985dbb..ab1b82522299 100644 --- a/sdk/python/pulumi_azure_native/monitor/outputs.py +++ b/sdk/python/pulumi_azure_native/monitor/outputs.py @@ -22,6 +22,9 @@ 'ActionsResponse', 'ArmRoleReceiverResponse', 'AutomationRunbookReceiverResponse', + 'AutoscaleNotificationResponse', + 'AutoscaleProfileResponse', + 'AutoscaleSettingResponse', 'AzureAppPushReceiverResponse', 'AzureFunctionReceiverResponse', 'AzureMonitorWorkspaceLogsApiConfigResponse', @@ -32,7 +35,9 @@ 'ConcurrencyConfigurationResponse', 'ConditionResponse', 'ConditionResponseFailingPeriods', + 'DiagnosticSettingsCategoryResourceResponse', 'DimensionResponse', + 'EmailNotificationResponse', 'EmailReceiverResponse', 'EventHubReceiverResponse', 'ExporterResponse', @@ -44,8 +49,12 @@ 'JsonArrayMapperResponse', 'JsonMapperDestinationFieldResponse', 'JsonMapperSourceFieldResponse', + 'LogSettingsResponse', 'LogicAppReceiverResponse', 'ManagedServiceIdentityResponse', + 'ManagementGroupLogSettingsResponse', + 'MetricSettingsResponse', + 'MetricTriggerResponse', 'MetricsResponse', 'NetworkingConfigurationResponse', 'NetworkingRouteResponse', @@ -53,26 +62,37 @@ 'PersistenceConfigurationsResponse', 'PipelineGroupPropertiesResponse', 'PipelineResponse', + 'PredictiveAutoscalePolicyResponse', 'PrivateEndpointConnectionResponse', 'PrivateEndpointResponse', 'PrivateLinkServiceConnectionStateResponse', 'ProcessorResponse', 'ReceiverResponse', 'RecordMapResponse', + 'RecurrenceResponse', + 'RecurrentScheduleResponse', 'ResourceMapResponse', + 'RetentionPolicyResponse', 'RuleResolveConfigurationResponse', + 'ScaleActionResponse', + 'ScaleCapacityResponse', + 'ScaleRuleMetricDimensionResponse', + 'ScaleRuleResponse', 'ScheduledQueryRuleCriteriaResponse', 'SchemaMapResponse', 'ScopeMapResponse', 'ServiceResponse', 'SmsReceiverResponse', + 'SubscriptionLogSettingsResponse', 'SyslogReceiverResponse', 'SystemDataResponse', 'TcpExporterResponse', + 'TimeWindowResponse', 'UdpReceiverResponse', 'UserAssignedIdentityResponse', 'UserIdentityPropertiesResponse', 'VoiceReceiverResponse', + 'WebhookNotificationResponse', 'WebhookReceiverResponse', ] @@ -476,6 +496,254 @@ def use_common_alert_schema(self) -> Optional[bool]: return pulumi.get(self, "use_common_alert_schema") +@pulumi.output_type +class AutoscaleNotificationResponse(dict): + """ + Autoscale notification. + """ + def __init__(__self__, *, + operation: str, + email: Optional['outputs.EmailNotificationResponse'] = None, + webhooks: Optional[Sequence['outputs.WebhookNotificationResponse']] = None): + """ + Autoscale notification. + :param str operation: the operation associated with the notification and its value must be "scale" + :param 'EmailNotificationResponse' email: the email notification. + :param Sequence['WebhookNotificationResponse'] webhooks: the collection of webhook notifications. + """ + pulumi.set(__self__, "operation", operation) + if email is not None: + pulumi.set(__self__, "email", email) + if webhooks is not None: + pulumi.set(__self__, "webhooks", webhooks) + + @property + @pulumi.getter + def operation(self) -> str: + """ + the operation associated with the notification and its value must be "scale" + """ + return pulumi.get(self, "operation") + + @property + @pulumi.getter + def email(self) -> Optional['outputs.EmailNotificationResponse']: + """ + the email notification. + """ + return pulumi.get(self, "email") + + @property + @pulumi.getter + def webhooks(self) -> Optional[Sequence['outputs.WebhookNotificationResponse']]: + """ + the collection of webhook notifications. + """ + return pulumi.get(self, "webhooks") + + +@pulumi.output_type +class AutoscaleProfileResponse(dict): + """ + Autoscale profile. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "fixedDate": + suggest = "fixed_date" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in AutoscaleProfileResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + AutoscaleProfileResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + AutoscaleProfileResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + capacity: 'outputs.ScaleCapacityResponse', + name: str, + rules: Sequence['outputs.ScaleRuleResponse'], + fixed_date: Optional['outputs.TimeWindowResponse'] = None, + recurrence: Optional['outputs.RecurrenceResponse'] = None): + """ + Autoscale profile. + :param 'ScaleCapacityResponse' capacity: the number of instances that can be used during this profile. + :param str name: the name of the profile. + :param Sequence['ScaleRuleResponse'] rules: the collection of rules that provide the triggers and parameters for the scaling action. A maximum of 10 rules can be specified. + :param 'TimeWindowResponse' fixed_date: the specific date-time for the profile. This element is not used if the Recurrence element is used. + :param 'RecurrenceResponse' recurrence: the repeating times at which this profile begins. This element is not used if the FixedDate element is used. + """ + pulumi.set(__self__, "capacity", capacity) + pulumi.set(__self__, "name", name) + pulumi.set(__self__, "rules", rules) + if fixed_date is not None: + pulumi.set(__self__, "fixed_date", fixed_date) + if recurrence is not None: + pulumi.set(__self__, "recurrence", recurrence) + + @property + @pulumi.getter + def capacity(self) -> 'outputs.ScaleCapacityResponse': + """ + the number of instances that can be used during this profile. + """ + return pulumi.get(self, "capacity") + + @property + @pulumi.getter + def name(self) -> str: + """ + the name of the profile. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def rules(self) -> Sequence['outputs.ScaleRuleResponse']: + """ + the collection of rules that provide the triggers and parameters for the scaling action. A maximum of 10 rules can be specified. + """ + return pulumi.get(self, "rules") + + @property + @pulumi.getter(name="fixedDate") + def fixed_date(self) -> Optional['outputs.TimeWindowResponse']: + """ + the specific date-time for the profile. This element is not used if the Recurrence element is used. + """ + return pulumi.get(self, "fixed_date") + + @property + @pulumi.getter + def recurrence(self) -> Optional['outputs.RecurrenceResponse']: + """ + the repeating times at which this profile begins. This element is not used if the FixedDate element is used. + """ + return pulumi.get(self, "recurrence") + + +@pulumi.output_type +class AutoscaleSettingResponse(dict): + """ + A setting that contains all of the configuration for the automatic scaling of a resource. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "predictiveAutoscalePolicy": + suggest = "predictive_autoscale_policy" + elif key == "targetResourceLocation": + suggest = "target_resource_location" + elif key == "targetResourceUri": + suggest = "target_resource_uri" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in AutoscaleSettingResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + AutoscaleSettingResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + AutoscaleSettingResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + profiles: Sequence['outputs.AutoscaleProfileResponse'], + enabled: Optional[bool] = None, + name: Optional[str] = None, + notifications: Optional[Sequence['outputs.AutoscaleNotificationResponse']] = None, + predictive_autoscale_policy: Optional['outputs.PredictiveAutoscalePolicyResponse'] = None, + target_resource_location: Optional[str] = None, + target_resource_uri: Optional[str] = None): + """ + A setting that contains all of the configuration for the automatic scaling of a resource. + :param Sequence['AutoscaleProfileResponse'] profiles: the collection of automatic scaling profiles that specify different scaling parameters for different time periods. A maximum of 20 profiles can be specified. + :param bool enabled: the enabled flag. Specifies whether automatic scaling is enabled for the resource. The default value is 'false'. + :param str name: the name of the autoscale setting. + :param Sequence['AutoscaleNotificationResponse'] notifications: the collection of notifications. + :param 'PredictiveAutoscalePolicyResponse' predictive_autoscale_policy: the predictive autoscale policy mode. + :param str target_resource_location: the location of the resource that the autoscale setting should be added to. + :param str target_resource_uri: the resource identifier of the resource that the autoscale setting should be added to. + """ + pulumi.set(__self__, "profiles", profiles) + if enabled is None: + enabled = False + if enabled is not None: + pulumi.set(__self__, "enabled", enabled) + if name is not None: + pulumi.set(__self__, "name", name) + if notifications is not None: + pulumi.set(__self__, "notifications", notifications) + if predictive_autoscale_policy is not None: + pulumi.set(__self__, "predictive_autoscale_policy", predictive_autoscale_policy) + if target_resource_location is not None: + pulumi.set(__self__, "target_resource_location", target_resource_location) + if target_resource_uri is not None: + pulumi.set(__self__, "target_resource_uri", target_resource_uri) + + @property + @pulumi.getter + def profiles(self) -> Sequence['outputs.AutoscaleProfileResponse']: + """ + the collection of automatic scaling profiles that specify different scaling parameters for different time periods. A maximum of 20 profiles can be specified. + """ + return pulumi.get(self, "profiles") + + @property + @pulumi.getter + def enabled(self) -> Optional[bool]: + """ + the enabled flag. Specifies whether automatic scaling is enabled for the resource. The default value is 'false'. + """ + return pulumi.get(self, "enabled") + + @property + @pulumi.getter + def name(self) -> Optional[str]: + """ + the name of the autoscale setting. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def notifications(self) -> Optional[Sequence['outputs.AutoscaleNotificationResponse']]: + """ + the collection of notifications. + """ + return pulumi.get(self, "notifications") + + @property + @pulumi.getter(name="predictiveAutoscalePolicy") + def predictive_autoscale_policy(self) -> Optional['outputs.PredictiveAutoscalePolicyResponse']: + """ + the predictive autoscale policy mode. + """ + return pulumi.get(self, "predictive_autoscale_policy") + + @property + @pulumi.getter(name="targetResourceLocation") + def target_resource_location(self) -> Optional[str]: + """ + the location of the resource that the autoscale setting should be added to. + """ + return pulumi.get(self, "target_resource_location") + + @property + @pulumi.getter(name="targetResourceUri") + def target_resource_uri(self) -> Optional[str]: + """ + the resource identifier of the resource that the autoscale setting should be added to. + """ + return pulumi.get(self, "target_resource_uri") + + @pulumi.output_type class AzureAppPushReceiverResponse(dict): """ @@ -1197,6 +1465,85 @@ def number_of_evaluation_periods(self) -> Optional[float]: return pulumi.get(self, "number_of_evaluation_periods") +@pulumi.output_type +class DiagnosticSettingsCategoryResourceResponse(dict): + """ + The diagnostic settings category resource. + """ + def __init__(__self__, *, + id: str, + name: str, + system_data: 'outputs.SystemDataResponse', + type: str, + category_groups: Optional[Sequence[str]] = None, + category_type: Optional[str] = None): + """ + The diagnostic settings category resource. + :param str id: Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + :param str name: The name of the resource + :param 'SystemDataResponse' system_data: The system metadata related to this resource. + :param str type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + :param Sequence[str] category_groups: the collection of what category groups are supported. + :param str category_type: The type of the diagnostic settings category. + """ + pulumi.set(__self__, "id", id) + pulumi.set(__self__, "name", name) + pulumi.set(__self__, "system_data", system_data) + pulumi.set(__self__, "type", type) + if category_groups is not None: + pulumi.set(__self__, "category_groups", category_groups) + if category_type is not None: + pulumi.set(__self__, "category_type", category_type) + + @property + @pulumi.getter + def id(self) -> str: + """ + Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + """ + return pulumi.get(self, "id") + + @property + @pulumi.getter + def name(self) -> str: + """ + The name of the resource + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="systemData") + def system_data(self) -> 'outputs.SystemDataResponse': + """ + The system metadata related to this resource. + """ + return pulumi.get(self, "system_data") + + @property + @pulumi.getter + def type(self) -> str: + """ + The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + """ + return pulumi.get(self, "type") + + @property + @pulumi.getter(name="categoryGroups") + def category_groups(self) -> Optional[Sequence[str]]: + """ + the collection of what category groups are supported. + """ + return pulumi.get(self, "category_groups") + + @property + @pulumi.getter(name="categoryType") + def category_type(self) -> Optional[str]: + """ + The type of the diagnostic settings category. + """ + return pulumi.get(self, "category_type") + + @pulumi.output_type class DimensionResponse(dict): """ @@ -1241,6 +1588,78 @@ def values(self) -> Sequence[str]: return pulumi.get(self, "values") +@pulumi.output_type +class EmailNotificationResponse(dict): + """ + Email notification of an autoscale event. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "customEmails": + suggest = "custom_emails" + elif key == "sendToSubscriptionAdministrator": + suggest = "send_to_subscription_administrator" + elif key == "sendToSubscriptionCoAdministrators": + suggest = "send_to_subscription_co_administrators" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in EmailNotificationResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + EmailNotificationResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + EmailNotificationResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + custom_emails: Optional[Sequence[str]] = None, + send_to_subscription_administrator: Optional[bool] = None, + send_to_subscription_co_administrators: Optional[bool] = None): + """ + Email notification of an autoscale event. + :param Sequence[str] custom_emails: the custom e-mails list. This value can be null or empty, in which case this attribute will be ignored. + :param bool send_to_subscription_administrator: a value indicating whether to send email to subscription administrator. + :param bool send_to_subscription_co_administrators: a value indicating whether to send email to subscription co-administrators. + """ + if custom_emails is not None: + pulumi.set(__self__, "custom_emails", custom_emails) + if send_to_subscription_administrator is None: + send_to_subscription_administrator = False + if send_to_subscription_administrator is not None: + pulumi.set(__self__, "send_to_subscription_administrator", send_to_subscription_administrator) + if send_to_subscription_co_administrators is None: + send_to_subscription_co_administrators = False + if send_to_subscription_co_administrators is not None: + pulumi.set(__self__, "send_to_subscription_co_administrators", send_to_subscription_co_administrators) + + @property + @pulumi.getter(name="customEmails") + def custom_emails(self) -> Optional[Sequence[str]]: + """ + the custom e-mails list. This value can be null or empty, in which case this attribute will be ignored. + """ + return pulumi.get(self, "custom_emails") + + @property + @pulumi.getter(name="sendToSubscriptionAdministrator") + def send_to_subscription_administrator(self) -> Optional[bool]: + """ + a value indicating whether to send email to subscription administrator. + """ + return pulumi.get(self, "send_to_subscription_administrator") + + @property + @pulumi.getter(name="sendToSubscriptionCoAdministrators") + def send_to_subscription_co_administrators(self) -> Optional[bool]: + """ + a value indicating whether to send email to subscription co-administrators. + """ + return pulumi.get(self, "send_to_subscription_co_administrators") + + @pulumi.output_type class EmailReceiverResponse(dict): """ @@ -1992,6 +2411,83 @@ def field_name(self) -> Optional[str]: return pulumi.get(self, "field_name") +@pulumi.output_type +class LogSettingsResponse(dict): + """ + Part of MultiTenantDiagnosticSettings. Specifies the settings for a particular log. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "categoryGroup": + suggest = "category_group" + elif key == "retentionPolicy": + suggest = "retention_policy" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in LogSettingsResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + LogSettingsResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + LogSettingsResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + enabled: bool, + category: Optional[str] = None, + category_group: Optional[str] = None, + retention_policy: Optional['outputs.RetentionPolicyResponse'] = None): + """ + Part of MultiTenantDiagnosticSettings. Specifies the settings for a particular log. + :param bool enabled: a value indicating whether this log is enabled. + :param str category: Name of a Diagnostic Log category for a resource type this setting is applied to. To obtain the list of Diagnostic Log categories for a resource, first perform a GET diagnostic settings operation. + :param str category_group: Name of a Diagnostic Log category group for a resource type this setting is applied to. To obtain the list of Diagnostic Log categories for a resource, first perform a GET diagnostic settings operation. + :param 'RetentionPolicyResponse' retention_policy: the retention policy for this log. + """ + pulumi.set(__self__, "enabled", enabled) + if category is not None: + pulumi.set(__self__, "category", category) + if category_group is not None: + pulumi.set(__self__, "category_group", category_group) + if retention_policy is not None: + pulumi.set(__self__, "retention_policy", retention_policy) + + @property + @pulumi.getter + def enabled(self) -> bool: + """ + a value indicating whether this log is enabled. + """ + return pulumi.get(self, "enabled") + + @property + @pulumi.getter + def category(self) -> Optional[str]: + """ + Name of a Diagnostic Log category for a resource type this setting is applied to. To obtain the list of Diagnostic Log categories for a resource, first perform a GET diagnostic settings operation. + """ + return pulumi.get(self, "category") + + @property + @pulumi.getter(name="categoryGroup") + def category_group(self) -> Optional[str]: + """ + Name of a Diagnostic Log category group for a resource type this setting is applied to. To obtain the list of Diagnostic Log categories for a resource, first perform a GET diagnostic settings operation. + """ + return pulumi.get(self, "category_group") + + @property + @pulumi.getter(name="retentionPolicy") + def retention_policy(self) -> Optional['outputs.RetentionPolicyResponse']: + """ + the retention policy for this log. + """ + return pulumi.get(self, "retention_policy") + + @pulumi.output_type class LogicAppReceiverResponse(dict): """ @@ -2163,27 +2659,345 @@ def user_assigned_identities(self) -> Optional[Mapping[str, 'outputs.UserAssigne @pulumi.output_type -class MetricsResponse(dict): +class ManagementGroupLogSettingsResponse(dict): """ - Information about metrics for the workspace + Part of Management Group diagnostic setting. Specifies the settings for a particular log. """ @staticmethod def __key_warning(key: str): suggest = None - if key == "internalId": - suggest = "internal_id" - elif key == "prometheusQueryEndpoint": - suggest = "prometheus_query_endpoint" + if key == "categoryGroup": + suggest = "category_group" if suggest: - pulumi.log.warn(f"Key '{key}' not found in MetricsResponse. Access the value via the '{suggest}' property getter instead.") + pulumi.log.warn(f"Key '{key}' not found in ManagementGroupLogSettingsResponse. Access the value via the '{suggest}' property getter instead.") def __getitem__(self, key: str) -> Any: - MetricsResponse.__key_warning(key) + ManagementGroupLogSettingsResponse.__key_warning(key) return super().__getitem__(key) def get(self, key: str, default = None) -> Any: - MetricsResponse.__key_warning(key) + ManagementGroupLogSettingsResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + enabled: bool, + category: Optional[str] = None, + category_group: Optional[str] = None): + """ + Part of Management Group diagnostic setting. Specifies the settings for a particular log. + :param bool enabled: a value indicating whether this log is enabled. + :param str category: Name of a Management Group Diagnostic Log category for a resource type this setting is applied to. + :param str category_group: Name of a Management Group Diagnostic Log category group for a resource type this setting is applied to. + """ + pulumi.set(__self__, "enabled", enabled) + if category is not None: + pulumi.set(__self__, "category", category) + if category_group is not None: + pulumi.set(__self__, "category_group", category_group) + + @property + @pulumi.getter + def enabled(self) -> bool: + """ + a value indicating whether this log is enabled. + """ + return pulumi.get(self, "enabled") + + @property + @pulumi.getter + def category(self) -> Optional[str]: + """ + Name of a Management Group Diagnostic Log category for a resource type this setting is applied to. + """ + return pulumi.get(self, "category") + + @property + @pulumi.getter(name="categoryGroup") + def category_group(self) -> Optional[str]: + """ + Name of a Management Group Diagnostic Log category group for a resource type this setting is applied to. + """ + return pulumi.get(self, "category_group") + + +@pulumi.output_type +class MetricSettingsResponse(dict): + """ + Part of MultiTenantDiagnosticSettings. Specifies the settings for a particular metric. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "retentionPolicy": + suggest = "retention_policy" + elif key == "timeGrain": + suggest = "time_grain" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in MetricSettingsResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + MetricSettingsResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + MetricSettingsResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + enabled: bool, + category: Optional[str] = None, + retention_policy: Optional['outputs.RetentionPolicyResponse'] = None, + time_grain: Optional[str] = None): + """ + Part of MultiTenantDiagnosticSettings. Specifies the settings for a particular metric. + :param bool enabled: a value indicating whether this category is enabled. + :param str category: Name of a Diagnostic Metric category for a resource type this setting is applied to. To obtain the list of Diagnostic metric categories for a resource, first perform a GET diagnostic settings operation. + :param 'RetentionPolicyResponse' retention_policy: the retention policy for this category. + :param str time_grain: the timegrain of the metric in ISO8601 format. + """ + pulumi.set(__self__, "enabled", enabled) + if category is not None: + pulumi.set(__self__, "category", category) + if retention_policy is not None: + pulumi.set(__self__, "retention_policy", retention_policy) + if time_grain is not None: + pulumi.set(__self__, "time_grain", time_grain) + + @property + @pulumi.getter + def enabled(self) -> bool: + """ + a value indicating whether this category is enabled. + """ + return pulumi.get(self, "enabled") + + @property + @pulumi.getter + def category(self) -> Optional[str]: + """ + Name of a Diagnostic Metric category for a resource type this setting is applied to. To obtain the list of Diagnostic metric categories for a resource, first perform a GET diagnostic settings operation. + """ + return pulumi.get(self, "category") + + @property + @pulumi.getter(name="retentionPolicy") + def retention_policy(self) -> Optional['outputs.RetentionPolicyResponse']: + """ + the retention policy for this category. + """ + return pulumi.get(self, "retention_policy") + + @property + @pulumi.getter(name="timeGrain") + def time_grain(self) -> Optional[str]: + """ + the timegrain of the metric in ISO8601 format. + """ + return pulumi.get(self, "time_grain") + + +@pulumi.output_type +class MetricTriggerResponse(dict): + """ + The trigger that results in a scaling action. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "metricName": + suggest = "metric_name" + elif key == "metricResourceUri": + suggest = "metric_resource_uri" + elif key == "timeAggregation": + suggest = "time_aggregation" + elif key == "timeGrain": + suggest = "time_grain" + elif key == "timeWindow": + suggest = "time_window" + elif key == "dividePerInstance": + suggest = "divide_per_instance" + elif key == "metricNamespace": + suggest = "metric_namespace" + elif key == "metricResourceLocation": + suggest = "metric_resource_location" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in MetricTriggerResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + MetricTriggerResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + MetricTriggerResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + metric_name: str, + metric_resource_uri: str, + operator: str, + statistic: str, + threshold: float, + time_aggregation: str, + time_grain: str, + time_window: str, + dimensions: Optional[Sequence['outputs.ScaleRuleMetricDimensionResponse']] = None, + divide_per_instance: Optional[bool] = None, + metric_namespace: Optional[str] = None, + metric_resource_location: Optional[str] = None): + """ + The trigger that results in a scaling action. + :param str metric_name: the name of the metric that defines what the rule monitors. + :param str metric_resource_uri: the resource identifier of the resource the rule monitors. + :param str operator: the operator that is used to compare the metric data and the threshold. + :param str statistic: the metric statistic type. How the metrics from multiple instances are combined. + :param float threshold: the threshold of the metric that triggers the scale action. + :param str time_aggregation: time aggregation type. How the data that is collected should be combined over time. The default value is Average. + :param str time_grain: the granularity of metrics the rule monitors. Must be one of the predefined values returned from metric definitions for the metric. Must be between 12 hours and 1 minute. + :param str time_window: the range of time in which instance data is collected. This value must be greater than the delay in metric collection, which can vary from resource-to-resource. Must be between 12 hours and 5 minutes. + :param Sequence['ScaleRuleMetricDimensionResponse'] dimensions: List of dimension conditions. For example: [{"DimensionName":"AppName","Operator":"Equals","Values":["App1"]},{"DimensionName":"Deployment","Operator":"Equals","Values":["default"]}]. + :param bool divide_per_instance: a value indicating whether metric should divide per instance. + :param str metric_namespace: the namespace of the metric that defines what the rule monitors. + :param str metric_resource_location: the location of the resource the rule monitors. + """ + pulumi.set(__self__, "metric_name", metric_name) + pulumi.set(__self__, "metric_resource_uri", metric_resource_uri) + pulumi.set(__self__, "operator", operator) + pulumi.set(__self__, "statistic", statistic) + pulumi.set(__self__, "threshold", threshold) + pulumi.set(__self__, "time_aggregation", time_aggregation) + pulumi.set(__self__, "time_grain", time_grain) + pulumi.set(__self__, "time_window", time_window) + if dimensions is not None: + pulumi.set(__self__, "dimensions", dimensions) + if divide_per_instance is not None: + pulumi.set(__self__, "divide_per_instance", divide_per_instance) + if metric_namespace is not None: + pulumi.set(__self__, "metric_namespace", metric_namespace) + if metric_resource_location is not None: + pulumi.set(__self__, "metric_resource_location", metric_resource_location) + + @property + @pulumi.getter(name="metricName") + def metric_name(self) -> str: + """ + the name of the metric that defines what the rule monitors. + """ + return pulumi.get(self, "metric_name") + + @property + @pulumi.getter(name="metricResourceUri") + def metric_resource_uri(self) -> str: + """ + the resource identifier of the resource the rule monitors. + """ + return pulumi.get(self, "metric_resource_uri") + + @property + @pulumi.getter + def operator(self) -> str: + """ + the operator that is used to compare the metric data and the threshold. + """ + return pulumi.get(self, "operator") + + @property + @pulumi.getter + def statistic(self) -> str: + """ + the metric statistic type. How the metrics from multiple instances are combined. + """ + return pulumi.get(self, "statistic") + + @property + @pulumi.getter + def threshold(self) -> float: + """ + the threshold of the metric that triggers the scale action. + """ + return pulumi.get(self, "threshold") + + @property + @pulumi.getter(name="timeAggregation") + def time_aggregation(self) -> str: + """ + time aggregation type. How the data that is collected should be combined over time. The default value is Average. + """ + return pulumi.get(self, "time_aggregation") + + @property + @pulumi.getter(name="timeGrain") + def time_grain(self) -> str: + """ + the granularity of metrics the rule monitors. Must be one of the predefined values returned from metric definitions for the metric. Must be between 12 hours and 1 minute. + """ + return pulumi.get(self, "time_grain") + + @property + @pulumi.getter(name="timeWindow") + def time_window(self) -> str: + """ + the range of time in which instance data is collected. This value must be greater than the delay in metric collection, which can vary from resource-to-resource. Must be between 12 hours and 5 minutes. + """ + return pulumi.get(self, "time_window") + + @property + @pulumi.getter + def dimensions(self) -> Optional[Sequence['outputs.ScaleRuleMetricDimensionResponse']]: + """ + List of dimension conditions. For example: [{"DimensionName":"AppName","Operator":"Equals","Values":["App1"]},{"DimensionName":"Deployment","Operator":"Equals","Values":["default"]}]. + """ + return pulumi.get(self, "dimensions") + + @property + @pulumi.getter(name="dividePerInstance") + def divide_per_instance(self) -> Optional[bool]: + """ + a value indicating whether metric should divide per instance. + """ + return pulumi.get(self, "divide_per_instance") + + @property + @pulumi.getter(name="metricNamespace") + def metric_namespace(self) -> Optional[str]: + """ + the namespace of the metric that defines what the rule monitors. + """ + return pulumi.get(self, "metric_namespace") + + @property + @pulumi.getter(name="metricResourceLocation") + def metric_resource_location(self) -> Optional[str]: + """ + the location of the resource the rule monitors. + """ + return pulumi.get(self, "metric_resource_location") + + +@pulumi.output_type +class MetricsResponse(dict): + """ + Information about metrics for the workspace + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "internalId": + suggest = "internal_id" + elif key == "prometheusQueryEndpoint": + suggest = "prometheus_query_endpoint" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in MetricsResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + MetricsResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + MetricsResponse.__key_warning(key) return super().get(key, default) def __init__(__self__, *, @@ -2571,6 +3385,59 @@ def processors(self) -> Optional[Sequence[str]]: return pulumi.get(self, "processors") +@pulumi.output_type +class PredictiveAutoscalePolicyResponse(dict): + """ + The parameters for enabling predictive autoscale. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "scaleMode": + suggest = "scale_mode" + elif key == "scaleLookAheadTime": + suggest = "scale_look_ahead_time" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in PredictiveAutoscalePolicyResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + PredictiveAutoscalePolicyResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + PredictiveAutoscalePolicyResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + scale_mode: str, + scale_look_ahead_time: Optional[str] = None): + """ + The parameters for enabling predictive autoscale. + :param str scale_mode: the predictive autoscale mode + :param str scale_look_ahead_time: the amount of time to specify by which instances are launched in advance. It must be between 1 minute and 60 minutes in ISO 8601 format. + """ + pulumi.set(__self__, "scale_mode", scale_mode) + if scale_look_ahead_time is not None: + pulumi.set(__self__, "scale_look_ahead_time", scale_look_ahead_time) + + @property + @pulumi.getter(name="scaleMode") + def scale_mode(self) -> str: + """ + the predictive autoscale mode + """ + return pulumi.get(self, "scale_mode") + + @property + @pulumi.getter(name="scaleLookAheadTime") + def scale_look_ahead_time(self) -> Optional[str]: + """ + the amount of time to specify by which instances are launched in advance. It must be between 1 minute and 60 minutes in ISO 8601 format. + """ + return pulumi.get(self, "scale_look_ahead_time") + + @pulumi.output_type class PrivateEndpointConnectionResponse(dict): """ @@ -2948,6 +3815,111 @@ def to(self) -> str: return pulumi.get(self, "to") +@pulumi.output_type +class RecurrenceResponse(dict): + """ + The repeating times at which this profile begins. This element is not used if the FixedDate element is used. + """ + def __init__(__self__, *, + frequency: str, + schedule: 'outputs.RecurrentScheduleResponse'): + """ + The repeating times at which this profile begins. This element is not used if the FixedDate element is used. + :param str frequency: the recurrence frequency. How often the schedule profile should take effect. This value must be Week, meaning each week will have the same set of profiles. For example, to set a daily schedule, set **schedule** to every day of the week. The frequency property specifies that the schedule is repeated weekly. + :param 'RecurrentScheduleResponse' schedule: the scheduling constraints for when the profile begins. + """ + pulumi.set(__self__, "frequency", frequency) + pulumi.set(__self__, "schedule", schedule) + + @property + @pulumi.getter + def frequency(self) -> str: + """ + the recurrence frequency. How often the schedule profile should take effect. This value must be Week, meaning each week will have the same set of profiles. For example, to set a daily schedule, set **schedule** to every day of the week. The frequency property specifies that the schedule is repeated weekly. + """ + return pulumi.get(self, "frequency") + + @property + @pulumi.getter + def schedule(self) -> 'outputs.RecurrentScheduleResponse': + """ + the scheduling constraints for when the profile begins. + """ + return pulumi.get(self, "schedule") + + +@pulumi.output_type +class RecurrentScheduleResponse(dict): + """ + The scheduling constraints for when the profile begins. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "timeZone": + suggest = "time_zone" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in RecurrentScheduleResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + RecurrentScheduleResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + RecurrentScheduleResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + days: Sequence[str], + hours: Sequence[int], + minutes: Sequence[int], + time_zone: str): + """ + The scheduling constraints for when the profile begins. + :param Sequence[str] days: the collection of days that the profile takes effect on. Possible values are Sunday through Saturday. + :param Sequence[int] hours: A collection of hours that the profile takes effect on. Values supported are 0 to 23 on the 24-hour clock (AM/PM times are not supported). + :param Sequence[int] minutes: A collection of minutes at which the profile takes effect at. + :param str time_zone: the timezone for the hours of the profile. Some examples of valid time zones are: Dateline Standard Time, UTC-11, Hawaiian Standard Time, Alaskan Standard Time, Pacific Standard Time (Mexico), Pacific Standard Time, US Mountain Standard Time, Mountain Standard Time (Mexico), Mountain Standard Time, Central America Standard Time, Central Standard Time, Central Standard Time (Mexico), Canada Central Standard Time, SA Pacific Standard Time, Eastern Standard Time, US Eastern Standard Time, Venezuela Standard Time, Paraguay Standard Time, Atlantic Standard Time, Central Brazilian Standard Time, SA Western Standard Time, Pacific SA Standard Time, Newfoundland Standard Time, E. South America Standard Time, Argentina Standard Time, SA Eastern Standard Time, Greenland Standard Time, Montevideo Standard Time, Bahia Standard Time, UTC-02, Mid-Atlantic Standard Time, Azores Standard Time, Cape Verde Standard Time, Morocco Standard Time, UTC, GMT Standard Time, Greenwich Standard Time, W. Europe Standard Time, Central Europe Standard Time, Romance Standard Time, Central European Standard Time, W. Central Africa Standard Time, Namibia Standard Time, Jordan Standard Time, GTB Standard Time, Middle East Standard Time, Egypt Standard Time, Syria Standard Time, E. Europe Standard Time, South Africa Standard Time, FLE Standard Time, Turkey Standard Time, Israel Standard Time, Kaliningrad Standard Time, Libya Standard Time, Arabic Standard Time, Arab Standard Time, Belarus Standard Time, Russian Standard Time, E. Africa Standard Time, Iran Standard Time, Arabian Standard Time, Azerbaijan Standard Time, Russia Time Zone 3, Mauritius Standard Time, Georgian Standard Time, Caucasus Standard Time, Afghanistan Standard Time, West Asia Standard Time, Ekaterinburg Standard Time, Pakistan Standard Time, India Standard Time, Sri Lanka Standard Time, Nepal Standard Time, Central Asia Standard Time, Bangladesh Standard Time, N. Central Asia Standard Time, Myanmar Standard Time, SE Asia Standard Time, North Asia Standard Time, China Standard Time, North Asia East Standard Time, Singapore Standard Time, W. Australia Standard Time, Taipei Standard Time, Ulaanbaatar Standard Time, Tokyo Standard Time, Korea Standard Time, Yakutsk Standard Time, Cen. Australia Standard Time, AUS Central Standard Time, E. Australia Standard Time, AUS Eastern Standard Time, West Pacific Standard Time, Tasmania Standard Time, Magadan Standard Time, Vladivostok Standard Time, Russia Time Zone 10, Central Pacific Standard Time, Russia Time Zone 11, New Zealand Standard Time, UTC+12, Fiji Standard Time, Kamchatka Standard Time, Tonga Standard Time, Samoa Standard Time, Line Islands Standard Time + """ + pulumi.set(__self__, "days", days) + pulumi.set(__self__, "hours", hours) + pulumi.set(__self__, "minutes", minutes) + pulumi.set(__self__, "time_zone", time_zone) + + @property + @pulumi.getter + def days(self) -> Sequence[str]: + """ + the collection of days that the profile takes effect on. Possible values are Sunday through Saturday. + """ + return pulumi.get(self, "days") + + @property + @pulumi.getter + def hours(self) -> Sequence[int]: + """ + A collection of hours that the profile takes effect on. Values supported are 0 to 23 on the 24-hour clock (AM/PM times are not supported). + """ + return pulumi.get(self, "hours") + + @property + @pulumi.getter + def minutes(self) -> Sequence[int]: + """ + A collection of minutes at which the profile takes effect at. + """ + return pulumi.get(self, "minutes") + + @property + @pulumi.getter(name="timeZone") + def time_zone(self) -> str: + """ + the timezone for the hours of the profile. Some examples of valid time zones are: Dateline Standard Time, UTC-11, Hawaiian Standard Time, Alaskan Standard Time, Pacific Standard Time (Mexico), Pacific Standard Time, US Mountain Standard Time, Mountain Standard Time (Mexico), Mountain Standard Time, Central America Standard Time, Central Standard Time, Central Standard Time (Mexico), Canada Central Standard Time, SA Pacific Standard Time, Eastern Standard Time, US Eastern Standard Time, Venezuela Standard Time, Paraguay Standard Time, Atlantic Standard Time, Central Brazilian Standard Time, SA Western Standard Time, Pacific SA Standard Time, Newfoundland Standard Time, E. South America Standard Time, Argentina Standard Time, SA Eastern Standard Time, Greenland Standard Time, Montevideo Standard Time, Bahia Standard Time, UTC-02, Mid-Atlantic Standard Time, Azores Standard Time, Cape Verde Standard Time, Morocco Standard Time, UTC, GMT Standard Time, Greenwich Standard Time, W. Europe Standard Time, Central Europe Standard Time, Romance Standard Time, Central European Standard Time, W. Central Africa Standard Time, Namibia Standard Time, Jordan Standard Time, GTB Standard Time, Middle East Standard Time, Egypt Standard Time, Syria Standard Time, E. Europe Standard Time, South Africa Standard Time, FLE Standard Time, Turkey Standard Time, Israel Standard Time, Kaliningrad Standard Time, Libya Standard Time, Arabic Standard Time, Arab Standard Time, Belarus Standard Time, Russian Standard Time, E. Africa Standard Time, Iran Standard Time, Arabian Standard Time, Azerbaijan Standard Time, Russia Time Zone 3, Mauritius Standard Time, Georgian Standard Time, Caucasus Standard Time, Afghanistan Standard Time, West Asia Standard Time, Ekaterinburg Standard Time, Pakistan Standard Time, India Standard Time, Sri Lanka Standard Time, Nepal Standard Time, Central Asia Standard Time, Bangladesh Standard Time, N. Central Asia Standard Time, Myanmar Standard Time, SE Asia Standard Time, North Asia Standard Time, China Standard Time, North Asia East Standard Time, Singapore Standard Time, W. Australia Standard Time, Taipei Standard Time, Ulaanbaatar Standard Time, Tokyo Standard Time, Korea Standard Time, Yakutsk Standard Time, Cen. Australia Standard Time, AUS Central Standard Time, E. Australia Standard Time, AUS Eastern Standard Time, West Pacific Standard Time, Tasmania Standard Time, Magadan Standard Time, Vladivostok Standard Time, Russia Time Zone 10, Central Pacific Standard Time, Russia Time Zone 11, New Zealand Standard Time, UTC+12, Fiji Standard Time, Kamchatka Standard Time, Tonga Standard Time, Samoa Standard Time, Line Islands Standard Time + """ + return pulumi.get(self, "time_zone") + + @pulumi.output_type class ResourceMapResponse(dict): """ @@ -2998,6 +3970,39 @@ def to(self) -> str: return pulumi.get(self, "to") +@pulumi.output_type +class RetentionPolicyResponse(dict): + """ + Specifies the retention policy for the log. + """ + def __init__(__self__, *, + days: int, + enabled: bool): + """ + Specifies the retention policy for the log. + :param int days: the number of days for the retention in days. A value of 0 will retain the events indefinitely. + :param bool enabled: a value indicating whether the retention policy is enabled. + """ + pulumi.set(__self__, "days", days) + pulumi.set(__self__, "enabled", enabled) + + @property + @pulumi.getter + def days(self) -> int: + """ + the number of days for the retention in days. A value of 0 will retain the events indefinitely. + """ + return pulumi.get(self, "days") + + @property + @pulumi.getter + def enabled(self) -> bool: + """ + a value indicating whether the retention policy is enabled. + """ + return pulumi.get(self, "enabled") + + @pulumi.output_type class RuleResolveConfigurationResponse(dict): """ @@ -3052,6 +4057,221 @@ def time_to_resolve(self) -> Optional[str]: return pulumi.get(self, "time_to_resolve") +@pulumi.output_type +class ScaleActionResponse(dict): + """ + The parameters for the scaling action. + """ + def __init__(__self__, *, + cooldown: str, + direction: str, + type: str, + value: Optional[str] = None): + """ + The parameters for the scaling action. + :param str cooldown: the amount of time to wait since the last scaling action before this action occurs. It must be between 1 week and 1 minute in ISO 8601 format. + :param str direction: the scale direction. Whether the scaling action increases or decreases the number of instances. + :param str type: the type of action that should occur when the scale rule fires. + :param str value: the number of instances that are involved in the scaling action. This value must be 1 or greater. The default value is 1. + """ + pulumi.set(__self__, "cooldown", cooldown) + pulumi.set(__self__, "direction", direction) + pulumi.set(__self__, "type", type) + if value is None: + value = '1' + if value is not None: + pulumi.set(__self__, "value", value) + + @property + @pulumi.getter + def cooldown(self) -> str: + """ + the amount of time to wait since the last scaling action before this action occurs. It must be between 1 week and 1 minute in ISO 8601 format. + """ + return pulumi.get(self, "cooldown") + + @property + @pulumi.getter + def direction(self) -> str: + """ + the scale direction. Whether the scaling action increases or decreases the number of instances. + """ + return pulumi.get(self, "direction") + + @property + @pulumi.getter + def type(self) -> str: + """ + the type of action that should occur when the scale rule fires. + """ + return pulumi.get(self, "type") + + @property + @pulumi.getter + def value(self) -> Optional[str]: + """ + the number of instances that are involved in the scaling action. This value must be 1 or greater. The default value is 1. + """ + return pulumi.get(self, "value") + + +@pulumi.output_type +class ScaleCapacityResponse(dict): + """ + The number of instances that can be used during this profile. + """ + def __init__(__self__, *, + default: str, + maximum: str, + minimum: str): + """ + The number of instances that can be used during this profile. + :param str default: the number of instances that will be set if metrics are not available for evaluation. The default is only used if the current instance count is lower than the default. + :param str maximum: the maximum number of instances for the resource. The actual maximum number of instances is limited by the cores that are available in the subscription. + :param str minimum: the minimum number of instances for the resource. + """ + pulumi.set(__self__, "default", default) + pulumi.set(__self__, "maximum", maximum) + pulumi.set(__self__, "minimum", minimum) + + @property + @pulumi.getter + def default(self) -> str: + """ + the number of instances that will be set if metrics are not available for evaluation. The default is only used if the current instance count is lower than the default. + """ + return pulumi.get(self, "default") + + @property + @pulumi.getter + def maximum(self) -> str: + """ + the maximum number of instances for the resource. The actual maximum number of instances is limited by the cores that are available in the subscription. + """ + return pulumi.get(self, "maximum") + + @property + @pulumi.getter + def minimum(self) -> str: + """ + the minimum number of instances for the resource. + """ + return pulumi.get(self, "minimum") + + +@pulumi.output_type +class ScaleRuleMetricDimensionResponse(dict): + """ + Specifies an auto scale rule metric dimension. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "dimensionName": + suggest = "dimension_name" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ScaleRuleMetricDimensionResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ScaleRuleMetricDimensionResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ScaleRuleMetricDimensionResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + dimension_name: str, + operator: str, + values: Sequence[str]): + """ + Specifies an auto scale rule metric dimension. + :param str dimension_name: Name of the dimension. + :param str operator: the dimension operator. Only 'Equals' and 'NotEquals' are supported. 'Equals' being equal to any of the values. 'NotEquals' being not equal to all of the values + :param Sequence[str] values: list of dimension values. For example: ["App1","App2"]. + """ + pulumi.set(__self__, "dimension_name", dimension_name) + pulumi.set(__self__, "operator", operator) + pulumi.set(__self__, "values", values) + + @property + @pulumi.getter(name="dimensionName") + def dimension_name(self) -> str: + """ + Name of the dimension. + """ + return pulumi.get(self, "dimension_name") + + @property + @pulumi.getter + def operator(self) -> str: + """ + the dimension operator. Only 'Equals' and 'NotEquals' are supported. 'Equals' being equal to any of the values. 'NotEquals' being not equal to all of the values + """ + return pulumi.get(self, "operator") + + @property + @pulumi.getter + def values(self) -> Sequence[str]: + """ + list of dimension values. For example: ["App1","App2"]. + """ + return pulumi.get(self, "values") + + +@pulumi.output_type +class ScaleRuleResponse(dict): + """ + A rule that provide the triggers and parameters for the scaling action. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "metricTrigger": + suggest = "metric_trigger" + elif key == "scaleAction": + suggest = "scale_action" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ScaleRuleResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ScaleRuleResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ScaleRuleResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + metric_trigger: 'outputs.MetricTriggerResponse', + scale_action: 'outputs.ScaleActionResponse'): + """ + A rule that provide the triggers and parameters for the scaling action. + :param 'MetricTriggerResponse' metric_trigger: the trigger that results in a scaling action. + :param 'ScaleActionResponse' scale_action: the parameters for the scaling action. + """ + pulumi.set(__self__, "metric_trigger", metric_trigger) + pulumi.set(__self__, "scale_action", scale_action) + + @property + @pulumi.getter(name="metricTrigger") + def metric_trigger(self) -> 'outputs.MetricTriggerResponse': + """ + the trigger that results in a scaling action. + """ + return pulumi.get(self, "metric_trigger") + + @property + @pulumi.getter(name="scaleAction") + def scale_action(self) -> 'outputs.ScaleActionResponse': + """ + the parameters for the scaling action. + """ + return pulumi.get(self, "scale_action") + + @pulumi.output_type class ScheduledQueryRuleCriteriaResponse(dict): """ @@ -3317,6 +4537,69 @@ def status(self) -> str: return pulumi.get(self, "status") +@pulumi.output_type +class SubscriptionLogSettingsResponse(dict): + """ + Part of Subscription diagnostic setting. Specifies the settings for a particular log. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "categoryGroup": + suggest = "category_group" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in SubscriptionLogSettingsResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + SubscriptionLogSettingsResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + SubscriptionLogSettingsResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + enabled: bool, + category: Optional[str] = None, + category_group: Optional[str] = None): + """ + Part of Subscription diagnostic setting. Specifies the settings for a particular log. + :param bool enabled: a value indicating whether this log is enabled. + :param str category: Name of a Subscription Diagnostic Log category for a resource type this setting is applied to. + :param str category_group: Name of a Subscription Diagnostic Log category group for a resource type this setting is applied to. + """ + pulumi.set(__self__, "enabled", enabled) + if category is not None: + pulumi.set(__self__, "category", category) + if category_group is not None: + pulumi.set(__self__, "category_group", category_group) + + @property + @pulumi.getter + def enabled(self) -> bool: + """ + a value indicating whether this log is enabled. + """ + return pulumi.get(self, "enabled") + + @property + @pulumi.getter + def category(self) -> Optional[str]: + """ + Name of a Subscription Diagnostic Log category for a resource type this setting is applied to. + """ + return pulumi.get(self, "category") + + @property + @pulumi.getter(name="categoryGroup") + def category_group(self) -> Optional[str]: + """ + Name of a Subscription Diagnostic Log category group for a resource type this setting is applied to. + """ + return pulumi.get(self, "category_group") + + @pulumi.output_type class SyslogReceiverResponse(dict): """ @@ -3485,6 +4768,68 @@ def url(self) -> str: return pulumi.get(self, "url") +@pulumi.output_type +class TimeWindowResponse(dict): + """ + A specific date-time for the profile. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "timeZone": + suggest = "time_zone" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in TimeWindowResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + TimeWindowResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + TimeWindowResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + end: str, + start: str, + time_zone: Optional[str] = None): + """ + A specific date-time for the profile. + :param str end: the end time for the profile in ISO 8601 format. + :param str start: the start time for the profile in ISO 8601 format. + :param str time_zone: the timezone of the start and end times for the profile. Some examples of valid time zones are: Dateline Standard Time, UTC-11, Hawaiian Standard Time, Alaskan Standard Time, Pacific Standard Time (Mexico), Pacific Standard Time, US Mountain Standard Time, Mountain Standard Time (Mexico), Mountain Standard Time, Central America Standard Time, Central Standard Time, Central Standard Time (Mexico), Canada Central Standard Time, SA Pacific Standard Time, Eastern Standard Time, US Eastern Standard Time, Venezuela Standard Time, Paraguay Standard Time, Atlantic Standard Time, Central Brazilian Standard Time, SA Western Standard Time, Pacific SA Standard Time, Newfoundland Standard Time, E. South America Standard Time, Argentina Standard Time, SA Eastern Standard Time, Greenland Standard Time, Montevideo Standard Time, Bahia Standard Time, UTC-02, Mid-Atlantic Standard Time, Azores Standard Time, Cape Verde Standard Time, Morocco Standard Time, UTC, GMT Standard Time, Greenwich Standard Time, W. Europe Standard Time, Central Europe Standard Time, Romance Standard Time, Central European Standard Time, W. Central Africa Standard Time, Namibia Standard Time, Jordan Standard Time, GTB Standard Time, Middle East Standard Time, Egypt Standard Time, Syria Standard Time, E. Europe Standard Time, South Africa Standard Time, FLE Standard Time, Turkey Standard Time, Israel Standard Time, Kaliningrad Standard Time, Libya Standard Time, Arabic Standard Time, Arab Standard Time, Belarus Standard Time, Russian Standard Time, E. Africa Standard Time, Iran Standard Time, Arabian Standard Time, Azerbaijan Standard Time, Russia Time Zone 3, Mauritius Standard Time, Georgian Standard Time, Caucasus Standard Time, Afghanistan Standard Time, West Asia Standard Time, Ekaterinburg Standard Time, Pakistan Standard Time, India Standard Time, Sri Lanka Standard Time, Nepal Standard Time, Central Asia Standard Time, Bangladesh Standard Time, N. Central Asia Standard Time, Myanmar Standard Time, SE Asia Standard Time, North Asia Standard Time, China Standard Time, North Asia East Standard Time, Singapore Standard Time, W. Australia Standard Time, Taipei Standard Time, Ulaanbaatar Standard Time, Tokyo Standard Time, Korea Standard Time, Yakutsk Standard Time, Cen. Australia Standard Time, AUS Central Standard Time, E. Australia Standard Time, AUS Eastern Standard Time, West Pacific Standard Time, Tasmania Standard Time, Magadan Standard Time, Vladivostok Standard Time, Russia Time Zone 10, Central Pacific Standard Time, Russia Time Zone 11, New Zealand Standard Time, UTC+12, Fiji Standard Time, Kamchatka Standard Time, Tonga Standard Time, Samoa Standard Time, Line Islands Standard Time + """ + pulumi.set(__self__, "end", end) + pulumi.set(__self__, "start", start) + if time_zone is not None: + pulumi.set(__self__, "time_zone", time_zone) + + @property + @pulumi.getter + def end(self) -> str: + """ + the end time for the profile in ISO 8601 format. + """ + return pulumi.get(self, "end") + + @property + @pulumi.getter + def start(self) -> str: + """ + the start time for the profile in ISO 8601 format. + """ + return pulumi.get(self, "start") + + @property + @pulumi.getter(name="timeZone") + def time_zone(self) -> Optional[str]: + """ + the timezone of the start and end times for the profile. Some examples of valid time zones are: Dateline Standard Time, UTC-11, Hawaiian Standard Time, Alaskan Standard Time, Pacific Standard Time (Mexico), Pacific Standard Time, US Mountain Standard Time, Mountain Standard Time (Mexico), Mountain Standard Time, Central America Standard Time, Central Standard Time, Central Standard Time (Mexico), Canada Central Standard Time, SA Pacific Standard Time, Eastern Standard Time, US Eastern Standard Time, Venezuela Standard Time, Paraguay Standard Time, Atlantic Standard Time, Central Brazilian Standard Time, SA Western Standard Time, Pacific SA Standard Time, Newfoundland Standard Time, E. South America Standard Time, Argentina Standard Time, SA Eastern Standard Time, Greenland Standard Time, Montevideo Standard Time, Bahia Standard Time, UTC-02, Mid-Atlantic Standard Time, Azores Standard Time, Cape Verde Standard Time, Morocco Standard Time, UTC, GMT Standard Time, Greenwich Standard Time, W. Europe Standard Time, Central Europe Standard Time, Romance Standard Time, Central European Standard Time, W. Central Africa Standard Time, Namibia Standard Time, Jordan Standard Time, GTB Standard Time, Middle East Standard Time, Egypt Standard Time, Syria Standard Time, E. Europe Standard Time, South Africa Standard Time, FLE Standard Time, Turkey Standard Time, Israel Standard Time, Kaliningrad Standard Time, Libya Standard Time, Arabic Standard Time, Arab Standard Time, Belarus Standard Time, Russian Standard Time, E. Africa Standard Time, Iran Standard Time, Arabian Standard Time, Azerbaijan Standard Time, Russia Time Zone 3, Mauritius Standard Time, Georgian Standard Time, Caucasus Standard Time, Afghanistan Standard Time, West Asia Standard Time, Ekaterinburg Standard Time, Pakistan Standard Time, India Standard Time, Sri Lanka Standard Time, Nepal Standard Time, Central Asia Standard Time, Bangladesh Standard Time, N. Central Asia Standard Time, Myanmar Standard Time, SE Asia Standard Time, North Asia Standard Time, China Standard Time, North Asia East Standard Time, Singapore Standard Time, W. Australia Standard Time, Taipei Standard Time, Ulaanbaatar Standard Time, Tokyo Standard Time, Korea Standard Time, Yakutsk Standard Time, Cen. Australia Standard Time, AUS Central Standard Time, E. Australia Standard Time, AUS Eastern Standard Time, West Pacific Standard Time, Tasmania Standard Time, Magadan Standard Time, Vladivostok Standard Time, Russia Time Zone 10, Central Pacific Standard Time, Russia Time Zone 11, New Zealand Standard Time, UTC+12, Fiji Standard Time, Kamchatka Standard Time, Tonga Standard Time, Samoa Standard Time, Line Islands Standard Time + """ + return pulumi.get(self, "time_zone") + + @pulumi.output_type class UdpReceiverResponse(dict): """ @@ -3733,6 +5078,58 @@ def phone_number(self) -> str: return pulumi.get(self, "phone_number") +@pulumi.output_type +class WebhookNotificationResponse(dict): + """ + Webhook notification of an autoscale event. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "serviceUri": + suggest = "service_uri" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in WebhookNotificationResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + WebhookNotificationResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + WebhookNotificationResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + properties: Optional[Mapping[str, str]] = None, + service_uri: Optional[str] = None): + """ + Webhook notification of an autoscale event. + :param Mapping[str, str] properties: a property bag of settings. This value can be empty. + :param str service_uri: the service address to receive the notification. + """ + if properties is not None: + pulumi.set(__self__, "properties", properties) + if service_uri is not None: + pulumi.set(__self__, "service_uri", service_uri) + + @property + @pulumi.getter + def properties(self) -> Optional[Mapping[str, str]]: + """ + a property bag of settings. This value can be empty. + """ + return pulumi.get(self, "properties") + + @property + @pulumi.getter(name="serviceUri") + def service_uri(self) -> Optional[str]: + """ + the service address to receive the notification. + """ + return pulumi.get(self, "service_uri") + + @pulumi.output_type class WebhookReceiverResponse(dict): """ diff --git a/sdk/python/pulumi_azure_native/monitor/subscription_diagnostic_setting.py b/sdk/python/pulumi_azure_native/monitor/subscription_diagnostic_setting.py new file mode 100644 index 000000000000..cf565094391b --- /dev/null +++ b/sdk/python/pulumi_azure_native/monitor/subscription_diagnostic_setting.py @@ -0,0 +1,365 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi-language-python. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import sys +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias +from .. import _utilities +from . import outputs +from ._inputs import * + +__all__ = ['SubscriptionDiagnosticSettingArgs', 'SubscriptionDiagnosticSetting'] + +@pulumi.input_type +class SubscriptionDiagnosticSettingArgs: + def __init__(__self__, *, + event_hub_authorization_rule_id: Optional[pulumi.Input[str]] = None, + event_hub_name: Optional[pulumi.Input[str]] = None, + logs: Optional[pulumi.Input[Sequence[pulumi.Input['SubscriptionLogSettingsArgs']]]] = None, + marketplace_partner_id: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + service_bus_rule_id: Optional[pulumi.Input[str]] = None, + storage_account_id: Optional[pulumi.Input[str]] = None, + workspace_id: Optional[pulumi.Input[str]] = None): + """ + The set of arguments for constructing a SubscriptionDiagnosticSetting resource. + :param pulumi.Input[str] event_hub_authorization_rule_id: The resource Id for the event hub authorization rule. + :param pulumi.Input[str] event_hub_name: The name of the event hub. If none is specified, the default event hub will be selected. + :param pulumi.Input[Sequence[pulumi.Input['SubscriptionLogSettingsArgs']]] logs: The list of logs settings. + :param pulumi.Input[str] marketplace_partner_id: The full ARM resource ID of the Marketplace resource to which you would like to send Diagnostic Logs. + :param pulumi.Input[str] name: The name of the diagnostic setting. + :param pulumi.Input[str] service_bus_rule_id: The service bus rule Id of the diagnostic setting. This is here to maintain backwards compatibility. + :param pulumi.Input[str] storage_account_id: The resource ID of the storage account to which you would like to send Diagnostic Logs. + :param pulumi.Input[str] workspace_id: The full ARM resource ID of the Log Analytics workspace to which you would like to send Diagnostic Logs. Example: /subscriptions/4b9e8510-67ab-4e9a-95a9-e2f1e570ea9c/resourceGroups/insights-integration/providers/Microsoft.OperationalInsights/workspaces/viruela2 + """ + if event_hub_authorization_rule_id is not None: + pulumi.set(__self__, "event_hub_authorization_rule_id", event_hub_authorization_rule_id) + if event_hub_name is not None: + pulumi.set(__self__, "event_hub_name", event_hub_name) + if logs is not None: + pulumi.set(__self__, "logs", logs) + if marketplace_partner_id is not None: + pulumi.set(__self__, "marketplace_partner_id", marketplace_partner_id) + if name is not None: + pulumi.set(__self__, "name", name) + if service_bus_rule_id is not None: + pulumi.set(__self__, "service_bus_rule_id", service_bus_rule_id) + if storage_account_id is not None: + pulumi.set(__self__, "storage_account_id", storage_account_id) + if workspace_id is not None: + pulumi.set(__self__, "workspace_id", workspace_id) + + @property + @pulumi.getter(name="eventHubAuthorizationRuleId") + def event_hub_authorization_rule_id(self) -> Optional[pulumi.Input[str]]: + """ + The resource Id for the event hub authorization rule. + """ + return pulumi.get(self, "event_hub_authorization_rule_id") + + @event_hub_authorization_rule_id.setter + def event_hub_authorization_rule_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "event_hub_authorization_rule_id", value) + + @property + @pulumi.getter(name="eventHubName") + def event_hub_name(self) -> Optional[pulumi.Input[str]]: + """ + The name of the event hub. If none is specified, the default event hub will be selected. + """ + return pulumi.get(self, "event_hub_name") + + @event_hub_name.setter + def event_hub_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "event_hub_name", value) + + @property + @pulumi.getter + def logs(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['SubscriptionLogSettingsArgs']]]]: + """ + The list of logs settings. + """ + return pulumi.get(self, "logs") + + @logs.setter + def logs(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['SubscriptionLogSettingsArgs']]]]): + pulumi.set(self, "logs", value) + + @property + @pulumi.getter(name="marketplacePartnerId") + def marketplace_partner_id(self) -> Optional[pulumi.Input[str]]: + """ + The full ARM resource ID of the Marketplace resource to which you would like to send Diagnostic Logs. + """ + return pulumi.get(self, "marketplace_partner_id") + + @marketplace_partner_id.setter + def marketplace_partner_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "marketplace_partner_id", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + The name of the diagnostic setting. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter(name="serviceBusRuleId") + def service_bus_rule_id(self) -> Optional[pulumi.Input[str]]: + """ + The service bus rule Id of the diagnostic setting. This is here to maintain backwards compatibility. + """ + return pulumi.get(self, "service_bus_rule_id") + + @service_bus_rule_id.setter + def service_bus_rule_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "service_bus_rule_id", value) + + @property + @pulumi.getter(name="storageAccountId") + def storage_account_id(self) -> Optional[pulumi.Input[str]]: + """ + The resource ID of the storage account to which you would like to send Diagnostic Logs. + """ + return pulumi.get(self, "storage_account_id") + + @storage_account_id.setter + def storage_account_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "storage_account_id", value) + + @property + @pulumi.getter(name="workspaceId") + def workspace_id(self) -> Optional[pulumi.Input[str]]: + """ + The full ARM resource ID of the Log Analytics workspace to which you would like to send Diagnostic Logs. Example: /subscriptions/4b9e8510-67ab-4e9a-95a9-e2f1e570ea9c/resourceGroups/insights-integration/providers/Microsoft.OperationalInsights/workspaces/viruela2 + """ + return pulumi.get(self, "workspace_id") + + @workspace_id.setter + def workspace_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "workspace_id", value) + + +class SubscriptionDiagnosticSetting(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + event_hub_authorization_rule_id: Optional[pulumi.Input[str]] = None, + event_hub_name: Optional[pulumi.Input[str]] = None, + logs: Optional[pulumi.Input[Sequence[pulumi.Input[Union['SubscriptionLogSettingsArgs', 'SubscriptionLogSettingsArgsDict']]]]] = None, + marketplace_partner_id: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + service_bus_rule_id: Optional[pulumi.Input[str]] = None, + storage_account_id: Optional[pulumi.Input[str]] = None, + workspace_id: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + The subscription diagnostic setting resource. + + Uses Azure REST API version 2021-05-01-preview. + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] event_hub_authorization_rule_id: The resource Id for the event hub authorization rule. + :param pulumi.Input[str] event_hub_name: The name of the event hub. If none is specified, the default event hub will be selected. + :param pulumi.Input[Sequence[pulumi.Input[Union['SubscriptionLogSettingsArgs', 'SubscriptionLogSettingsArgsDict']]]] logs: The list of logs settings. + :param pulumi.Input[str] marketplace_partner_id: The full ARM resource ID of the Marketplace resource to which you would like to send Diagnostic Logs. + :param pulumi.Input[str] name: The name of the diagnostic setting. + :param pulumi.Input[str] service_bus_rule_id: The service bus rule Id of the diagnostic setting. This is here to maintain backwards compatibility. + :param pulumi.Input[str] storage_account_id: The resource ID of the storage account to which you would like to send Diagnostic Logs. + :param pulumi.Input[str] workspace_id: The full ARM resource ID of the Log Analytics workspace to which you would like to send Diagnostic Logs. Example: /subscriptions/4b9e8510-67ab-4e9a-95a9-e2f1e570ea9c/resourceGroups/insights-integration/providers/Microsoft.OperationalInsights/workspaces/viruela2 + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: Optional[SubscriptionDiagnosticSettingArgs] = None, + opts: Optional[pulumi.ResourceOptions] = None): + """ + The subscription diagnostic setting resource. + + Uses Azure REST API version 2021-05-01-preview. + + :param str resource_name: The name of the resource. + :param SubscriptionDiagnosticSettingArgs args: The arguments to use to populate this resource's properties. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + ... + def __init__(__self__, resource_name: str, *args, **kwargs): + resource_args, opts = _utilities.get_resource_args_opts(SubscriptionDiagnosticSettingArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + event_hub_authorization_rule_id: Optional[pulumi.Input[str]] = None, + event_hub_name: Optional[pulumi.Input[str]] = None, + logs: Optional[pulumi.Input[Sequence[pulumi.Input[Union['SubscriptionLogSettingsArgs', 'SubscriptionLogSettingsArgsDict']]]]] = None, + marketplace_partner_id: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + service_bus_rule_id: Optional[pulumi.Input[str]] = None, + storage_account_id: Optional[pulumi.Input[str]] = None, + workspace_id: Optional[pulumi.Input[str]] = None, + __props__=None): + opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) + if not isinstance(opts, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + if opts.id is None: + if __props__ is not None: + raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') + __props__ = SubscriptionDiagnosticSettingArgs.__new__(SubscriptionDiagnosticSettingArgs) + + __props__.__dict__["event_hub_authorization_rule_id"] = event_hub_authorization_rule_id + __props__.__dict__["event_hub_name"] = event_hub_name + __props__.__dict__["logs"] = logs + __props__.__dict__["marketplace_partner_id"] = marketplace_partner_id + __props__.__dict__["name"] = name + __props__.__dict__["service_bus_rule_id"] = service_bus_rule_id + __props__.__dict__["storage_account_id"] = storage_account_id + __props__.__dict__["workspace_id"] = workspace_id + __props__.__dict__["azure_api_version"] = None + __props__.__dict__["system_data"] = None + __props__.__dict__["type"] = None + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:insights/v20170501preview:SubscriptionDiagnosticSetting"), pulumi.Alias(type_="azure-native:insights/v20210501preview:SubscriptionDiagnosticSetting"), pulumi.Alias(type_="azure-native:insights:SubscriptionDiagnosticSetting"), pulumi.Alias(type_="azure-native:monitor/v20170501preview:SubscriptionDiagnosticSetting"), pulumi.Alias(type_="azure-native:monitor/v20210501preview:SubscriptionDiagnosticSetting")]) + opts = pulumi.ResourceOptions.merge(opts, alias_opts) + super(SubscriptionDiagnosticSetting, __self__).__init__( + 'azure-native:monitor:SubscriptionDiagnosticSetting', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None) -> 'SubscriptionDiagnosticSetting': + """ + Get an existing SubscriptionDiagnosticSetting resource's state with the given name, id, and optional extra + properties used to qualify the lookup. + + :param str resource_name: The unique name of the resulting resource. + :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = SubscriptionDiagnosticSettingArgs.__new__(SubscriptionDiagnosticSettingArgs) + + __props__.__dict__["azure_api_version"] = None + __props__.__dict__["event_hub_authorization_rule_id"] = None + __props__.__dict__["event_hub_name"] = None + __props__.__dict__["logs"] = None + __props__.__dict__["marketplace_partner_id"] = None + __props__.__dict__["name"] = None + __props__.__dict__["service_bus_rule_id"] = None + __props__.__dict__["storage_account_id"] = None + __props__.__dict__["system_data"] = None + __props__.__dict__["type"] = None + __props__.__dict__["workspace_id"] = None + return SubscriptionDiagnosticSetting(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="azureApiVersion") + def azure_api_version(self) -> pulumi.Output[str]: + """ + The Azure API version of the resource. + """ + return pulumi.get(self, "azure_api_version") + + @property + @pulumi.getter(name="eventHubAuthorizationRuleId") + def event_hub_authorization_rule_id(self) -> pulumi.Output[Optional[str]]: + """ + The resource Id for the event hub authorization rule. + """ + return pulumi.get(self, "event_hub_authorization_rule_id") + + @property + @pulumi.getter(name="eventHubName") + def event_hub_name(self) -> pulumi.Output[Optional[str]]: + """ + The name of the event hub. If none is specified, the default event hub will be selected. + """ + return pulumi.get(self, "event_hub_name") + + @property + @pulumi.getter + def logs(self) -> pulumi.Output[Optional[Sequence['outputs.SubscriptionLogSettingsResponse']]]: + """ + The list of logs settings. + """ + return pulumi.get(self, "logs") + + @property + @pulumi.getter(name="marketplacePartnerId") + def marketplace_partner_id(self) -> pulumi.Output[Optional[str]]: + """ + The full ARM resource ID of the Marketplace resource to which you would like to send Diagnostic Logs. + """ + return pulumi.get(self, "marketplace_partner_id") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + The name of the resource + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="serviceBusRuleId") + def service_bus_rule_id(self) -> pulumi.Output[Optional[str]]: + """ + The service bus rule Id of the diagnostic setting. This is here to maintain backwards compatibility. + """ + return pulumi.get(self, "service_bus_rule_id") + + @property + @pulumi.getter(name="storageAccountId") + def storage_account_id(self) -> pulumi.Output[Optional[str]]: + """ + The resource ID of the storage account to which you would like to send Diagnostic Logs. + """ + return pulumi.get(self, "storage_account_id") + + @property + @pulumi.getter(name="systemData") + def system_data(self) -> pulumi.Output['outputs.SystemDataResponse']: + """ + The system metadata related to this resource. + """ + return pulumi.get(self, "system_data") + + @property + @pulumi.getter + def type(self) -> pulumi.Output[str]: + """ + The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + """ + return pulumi.get(self, "type") + + @property + @pulumi.getter(name="workspaceId") + def workspace_id(self) -> pulumi.Output[Optional[str]]: + """ + The full ARM resource ID of the Log Analytics workspace to which you would like to send Diagnostic Logs. Example: /subscriptions/4b9e8510-67ab-4e9a-95a9-e2f1e570ea9c/resourceGroups/insights-integration/providers/Microsoft.OperationalInsights/workspaces/viruela2 + """ + return pulumi.get(self, "workspace_id") + diff --git a/versions/v3-config.yaml b/versions/v3-config.yaml index 8e7f6793a455..8dbc248027c1 100644 --- a/versions/v3-config.yaml +++ b/versions/v3-config.yaml @@ -529,7 +529,7 @@ MobileNetwork: notes: | https://learn.microsoft.com/en-us/rest/api/mobilenetwork/mobile-networks Monitor: - explicit: true + expectAdditions: true notes: | Each API version only includes changed resources so no benefit in tracking a version Docs: https://learn.microsoft.com/en-us/rest/api/monitor/ diff --git a/versions/v3-removed.json b/versions/v3-removed.json index b0472199c778..aef9e53e4b62 100644 --- a/versions/v3-removed.json +++ b/versions/v3-removed.json @@ -884,7 +884,6 @@ "2020-10-01", "2021-02-01-preview", "2021-04-01", - "2021-05-01-preview", "2021-06-03-preview", "2021-07-01-preview", "2021-08-01", diff --git a/versions/v3-spec.yaml b/versions/v3-spec.yaml index 84935ad4a9f6..b87e268fd46e 100644 --- a/versions/v3-spec.yaml +++ b/versions/v3-spec.yaml @@ -931,15 +931,19 @@ MobileNetwork: MongoCluster: tracking: "2024-07-01" Monitor: + tracking: 2024-10-01-preview additions: - ActionGroup: 2024-10-01-preview + AutoscaleSetting: 2021-05-01-preview AzureMonitorWorkspace: 2023-10-01-preview - PipelineGroup: 2024-10-01-preview + DiagnosticSetting: 2021-05-01-preview + ManagementGroupDiagnosticSetting: 2021-05-01-preview PrivateEndpointConnection: 2023-06-01-preview PrivateLinkScope: 2023-06-01-preview PrivateLinkScopedResource: 2023-06-01-preview ScheduledQueryRule: 2024-01-01-preview + SubscriptionDiagnosticSetting: 2021-05-01-preview TenantActionGroup: 2023-05-01-preview + listDiagnosticSettingsCategory: 2021-05-01-preview MySQLDiscovery: tracking: 2024-09-30-preview NetApp: diff --git a/versions/v3.yaml b/versions/v3.yaml index 0b946c00fc2d..92e1341eddbe 100644 --- a/versions/v3.yaml +++ b/versions/v3.yaml @@ -8412,11 +8412,26 @@ Monitor: SpecFilePath: specification/monitor/resource-manager/Microsoft.Insights/preview/2024-10-01-preview/actionGroups_API.json ResourceUri: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/actionGroups/{actionGroupName} RpNamespace: Microsoft.Insights + AutoscaleSetting: + ApiVersion: 2021-05-01-preview + SpecFilePath: specification/monitor/resource-manager/Microsoft.Insights/preview/2021-05-01-preview/autoscale_API.json + ResourceUri: /subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Insights/autoscalesettings/{autoscaleSettingName} + RpNamespace: Microsoft.Insights AzureMonitorWorkspace: ApiVersion: 2023-10-01-preview SpecFilePath: specification/monitor/resource-manager/Microsoft.Monitor/preview/2023-10-01-preview/azuremonitor.json ResourceUri: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Monitor/accounts/{azureMonitorWorkspaceName} RpNamespace: Microsoft.Monitor + DiagnosticSetting: + ApiVersion: 2021-05-01-preview + SpecFilePath: specification/monitor/resource-manager/Microsoft.Insights/preview/2021-05-01-preview/diagnosticsSettings_API.json + ResourceUri: /{resourceUri}/providers/Microsoft.Insights/diagnosticSettings/{name} + RpNamespace: Microsoft.Insights + ManagementGroupDiagnosticSetting: + ApiVersion: 2021-05-01-preview + SpecFilePath: specification/monitor/resource-manager/Microsoft.Insights/preview/2021-05-01-preview/managementGroupDiagnosticSettings_API.json + ResourceUri: /providers/Microsoft.Management/managementGroups/{managementGroupId}/providers/Microsoft.Insights/diagnosticSettings/{name} + RpNamespace: Microsoft.Insights PipelineGroup: ApiVersion: 2024-10-01-preview SpecFilePath: specification/monitor/resource-manager/Microsoft.Monitor/PipelineGroups/preview/2024-10-01-preview/pipelineGroups.json @@ -8442,11 +8457,21 @@ Monitor: SpecFilePath: specification/monitor/resource-manager/Microsoft.Insights/preview/2024-01-01-preview/scheduledQueryRule_API.json ResourceUri: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/scheduledQueryRules/{ruleName} RpNamespace: Microsoft.Insights + SubscriptionDiagnosticSetting: + ApiVersion: 2021-05-01-preview + SpecFilePath: specification/monitor/resource-manager/Microsoft.Insights/preview/2021-05-01-preview/subscriptionDiagnosticsSettings_API.json + ResourceUri: /subscriptions/{subscriptionId}/providers/Microsoft.Insights/diagnosticSettings/{name} + RpNamespace: Microsoft.Insights TenantActionGroup: ApiVersion: 2023-05-01-preview SpecFilePath: specification/monitor/resource-manager/Microsoft.Insights/preview/2023-05-01-preview/tenantActionGroups_API.json ResourceUri: /providers/Microsoft.Management/managementGroups/{managementGroupId}/providers/Microsoft.Insights/tenantActionGroups/{tenantActionGroupName} RpNamespace: Microsoft.Insights + listDiagnosticSettingsCategory: + ApiVersion: 2021-05-01-preview + SpecFilePath: specification/monitor/resource-manager/Microsoft.Insights/preview/2021-05-01-preview/diagnosticsSettingsCategories_API.json + ResourceUri: /{resourceUri}/providers/Microsoft.Insights/diagnosticSettingsCategories + RpNamespace: Microsoft.Insights MySQLDiscovery: MySQLServer: ApiVersion: 2024-09-30-preview