diff --git a/patches/0010-Remove-function_app_schema-use_dotnet_isolated_runti.patch b/patches/0010-Remove-function_app_schema-use_dotnet_isolated_runti.patch
index 73f3322c58..854a7fc9b9 100644
--- a/patches/0010-Remove-function_app_schema-use_dotnet_isolated_runti.patch
+++ b/patches/0010-Remove-function_app_schema-use_dotnet_isolated_runti.patch
@@ -6,7 +6,7 @@ Subject: [PATCH] Remove function_app_schema use_dotnet_isolated_runtime
diff --git a/internal/services/appservice/helpers/function_app_schema.go b/internal/services/appservice/helpers/function_app_schema.go
-index b2517a4611..43700d4ca3 100644
+index ca7d021db9..7ca516bf9c 100644
--- a/internal/services/appservice/helpers/function_app_schema.go
+++ b/internal/services/appservice/helpers/function_app_schema.go
@@ -1084,10 +1084,11 @@ func linuxFunctionAppStackSchema() *pluginsdk.Schema {
diff --git a/patches/0013-Update-documentation.patch b/patches/0013-Update-documentation.patch
index aa3cf39c6d..531f9042fe 100644
--- a/patches/0013-Update-documentation.patch
+++ b/patches/0013-Update-documentation.patch
@@ -997,7 +997,7 @@ index ed1f00c577..a4568c1ce0 100644
---
diff --git a/website/docs/r/container_registry.html.markdown b/website/docs/r/container_registry.html.markdown
-index 01a845deab..6d790e8b1a 100644
+index caea0a5547..24ef646efd 100644
--- a/website/docs/r/container_registry.html.markdown
+++ b/website/docs/r/container_registry.html.markdown
@@ -11,9 +11,6 @@ description: |-
@@ -1011,7 +1011,7 @@ index 01a845deab..6d790e8b1a 100644
```hcl
diff --git a/website/docs/r/cosmosdb_account.html.markdown b/website/docs/r/cosmosdb_account.html.markdown
-index a9a31d7c49..c66eae0fc0 100644
+index 64b2e38ac6..2eca0a52b4 100644
--- a/website/docs/r/cosmosdb_account.html.markdown
+++ b/website/docs/r/cosmosdb_account.html.markdown
@@ -13,9 +13,9 @@ Manages a CosmosDB (formally DocumentDB) Account.
@@ -1874,7 +1874,7 @@ index 9a6128b0cf..98691c4977 100644
```hcl
resource "azurerm_resource_group" "example" {
diff --git a/website/docs/r/linux_virtual_machine_scale_set.html.markdown b/website/docs/r/linux_virtual_machine_scale_set.html.markdown
-index 096a2239d2..82264e43b7 100644
+index 767e1f5694..74a0645cdf 100644
--- a/website/docs/r/linux_virtual_machine_scale_set.html.markdown
+++ b/website/docs/r/linux_virtual_machine_scale_set.html.markdown
@@ -13,14 +13,11 @@ Manages a Linux Virtual Machine Scale Set.
@@ -1903,7 +1903,7 @@ index 096a2239d2..82264e43b7 100644
* `sku` - (Required) The Virtual Machine SKU for the Scale Set, such as `Standard_F2`.
-@@ -354,8 +351,6 @@ An `extension` block supports the following:
+@@ -356,8 +353,6 @@ An `extension` block supports the following:
-> **Note:** Keys within the `protected_settings` block are notoriously case-sensitive, where the casing required (e.g. TitleCase vs snakeCase) depends on the Extension being used. Please refer to the documentation for the specific Virtual Machine Extension you're looking to use for more information.
@@ -1912,7 +1912,7 @@ index 096a2239d2..82264e43b7 100644
* `protected_settings_from_key_vault` - (Optional) A `protected_settings_from_key_vault` block as defined below.
~> **Note:** `protected_settings_from_key_vault` cannot be used with `protected_settings`
-@@ -366,8 +361,6 @@ An `extension` block supports the following:
+@@ -368,8 +363,6 @@ An `extension` block supports the following:
-> **Note:** Keys within the `settings` block are notoriously case-sensitive, where the casing required (e.g. TitleCase vs snakeCase) depends on the Extension being used. Please refer to the documentation for the specific Virtual Machine Extension you're looking to use for more information.
@@ -2619,7 +2619,7 @@ index 90c61ffe39..0bcae5bfb2 100644
resource "azurerm_signalr_service" "example" {
diff --git a/website/docs/r/storage_blob.html.markdown b/website/docs/r/storage_blob.html.markdown
-index d5b970d394..34cf87d1ae 100644
+index bdc3186e4c..f20305321e 100644
--- a/website/docs/r/storage_blob.html.markdown
+++ b/website/docs/r/storage_blob.html.markdown
@@ -65,8 +65,6 @@ The following arguments are supported:
@@ -2630,7 +2630,7 @@ index d5b970d394..34cf87d1ae 100644
-
* `encryption_scope` - (Optional) The encryption scope to use for this blob.
- * `source` - (Optional) An absolute path to a file on the local system. This field cannot be specified for Append blobs and cannot be specified if `source_content` or `source_uri` is specified. Changing this forces a new resource to be created.
+ * `source` - (Optional) An absolute path to a file on the local system. This field cannot be specified for Append blobs and cannot be specified if `source_content` or `source_uri` is specified.
diff --git a/website/docs/r/storage_data_lake_gen2_path.html.markdown b/website/docs/r/storage_data_lake_gen2_path.html.markdown
index 6786f8eb01..38823a0fd4 100644
--- a/website/docs/r/storage_data_lake_gen2_path.html.markdown
@@ -2871,7 +2871,7 @@ index 45781e8d0b..7a87d33337 100644
```hcl
provider "azurerm" {
diff --git a/website/docs/r/windows_virtual_machine_scale_set.html.markdown b/website/docs/r/windows_virtual_machine_scale_set.html.markdown
-index ea1c14e83e..2ba2c339ad 100644
+index 56f2efcd7d..29d7c7e31f 100644
--- a/website/docs/r/windows_virtual_machine_scale_set.html.markdown
+++ b/website/docs/r/windows_virtual_machine_scale_set.html.markdown
@@ -12,17 +12,17 @@ Manages a Windows Virtual Machine Scale Set.
@@ -2904,7 +2904,7 @@ index ea1c14e83e..2ba2c339ad 100644
* `sku` - (Required) The Virtual Machine SKU for the Scale Set, such as `Standard_F2`.
-@@ -343,8 +343,6 @@ An `extension` block supports the following:
+@@ -345,8 +345,6 @@ An `extension` block supports the following:
-> **Note:** Keys within the `protected_settings` block are notoriously case-sensitive, where the casing required (e.g. TitleCase vs snakeCase) depends on the Extension being used. Please refer to the documentation for the specific Virtual Machine Extension you're looking to use for more information.
@@ -2913,7 +2913,7 @@ index ea1c14e83e..2ba2c339ad 100644
* `protected_settings_from_key_vault` - (Optional) A `protected_settings_from_key_vault` block as defined below.
~> **Note:** `protected_settings_from_key_vault` cannot be used with `protected_settings`
-@@ -355,8 +353,6 @@ An `extension` block supports the following:
+@@ -357,8 +355,6 @@ An `extension` block supports the following:
-> **Note:** Keys within the `settings` block are notoriously case-sensitive, where the casing required (e.g. TitleCase vs snakeCase) depends on the Extension being used. Please refer to the documentation for the specific Virtual Machine Extension you're looking to use for more information.
diff --git a/patches/0014-Fix-4.0-removed-resources.patch b/patches/0014-Fix-4.0-removed-resources.patch
index 5f29ea2846..ebe7b16e5d 100644
--- a/patches/0014-Fix-4.0-removed-resources.patch
+++ b/patches/0014-Fix-4.0-removed-resources.patch
@@ -16,23 +16,11 @@ index c1bf344a2b..dee7927610 100644
"azurerm_databricks_workspace_root_dbfs_customer_managed_key": resourceDatabricksWorkspaceRootDbfsCustomerManagedKey(),
"azurerm_databricks_virtual_network_peering": resourceDatabricksVirtualNetworkPeering(),
}
-diff --git a/internal/services/monitor/registration.go b/internal/services/monitor/registration.go
-index 269a7ee157..dfe684d0c2 100644
---- a/internal/services/monitor/registration.go
-+++ b/internal/services/monitor/registration.go
-@@ -77,7 +77,6 @@ func (r Registration) SupportedResources() map[string]*pluginsdk.Resource {
- "azurerm_monitor_action_group": resourceMonitorActionGroup(),
- "azurerm_monitor_activity_log_alert": resourceMonitorActivityLogAlert(),
- "azurerm_monitor_diagnostic_setting": resourceMonitorDiagnosticSetting(),
-- "azurerm_monitor_log_profile": resourceMonitorLogProfile(),
- "azurerm_monitor_metric_alert": resourceMonitorMetricAlert(),
- "azurerm_monitor_private_link_scope": resourceMonitorPrivateLinkScope(),
- "azurerm_monitor_private_link_scoped_service": resourceMonitorPrivateLinkScopedService(),
diff --git a/internal/services/network/registration.go b/internal/services/network/registration.go
-index 02205df6e2..da3e36ea42 100644
+index e3b217bfb4..c89871dbbe 100644
--- a/internal/services/network/registration.go
+++ b/internal/services/network/registration.go
-@@ -127,7 +127,6 @@ func (r Registration) SupportedResources() map[string]*pluginsdk.Resource {
+@@ -128,7 +128,6 @@ func (r Registration) SupportedResources() map[string]*pluginsdk.Resource {
"azurerm_network_interface_nat_rule_association": resourceNetworkInterfaceNatRuleAssociation(),
"azurerm_network_interface_security_group_association": resourceNetworkInterfaceSecurityGroupAssociation(),
diff --git a/provider/cmd/pulumi-resource-azure/bridge-metadata.json b/provider/cmd/pulumi-resource-azure/bridge-metadata.json
index 0600911d02..acef08ed14 100644
--- a/provider/cmd/pulumi-resource-azure/bridge-metadata.json
+++ b/provider/cmd/pulumi-resource-azure/bridge-metadata.json
@@ -59,6 +59,10 @@
"current": "azure:securitycenter/advancedThreatProtection:AdvancedThreatProtection",
"majorVersion": 6
},
+ "azurerm_advisor_suppression": {
+ "current": "azure:advisor/suppression:Suppression",
+ "majorVersion": 6
+ },
"azurerm_ai_services": {
"current": "azure:cognitive/aIServices:AIServices",
"majorVersion": 6,
@@ -5941,6 +5945,54 @@
}
}
},
+ "azurerm_data_protection_backup_policy_mysql_flexible_server": {
+ "current": "azure:dataprotection/backupPolicyMysqlFlexibleServer:BackupPolicyMysqlFlexibleServer",
+ "majorVersion": 6,
+ "fields": {
+ "backup_repeating_time_intervals": {
+ "maxItemsOne": false
+ },
+ "default_retention_rule": {
+ "maxItemsOne": true,
+ "elem": {
+ "fields": {
+ "life_cycle": {
+ "maxItemsOne": false
+ }
+ }
+ }
+ },
+ "retention_rule": {
+ "maxItemsOne": false,
+ "elem": {
+ "fields": {
+ "criteria": {
+ "maxItemsOne": true,
+ "elem": {
+ "fields": {
+ "days_of_week": {
+ "maxItemsOne": false
+ },
+ "months_of_year": {
+ "maxItemsOne": false
+ },
+ "scheduled_backup_times": {
+ "maxItemsOne": false
+ },
+ "weeks_of_month": {
+ "maxItemsOne": false
+ }
+ }
+ }
+ },
+ "life_cycle": {
+ "maxItemsOne": false
+ }
+ }
+ }
+ }
+ }
+ },
"azurerm_data_protection_backup_policy_postgresql": {
"current": "azure:dataprotection/backupPolicyPostgresql:BackupPolicyPostgresql",
"majorVersion": 6,
@@ -9947,6 +9999,10 @@
}
}
},
+ "azurerm_key_vault_managed_hardware_security_module_key_rotation_policy": {
+ "current": "azure:keyvault/managedHardwareSecurityModuleKeyRotationPolicy:ManagedHardwareSecurityModuleKeyRotationPolicy",
+ "majorVersion": 6
+ },
"azurerm_key_vault_managed_hardware_security_module_role_assignment": {
"current": "azure:keyvault/managedHardwareSecurityModuleRoleAssignment:ManagedHardwareSecurityModuleRoleAssignment",
"majorVersion": 6
@@ -18777,6 +18833,79 @@
}
}
},
+ "azurerm_stack_hci_deployment_setting": {
+ "current": "azure:stack/hciDeploymentSetting:HciDeploymentSetting",
+ "majorVersion": 6,
+ "fields": {
+ "arc_resource_ids": {
+ "maxItemsOne": false
+ },
+ "scale_unit": {
+ "maxItemsOne": false,
+ "elem": {
+ "fields": {
+ "cluster": {
+ "maxItemsOne": true
+ },
+ "host_network": {
+ "maxItemsOne": true,
+ "elem": {
+ "fields": {
+ "intent": {
+ "maxItemsOne": false,
+ "elem": {
+ "fields": {
+ "adapter": {
+ "maxItemsOne": false
+ },
+ "adapter_property_override": {
+ "maxItemsOne": true
+ },
+ "qos_policy_override": {
+ "maxItemsOne": true
+ },
+ "traffic_type": {
+ "maxItemsOne": false
+ },
+ "virtual_switch_configuration_override": {
+ "maxItemsOne": true
+ }
+ }
+ }
+ },
+ "storage_network": {
+ "maxItemsOne": false
+ }
+ }
+ }
+ },
+ "infrastructure_network": {
+ "maxItemsOne": false,
+ "elem": {
+ "fields": {
+ "dns_server": {
+ "maxItemsOne": false
+ },
+ "ip_pool": {
+ "maxItemsOne": false
+ }
+ }
+ }
+ },
+ "optional_service": {
+ "maxItemsOne": true
+ },
+ "physical_node": {
+ "maxItemsOne": false
+ },
+ "storage": {
+ "maxItemsOne": true
+ }
+ }
+ }
+ }
+ }
+ },
"azurerm_stack_hci_logical_network": {
"current": "azure:stack/hciLogicalNetwork:HciLogicalNetwork",
"majorVersion": 6,
@@ -18799,6 +18928,10 @@
}
}
},
+ "azurerm_stack_hci_storage_path": {
+ "current": "azure:stack/hciStoragePath:HciStoragePath",
+ "majorVersion": 6
+ },
"azurerm_static_site": {
"current": "azure:appservice/staticSite:StaticSite",
"majorVersion": 6,
@@ -29452,6 +29585,46 @@
}
}
},
+ "azurerm_vpn_server_configuration": {
+ "current": "azure:network/getVpnServerConfiguration:getVpnServerConfiguration",
+ "majorVersion": 6,
+ "fields": {
+ "azure_active_directory_authentication": {
+ "maxItemsOne": false
+ },
+ "client_revoked_certificate": {
+ "maxItemsOne": false
+ },
+ "client_root_certificate": {
+ "maxItemsOne": false
+ },
+ "ipsec_policy": {
+ "maxItemsOne": false
+ },
+ "radius": {
+ "maxItemsOne": false,
+ "elem": {
+ "fields": {
+ "client_root_certificate": {
+ "maxItemsOne": false
+ },
+ "server": {
+ "maxItemsOne": false
+ },
+ "server_root_certificate": {
+ "maxItemsOne": false
+ }
+ }
+ }
+ },
+ "vpn_authentication_types": {
+ "maxItemsOne": false
+ },
+ "vpn_protocols": {
+ "maxItemsOne": false
+ }
+ }
+ },
"azurerm_web_application_firewall_policy": {
"current": "azure:waf/getFirewallPolicy:getFirewallPolicy",
"majorVersion": 6
diff --git a/provider/cmd/pulumi-resource-azure/schema.json b/provider/cmd/pulumi-resource-azure/schema.json
index ee5c7cc94b..3b828b85e9 100644
--- a/provider/cmd/pulumi-resource-azure/schema.json
+++ b/provider/cmd/pulumi-resource-azure/schema.json
@@ -44176,7 +44176,7 @@
},
"revisionSuffix": {
"type": "string",
- "description": "The suffix string to which this `traffic_weight` applies.\n\n\u003e **Note:** `latest_revision` conflicts with `revision_suffix`, which means you shall either set `latest_revision` to `true` or specify `revision_suffix`. Especially for creation, there shall only be one `traffic_weight`, with the `latest_revision` set to `true`, and leave the `revision_suffix` empty.\n"
+ "description": "The suffix string to which this `traffic_weight` applies.\n\n\u003e **Note:** If `latest_revision` is `false`, the `revision_suffix` shall be specified.\n"
}
},
"type": "object",
@@ -57194,6 +57194,136 @@
"duration"
]
},
+ "azure:dataprotection/BackupPolicyMysqlFlexibleServerDefaultRetentionRule:BackupPolicyMysqlFlexibleServerDefaultRetentionRule": {
+ "properties": {
+ "lifeCycles": {
+ "type": "array",
+ "items": {
+ "$ref": "#/types/azure:dataprotection/BackupPolicyMysqlFlexibleServerDefaultRetentionRuleLifeCycle:BackupPolicyMysqlFlexibleServerDefaultRetentionRuleLifeCycle"
+ },
+ "description": "A `life_cycle` block as defined below. Changing this forces a new resource to be created.\n",
+ "willReplaceOnChanges": true
+ }
+ },
+ "type": "object",
+ "required": [
+ "lifeCycles"
+ ]
+ },
+ "azure:dataprotection/BackupPolicyMysqlFlexibleServerDefaultRetentionRuleLifeCycle:BackupPolicyMysqlFlexibleServerDefaultRetentionRuleLifeCycle": {
+ "properties": {
+ "dataStoreType": {
+ "type": "string",
+ "description": "The type of data store. The only possible value is `VaultStore`. Changing this forces a new resource to be created.\n",
+ "willReplaceOnChanges": true
+ },
+ "duration": {
+ "type": "string",
+ "description": "The retention duration up to which the backups are to be retained in the data stores. It should follow `ISO 8601` duration format. Changing this forces a new resource to be created.\n",
+ "willReplaceOnChanges": true
+ }
+ },
+ "type": "object",
+ "required": [
+ "dataStoreType",
+ "duration"
+ ]
+ },
+ "azure:dataprotection/BackupPolicyMysqlFlexibleServerRetentionRule:BackupPolicyMysqlFlexibleServerRetentionRule": {
+ "properties": {
+ "criteria": {
+ "$ref": "#/types/azure:dataprotection/BackupPolicyMysqlFlexibleServerRetentionRuleCriteria:BackupPolicyMysqlFlexibleServerRetentionRuleCriteria",
+ "description": "A `criteria` block as defined below. Changing this forces a new resource to be created.\n",
+ "willReplaceOnChanges": true
+ },
+ "lifeCycles": {
+ "type": "array",
+ "items": {
+ "$ref": "#/types/azure:dataprotection/BackupPolicyMysqlFlexibleServerRetentionRuleLifeCycle:BackupPolicyMysqlFlexibleServerRetentionRuleLifeCycle"
+ },
+ "description": "A `life_cycle` block as defined below. Changing this forces a new resource to be created.\n",
+ "willReplaceOnChanges": true
+ },
+ "name": {
+ "type": "string",
+ "description": "Specifies the name of the retention rule. Changing this forces a new resource to be created.\n",
+ "willReplaceOnChanges": true
+ },
+ "priority": {
+ "type": "integer",
+ "description": "Specifies the priority of the rule. The priority number must be unique for each rule. The lower the priority number, the higher the priority of the rule. Changing this forces a new resource to be created.\n",
+ "willReplaceOnChanges": true
+ }
+ },
+ "type": "object",
+ "required": [
+ "criteria",
+ "lifeCycles",
+ "name",
+ "priority"
+ ]
+ },
+ "azure:dataprotection/BackupPolicyMysqlFlexibleServerRetentionRuleCriteria:BackupPolicyMysqlFlexibleServerRetentionRuleCriteria": {
+ "properties": {
+ "absoluteCriteria": {
+ "type": "string",
+ "description": "Possible values are `AllBackup`, `FirstOfDay`, `FirstOfWeek`, `FirstOfMonth` and `FirstOfYear`. These values mean the first successful backup of the day/week/month/year. Changing this forces a new resource to be created.\n",
+ "willReplaceOnChanges": true
+ },
+ "daysOfWeeks": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Possible values are `Monday`, `Tuesday`, `Thursday`, `Friday`, `Saturday` and `Sunday`. Changing this forces a new resource to be created.\n",
+ "willReplaceOnChanges": true
+ },
+ "monthsOfYears": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Possible values are `January`, `February`, `March`, `April`, `May`, `June`, `July`, `August`, `September`, `October`, `November` and `December`. Changing this forces a new resource to be created.\n",
+ "willReplaceOnChanges": true
+ },
+ "scheduledBackupTimes": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Specifies a list of backup times for backup in the `RFC3339` format. Changing this forces a new resource to be created.\n",
+ "willReplaceOnChanges": true
+ },
+ "weeksOfMonths": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Possible values are `First`, `Second`, `Third`, `Fourth` and `Last`. Changing this forces a new resource to be created.\n",
+ "willReplaceOnChanges": true
+ }
+ },
+ "type": "object"
+ },
+ "azure:dataprotection/BackupPolicyMysqlFlexibleServerRetentionRuleLifeCycle:BackupPolicyMysqlFlexibleServerRetentionRuleLifeCycle": {
+ "properties": {
+ "dataStoreType": {
+ "type": "string",
+ "description": "The type of data store. The only possible value is `VaultStore`. Changing this forces a new resource to be created.\n",
+ "willReplaceOnChanges": true
+ },
+ "duration": {
+ "type": "string",
+ "description": "The retention duration up to which the backups are to be retained in the data stores. It should follow `ISO 8601` duration format. Changing this forces a new resource to be created.\n",
+ "willReplaceOnChanges": true
+ }
+ },
+ "type": "object",
+ "required": [
+ "dataStoreType",
+ "duration"
+ ]
+ },
"azure:dataprotection/BackupPolicyPostgresqlFlexibleServerDefaultRetentionRule:BackupPolicyPostgresqlFlexibleServerDefaultRetentionRule": {
"properties": {
"lifeCycles": {
@@ -88924,6 +89054,236 @@
}
}
},
+ "azure:network/getVpnServerConfigurationAzureActiveDirectoryAuthentication:getVpnServerConfigurationAzureActiveDirectoryAuthentication": {
+ "properties": {
+ "audience": {
+ "type": "string",
+ "description": "The Audience which should be used for authentication.\n"
+ },
+ "issuer": {
+ "type": "string",
+ "description": "The Issuer which should be used for authentication.\n"
+ },
+ "tenant": {
+ "type": "string",
+ "description": "The Tenant which should be used for authentication.\n"
+ }
+ },
+ "type": "object",
+ "required": [
+ "audience",
+ "issuer",
+ "tenant"
+ ],
+ "language": {
+ "nodejs": {
+ "requiredInputs": []
+ }
+ }
+ },
+ "azure:network/getVpnServerConfigurationClientRevokedCertificate:getVpnServerConfigurationClientRevokedCertificate": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The Name of the VPN Server Configuration.\n"
+ },
+ "thumbprint": {
+ "type": "string",
+ "description": "The Thumbprint of the Certificate.\n"
+ }
+ },
+ "type": "object",
+ "required": [
+ "name",
+ "thumbprint"
+ ],
+ "language": {
+ "nodejs": {
+ "requiredInputs": []
+ }
+ }
+ },
+ "azure:network/getVpnServerConfigurationClientRootCertificate:getVpnServerConfigurationClientRootCertificate": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The Name of the VPN Server Configuration.\n"
+ },
+ "publicCertData": {
+ "type": "string",
+ "description": "The Public Key Data associated with the Certificate.\n"
+ }
+ },
+ "type": "object",
+ "required": [
+ "name",
+ "publicCertData"
+ ],
+ "language": {
+ "nodejs": {
+ "requiredInputs": []
+ }
+ }
+ },
+ "azure:network/getVpnServerConfigurationIpsecPolicy:getVpnServerConfigurationIpsecPolicy": {
+ "properties": {
+ "dhGroup": {
+ "type": "string",
+ "description": "The DH Group, used in IKE Phase 1.\n"
+ },
+ "ikeEncryption": {
+ "type": "string",
+ "description": "The IKE encryption algorithm, used for IKE Phase 2.\n"
+ },
+ "ikeIntegrity": {
+ "type": "string",
+ "description": "The IKE encryption integrity algorithm, used for IKE Phase 2.\n"
+ },
+ "ipsecEncryption": {
+ "type": "string",
+ "description": "The IPSec encryption algorithm, used for IKE phase 1.\n"
+ },
+ "ipsecIntegrity": {
+ "type": "string",
+ "description": "The IPSec integrity algorithm, used for IKE phase 1.\n"
+ },
+ "pfsGroup": {
+ "type": "string",
+ "description": "The Pfs Group, used in IKE Phase 2.\n"
+ },
+ "saDataSizeKilobytes": {
+ "type": "integer",
+ "description": "The IPSec Security Association payload size in KB for a Site-to-Site VPN tunnel.\n"
+ },
+ "saLifetimeSeconds": {
+ "type": "integer",
+ "description": "The IPSec Security Association lifetime in seconds for a Site-to-Site VPN tunnel.\n"
+ }
+ },
+ "type": "object",
+ "required": [
+ "dhGroup",
+ "ikeEncryption",
+ "ikeIntegrity",
+ "ipsecEncryption",
+ "ipsecIntegrity",
+ "pfsGroup",
+ "saDataSizeKilobytes",
+ "saLifetimeSeconds"
+ ],
+ "language": {
+ "nodejs": {
+ "requiredInputs": []
+ }
+ }
+ },
+ "azure:network/getVpnServerConfigurationRadius:getVpnServerConfigurationRadius": {
+ "properties": {
+ "clientRootCertificates": {
+ "type": "array",
+ "items": {
+ "$ref": "#/types/azure:network/getVpnServerConfigurationRadiusClientRootCertificate:getVpnServerConfigurationRadiusClientRootCertificate"
+ },
+ "description": "One or more `client_root_certificate` blocks as defined below.\n"
+ },
+ "serverRootCertificates": {
+ "type": "array",
+ "items": {
+ "$ref": "#/types/azure:network/getVpnServerConfigurationRadiusServerRootCertificate:getVpnServerConfigurationRadiusServerRootCertificate"
+ },
+ "description": "One or more `server_root_certificate` blocks as defined below.\n"
+ },
+ "servers": {
+ "type": "array",
+ "items": {
+ "$ref": "#/types/azure:network/getVpnServerConfigurationRadiusServer:getVpnServerConfigurationRadiusServer"
+ },
+ "description": "One or more `server` blocks as defined below.\n"
+ }
+ },
+ "type": "object",
+ "required": [
+ "clientRootCertificates",
+ "servers",
+ "serverRootCertificates"
+ ],
+ "language": {
+ "nodejs": {
+ "requiredInputs": []
+ }
+ }
+ },
+ "azure:network/getVpnServerConfigurationRadiusClientRootCertificate:getVpnServerConfigurationRadiusClientRootCertificate": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The Name of the VPN Server Configuration.\n"
+ },
+ "thumbprint": {
+ "type": "string",
+ "description": "The Thumbprint of the Certificate.\n"
+ }
+ },
+ "type": "object",
+ "required": [
+ "name",
+ "thumbprint"
+ ],
+ "language": {
+ "nodejs": {
+ "requiredInputs": []
+ }
+ }
+ },
+ "azure:network/getVpnServerConfigurationRadiusServer:getVpnServerConfigurationRadiusServer": {
+ "properties": {
+ "address": {
+ "type": "string",
+ "description": "The Address of the Radius Server.\n"
+ },
+ "score": {
+ "type": "integer",
+ "description": "The Score of the Radius Server determines the priority of the server.\n"
+ },
+ "secret": {
+ "type": "string",
+ "description": "The Secret used to communicate with the Radius Server.\n"
+ }
+ },
+ "type": "object",
+ "required": [
+ "address",
+ "score",
+ "secret"
+ ],
+ "language": {
+ "nodejs": {
+ "requiredInputs": []
+ }
+ }
+ },
+ "azure:network/getVpnServerConfigurationRadiusServerRootCertificate:getVpnServerConfigurationRadiusServerRootCertificate": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The Name of the VPN Server Configuration.\n"
+ },
+ "publicCertData": {
+ "type": "string",
+ "description": "The Public Key Data associated with the Certificate.\n"
+ }
+ },
+ "type": "object",
+ "required": [
+ "name",
+ "publicCertData"
+ ],
+ "language": {
+ "nodejs": {
+ "requiredInputs": []
+ }
+ }
+ },
"azure:networkfunction/CollectorPolicyIpfxEmission:CollectorPolicyIpfxEmission": {
"properties": {
"destinationTypes": {
@@ -97146,6 +97506,463 @@
}
}
},
+ "azure:stack/HciDeploymentSettingScaleUnit:HciDeploymentSettingScaleUnit": {
+ "properties": {
+ "activeDirectoryOrganizationalUnitPath": {
+ "type": "string",
+ "description": "Specify the full name of the Active Directory Organizational Unit container object prepared for the deployment, including the domain components. For example:`OU=HCI01,DC=contoso,DC=com`. Changing this forces a new Stack HCI Deployment Setting to be created.\n",
+ "willReplaceOnChanges": true
+ },
+ "bitlockerBootVolumeEnabled": {
+ "type": "boolean",
+ "description": "Whether to enable BitLocker for boot volume. Possible values are `true` and `false`. When set to `true`, BitLocker XTS_AES 256-bit encryption is enabled for all data-at-rest on the OS volume of your Azure Stack HCI cluster. This setting is TPM-hardware dependent. Defaults to `true`. Changing this forces a new Stack HCI Deployment Setting to be created.\n",
+ "willReplaceOnChanges": true
+ },
+ "bitlockerDataVolumeEnabled": {
+ "type": "boolean",
+ "description": "Whether to enable BitLocker for data volume. Possible values are `true` and `false`. When set to `true`, BitLocker XTS-AES 256-bit encryption is enabled for all data-at-rest on your Azure Stack HCI cluster shared volumes. Defaults to `true`. Changing this forces a new Stack HCI Deployment Setting to be created.\n",
+ "willReplaceOnChanges": true
+ },
+ "cluster": {
+ "$ref": "#/types/azure:stack/HciDeploymentSettingScaleUnitCluster:HciDeploymentSettingScaleUnitCluster",
+ "description": "A `cluster` block as defined above. Changing this forces a new Stack HCI Deployment Setting to be created.\n",
+ "willReplaceOnChanges": true
+ },
+ "credentialGuardEnabled": {
+ "type": "boolean",
+ "description": "Whether to enable credential guard. Possible values are `true` and `false`. Defaults to `false`. Changing this forces a new Stack HCI Deployment Setting to be created.\n",
+ "willReplaceOnChanges": true
+ },
+ "domainFqdn": {
+ "type": "string",
+ "description": "Specifies the FQDN for deploying cluster. Changing this forces a new Stack HCI Deployment Setting to be created.\n",
+ "willReplaceOnChanges": true
+ },
+ "driftControlEnabled": {
+ "type": "boolean",
+ "description": "Whether to enable drift control. Possible values are `true` and `false`. When set to `true`, the security baseline is re-applied regularly. Defaults to `true`. Changing this forces a new Stack HCI Deployment Setting to be created.\n",
+ "willReplaceOnChanges": true
+ },
+ "drtmProtectionEnabled": {
+ "type": "boolean",
+ "description": "Whether to enable DRTM protection. Possible values are `true` and `false`. When set to `true`, Secure Boot is enabled on your Azure HCI cluster. This setting is hardware dependent. Defaults to `true`. Changing this forces a new Stack HCI Deployment Setting to be created.\n",
+ "willReplaceOnChanges": true
+ },
+ "episodicDataUploadEnabled": {
+ "type": "boolean",
+ "description": "Whether to collect log data to facilitate quicker issue resolution. Possible values are `true` and `false`. Defaults to `true`. Changing this forces a new Stack HCI Deployment Setting to be created.\n",
+ "willReplaceOnChanges": true
+ },
+ "euLocationEnabled": {
+ "type": "boolean",
+ "description": "Whether to store data sent to Microsoft in EU. The log and diagnostic data is sent to the appropriate diagnostics servers depending upon where your cluster resides. Setting this to `false` results in all data sent to Microsoft to be stored outside of the EU. Possible values are `true` and `false`. Defaults to `false`. Changing this forces a new Stack HCI Deployment Setting to be created.\n",
+ "willReplaceOnChanges": true
+ },
+ "hostNetwork": {
+ "$ref": "#/types/azure:stack/HciDeploymentSettingScaleUnitHostNetwork:HciDeploymentSettingScaleUnitHostNetwork",
+ "description": "A `host_network` block as defined above. Changing this forces a new Stack HCI Deployment Setting to be created.\n",
+ "willReplaceOnChanges": true
+ },
+ "hvciProtectionEnabled": {
+ "type": "boolean",
+ "description": "Whether to enable HVCI protection. Possible values are `true` and `false`. When set to `true`, Hypervisor-protected Code Integrity is enabled on your Azure HCI cluster. Defaults to `true`. Changing this forces a new Stack HCI Deployment Setting to be created.\n",
+ "willReplaceOnChanges": true
+ },
+ "infrastructureNetworks": {
+ "type": "array",
+ "items": {
+ "$ref": "#/types/azure:stack/HciDeploymentSettingScaleUnitInfrastructureNetwork:HciDeploymentSettingScaleUnitInfrastructureNetwork"
+ },
+ "description": "One or more `infrastructure_network` blocks as defined above. Changing this forces a new Stack HCI Deployment Setting to be created.\n",
+ "willReplaceOnChanges": true
+ },
+ "namePrefix": {
+ "type": "string",
+ "description": "Specifies the name prefix to deploy cluster. It must be 1-8 characters long and contain only letters, numbers and hyphens Changing this forces a new Stack HCI Deployment Setting to be created.\n",
+ "willReplaceOnChanges": true
+ },
+ "optionalService": {
+ "$ref": "#/types/azure:stack/HciDeploymentSettingScaleUnitOptionalService:HciDeploymentSettingScaleUnitOptionalService",
+ "description": "A `optional_service` block as defined above. Changing this forces a new Stack HCI Deployment Setting to be created.\n",
+ "willReplaceOnChanges": true
+ },
+ "physicalNodes": {
+ "type": "array",
+ "items": {
+ "$ref": "#/types/azure:stack/HciDeploymentSettingScaleUnitPhysicalNode:HciDeploymentSettingScaleUnitPhysicalNode"
+ },
+ "description": "One or more `physical_node` blocks as defined above. Changing this forces a new Stack HCI Deployment Setting to be created.\n",
+ "willReplaceOnChanges": true
+ },
+ "secretsLocation": {
+ "type": "string",
+ "description": "The URI to the Key Vault or secret store. Changing this forces a new Stack HCI Deployment Setting to be created.\n",
+ "willReplaceOnChanges": true
+ },
+ "sideChannelMitigationEnabled": {
+ "type": "boolean",
+ "description": "Whether to enable side channel mitigation. Possible values are `true` and `false`. When set to `true`, all side channel mitigations are enabled on your Azure HCI cluster. Defaults to `true`. Changing this forces a new Stack HCI Deployment Setting to be created.\n",
+ "willReplaceOnChanges": true
+ },
+ "smbClusterEncryptionEnabled": {
+ "type": "boolean",
+ "description": "Whether to enable SMB cluster encryption. Possible values are `true` and `false`. When set to `true`, cluster east-west traffic is encrypted. Defaults to `false`. Changing this forces a new Stack HCI Deployment Setting to be created.\n",
+ "willReplaceOnChanges": true
+ },
+ "smbSigningEnabled": {
+ "type": "boolean",
+ "description": "Whether to enable SMB signing. Possible values are `true` and `false`. When set to `true`, the SMB default instance requires sign in for the client and server services. Defaults to `true`. Changing this forces a new Stack HCI Deployment Setting to be created.\n",
+ "willReplaceOnChanges": true
+ },
+ "storage": {
+ "$ref": "#/types/azure:stack/HciDeploymentSettingScaleUnitStorage:HciDeploymentSettingScaleUnitStorage",
+ "description": "A `storage` block as defined below. Changing this forces a new Stack HCI Deployment Setting to be created.\n",
+ "willReplaceOnChanges": true
+ },
+ "streamingDataClientEnabled": {
+ "type": "boolean",
+ "description": "Whether the telemetry data will be sent to Microsoft. Possible values are `true` and `false`. Defaults to `true`. Changing this forces a new Stack HCI Deployment Setting to be created.\n",
+ "willReplaceOnChanges": true
+ },
+ "wdacEnabled": {
+ "type": "boolean",
+ "description": "Whether to enable WDAC. Possible values are `true` and `false`. When set to `true`, applications and the code that you can run on your Azure Stack HCI cluster are limited. Defaults to `true`. Changing this forces a new Stack HCI Deployment Setting to be created.\n",
+ "willReplaceOnChanges": true
+ }
+ },
+ "type": "object",
+ "required": [
+ "activeDirectoryOrganizationalUnitPath",
+ "cluster",
+ "domainFqdn",
+ "hostNetwork",
+ "infrastructureNetworks",
+ "namePrefix",
+ "optionalService",
+ "physicalNodes",
+ "secretsLocation",
+ "storage"
+ ]
+ },
+ "azure:stack/HciDeploymentSettingScaleUnitCluster:HciDeploymentSettingScaleUnitCluster": {
+ "properties": {
+ "azureServiceEndpoint": {
+ "type": "string",
+ "description": "Specifies the Azure blob service endpoint, for example, `core.windows.net`. Changing this forces a new Stack HCI Deployment Setting to be created.\n",
+ "willReplaceOnChanges": true
+ },
+ "cloudAccountName": {
+ "type": "string",
+ "description": "Specifies the Azure Storage account name of the cloud witness for the Azure Stack HCI cluster. Changing this forces a new Stack HCI Deployment Setting to be created.\n",
+ "willReplaceOnChanges": true
+ },
+ "name": {
+ "type": "string",
+ "description": "Specifies the name of the cluster. It must be 3-15 characters long and contain only letters, numbers and hyphens. Changing this forces a new Stack HCI Deployment Setting to be created.\n",
+ "willReplaceOnChanges": true
+ },
+ "witnessPath": {
+ "type": "string",
+ "description": "Specifies the fileshare path of the local witness for the Azure Stack HCI cluster. Changing this forces a new Stack HCI Deployment Setting to be created.\n",
+ "willReplaceOnChanges": true
+ },
+ "witnessType": {
+ "type": "string",
+ "description": "Specifies the type of the witness. Possible values are `Cloud`, `FileShare`. Changing this forces a new Stack HCI Deployment Setting to be created.\n",
+ "willReplaceOnChanges": true
+ }
+ },
+ "type": "object",
+ "required": [
+ "azureServiceEndpoint",
+ "cloudAccountName",
+ "name",
+ "witnessPath",
+ "witnessType"
+ ]
+ },
+ "azure:stack/HciDeploymentSettingScaleUnitHostNetwork:HciDeploymentSettingScaleUnitHostNetwork": {
+ "properties": {
+ "intents": {
+ "type": "array",
+ "items": {
+ "$ref": "#/types/azure:stack/HciDeploymentSettingScaleUnitHostNetworkIntent:HciDeploymentSettingScaleUnitHostNetworkIntent"
+ },
+ "description": "One or more `intent` blocks as defined below. Changing this forces a new Stack HCI Deployment Setting to be created.\n",
+ "willReplaceOnChanges": true
+ },
+ "storageAutoIpEnabled": {
+ "type": "boolean",
+ "description": "Whether allows users to specify IPs and Mask for Storage NICs when Network ATC is not assigning the IPs for storage automatically. Optional parameter required only for [3 nodes switchless deployments](https://learn.microsoft.com/azure-stack/hci/concepts/physical-network-requirements?tabs=overview%2C23H2reqs#using-switchless). Possible values are `true` and `false`. Defaults to `true`. Changing this forces a new Stack HCI Deployment Setting to be created.\n",
+ "willReplaceOnChanges": true
+ },
+ "storageConnectivitySwitchlessEnabled": {
+ "type": "boolean",
+ "description": "Defines how the storage adapters between nodes are connected either switch or switch less. Possible values are `true` and `false`. Defaults to `false`. Changing this forces a new Stack HCI Deployment Setting to be created.\n",
+ "willReplaceOnChanges": true
+ },
+ "storageNetworks": {
+ "type": "array",
+ "items": {
+ "$ref": "#/types/azure:stack/HciDeploymentSettingScaleUnitHostNetworkStorageNetwork:HciDeploymentSettingScaleUnitHostNetworkStorageNetwork"
+ },
+ "description": "One or more `storage_network` blocks as defined below. Changing this forces a new Stack HCI Deployment Setting to be created.\n",
+ "willReplaceOnChanges": true
+ }
+ },
+ "type": "object",
+ "required": [
+ "intents",
+ "storageNetworks"
+ ]
+ },
+ "azure:stack/HciDeploymentSettingScaleUnitHostNetworkIntent:HciDeploymentSettingScaleUnitHostNetworkIntent": {
+ "properties": {
+ "adapterPropertyOverride": {
+ "$ref": "#/types/azure:stack/HciDeploymentSettingScaleUnitHostNetworkIntentAdapterPropertyOverride:HciDeploymentSettingScaleUnitHostNetworkIntentAdapterPropertyOverride",
+ "description": "A `adapter_property_override` block as defined above. Changing this forces a new Stack HCI Deployment Setting to be created.\n",
+ "willReplaceOnChanges": true
+ },
+ "adapterPropertyOverrideEnabled": {
+ "type": "boolean",
+ "description": "Whether to override adapter properties. Possible values are `true` and `false`. defaults to `false`. Changing this forces a new Stack HCI Deployment Setting to be created.\n",
+ "willReplaceOnChanges": true
+ },
+ "adapters": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Specifies a list of ID of network interfaces used for the network intent. Changing this forces a new Stack HCI Deployment Setting to be created.\n",
+ "willReplaceOnChanges": true
+ },
+ "name": {
+ "type": "string",
+ "description": "Specifies the name of the intent. Changing this forces a new Stack HCI Deployment Setting to be created.\n",
+ "willReplaceOnChanges": true
+ },
+ "qosPolicyOverride": {
+ "$ref": "#/types/azure:stack/HciDeploymentSettingScaleUnitHostNetworkIntentQosPolicyOverride:HciDeploymentSettingScaleUnitHostNetworkIntentQosPolicyOverride",
+ "description": "A `qos_policy_override` block as defined below. Changing this forces a new Stack HCI Deployment Setting to be created.\n",
+ "willReplaceOnChanges": true
+ },
+ "qosPolicyOverrideEnabled": {
+ "type": "boolean",
+ "description": "Whether to override QoS policy. Possible values are `true` and `false`. defaults to `false`. Changing this forces a new Stack HCI Deployment Setting to be created.\n",
+ "willReplaceOnChanges": true
+ },
+ "trafficTypes": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Specifies a list of network traffic types. Possible values are `Compute`, `Storage`, `Management`. Changing this forces a new Stack HCI Deployment Setting to be created.\n",
+ "willReplaceOnChanges": true
+ },
+ "virtualSwitchConfigurationOverride": {
+ "$ref": "#/types/azure:stack/HciDeploymentSettingScaleUnitHostNetworkIntentVirtualSwitchConfigurationOverride:HciDeploymentSettingScaleUnitHostNetworkIntentVirtualSwitchConfigurationOverride",
+ "description": "A `virtual_switch_configuration_override` block as defined below. Changing this forces a new Stack HCI Deployment Setting to be created.\n",
+ "willReplaceOnChanges": true
+ },
+ "virtualSwitchConfigurationOverrideEnabled": {
+ "type": "boolean",
+ "description": "Whether to override virtual switch configuration. Possible values are `true` and `false`. defaults to `false`. Changing this forces a new Stack HCI Deployment Setting to be created.\n",
+ "willReplaceOnChanges": true
+ }
+ },
+ "type": "object",
+ "required": [
+ "adapters",
+ "name",
+ "trafficTypes"
+ ]
+ },
+ "azure:stack/HciDeploymentSettingScaleUnitHostNetworkIntentAdapterPropertyOverride:HciDeploymentSettingScaleUnitHostNetworkIntentAdapterPropertyOverride": {
+ "properties": {
+ "jumboPacket": {
+ "type": "string",
+ "description": "The jumbo frame size of the adapter. This parameter should only be modified based on your OEM guidance. Changing this forces a new Stack HCI Deployment Setting to be created.\n",
+ "willReplaceOnChanges": true
+ },
+ "networkDirect": {
+ "type": "string",
+ "description": "The network direct of the adapter. This parameter should only be modified based on your OEM guidance. Changing this forces a new Stack HCI Deployment Setting to be created.\n",
+ "willReplaceOnChanges": true
+ },
+ "networkDirectTechnology": {
+ "type": "string",
+ "description": "The network direct technology of the adapter. This parameter should only be modified based on your OEM guidance. Changing this forces a new Stack HCI Deployment Setting to be created.\n",
+ "willReplaceOnChanges": true
+ }
+ },
+ "type": "object"
+ },
+ "azure:stack/HciDeploymentSettingScaleUnitHostNetworkIntentQosPolicyOverride:HciDeploymentSettingScaleUnitHostNetworkIntentQosPolicyOverride": {
+ "properties": {
+ "bandwidthPercentageSmb": {
+ "type": "string",
+ "description": "Specifies the percentage of the allocated storage traffic bandwidth. This parameter should only be modified based on your OEM guidance. Changing this forces a new Stack HCI Deployment Setting to be created.\n",
+ "willReplaceOnChanges": true
+ },
+ "priorityValue8021ActionCluster": {
+ "type": "string",
+ "description": "Specifies the Cluster traffic priority. This parameter should only be modified based on your OEM guidance. Changing this forces a new Stack HCI Deployment Setting to be created.\n",
+ "willReplaceOnChanges": true
+ },
+ "priorityValue8021ActionSmb": {
+ "type": "string",
+ "description": "Specifies the Priority Flow Control where Data Center Bridging (DCB) is used. This parameter should only be modified based on your OEM guidance. Changing this forces a new Stack HCI Deployment Setting to be created.\n",
+ "willReplaceOnChanges": true
+ }
+ },
+ "type": "object"
+ },
+ "azure:stack/HciDeploymentSettingScaleUnitHostNetworkIntentVirtualSwitchConfigurationOverride:HciDeploymentSettingScaleUnitHostNetworkIntentVirtualSwitchConfigurationOverride": {
+ "properties": {
+ "enableIov": {
+ "type": "string",
+ "description": "Specifies the IoV enable status for Virtual Switch. Changing this forces a new Stack HCI Deployment Setting to be created.\n",
+ "willReplaceOnChanges": true
+ },
+ "loadBalancingAlgorithm": {
+ "type": "string",
+ "description": "Specifies the load balancing algorithm for Virtual Switch. Changing this forces a new Stack HCI Deployment Setting to be created.\n",
+ "willReplaceOnChanges": true
+ }
+ },
+ "type": "object"
+ },
+ "azure:stack/HciDeploymentSettingScaleUnitHostNetworkStorageNetwork:HciDeploymentSettingScaleUnitHostNetworkStorageNetwork": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The name of the storage network. Changing this forces a new Stack HCI Deployment Setting to be created.\n",
+ "willReplaceOnChanges": true
+ },
+ "networkAdapterName": {
+ "type": "string",
+ "description": "The name of the network adapter. Changing this forces a new Stack HCI Deployment Setting to be created.\n",
+ "willReplaceOnChanges": true
+ },
+ "vlanId": {
+ "type": "string",
+ "description": "Specifies the ID for the VLAN storage network. This setting is applied to the network interfaces that route the storage and VM migration traffic. Changing this forces a new Stack HCI Deployment Setting to be created.\n",
+ "willReplaceOnChanges": true
+ }
+ },
+ "type": "object",
+ "required": [
+ "name",
+ "networkAdapterName",
+ "vlanId"
+ ]
+ },
+ "azure:stack/HciDeploymentSettingScaleUnitInfrastructureNetwork:HciDeploymentSettingScaleUnitInfrastructureNetwork": {
+ "properties": {
+ "dhcpEnabled": {
+ "type": "boolean",
+ "description": "Whether DHCP is enabled for hosts and cluster IPs. Possible values are `true` and `false`. defaults to `false`. Changing this forces a new Stack HCI Deployment Setting to be created.\n\n\u003e **NOTE:** If `dhcp_enabled` is set to `false`, the deployment will use static IPs. If set to `true`, the gateway and DNS servers are not required.\n",
+ "willReplaceOnChanges": true
+ },
+ "dnsServers": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Specifies a list of IPv4 addresses of the DNS servers in your environment. Changing this forces a new Stack HCI Deployment Setting to be created.\n",
+ "willReplaceOnChanges": true
+ },
+ "gateway": {
+ "type": "string",
+ "description": "Specifies the default gateway that should be used for the provided IP address space. It should be in the format of an IPv4 IP address. Changing this forces a new Stack HCI Deployment Setting to be created.\n",
+ "willReplaceOnChanges": true
+ },
+ "ipPools": {
+ "type": "array",
+ "items": {
+ "$ref": "#/types/azure:stack/HciDeploymentSettingScaleUnitInfrastructureNetworkIpPool:HciDeploymentSettingScaleUnitInfrastructureNetworkIpPool"
+ },
+ "description": "One or more `ip_pool` blocks as defined below. Changing this forces a new Stack HCI Deployment Setting to be created.\n",
+ "willReplaceOnChanges": true
+ },
+ "subnetMask": {
+ "type": "string",
+ "description": "Specifies the subnet mask that matches the provided IP address space. Changing this forces a new Stack HCI Deployment Setting to be created.\n",
+ "willReplaceOnChanges": true
+ }
+ },
+ "type": "object",
+ "required": [
+ "dnsServers",
+ "gateway",
+ "ipPools",
+ "subnetMask"
+ ]
+ },
+ "azure:stack/HciDeploymentSettingScaleUnitInfrastructureNetworkIpPool:HciDeploymentSettingScaleUnitInfrastructureNetworkIpPool": {
+ "properties": {
+ "endingAddress": {
+ "type": "string",
+ "description": "Specifies starting IP address for the management network. A minimum of six free, contiguous IPv4 addresses (excluding your host IPs) are needed for infrastructure services such as clustering. Changing this forces a new Stack HCI Deployment Setting to be created.\n",
+ "willReplaceOnChanges": true
+ },
+ "startingAddress": {
+ "type": "string",
+ "description": "Specifies ending IP address for the management network. A minimum of six free, contiguous IPv4 addresses (excluding your host IPs) are needed for infrastructure services such as clustering. Changing this forces a new Stack HCI Deployment Setting to be created.\n",
+ "willReplaceOnChanges": true
+ }
+ },
+ "type": "object",
+ "required": [
+ "endingAddress",
+ "startingAddress"
+ ]
+ },
+ "azure:stack/HciDeploymentSettingScaleUnitOptionalService:HciDeploymentSettingScaleUnitOptionalService": {
+ "properties": {
+ "customLocation": {
+ "type": "string",
+ "description": "Specifies the name of custom location. A custom location will be created after the deployment is completed. Changing this forces a new Stack HCI Deployment Setting to be created.\n",
+ "willReplaceOnChanges": true
+ }
+ },
+ "type": "object",
+ "required": [
+ "customLocation"
+ ]
+ },
+ "azure:stack/HciDeploymentSettingScaleUnitPhysicalNode:HciDeploymentSettingScaleUnitPhysicalNode": {
+ "properties": {
+ "ipv4Address": {
+ "type": "string",
+ "description": "Specifies the IPv4 address assigned to each physical server on your Azure Stack HCI cluster. Changing this forces a new Stack HCI Deployment Setting to be created.\n",
+ "willReplaceOnChanges": true
+ },
+ "name": {
+ "type": "string",
+ "description": "The NETBIOS name of each physical server on your Azure Stack HCI cluster. Changing this forces a new Stack HCI Deployment Setting to be created.\n",
+ "willReplaceOnChanges": true
+ }
+ },
+ "type": "object",
+ "required": [
+ "ipv4Address",
+ "name"
+ ]
+ },
+ "azure:stack/HciDeploymentSettingScaleUnitStorage:HciDeploymentSettingScaleUnitStorage": {
+ "properties": {
+ "configurationMode": {
+ "type": "string",
+ "description": "The configuration mode of storage. If set to `Express` and your storage is configured as per best practices based on the number of nodes in the cluster. Possible values are `Express`, `InfraOnly` and `KeepStorage`. Changing this forces a new Stack HCI Deployment Setting to be created.\n",
+ "willReplaceOnChanges": true
+ }
+ },
+ "type": "object",
+ "required": [
+ "configurationMode"
+ ]
+ },
"azure:stack/HciLogicalNetworkSubnet:HciLogicalNetworkSubnet": {
"properties": {
"addressPrefix": {
@@ -98362,8 +99179,7 @@
},
"destinationContainerName": {
"type": "string",
- "description": "The destination storage container name. Changing this forces a new Storage Object Replication to be created.\n",
- "willReplaceOnChanges": true
+ "description": "The destination storage container name.\n"
},
"filterOutBlobsWithPrefixes": {
"type": "array",
@@ -98377,8 +99193,7 @@
},
"sourceContainerName": {
"type": "string",
- "description": "The source storage container name. Changing this forces a new Storage Object Replication to be created.\n",
- "willReplaceOnChanges": true
+ "description": "The source storage container name.\n"
}
},
"type": "object",
@@ -102063,6 +102878,93 @@
"type": "object"
}
},
+ "azure:advisor/suppression:Suppression": {
+ "description": "Specifies a suppression for an Azure Advisor recommendation.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst current = azure.core.getClientConfig({});\nconst example = azure.advisor.getRecommendations({});\nconst exampleSuppression = new azure.advisor.Suppression(\"example\", {\n name: \"HardcodedSuppressionName\",\n recommendationId: test.recommendations[0].recommendationName,\n resourceId: current.then(current =\u003e `/subscriptions/${current.subscriptionId}`),\n ttl: \"01:00:00:00\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\ncurrent = azure.core.get_client_config()\nexample = azure.advisor.get_recommendations()\nexample_suppression = azure.advisor.Suppression(\"example\",\n name=\"HardcodedSuppressionName\",\n recommendation_id=test[\"recommendations\"][0][\"recommendationName\"],\n resource_id=f\"/subscriptions/{current.subscription_id}\",\n ttl=\"01:00:00:00\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Azure.Core.GetClientConfig.Invoke();\n\n var example = Azure.Advisor.GetRecommendations.Invoke();\n\n var exampleSuppression = new Azure.Advisor.Suppression(\"example\", new()\n {\n Name = \"HardcodedSuppressionName\",\n RecommendationId = test.Recommendations[0].RecommendationName,\n ResourceId = $\"/subscriptions/{current.Apply(getClientConfigResult =\u003e getClientConfigResult.SubscriptionId)}\",\n Ttl = \"01:00:00:00\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/advisor\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := core.GetClientConfig(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = advisor.GetRecommendations(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = advisor.NewSuppression(ctx, \"example\", \u0026advisor.SuppressionArgs{\n\t\t\tName: pulumi.String(\"HardcodedSuppressionName\"),\n\t\t\tRecommendationId: pulumi.Any(test.Recommendations[0].RecommendationName),\n\t\t\tResourceId: pulumi.Sprintf(\"/subscriptions/%v\", current.SubscriptionId),\n\t\t\tTtl: pulumi.String(\"01:00:00:00\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.CoreFunctions;\nimport com.pulumi.azure.advisor.AdvisorFunctions;\nimport com.pulumi.azure.advisor.inputs.GetRecommendationsArgs;\nimport com.pulumi.azure.advisor.Suppression;\nimport com.pulumi.azure.advisor.SuppressionArgs;\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 final var current = CoreFunctions.getClientConfig();\n\n final var example = AdvisorFunctions.getRecommendations();\n\n var exampleSuppression = new Suppression(\"exampleSuppression\", SuppressionArgs.builder()\n .name(\"HardcodedSuppressionName\")\n .recommendationId(test.recommendations()[0].recommendationName())\n .resourceId(String.format(\"/subscriptions/%s\", current.applyValue(getClientConfigResult -\u003e getClientConfigResult.subscriptionId())))\n .ttl(\"01:00:00:00\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleSuppression:\n type: azure:advisor:Suppression\n name: example\n properties:\n name: HardcodedSuppressionName\n recommendationId: ${test.recommendations[0].recommendationName}\n resourceId: /subscriptions/${current.subscriptionId}\n ttl: 01:00:00:00\nvariables:\n current:\n fn::invoke:\n Function: azure:core:getClientConfig\n Arguments: {}\n example:\n fn::invoke:\n Function: azure:advisor:getRecommendations\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nAdvisor suppressions can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:advisor/suppression:Suppression example /subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Advisor/recommendations/00000000-0000-0000-0000-000000000000/suppressions/name\n```\n\n",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The Name which should be used for this Advisor suppression. Changing this forces a new Advisor suppression to be created.\n"
+ },
+ "recommendationId": {
+ "type": "string",
+ "description": "The ID of the Advisor recommendation to suppress. Changing this forces a new Advisor suppression to be created.\n"
+ },
+ "resourceId": {
+ "type": "string",
+ "description": "The ID of the Resource to suppress the Advisor recommendation for. Changing this forces a new Advisor suppression to be created.\n"
+ },
+ "suppressionId": {
+ "type": "string",
+ "description": "The GUID of the suppression.\n"
+ },
+ "ttl": {
+ "type": "string",
+ "description": "A optional time to live value. If omitted, the suppression will not expire. Changing this forces a new Advisor suppression to be created.\n"
+ }
+ },
+ "required": [
+ "name",
+ "recommendationId",
+ "resourceId",
+ "suppressionId"
+ ],
+ "inputProperties": {
+ "name": {
+ "type": "string",
+ "description": "The Name which should be used for this Advisor suppression. Changing this forces a new Advisor suppression to be created.\n",
+ "willReplaceOnChanges": true
+ },
+ "recommendationId": {
+ "type": "string",
+ "description": "The ID of the Advisor recommendation to suppress. Changing this forces a new Advisor suppression to be created.\n",
+ "willReplaceOnChanges": true
+ },
+ "resourceId": {
+ "type": "string",
+ "description": "The ID of the Resource to suppress the Advisor recommendation for. Changing this forces a new Advisor suppression to be created.\n",
+ "willReplaceOnChanges": true
+ },
+ "ttl": {
+ "type": "string",
+ "description": "A optional time to live value. If omitted, the suppression will not expire. Changing this forces a new Advisor suppression to be created.\n",
+ "willReplaceOnChanges": true
+ }
+ },
+ "requiredInputs": [
+ "recommendationId",
+ "resourceId"
+ ],
+ "stateInputs": {
+ "description": "Input properties used for looking up and filtering Suppression resources.\n",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The Name which should be used for this Advisor suppression. Changing this forces a new Advisor suppression to be created.\n",
+ "willReplaceOnChanges": true
+ },
+ "recommendationId": {
+ "type": "string",
+ "description": "The ID of the Advisor recommendation to suppress. Changing this forces a new Advisor suppression to be created.\n",
+ "willReplaceOnChanges": true
+ },
+ "resourceId": {
+ "type": "string",
+ "description": "The ID of the Resource to suppress the Advisor recommendation for. Changing this forces a new Advisor suppression to be created.\n",
+ "willReplaceOnChanges": true
+ },
+ "suppressionId": {
+ "type": "string",
+ "description": "The GUID of the suppression.\n"
+ },
+ "ttl": {
+ "type": "string",
+ "description": "A optional time to live value. If omitted, the suppression will not expire. Changing this forces a new Advisor suppression to be created.\n",
+ "willReplaceOnChanges": true
+ }
+ },
+ "type": "object"
+ }
+ },
"azure:analysisservices/server:Server": {
"description": "Manages an Analysis Services Server.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n name: \"analysis-services-server-test\",\n location: \"West Europe\",\n});\nconst server = new azure.analysisservices.Server(\"server\", {\n name: \"analysisservicesserver\",\n location: example.location,\n resourceGroupName: example.name,\n sku: \"S0\",\n adminUsers: [\"myuser@domain.tld\"],\n powerBiServiceEnabled: true,\n ipv4FirewallRules: [{\n name: \"myRule1\",\n rangeStart: \"210.117.252.0\",\n rangeEnd: \"210.117.252.255\",\n }],\n tags: {\n abc: \"123\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n name=\"analysis-services-server-test\",\n location=\"West Europe\")\nserver = azure.analysisservices.Server(\"server\",\n name=\"analysisservicesserver\",\n location=example.location,\n resource_group_name=example.name,\n sku=\"S0\",\n admin_users=[\"myuser@domain.tld\"],\n power_bi_service_enabled=True,\n ipv4_firewall_rules=[{\n \"name\": \"myRule1\",\n \"range_start\": \"210.117.252.0\",\n \"range_end\": \"210.117.252.255\",\n }],\n tags={\n \"abc\": \"123\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Azure.Core.ResourceGroup(\"example\", new()\n {\n Name = \"analysis-services-server-test\",\n Location = \"West Europe\",\n });\n\n var server = new Azure.AnalysisServices.Server(\"server\", new()\n {\n Name = \"analysisservicesserver\",\n Location = example.Location,\n ResourceGroupName = example.Name,\n Sku = \"S0\",\n AdminUsers = new[]\n {\n \"myuser@domain.tld\",\n },\n PowerBiServiceEnabled = true,\n Ipv4FirewallRules = new[]\n {\n new Azure.AnalysisServices.Inputs.ServerIpv4FirewallRuleArgs\n {\n Name = \"myRule1\",\n RangeStart = \"210.117.252.0\",\n RangeEnd = \"210.117.252.255\",\n },\n },\n Tags = \n {\n { \"abc\", \"123\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/analysisservices\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName: pulumi.String(\"analysis-services-server-test\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = analysisservices.NewServer(ctx, \"server\", \u0026analysisservices.ServerArgs{\n\t\t\tName: pulumi.String(\"analysisservicesserver\"),\n\t\t\tLocation: example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSku: pulumi.String(\"S0\"),\n\t\t\tAdminUsers: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"myuser@domain.tld\"),\n\t\t\t},\n\t\t\tPowerBiServiceEnabled: pulumi.Bool(true),\n\t\t\tIpv4FirewallRules: analysisservices.ServerIpv4FirewallRuleArray{\n\t\t\t\t\u0026analysisservices.ServerIpv4FirewallRuleArgs{\n\t\t\t\t\tName: pulumi.String(\"myRule1\"),\n\t\t\t\t\tRangeStart: pulumi.String(\"210.117.252.0\"),\n\t\t\t\t\tRangeEnd: pulumi.String(\"210.117.252.255\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"abc\": pulumi.String(\"123\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.analysisservices.Server;\nimport com.pulumi.azure.analysisservices.ServerArgs;\nimport com.pulumi.azure.analysisservices.inputs.ServerIpv4FirewallRuleArgs;\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 example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n .name(\"analysis-services-server-test\")\n .location(\"West Europe\")\n .build());\n\n var server = new Server(\"server\", ServerArgs.builder()\n .name(\"analysisservicesserver\")\n .location(example.location())\n .resourceGroupName(example.name())\n .sku(\"S0\")\n .adminUsers(\"myuser@domain.tld\")\n .powerBiServiceEnabled(true)\n .ipv4FirewallRules(ServerIpv4FirewallRuleArgs.builder()\n .name(\"myRule1\")\n .rangeStart(\"210.117.252.0\")\n .rangeEnd(\"210.117.252.255\")\n .build())\n .tags(Map.of(\"abc\", 123))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: azure:core:ResourceGroup\n properties:\n name: analysis-services-server-test\n location: West Europe\n server:\n type: azure:analysisservices:Server\n properties:\n name: analysisservicesserver\n location: ${example.location}\n resourceGroupName: ${example.name}\n sku: S0\n adminUsers:\n - myuser@domain.tld\n powerBiServiceEnabled: true\n ipv4FirewallRules:\n - name: myRule1\n rangeStart: 210.117.252.0\n rangeEnd: 210.117.252.255\n tags:\n abc: 123\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003e **NOTE:** The server resource will automatically be started and stopped during an update if it is in `paused` state.\n\n## Import\n\nAnalysis Services Server can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:analysisservices/server:Server server /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resourcegroup1/providers/Microsoft.AnalysisServices/servers/server1\n```\n\n",
"properties": {
@@ -113062,7 +113964,7 @@
"additionalProperties": {
"type": "string"
},
- "description": "Specifies the environment variables of the Spring Cloud Gateway as a map of key-value pairs. Changing this forces a new resource to be created.\n"
+ "description": "Specifies the environment variables of the Spring Cloud Gateway as a map of key-value pairs.\n"
},
"httpsOnly": {
"type": "boolean",
@@ -113097,7 +113999,7 @@
"additionalProperties": {
"type": "string"
},
- "description": "Specifies the sensitive environment variables of the Spring Cloud Gateway as a map of key-value pairs. Changing this forces a new resource to be created.\n",
+ "description": "Specifies the sensitive environment variables of the Spring Cloud Gateway as a map of key-value pairs.\n",
"secret": true
},
"springCloudServiceId": {
@@ -113151,8 +114053,7 @@
"additionalProperties": {
"type": "string"
},
- "description": "Specifies the environment variables of the Spring Cloud Gateway as a map of key-value pairs. Changing this forces a new resource to be created.\n",
- "willReplaceOnChanges": true
+ "description": "Specifies the environment variables of the Spring Cloud Gateway as a map of key-value pairs.\n"
},
"httpsOnly": {
"type": "boolean",
@@ -113188,9 +114089,8 @@
"additionalProperties": {
"type": "string"
},
- "description": "Specifies the sensitive environment variables of the Spring Cloud Gateway as a map of key-value pairs. Changing this forces a new resource to be created.\n",
- "secret": true,
- "willReplaceOnChanges": true
+ "description": "Specifies the sensitive environment variables of the Spring Cloud Gateway as a map of key-value pairs.\n",
+ "secret": true
},
"springCloudServiceId": {
"type": "string",
@@ -113239,8 +114139,7 @@
"additionalProperties": {
"type": "string"
},
- "description": "Specifies the environment variables of the Spring Cloud Gateway as a map of key-value pairs. Changing this forces a new resource to be created.\n",
- "willReplaceOnChanges": true
+ "description": "Specifies the environment variables of the Spring Cloud Gateway as a map of key-value pairs.\n"
},
"httpsOnly": {
"type": "boolean",
@@ -113276,9 +114175,8 @@
"additionalProperties": {
"type": "string"
},
- "description": "Specifies the sensitive environment variables of the Spring Cloud Gateway as a map of key-value pairs. Changing this forces a new resource to be created.\n",
- "secret": true,
- "willReplaceOnChanges": true
+ "description": "Specifies the sensitive environment variables of the Spring Cloud Gateway as a map of key-value pairs.\n",
+ "secret": true
},
"springCloudServiceId": {
"type": "string",
@@ -120982,6 +121880,10 @@
"type": "boolean",
"description": "Are Preview (Staging) environments enabled. Defaults to `true`.\n"
},
+ "publicNetworkAccessEnabled": {
+ "type": "boolean",
+ "description": "Should public network access be enabled for the Static Web App. Defaults to `true`.\n"
+ },
"resourceGroupName": {
"type": "string",
"description": "The name of the Resource Group where the Static Web App should exist. Changing this forces a new Static Web App to be created.\n"
@@ -121044,6 +121946,10 @@
"type": "boolean",
"description": "Are Preview (Staging) environments enabled. Defaults to `true`.\n"
},
+ "publicNetworkAccessEnabled": {
+ "type": "boolean",
+ "description": "Should public network access be enabled for the Static Web App. Defaults to `true`.\n"
+ },
"resourceGroupName": {
"type": "string",
"description": "The name of the Resource Group where the Static Web App should exist. Changing this forces a new Static Web App to be created.\n",
@@ -121114,6 +122020,10 @@
"type": "boolean",
"description": "Are Preview (Staging) environments enabled. Defaults to `true`.\n"
},
+ "publicNetworkAccessEnabled": {
+ "type": "boolean",
+ "description": "Should public network access be enabled for the Static Web App. Defaults to `true`.\n"
+ },
"resourceGroupName": {
"type": "string",
"description": "The name of the Resource Group where the Static Web App should exist. Changing this forces a new Static Web App to be created.\n",
@@ -124408,7 +125318,7 @@
}
},
"azure:arcmachine/automanageConfigurationAssignment:AutomanageConfigurationAssignment": {
- "description": "Manages an Arc Machine Automanage Configuration Profile Assignment.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst config = new pulumi.Config();\n// The name of the Arc Machine.\nconst arcMachineName = config.requireObject(\"arcMachineName\");\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"example\", {\n name: \"example-resources\",\n location: \"West Europe\",\n});\nconst example = exampleResourceGroup.name.apply(name =\u003e azure.arcmachine.getOutput({\n name: arcMachineName,\n resourceGroupName: name,\n}));\nconst exampleConfiguration = new azure.automanage.Configuration(\"example\", {\n name: \"example-configuration\",\n resourceGroupName: exampleResourceGroup.name,\n location: exampleResourceGroup.location,\n});\nconst exampleAutomanageConfigurationAssignment = new azure.arcmachine.AutomanageConfigurationAssignment(\"example\", {\n arcMachineId: example.apply(example =\u003e example.id),\n configurationId: exampleConfiguration.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nconfig = pulumi.Config()\n# The name of the Arc Machine.\narc_machine_name = config.require_object(\"arcMachineName\")\nexample_resource_group = azure.core.ResourceGroup(\"example\",\n name=\"example-resources\",\n location=\"West Europe\")\nexample = example_resource_group.name.apply(lambda name: azure.arcmachine.get_output(name=arc_machine_name,\n resource_group_name=name))\nexample_configuration = azure.automanage.Configuration(\"example\",\n name=\"example-configuration\",\n resource_group_name=example_resource_group.name,\n location=example_resource_group.location)\nexample_automanage_configuration_assignment = azure.arcmachine.AutomanageConfigurationAssignment(\"example\",\n arc_machine_id=example.id,\n configuration_id=example_configuration.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n // The name of the Arc Machine.\n var arcMachineName = config.RequireObject\u003cdynamic\u003e(\"arcMachineName\");\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"example\", new()\n {\n Name = \"example-resources\",\n Location = \"West Europe\",\n });\n\n var example = Azure.ArcMachine.Get.Invoke(new()\n {\n Name = arcMachineName,\n ResourceGroupName = exampleResourceGroup.Name,\n });\n\n var exampleConfiguration = new Azure.Automanage.Configuration(\"example\", new()\n {\n Name = \"example-configuration\",\n ResourceGroupName = exampleResourceGroup.Name,\n Location = exampleResourceGroup.Location,\n });\n\n var exampleAutomanageConfigurationAssignment = new Azure.ArcMachine.AutomanageConfigurationAssignment(\"example\", new()\n {\n ArcMachineId = example.Apply(getResult =\u003e getResult.Id),\n ConfigurationId = exampleConfiguration.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/arcmachine\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/automanage\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\t// The name of the Arc Machine.\n\t\tarcMachineName := cfg.RequireObject(\"arcMachineName\")\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName: pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample := exampleResourceGroup.Name.ApplyT(func(name string) (arcmachine.GetResult, error) {\n\t\t\treturn arcmachine.GetResult(interface{}(arcmachine.GetOutput(ctx, arcmachine.GetOutputArgs{\n\t\t\t\tName: arcMachineName,\n\t\t\t\tResourceGroupName: name,\n\t\t\t}, nil))), nil\n\t\t}).(arcmachine.GetResultOutput)\n\t\texampleConfiguration, err := automanage.NewConfiguration(ctx, \"example\", \u0026automanage.ConfigurationArgs{\n\t\t\tName: pulumi.String(\"example-configuration\"),\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = arcmachine.NewAutomanageConfigurationAssignment(ctx, \"example\", \u0026arcmachine.AutomanageConfigurationAssignmentArgs{\n\t\t\tArcMachineId: pulumi.String(example.ApplyT(func(example arcmachine.GetResult) (*string, error) {\n\t\t\t\treturn \u0026example.Id, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tConfigurationId: exampleConfiguration.ID(),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.arcmachine.ArcmachineFunctions;\nimport com.pulumi.azure.arcmachine.inputs.GetArgs;\nimport com.pulumi.azure.automanage.Configuration;\nimport com.pulumi.azure.automanage.ConfigurationArgs;\nimport com.pulumi.azure.arcmachine.AutomanageConfigurationAssignment;\nimport com.pulumi.azure.arcmachine.AutomanageConfigurationAssignmentArgs;\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 final var config = ctx.config();\n final var arcMachineName = config.get(\"arcMachineName\");\n var exampleResourceGroup = new ResourceGroup(\"exampleResourceGroup\", ResourceGroupArgs.builder()\n .name(\"example-resources\")\n .location(\"West Europe\")\n .build());\n\n final var example = ArcmachineFunctions.get(GetArgs.builder()\n .name(arcMachineName)\n .resourceGroupName(exampleResourceGroup.name())\n .build());\n\n var exampleConfiguration = new Configuration(\"exampleConfiguration\", ConfigurationArgs.builder()\n .name(\"example-configuration\")\n .resourceGroupName(exampleResourceGroup.name())\n .location(exampleResourceGroup.location())\n .build());\n\n var exampleAutomanageConfigurationAssignment = new AutomanageConfigurationAssignment(\"exampleAutomanageConfigurationAssignment\", AutomanageConfigurationAssignmentArgs.builder()\n .arcMachineId(example.applyValue(getResult -\u003e getResult).applyValue(example -\u003e example.applyValue(getResult -\u003e getResult.id())))\n .configurationId(exampleConfiguration.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n arcMachineName:\n type: dynamic\nresources:\n exampleResourceGroup:\n type: azure:core:ResourceGroup\n name: example\n properties:\n name: example-resources\n location: West Europe\n exampleConfiguration:\n type: azure:automanage:Configuration\n name: example\n properties:\n name: example-configuration\n resourceGroupName: ${exampleResourceGroup.name}\n location: ${exampleResourceGroup.location}\n exampleAutomanageConfigurationAssignment:\n type: azure:arcmachine:AutomanageConfigurationAssignment\n name: example\n properties:\n arcMachineId: ${example.id}\n configurationId: ${exampleConfiguration.id}\nvariables:\n example:\n fn::invoke:\n Function: azure:arcmachine:get\n Arguments:\n name: ${arcMachineName}\n resourceGroupName: ${exampleResourceGroup.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nVirtual Machine Automanage Configuration Profile Assignment can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:arcmachine/automanageConfigurationAssignment:AutomanageConfigurationAssignment example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.HybridCompute/Microsoft.HybridCompute/machines/machine1/providers/Microsoft.AutoManage/configurationProfileAssignments/default\n```\n\n",
+ "description": "Manages an Arc Machine Automanage Configuration Profile Assignment.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst config = new pulumi.Config();\n// The name of the Arc Machine.\nconst arcMachineName = config.requireObject(\"arcMachineName\");\nconst exampleResourceGroup = new azure.core.ResourceGroup(\"example\", {\n name: \"example-resources\",\n location: \"West Europe\",\n});\nconst example = exampleResourceGroup.name.apply(name =\u003e azure.arcmachine.getOutput({\n name: arcMachineName,\n resourceGroupName: name,\n}));\nconst exampleConfiguration = new azure.automanage.Configuration(\"example\", {\n name: \"example-configuration\",\n resourceGroupName: exampleResourceGroup.name,\n location: exampleResourceGroup.location,\n});\nconst exampleAutomanageConfigurationAssignment = new azure.arcmachine.AutomanageConfigurationAssignment(\"example\", {\n arcMachineId: example.apply(example =\u003e example.id),\n configurationId: exampleConfiguration.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nconfig = pulumi.Config()\n# The name of the Arc Machine.\narc_machine_name = config.require_object(\"arcMachineName\")\nexample_resource_group = azure.core.ResourceGroup(\"example\",\n name=\"example-resources\",\n location=\"West Europe\")\nexample = example_resource_group.name.apply(lambda name: azure.arcmachine.get_output(name=arc_machine_name,\n resource_group_name=name))\nexample_configuration = azure.automanage.Configuration(\"example\",\n name=\"example-configuration\",\n resource_group_name=example_resource_group.name,\n location=example_resource_group.location)\nexample_automanage_configuration_assignment = azure.arcmachine.AutomanageConfigurationAssignment(\"example\",\n arc_machine_id=example.id,\n configuration_id=example_configuration.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n // The name of the Arc Machine.\n var arcMachineName = config.RequireObject\u003cdynamic\u003e(\"arcMachineName\");\n var exampleResourceGroup = new Azure.Core.ResourceGroup(\"example\", new()\n {\n Name = \"example-resources\",\n Location = \"West Europe\",\n });\n\n var example = Azure.ArcMachine.Get.Invoke(new()\n {\n Name = arcMachineName,\n ResourceGroupName = exampleResourceGroup.Name,\n });\n\n var exampleConfiguration = new Azure.Automanage.Configuration(\"example\", new()\n {\n Name = \"example-configuration\",\n ResourceGroupName = exampleResourceGroup.Name,\n Location = exampleResourceGroup.Location,\n });\n\n var exampleAutomanageConfigurationAssignment = new Azure.ArcMachine.AutomanageConfigurationAssignment(\"example\", new()\n {\n ArcMachineId = example.Apply(getResult =\u003e getResult.Id),\n ConfigurationId = exampleConfiguration.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/arcmachine\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/automanage\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\t// The name of the Arc Machine.\n\t\tarcMachineName := cfg.RequireObject(\"arcMachineName\")\n\t\texampleResourceGroup, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName: pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample := exampleResourceGroup.Name.ApplyT(func(name string) (arcmachine.GetResult, error) {\n\t\t\treturn arcmachine.GetResult(interface{}(arcmachine.GetOutput(ctx, arcmachine.GetOutputArgs{\n\t\t\t\tName: arcMachineName,\n\t\t\t\tResourceGroupName: name,\n\t\t\t}, nil))), nil\n\t\t}).(arcmachine.GetResultOutput)\n\t\texampleConfiguration, err := automanage.NewConfiguration(ctx, \"example\", \u0026automanage.ConfigurationArgs{\n\t\t\tName: pulumi.String(\"example-configuration\"),\n\t\t\tResourceGroupName: exampleResourceGroup.Name,\n\t\t\tLocation: exampleResourceGroup.Location,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = arcmachine.NewAutomanageConfigurationAssignment(ctx, \"example\", \u0026arcmachine.AutomanageConfigurationAssignmentArgs{\n\t\t\tArcMachineId: pulumi.String(example.ApplyT(func(example arcmachine.GetResult) (*string, error) {\n\t\t\t\treturn \u0026example.Id, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tConfigurationId: exampleConfiguration.ID(),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.arcmachine.ArcmachineFunctions;\nimport com.pulumi.azure.arcmachine.inputs.GetArgs;\nimport com.pulumi.azure.automanage.Configuration;\nimport com.pulumi.azure.automanage.ConfigurationArgs;\nimport com.pulumi.azure.arcmachine.AutomanageConfigurationAssignment;\nimport com.pulumi.azure.arcmachine.AutomanageConfigurationAssignmentArgs;\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 final var config = ctx.config();\n final var arcMachineName = config.get(\"arcMachineName\");\n var exampleResourceGroup = new ResourceGroup(\"exampleResourceGroup\", ResourceGroupArgs.builder()\n .name(\"example-resources\")\n .location(\"West Europe\")\n .build());\n\n final var example = ArcmachineFunctions.get(GetArgs.builder()\n .name(arcMachineName)\n .resourceGroupName(exampleResourceGroup.name())\n .build());\n\n var exampleConfiguration = new Configuration(\"exampleConfiguration\", ConfigurationArgs.builder()\n .name(\"example-configuration\")\n .resourceGroupName(exampleResourceGroup.name())\n .location(exampleResourceGroup.location())\n .build());\n\n var exampleAutomanageConfigurationAssignment = new AutomanageConfigurationAssignment(\"exampleAutomanageConfigurationAssignment\", AutomanageConfigurationAssignmentArgs.builder()\n .arcMachineId(example.applyValue(getResult -\u003e getResult).applyValue(example -\u003e example.applyValue(getResult -\u003e getResult.id())))\n .configurationId(exampleConfiguration.id())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n arcMachineName:\n type: dynamic\nresources:\n exampleResourceGroup:\n type: azure:core:ResourceGroup\n name: example\n properties:\n name: example-resources\n location: West Europe\n exampleConfiguration:\n type: azure:automanage:Configuration\n name: example\n properties:\n name: example-configuration\n resourceGroupName: ${exampleResourceGroup.name}\n location: ${exampleResourceGroup.location}\n exampleAutomanageConfigurationAssignment:\n type: azure:arcmachine:AutomanageConfigurationAssignment\n name: example\n properties:\n arcMachineId: ${example.id}\n configurationId: ${exampleConfiguration.id}\nvariables:\n example:\n fn::invoke:\n Function: azure:arcmachine:get\n Arguments:\n name: ${arcMachineName}\n resourceGroupName: ${exampleResourceGroup.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nVirtual Machine Automanage Configuration Profile Assignment can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:arcmachine/automanageConfigurationAssignment:AutomanageConfigurationAssignment example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.HybridCompute/machines/machine1/providers/Microsoft.AutoManage/configurationProfileAssignments/default\n```\n\n",
"properties": {
"arcMachineId": {
"type": "string",
@@ -140268,7 +141178,7 @@
"items": {
"type": "string"
},
- "description": "Specifies a list of Availability Zones in which this Linux Virtual Machine Scale Set should be located. Changing this forces a new Linux Virtual Machine Scale Set to be created.\n"
+ "description": "Specifies a list of Availability Zones in which this Linux Virtual Machine Scale Set should be located.\n\n\u003e **Note:** Updating `zones` to remove an existing zone forces a new Virtual Machine Scale Set to be created.\n"
}
},
"required": [
@@ -140540,8 +141450,7 @@
"items": {
"type": "string"
},
- "description": "Specifies a list of Availability Zones in which this Linux Virtual Machine Scale Set should be located. Changing this forces a new Linux Virtual Machine Scale Set to be created.\n",
- "willReplaceOnChanges": true
+ "description": "Specifies a list of Availability Zones in which this Linux Virtual Machine Scale Set should be located.\n\n\u003e **Note:** Updating `zones` to remove an existing zone forces a new Virtual Machine Scale Set to be created.\n"
}
},
"requiredInputs": [
@@ -140810,8 +141719,7 @@
"items": {
"type": "string"
},
- "description": "Specifies a list of Availability Zones in which this Linux Virtual Machine Scale Set should be located. Changing this forces a new Linux Virtual Machine Scale Set to be created.\n",
- "willReplaceOnChanges": true
+ "description": "Specifies a list of Availability Zones in which this Linux Virtual Machine Scale Set should be located.\n\n\u003e **Note:** Updating `zones` to remove an existing zone forces a new Virtual Machine Scale Set to be created.\n"
}
},
"type": "object"
@@ -141543,7 +142451,7 @@
"items": {
"type": "string"
},
- "description": "Specifies a list of Availability Zones across which the Virtual Machine Scale Set will create instances. Changing this forces a new Virtual Machine Scale Set to be created.\n\n\u003e **Note:** Availability Zones are [only supported in several regions at this time](https://docs.microsoft.com/azure/availability-zones/az-overview).\n"
+ "description": "Specifies a list of Availability Zones across which the Virtual Machine Scale Set will create instances.\n\n\u003e **Note:** Updating `zones` to remove an existing zone forces a new Virtual Machine Scale Set to be created.\n\n\u003e **Note:** Availability Zones are [only supported in several regions at this time](https://docs.microsoft.com/azure/availability-zones/az-overview).\n"
}
},
"required": [
@@ -141720,8 +142628,7 @@
"items": {
"type": "string"
},
- "description": "Specifies a list of Availability Zones across which the Virtual Machine Scale Set will create instances. Changing this forces a new Virtual Machine Scale Set to be created.\n\n\u003e **Note:** Availability Zones are [only supported in several regions at this time](https://docs.microsoft.com/azure/availability-zones/az-overview).\n",
- "willReplaceOnChanges": true
+ "description": "Specifies a list of Availability Zones across which the Virtual Machine Scale Set will create instances.\n\n\u003e **Note:** Updating `zones` to remove an existing zone forces a new Virtual Machine Scale Set to be created.\n\n\u003e **Note:** Availability Zones are [only supported in several regions at this time](https://docs.microsoft.com/azure/availability-zones/az-overview).\n"
}
},
"requiredInputs": [
@@ -141896,8 +142803,7 @@
"items": {
"type": "string"
},
- "description": "Specifies a list of Availability Zones across which the Virtual Machine Scale Set will create instances. Changing this forces a new Virtual Machine Scale Set to be created.\n\n\u003e **Note:** Availability Zones are [only supported in several regions at this time](https://docs.microsoft.com/azure/availability-zones/az-overview).\n",
- "willReplaceOnChanges": true
+ "description": "Specifies a list of Availability Zones across which the Virtual Machine Scale Set will create instances.\n\n\u003e **Note:** Updating `zones` to remove an existing zone forces a new Virtual Machine Scale Set to be created.\n\n\u003e **Note:** Availability Zones are [only supported in several regions at this time](https://docs.microsoft.com/azure/availability-zones/az-overview).\n"
}
},
"type": "object"
@@ -143094,6 +144000,10 @@
"type": "string",
"description": "A description of this Shared Image.\n"
},
+ "diskControllerTypeNvmeEnabled": {
+ "type": "boolean",
+ "description": "Specifies if the Shared Image supports NVMe disks. Changing this forces a new resource to be created.\n"
+ },
"diskTypesNotAlloweds": {
"type": "array",
"items": {
@@ -143222,6 +144132,11 @@
"type": "string",
"description": "A description of this Shared Image.\n"
},
+ "diskControllerTypeNvmeEnabled": {
+ "type": "boolean",
+ "description": "Specifies if the Shared Image supports NVMe disks. Changing this forces a new resource to be created.\n",
+ "willReplaceOnChanges": true
+ },
"diskTypesNotAlloweds": {
"type": "array",
"items": {
@@ -143362,6 +144277,11 @@
"type": "string",
"description": "A description of this Shared Image.\n"
},
+ "diskControllerTypeNvmeEnabled": {
+ "type": "boolean",
+ "description": "Specifies if the Shared Image supports NVMe disks. Changing this forces a new resource to be created.\n",
+ "willReplaceOnChanges": true
+ },
"diskTypesNotAlloweds": {
"type": "array",
"items": {
@@ -145805,7 +146725,7 @@
"items": {
"type": "string"
},
- "description": "Specifies a list of Availability Zones in which this Windows Virtual Machine Scale Set should be located. Changing this forces a new Windows Virtual Machine Scale Set to be created.\n"
+ "description": "Specifies a list of Availability Zones in which this Windows Virtual Machine Scale Set should be located.\n\n\u003e **Note:** Updating `zones` to remove an existing zone forces a new Virtual Machine Scale Set to be created.\n"
}
},
"required": [
@@ -146096,8 +147016,7 @@
"items": {
"type": "string"
},
- "description": "Specifies a list of Availability Zones in which this Windows Virtual Machine Scale Set should be located. Changing this forces a new Windows Virtual Machine Scale Set to be created.\n",
- "willReplaceOnChanges": true
+ "description": "Specifies a list of Availability Zones in which this Windows Virtual Machine Scale Set should be located.\n\n\u003e **Note:** Updating `zones` to remove an existing zone forces a new Virtual Machine Scale Set to be created.\n"
}
},
"requiredInputs": [
@@ -146385,8 +147304,7 @@
"items": {
"type": "string"
},
- "description": "Specifies a list of Availability Zones in which this Windows Virtual Machine Scale Set should be located. Changing this forces a new Windows Virtual Machine Scale Set to be created.\n",
- "willReplaceOnChanges": true
+ "description": "Specifies a list of Availability Zones in which this Windows Virtual Machine Scale Set should be located.\n\n\u003e **Note:** Updating `zones` to remove an existing zone forces a new Virtual Machine Scale Set to be created.\n"
}
},
"type": "object"
@@ -147357,6 +148275,10 @@
"type": "string",
"description": "The ID of the Container App Environment Certificate to use. Changing this forces a new resource to be created.\n\n\u003e **NOTE:** Omit this value if you wish to use an Azure Managed certificate. You must create the relevant DNS verification steps before this process will be successful.\n"
},
+ "containerAppEnvironmentManagedCertificateId": {
+ "type": "string",
+ "description": "The ID of the Container App Environment Managed Certificate to use.\n"
+ },
"containerAppId": {
"type": "string",
"description": "The ID of the Container App to which this Custom Domain should be bound. Changing this forces a new resource to be created.\n"
@@ -147367,6 +148289,7 @@
}
},
"required": [
+ "containerAppEnvironmentManagedCertificateId",
"containerAppId",
"name"
],
@@ -147408,6 +148331,10 @@
"description": "The ID of the Container App Environment Certificate to use. Changing this forces a new resource to be created.\n\n\u003e **NOTE:** Omit this value if you wish to use an Azure Managed certificate. You must create the relevant DNS verification steps before this process will be successful.\n",
"willReplaceOnChanges": true
},
+ "containerAppEnvironmentManagedCertificateId": {
+ "type": "string",
+ "description": "The ID of the Container App Environment Managed Certificate to use.\n"
+ },
"containerAppId": {
"type": "string",
"description": "The ID of the Container App to which this Custom Domain should be bound. Changing this forces a new resource to be created.\n",
@@ -151314,7 +152241,7 @@
"items": {
"$ref": "#/types/azure:containerservice/RegistryGeoreplication:RegistryGeoreplication"
},
- "description": "A `georeplications` block as documented below.\n\n\u003e **NOTE:** The `georeplications` is only supported on new resources with the `Premium` SKU.\n\n\u003e **NOTE:** The `georeplications` list cannot contain the location where the Container Registry exists.\n\n\u003e **NOTE:** If more than one `georeplications` block is specified, they are expected to follow the alphabetic order on the `location` property.\n"
+ "description": "One or more `georeplications` blocks as documented below.\n\n\u003e **NOTE:** The `georeplications` is only supported on new resources with the `Premium` SKU.\n\n\u003e **NOTE:** The `georeplications` list cannot contain the location where the Container Registry exists.\n\n\u003e **NOTE:** If more than one `georeplications` block is specified, they are expected to follow the alphabetic order on the `location` property.\n"
},
"identity": {
"$ref": "#/types/azure:containerservice/RegistryIdentity:RegistryIdentity",
@@ -151413,7 +152340,7 @@
"items": {
"$ref": "#/types/azure:containerservice/RegistryGeoreplication:RegistryGeoreplication"
},
- "description": "A `georeplications` block as documented below.\n\n\u003e **NOTE:** The `georeplications` is only supported on new resources with the `Premium` SKU.\n\n\u003e **NOTE:** The `georeplications` list cannot contain the location where the Container Registry exists.\n\n\u003e **NOTE:** If more than one `georeplications` block is specified, they are expected to follow the alphabetic order on the `location` property.\n"
+ "description": "One or more `georeplications` blocks as documented below.\n\n\u003e **NOTE:** The `georeplications` is only supported on new resources with the `Premium` SKU.\n\n\u003e **NOTE:** The `georeplications` list cannot contain the location where the Container Registry exists.\n\n\u003e **NOTE:** If more than one `georeplications` block is specified, they are expected to follow the alphabetic order on the `location` property.\n"
},
"identity": {
"$ref": "#/types/azure:containerservice/RegistryIdentity:RegistryIdentity",
@@ -151516,7 +152443,7 @@
"items": {
"$ref": "#/types/azure:containerservice/RegistryGeoreplication:RegistryGeoreplication"
},
- "description": "A `georeplications` block as documented below.\n\n\u003e **NOTE:** The `georeplications` is only supported on new resources with the `Premium` SKU.\n\n\u003e **NOTE:** The `georeplications` list cannot contain the location where the Container Registry exists.\n\n\u003e **NOTE:** If more than one `georeplications` block is specified, they are expected to follow the alphabetic order on the `location` property.\n"
+ "description": "One or more `georeplications` blocks as documented below.\n\n\u003e **NOTE:** The `georeplications` is only supported on new resources with the `Premium` SKU.\n\n\u003e **NOTE:** The `georeplications` list cannot contain the location where the Container Registry exists.\n\n\u003e **NOTE:** If more than one `georeplications` block is specified, they are expected to follow the alphabetic order on the `location` property.\n"
},
"identity": {
"$ref": "#/types/azure:containerservice/RegistryIdentity:RegistryIdentity",
@@ -172214,6 +173141,132 @@
"type": "object"
}
},
+ "azure:dataprotection/backupPolicyMysqlFlexibleServer:BackupPolicyMysqlFlexibleServer": {
+ "description": "Manages a Backup Policy to back up MySQL Flexible Server.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n name: \"example-resources\",\n location: \"West Europe\",\n});\nconst exampleBackupVault = new azure.dataprotection.BackupVault(\"example\", {\n name: \"example-backup-vault\",\n resourceGroupName: example.name,\n location: example.location,\n datastoreType: \"VaultStore\",\n redundancy: \"LocallyRedundant\",\n identity: {\n type: \"SystemAssigned\",\n },\n});\nconst exampleBackupPolicyMysqlFlexibleServer = new azure.dataprotection.BackupPolicyMysqlFlexibleServer(\"example\", {\n name: \"example-backup-policy\",\n vaultId: exampleBackupVault.id,\n backupRepeatingTimeIntervals: [\"R/2021-05-23T02:30:00+00:00/P1W\"],\n timeZone: \"India Standard Time\",\n defaultRetentionRule: {\n lifeCycles: [{\n duration: \"P4M\",\n dataStoreType: \"VaultStore\",\n }],\n },\n retentionRules: [\n {\n name: \"weekly\",\n lifeCycles: [{\n duration: \"P6M\",\n dataStoreType: \"VaultStore\",\n }],\n priority: 20,\n criteria: {\n absoluteCriteria: \"FirstOfWeek\",\n },\n },\n {\n name: \"thursday\",\n lifeCycles: [{\n duration: \"P1W\",\n dataStoreType: \"VaultStore\",\n }],\n priority: 25,\n criteria: {\n daysOfWeeks: [\"Thursday\"],\n scheduledBackupTimes: [\"2021-05-23T02:30:00Z\"],\n },\n },\n {\n name: \"monthly\",\n lifeCycles: [{\n duration: \"P1D\",\n dataStoreType: \"VaultStore\",\n }],\n priority: 15,\n criteria: {\n weeksOfMonths: [\n \"First\",\n \"Last\",\n ],\n daysOfWeeks: [\"Tuesday\"],\n scheduledBackupTimes: [\"2021-05-23T02:30:00Z\"],\n },\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n name=\"example-resources\",\n location=\"West Europe\")\nexample_backup_vault = azure.dataprotection.BackupVault(\"example\",\n name=\"example-backup-vault\",\n resource_group_name=example.name,\n location=example.location,\n datastore_type=\"VaultStore\",\n redundancy=\"LocallyRedundant\",\n identity={\n \"type\": \"SystemAssigned\",\n })\nexample_backup_policy_mysql_flexible_server = azure.dataprotection.BackupPolicyMysqlFlexibleServer(\"example\",\n name=\"example-backup-policy\",\n vault_id=example_backup_vault.id,\n backup_repeating_time_intervals=[\"R/2021-05-23T02:30:00+00:00/P1W\"],\n time_zone=\"India Standard Time\",\n default_retention_rule={\n \"life_cycles\": [{\n \"duration\": \"P4M\",\n \"data_store_type\": \"VaultStore\",\n }],\n },\n retention_rules=[\n {\n \"name\": \"weekly\",\n \"life_cycles\": [{\n \"duration\": \"P6M\",\n \"data_store_type\": \"VaultStore\",\n }],\n \"priority\": 20,\n \"criteria\": {\n \"absolute_criteria\": \"FirstOfWeek\",\n },\n },\n {\n \"name\": \"thursday\",\n \"life_cycles\": [{\n \"duration\": \"P1W\",\n \"data_store_type\": \"VaultStore\",\n }],\n \"priority\": 25,\n \"criteria\": {\n \"days_of_weeks\": [\"Thursday\"],\n \"scheduled_backup_times\": [\"2021-05-23T02:30:00Z\"],\n },\n },\n {\n \"name\": \"monthly\",\n \"life_cycles\": [{\n \"duration\": \"P1D\",\n \"data_store_type\": \"VaultStore\",\n }],\n \"priority\": 15,\n \"criteria\": {\n \"weeks_of_months\": [\n \"First\",\n \"Last\",\n ],\n \"days_of_weeks\": [\"Tuesday\"],\n \"scheduled_backup_times\": [\"2021-05-23T02:30:00Z\"],\n },\n },\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Azure.Core.ResourceGroup(\"example\", new()\n {\n Name = \"example-resources\",\n Location = \"West Europe\",\n });\n\n var exampleBackupVault = new Azure.DataProtection.BackupVault(\"example\", new()\n {\n Name = \"example-backup-vault\",\n ResourceGroupName = example.Name,\n Location = example.Location,\n DatastoreType = \"VaultStore\",\n Redundancy = \"LocallyRedundant\",\n Identity = new Azure.DataProtection.Inputs.BackupVaultIdentityArgs\n {\n Type = \"SystemAssigned\",\n },\n });\n\n var exampleBackupPolicyMysqlFlexibleServer = new Azure.DataProtection.BackupPolicyMysqlFlexibleServer(\"example\", new()\n {\n Name = \"example-backup-policy\",\n VaultId = exampleBackupVault.Id,\n BackupRepeatingTimeIntervals = new[]\n {\n \"R/2021-05-23T02:30:00+00:00/P1W\",\n },\n TimeZone = \"India Standard Time\",\n DefaultRetentionRule = new Azure.DataProtection.Inputs.BackupPolicyMysqlFlexibleServerDefaultRetentionRuleArgs\n {\n LifeCycles = new[]\n {\n new Azure.DataProtection.Inputs.BackupPolicyMysqlFlexibleServerDefaultRetentionRuleLifeCycleArgs\n {\n Duration = \"P4M\",\n DataStoreType = \"VaultStore\",\n },\n },\n },\n RetentionRules = new[]\n {\n new Azure.DataProtection.Inputs.BackupPolicyMysqlFlexibleServerRetentionRuleArgs\n {\n Name = \"weekly\",\n LifeCycles = new[]\n {\n new Azure.DataProtection.Inputs.BackupPolicyMysqlFlexibleServerRetentionRuleLifeCycleArgs\n {\n Duration = \"P6M\",\n DataStoreType = \"VaultStore\",\n },\n },\n Priority = 20,\n Criteria = new Azure.DataProtection.Inputs.BackupPolicyMysqlFlexibleServerRetentionRuleCriteriaArgs\n {\n AbsoluteCriteria = \"FirstOfWeek\",\n },\n },\n new Azure.DataProtection.Inputs.BackupPolicyMysqlFlexibleServerRetentionRuleArgs\n {\n Name = \"thursday\",\n LifeCycles = new[]\n {\n new Azure.DataProtection.Inputs.BackupPolicyMysqlFlexibleServerRetentionRuleLifeCycleArgs\n {\n Duration = \"P1W\",\n DataStoreType = \"VaultStore\",\n },\n },\n Priority = 25,\n Criteria = new Azure.DataProtection.Inputs.BackupPolicyMysqlFlexibleServerRetentionRuleCriteriaArgs\n {\n DaysOfWeeks = new[]\n {\n \"Thursday\",\n },\n ScheduledBackupTimes = new[]\n {\n \"2021-05-23T02:30:00Z\",\n },\n },\n },\n new Azure.DataProtection.Inputs.BackupPolicyMysqlFlexibleServerRetentionRuleArgs\n {\n Name = \"monthly\",\n LifeCycles = new[]\n {\n new Azure.DataProtection.Inputs.BackupPolicyMysqlFlexibleServerRetentionRuleLifeCycleArgs\n {\n Duration = \"P1D\",\n DataStoreType = \"VaultStore\",\n },\n },\n Priority = 15,\n Criteria = new Azure.DataProtection.Inputs.BackupPolicyMysqlFlexibleServerRetentionRuleCriteriaArgs\n {\n WeeksOfMonths = new[]\n {\n \"First\",\n \"Last\",\n },\n DaysOfWeeks = new[]\n {\n \"Tuesday\",\n },\n ScheduledBackupTimes = new[]\n {\n \"2021-05-23T02:30:00Z\",\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/dataprotection\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName: pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleBackupVault, err := dataprotection.NewBackupVault(ctx, \"example\", \u0026dataprotection.BackupVaultArgs{\n\t\t\tName: pulumi.String(\"example-backup-vault\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation: example.Location,\n\t\t\tDatastoreType: pulumi.String(\"VaultStore\"),\n\t\t\tRedundancy: pulumi.String(\"LocallyRedundant\"),\n\t\t\tIdentity: \u0026dataprotection.BackupVaultIdentityArgs{\n\t\t\t\tType: pulumi.String(\"SystemAssigned\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = dataprotection.NewBackupPolicyMysqlFlexibleServer(ctx, \"example\", \u0026dataprotection.BackupPolicyMysqlFlexibleServerArgs{\n\t\t\tName: pulumi.String(\"example-backup-policy\"),\n\t\t\tVaultId: exampleBackupVault.ID(),\n\t\t\tBackupRepeatingTimeIntervals: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"R/2021-05-23T02:30:00+00:00/P1W\"),\n\t\t\t},\n\t\t\tTimeZone: pulumi.String(\"India Standard Time\"),\n\t\t\tDefaultRetentionRule: \u0026dataprotection.BackupPolicyMysqlFlexibleServerDefaultRetentionRuleArgs{\n\t\t\t\tLifeCycles: dataprotection.BackupPolicyMysqlFlexibleServerDefaultRetentionRuleLifeCycleArray{\n\t\t\t\t\t\u0026dataprotection.BackupPolicyMysqlFlexibleServerDefaultRetentionRuleLifeCycleArgs{\n\t\t\t\t\t\tDuration: pulumi.String(\"P4M\"),\n\t\t\t\t\t\tDataStoreType: pulumi.String(\"VaultStore\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tRetentionRules: dataprotection.BackupPolicyMysqlFlexibleServerRetentionRuleArray{\n\t\t\t\t\u0026dataprotection.BackupPolicyMysqlFlexibleServerRetentionRuleArgs{\n\t\t\t\t\tName: pulumi.String(\"weekly\"),\n\t\t\t\t\tLifeCycles: dataprotection.BackupPolicyMysqlFlexibleServerRetentionRuleLifeCycleArray{\n\t\t\t\t\t\t\u0026dataprotection.BackupPolicyMysqlFlexibleServerRetentionRuleLifeCycleArgs{\n\t\t\t\t\t\t\tDuration: pulumi.String(\"P6M\"),\n\t\t\t\t\t\t\tDataStoreType: pulumi.String(\"VaultStore\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tPriority: pulumi.Int(20),\n\t\t\t\t\tCriteria: \u0026dataprotection.BackupPolicyMysqlFlexibleServerRetentionRuleCriteriaArgs{\n\t\t\t\t\t\tAbsoluteCriteria: pulumi.String(\"FirstOfWeek\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026dataprotection.BackupPolicyMysqlFlexibleServerRetentionRuleArgs{\n\t\t\t\t\tName: pulumi.String(\"thursday\"),\n\t\t\t\t\tLifeCycles: dataprotection.BackupPolicyMysqlFlexibleServerRetentionRuleLifeCycleArray{\n\t\t\t\t\t\t\u0026dataprotection.BackupPolicyMysqlFlexibleServerRetentionRuleLifeCycleArgs{\n\t\t\t\t\t\t\tDuration: pulumi.String(\"P1W\"),\n\t\t\t\t\t\t\tDataStoreType: pulumi.String(\"VaultStore\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tPriority: pulumi.Int(25),\n\t\t\t\t\tCriteria: \u0026dataprotection.BackupPolicyMysqlFlexibleServerRetentionRuleCriteriaArgs{\n\t\t\t\t\t\tDaysOfWeeks: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"Thursday\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tScheduledBackupTimes: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"2021-05-23T02:30:00Z\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026dataprotection.BackupPolicyMysqlFlexibleServerRetentionRuleArgs{\n\t\t\t\t\tName: pulumi.String(\"monthly\"),\n\t\t\t\t\tLifeCycles: dataprotection.BackupPolicyMysqlFlexibleServerRetentionRuleLifeCycleArray{\n\t\t\t\t\t\t\u0026dataprotection.BackupPolicyMysqlFlexibleServerRetentionRuleLifeCycleArgs{\n\t\t\t\t\t\t\tDuration: pulumi.String(\"P1D\"),\n\t\t\t\t\t\t\tDataStoreType: pulumi.String(\"VaultStore\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tPriority: pulumi.Int(15),\n\t\t\t\t\tCriteria: \u0026dataprotection.BackupPolicyMysqlFlexibleServerRetentionRuleCriteriaArgs{\n\t\t\t\t\t\tWeeksOfMonths: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"First\"),\n\t\t\t\t\t\t\tpulumi.String(\"Last\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tDaysOfWeeks: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"Tuesday\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tScheduledBackupTimes: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"2021-05-23T02:30:00Z\"),\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})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.dataprotection.BackupVault;\nimport com.pulumi.azure.dataprotection.BackupVaultArgs;\nimport com.pulumi.azure.dataprotection.inputs.BackupVaultIdentityArgs;\nimport com.pulumi.azure.dataprotection.BackupPolicyMysqlFlexibleServer;\nimport com.pulumi.azure.dataprotection.BackupPolicyMysqlFlexibleServerArgs;\nimport com.pulumi.azure.dataprotection.inputs.BackupPolicyMysqlFlexibleServerDefaultRetentionRuleArgs;\nimport com.pulumi.azure.dataprotection.inputs.BackupPolicyMysqlFlexibleServerRetentionRuleArgs;\nimport com.pulumi.azure.dataprotection.inputs.BackupPolicyMysqlFlexibleServerRetentionRuleCriteriaArgs;\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 example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n .name(\"example-resources\")\n .location(\"West Europe\")\n .build());\n\n var exampleBackupVault = new BackupVault(\"exampleBackupVault\", BackupVaultArgs.builder()\n .name(\"example-backup-vault\")\n .resourceGroupName(example.name())\n .location(example.location())\n .datastoreType(\"VaultStore\")\n .redundancy(\"LocallyRedundant\")\n .identity(BackupVaultIdentityArgs.builder()\n .type(\"SystemAssigned\")\n .build())\n .build());\n\n var exampleBackupPolicyMysqlFlexibleServer = new BackupPolicyMysqlFlexibleServer(\"exampleBackupPolicyMysqlFlexibleServer\", BackupPolicyMysqlFlexibleServerArgs.builder()\n .name(\"example-backup-policy\")\n .vaultId(exampleBackupVault.id())\n .backupRepeatingTimeIntervals(\"R/2021-05-23T02:30:00+00:00/P1W\")\n .timeZone(\"India Standard Time\")\n .defaultRetentionRule(BackupPolicyMysqlFlexibleServerDefaultRetentionRuleArgs.builder()\n .lifeCycles(BackupPolicyMysqlFlexibleServerDefaultRetentionRuleLifeCycleArgs.builder()\n .duration(\"P4M\")\n .dataStoreType(\"VaultStore\")\n .build())\n .build())\n .retentionRules( \n BackupPolicyMysqlFlexibleServerRetentionRuleArgs.builder()\n .name(\"weekly\")\n .lifeCycles(BackupPolicyMysqlFlexibleServerRetentionRuleLifeCycleArgs.builder()\n .duration(\"P6M\")\n .dataStoreType(\"VaultStore\")\n .build())\n .priority(20)\n .criteria(BackupPolicyMysqlFlexibleServerRetentionRuleCriteriaArgs.builder()\n .absoluteCriteria(\"FirstOfWeek\")\n .build())\n .build(),\n BackupPolicyMysqlFlexibleServerRetentionRuleArgs.builder()\n .name(\"thursday\")\n .lifeCycles(BackupPolicyMysqlFlexibleServerRetentionRuleLifeCycleArgs.builder()\n .duration(\"P1W\")\n .dataStoreType(\"VaultStore\")\n .build())\n .priority(25)\n .criteria(BackupPolicyMysqlFlexibleServerRetentionRuleCriteriaArgs.builder()\n .daysOfWeeks(\"Thursday\")\n .scheduledBackupTimes(\"2021-05-23T02:30:00Z\")\n .build())\n .build(),\n BackupPolicyMysqlFlexibleServerRetentionRuleArgs.builder()\n .name(\"monthly\")\n .lifeCycles(BackupPolicyMysqlFlexibleServerRetentionRuleLifeCycleArgs.builder()\n .duration(\"P1D\")\n .dataStoreType(\"VaultStore\")\n .build())\n .priority(15)\n .criteria(BackupPolicyMysqlFlexibleServerRetentionRuleCriteriaArgs.builder()\n .weeksOfMonths( \n \"First\",\n \"Last\")\n .daysOfWeeks(\"Tuesday\")\n .scheduledBackupTimes(\"2021-05-23T02:30:00Z\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: azure:core:ResourceGroup\n properties:\n name: example-resources\n location: West Europe\n exampleBackupVault:\n type: azure:dataprotection:BackupVault\n name: example\n properties:\n name: example-backup-vault\n resourceGroupName: ${example.name}\n location: ${example.location}\n datastoreType: VaultStore\n redundancy: LocallyRedundant\n identity:\n type: SystemAssigned\n exampleBackupPolicyMysqlFlexibleServer:\n type: azure:dataprotection:BackupPolicyMysqlFlexibleServer\n name: example\n properties:\n name: example-backup-policy\n vaultId: ${exampleBackupVault.id}\n backupRepeatingTimeIntervals:\n - R/2021-05-23T02:30:00+00:00/P1W\n timeZone: India Standard Time\n defaultRetentionRule:\n lifeCycles:\n - duration: P4M\n dataStoreType: VaultStore\n retentionRules:\n - name: weekly\n lifeCycles:\n - duration: P6M\n dataStoreType: VaultStore\n priority: 20\n criteria:\n absoluteCriteria: FirstOfWeek\n - name: thursday\n lifeCycles:\n - duration: P1W\n dataStoreType: VaultStore\n priority: 25\n criteria:\n daysOfWeeks:\n - Thursday\n scheduledBackupTimes:\n - 2021-05-23T02:30:00Z\n - name: monthly\n lifeCycles:\n - duration: P1D\n dataStoreType: VaultStore\n priority: 15\n criteria:\n weeksOfMonths:\n - First\n - Last\n daysOfWeeks:\n - Tuesday\n scheduledBackupTimes:\n - 2021-05-23T02:30:00Z\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nBackup Policy MySQL Flexible Server's can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:dataprotection/backupPolicyMysqlFlexibleServer:BackupPolicyMysqlFlexibleServer example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.DataProtection/backupVaults/vault1/backupPolicies/backupPolicy1\n```\n\n",
+ "properties": {
+ "backupRepeatingTimeIntervals": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Specifies a list of repeating time interval. It supports weekly back. It should follow `ISO 8601` repeating time interval format. Changing this forces a new resource to be created.\n"
+ },
+ "defaultRetentionRule": {
+ "$ref": "#/types/azure:dataprotection/BackupPolicyMysqlFlexibleServerDefaultRetentionRule:BackupPolicyMysqlFlexibleServerDefaultRetentionRule",
+ "description": "A `default_retention_rule` block as defined below. Changing this forces a new resource to be created.\n"
+ },
+ "name": {
+ "type": "string",
+ "description": "Specifies the name of the Backup Policy for the MySQL Flexible Server. Changing this forces a new resource to be created.\n"
+ },
+ "retentionRules": {
+ "type": "array",
+ "items": {
+ "$ref": "#/types/azure:dataprotection/BackupPolicyMysqlFlexibleServerRetentionRule:BackupPolicyMysqlFlexibleServerRetentionRule"
+ },
+ "description": "One or more `retention_rule` blocks as defined below. Changing this forces a new resource to be created.\n"
+ },
+ "timeZone": {
+ "type": "string",
+ "description": "Specifies the Time Zone which should be used by the backup schedule. Changing this forces a new resource to be created.\n"
+ },
+ "vaultId": {
+ "type": "string",
+ "description": "The ID of the Backup Vault where the Backup Policy MySQL Flexible Server should exist. Changing this forces a new resource to be created.\n"
+ }
+ },
+ "required": [
+ "backupRepeatingTimeIntervals",
+ "defaultRetentionRule",
+ "name",
+ "vaultId"
+ ],
+ "inputProperties": {
+ "backupRepeatingTimeIntervals": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Specifies a list of repeating time interval. It supports weekly back. It should follow `ISO 8601` repeating time interval format. Changing this forces a new resource to be created.\n",
+ "willReplaceOnChanges": true
+ },
+ "defaultRetentionRule": {
+ "$ref": "#/types/azure:dataprotection/BackupPolicyMysqlFlexibleServerDefaultRetentionRule:BackupPolicyMysqlFlexibleServerDefaultRetentionRule",
+ "description": "A `default_retention_rule` block as defined below. Changing this forces a new resource to be created.\n",
+ "willReplaceOnChanges": true
+ },
+ "name": {
+ "type": "string",
+ "description": "Specifies the name of the Backup Policy for the MySQL Flexible Server. Changing this forces a new resource to be created.\n",
+ "willReplaceOnChanges": true
+ },
+ "retentionRules": {
+ "type": "array",
+ "items": {
+ "$ref": "#/types/azure:dataprotection/BackupPolicyMysqlFlexibleServerRetentionRule:BackupPolicyMysqlFlexibleServerRetentionRule"
+ },
+ "description": "One or more `retention_rule` blocks as defined below. Changing this forces a new resource to be created.\n",
+ "willReplaceOnChanges": true
+ },
+ "timeZone": {
+ "type": "string",
+ "description": "Specifies the Time Zone which should be used by the backup schedule. Changing this forces a new resource to be created.\n",
+ "willReplaceOnChanges": true
+ },
+ "vaultId": {
+ "type": "string",
+ "description": "The ID of the Backup Vault where the Backup Policy MySQL Flexible Server should exist. Changing this forces a new resource to be created.\n",
+ "willReplaceOnChanges": true
+ }
+ },
+ "requiredInputs": [
+ "backupRepeatingTimeIntervals",
+ "defaultRetentionRule",
+ "vaultId"
+ ],
+ "stateInputs": {
+ "description": "Input properties used for looking up and filtering BackupPolicyMysqlFlexibleServer resources.\n",
+ "properties": {
+ "backupRepeatingTimeIntervals": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Specifies a list of repeating time interval. It supports weekly back. It should follow `ISO 8601` repeating time interval format. Changing this forces a new resource to be created.\n",
+ "willReplaceOnChanges": true
+ },
+ "defaultRetentionRule": {
+ "$ref": "#/types/azure:dataprotection/BackupPolicyMysqlFlexibleServerDefaultRetentionRule:BackupPolicyMysqlFlexibleServerDefaultRetentionRule",
+ "description": "A `default_retention_rule` block as defined below. Changing this forces a new resource to be created.\n",
+ "willReplaceOnChanges": true
+ },
+ "name": {
+ "type": "string",
+ "description": "Specifies the name of the Backup Policy for the MySQL Flexible Server. Changing this forces a new resource to be created.\n",
+ "willReplaceOnChanges": true
+ },
+ "retentionRules": {
+ "type": "array",
+ "items": {
+ "$ref": "#/types/azure:dataprotection/BackupPolicyMysqlFlexibleServerRetentionRule:BackupPolicyMysqlFlexibleServerRetentionRule"
+ },
+ "description": "One or more `retention_rule` blocks as defined below. Changing this forces a new resource to be created.\n",
+ "willReplaceOnChanges": true
+ },
+ "timeZone": {
+ "type": "string",
+ "description": "Specifies the Time Zone which should be used by the backup schedule. Changing this forces a new resource to be created.\n",
+ "willReplaceOnChanges": true
+ },
+ "vaultId": {
+ "type": "string",
+ "description": "The ID of the Backup Vault where the Backup Policy MySQL Flexible Server should exist. Changing this forces a new resource to be created.\n",
+ "willReplaceOnChanges": true
+ }
+ },
+ "type": "object"
+ }
+ },
"azure:dataprotection/backupPolicyPostgresql:BackupPolicyPostgresql": {
"description": "Manages a Backup Policy to back up PostgreSQL.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n name: \"example-resources\",\n location: \"West Europe\",\n});\nconst exampleBackupVault = new azure.dataprotection.BackupVault(\"example\", {\n name: \"example-backup-vault\",\n resourceGroupName: example.name,\n location: example.location,\n datastoreType: \"VaultStore\",\n redundancy: \"LocallyRedundant\",\n});\nconst exampleBackupPolicyPostgresql = new azure.dataprotection.BackupPolicyPostgresql(\"example\", {\n name: \"example-backup-policy\",\n resourceGroupName: example.name,\n vaultName: exampleBackupVault.name,\n backupRepeatingTimeIntervals: [\"R/2021-05-23T02:30:00+00:00/P1W\"],\n timeZone: \"India Standard Time\",\n defaultRetentionDuration: \"P4M\",\n retentionRules: [\n {\n name: \"weekly\",\n duration: \"P6M\",\n priority: 20,\n criteria: {\n absoluteCriteria: \"FirstOfWeek\",\n },\n },\n {\n name: \"thursday\",\n duration: \"P1W\",\n priority: 25,\n criteria: {\n daysOfWeeks: [\"Thursday\"],\n scheduledBackupTimes: [\"2021-05-23T02:30:00Z\"],\n },\n },\n {\n name: \"monthly\",\n duration: \"P1D\",\n priority: 15,\n criteria: {\n weeksOfMonths: [\n \"First\",\n \"Last\",\n ],\n daysOfWeeks: [\"Tuesday\"],\n scheduledBackupTimes: [\"2021-05-23T02:30:00Z\"],\n },\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n name=\"example-resources\",\n location=\"West Europe\")\nexample_backup_vault = azure.dataprotection.BackupVault(\"example\",\n name=\"example-backup-vault\",\n resource_group_name=example.name,\n location=example.location,\n datastore_type=\"VaultStore\",\n redundancy=\"LocallyRedundant\")\nexample_backup_policy_postgresql = azure.dataprotection.BackupPolicyPostgresql(\"example\",\n name=\"example-backup-policy\",\n resource_group_name=example.name,\n vault_name=example_backup_vault.name,\n backup_repeating_time_intervals=[\"R/2021-05-23T02:30:00+00:00/P1W\"],\n time_zone=\"India Standard Time\",\n default_retention_duration=\"P4M\",\n retention_rules=[\n {\n \"name\": \"weekly\",\n \"duration\": \"P6M\",\n \"priority\": 20,\n \"criteria\": {\n \"absolute_criteria\": \"FirstOfWeek\",\n },\n },\n {\n \"name\": \"thursday\",\n \"duration\": \"P1W\",\n \"priority\": 25,\n \"criteria\": {\n \"days_of_weeks\": [\"Thursday\"],\n \"scheduled_backup_times\": [\"2021-05-23T02:30:00Z\"],\n },\n },\n {\n \"name\": \"monthly\",\n \"duration\": \"P1D\",\n \"priority\": 15,\n \"criteria\": {\n \"weeks_of_months\": [\n \"First\",\n \"Last\",\n ],\n \"days_of_weeks\": [\"Tuesday\"],\n \"scheduled_backup_times\": [\"2021-05-23T02:30:00Z\"],\n },\n },\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Azure.Core.ResourceGroup(\"example\", new()\n {\n Name = \"example-resources\",\n Location = \"West Europe\",\n });\n\n var exampleBackupVault = new Azure.DataProtection.BackupVault(\"example\", new()\n {\n Name = \"example-backup-vault\",\n ResourceGroupName = example.Name,\n Location = example.Location,\n DatastoreType = \"VaultStore\",\n Redundancy = \"LocallyRedundant\",\n });\n\n var exampleBackupPolicyPostgresql = new Azure.DataProtection.BackupPolicyPostgresql(\"example\", new()\n {\n Name = \"example-backup-policy\",\n ResourceGroupName = example.Name,\n VaultName = exampleBackupVault.Name,\n BackupRepeatingTimeIntervals = new[]\n {\n \"R/2021-05-23T02:30:00+00:00/P1W\",\n },\n TimeZone = \"India Standard Time\",\n DefaultRetentionDuration = \"P4M\",\n RetentionRules = new[]\n {\n new Azure.DataProtection.Inputs.BackupPolicyPostgresqlRetentionRuleArgs\n {\n Name = \"weekly\",\n Duration = \"P6M\",\n Priority = 20,\n Criteria = new Azure.DataProtection.Inputs.BackupPolicyPostgresqlRetentionRuleCriteriaArgs\n {\n AbsoluteCriteria = \"FirstOfWeek\",\n },\n },\n new Azure.DataProtection.Inputs.BackupPolicyPostgresqlRetentionRuleArgs\n {\n Name = \"thursday\",\n Duration = \"P1W\",\n Priority = 25,\n Criteria = new Azure.DataProtection.Inputs.BackupPolicyPostgresqlRetentionRuleCriteriaArgs\n {\n DaysOfWeeks = new[]\n {\n \"Thursday\",\n },\n ScheduledBackupTimes = new[]\n {\n \"2021-05-23T02:30:00Z\",\n },\n },\n },\n new Azure.DataProtection.Inputs.BackupPolicyPostgresqlRetentionRuleArgs\n {\n Name = \"monthly\",\n Duration = \"P1D\",\n Priority = 15,\n Criteria = new Azure.DataProtection.Inputs.BackupPolicyPostgresqlRetentionRuleCriteriaArgs\n {\n WeeksOfMonths = new[]\n {\n \"First\",\n \"Last\",\n },\n DaysOfWeeks = new[]\n {\n \"Tuesday\",\n },\n ScheduledBackupTimes = new[]\n {\n \"2021-05-23T02:30:00Z\",\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/dataprotection\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName: pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleBackupVault, err := dataprotection.NewBackupVault(ctx, \"example\", \u0026dataprotection.BackupVaultArgs{\n\t\t\tName: pulumi.String(\"example-backup-vault\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation: example.Location,\n\t\t\tDatastoreType: pulumi.String(\"VaultStore\"),\n\t\t\tRedundancy: pulumi.String(\"LocallyRedundant\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = dataprotection.NewBackupPolicyPostgresql(ctx, \"example\", \u0026dataprotection.BackupPolicyPostgresqlArgs{\n\t\t\tName: pulumi.String(\"example-backup-policy\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tVaultName: exampleBackupVault.Name,\n\t\t\tBackupRepeatingTimeIntervals: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"R/2021-05-23T02:30:00+00:00/P1W\"),\n\t\t\t},\n\t\t\tTimeZone: pulumi.String(\"India Standard Time\"),\n\t\t\tDefaultRetentionDuration: pulumi.String(\"P4M\"),\n\t\t\tRetentionRules: dataprotection.BackupPolicyPostgresqlRetentionRuleArray{\n\t\t\t\t\u0026dataprotection.BackupPolicyPostgresqlRetentionRuleArgs{\n\t\t\t\t\tName: pulumi.String(\"weekly\"),\n\t\t\t\t\tDuration: pulumi.String(\"P6M\"),\n\t\t\t\t\tPriority: pulumi.Int(20),\n\t\t\t\t\tCriteria: \u0026dataprotection.BackupPolicyPostgresqlRetentionRuleCriteriaArgs{\n\t\t\t\t\t\tAbsoluteCriteria: pulumi.String(\"FirstOfWeek\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026dataprotection.BackupPolicyPostgresqlRetentionRuleArgs{\n\t\t\t\t\tName: pulumi.String(\"thursday\"),\n\t\t\t\t\tDuration: pulumi.String(\"P1W\"),\n\t\t\t\t\tPriority: pulumi.Int(25),\n\t\t\t\t\tCriteria: \u0026dataprotection.BackupPolicyPostgresqlRetentionRuleCriteriaArgs{\n\t\t\t\t\t\tDaysOfWeeks: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"Thursday\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tScheduledBackupTimes: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"2021-05-23T02:30:00Z\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026dataprotection.BackupPolicyPostgresqlRetentionRuleArgs{\n\t\t\t\t\tName: pulumi.String(\"monthly\"),\n\t\t\t\t\tDuration: pulumi.String(\"P1D\"),\n\t\t\t\t\tPriority: pulumi.Int(15),\n\t\t\t\t\tCriteria: \u0026dataprotection.BackupPolicyPostgresqlRetentionRuleCriteriaArgs{\n\t\t\t\t\t\tWeeksOfMonths: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"First\"),\n\t\t\t\t\t\t\tpulumi.String(\"Last\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tDaysOfWeeks: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"Tuesday\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tScheduledBackupTimes: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"2021-05-23T02:30:00Z\"),\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})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.dataprotection.BackupVault;\nimport com.pulumi.azure.dataprotection.BackupVaultArgs;\nimport com.pulumi.azure.dataprotection.BackupPolicyPostgresql;\nimport com.pulumi.azure.dataprotection.BackupPolicyPostgresqlArgs;\nimport com.pulumi.azure.dataprotection.inputs.BackupPolicyPostgresqlRetentionRuleArgs;\nimport com.pulumi.azure.dataprotection.inputs.BackupPolicyPostgresqlRetentionRuleCriteriaArgs;\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 example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n .name(\"example-resources\")\n .location(\"West Europe\")\n .build());\n\n var exampleBackupVault = new BackupVault(\"exampleBackupVault\", BackupVaultArgs.builder()\n .name(\"example-backup-vault\")\n .resourceGroupName(example.name())\n .location(example.location())\n .datastoreType(\"VaultStore\")\n .redundancy(\"LocallyRedundant\")\n .build());\n\n var exampleBackupPolicyPostgresql = new BackupPolicyPostgresql(\"exampleBackupPolicyPostgresql\", BackupPolicyPostgresqlArgs.builder()\n .name(\"example-backup-policy\")\n .resourceGroupName(example.name())\n .vaultName(exampleBackupVault.name())\n .backupRepeatingTimeIntervals(\"R/2021-05-23T02:30:00+00:00/P1W\")\n .timeZone(\"India Standard Time\")\n .defaultRetentionDuration(\"P4M\")\n .retentionRules( \n BackupPolicyPostgresqlRetentionRuleArgs.builder()\n .name(\"weekly\")\n .duration(\"P6M\")\n .priority(20)\n .criteria(BackupPolicyPostgresqlRetentionRuleCriteriaArgs.builder()\n .absoluteCriteria(\"FirstOfWeek\")\n .build())\n .build(),\n BackupPolicyPostgresqlRetentionRuleArgs.builder()\n .name(\"thursday\")\n .duration(\"P1W\")\n .priority(25)\n .criteria(BackupPolicyPostgresqlRetentionRuleCriteriaArgs.builder()\n .daysOfWeeks(\"Thursday\")\n .scheduledBackupTimes(\"2021-05-23T02:30:00Z\")\n .build())\n .build(),\n BackupPolicyPostgresqlRetentionRuleArgs.builder()\n .name(\"monthly\")\n .duration(\"P1D\")\n .priority(15)\n .criteria(BackupPolicyPostgresqlRetentionRuleCriteriaArgs.builder()\n .weeksOfMonths( \n \"First\",\n \"Last\")\n .daysOfWeeks(\"Tuesday\")\n .scheduledBackupTimes(\"2021-05-23T02:30:00Z\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: azure:core:ResourceGroup\n properties:\n name: example-resources\n location: West Europe\n exampleBackupVault:\n type: azure:dataprotection:BackupVault\n name: example\n properties:\n name: example-backup-vault\n resourceGroupName: ${example.name}\n location: ${example.location}\n datastoreType: VaultStore\n redundancy: LocallyRedundant\n exampleBackupPolicyPostgresql:\n type: azure:dataprotection:BackupPolicyPostgresql\n name: example\n properties:\n name: example-backup-policy\n resourceGroupName: ${example.name}\n vaultName: ${exampleBackupVault.name}\n backupRepeatingTimeIntervals:\n - R/2021-05-23T02:30:00+00:00/P1W\n timeZone: India Standard Time\n defaultRetentionDuration: P4M\n retentionRules:\n - name: weekly\n duration: P6M\n priority: 20\n criteria:\n absoluteCriteria: FirstOfWeek\n - name: thursday\n duration: P1W\n priority: 25\n criteria:\n daysOfWeeks:\n - Thursday\n scheduledBackupTimes:\n - 2021-05-23T02:30:00Z\n - name: monthly\n duration: P1D\n priority: 15\n criteria:\n weeksOfMonths:\n - First\n - Last\n daysOfWeeks:\n - Tuesday\n scheduledBackupTimes:\n - 2021-05-23T02:30:00Z\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nBackup Policy PostgreSQL's can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:dataprotection/backupPolicyPostgresql:BackupPolicyPostgresql example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.DataProtection/backupVaults/vault1/backupPolicies/backupPolicy1\n```\n\n",
"properties": {
@@ -194024,7 +195077,7 @@
}
},
"azure:keyvault/managedHardwareSecurityModuleKey:ManagedHardwareSecurityModuleKey": {
- "description": "Manages a Key Vault Managed Hardware Security Module Key.\n\n\u003e **Note:** The Azure Provider includes a Feature Toggle which will purge a Key Vault Managed Hardware Security Module Key resource on destroy, rather than the default soft-delete. See `purge_soft_deleted_hardware_security_modules_on_destroy` for more information.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```yaml\nresources:\n example:\n type: azure:keyvault:ManagedHardwareSecurityModule\n properties:\n name: example\n resourceGroupName: ${exampleAzurermResourceGroup.name}\n location: ${exampleAzurermResourceGroup.location}\n skuName: Standard_B1\n tenantId: ${current.tenantId}\n adminObjectIds:\n - ${current.objectId}\n purgeProtectionEnabled: false\n activeConfig:\n - securityDomainCertificate:\n - ${cert[0].id}\n - ${cert[1].id}\n - ${cert[2].id}\n securityDomainQuorum: 2\n # this gives your service principal the HSM Crypto User role which lets you create and destroy hsm keys\n hsm-crypto-user:\n type: azure:keyvault:ManagedHardwareSecurityModuleRoleAssignment\n properties:\n vaultBaseUrl: ${test.hsmUri}\n name: 1e243909-064c-6ac3-84e9-1c8bf8d6ad22\n scope: /keys\n roleDefinitionId: /Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/21dbd100-6940-42c2-9190-5d6cb909625b\n principalId: ${current.objectId}\n # this gives your service principal the HSM Crypto Officer role which lets you purge hsm keys\n hsm-crypto-officer:\n type: azure:keyvault:ManagedHardwareSecurityModuleRoleAssignment\n properties:\n vaultBaseUrl: ${test.hsmUri}\n name: 1e243909-064c-6ac3-84e9-1c8bf8d6ad23\n scope: /keys\n roleDefinitionId: /Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/515eb02d-2335-4d2d-92f2-b1cbdf9c3778\n principalId: ${current.objectId}\n exampleManagedHardwareSecurityModuleKey:\n type: azure:keyvault:ManagedHardwareSecurityModuleKey\n name: example\n properties:\n name: example\n managedHsmId: ${test.id}\n keyType: EC-HSM\n curve: P-521\n keyOpts:\n - sign\n options:\n dependson:\n - ${testAzurermKeyVaultManagedHardwareSecurityModuleRoleAssignment}\n - ${test1}\nvariables:\n current:\n fn::invoke:\n Function: azure:core:getClientConfig\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nKey Vault Managed Hardware Security Module Key can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:keyvault/managedHardwareSecurityModuleKey:ManagedHardwareSecurityModuleKey example https://exampleHSM.managedhsm.azure.net/keys/exampleKey\n```\n\n",
+ "description": "Manages a Key Vault Managed Hardware Security Module Key.\n\n\u003e **Note:** The Azure Provider includes a Feature Toggle which will purge a Key Vault Managed Hardware Security Module Key resource on destroy, rather than the default soft-delete. See `purge_soft_deleted_hardware_security_modules_on_destroy` for more information.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```yaml\nresources:\n example:\n type: azure:keyvault:ManagedHardwareSecurityModule\n properties:\n name: example\n resourceGroupName: ${exampleAzurermResourceGroup.name}\n location: ${exampleAzurermResourceGroup.location}\n skuName: Standard_B1\n tenantId: ${current.tenantId}\n adminObjectIds:\n - ${current.objectId}\n purgeProtectionEnabled: false\n activeConfig:\n - securityDomainCertificate:\n - ${cert[0].id}\n - ${cert[1].id}\n - ${cert[2].id}\n securityDomainQuorum: 2\n # this gives your service principal the HSM Crypto User role which lets you create and destroy hsm keys\n hsm-crypto-user:\n type: azure:keyvault:ManagedHardwareSecurityModuleRoleAssignment\n properties:\n managedHsmId: ${test.id}\n name: 1e243909-064c-6ac3-84e9-1c8bf8d6ad22\n scope: /keys\n roleDefinitionId: /Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/21dbd100-6940-42c2-9190-5d6cb909625b\n principalId: ${current.objectId}\n # this gives your service principal the HSM Crypto Officer role which lets you purge hsm keys\n hsm-crypto-officer:\n type: azure:keyvault:ManagedHardwareSecurityModuleRoleAssignment\n properties:\n managedHsmId: ${test.id}\n name: 1e243909-064c-6ac3-84e9-1c8bf8d6ad23\n scope: /keys\n roleDefinitionId: /Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/515eb02d-2335-4d2d-92f2-b1cbdf9c3778\n principalId: ${current.objectId}\n exampleManagedHardwareSecurityModuleKey:\n type: azure:keyvault:ManagedHardwareSecurityModuleKey\n name: example\n properties:\n name: example\n managedHsmId: ${test.id}\n keyType: EC-HSM\n curve: P-521\n keyOpts:\n - sign\n options:\n dependson:\n - ${testAzurermKeyVaultManagedHardwareSecurityModuleRoleAssignment}\n - ${test1}\nvariables:\n current:\n fn::invoke:\n Function: azure:core:getClientConfig\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nKey Vault Managed Hardware Security Module Key can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:keyvault/managedHardwareSecurityModuleKey:ManagedHardwareSecurityModuleKey example https://exampleHSM.managedhsm.azure.net/keys/exampleKey\n```\n\n",
"properties": {
"curve": {
"type": "string",
@@ -194192,6 +195245,77 @@
"type": "object"
}
},
+ "azure:keyvault/managedHardwareSecurityModuleKeyRotationPolicy:ManagedHardwareSecurityModuleKeyRotationPolicy": {
+ "description": "Manages a Managed HSM Key rotation policy.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.keyvault.ManagedHardwareSecurityModuleKey(\"example\", {\n name: \"example-key\",\n managedHsmId: exampleAzurermKeyVaultManagedHardwareSecurityModule.id,\n keyType: \"EC-HSM\",\n curve: \"P-521\",\n keyOpts: [\"sign\"],\n});\nconst exampleManagedHardwareSecurityModuleKeyRotationPolicy = new azure.keyvault.ManagedHardwareSecurityModuleKeyRotationPolicy(\"example\", {\n managedHsmKeyId: example.id,\n expireAfter: \"P60D\",\n timeBeforeExpiry: \"P30D\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.keyvault.ManagedHardwareSecurityModuleKey(\"example\",\n name=\"example-key\",\n managed_hsm_id=example_azurerm_key_vault_managed_hardware_security_module[\"id\"],\n key_type=\"EC-HSM\",\n curve=\"P-521\",\n key_opts=[\"sign\"])\nexample_managed_hardware_security_module_key_rotation_policy = azure.keyvault.ManagedHardwareSecurityModuleKeyRotationPolicy(\"example\",\n managed_hsm_key_id=example.id,\n expire_after=\"P60D\",\n time_before_expiry=\"P30D\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Azure.KeyVault.ManagedHardwareSecurityModuleKey(\"example\", new()\n {\n Name = \"example-key\",\n ManagedHsmId = exampleAzurermKeyVaultManagedHardwareSecurityModule.Id,\n KeyType = \"EC-HSM\",\n Curve = \"P-521\",\n KeyOpts = new[]\n {\n \"sign\",\n },\n });\n\n var exampleManagedHardwareSecurityModuleKeyRotationPolicy = new Azure.KeyVault.ManagedHardwareSecurityModuleKeyRotationPolicy(\"example\", new()\n {\n ManagedHsmKeyId = example.Id,\n ExpireAfter = \"P60D\",\n TimeBeforeExpiry = \"P30D\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/keyvault\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := keyvault.NewManagedHardwareSecurityModuleKey(ctx, \"example\", \u0026keyvault.ManagedHardwareSecurityModuleKeyArgs{\n\t\t\tName: pulumi.String(\"example-key\"),\n\t\t\tManagedHsmId: pulumi.Any(exampleAzurermKeyVaultManagedHardwareSecurityModule.Id),\n\t\t\tKeyType: pulumi.String(\"EC-HSM\"),\n\t\t\tCurve: pulumi.String(\"P-521\"),\n\t\t\tKeyOpts: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"sign\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = keyvault.NewManagedHardwareSecurityModuleKeyRotationPolicy(ctx, \"example\", \u0026keyvault.ManagedHardwareSecurityModuleKeyRotationPolicyArgs{\n\t\t\tManagedHsmKeyId: example.ID(),\n\t\t\tExpireAfter: pulumi.String(\"P60D\"),\n\t\t\tTimeBeforeExpiry: pulumi.String(\"P30D\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.keyvault.ManagedHardwareSecurityModuleKey;\nimport com.pulumi.azure.keyvault.ManagedHardwareSecurityModuleKeyArgs;\nimport com.pulumi.azure.keyvault.ManagedHardwareSecurityModuleKeyRotationPolicy;\nimport com.pulumi.azure.keyvault.ManagedHardwareSecurityModuleKeyRotationPolicyArgs;\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 example = new ManagedHardwareSecurityModuleKey(\"example\", ManagedHardwareSecurityModuleKeyArgs.builder()\n .name(\"example-key\")\n .managedHsmId(exampleAzurermKeyVaultManagedHardwareSecurityModule.id())\n .keyType(\"EC-HSM\")\n .curve(\"P-521\")\n .keyOpts(\"sign\")\n .build());\n\n var exampleManagedHardwareSecurityModuleKeyRotationPolicy = new ManagedHardwareSecurityModuleKeyRotationPolicy(\"exampleManagedHardwareSecurityModuleKeyRotationPolicy\", ManagedHardwareSecurityModuleKeyRotationPolicyArgs.builder()\n .managedHsmKeyId(example.id())\n .expireAfter(\"P60D\")\n .timeBeforeExpiry(\"P30D\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: azure:keyvault:ManagedHardwareSecurityModuleKey\n properties:\n name: example-key\n managedHsmId: ${exampleAzurermKeyVaultManagedHardwareSecurityModule.id}\n keyType: EC-HSM\n curve: P-521\n keyOpts:\n - sign\n exampleManagedHardwareSecurityModuleKeyRotationPolicy:\n type: azure:keyvault:ManagedHardwareSecurityModuleKeyRotationPolicy\n name: example\n properties:\n managedHsmKeyId: ${example.id}\n expireAfter: P60D\n timeBeforeExpiry: P30D\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nManaged HSM Key rotation policy can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:keyvault/managedHardwareSecurityModuleKeyRotationPolicy:ManagedHardwareSecurityModuleKeyRotationPolicy example https://example-hsm.managedhsm.azure.net/keys/example\n```\n\n",
+ "properties": {
+ "expireAfter": {
+ "type": "string",
+ "description": "Specify the expiration duration on a newly rotated key as an [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations). The minimum duration is `P28D`.\n"
+ },
+ "managedHsmKeyId": {
+ "type": "string",
+ "description": "The ID of the Managed HSM Key. Changing this forces a new Managed HSM Key rotation policy to be created.\n"
+ },
+ "timeAfterCreation": {
+ "type": "string",
+ "description": "Rotate automatically at a duration after key creation as an [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations). Exactly one of `time_after_creation` or `time_before_expiry` should be specified.\n"
+ },
+ "timeBeforeExpiry": {
+ "type": "string",
+ "description": "Rotate automatically at a duration before key expiry as an [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations). Exactly one of `time_after_creation` or `time_before_expiry` should be specified.\n"
+ }
+ },
+ "required": [
+ "expireAfter",
+ "managedHsmKeyId"
+ ],
+ "inputProperties": {
+ "expireAfter": {
+ "type": "string",
+ "description": "Specify the expiration duration on a newly rotated key as an [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations). The minimum duration is `P28D`.\n"
+ },
+ "managedHsmKeyId": {
+ "type": "string",
+ "description": "The ID of the Managed HSM Key. Changing this forces a new Managed HSM Key rotation policy to be created.\n",
+ "willReplaceOnChanges": true
+ },
+ "timeAfterCreation": {
+ "type": "string",
+ "description": "Rotate automatically at a duration after key creation as an [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations). Exactly one of `time_after_creation` or `time_before_expiry` should be specified.\n"
+ },
+ "timeBeforeExpiry": {
+ "type": "string",
+ "description": "Rotate automatically at a duration before key expiry as an [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations). Exactly one of `time_after_creation` or `time_before_expiry` should be specified.\n"
+ }
+ },
+ "requiredInputs": [
+ "expireAfter",
+ "managedHsmKeyId"
+ ],
+ "stateInputs": {
+ "description": "Input properties used for looking up and filtering ManagedHardwareSecurityModuleKeyRotationPolicy resources.\n",
+ "properties": {
+ "expireAfter": {
+ "type": "string",
+ "description": "Specify the expiration duration on a newly rotated key as an [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations). The minimum duration is `P28D`.\n"
+ },
+ "managedHsmKeyId": {
+ "type": "string",
+ "description": "The ID of the Managed HSM Key. Changing this forces a new Managed HSM Key rotation policy to be created.\n",
+ "willReplaceOnChanges": true
+ },
+ "timeAfterCreation": {
+ "type": "string",
+ "description": "Rotate automatically at a duration after key creation as an [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations). Exactly one of `time_after_creation` or `time_before_expiry` should be specified.\n"
+ },
+ "timeBeforeExpiry": {
+ "type": "string",
+ "description": "Rotate automatically at a duration before key expiry as an [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations). Exactly one of `time_after_creation` or `time_before_expiry` should be specified.\n"
+ }
+ },
+ "type": "object"
+ }
+ },
"azure:keyvault/managedHardwareSecurityModuleRoleAssignment:ManagedHardwareSecurityModuleRoleAssignment": {
"description": "Manages a Managed Hardware Security Module Role Assignment.\n\n## Import\n\nManaged Hardware Security Modules can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:keyvault/managedHardwareSecurityModuleRoleAssignment:ManagedHardwareSecurityModuleRoleAssignment example https://0000.managedhsm.azure.net///RoleAssignment/00000000-0000-0000-0000-000000000000\n```\n\n",
"properties": {
@@ -199105,7 +200229,7 @@
"properties": {
"dataSourceType": {
"type": "string",
- "description": "The data source type which should be used for this Log Analytics Linked Storage Account. Possible values are `CustomLogs`, `AzureWatson`, `Query`, `Ingestion` and `Alerts`. Changing this forces a new Log Analytics Linked Storage Account to be created.\n\n\u003e **Note:** The `data_source_type` is case-insensitive in current 3.x version. And in 4.0 or later versions, Case-sensitivity will be required.\n"
+ "description": "The data source type which should be used for this Log Analytics Linked Storage Account. Possible values are `CustomLogs`, `AzureWatson`, `Query`, `Ingestion` and `Alerts`. Changing this forces a new Log Analytics Linked Storage Account to be created.\n"
},
"resourceGroupName": {
"type": "string",
@@ -199132,7 +200256,7 @@
"inputProperties": {
"dataSourceType": {
"type": "string",
- "description": "The data source type which should be used for this Log Analytics Linked Storage Account. Possible values are `CustomLogs`, `AzureWatson`, `Query`, `Ingestion` and `Alerts`. Changing this forces a new Log Analytics Linked Storage Account to be created.\n\n\u003e **Note:** The `data_source_type` is case-insensitive in current 3.x version. And in 4.0 or later versions, Case-sensitivity will be required.\n",
+ "description": "The data source type which should be used for this Log Analytics Linked Storage Account. Possible values are `CustomLogs`, `AzureWatson`, `Query`, `Ingestion` and `Alerts`. Changing this forces a new Log Analytics Linked Storage Account to be created.\n",
"willReplaceOnChanges": true
},
"resourceGroupName": {
@@ -199164,7 +200288,7 @@
"properties": {
"dataSourceType": {
"type": "string",
- "description": "The data source type which should be used for this Log Analytics Linked Storage Account. Possible values are `CustomLogs`, `AzureWatson`, `Query`, `Ingestion` and `Alerts`. Changing this forces a new Log Analytics Linked Storage Account to be created.\n\n\u003e **Note:** The `data_source_type` is case-insensitive in current 3.x version. And in 4.0 or later versions, Case-sensitivity will be required.\n",
+ "description": "The data source type which should be used for this Log Analytics Linked Storage Account. Possible values are `CustomLogs`, `AzureWatson`, `Query`, `Ingestion` and `Alerts`. Changing this forces a new Log Analytics Linked Storage Account to be created.\n",
"willReplaceOnChanges": true
},
"resourceGroupName": {
@@ -208695,7 +209819,7 @@
]
},
"azure:monitoring/alertPrometheusRuleGroup:AlertPrometheusRuleGroup": {
- "description": "Manages an Alert Management Prometheus Rule Group.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.monitoring.ActionGroup;\nimport com.pulumi.azure.monitoring.ActionGroupArgs;\nimport com.pulumi.azure.monitoring.Workspace;\nimport com.pulumi.azure.monitoring.WorkspaceArgs;\nimport com.pulumi.azure.containerservice.KubernetesCluster;\nimport com.pulumi.azure.containerservice.KubernetesClusterArgs;\nimport com.pulumi.azure.containerservice.inputs.KubernetesClusterDefaultNodePoolArgs;\nimport com.pulumi.azure.containerservice.inputs.KubernetesClusterIdentityArgs;\nimport com.pulumi.azure.monitoring.AlertPrometheusRuleGroup;\nimport com.pulumi.azure.monitoring.AlertPrometheusRuleGroupArgs;\nimport com.pulumi.azure.monitoring.inputs.AlertPrometheusRuleGroupRuleArgs;\nimport com.pulumi.azure.monitoring.inputs.AlertPrometheusRuleGroupRuleAlertResolutionArgs;\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 example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n .name(\"example-resources\")\n .location(\"West Europe\")\n .build());\n\n var exampleActionGroup = new ActionGroup(\"exampleActionGroup\", ActionGroupArgs.builder()\n .name(\"example-mag\")\n .resourceGroupName(example.name())\n .shortName(\"testag\")\n .build());\n\n var exampleWorkspace = new Workspace(\"exampleWorkspace\", WorkspaceArgs.builder()\n .name(\"example-amw\")\n .resourceGroupName(example.name())\n .location(example.location())\n .build());\n\n var exampleKubernetesCluster = new KubernetesCluster(\"exampleKubernetesCluster\", KubernetesClusterArgs.builder()\n .name(\"example-cluster\")\n .location(example.location())\n .resourceGroupName(example.name())\n .dnsPrefix(\"example-aks\")\n .defaultNodePool(KubernetesClusterDefaultNodePoolArgs.builder()\n .name(\"default\")\n .nodeCount(1)\n .vmSize(\"Standard_DS2_v2\")\n .enableHostEncryption(true)\n .build())\n .identity(KubernetesClusterIdentityArgs.builder()\n .type(\"SystemAssigned\")\n .build())\n .build());\n\n var exampleAlertPrometheusRuleGroup = new AlertPrometheusRuleGroup(\"exampleAlertPrometheusRuleGroup\", AlertPrometheusRuleGroupArgs.builder()\n .name(\"example-amprg\")\n .location(\"West Europe\")\n .resourceGroupName(example.name())\n .clusterName(exampleKubernetesCluster.name())\n .description(\"This is the description of the following rule group\")\n .ruleGroupEnabled(false)\n .interval(\"PT1M\")\n .scopes(exampleWorkspace.id())\n .rules( \n AlertPrometheusRuleGroupRuleArgs.builder()\n .enabled(false)\n .expression(\"\"\"\nhistogram_quantile(0.99, sum(rate(jobs_duration_seconds_bucket{service=\"billing-processing\"}[5m])) by (job_type))\n \"\"\")\n .record(\"job_type:billing_jobs_duration_seconds:99p5m\")\n .labels(Map.of(\"team\", \"prod\"))\n .build(),\n AlertPrometheusRuleGroupRuleArgs.builder()\n .alert(\"Billing_Processing_Very_Slow\")\n .enabled(true)\n .expression(\"\"\"\nhistogram_quantile(0.99, sum(rate(jobs_duration_seconds_bucket{service=\"billing-processing\"}[5m])) by (job_type))\n \"\"\")\n .for_(\"PT5M\")\n .severity(2)\n .actions(AlertPrometheusRuleGroupRuleActionArgs.builder()\n .actionGroupId(exampleActionGroup.id())\n .build())\n .alertResolution(AlertPrometheusRuleGroupRuleAlertResolutionArgs.builder()\n .autoResolved(true)\n .timeToResolve(\"PT10M\")\n .build())\n .annotations(Map.of(\"annotationName\", \"annotationValue\"))\n .labels(Map.of(\"team\", \"prod\"))\n .build())\n .tags(Map.of(\"key\", \"value\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: azure:core:ResourceGroup\n properties:\n name: example-resources\n location: West Europe\n exampleActionGroup:\n type: azure:monitoring:ActionGroup\n name: example\n properties:\n name: example-mag\n resourceGroupName: ${example.name}\n shortName: testag\n exampleWorkspace:\n type: azure:monitoring:Workspace\n name: example\n properties:\n name: example-amw\n resourceGroupName: ${example.name}\n location: ${example.location}\n exampleKubernetesCluster:\n type: azure:containerservice:KubernetesCluster\n name: example\n properties:\n name: example-cluster\n location: ${example.location}\n resourceGroupName: ${example.name}\n dnsPrefix: example-aks\n defaultNodePool:\n name: default\n nodeCount: 1\n vmSize: Standard_DS2_v2\n enableHostEncryption: true\n identity:\n type: SystemAssigned\n exampleAlertPrometheusRuleGroup:\n type: azure:monitoring:AlertPrometheusRuleGroup\n name: example\n properties:\n name: example-amprg\n location: West Europe\n resourceGroupName: ${example.name}\n clusterName: ${exampleKubernetesCluster.name}\n description: This is the description of the following rule group\n ruleGroupEnabled: false\n interval: PT1M\n scopes:\n - ${exampleWorkspace.id}\n rules:\n - enabled: false\n expression: |\n histogram_quantile(0.99, sum(rate(jobs_duration_seconds_bucket{service=\"billing-processing\"}[5m])) by (job_type))\n record: job_type:billing_jobs_duration_seconds:99p5m\n labels:\n team: prod\n - alert: Billing_Processing_Very_Slow\n enabled: true\n expression: |\n histogram_quantile(0.99, sum(rate(jobs_duration_seconds_bucket{service=\"billing-processing\"}[5m])) by (job_type))\n for: PT5M\n severity: 2\n actions:\n - actionGroupId: ${exampleActionGroup.id}\n alertResolution:\n autoResolved: true\n timeToResolve: PT10M\n annotations:\n annotationName: annotationValue\n labels:\n team: prod\n tags:\n key: value\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nAlert Management Prometheus Rule Group can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:monitoring/alertPrometheusRuleGroup:AlertPrometheusRuleGroup example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup1/providers/Microsoft.AlertsManagement/prometheusRuleGroups/ruleGroup1\n```\n\n",
+ "description": "Manages an Alert Management Prometheus Rule Group.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n name: \"example-resources\",\n location: \"West Europe\",\n});\nconst exampleActionGroup = new azure.monitoring.ActionGroup(\"example\", {\n name: \"example-mag\",\n resourceGroupName: example.name,\n shortName: \"testag\",\n});\nconst exampleWorkspace = new azure.monitoring.Workspace(\"example\", {\n name: \"example-amw\",\n resourceGroupName: example.name,\n location: example.location,\n});\nconst exampleKubernetesCluster = new azure.containerservice.KubernetesCluster(\"example\", {\n name: \"example-cluster\",\n location: example.location,\n resourceGroupName: example.name,\n dnsPrefix: \"example-aks\",\n defaultNodePool: {\n name: \"default\",\n nodeCount: 1,\n vmSize: \"Standard_DS2_v2\",\n hostEncryptionEnabled: true,\n },\n identity: {\n type: \"SystemAssigned\",\n },\n});\nconst exampleAlertPrometheusRuleGroup = new azure.monitoring.AlertPrometheusRuleGroup(\"example\", {\n name: \"example-amprg\",\n location: \"West Europe\",\n resourceGroupName: example.name,\n clusterName: exampleKubernetesCluster.name,\n description: \"This is the description of the following rule group\",\n ruleGroupEnabled: false,\n interval: \"PT1M\",\n scopes: [exampleWorkspace.id],\n rules: [\n {\n enabled: false,\n expression: \"histogram_quantile(0.99, sum(rate(jobs_duration_seconds_bucket{service=\\\"billing-processing\\\"}[5m])) by (job_type))\\n\",\n record: \"job_type:billing_jobs_duration_seconds:99p5m\",\n labels: {\n team: \"prod\",\n },\n },\n {\n alert: \"Billing_Processing_Very_Slow\",\n enabled: true,\n expression: \"histogram_quantile(0.99, sum(rate(jobs_duration_seconds_bucket{service=\\\"billing-processing\\\"}[5m])) by (job_type))\\n\",\n \"for\": \"PT5M\",\n severity: 2,\n actions: [{\n actionGroupId: exampleActionGroup.id,\n }],\n alertResolution: {\n autoResolved: true,\n timeToResolve: \"PT10M\",\n },\n annotations: {\n annotationName: \"annotationValue\",\n },\n labels: {\n team: \"prod\",\n },\n },\n ],\n tags: {\n key: \"value\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n name=\"example-resources\",\n location=\"West Europe\")\nexample_action_group = azure.monitoring.ActionGroup(\"example\",\n name=\"example-mag\",\n resource_group_name=example.name,\n short_name=\"testag\")\nexample_workspace = azure.monitoring.Workspace(\"example\",\n name=\"example-amw\",\n resource_group_name=example.name,\n location=example.location)\nexample_kubernetes_cluster = azure.containerservice.KubernetesCluster(\"example\",\n name=\"example-cluster\",\n location=example.location,\n resource_group_name=example.name,\n dns_prefix=\"example-aks\",\n default_node_pool={\n \"name\": \"default\",\n \"node_count\": 1,\n \"vm_size\": \"Standard_DS2_v2\",\n \"host_encryption_enabled\": True,\n },\n identity={\n \"type\": \"SystemAssigned\",\n })\nexample_alert_prometheus_rule_group = azure.monitoring.AlertPrometheusRuleGroup(\"example\",\n name=\"example-amprg\",\n location=\"West Europe\",\n resource_group_name=example.name,\n cluster_name=example_kubernetes_cluster.name,\n description=\"This is the description of the following rule group\",\n rule_group_enabled=False,\n interval=\"PT1M\",\n scopes=[example_workspace.id],\n rules=[\n {\n \"enabled\": False,\n \"expression\": \"histogram_quantile(0.99, sum(rate(jobs_duration_seconds_bucket{service=\\\"billing-processing\\\"}[5m])) by (job_type))\\n\",\n \"record\": \"job_type:billing_jobs_duration_seconds:99p5m\",\n \"labels\": {\n \"team\": \"prod\",\n },\n },\n {\n \"alert\": \"Billing_Processing_Very_Slow\",\n \"enabled\": True,\n \"expression\": \"histogram_quantile(0.99, sum(rate(jobs_duration_seconds_bucket{service=\\\"billing-processing\\\"}[5m])) by (job_type))\\n\",\n \"for_\": \"PT5M\",\n \"severity\": 2,\n \"actions\": [{\n \"action_group_id\": example_action_group.id,\n }],\n \"alert_resolution\": {\n \"auto_resolved\": True,\n \"time_to_resolve\": \"PT10M\",\n },\n \"annotations\": {\n \"annotation_name\": \"annotationValue\",\n },\n \"labels\": {\n \"team\": \"prod\",\n },\n },\n ],\n tags={\n \"key\": \"value\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Azure.Core.ResourceGroup(\"example\", new()\n {\n Name = \"example-resources\",\n Location = \"West Europe\",\n });\n\n var exampleActionGroup = new Azure.Monitoring.ActionGroup(\"example\", new()\n {\n Name = \"example-mag\",\n ResourceGroupName = example.Name,\n ShortName = \"testag\",\n });\n\n var exampleWorkspace = new Azure.Monitoring.Workspace(\"example\", new()\n {\n Name = \"example-amw\",\n ResourceGroupName = example.Name,\n Location = example.Location,\n });\n\n var exampleKubernetesCluster = new Azure.ContainerService.KubernetesCluster(\"example\", new()\n {\n Name = \"example-cluster\",\n Location = example.Location,\n ResourceGroupName = example.Name,\n DnsPrefix = \"example-aks\",\n DefaultNodePool = new Azure.ContainerService.Inputs.KubernetesClusterDefaultNodePoolArgs\n {\n Name = \"default\",\n NodeCount = 1,\n VmSize = \"Standard_DS2_v2\",\n HostEncryptionEnabled = true,\n },\n Identity = new Azure.ContainerService.Inputs.KubernetesClusterIdentityArgs\n {\n Type = \"SystemAssigned\",\n },\n });\n\n var exampleAlertPrometheusRuleGroup = new Azure.Monitoring.AlertPrometheusRuleGroup(\"example\", new()\n {\n Name = \"example-amprg\",\n Location = \"West Europe\",\n ResourceGroupName = example.Name,\n ClusterName = exampleKubernetesCluster.Name,\n Description = \"This is the description of the following rule group\",\n RuleGroupEnabled = false,\n Interval = \"PT1M\",\n Scopes = new[]\n {\n exampleWorkspace.Id,\n },\n Rules = new[]\n {\n new Azure.Monitoring.Inputs.AlertPrometheusRuleGroupRuleArgs\n {\n Enabled = false,\n Expression = @\"histogram_quantile(0.99, sum(rate(jobs_duration_seconds_bucket{service=\"\"billing-processing\"\"}[5m])) by (job_type))\n\",\n Record = \"job_type:billing_jobs_duration_seconds:99p5m\",\n Labels = \n {\n { \"team\", \"prod\" },\n },\n },\n new Azure.Monitoring.Inputs.AlertPrometheusRuleGroupRuleArgs\n {\n Alert = \"Billing_Processing_Very_Slow\",\n Enabled = true,\n Expression = @\"histogram_quantile(0.99, sum(rate(jobs_duration_seconds_bucket{service=\"\"billing-processing\"\"}[5m])) by (job_type))\n\",\n For = \"PT5M\",\n Severity = 2,\n Actions = new[]\n {\n new Azure.Monitoring.Inputs.AlertPrometheusRuleGroupRuleActionArgs\n {\n ActionGroupId = exampleActionGroup.Id,\n },\n },\n AlertResolution = new Azure.Monitoring.Inputs.AlertPrometheusRuleGroupRuleAlertResolutionArgs\n {\n AutoResolved = true,\n TimeToResolve = \"PT10M\",\n },\n Annotations = \n {\n { \"annotationName\", \"annotationValue\" },\n },\n Labels = \n {\n { \"team\", \"prod\" },\n },\n },\n },\n Tags = \n {\n { \"key\", \"value\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/containerservice\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/monitoring\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName: pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleActionGroup, err := monitoring.NewActionGroup(ctx, \"example\", \u0026monitoring.ActionGroupArgs{\n\t\t\tName: pulumi.String(\"example-mag\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tShortName: pulumi.String(\"testag\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleWorkspace, err := monitoring.NewWorkspace(ctx, \"example\", \u0026monitoring.WorkspaceArgs{\n\t\t\tName: pulumi.String(\"example-amw\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation: example.Location,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleKubernetesCluster, err := containerservice.NewKubernetesCluster(ctx, \"example\", \u0026containerservice.KubernetesClusterArgs{\n\t\t\tName: pulumi.String(\"example-cluster\"),\n\t\t\tLocation: example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tDnsPrefix: pulumi.String(\"example-aks\"),\n\t\t\tDefaultNodePool: \u0026containerservice.KubernetesClusterDefaultNodePoolArgs{\n\t\t\t\tName: pulumi.String(\"default\"),\n\t\t\t\tNodeCount: pulumi.Int(1),\n\t\t\t\tVmSize: pulumi.String(\"Standard_DS2_v2\"),\n\t\t\t\tHostEncryptionEnabled: pulumi.Bool(true),\n\t\t\t},\n\t\t\tIdentity: \u0026containerservice.KubernetesClusterIdentityArgs{\n\t\t\t\tType: pulumi.String(\"SystemAssigned\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = monitoring.NewAlertPrometheusRuleGroup(ctx, \"example\", \u0026monitoring.AlertPrometheusRuleGroupArgs{\n\t\t\tName: pulumi.String(\"example-amprg\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tClusterName: exampleKubernetesCluster.Name,\n\t\t\tDescription: pulumi.String(\"This is the description of the following rule group\"),\n\t\t\tRuleGroupEnabled: pulumi.Bool(false),\n\t\t\tInterval: pulumi.String(\"PT1M\"),\n\t\t\tScopes: pulumi.StringArray{\n\t\t\t\texampleWorkspace.ID(),\n\t\t\t},\n\t\t\tRules: monitoring.AlertPrometheusRuleGroupRuleArray{\n\t\t\t\t\u0026monitoring.AlertPrometheusRuleGroupRuleArgs{\n\t\t\t\t\tEnabled: pulumi.Bool(false),\n\t\t\t\t\tExpression: pulumi.String(\"histogram_quantile(0.99, sum(rate(jobs_duration_seconds_bucket{service=\\\"billing-processing\\\"}[5m])) by (job_type))\\n\"),\n\t\t\t\t\tRecord: pulumi.String(\"job_type:billing_jobs_duration_seconds:99p5m\"),\n\t\t\t\t\tLabels: pulumi.StringMap{\n\t\t\t\t\t\t\"team\": pulumi.String(\"prod\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026monitoring.AlertPrometheusRuleGroupRuleArgs{\n\t\t\t\t\tAlert: pulumi.String(\"Billing_Processing_Very_Slow\"),\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\tExpression: pulumi.String(\"histogram_quantile(0.99, sum(rate(jobs_duration_seconds_bucket{service=\\\"billing-processing\\\"}[5m])) by (job_type))\\n\"),\n\t\t\t\t\tFor: pulumi.String(\"PT5M\"),\n\t\t\t\t\tSeverity: pulumi.Int(2),\n\t\t\t\t\tActions: monitoring.AlertPrometheusRuleGroupRuleActionArray{\n\t\t\t\t\t\t\u0026monitoring.AlertPrometheusRuleGroupRuleActionArgs{\n\t\t\t\t\t\t\tActionGroupId: exampleActionGroup.ID(),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tAlertResolution: \u0026monitoring.AlertPrometheusRuleGroupRuleAlertResolutionArgs{\n\t\t\t\t\t\tAutoResolved: pulumi.Bool(true),\n\t\t\t\t\t\tTimeToResolve: pulumi.String(\"PT10M\"),\n\t\t\t\t\t},\n\t\t\t\t\tAnnotations: pulumi.StringMap{\n\t\t\t\t\t\t\"annotationName\": pulumi.String(\"annotationValue\"),\n\t\t\t\t\t},\n\t\t\t\t\tLabels: pulumi.StringMap{\n\t\t\t\t\t\t\"team\": pulumi.String(\"prod\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"key\": pulumi.String(\"value\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.monitoring.ActionGroup;\nimport com.pulumi.azure.monitoring.ActionGroupArgs;\nimport com.pulumi.azure.monitoring.Workspace;\nimport com.pulumi.azure.monitoring.WorkspaceArgs;\nimport com.pulumi.azure.containerservice.KubernetesCluster;\nimport com.pulumi.azure.containerservice.KubernetesClusterArgs;\nimport com.pulumi.azure.containerservice.inputs.KubernetesClusterDefaultNodePoolArgs;\nimport com.pulumi.azure.containerservice.inputs.KubernetesClusterIdentityArgs;\nimport com.pulumi.azure.monitoring.AlertPrometheusRuleGroup;\nimport com.pulumi.azure.monitoring.AlertPrometheusRuleGroupArgs;\nimport com.pulumi.azure.monitoring.inputs.AlertPrometheusRuleGroupRuleArgs;\nimport com.pulumi.azure.monitoring.inputs.AlertPrometheusRuleGroupRuleAlertResolutionArgs;\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 example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n .name(\"example-resources\")\n .location(\"West Europe\")\n .build());\n\n var exampleActionGroup = new ActionGroup(\"exampleActionGroup\", ActionGroupArgs.builder()\n .name(\"example-mag\")\n .resourceGroupName(example.name())\n .shortName(\"testag\")\n .build());\n\n var exampleWorkspace = new Workspace(\"exampleWorkspace\", WorkspaceArgs.builder()\n .name(\"example-amw\")\n .resourceGroupName(example.name())\n .location(example.location())\n .build());\n\n var exampleKubernetesCluster = new KubernetesCluster(\"exampleKubernetesCluster\", KubernetesClusterArgs.builder()\n .name(\"example-cluster\")\n .location(example.location())\n .resourceGroupName(example.name())\n .dnsPrefix(\"example-aks\")\n .defaultNodePool(KubernetesClusterDefaultNodePoolArgs.builder()\n .name(\"default\")\n .nodeCount(1)\n .vmSize(\"Standard_DS2_v2\")\n .hostEncryptionEnabled(true)\n .build())\n .identity(KubernetesClusterIdentityArgs.builder()\n .type(\"SystemAssigned\")\n .build())\n .build());\n\n var exampleAlertPrometheusRuleGroup = new AlertPrometheusRuleGroup(\"exampleAlertPrometheusRuleGroup\", AlertPrometheusRuleGroupArgs.builder()\n .name(\"example-amprg\")\n .location(\"West Europe\")\n .resourceGroupName(example.name())\n .clusterName(exampleKubernetesCluster.name())\n .description(\"This is the description of the following rule group\")\n .ruleGroupEnabled(false)\n .interval(\"PT1M\")\n .scopes(exampleWorkspace.id())\n .rules( \n AlertPrometheusRuleGroupRuleArgs.builder()\n .enabled(false)\n .expression(\"\"\"\nhistogram_quantile(0.99, sum(rate(jobs_duration_seconds_bucket{service=\"billing-processing\"}[5m])) by (job_type))\n \"\"\")\n .record(\"job_type:billing_jobs_duration_seconds:99p5m\")\n .labels(Map.of(\"team\", \"prod\"))\n .build(),\n AlertPrometheusRuleGroupRuleArgs.builder()\n .alert(\"Billing_Processing_Very_Slow\")\n .enabled(true)\n .expression(\"\"\"\nhistogram_quantile(0.99, sum(rate(jobs_duration_seconds_bucket{service=\"billing-processing\"}[5m])) by (job_type))\n \"\"\")\n .for_(\"PT5M\")\n .severity(2)\n .actions(AlertPrometheusRuleGroupRuleActionArgs.builder()\n .actionGroupId(exampleActionGroup.id())\n .build())\n .alertResolution(AlertPrometheusRuleGroupRuleAlertResolutionArgs.builder()\n .autoResolved(true)\n .timeToResolve(\"PT10M\")\n .build())\n .annotations(Map.of(\"annotationName\", \"annotationValue\"))\n .labels(Map.of(\"team\", \"prod\"))\n .build())\n .tags(Map.of(\"key\", \"value\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: azure:core:ResourceGroup\n properties:\n name: example-resources\n location: West Europe\n exampleActionGroup:\n type: azure:monitoring:ActionGroup\n name: example\n properties:\n name: example-mag\n resourceGroupName: ${example.name}\n shortName: testag\n exampleWorkspace:\n type: azure:monitoring:Workspace\n name: example\n properties:\n name: example-amw\n resourceGroupName: ${example.name}\n location: ${example.location}\n exampleKubernetesCluster:\n type: azure:containerservice:KubernetesCluster\n name: example\n properties:\n name: example-cluster\n location: ${example.location}\n resourceGroupName: ${example.name}\n dnsPrefix: example-aks\n defaultNodePool:\n name: default\n nodeCount: 1\n vmSize: Standard_DS2_v2\n hostEncryptionEnabled: true\n identity:\n type: SystemAssigned\n exampleAlertPrometheusRuleGroup:\n type: azure:monitoring:AlertPrometheusRuleGroup\n name: example\n properties:\n name: example-amprg\n location: West Europe\n resourceGroupName: ${example.name}\n clusterName: ${exampleKubernetesCluster.name}\n description: This is the description of the following rule group\n ruleGroupEnabled: false\n interval: PT1M\n scopes:\n - ${exampleWorkspace.id}\n rules:\n - enabled: false\n expression: |\n histogram_quantile(0.99, sum(rate(jobs_duration_seconds_bucket{service=\"billing-processing\"}[5m])) by (job_type))\n record: job_type:billing_jobs_duration_seconds:99p5m\n labels:\n team: prod\n - alert: Billing_Processing_Very_Slow\n enabled: true\n expression: |\n histogram_quantile(0.99, sum(rate(jobs_duration_seconds_bucket{service=\"billing-processing\"}[5m])) by (job_type))\n for: PT5M\n severity: 2\n actions:\n - actionGroupId: ${exampleActionGroup.id}\n alertResolution:\n autoResolved: true\n timeToResolve: PT10M\n annotations:\n annotationName: annotationValue\n labels:\n team: prod\n tags:\n key: value\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nAlert Management Prometheus Rule Group can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:monitoring/alertPrometheusRuleGroup:AlertPrometheusRuleGroup example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup1/providers/Microsoft.AlertsManagement/prometheusRuleGroups/ruleGroup1\n```\n\n",
"properties": {
"clusterName": {
"type": "string",
@@ -229729,7 +230853,7 @@
}
},
"azure:nginx/deployment:Deployment": {
- "description": "Manages an NGINX Deployment.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n name: \"example-rg\",\n location: \"West Europe\",\n});\nconst examplePublicIp = new azure.network.PublicIp(\"example\", {\n name: \"example\",\n resourceGroupName: example.name,\n location: example.location,\n allocationMethod: \"Static\",\n sku: \"Standard\",\n tags: {\n environment: \"Production\",\n },\n});\nconst exampleVirtualNetwork = new azure.network.VirtualNetwork(\"example\", {\n name: \"example-vnet\",\n addressSpaces: [\"10.0.0.0/16\"],\n location: example.location,\n resourceGroupName: example.name,\n});\nconst exampleSubnet = new azure.network.Subnet(\"example\", {\n name: \"example-subnet\",\n resourceGroupName: example.name,\n virtualNetworkName: exampleVirtualNetwork.name,\n addressPrefixes: [\"10.0.2.0/24\"],\n delegations: [{\n name: \"delegation\",\n serviceDelegation: {\n name: \"NGINX.NGINXPLUS/nginxDeployments\",\n actions: [\"Microsoft.Network/virtualNetworks/subnets/join/action\"],\n },\n }],\n});\nconst exampleDeployment = new azure.nginx.Deployment(\"example\", {\n name: \"example-nginx\",\n resourceGroupName: example.name,\n sku: \"standard_Monthly\",\n location: example.location,\n managedResourceGroup: \"example\",\n diagnoseSupportEnabled: true,\n automaticUpgradeChannel: \"stable\",\n frontendPublic: {\n ipAddresses: [examplePublicIp.id],\n },\n networkInterfaces: [{\n subnetId: exampleSubnet.id,\n }],\n capacity: 20,\n email: \"user@test.com\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n name=\"example-rg\",\n location=\"West Europe\")\nexample_public_ip = azure.network.PublicIp(\"example\",\n name=\"example\",\n resource_group_name=example.name,\n location=example.location,\n allocation_method=\"Static\",\n sku=\"Standard\",\n tags={\n \"environment\": \"Production\",\n })\nexample_virtual_network = azure.network.VirtualNetwork(\"example\",\n name=\"example-vnet\",\n address_spaces=[\"10.0.0.0/16\"],\n location=example.location,\n resource_group_name=example.name)\nexample_subnet = azure.network.Subnet(\"example\",\n name=\"example-subnet\",\n resource_group_name=example.name,\n virtual_network_name=example_virtual_network.name,\n address_prefixes=[\"10.0.2.0/24\"],\n delegations=[{\n \"name\": \"delegation\",\n \"service_delegation\": {\n \"name\": \"NGINX.NGINXPLUS/nginxDeployments\",\n \"actions\": [\"Microsoft.Network/virtualNetworks/subnets/join/action\"],\n },\n }])\nexample_deployment = azure.nginx.Deployment(\"example\",\n name=\"example-nginx\",\n resource_group_name=example.name,\n sku=\"standard_Monthly\",\n location=example.location,\n managed_resource_group=\"example\",\n diagnose_support_enabled=True,\n automatic_upgrade_channel=\"stable\",\n frontend_public={\n \"ip_addresses\": [example_public_ip.id],\n },\n network_interfaces=[{\n \"subnet_id\": example_subnet.id,\n }],\n capacity=20,\n email=\"user@test.com\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Azure.Core.ResourceGroup(\"example\", new()\n {\n Name = \"example-rg\",\n Location = \"West Europe\",\n });\n\n var examplePublicIp = new Azure.Network.PublicIp(\"example\", new()\n {\n Name = \"example\",\n ResourceGroupName = example.Name,\n Location = example.Location,\n AllocationMethod = \"Static\",\n Sku = \"Standard\",\n Tags = \n {\n { \"environment\", \"Production\" },\n },\n });\n\n var exampleVirtualNetwork = new Azure.Network.VirtualNetwork(\"example\", new()\n {\n Name = \"example-vnet\",\n AddressSpaces = new[]\n {\n \"10.0.0.0/16\",\n },\n Location = example.Location,\n ResourceGroupName = example.Name,\n });\n\n var exampleSubnet = new Azure.Network.Subnet(\"example\", new()\n {\n Name = \"example-subnet\",\n ResourceGroupName = example.Name,\n VirtualNetworkName = exampleVirtualNetwork.Name,\n AddressPrefixes = new[]\n {\n \"10.0.2.0/24\",\n },\n Delegations = new[]\n {\n new Azure.Network.Inputs.SubnetDelegationArgs\n {\n Name = \"delegation\",\n ServiceDelegation = new Azure.Network.Inputs.SubnetDelegationServiceDelegationArgs\n {\n Name = \"NGINX.NGINXPLUS/nginxDeployments\",\n Actions = new[]\n {\n \"Microsoft.Network/virtualNetworks/subnets/join/action\",\n },\n },\n },\n },\n });\n\n var exampleDeployment = new Azure.Nginx.Deployment(\"example\", new()\n {\n Name = \"example-nginx\",\n ResourceGroupName = example.Name,\n Sku = \"standard_Monthly\",\n Location = example.Location,\n ManagedResourceGroup = \"example\",\n DiagnoseSupportEnabled = true,\n AutomaticUpgradeChannel = \"stable\",\n FrontendPublic = new Azure.Nginx.Inputs.DeploymentFrontendPublicArgs\n {\n IpAddresses = new[]\n {\n examplePublicIp.Id,\n },\n },\n NetworkInterfaces = new[]\n {\n new Azure.Nginx.Inputs.DeploymentNetworkInterfaceArgs\n {\n SubnetId = exampleSubnet.Id,\n },\n },\n Capacity = 20,\n Email = \"user@test.com\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/nginx\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName: pulumi.String(\"example-rg\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texamplePublicIp, err := network.NewPublicIp(ctx, \"example\", \u0026network.PublicIpArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation: example.Location,\n\t\t\tAllocationMethod: pulumi.String(\"Static\"),\n\t\t\tSku: pulumi.String(\"Standard\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"environment\": pulumi.String(\"Production\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualNetwork, err := network.NewVirtualNetwork(ctx, \"example\", \u0026network.VirtualNetworkArgs{\n\t\t\tName: pulumi.String(\"example-vnet\"),\n\t\t\tAddressSpaces: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.0.0/16\"),\n\t\t\t},\n\t\t\tLocation: example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSubnet, err := network.NewSubnet(ctx, \"example\", \u0026network.SubnetArgs{\n\t\t\tName: pulumi.String(\"example-subnet\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tVirtualNetworkName: exampleVirtualNetwork.Name,\n\t\t\tAddressPrefixes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.2.0/24\"),\n\t\t\t},\n\t\t\tDelegations: network.SubnetDelegationArray{\n\t\t\t\t\u0026network.SubnetDelegationArgs{\n\t\t\t\t\tName: pulumi.String(\"delegation\"),\n\t\t\t\t\tServiceDelegation: \u0026network.SubnetDelegationServiceDelegationArgs{\n\t\t\t\t\t\tName: pulumi.String(\"NGINX.NGINXPLUS/nginxDeployments\"),\n\t\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"Microsoft.Network/virtualNetworks/subnets/join/action\"),\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})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = nginx.NewDeployment(ctx, \"example\", \u0026nginx.DeploymentArgs{\n\t\t\tName: pulumi.String(\"example-nginx\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSku: pulumi.String(\"standard_Monthly\"),\n\t\t\tLocation: example.Location,\n\t\t\tManagedResourceGroup: pulumi.String(\"example\"),\n\t\t\tDiagnoseSupportEnabled: pulumi.Bool(true),\n\t\t\tAutomaticUpgradeChannel: pulumi.String(\"stable\"),\n\t\t\tFrontendPublic: \u0026nginx.DeploymentFrontendPublicArgs{\n\t\t\t\tIpAddresses: pulumi.StringArray{\n\t\t\t\t\texamplePublicIp.ID(),\n\t\t\t\t},\n\t\t\t},\n\t\t\tNetworkInterfaces: nginx.DeploymentNetworkInterfaceArray{\n\t\t\t\t\u0026nginx.DeploymentNetworkInterfaceArgs{\n\t\t\t\t\tSubnetId: exampleSubnet.ID(),\n\t\t\t\t},\n\t\t\t},\n\t\t\tCapacity: pulumi.Int(20),\n\t\t\tEmail: pulumi.String(\"user@test.com\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.network.PublicIp;\nimport com.pulumi.azure.network.PublicIpArgs;\nimport com.pulumi.azure.network.VirtualNetwork;\nimport com.pulumi.azure.network.VirtualNetworkArgs;\nimport com.pulumi.azure.network.Subnet;\nimport com.pulumi.azure.network.SubnetArgs;\nimport com.pulumi.azure.network.inputs.SubnetDelegationArgs;\nimport com.pulumi.azure.network.inputs.SubnetDelegationServiceDelegationArgs;\nimport com.pulumi.azure.nginx.Deployment;\nimport com.pulumi.azure.nginx.DeploymentArgs;\nimport com.pulumi.azure.nginx.inputs.DeploymentFrontendPublicArgs;\nimport com.pulumi.azure.nginx.inputs.DeploymentNetworkInterfaceArgs;\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 example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n .name(\"example-rg\")\n .location(\"West Europe\")\n .build());\n\n var examplePublicIp = new PublicIp(\"examplePublicIp\", PublicIpArgs.builder()\n .name(\"example\")\n .resourceGroupName(example.name())\n .location(example.location())\n .allocationMethod(\"Static\")\n .sku(\"Standard\")\n .tags(Map.of(\"environment\", \"Production\"))\n .build());\n\n var exampleVirtualNetwork = new VirtualNetwork(\"exampleVirtualNetwork\", VirtualNetworkArgs.builder()\n .name(\"example-vnet\")\n .addressSpaces(\"10.0.0.0/16\")\n .location(example.location())\n .resourceGroupName(example.name())\n .build());\n\n var exampleSubnet = new Subnet(\"exampleSubnet\", SubnetArgs.builder()\n .name(\"example-subnet\")\n .resourceGroupName(example.name())\n .virtualNetworkName(exampleVirtualNetwork.name())\n .addressPrefixes(\"10.0.2.0/24\")\n .delegations(SubnetDelegationArgs.builder()\n .name(\"delegation\")\n .serviceDelegation(SubnetDelegationServiceDelegationArgs.builder()\n .name(\"NGINX.NGINXPLUS/nginxDeployments\")\n .actions(\"Microsoft.Network/virtualNetworks/subnets/join/action\")\n .build())\n .build())\n .build());\n\n var exampleDeployment = new Deployment(\"exampleDeployment\", DeploymentArgs.builder()\n .name(\"example-nginx\")\n .resourceGroupName(example.name())\n .sku(\"standard_Monthly\")\n .location(example.location())\n .managedResourceGroup(\"example\")\n .diagnoseSupportEnabled(true)\n .automaticUpgradeChannel(\"stable\")\n .frontendPublic(DeploymentFrontendPublicArgs.builder()\n .ipAddresses(examplePublicIp.id())\n .build())\n .networkInterfaces(DeploymentNetworkInterfaceArgs.builder()\n .subnetId(exampleSubnet.id())\n .build())\n .capacity(20)\n .email(\"user@test.com\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: azure:core:ResourceGroup\n properties:\n name: example-rg\n location: West Europe\n examplePublicIp:\n type: azure:network:PublicIp\n name: example\n properties:\n name: example\n resourceGroupName: ${example.name}\n location: ${example.location}\n allocationMethod: Static\n sku: Standard\n tags:\n environment: Production\n exampleVirtualNetwork:\n type: azure:network:VirtualNetwork\n name: example\n properties:\n name: example-vnet\n addressSpaces:\n - 10.0.0.0/16\n location: ${example.location}\n resourceGroupName: ${example.name}\n exampleSubnet:\n type: azure:network:Subnet\n name: example\n properties:\n name: example-subnet\n resourceGroupName: ${example.name}\n virtualNetworkName: ${exampleVirtualNetwork.name}\n addressPrefixes:\n - 10.0.2.0/24\n delegations:\n - name: delegation\n serviceDelegation:\n name: NGINX.NGINXPLUS/nginxDeployments\n actions:\n - Microsoft.Network/virtualNetworks/subnets/join/action\n exampleDeployment:\n type: azure:nginx:Deployment\n name: example\n properties:\n name: example-nginx\n resourceGroupName: ${example.name}\n sku: standard_Monthly\n location: ${example.location}\n managedResourceGroup: example\n diagnoseSupportEnabled: true\n automaticUpgradeChannel: stable\n frontendPublic:\n ipAddresses:\n - ${examplePublicIp.id}\n networkInterfaces:\n - subnetId: ${exampleSubnet.id}\n capacity: 20\n email: user@test.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nNGINX Deployments can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:nginx/deployment:Deployment example /subscriptions/12345678-1234-9876-4563-123456789012/resourceGroups/group1/providers/Nginx.NginxPlus/nginxDeployments/dep1\n```\n\n",
+ "description": "Manages an NGINX Deployment.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n name: \"example-rg\",\n location: \"West Europe\",\n});\nconst examplePublicIp = new azure.network.PublicIp(\"example\", {\n name: \"example\",\n resourceGroupName: example.name,\n location: example.location,\n allocationMethod: \"Static\",\n sku: \"Standard\",\n tags: {\n environment: \"Production\",\n },\n});\nconst exampleVirtualNetwork = new azure.network.VirtualNetwork(\"example\", {\n name: \"example-vnet\",\n addressSpaces: [\"10.0.0.0/16\"],\n location: example.location,\n resourceGroupName: example.name,\n});\nconst exampleSubnet = new azure.network.Subnet(\"example\", {\n name: \"example-subnet\",\n resourceGroupName: example.name,\n virtualNetworkName: exampleVirtualNetwork.name,\n addressPrefixes: [\"10.0.2.0/24\"],\n delegations: [{\n name: \"delegation\",\n serviceDelegation: {\n name: \"NGINX.NGINXPLUS/nginxDeployments\",\n actions: [\"Microsoft.Network/virtualNetworks/subnets/join/action\"],\n },\n }],\n});\nconst exampleDeployment = new azure.nginx.Deployment(\"example\", {\n name: \"example-nginx\",\n resourceGroupName: example.name,\n sku: \"standardv2_Monthly\",\n location: example.location,\n managedResourceGroup: \"example\",\n diagnoseSupportEnabled: true,\n automaticUpgradeChannel: \"stable\",\n frontendPublic: {\n ipAddresses: [examplePublicIp.id],\n },\n networkInterfaces: [{\n subnetId: exampleSubnet.id,\n }],\n capacity: 20,\n email: \"user@test.com\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n name=\"example-rg\",\n location=\"West Europe\")\nexample_public_ip = azure.network.PublicIp(\"example\",\n name=\"example\",\n resource_group_name=example.name,\n location=example.location,\n allocation_method=\"Static\",\n sku=\"Standard\",\n tags={\n \"environment\": \"Production\",\n })\nexample_virtual_network = azure.network.VirtualNetwork(\"example\",\n name=\"example-vnet\",\n address_spaces=[\"10.0.0.0/16\"],\n location=example.location,\n resource_group_name=example.name)\nexample_subnet = azure.network.Subnet(\"example\",\n name=\"example-subnet\",\n resource_group_name=example.name,\n virtual_network_name=example_virtual_network.name,\n address_prefixes=[\"10.0.2.0/24\"],\n delegations=[{\n \"name\": \"delegation\",\n \"service_delegation\": {\n \"name\": \"NGINX.NGINXPLUS/nginxDeployments\",\n \"actions\": [\"Microsoft.Network/virtualNetworks/subnets/join/action\"],\n },\n }])\nexample_deployment = azure.nginx.Deployment(\"example\",\n name=\"example-nginx\",\n resource_group_name=example.name,\n sku=\"standardv2_Monthly\",\n location=example.location,\n managed_resource_group=\"example\",\n diagnose_support_enabled=True,\n automatic_upgrade_channel=\"stable\",\n frontend_public={\n \"ip_addresses\": [example_public_ip.id],\n },\n network_interfaces=[{\n \"subnet_id\": example_subnet.id,\n }],\n capacity=20,\n email=\"user@test.com\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Azure.Core.ResourceGroup(\"example\", new()\n {\n Name = \"example-rg\",\n Location = \"West Europe\",\n });\n\n var examplePublicIp = new Azure.Network.PublicIp(\"example\", new()\n {\n Name = \"example\",\n ResourceGroupName = example.Name,\n Location = example.Location,\n AllocationMethod = \"Static\",\n Sku = \"Standard\",\n Tags = \n {\n { \"environment\", \"Production\" },\n },\n });\n\n var exampleVirtualNetwork = new Azure.Network.VirtualNetwork(\"example\", new()\n {\n Name = \"example-vnet\",\n AddressSpaces = new[]\n {\n \"10.0.0.0/16\",\n },\n Location = example.Location,\n ResourceGroupName = example.Name,\n });\n\n var exampleSubnet = new Azure.Network.Subnet(\"example\", new()\n {\n Name = \"example-subnet\",\n ResourceGroupName = example.Name,\n VirtualNetworkName = exampleVirtualNetwork.Name,\n AddressPrefixes = new[]\n {\n \"10.0.2.0/24\",\n },\n Delegations = new[]\n {\n new Azure.Network.Inputs.SubnetDelegationArgs\n {\n Name = \"delegation\",\n ServiceDelegation = new Azure.Network.Inputs.SubnetDelegationServiceDelegationArgs\n {\n Name = \"NGINX.NGINXPLUS/nginxDeployments\",\n Actions = new[]\n {\n \"Microsoft.Network/virtualNetworks/subnets/join/action\",\n },\n },\n },\n },\n });\n\n var exampleDeployment = new Azure.Nginx.Deployment(\"example\", new()\n {\n Name = \"example-nginx\",\n ResourceGroupName = example.Name,\n Sku = \"standardv2_Monthly\",\n Location = example.Location,\n ManagedResourceGroup = \"example\",\n DiagnoseSupportEnabled = true,\n AutomaticUpgradeChannel = \"stable\",\n FrontendPublic = new Azure.Nginx.Inputs.DeploymentFrontendPublicArgs\n {\n IpAddresses = new[]\n {\n examplePublicIp.Id,\n },\n },\n NetworkInterfaces = new[]\n {\n new Azure.Nginx.Inputs.DeploymentNetworkInterfaceArgs\n {\n SubnetId = exampleSubnet.Id,\n },\n },\n Capacity = 20,\n Email = \"user@test.com\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/nginx\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName: pulumi.String(\"example-rg\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texamplePublicIp, err := network.NewPublicIp(ctx, \"example\", \u0026network.PublicIpArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation: example.Location,\n\t\t\tAllocationMethod: pulumi.String(\"Static\"),\n\t\t\tSku: pulumi.String(\"Standard\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"environment\": pulumi.String(\"Production\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualNetwork, err := network.NewVirtualNetwork(ctx, \"example\", \u0026network.VirtualNetworkArgs{\n\t\t\tName: pulumi.String(\"example-vnet\"),\n\t\t\tAddressSpaces: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.0.0/16\"),\n\t\t\t},\n\t\t\tLocation: example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSubnet, err := network.NewSubnet(ctx, \"example\", \u0026network.SubnetArgs{\n\t\t\tName: pulumi.String(\"example-subnet\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tVirtualNetworkName: exampleVirtualNetwork.Name,\n\t\t\tAddressPrefixes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.2.0/24\"),\n\t\t\t},\n\t\t\tDelegations: network.SubnetDelegationArray{\n\t\t\t\t\u0026network.SubnetDelegationArgs{\n\t\t\t\t\tName: pulumi.String(\"delegation\"),\n\t\t\t\t\tServiceDelegation: \u0026network.SubnetDelegationServiceDelegationArgs{\n\t\t\t\t\t\tName: pulumi.String(\"NGINX.NGINXPLUS/nginxDeployments\"),\n\t\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"Microsoft.Network/virtualNetworks/subnets/join/action\"),\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})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = nginx.NewDeployment(ctx, \"example\", \u0026nginx.DeploymentArgs{\n\t\t\tName: pulumi.String(\"example-nginx\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSku: pulumi.String(\"standardv2_Monthly\"),\n\t\t\tLocation: example.Location,\n\t\t\tManagedResourceGroup: pulumi.String(\"example\"),\n\t\t\tDiagnoseSupportEnabled: pulumi.Bool(true),\n\t\t\tAutomaticUpgradeChannel: pulumi.String(\"stable\"),\n\t\t\tFrontendPublic: \u0026nginx.DeploymentFrontendPublicArgs{\n\t\t\t\tIpAddresses: pulumi.StringArray{\n\t\t\t\t\texamplePublicIp.ID(),\n\t\t\t\t},\n\t\t\t},\n\t\t\tNetworkInterfaces: nginx.DeploymentNetworkInterfaceArray{\n\t\t\t\t\u0026nginx.DeploymentNetworkInterfaceArgs{\n\t\t\t\t\tSubnetId: exampleSubnet.ID(),\n\t\t\t\t},\n\t\t\t},\n\t\t\tCapacity: pulumi.Int(20),\n\t\t\tEmail: pulumi.String(\"user@test.com\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.network.PublicIp;\nimport com.pulumi.azure.network.PublicIpArgs;\nimport com.pulumi.azure.network.VirtualNetwork;\nimport com.pulumi.azure.network.VirtualNetworkArgs;\nimport com.pulumi.azure.network.Subnet;\nimport com.pulumi.azure.network.SubnetArgs;\nimport com.pulumi.azure.network.inputs.SubnetDelegationArgs;\nimport com.pulumi.azure.network.inputs.SubnetDelegationServiceDelegationArgs;\nimport com.pulumi.azure.nginx.Deployment;\nimport com.pulumi.azure.nginx.DeploymentArgs;\nimport com.pulumi.azure.nginx.inputs.DeploymentFrontendPublicArgs;\nimport com.pulumi.azure.nginx.inputs.DeploymentNetworkInterfaceArgs;\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 example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n .name(\"example-rg\")\n .location(\"West Europe\")\n .build());\n\n var examplePublicIp = new PublicIp(\"examplePublicIp\", PublicIpArgs.builder()\n .name(\"example\")\n .resourceGroupName(example.name())\n .location(example.location())\n .allocationMethod(\"Static\")\n .sku(\"Standard\")\n .tags(Map.of(\"environment\", \"Production\"))\n .build());\n\n var exampleVirtualNetwork = new VirtualNetwork(\"exampleVirtualNetwork\", VirtualNetworkArgs.builder()\n .name(\"example-vnet\")\n .addressSpaces(\"10.0.0.0/16\")\n .location(example.location())\n .resourceGroupName(example.name())\n .build());\n\n var exampleSubnet = new Subnet(\"exampleSubnet\", SubnetArgs.builder()\n .name(\"example-subnet\")\n .resourceGroupName(example.name())\n .virtualNetworkName(exampleVirtualNetwork.name())\n .addressPrefixes(\"10.0.2.0/24\")\n .delegations(SubnetDelegationArgs.builder()\n .name(\"delegation\")\n .serviceDelegation(SubnetDelegationServiceDelegationArgs.builder()\n .name(\"NGINX.NGINXPLUS/nginxDeployments\")\n .actions(\"Microsoft.Network/virtualNetworks/subnets/join/action\")\n .build())\n .build())\n .build());\n\n var exampleDeployment = new Deployment(\"exampleDeployment\", DeploymentArgs.builder()\n .name(\"example-nginx\")\n .resourceGroupName(example.name())\n .sku(\"standardv2_Monthly\")\n .location(example.location())\n .managedResourceGroup(\"example\")\n .diagnoseSupportEnabled(true)\n .automaticUpgradeChannel(\"stable\")\n .frontendPublic(DeploymentFrontendPublicArgs.builder()\n .ipAddresses(examplePublicIp.id())\n .build())\n .networkInterfaces(DeploymentNetworkInterfaceArgs.builder()\n .subnetId(exampleSubnet.id())\n .build())\n .capacity(20)\n .email(\"user@test.com\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: azure:core:ResourceGroup\n properties:\n name: example-rg\n location: West Europe\n examplePublicIp:\n type: azure:network:PublicIp\n name: example\n properties:\n name: example\n resourceGroupName: ${example.name}\n location: ${example.location}\n allocationMethod: Static\n sku: Standard\n tags:\n environment: Production\n exampleVirtualNetwork:\n type: azure:network:VirtualNetwork\n name: example\n properties:\n name: example-vnet\n addressSpaces:\n - 10.0.0.0/16\n location: ${example.location}\n resourceGroupName: ${example.name}\n exampleSubnet:\n type: azure:network:Subnet\n name: example\n properties:\n name: example-subnet\n resourceGroupName: ${example.name}\n virtualNetworkName: ${exampleVirtualNetwork.name}\n addressPrefixes:\n - 10.0.2.0/24\n delegations:\n - name: delegation\n serviceDelegation:\n name: NGINX.NGINXPLUS/nginxDeployments\n actions:\n - Microsoft.Network/virtualNetworks/subnets/join/action\n exampleDeployment:\n type: azure:nginx:Deployment\n name: example\n properties:\n name: example-nginx\n resourceGroupName: ${example.name}\n sku: standardv2_Monthly\n location: ${example.location}\n managedResourceGroup: example\n diagnoseSupportEnabled: true\n automaticUpgradeChannel: stable\n frontendPublic:\n ipAddresses:\n - ${examplePublicIp.id}\n networkInterfaces:\n - subnetId: ${exampleSubnet.id}\n capacity: 20\n email: user@test.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nNGINX Deployments can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:nginx/deployment:Deployment example /subscriptions/12345678-1234-9876-4563-123456789012/resourceGroups/group1/providers/Nginx.NginxPlus/nginxDeployments/dep1\n```\n\n",
"properties": {
"autoScaleProfiles": {
"type": "array",
@@ -233111,7 +234235,7 @@
},
"scope": {
"type": "string",
- "description": "The scope to which this Role Management Policy will apply. Can refer to a management group, a subscription or a resource group. Changing this forces a new resource to be created.\n"
+ "description": "The scope to which this Role Management Policy will apply. Can refer to a management group, a subscription, a resource group or a resource. Changing this forces a new resource to be created.\n"
}
},
"required": [
@@ -233148,7 +234272,7 @@
},
"scope": {
"type": "string",
- "description": "The scope to which this Role Management Policy will apply. Can refer to a management group, a subscription or a resource group. Changing this forces a new resource to be created.\n",
+ "description": "The scope to which this Role Management Policy will apply. Can refer to a management group, a subscription, a resource group or a resource. Changing this forces a new resource to be created.\n",
"willReplaceOnChanges": true
}
},
@@ -233190,7 +234314,7 @@
},
"scope": {
"type": "string",
- "description": "The scope to which this Role Management Policy will apply. Can refer to a management group, a subscription or a resource group. Changing this forces a new resource to be created.\n",
+ "description": "The scope to which this Role Management Policy will apply. Can refer to a management group, a subscription, a resource group or a resource. Changing this forces a new resource to be created.\n",
"willReplaceOnChanges": true
}
},
@@ -245366,7 +246490,7 @@
}
},
"azure:sentinel/threatIntelligenceIndicator:ThreatIntelligenceIndicator": {
- "description": "Manages a Sentinel Threat Intelligence Indicator.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```yaml\nresources:\n example:\n type: azure:core:ResourceGroup\n properties:\n name: example-rg\n location: east us\n exampleAnalyticsWorkspace:\n type: azure:operationalinsights:AnalyticsWorkspace\n name: example\n properties:\n name: example-law\n location: ${example.location}\n resourceGroupName: ${example.name}\n sku: PerGB2018\n retentionInDays: 30\n exampleLogAnalyticsWorkspaceOnboarding:\n type: azure:sentinel:LogAnalyticsWorkspaceOnboarding\n name: example\n properties:\n resourceGroupName: ${example.name}\n workspaceName: ${exampleAnalyticsWorkspace.name}\n exampleThreatIntelligenceIndicator:\n type: azure:sentinel:ThreatIntelligenceIndicator\n name: example\n properties:\n workspaceId: ${exampleLogAnalyticsWorkspaceOnboarding.workspaceId}\n patternType: domain-name\n pattern: http://example.com\n source: Microsoft Sentinel\n validateFromUtc: 2022-12-14T16:00:00Z\n displayName: example-indicator\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nSentinel Threat Intelligence Indicators can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:sentinel/threatIntelligenceIndicator:ThreatIntelligenceIndicator example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resourcegroup1/providers/Microsoft.OperationalInsights/workspaces/workspace1/providers/Microsoft.SecurityInsights/threatIntelligence/main/indicators/indicator1\n```\n\n",
+ "description": "Manages a Sentinel Threat Intelligence Indicator.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n name: \"example-rg\",\n location: \"east us\",\n});\nconst exampleAnalyticsWorkspace = new azure.operationalinsights.AnalyticsWorkspace(\"example\", {\n name: \"example-law\",\n location: example.location,\n resourceGroupName: example.name,\n sku: \"PerGB2018\",\n retentionInDays: 30,\n});\nconst exampleLogAnalyticsWorkspaceOnboarding = new azure.sentinel.LogAnalyticsWorkspaceOnboarding(\"example\", {workspaceId: exampleAnalyticsWorkspace.id});\nconst exampleThreatIntelligenceIndicator = new azure.sentinel.ThreatIntelligenceIndicator(\"example\", {\n workspaceId: exampleLogAnalyticsWorkspaceOnboarding.workspaceId,\n patternType: \"domain-name\",\n pattern: \"http://example.com\",\n source: \"Microsoft Sentinel\",\n validateFromUtc: \"2022-12-14T16:00:00Z\",\n displayName: \"example-indicator\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n name=\"example-rg\",\n location=\"east us\")\nexample_analytics_workspace = azure.operationalinsights.AnalyticsWorkspace(\"example\",\n name=\"example-law\",\n location=example.location,\n resource_group_name=example.name,\n sku=\"PerGB2018\",\n retention_in_days=30)\nexample_log_analytics_workspace_onboarding = azure.sentinel.LogAnalyticsWorkspaceOnboarding(\"example\", workspace_id=example_analytics_workspace.id)\nexample_threat_intelligence_indicator = azure.sentinel.ThreatIntelligenceIndicator(\"example\",\n workspace_id=example_log_analytics_workspace_onboarding.workspace_id,\n pattern_type=\"domain-name\",\n pattern=\"http://example.com\",\n source=\"Microsoft Sentinel\",\n validate_from_utc=\"2022-12-14T16:00:00Z\",\n display_name=\"example-indicator\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Azure.Core.ResourceGroup(\"example\", new()\n {\n Name = \"example-rg\",\n Location = \"east us\",\n });\n\n var exampleAnalyticsWorkspace = new Azure.OperationalInsights.AnalyticsWorkspace(\"example\", new()\n {\n Name = \"example-law\",\n Location = example.Location,\n ResourceGroupName = example.Name,\n Sku = \"PerGB2018\",\n RetentionInDays = 30,\n });\n\n var exampleLogAnalyticsWorkspaceOnboarding = new Azure.Sentinel.LogAnalyticsWorkspaceOnboarding(\"example\", new()\n {\n WorkspaceId = exampleAnalyticsWorkspace.Id,\n });\n\n var exampleThreatIntelligenceIndicator = new Azure.Sentinel.ThreatIntelligenceIndicator(\"example\", new()\n {\n WorkspaceId = exampleLogAnalyticsWorkspaceOnboarding.WorkspaceId,\n PatternType = \"domain-name\",\n Pattern = \"http://example.com\",\n Source = \"Microsoft Sentinel\",\n ValidateFromUtc = \"2022-12-14T16:00:00Z\",\n DisplayName = \"example-indicator\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/operationalinsights\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/sentinel\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName: pulumi.String(\"example-rg\"),\n\t\t\tLocation: pulumi.String(\"east us\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAnalyticsWorkspace, err := operationalinsights.NewAnalyticsWorkspace(ctx, \"example\", \u0026operationalinsights.AnalyticsWorkspaceArgs{\n\t\t\tName: pulumi.String(\"example-law\"),\n\t\t\tLocation: example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tSku: pulumi.String(\"PerGB2018\"),\n\t\t\tRetentionInDays: pulumi.Int(30),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleLogAnalyticsWorkspaceOnboarding, err := sentinel.NewLogAnalyticsWorkspaceOnboarding(ctx, \"example\", \u0026sentinel.LogAnalyticsWorkspaceOnboardingArgs{\n\t\t\tWorkspaceId: exampleAnalyticsWorkspace.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = sentinel.NewThreatIntelligenceIndicator(ctx, \"example\", \u0026sentinel.ThreatIntelligenceIndicatorArgs{\n\t\t\tWorkspaceId: exampleLogAnalyticsWorkspaceOnboarding.WorkspaceId,\n\t\t\tPatternType: pulumi.String(\"domain-name\"),\n\t\t\tPattern: pulumi.String(\"http://example.com\"),\n\t\t\tSource: pulumi.String(\"Microsoft Sentinel\"),\n\t\t\tValidateFromUtc: pulumi.String(\"2022-12-14T16:00:00Z\"),\n\t\t\tDisplayName: pulumi.String(\"example-indicator\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.operationalinsights.AnalyticsWorkspace;\nimport com.pulumi.azure.operationalinsights.AnalyticsWorkspaceArgs;\nimport com.pulumi.azure.sentinel.LogAnalyticsWorkspaceOnboarding;\nimport com.pulumi.azure.sentinel.LogAnalyticsWorkspaceOnboardingArgs;\nimport com.pulumi.azure.sentinel.ThreatIntelligenceIndicator;\nimport com.pulumi.azure.sentinel.ThreatIntelligenceIndicatorArgs;\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 example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n .name(\"example-rg\")\n .location(\"east us\")\n .build());\n\n var exampleAnalyticsWorkspace = new AnalyticsWorkspace(\"exampleAnalyticsWorkspace\", AnalyticsWorkspaceArgs.builder()\n .name(\"example-law\")\n .location(example.location())\n .resourceGroupName(example.name())\n .sku(\"PerGB2018\")\n .retentionInDays(30)\n .build());\n\n var exampleLogAnalyticsWorkspaceOnboarding = new LogAnalyticsWorkspaceOnboarding(\"exampleLogAnalyticsWorkspaceOnboarding\", LogAnalyticsWorkspaceOnboardingArgs.builder()\n .workspaceId(exampleAnalyticsWorkspace.id())\n .build());\n\n var exampleThreatIntelligenceIndicator = new ThreatIntelligenceIndicator(\"exampleThreatIntelligenceIndicator\", ThreatIntelligenceIndicatorArgs.builder()\n .workspaceId(exampleLogAnalyticsWorkspaceOnboarding.workspaceId())\n .patternType(\"domain-name\")\n .pattern(\"http://example.com\")\n .source(\"Microsoft Sentinel\")\n .validateFromUtc(\"2022-12-14T16:00:00Z\")\n .displayName(\"example-indicator\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: azure:core:ResourceGroup\n properties:\n name: example-rg\n location: east us\n exampleAnalyticsWorkspace:\n type: azure:operationalinsights:AnalyticsWorkspace\n name: example\n properties:\n name: example-law\n location: ${example.location}\n resourceGroupName: ${example.name}\n sku: PerGB2018\n retentionInDays: 30\n exampleLogAnalyticsWorkspaceOnboarding:\n type: azure:sentinel:LogAnalyticsWorkspaceOnboarding\n name: example\n properties:\n workspaceId: ${exampleAnalyticsWorkspace.id}\n exampleThreatIntelligenceIndicator:\n type: azure:sentinel:ThreatIntelligenceIndicator\n name: example\n properties:\n workspaceId: ${exampleLogAnalyticsWorkspaceOnboarding.workspaceId}\n patternType: domain-name\n pattern: http://example.com\n source: Microsoft Sentinel\n validateFromUtc: 2022-12-14T16:00:00Z\n displayName: example-indicator\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nSentinel Threat Intelligence Indicators can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:sentinel/threatIntelligenceIndicator:ThreatIntelligenceIndicator example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resourcegroup1/providers/Microsoft.OperationalInsights/workspaces/workspace1/providers/Microsoft.SecurityInsights/threatIntelligence/main/indicators/indicator1\n```\n\n",
"properties": {
"confidence": {
"type": "integer",
@@ -250936,6 +252060,105 @@
"type": "object"
}
},
+ "azure:stack/hciDeploymentSetting:HciDeploymentSetting": {
+ "description": "Manages a Stack HCI Deployment Setting.\n\n\u003e Note: Completion of the prerequisites of deploying the Azure Stack HCI in your environment is outside the scope of this document. For more details refer to the [Azure Stack HCI deployment sequence](https://learn.microsoft.com/en-us/azure-stack/hci/deploy/deployment-introduction#deployment-sequence). If you encounter issues completing the prerequisites, we'd recommend opening a ticket with Microsoft Support.\n\n\u003e Note: During the deployment process, the service will generate additional resources, including a new Arc Bridge Appliance and a Custom Location containing several Stack HCI Storage Paths. The provider will attempt to remove these resources on the deletion or recreation of `azure.stack.HciDeploymentSetting`.\n\n## Import\n\nStack HCI Deployment Settings can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:stack/hciDeploymentSetting:HciDeploymentSetting example /subscriptions/12345678-1234-9876-4563-123456789012/resourceGroups/group1/providers/Microsoft.AzureStackHCI/clusters/clus1/deploymentSettings/default\n```\n\n",
+ "properties": {
+ "arcResourceIds": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Specifies a list of IDs of Azure ARC machine resource to be part of cluster. Changing this forces a new Stack HCI Deployment Setting to be created.\n"
+ },
+ "scaleUnits": {
+ "type": "array",
+ "items": {
+ "$ref": "#/types/azure:stack/HciDeploymentSettingScaleUnit:HciDeploymentSettingScaleUnit"
+ },
+ "description": "One or more `scale_unit` blocks as defined below. Changing this forces a new Stack HCI Deployment Setting to be created.\n"
+ },
+ "stackHciClusterId": {
+ "type": "string",
+ "description": "The ID of the Azure Stack HCI cluster. Changing this forces a new Stack HCI Deployment Setting to be created.\n"
+ },
+ "version": {
+ "type": "string",
+ "description": "The deployment template version. The format must be a set of numbers separated by dots such as `10.0.0.0`. Changing this forces a new Stack HCI Deployment Setting to be created.\n"
+ }
+ },
+ "required": [
+ "arcResourceIds",
+ "scaleUnits",
+ "stackHciClusterId",
+ "version"
+ ],
+ "inputProperties": {
+ "arcResourceIds": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Specifies a list of IDs of Azure ARC machine resource to be part of cluster. Changing this forces a new Stack HCI Deployment Setting to be created.\n",
+ "willReplaceOnChanges": true
+ },
+ "scaleUnits": {
+ "type": "array",
+ "items": {
+ "$ref": "#/types/azure:stack/HciDeploymentSettingScaleUnit:HciDeploymentSettingScaleUnit"
+ },
+ "description": "One or more `scale_unit` blocks as defined below. Changing this forces a new Stack HCI Deployment Setting to be created.\n",
+ "willReplaceOnChanges": true
+ },
+ "stackHciClusterId": {
+ "type": "string",
+ "description": "The ID of the Azure Stack HCI cluster. Changing this forces a new Stack HCI Deployment Setting to be created.\n",
+ "willReplaceOnChanges": true
+ },
+ "version": {
+ "type": "string",
+ "description": "The deployment template version. The format must be a set of numbers separated by dots such as `10.0.0.0`. Changing this forces a new Stack HCI Deployment Setting to be created.\n",
+ "willReplaceOnChanges": true
+ }
+ },
+ "requiredInputs": [
+ "arcResourceIds",
+ "scaleUnits",
+ "stackHciClusterId",
+ "version"
+ ],
+ "stateInputs": {
+ "description": "Input properties used for looking up and filtering HciDeploymentSetting resources.\n",
+ "properties": {
+ "arcResourceIds": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Specifies a list of IDs of Azure ARC machine resource to be part of cluster. Changing this forces a new Stack HCI Deployment Setting to be created.\n",
+ "willReplaceOnChanges": true
+ },
+ "scaleUnits": {
+ "type": "array",
+ "items": {
+ "$ref": "#/types/azure:stack/HciDeploymentSettingScaleUnit:HciDeploymentSettingScaleUnit"
+ },
+ "description": "One or more `scale_unit` blocks as defined below. Changing this forces a new Stack HCI Deployment Setting to be created.\n",
+ "willReplaceOnChanges": true
+ },
+ "stackHciClusterId": {
+ "type": "string",
+ "description": "The ID of the Azure Stack HCI cluster. Changing this forces a new Stack HCI Deployment Setting to be created.\n",
+ "willReplaceOnChanges": true
+ },
+ "version": {
+ "type": "string",
+ "description": "The deployment template version. The format must be a set of numbers separated by dots such as `10.0.0.0`. Changing this forces a new Stack HCI Deployment Setting to be created.\n",
+ "willReplaceOnChanges": true
+ }
+ },
+ "type": "object"
+ }
+ },
"azure:stack/hciLogicalNetwork:HciLogicalNetwork": {
"description": "Manages an Azure Stack HCI Logical Network.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n name: \"example-rg\",\n location: \"West Europe\",\n});\nconst exampleHciLogicalNetwork = new azure.stack.HciLogicalNetwork(\"example\", {\n name: \"example-hci-ln\",\n resourceGroupName: example.name,\n location: example.location,\n customLocationId: \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ExtendedLocation/customLocations/cl1\",\n virtualSwitchName: \"ConvergedSwitch(managementcompute)\",\n dnsServers: [\n \"10.0.0.7\",\n \"10.0.0.8\",\n ],\n subnet: {\n ipAllocationMethod: \"Static\",\n addressPrefix: \"10.0.0.0/24\",\n routes: [{\n name: \"example-route\",\n addressPrefix: \"0.0.0.0/0\",\n nextHopIpAddress: \"10.0.20.1\",\n }],\n vlanId: 123,\n },\n tags: {\n foo: \"bar\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n name=\"example-rg\",\n location=\"West Europe\")\nexample_hci_logical_network = azure.stack.HciLogicalNetwork(\"example\",\n name=\"example-hci-ln\",\n resource_group_name=example.name,\n location=example.location,\n custom_location_id=\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ExtendedLocation/customLocations/cl1\",\n virtual_switch_name=\"ConvergedSwitch(managementcompute)\",\n dns_servers=[\n \"10.0.0.7\",\n \"10.0.0.8\",\n ],\n subnet={\n \"ip_allocation_method\": \"Static\",\n \"address_prefix\": \"10.0.0.0/24\",\n \"routes\": [{\n \"name\": \"example-route\",\n \"address_prefix\": \"0.0.0.0/0\",\n \"next_hop_ip_address\": \"10.0.20.1\",\n }],\n \"vlan_id\": 123,\n },\n tags={\n \"foo\": \"bar\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Azure.Core.ResourceGroup(\"example\", new()\n {\n Name = \"example-rg\",\n Location = \"West Europe\",\n });\n\n var exampleHciLogicalNetwork = new Azure.Stack.HciLogicalNetwork(\"example\", new()\n {\n Name = \"example-hci-ln\",\n ResourceGroupName = example.Name,\n Location = example.Location,\n CustomLocationId = \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ExtendedLocation/customLocations/cl1\",\n VirtualSwitchName = \"ConvergedSwitch(managementcompute)\",\n DnsServers = new[]\n {\n \"10.0.0.7\",\n \"10.0.0.8\",\n },\n Subnet = new Azure.Stack.Inputs.HciLogicalNetworkSubnetArgs\n {\n IpAllocationMethod = \"Static\",\n AddressPrefix = \"10.0.0.0/24\",\n Routes = new[]\n {\n new Azure.Stack.Inputs.HciLogicalNetworkSubnetRouteArgs\n {\n Name = \"example-route\",\n AddressPrefix = \"0.0.0.0/0\",\n NextHopIpAddress = \"10.0.20.1\",\n },\n },\n VlanId = 123,\n },\n Tags = \n {\n { \"foo\", \"bar\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/stack\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName: pulumi.String(\"example-rg\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = stack.NewHciLogicalNetwork(ctx, \"example\", \u0026stack.HciLogicalNetworkArgs{\n\t\t\tName: pulumi.String(\"example-hci-ln\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation: example.Location,\n\t\t\tCustomLocationId: pulumi.String(\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ExtendedLocation/customLocations/cl1\"),\n\t\t\tVirtualSwitchName: pulumi.String(\"ConvergedSwitch(managementcompute)\"),\n\t\t\tDnsServers: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.0.7\"),\n\t\t\t\tpulumi.String(\"10.0.0.8\"),\n\t\t\t},\n\t\t\tSubnet: \u0026stack.HciLogicalNetworkSubnetArgs{\n\t\t\t\tIpAllocationMethod: pulumi.String(\"Static\"),\n\t\t\t\tAddressPrefix: pulumi.String(\"10.0.0.0/24\"),\n\t\t\t\tRoutes: stack.HciLogicalNetworkSubnetRouteArray{\n\t\t\t\t\t\u0026stack.HciLogicalNetworkSubnetRouteArgs{\n\t\t\t\t\t\tName: pulumi.String(\"example-route\"),\n\t\t\t\t\t\tAddressPrefix: pulumi.String(\"0.0.0.0/0\"),\n\t\t\t\t\t\tNextHopIpAddress: pulumi.String(\"10.0.20.1\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tVlanId: pulumi.Int(123),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"foo\": pulumi.String(\"bar\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.stack.HciLogicalNetwork;\nimport com.pulumi.azure.stack.HciLogicalNetworkArgs;\nimport com.pulumi.azure.stack.inputs.HciLogicalNetworkSubnetArgs;\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 example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n .name(\"example-rg\")\n .location(\"West Europe\")\n .build());\n\n var exampleHciLogicalNetwork = new HciLogicalNetwork(\"exampleHciLogicalNetwork\", HciLogicalNetworkArgs.builder()\n .name(\"example-hci-ln\")\n .resourceGroupName(example.name())\n .location(example.location())\n .customLocationId(\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ExtendedLocation/customLocations/cl1\")\n .virtualSwitchName(\"ConvergedSwitch(managementcompute)\")\n .dnsServers( \n \"10.0.0.7\",\n \"10.0.0.8\")\n .subnet(HciLogicalNetworkSubnetArgs.builder()\n .ipAllocationMethod(\"Static\")\n .addressPrefix(\"10.0.0.0/24\")\n .routes(HciLogicalNetworkSubnetRouteArgs.builder()\n .name(\"example-route\")\n .addressPrefix(\"0.0.0.0/0\")\n .nextHopIpAddress(\"10.0.20.1\")\n .build())\n .vlanId(123)\n .build())\n .tags(Map.of(\"foo\", \"bar\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: azure:core:ResourceGroup\n properties:\n name: example-rg\n location: West Europe\n exampleHciLogicalNetwork:\n type: azure:stack:HciLogicalNetwork\n name: example\n properties:\n name: example-hci-ln\n resourceGroupName: ${example.name}\n location: ${example.location}\n customLocationId: /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ExtendedLocation/customLocations/cl1\n virtualSwitchName: ConvergedSwitch(managementcompute)\n dnsServers:\n - 10.0.0.7\n - 10.0.0.8\n subnet:\n ipAllocationMethod: Static\n addressPrefix: 10.0.0.0/24\n routes:\n - name: example-route\n addressPrefix: 0.0.0.0/0\n nextHopIpAddress: 10.0.20.1\n vlanId: 123\n tags:\n foo: bar\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nAzure Stack HCI Logical Networks can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:stack/hciLogicalNetwork:HciLogicalNetwork example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.AzureStackHCI/logicalNetworks/ln1\n```\n\n",
"properties": {
@@ -251091,6 +252314,122 @@
"type": "object"
}
},
+ "azure:stack/hciStoragePath:HciStoragePath": {
+ "description": "Manages an Azure Stack HCI Storage Path.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n name: \"example-rg\",\n location: \"West Europe\",\n});\nconst exampleHciStoragePath = new azure.stack.HciStoragePath(\"example\", {\n name: \"example-sp\",\n resourceGroupName: example.name,\n location: example.location,\n customLocationId: \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ExtendedLocation/customLocations/cl1\",\n path: \"C:\\\\ClusterStorage\\\\UserStorage_2\\\\sp-example\",\n tags: {\n foo: \"bar\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n name=\"example-rg\",\n location=\"West Europe\")\nexample_hci_storage_path = azure.stack.HciStoragePath(\"example\",\n name=\"example-sp\",\n resource_group_name=example.name,\n location=example.location,\n custom_location_id=\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ExtendedLocation/customLocations/cl1\",\n path=\"C:\\\\ClusterStorage\\\\UserStorage_2\\\\sp-example\",\n tags={\n \"foo\": \"bar\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Azure.Core.ResourceGroup(\"example\", new()\n {\n Name = \"example-rg\",\n Location = \"West Europe\",\n });\n\n var exampleHciStoragePath = new Azure.Stack.HciStoragePath(\"example\", new()\n {\n Name = \"example-sp\",\n ResourceGroupName = example.Name,\n Location = example.Location,\n CustomLocationId = \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ExtendedLocation/customLocations/cl1\",\n Path = \"C:\\\\ClusterStorage\\\\UserStorage_2\\\\sp-example\",\n Tags = \n {\n { \"foo\", \"bar\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/stack\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName: pulumi.String(\"example-rg\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = stack.NewHciStoragePath(ctx, \"example\", \u0026stack.HciStoragePathArgs{\n\t\t\tName: pulumi.String(\"example-sp\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation: example.Location,\n\t\t\tCustomLocationId: pulumi.String(\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ExtendedLocation/customLocations/cl1\"),\n\t\t\tPath: pulumi.String(\"C:\\\\ClusterStorage\\\\UserStorage_2\\\\sp-example\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"foo\": pulumi.String(\"bar\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.stack.HciStoragePath;\nimport com.pulumi.azure.stack.HciStoragePathArgs;\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 example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n .name(\"example-rg\")\n .location(\"West Europe\")\n .build());\n\n var exampleHciStoragePath = new HciStoragePath(\"exampleHciStoragePath\", HciStoragePathArgs.builder()\n .name(\"example-sp\")\n .resourceGroupName(example.name())\n .location(example.location())\n .customLocationId(\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ExtendedLocation/customLocations/cl1\")\n .path(\"C:\\\\ClusterStorage\\\\UserStorage_2\\\\sp-example\")\n .tags(Map.of(\"foo\", \"bar\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: azure:core:ResourceGroup\n properties:\n name: example-rg\n location: West Europe\n exampleHciStoragePath:\n type: azure:stack:HciStoragePath\n name: example\n properties:\n name: example-sp\n resourceGroupName: ${example.name}\n location: ${example.location}\n customLocationId: /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ExtendedLocation/customLocations/cl1\n path: C:\\ClusterStorage\\UserStorage_2\\sp-example\n tags:\n foo: bar\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nAzure Stack HCI Storage Paths can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:stack/hciStoragePath:HciStoragePath example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.AzureStackHCI/storageContainers/storage1\n```\n\n",
+ "properties": {
+ "customLocationId": {
+ "type": "string",
+ "description": "The ID of Custom Location where the Azure Stack HCI Storage Path should exist. Changing this forces a new resource to be created.\n"
+ },
+ "location": {
+ "type": "string",
+ "description": "The Azure Region where the Azure Stack HCI Storage Path should exist. Changing this forces a new resource to be created.\n"
+ },
+ "name": {
+ "type": "string",
+ "description": "The name which should be used for this Azure Stack HCI Storage Path. Changing this forces a new resource to be created.\n"
+ },
+ "path": {
+ "type": "string",
+ "description": "The file path on the disk to create the Storage Path. Changing this forces a new resource to be created.\n"
+ },
+ "resourceGroupName": {
+ "type": "string",
+ "description": "The name of the Resource Group where the Azure Stack HCI Storage Path should exist. Changing this forces a new resource to be created.\n"
+ },
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "A mapping of tags which should be assigned to the Azure Stack HCI Storage Path.\n"
+ }
+ },
+ "required": [
+ "customLocationId",
+ "location",
+ "name",
+ "path",
+ "resourceGroupName"
+ ],
+ "inputProperties": {
+ "customLocationId": {
+ "type": "string",
+ "description": "The ID of Custom Location where the Azure Stack HCI Storage Path should exist. Changing this forces a new resource to be created.\n",
+ "willReplaceOnChanges": true
+ },
+ "location": {
+ "type": "string",
+ "description": "The Azure Region where the Azure Stack HCI Storage Path should exist. Changing this forces a new resource to be created.\n",
+ "willReplaceOnChanges": true
+ },
+ "name": {
+ "type": "string",
+ "description": "The name which should be used for this Azure Stack HCI Storage Path. Changing this forces a new resource to be created.\n",
+ "willReplaceOnChanges": true
+ },
+ "path": {
+ "type": "string",
+ "description": "The file path on the disk to create the Storage Path. Changing this forces a new resource to be created.\n",
+ "willReplaceOnChanges": true
+ },
+ "resourceGroupName": {
+ "type": "string",
+ "description": "The name of the Resource Group where the Azure Stack HCI Storage Path should exist. Changing this forces a new resource to be created.\n",
+ "willReplaceOnChanges": true
+ },
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "A mapping of tags which should be assigned to the Azure Stack HCI Storage Path.\n"
+ }
+ },
+ "requiredInputs": [
+ "customLocationId",
+ "path",
+ "resourceGroupName"
+ ],
+ "stateInputs": {
+ "description": "Input properties used for looking up and filtering HciStoragePath resources.\n",
+ "properties": {
+ "customLocationId": {
+ "type": "string",
+ "description": "The ID of Custom Location where the Azure Stack HCI Storage Path should exist. Changing this forces a new resource to be created.\n",
+ "willReplaceOnChanges": true
+ },
+ "location": {
+ "type": "string",
+ "description": "The Azure Region where the Azure Stack HCI Storage Path should exist. Changing this forces a new resource to be created.\n",
+ "willReplaceOnChanges": true
+ },
+ "name": {
+ "type": "string",
+ "description": "The name which should be used for this Azure Stack HCI Storage Path. Changing this forces a new resource to be created.\n",
+ "willReplaceOnChanges": true
+ },
+ "path": {
+ "type": "string",
+ "description": "The file path on the disk to create the Storage Path. Changing this forces a new resource to be created.\n",
+ "willReplaceOnChanges": true
+ },
+ "resourceGroupName": {
+ "type": "string",
+ "description": "The name of the Resource Group where the Azure Stack HCI Storage Path should exist. Changing this forces a new resource to be created.\n",
+ "willReplaceOnChanges": true
+ },
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "A mapping of tags which should be assigned to the Azure Stack HCI Storage Path.\n"
+ }
+ },
+ "type": "object"
+ }
+ },
"azure:storage/account:Account": {
"description": "Manages an Azure Storage Account.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n name: \"example-resources\",\n location: \"West Europe\",\n});\nconst exampleAccount = new azure.storage.Account(\"example\", {\n name: \"storageaccountname\",\n resourceGroupName: example.name,\n location: example.location,\n accountTier: \"Standard\",\n accountReplicationType: \"GRS\",\n tags: {\n environment: \"staging\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n name=\"example-resources\",\n location=\"West Europe\")\nexample_account = azure.storage.Account(\"example\",\n name=\"storageaccountname\",\n resource_group_name=example.name,\n location=example.location,\n account_tier=\"Standard\",\n account_replication_type=\"GRS\",\n tags={\n \"environment\": \"staging\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Azure.Core.ResourceGroup(\"example\", new()\n {\n Name = \"example-resources\",\n Location = \"West Europe\",\n });\n\n var exampleAccount = new Azure.Storage.Account(\"example\", new()\n {\n Name = \"storageaccountname\",\n ResourceGroupName = example.Name,\n Location = example.Location,\n AccountTier = \"Standard\",\n AccountReplicationType = \"GRS\",\n Tags = \n {\n { \"environment\", \"staging\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName: pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = storage.NewAccount(ctx, \"example\", \u0026storage.AccountArgs{\n\t\t\tName: pulumi.String(\"storageaccountname\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation: example.Location,\n\t\t\tAccountTier: pulumi.String(\"Standard\"),\n\t\t\tAccountReplicationType: pulumi.String(\"GRS\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"environment\": pulumi.String(\"staging\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.storage.Account;\nimport com.pulumi.azure.storage.AccountArgs;\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 example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n .name(\"example-resources\")\n .location(\"West Europe\")\n .build());\n\n var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n .name(\"storageaccountname\")\n .resourceGroupName(example.name())\n .location(example.location())\n .accountTier(\"Standard\")\n .accountReplicationType(\"GRS\")\n .tags(Map.of(\"environment\", \"staging\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: azure:core:ResourceGroup\n properties:\n name: example-resources\n location: West Europe\n exampleAccount:\n type: azure:storage:Account\n name: example\n properties:\n name: storageaccountname\n resourceGroupName: ${example.name}\n location: ${example.location}\n accountTier: Standard\n accountReplicationType: GRS\n tags:\n environment: staging\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\n### With Network Rules\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = new azure.core.ResourceGroup(\"example\", {\n name: \"example-resources\",\n location: \"West Europe\",\n});\nconst exampleVirtualNetwork = new azure.network.VirtualNetwork(\"example\", {\n name: \"virtnetname\",\n addressSpaces: [\"10.0.0.0/16\"],\n location: example.location,\n resourceGroupName: example.name,\n});\nconst exampleSubnet = new azure.network.Subnet(\"example\", {\n name: \"subnetname\",\n resourceGroupName: example.name,\n virtualNetworkName: exampleVirtualNetwork.name,\n addressPrefixes: [\"10.0.2.0/24\"],\n serviceEndpoints: [\n \"Microsoft.Sql\",\n \"Microsoft.Storage\",\n ],\n});\nconst exampleAccount = new azure.storage.Account(\"example\", {\n name: \"storageaccountname\",\n resourceGroupName: example.name,\n location: example.location,\n accountTier: \"Standard\",\n accountReplicationType: \"LRS\",\n networkRules: {\n defaultAction: \"Deny\",\n ipRules: [\"100.0.0.1\"],\n virtualNetworkSubnetIds: [exampleSubnet.id],\n },\n tags: {\n environment: \"staging\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n name=\"example-resources\",\n location=\"West Europe\")\nexample_virtual_network = azure.network.VirtualNetwork(\"example\",\n name=\"virtnetname\",\n address_spaces=[\"10.0.0.0/16\"],\n location=example.location,\n resource_group_name=example.name)\nexample_subnet = azure.network.Subnet(\"example\",\n name=\"subnetname\",\n resource_group_name=example.name,\n virtual_network_name=example_virtual_network.name,\n address_prefixes=[\"10.0.2.0/24\"],\n service_endpoints=[\n \"Microsoft.Sql\",\n \"Microsoft.Storage\",\n ])\nexample_account = azure.storage.Account(\"example\",\n name=\"storageaccountname\",\n resource_group_name=example.name,\n location=example.location,\n account_tier=\"Standard\",\n account_replication_type=\"LRS\",\n network_rules={\n \"default_action\": \"Deny\",\n \"ip_rules\": [\"100.0.0.1\"],\n \"virtual_network_subnet_ids\": [example_subnet.id],\n },\n tags={\n \"environment\": \"staging\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Azure.Core.ResourceGroup(\"example\", new()\n {\n Name = \"example-resources\",\n Location = \"West Europe\",\n });\n\n var exampleVirtualNetwork = new Azure.Network.VirtualNetwork(\"example\", new()\n {\n Name = \"virtnetname\",\n AddressSpaces = new[]\n {\n \"10.0.0.0/16\",\n },\n Location = example.Location,\n ResourceGroupName = example.Name,\n });\n\n var exampleSubnet = new Azure.Network.Subnet(\"example\", new()\n {\n Name = \"subnetname\",\n ResourceGroupName = example.Name,\n VirtualNetworkName = exampleVirtualNetwork.Name,\n AddressPrefixes = new[]\n {\n \"10.0.2.0/24\",\n },\n ServiceEndpoints = new[]\n {\n \"Microsoft.Sql\",\n \"Microsoft.Storage\",\n },\n });\n\n var exampleAccount = new Azure.Storage.Account(\"example\", new()\n {\n Name = \"storageaccountname\",\n ResourceGroupName = example.Name,\n Location = example.Location,\n AccountTier = \"Standard\",\n AccountReplicationType = \"LRS\",\n NetworkRules = new Azure.Storage.Inputs.AccountNetworkRulesArgs\n {\n DefaultAction = \"Deny\",\n IpRules = new[]\n {\n \"100.0.0.1\",\n },\n VirtualNetworkSubnetIds = new[]\n {\n exampleSubnet.Id,\n },\n },\n Tags = \n {\n { \"environment\", \"staging\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/storage\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName: pulumi.String(\"example-resources\"),\n\t\t\tLocation: pulumi.String(\"West Europe\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleVirtualNetwork, err := network.NewVirtualNetwork(ctx, \"example\", \u0026network.VirtualNetworkArgs{\n\t\t\tName: pulumi.String(\"virtnetname\"),\n\t\t\tAddressSpaces: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.0.0/16\"),\n\t\t\t},\n\t\t\tLocation: example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleSubnet, err := network.NewSubnet(ctx, \"example\", \u0026network.SubnetArgs{\n\t\t\tName: pulumi.String(\"subnetname\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tVirtualNetworkName: exampleVirtualNetwork.Name,\n\t\t\tAddressPrefixes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.2.0/24\"),\n\t\t\t},\n\t\t\tServiceEndpoints: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"Microsoft.Sql\"),\n\t\t\t\tpulumi.String(\"Microsoft.Storage\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = storage.NewAccount(ctx, \"example\", \u0026storage.AccountArgs{\n\t\t\tName: pulumi.String(\"storageaccountname\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation: example.Location,\n\t\t\tAccountTier: pulumi.String(\"Standard\"),\n\t\t\tAccountReplicationType: pulumi.String(\"LRS\"),\n\t\t\tNetworkRules: \u0026storage.AccountNetworkRulesTypeArgs{\n\t\t\t\tDefaultAction: pulumi.String(\"Deny\"),\n\t\t\t\tIpRules: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"100.0.0.1\"),\n\t\t\t\t},\n\t\t\t\tVirtualNetworkSubnetIds: pulumi.StringArray{\n\t\t\t\t\texampleSubnet.ID(),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"environment\": pulumi.String(\"staging\"),\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```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.network.VirtualNetwork;\nimport com.pulumi.azure.network.VirtualNetworkArgs;\nimport com.pulumi.azure.network.Subnet;\nimport com.pulumi.azure.network.SubnetArgs;\nimport com.pulumi.azure.storage.Account;\nimport com.pulumi.azure.storage.AccountArgs;\nimport com.pulumi.azure.storage.inputs.AccountNetworkRulesArgs;\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 example = new ResourceGroup(\"example\", ResourceGroupArgs.builder()\n .name(\"example-resources\")\n .location(\"West Europe\")\n .build());\n\n var exampleVirtualNetwork = new VirtualNetwork(\"exampleVirtualNetwork\", VirtualNetworkArgs.builder()\n .name(\"virtnetname\")\n .addressSpaces(\"10.0.0.0/16\")\n .location(example.location())\n .resourceGroupName(example.name())\n .build());\n\n var exampleSubnet = new Subnet(\"exampleSubnet\", SubnetArgs.builder()\n .name(\"subnetname\")\n .resourceGroupName(example.name())\n .virtualNetworkName(exampleVirtualNetwork.name())\n .addressPrefixes(\"10.0.2.0/24\")\n .serviceEndpoints( \n \"Microsoft.Sql\",\n \"Microsoft.Storage\")\n .build());\n\n var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder()\n .name(\"storageaccountname\")\n .resourceGroupName(example.name())\n .location(example.location())\n .accountTier(\"Standard\")\n .accountReplicationType(\"LRS\")\n .networkRules(AccountNetworkRulesArgs.builder()\n .defaultAction(\"Deny\")\n .ipRules(\"100.0.0.1\")\n .virtualNetworkSubnetIds(exampleSubnet.id())\n .build())\n .tags(Map.of(\"environment\", \"staging\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: azure:core:ResourceGroup\n properties:\n name: example-resources\n location: West Europe\n exampleVirtualNetwork:\n type: azure:network:VirtualNetwork\n name: example\n properties:\n name: virtnetname\n addressSpaces:\n - 10.0.0.0/16\n location: ${example.location}\n resourceGroupName: ${example.name}\n exampleSubnet:\n type: azure:network:Subnet\n name: example\n properties:\n name: subnetname\n resourceGroupName: ${example.name}\n virtualNetworkName: ${exampleVirtualNetwork.name}\n addressPrefixes:\n - 10.0.2.0/24\n serviceEndpoints:\n - Microsoft.Sql\n - Microsoft.Storage\n exampleAccount:\n type: azure:storage:Account\n name: example\n properties:\n name: storageaccountname\n resourceGroupName: ${example.name}\n location: ${example.location}\n accountTier: Standard\n accountReplicationType: LRS\n networkRules:\n defaultAction: Deny\n ipRules:\n - 100.0.0.1\n virtualNetworkSubnetIds:\n - ${exampleSubnet.id}\n tags:\n environment: staging\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nStorage Accounts can be imported using the `resource id`, e.g.\n\n```sh\n$ pulumi import azure:storage/account:Account storageAcc1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myresourcegroup/providers/Microsoft.Storage/storageAccounts/myaccount\n```\n\n",
"properties": {
@@ -252445,7 +253784,7 @@
},
"source": {
"$ref": "pulumi.json#/Asset",
- "description": "An absolute path to a file on the local system. This field cannot be specified for Append blobs and cannot be specified if `source_content` or `source_uri` is specified. Changing this forces a new resource to be created.\n"
+ "description": "An absolute path to a file on the local system. This field cannot be specified for Append blobs and cannot be specified if `source_content` or `source_uri` is specified.\n"
},
"sourceContent": {
"type": "string",
@@ -252528,13 +253867,12 @@
},
"source": {
"$ref": "pulumi.json#/Asset",
- "description": "An absolute path to a file on the local system. This field cannot be specified for Append blobs and cannot be specified if `source_content` or `source_uri` is specified. Changing this forces a new resource to be created.\n",
+ "description": "An absolute path to a file on the local system. This field cannot be specified for Append blobs and cannot be specified if `source_content` or `source_uri` is specified.\n",
"willReplaceOnChanges": true
},
"sourceContent": {
"type": "string",
- "description": "The content for this blob which should be defined inline. This field can only be specified for Block blobs and cannot be specified if `source` or `source_uri` is specified. Changing this forces a new resource to be created.\n",
- "willReplaceOnChanges": true
+ "description": "The content for this blob which should be defined inline. This field can only be specified for Block blobs and cannot be specified if `source` or `source_uri` is specified. Changing this forces a new resource to be created.\n"
},
"sourceUri": {
"type": "string",
@@ -252611,13 +253949,12 @@
},
"source": {
"$ref": "pulumi.json#/Asset",
- "description": "An absolute path to a file on the local system. This field cannot be specified for Append blobs and cannot be specified if `source_content` or `source_uri` is specified. Changing this forces a new resource to be created.\n",
+ "description": "An absolute path to a file on the local system. This field cannot be specified for Append blobs and cannot be specified if `source_content` or `source_uri` is specified.\n",
"willReplaceOnChanges": true
},
"sourceContent": {
"type": "string",
- "description": "The content for this blob which should be defined inline. This field can only be specified for Block blobs and cannot be specified if `source` or `source_uri` is specified. Changing this forces a new resource to be created.\n",
- "willReplaceOnChanges": true
+ "description": "The content for this blob which should be defined inline. This field can only be specified for Block blobs and cannot be specified if `source` or `source_uri` is specified. Changing this forces a new resource to be created.\n"
},
"sourceUri": {
"type": "string",
@@ -255377,8 +256714,7 @@
"willReplaceOnChanges": true
},
"sourceContent": {
- "type": "string",
- "willReplaceOnChanges": true
+ "type": "string"
},
"sourceUri": {
"type": "string",
@@ -255445,8 +256781,7 @@
"willReplaceOnChanges": true
},
"sourceContent": {
- "type": "string",
- "willReplaceOnChanges": true
+ "type": "string"
},
"sourceUri": {
"type": "string",
@@ -267075,6 +268410,9 @@
"previewEnvironmentsEnabled": {
"type": "boolean"
},
+ "publicNetworkAccessEnabled": {
+ "type": "boolean"
+ },
"resourceGroupName": {
"type": "string"
},
@@ -267101,6 +268439,7 @@
"location",
"name",
"previewEnvironmentsEnabled",
+ "publicNetworkAccessEnabled",
"resourceGroupName",
"skuSize",
"skuTier",
@@ -288115,6 +289454,118 @@
"type": "object"
}
},
+ "azure:network/getVpnServerConfiguration:getVpnServerConfiguration": {
+ "description": "Use this data source to access information about an existing VPN Server Configuration.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.network.getVpnServerConfiguration({\n name: \"existing-local-vpn-server-configuration\",\n resourceGroupName: \"existing-resource-group\",\n});\nexport const azurermVpnServerConfiguration = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.network.get_vpn_server_configuration(name=\"existing-local-vpn-server-configuration\",\n resource_group_name=\"existing-resource-group\")\npulumi.export(\"azurermVpnServerConfiguration\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Azure.Network.GetVpnServerConfiguration.Invoke(new()\n {\n Name = \"existing-local-vpn-server-configuration\",\n ResourceGroupName = \"existing-resource-group\",\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"azurermVpnServerConfiguration\"] = example.Apply(getVpnServerConfigurationResult =\u003e getVpnServerConfigurationResult.Id),\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := network.LookupVpnServerConfiguration(ctx, \u0026network.LookupVpnServerConfigurationArgs{\n\t\t\tName: \"existing-local-vpn-server-configuration\",\n\t\t\tResourceGroupName: \"existing-resource-group\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"azurermVpnServerConfiguration\", example.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.network.NetworkFunctions;\nimport com.pulumi.azure.network.inputs.GetVpnServerConfigurationArgs;\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 final var example = NetworkFunctions.getVpnServerConfiguration(GetVpnServerConfigurationArgs.builder()\n .name(\"existing-local-vpn-server-configuration\")\n .resourceGroupName(\"existing-resource-group\")\n .build());\n\n ctx.export(\"azurermVpnServerConfiguration\", example.applyValue(getVpnServerConfigurationResult -\u003e getVpnServerConfigurationResult.id()));\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: azure:network:getVpnServerConfiguration\n Arguments:\n name: existing-local-vpn-server-configuration\n resourceGroupName: existing-resource-group\noutputs:\n azurermVpnServerConfiguration: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
+ "inputs": {
+ "description": "A collection of arguments for invoking getVpnServerConfiguration.\n",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The Name of the VPN Server Configuration.\n"
+ },
+ "resourceGroupName": {
+ "type": "string",
+ "description": "The name of the Resource Group where the VPN Server Configuration exists.\n"
+ }
+ },
+ "type": "object",
+ "required": [
+ "name",
+ "resourceGroupName"
+ ]
+ },
+ "outputs": {
+ "description": "A collection of values returned by getVpnServerConfiguration.\n",
+ "properties": {
+ "azureActiveDirectoryAuthentications": {
+ "description": "A `azure_active_directory_authentication` block as defined below.\n",
+ "items": {
+ "$ref": "#/types/azure:network/getVpnServerConfigurationAzureActiveDirectoryAuthentication:getVpnServerConfigurationAzureActiveDirectoryAuthentication"
+ },
+ "type": "array"
+ },
+ "clientRevokedCertificates": {
+ "description": "One or more `client_revoked_certificate` blocks as defined below.\n",
+ "items": {
+ "$ref": "#/types/azure:network/getVpnServerConfigurationClientRevokedCertificate:getVpnServerConfigurationClientRevokedCertificate"
+ },
+ "type": "array"
+ },
+ "clientRootCertificates": {
+ "description": "One or more `client_root_certificate` blocks as defined below.\n",
+ "items": {
+ "$ref": "#/types/azure:network/getVpnServerConfigurationClientRootCertificate:getVpnServerConfigurationClientRootCertificate"
+ },
+ "type": "array"
+ },
+ "id": {
+ "description": "The provider-assigned unique ID for this managed resource.\n",
+ "type": "string"
+ },
+ "ipsecPolicies": {
+ "description": "The `bgp_settings` block as defined below.\n",
+ "items": {
+ "$ref": "#/types/azure:network/getVpnServerConfigurationIpsecPolicy:getVpnServerConfigurationIpsecPolicy"
+ },
+ "type": "array"
+ },
+ "location": {
+ "description": "The Azure Region where the VPN Server Configuration exists.\n",
+ "type": "string"
+ },
+ "name": {
+ "description": "The name used to uniquely identify this certificate.\n",
+ "type": "string"
+ },
+ "radii": {
+ "description": "A `radius` block as defined below.\n",
+ "items": {
+ "$ref": "#/types/azure:network/getVpnServerConfigurationRadius:getVpnServerConfigurationRadius"
+ },
+ "type": "array"
+ },
+ "resourceGroupName": {
+ "type": "string"
+ },
+ "tags": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "A mapping of tags to assign to the VPN Server Configuration.\n",
+ "type": "object"
+ },
+ "vpnAuthenticationTypes": {
+ "description": "The list of Authentication Types applicable for the VPN Server Configuration.\n",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "vpnProtocols": {
+ "description": "The list of VPN Protocols to use for the VPN Server Configuration.\n",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "azureActiveDirectoryAuthentications",
+ "clientRevokedCertificates",
+ "clientRootCertificates",
+ "ipsecPolicies",
+ "location",
+ "name",
+ "radii",
+ "resourceGroupName",
+ "tags",
+ "vpnAuthenticationTypes",
+ "vpnProtocols",
+ "id"
+ ],
+ "type": "object"
+ }
+ },
"azure:nginx/getCertificate:getCertificate": {
"description": "Use this data source to access information about an existing NGINX Certificate.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.nginx.getCertificate({\n name: \"existing\",\n nginxDeploymentId: exampleAzurermNginxDeployment.id,\n});\nexport const id = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.nginx.get_certificate(name=\"existing\",\n nginx_deployment_id=example_azurerm_nginx_deployment[\"id\"])\npulumi.export(\"id\", example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Azure.Nginx.GetCertificate.Invoke(new()\n {\n Name = \"existing\",\n NginxDeploymentId = exampleAzurermNginxDeployment.Id,\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"id\"] = example.Apply(getCertificateResult =\u003e getCertificateResult.Id),\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/nginx\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := nginx.LookupCertificate(ctx, \u0026nginx.LookupCertificateArgs{\n\t\t\tName: \"existing\",\n\t\t\tNginxDeploymentId: exampleAzurermNginxDeployment.Id,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"id\", example.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.nginx.NginxFunctions;\nimport com.pulumi.azure.nginx.inputs.GetCertificateArgs;\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 final var example = NginxFunctions.getCertificate(GetCertificateArgs.builder()\n .name(\"existing\")\n .nginxDeploymentId(exampleAzurermNginxDeployment.id())\n .build());\n\n ctx.export(\"id\", example.applyValue(getCertificateResult -\u003e getCertificateResult.id()));\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: azure:nginx:getCertificate\n Arguments:\n name: existing\n nginxDeploymentId: ${exampleAzurermNginxDeployment.id}\noutputs:\n id: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
"inputs": {
@@ -288364,7 +289815,7 @@
"type": "string"
},
"sku": {
- "description": "The NGINX Deployment SKU. Possible values include `standard_Monthly`.\n",
+ "description": "The NGINX Deployment SKU.\n",
"type": "string"
},
"tags": {
@@ -288730,7 +290181,7 @@
},
"scope": {
"type": "string",
- "description": "The scope to which this Role Management Policy applies. Can refer to a management group, a subscription or a resource group.\n"
+ "description": "The scope to which this Role Management Policy applies. Can refer to a management group, a subscription, a resource group or a resource.\n"
}
},
"type": "object",
diff --git a/provider/go.mod b/provider/go.mod
index e02e17dda4..7a49c1d04d 100644
--- a/provider/go.mod
+++ b/provider/go.mod
@@ -6,7 +6,7 @@ toolchain go1.22.7
require (
github.com/Azure/go-autorest/autorest/azure/cli v0.4.6
- github.com/hashicorp/go-azure-sdk/sdk v0.20240903.1111904
+ github.com/hashicorp/go-azure-sdk/sdk v0.20240906.1232634
github.com/hashicorp/terraform-plugin-sdk/v2 v2.33.0
github.com/hashicorp/terraform-provider-azurerm v1.44.1-0.20220923005104-eaa801c358ff
github.com/pulumi/providertest v0.1.2
@@ -121,7 +121,7 @@ require (
github.com/grpc-ecosystem/grpc-opentracing v0.0.0-20180507213350-8e809c8a8645 // indirect
github.com/hashicorp/errwrap v1.1.0 // indirect
github.com/hashicorp/go-azure-helpers v0.70.1 // indirect
- github.com/hashicorp/go-azure-sdk/resource-manager v0.20240903.1111904 // indirect
+ github.com/hashicorp/go-azure-sdk/resource-manager v0.20240906.1232634 // indirect
github.com/hashicorp/go-checkpoint v0.5.0 // indirect
github.com/hashicorp/go-cleanhttp v0.5.2 // indirect
github.com/hashicorp/go-cty v1.4.1-0.20200414143053-d3edf31b6320 // indirect
diff --git a/provider/go.sum b/provider/go.sum
index 448ba95f0f..35e25c3fde 100644
--- a/provider/go.sum
+++ b/provider/go.sum
@@ -1628,10 +1628,10 @@ github.com/hashicorp/errwrap v1.1.0 h1:OxrOeh75EUXMY8TBjag2fzXGZ40LB6IKw45YeGUDY
github.com/hashicorp/errwrap v1.1.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4=
github.com/hashicorp/go-azure-helpers v0.70.1 h1:7hlnRrZobMZxpOzdlNEsayzAayj/KRG4wpDS1jgo4GM=
github.com/hashicorp/go-azure-helpers v0.70.1/go.mod h1:BmbF4JDYXK5sEmFeU5hcn8Br21uElcqLfdQxjatwQKw=
-github.com/hashicorp/go-azure-sdk/resource-manager v0.20240903.1111904 h1:EeK3qCc0DntwSZc0jEdzPKQwYWanZTG9nhhD0JUFmhI=
-github.com/hashicorp/go-azure-sdk/resource-manager v0.20240903.1111904/go.mod h1:cUHyvZpNjlt+LczFfRE8Eg84FChvLl39S2LYWulJ9wg=
-github.com/hashicorp/go-azure-sdk/sdk v0.20240903.1111904 h1:7H0K+QbMurSx0GCVl0gzhMf0pkR6xArox+kvMyclBCY=
-github.com/hashicorp/go-azure-sdk/sdk v0.20240903.1111904/go.mod h1:dMKF6bXrgGmy1d3pLzkmBpG2JIHgSAV2/OMSCEgyMwE=
+github.com/hashicorp/go-azure-sdk/resource-manager v0.20240906.1232634 h1:hsjAS5gcfhn5FdCiZ08nuAsvQJtlTEsGxJDxqBT6zoA=
+github.com/hashicorp/go-azure-sdk/resource-manager v0.20240906.1232634/go.mod h1:0IyF1dmWLHTZak+t9eQeg0VZ7rA/5du4swTm99NX+6I=
+github.com/hashicorp/go-azure-sdk/sdk v0.20240906.1232634 h1:FGtv7+jcrx2m35qEKjK177zRXoBmPn3WntuqtqjcHwM=
+github.com/hashicorp/go-azure-sdk/sdk v0.20240906.1232634/go.mod h1:dMKF6bXrgGmy1d3pLzkmBpG2JIHgSAV2/OMSCEgyMwE=
github.com/hashicorp/go-checkpoint v0.5.0 h1:MFYpPZCnQqQTE18jFwSII6eUQrD/oxMFp3mlgcqk5mU=
github.com/hashicorp/go-checkpoint v0.5.0/go.mod h1:7nfLNL10NsxqO4iWuW6tWW0HjZuDrwkBuEQsVcpCOgg=
github.com/hashicorp/go-cleanhttp v0.5.0/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtngrth3wmdIIUrZ80=
diff --git a/provider/resources.go b/provider/resources.go
index fdf204ffa8..e3c8cf683c 100644
--- a/provider/resources.go
+++ b/provider/resources.go
@@ -608,6 +608,8 @@ func Provider() tfbridge.ProviderInfo {
},
"azurerm_active_directory_domain_service_trust": {Tok: azureResource(azureDomainServices, "ServiceTrust")},
+ "azurerm_advisor_suppression": {Tok: azureResource(advisor, "Suppression"), Docs: &tfbridge.DocInfo{Source: "advisor_suppresion.html.markdown"}},
+
// API Mannagement
"azurerm_api_management": {
Tok: azureResource(azureAPIManagement, "Service"),
@@ -3065,6 +3067,7 @@ func Provider() tfbridge.ProviderInfo {
"azurerm_application_gateway": {Tok: azureDataSource(azureNetwork, "getApplicationGateway")},
"azurerm_local_network_gateway": {Tok: azureDataSource(azureNetwork, "getLocalNetworkGateway")},
"azurerm_vpn_gateway": {Tok: azureDataSource(azureNetwork, "getVpnGateway")},
+ "azurerm_vpn_server_configuration": {Tok: azureDataSource(azureNetwork, "getVpnServerConfiguration")},
"azurerm_signalr_service": {Tok: azureDataSource(azureSignalr, "getService")},
"azurerm_storage_container": {Tok: azureDataSource(azureStorage, "getStorageContainer")},
"azurerm_storage_sync": {Tok: azureDataSource(azureStorage, "getSync")},
diff --git a/sdk/dotnet/Advisor/Suppression.cs b/sdk/dotnet/Advisor/Suppression.cs
new file mode 100644
index 0000000000..b32fe9cc2c
--- /dev/null
+++ b/sdk/dotnet/Advisor/Suppression.cs
@@ -0,0 +1,194 @@
+// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
+// *** 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.Azure.Advisor
+{
+ ///
+ /// Specifies a suppression for an Azure Advisor recommendation.
+ ///
+ /// ## Example Usage
+ ///
+ /// ```csharp
+ /// using System.Collections.Generic;
+ /// using System.Linq;
+ /// using Pulumi;
+ /// using Azure = Pulumi.Azure;
+ ///
+ /// return await Deployment.RunAsync(() =>
+ /// {
+ /// var current = Azure.Core.GetClientConfig.Invoke();
+ ///
+ /// var example = Azure.Advisor.GetRecommendations.Invoke();
+ ///
+ /// var exampleSuppression = new Azure.Advisor.Suppression("example", new()
+ /// {
+ /// Name = "HardcodedSuppressionName",
+ /// RecommendationId = test.Recommendations[0].RecommendationName,
+ /// ResourceId = $"/subscriptions/{current.Apply(getClientConfigResult => getClientConfigResult.SubscriptionId)}",
+ /// Ttl = "01:00:00:00",
+ /// });
+ ///
+ /// });
+ /// ```
+ ///
+ /// ## Import
+ ///
+ /// Advisor suppressions can be imported using the `resource id`, e.g.
+ ///
+ /// ```sh
+ /// $ pulumi import azure:advisor/suppression:Suppression example /subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Advisor/recommendations/00000000-0000-0000-0000-000000000000/suppressions/name
+ /// ```
+ ///
+ [AzureResourceType("azure:advisor/suppression:Suppression")]
+ public partial class Suppression : global::Pulumi.CustomResource
+ {
+ ///
+ /// The Name which should be used for this Advisor suppression. Changing this forces a new Advisor suppression to be created.
+ ///
+ [Output("name")]
+ public Output Name { get; private set; } = null!;
+
+ ///
+ /// The ID of the Advisor recommendation to suppress. Changing this forces a new Advisor suppression to be created.
+ ///
+ [Output("recommendationId")]
+ public Output RecommendationId { get; private set; } = null!;
+
+ ///
+ /// The ID of the Resource to suppress the Advisor recommendation for. Changing this forces a new Advisor suppression to be created.
+ ///
+ [Output("resourceId")]
+ public Output ResourceId { get; private set; } = null!;
+
+ ///
+ /// The GUID of the suppression.
+ ///
+ [Output("suppressionId")]
+ public Output SuppressionId { get; private set; } = null!;
+
+ ///
+ /// A optional time to live value. If omitted, the suppression will not expire. Changing this forces a new Advisor suppression to be created.
+ ///
+ [Output("ttl")]
+ public Output Ttl { get; private set; } = null!;
+
+
+ ///
+ /// Create a Suppression 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 Suppression(string name, SuppressionArgs args, CustomResourceOptions? options = null)
+ : base("azure:advisor/suppression:Suppression", name, args ?? new SuppressionArgs(), MakeResourceOptions(options, ""))
+ {
+ }
+
+ private Suppression(string name, Input id, SuppressionState? state = null, CustomResourceOptions? options = null)
+ : base("azure:advisor/suppression:Suppression", name, state, MakeResourceOptions(options, id))
+ {
+ }
+
+ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id)
+ {
+ var defaultOptions = new CustomResourceOptions
+ {
+ Version = Utilities.Version,
+ };
+ 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 Suppression 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.
+ /// Any extra arguments used during the lookup.
+ /// A bag of options that control this resource's behavior
+ public static Suppression Get(string name, Input id, SuppressionState? state = null, CustomResourceOptions? options = null)
+ {
+ return new Suppression(name, id, state, options);
+ }
+ }
+
+ public sealed class SuppressionArgs : global::Pulumi.ResourceArgs
+ {
+ ///
+ /// The Name which should be used for this Advisor suppression. Changing this forces a new Advisor suppression to be created.
+ ///
+ [Input("name")]
+ public Input? Name { get; set; }
+
+ ///
+ /// The ID of the Advisor recommendation to suppress. Changing this forces a new Advisor suppression to be created.
+ ///
+ [Input("recommendationId", required: true)]
+ public Input RecommendationId { get; set; } = null!;
+
+ ///
+ /// The ID of the Resource to suppress the Advisor recommendation for. Changing this forces a new Advisor suppression to be created.
+ ///
+ [Input("resourceId", required: true)]
+ public Input ResourceId { get; set; } = null!;
+
+ ///
+ /// A optional time to live value. If omitted, the suppression will not expire. Changing this forces a new Advisor suppression to be created.
+ ///
+ [Input("ttl")]
+ public Input? Ttl { get; set; }
+
+ public SuppressionArgs()
+ {
+ }
+ public static new SuppressionArgs Empty => new SuppressionArgs();
+ }
+
+ public sealed class SuppressionState : global::Pulumi.ResourceArgs
+ {
+ ///
+ /// The Name which should be used for this Advisor suppression. Changing this forces a new Advisor suppression to be created.
+ ///
+ [Input("name")]
+ public Input? Name { get; set; }
+
+ ///
+ /// The ID of the Advisor recommendation to suppress. Changing this forces a new Advisor suppression to be created.
+ ///
+ [Input("recommendationId")]
+ public Input? RecommendationId { get; set; }
+
+ ///
+ /// The ID of the Resource to suppress the Advisor recommendation for. Changing this forces a new Advisor suppression to be created.
+ ///
+ [Input("resourceId")]
+ public Input? ResourceId { get; set; }
+
+ ///
+ /// The GUID of the suppression.
+ ///
+ [Input("suppressionId")]
+ public Input? SuppressionId { get; set; }
+
+ ///
+ /// A optional time to live value. If omitted, the suppression will not expire. Changing this forces a new Advisor suppression to be created.
+ ///
+ [Input("ttl")]
+ public Input? Ttl { get; set; }
+
+ public SuppressionState()
+ {
+ }
+ public static new SuppressionState Empty => new SuppressionState();
+ }
+}
diff --git a/sdk/dotnet/AppPlatform/SpringCloudGateway.cs b/sdk/dotnet/AppPlatform/SpringCloudGateway.cs
index 3e49efe797..ebdea2c9b6 100644
--- a/sdk/dotnet/AppPlatform/SpringCloudGateway.cs
+++ b/sdk/dotnet/AppPlatform/SpringCloudGateway.cs
@@ -141,7 +141,7 @@ public partial class SpringCloudGateway : global::Pulumi.CustomResource
public Output Cors { get; private set; } = null!;
///
- /// Specifies the environment variables of the Spring Cloud Gateway as a map of key-value pairs. Changing this forces a new resource to be created.
+ /// Specifies the environment variables of the Spring Cloud Gateway as a map of key-value pairs.
///
[Output("environmentVariables")]
public Output?> EnvironmentVariables { get; private set; } = null!;
@@ -189,7 +189,7 @@ public partial class SpringCloudGateway : global::Pulumi.CustomResource
public Output Quota { get; private set; } = null!;
///
- /// Specifies the sensitive environment variables of the Spring Cloud Gateway as a map of key-value pairs. Changing this forces a new resource to be created.
+ /// Specifies the sensitive environment variables of the Spring Cloud Gateway as a map of key-value pairs.
///
[Output("sensitiveEnvironmentVariables")]
public Output?> SensitiveEnvironmentVariables { get; private set; } = null!;
@@ -308,7 +308,7 @@ public InputList ApplicationPerformanceMonitoringTypes
private InputMap? _environmentVariables;
///
- /// Specifies the environment variables of the Spring Cloud Gateway as a map of key-value pairs. Changing this forces a new resource to be created.
+ /// Specifies the environment variables of the Spring Cloud Gateway as a map of key-value pairs.
///
public InputMap EnvironmentVariables
{
@@ -362,7 +362,7 @@ public InputMap EnvironmentVariables
private InputMap? _sensitiveEnvironmentVariables;
///
- /// Specifies the sensitive environment variables of the Spring Cloud Gateway as a map of key-value pairs. Changing this forces a new resource to be created.
+ /// Specifies the sensitive environment variables of the Spring Cloud Gateway as a map of key-value pairs.
///
public InputMap SensitiveEnvironmentVariables
{
@@ -440,7 +440,7 @@ public InputList ApplicationPerformanceMonitoringTypes
private InputMap? _environmentVariables;
///
- /// Specifies the environment variables of the Spring Cloud Gateway as a map of key-value pairs. Changing this forces a new resource to be created.
+ /// Specifies the environment variables of the Spring Cloud Gateway as a map of key-value pairs.
///
public InputMap EnvironmentVariables
{
@@ -494,7 +494,7 @@ public InputMap EnvironmentVariables
private InputMap? _sensitiveEnvironmentVariables;
///
- /// Specifies the sensitive environment variables of the Spring Cloud Gateway as a map of key-value pairs. Changing this forces a new resource to be created.
+ /// Specifies the sensitive environment variables of the Spring Cloud Gateway as a map of key-value pairs.
///
public InputMap SensitiveEnvironmentVariables
{
diff --git a/sdk/dotnet/AppService/GetStaticWebApp.cs b/sdk/dotnet/AppService/GetStaticWebApp.cs
index 478550e47c..418ced1bd6 100644
--- a/sdk/dotnet/AppService/GetStaticWebApp.cs
+++ b/sdk/dotnet/AppService/GetStaticWebApp.cs
@@ -120,6 +120,7 @@ public sealed class GetStaticWebAppResult
public readonly string Location;
public readonly string Name;
public readonly bool PreviewEnvironmentsEnabled;
+ public readonly bool PublicNetworkAccessEnabled;
public readonly string ResourceGroupName;
public readonly string SkuSize;
public readonly string SkuTier;
@@ -147,6 +148,8 @@ private GetStaticWebAppResult(
bool previewEnvironmentsEnabled,
+ bool publicNetworkAccessEnabled,
+
string resourceGroupName,
string skuSize,
@@ -165,6 +168,7 @@ private GetStaticWebAppResult(
Location = location;
Name = name;
PreviewEnvironmentsEnabled = previewEnvironmentsEnabled;
+ PublicNetworkAccessEnabled = publicNetworkAccessEnabled;
ResourceGroupName = resourceGroupName;
SkuSize = skuSize;
SkuTier = skuTier;
diff --git a/sdk/dotnet/AppService/StaticWebApp.cs b/sdk/dotnet/AppService/StaticWebApp.cs
index 78310475cc..3a462908d3 100644
--- a/sdk/dotnet/AppService/StaticWebApp.cs
+++ b/sdk/dotnet/AppService/StaticWebApp.cs
@@ -103,6 +103,12 @@ public partial class StaticWebApp : global::Pulumi.CustomResource
[Output("previewEnvironmentsEnabled")]
public Output PreviewEnvironmentsEnabled { get; private set; } = null!;
+ ///
+ /// Should public network access be enabled for the Static Web App. Defaults to `true`.
+ ///
+ [Output("publicNetworkAccessEnabled")]
+ public Output PublicNetworkAccessEnabled { get; private set; } = null!;
+
///
/// The name of the Resource Group where the Static Web App should exist. Changing this forces a new Static Web App to be created.
///
@@ -236,6 +242,12 @@ public Input? BasicAuth
[Input("previewEnvironmentsEnabled")]
public Input? PreviewEnvironmentsEnabled { get; set; }
+ ///
+ /// Should public network access be enabled for the Static Web App. Defaults to `true`.
+ ///
+ [Input("publicNetworkAccessEnabled")]
+ public Input? PublicNetworkAccessEnabled { get; set; }
+
///
/// The name of the Resource Group where the Static Web App should exist. Changing this forces a new Static Web App to be created.
///
@@ -354,6 +366,12 @@ public Input? BasicAuth
[Input("previewEnvironmentsEnabled")]
public Input? PreviewEnvironmentsEnabled { get; set; }
+ ///
+ /// Should public network access be enabled for the Static Web App. Defaults to `true`.
+ ///
+ [Input("publicNetworkAccessEnabled")]
+ public Input? PublicNetworkAccessEnabled { get; set; }
+
///
/// The name of the Resource Group where the Static Web App should exist. Changing this forces a new Static Web App to be created.
///
diff --git a/sdk/dotnet/ArcMachine/AutomanageConfigurationAssignment.cs b/sdk/dotnet/ArcMachine/AutomanageConfigurationAssignment.cs
index 50114a2aa4..8072fcf270 100644
--- a/sdk/dotnet/ArcMachine/AutomanageConfigurationAssignment.cs
+++ b/sdk/dotnet/ArcMachine/AutomanageConfigurationAssignment.cs
@@ -58,7 +58,7 @@ namespace Pulumi.Azure.ArcMachine
/// Virtual Machine Automanage Configuration Profile Assignment can be imported using the `resource id`, e.g.
///
/// ```sh
- /// $ pulumi import azure:arcmachine/automanageConfigurationAssignment:AutomanageConfigurationAssignment example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.HybridCompute/Microsoft.HybridCompute/machines/machine1/providers/Microsoft.AutoManage/configurationProfileAssignments/default
+ /// $ pulumi import azure:arcmachine/automanageConfigurationAssignment:AutomanageConfigurationAssignment example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.HybridCompute/machines/machine1/providers/Microsoft.AutoManage/configurationProfileAssignments/default
/// ```
///
[AzureResourceType("azure:arcmachine/automanageConfigurationAssignment:AutomanageConfigurationAssignment")]
diff --git a/sdk/dotnet/Compute/LinuxVirtualMachineScaleSet.cs b/sdk/dotnet/Compute/LinuxVirtualMachineScaleSet.cs
index 0271f97384..f79d436075 100644
--- a/sdk/dotnet/Compute/LinuxVirtualMachineScaleSet.cs
+++ b/sdk/dotnet/Compute/LinuxVirtualMachineScaleSet.cs
@@ -466,7 +466,9 @@ public partial class LinuxVirtualMachineScaleSet : global::Pulumi.CustomResource
public Output ZoneBalance { get; private set; } = null!;
///
- /// Specifies a list of Availability Zones in which this Linux Virtual Machine Scale Set should be located. Changing this forces a new Linux Virtual Machine Scale Set to be created.
+ /// Specifies a list of Availability Zones in which this Linux Virtual Machine Scale Set should be located.
+ ///
+ /// > **Note:** Updating `zones` to remove an existing zone forces a new Virtual Machine Scale Set to be created.
///
[Output("zones")]
public Output> Zones { get; private set; } = null!;
@@ -927,7 +929,9 @@ public InputMap Tags
private InputList? _zones;
///
- /// Specifies a list of Availability Zones in which this Linux Virtual Machine Scale Set should be located. Changing this forces a new Linux Virtual Machine Scale Set to be created.
+ /// Specifies a list of Availability Zones in which this Linux Virtual Machine Scale Set should be located.
+ ///
+ /// > **Note:** Updating `zones` to remove an existing zone forces a new Virtual Machine Scale Set to be created.
///
public InputList Zones
{
@@ -1354,7 +1358,9 @@ public InputMap Tags
private InputList? _zones;
///
- /// Specifies a list of Availability Zones in which this Linux Virtual Machine Scale Set should be located. Changing this forces a new Linux Virtual Machine Scale Set to be created.
+ /// Specifies a list of Availability Zones in which this Linux Virtual Machine Scale Set should be located.
+ ///
+ /// > **Note:** Updating `zones` to remove an existing zone forces a new Virtual Machine Scale Set to be created.
///
public InputList Zones
{
diff --git a/sdk/dotnet/Compute/OrchestratedVirtualMachineScaleSet.cs b/sdk/dotnet/Compute/OrchestratedVirtualMachineScaleSet.cs
index 6dfe36e639..d30017cffb 100644
--- a/sdk/dotnet/Compute/OrchestratedVirtualMachineScaleSet.cs
+++ b/sdk/dotnet/Compute/OrchestratedVirtualMachineScaleSet.cs
@@ -279,7 +279,9 @@ public partial class OrchestratedVirtualMachineScaleSet : global::Pulumi.CustomR
public Output ZoneBalance { get; private set; } = null!;
///
- /// Specifies a list of Availability Zones across which the Virtual Machine Scale Set will create instances. Changing this forces a new Virtual Machine Scale Set to be created.
+ /// Specifies a list of Availability Zones across which the Virtual Machine Scale Set will create instances.
+ ///
+ /// > **Note:** Updating `zones` to remove an existing zone forces a new Virtual Machine Scale Set to be created.
///
/// > **Note:** Availability Zones are [only supported in several regions at this time](https://docs.microsoft.com/azure/availability-zones/az-overview).
///
@@ -586,7 +588,9 @@ public Input? UserDataBase64
private InputList? _zones;
///
- /// Specifies a list of Availability Zones across which the Virtual Machine Scale Set will create instances. Changing this forces a new Virtual Machine Scale Set to be created.
+ /// Specifies a list of Availability Zones across which the Virtual Machine Scale Set will create instances.
+ ///
+ /// > **Note:** Updating `zones` to remove an existing zone forces a new Virtual Machine Scale Set to be created.
///
/// > **Note:** Availability Zones are [only supported in several regions at this time](https://docs.microsoft.com/azure/availability-zones/az-overview).
///
@@ -860,7 +864,9 @@ public Input? UserDataBase64
private InputList? _zones;
///
- /// Specifies a list of Availability Zones across which the Virtual Machine Scale Set will create instances. Changing this forces a new Virtual Machine Scale Set to be created.
+ /// Specifies a list of Availability Zones across which the Virtual Machine Scale Set will create instances.
+ ///
+ /// > **Note:** Updating `zones` to remove an existing zone forces a new Virtual Machine Scale Set to be created.
///
/// > **Note:** Availability Zones are [only supported in several regions at this time](https://docs.microsoft.com/azure/availability-zones/az-overview).
///
diff --git a/sdk/dotnet/Compute/SharedImage.cs b/sdk/dotnet/Compute/SharedImage.cs
index b3bac04cba..a8151dbf24 100644
--- a/sdk/dotnet/Compute/SharedImage.cs
+++ b/sdk/dotnet/Compute/SharedImage.cs
@@ -102,6 +102,12 @@ public partial class SharedImage : global::Pulumi.CustomResource
[Output("description")]
public Output Description { get; private set; } = null!;
+ ///
+ /// Specifies if the Shared Image supports NVMe disks. Changing this forces a new resource to be created.
+ ///
+ [Output("diskControllerTypeNvmeEnabled")]
+ public Output DiskControllerTypeNvmeEnabled { get; private set; } = null!;
+
///
/// One or more Disk Types not allowed for the Image. Possible values include `Standard_LRS` and `Premium_LRS`.
///
@@ -314,6 +320,12 @@ public sealed class SharedImageArgs : global::Pulumi.ResourceArgs
[Input("description")]
public Input? Description { get; set; }
+ ///
+ /// Specifies if the Shared Image supports NVMe disks. Changing this forces a new resource to be created.
+ ///
+ [Input("diskControllerTypeNvmeEnabled")]
+ public Input? DiskControllerTypeNvmeEnabled { get; set; }
+
[Input("diskTypesNotAlloweds")]
private InputList? _diskTypesNotAlloweds;
@@ -500,6 +512,12 @@ public sealed class SharedImageState : global::Pulumi.ResourceArgs
[Input("description")]
public Input? Description { get; set; }
+ ///
+ /// Specifies if the Shared Image supports NVMe disks. Changing this forces a new resource to be created.
+ ///
+ [Input("diskControllerTypeNvmeEnabled")]
+ public Input? DiskControllerTypeNvmeEnabled { get; set; }
+
[Input("diskTypesNotAlloweds")]
private InputList? _diskTypesNotAlloweds;
diff --git a/sdk/dotnet/Compute/WindowsVirtualMachineScaleSet.cs b/sdk/dotnet/Compute/WindowsVirtualMachineScaleSet.cs
index d4e51e9d6e..bb8446f4af 100644
--- a/sdk/dotnet/Compute/WindowsVirtualMachineScaleSet.cs
+++ b/sdk/dotnet/Compute/WindowsVirtualMachineScaleSet.cs
@@ -471,7 +471,9 @@ public partial class WindowsVirtualMachineScaleSet : global::Pulumi.CustomResour
public Output ZoneBalance { get; private set; } = null!;
///
- /// Specifies a list of Availability Zones in which this Windows Virtual Machine Scale Set should be located. Changing this forces a new Windows Virtual Machine Scale Set to be created.
+ /// Specifies a list of Availability Zones in which this Windows Virtual Machine Scale Set should be located.
+ ///
+ /// > **Note:** Updating `zones` to remove an existing zone forces a new Virtual Machine Scale Set to be created.
///
[Output("zones")]
public Output> Zones { get; private set; } = null!;
@@ -946,7 +948,9 @@ public InputList WinrmLis
private InputList? _zones;
///
- /// Specifies a list of Availability Zones in which this Windows Virtual Machine Scale Set should be located. Changing this forces a new Windows Virtual Machine Scale Set to be created.
+ /// Specifies a list of Availability Zones in which this Windows Virtual Machine Scale Set should be located.
+ ///
+ /// > **Note:** Updating `zones` to remove an existing zone forces a new Virtual Machine Scale Set to be created.
///
public InputList Zones
{
@@ -1387,7 +1391,9 @@ public InputList Winrm
private InputList? _zones;
///
- /// Specifies a list of Availability Zones in which this Windows Virtual Machine Scale Set should be located. Changing this forces a new Windows Virtual Machine Scale Set to be created.
+ /// Specifies a list of Availability Zones in which this Windows Virtual Machine Scale Set should be located.
+ ///
+ /// > **Note:** Updating `zones` to remove an existing zone forces a new Virtual Machine Scale Set to be created.
///
public InputList Zones
{
diff --git a/sdk/dotnet/ContainerApp/CustomDomain.cs b/sdk/dotnet/ContainerApp/CustomDomain.cs
index e5e717e85c..eef25a6f9a 100644
--- a/sdk/dotnet/ContainerApp/CustomDomain.cs
+++ b/sdk/dotnet/ContainerApp/CustomDomain.cs
@@ -61,6 +61,12 @@ public partial class CustomDomain : global::Pulumi.CustomResource
[Output("containerAppEnvironmentCertificateId")]
public Output ContainerAppEnvironmentCertificateId { get; private set; } = null!;
+ ///
+ /// The ID of the Container App Environment Managed Certificate to use.
+ ///
+ [Output("containerAppEnvironmentManagedCertificateId")]
+ public Output ContainerAppEnvironmentManagedCertificateId { get; private set; } = null!;
+
///
/// The ID of the Container App to which this Custom Domain should be bound. Changing this forces a new resource to be created.
///
@@ -171,6 +177,12 @@ public sealed class CustomDomainState : global::Pulumi.ResourceArgs
[Input("containerAppEnvironmentCertificateId")]
public Input? ContainerAppEnvironmentCertificateId { get; set; }
+ ///
+ /// The ID of the Container App Environment Managed Certificate to use.
+ ///
+ [Input("containerAppEnvironmentManagedCertificateId")]
+ public Input? ContainerAppEnvironmentManagedCertificateId { get; set; }
+
///
/// The ID of the Container App to which this Custom Domain should be bound. Changing this forces a new resource to be created.
///
diff --git a/sdk/dotnet/ContainerApp/Inputs/AppIngressTrafficWeightArgs.cs b/sdk/dotnet/ContainerApp/Inputs/AppIngressTrafficWeightArgs.cs
index 1848baf858..4565c4d2ee 100644
--- a/sdk/dotnet/ContainerApp/Inputs/AppIngressTrafficWeightArgs.cs
+++ b/sdk/dotnet/ContainerApp/Inputs/AppIngressTrafficWeightArgs.cs
@@ -35,7 +35,7 @@ public sealed class AppIngressTrafficWeightArgs : global::Pulumi.ResourceArgs
///
/// The suffix string to which this `traffic_weight` applies.
///
- /// > **Note:** `latest_revision` conflicts with `revision_suffix`, which means you shall either set `latest_revision` to `true` or specify `revision_suffix`. Especially for creation, there shall only be one `traffic_weight`, with the `latest_revision` set to `true`, and leave the `revision_suffix` empty.
+ /// > **Note:** If `latest_revision` is `false`, the `revision_suffix` shall be specified.
///
[Input("revisionSuffix")]
public Input? RevisionSuffix { get; set; }
diff --git a/sdk/dotnet/ContainerApp/Inputs/AppIngressTrafficWeightGetArgs.cs b/sdk/dotnet/ContainerApp/Inputs/AppIngressTrafficWeightGetArgs.cs
index 631d0f37e3..36baf1e788 100644
--- a/sdk/dotnet/ContainerApp/Inputs/AppIngressTrafficWeightGetArgs.cs
+++ b/sdk/dotnet/ContainerApp/Inputs/AppIngressTrafficWeightGetArgs.cs
@@ -35,7 +35,7 @@ public sealed class AppIngressTrafficWeightGetArgs : global::Pulumi.ResourceArgs
///
/// The suffix string to which this `traffic_weight` applies.
///
- /// > **Note:** `latest_revision` conflicts with `revision_suffix`, which means you shall either set `latest_revision` to `true` or specify `revision_suffix`. Especially for creation, there shall only be one `traffic_weight`, with the `latest_revision` set to `true`, and leave the `revision_suffix` empty.
+ /// > **Note:** If `latest_revision` is `false`, the `revision_suffix` shall be specified.
///
[Input("revisionSuffix")]
public Input? RevisionSuffix { get; set; }
diff --git a/sdk/dotnet/ContainerApp/Outputs/AppIngressTrafficWeight.cs b/sdk/dotnet/ContainerApp/Outputs/AppIngressTrafficWeight.cs
index b06992e55b..6067f27f89 100644
--- a/sdk/dotnet/ContainerApp/Outputs/AppIngressTrafficWeight.cs
+++ b/sdk/dotnet/ContainerApp/Outputs/AppIngressTrafficWeight.cs
@@ -30,7 +30,7 @@ public sealed class AppIngressTrafficWeight
///
/// The suffix string to which this `traffic_weight` applies.
///
- /// > **Note:** `latest_revision` conflicts with `revision_suffix`, which means you shall either set `latest_revision` to `true` or specify `revision_suffix`. Especially for creation, there shall only be one `traffic_weight`, with the `latest_revision` set to `true`, and leave the `revision_suffix` empty.
+ /// > **Note:** If `latest_revision` is `false`, the `revision_suffix` shall be specified.
///
public readonly string? RevisionSuffix;
diff --git a/sdk/dotnet/ContainerService/Registry.cs b/sdk/dotnet/ContainerService/Registry.cs
index 61c7ed10cd..a2075f98f5 100644
--- a/sdk/dotnet/ContainerService/Registry.cs
+++ b/sdk/dotnet/ContainerService/Registry.cs
@@ -168,7 +168,7 @@ public partial class Registry : global::Pulumi.CustomResource
public Output ExportPolicyEnabled { get; private set; } = null!;
///
- /// A `georeplications` block as documented below.
+ /// One or more `georeplications` blocks as documented below.
///
/// > **NOTE:** The `georeplications` is only supported on new resources with the `Premium` SKU.
///
@@ -349,7 +349,7 @@ public sealed class RegistryArgs : global::Pulumi.ResourceArgs
private InputList? _georeplications;
///
- /// A `georeplications` block as documented below.
+ /// One or more `georeplications` blocks as documented below.
///
/// > **NOTE:** The `georeplications` is only supported on new resources with the `Premium` SKU.
///
@@ -513,7 +513,7 @@ public Input? AdminPassword
private InputList? _georeplications;
///
- /// A `georeplications` block as documented below.
+ /// One or more `georeplications` blocks as documented below.
///
/// > **NOTE:** The `georeplications` is only supported on new resources with the `Premium` SKU.
///
diff --git a/sdk/dotnet/DataProtection/BackupPolicyMysqlFlexibleServer.cs b/sdk/dotnet/DataProtection/BackupPolicyMysqlFlexibleServer.cs
new file mode 100644
index 0000000000..8ab8851792
--- /dev/null
+++ b/sdk/dotnet/DataProtection/BackupPolicyMysqlFlexibleServer.cs
@@ -0,0 +1,344 @@
+// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
+// *** 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.Azure.DataProtection
+{
+ ///
+ /// Manages a Backup Policy to back up MySQL Flexible Server.
+ ///
+ /// ## Example Usage
+ ///
+ /// ```csharp
+ /// using System.Collections.Generic;
+ /// using System.Linq;
+ /// using Pulumi;
+ /// using Azure = Pulumi.Azure;
+ ///
+ /// return await Deployment.RunAsync(() =>
+ /// {
+ /// var example = new Azure.Core.ResourceGroup("example", new()
+ /// {
+ /// Name = "example-resources",
+ /// Location = "West Europe",
+ /// });
+ ///
+ /// var exampleBackupVault = new Azure.DataProtection.BackupVault("example", new()
+ /// {
+ /// Name = "example-backup-vault",
+ /// ResourceGroupName = example.Name,
+ /// Location = example.Location,
+ /// DatastoreType = "VaultStore",
+ /// Redundancy = "LocallyRedundant",
+ /// Identity = new Azure.DataProtection.Inputs.BackupVaultIdentityArgs
+ /// {
+ /// Type = "SystemAssigned",
+ /// },
+ /// });
+ ///
+ /// var exampleBackupPolicyMysqlFlexibleServer = new Azure.DataProtection.BackupPolicyMysqlFlexibleServer("example", new()
+ /// {
+ /// Name = "example-backup-policy",
+ /// VaultId = exampleBackupVault.Id,
+ /// BackupRepeatingTimeIntervals = new[]
+ /// {
+ /// "R/2021-05-23T02:30:00+00:00/P1W",
+ /// },
+ /// TimeZone = "India Standard Time",
+ /// DefaultRetentionRule = new Azure.DataProtection.Inputs.BackupPolicyMysqlFlexibleServerDefaultRetentionRuleArgs
+ /// {
+ /// LifeCycles = new[]
+ /// {
+ /// new Azure.DataProtection.Inputs.BackupPolicyMysqlFlexibleServerDefaultRetentionRuleLifeCycleArgs
+ /// {
+ /// Duration = "P4M",
+ /// DataStoreType = "VaultStore",
+ /// },
+ /// },
+ /// },
+ /// RetentionRules = new[]
+ /// {
+ /// new Azure.DataProtection.Inputs.BackupPolicyMysqlFlexibleServerRetentionRuleArgs
+ /// {
+ /// Name = "weekly",
+ /// LifeCycles = new[]
+ /// {
+ /// new Azure.DataProtection.Inputs.BackupPolicyMysqlFlexibleServerRetentionRuleLifeCycleArgs
+ /// {
+ /// Duration = "P6M",
+ /// DataStoreType = "VaultStore",
+ /// },
+ /// },
+ /// Priority = 20,
+ /// Criteria = new Azure.DataProtection.Inputs.BackupPolicyMysqlFlexibleServerRetentionRuleCriteriaArgs
+ /// {
+ /// AbsoluteCriteria = "FirstOfWeek",
+ /// },
+ /// },
+ /// new Azure.DataProtection.Inputs.BackupPolicyMysqlFlexibleServerRetentionRuleArgs
+ /// {
+ /// Name = "thursday",
+ /// LifeCycles = new[]
+ /// {
+ /// new Azure.DataProtection.Inputs.BackupPolicyMysqlFlexibleServerRetentionRuleLifeCycleArgs
+ /// {
+ /// Duration = "P1W",
+ /// DataStoreType = "VaultStore",
+ /// },
+ /// },
+ /// Priority = 25,
+ /// Criteria = new Azure.DataProtection.Inputs.BackupPolicyMysqlFlexibleServerRetentionRuleCriteriaArgs
+ /// {
+ /// DaysOfWeeks = new[]
+ /// {
+ /// "Thursday",
+ /// },
+ /// ScheduledBackupTimes = new[]
+ /// {
+ /// "2021-05-23T02:30:00Z",
+ /// },
+ /// },
+ /// },
+ /// new Azure.DataProtection.Inputs.BackupPolicyMysqlFlexibleServerRetentionRuleArgs
+ /// {
+ /// Name = "monthly",
+ /// LifeCycles = new[]
+ /// {
+ /// new Azure.DataProtection.Inputs.BackupPolicyMysqlFlexibleServerRetentionRuleLifeCycleArgs
+ /// {
+ /// Duration = "P1D",
+ /// DataStoreType = "VaultStore",
+ /// },
+ /// },
+ /// Priority = 15,
+ /// Criteria = new Azure.DataProtection.Inputs.BackupPolicyMysqlFlexibleServerRetentionRuleCriteriaArgs
+ /// {
+ /// WeeksOfMonths = new[]
+ /// {
+ /// "First",
+ /// "Last",
+ /// },
+ /// DaysOfWeeks = new[]
+ /// {
+ /// "Tuesday",
+ /// },
+ /// ScheduledBackupTimes = new[]
+ /// {
+ /// "2021-05-23T02:30:00Z",
+ /// },
+ /// },
+ /// },
+ /// },
+ /// });
+ ///
+ /// });
+ /// ```
+ ///
+ /// ## Import
+ ///
+ /// Backup Policy MySQL Flexible Server's can be imported using the `resource id`, e.g.
+ ///
+ /// ```sh
+ /// $ pulumi import azure:dataprotection/backupPolicyMysqlFlexibleServer:BackupPolicyMysqlFlexibleServer example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.DataProtection/backupVaults/vault1/backupPolicies/backupPolicy1
+ /// ```
+ ///
+ [AzureResourceType("azure:dataprotection/backupPolicyMysqlFlexibleServer:BackupPolicyMysqlFlexibleServer")]
+ public partial class BackupPolicyMysqlFlexibleServer : global::Pulumi.CustomResource
+ {
+ ///
+ /// Specifies a list of repeating time interval. It supports weekly back. It should follow `ISO 8601` repeating time interval format. Changing this forces a new resource to be created.
+ ///
+ [Output("backupRepeatingTimeIntervals")]
+ public Output> BackupRepeatingTimeIntervals { get; private set; } = null!;
+
+ ///
+ /// A `default_retention_rule` block as defined below. Changing this forces a new resource to be created.
+ ///
+ [Output("defaultRetentionRule")]
+ public Output DefaultRetentionRule { get; private set; } = null!;
+
+ ///
+ /// Specifies the name of the Backup Policy for the MySQL Flexible Server. Changing this forces a new resource to be created.
+ ///
+ [Output("name")]
+ public Output Name { get; private set; } = null!;
+
+ ///
+ /// One or more `retention_rule` blocks as defined below. Changing this forces a new resource to be created.
+ ///
+ [Output("retentionRules")]
+ public Output> RetentionRules { get; private set; } = null!;
+
+ ///
+ /// Specifies the Time Zone which should be used by the backup schedule. Changing this forces a new resource to be created.
+ ///
+ [Output("timeZone")]
+ public Output TimeZone { get; private set; } = null!;
+
+ ///
+ /// The ID of the Backup Vault where the Backup Policy MySQL Flexible Server should exist. Changing this forces a new resource to be created.
+ ///
+ [Output("vaultId")]
+ public Output VaultId { get; private set; } = null!;
+
+
+ ///
+ /// Create a BackupPolicyMysqlFlexibleServer 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 BackupPolicyMysqlFlexibleServer(string name, BackupPolicyMysqlFlexibleServerArgs args, CustomResourceOptions? options = null)
+ : base("azure:dataprotection/backupPolicyMysqlFlexibleServer:BackupPolicyMysqlFlexibleServer", name, args ?? new BackupPolicyMysqlFlexibleServerArgs(), MakeResourceOptions(options, ""))
+ {
+ }
+
+ private BackupPolicyMysqlFlexibleServer(string name, Input id, BackupPolicyMysqlFlexibleServerState? state = null, CustomResourceOptions? options = null)
+ : base("azure:dataprotection/backupPolicyMysqlFlexibleServer:BackupPolicyMysqlFlexibleServer", name, state, MakeResourceOptions(options, id))
+ {
+ }
+
+ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id)
+ {
+ var defaultOptions = new CustomResourceOptions
+ {
+ Version = Utilities.Version,
+ };
+ 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 BackupPolicyMysqlFlexibleServer 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.
+ /// Any extra arguments used during the lookup.
+ /// A bag of options that control this resource's behavior
+ public static BackupPolicyMysqlFlexibleServer Get(string name, Input id, BackupPolicyMysqlFlexibleServerState? state = null, CustomResourceOptions? options = null)
+ {
+ return new BackupPolicyMysqlFlexibleServer(name, id, state, options);
+ }
+ }
+
+ public sealed class BackupPolicyMysqlFlexibleServerArgs : global::Pulumi.ResourceArgs
+ {
+ [Input("backupRepeatingTimeIntervals", required: true)]
+ private InputList? _backupRepeatingTimeIntervals;
+
+ ///
+ /// Specifies a list of repeating time interval. It supports weekly back. It should follow `ISO 8601` repeating time interval format. Changing this forces a new resource to be created.
+ ///
+ public InputList BackupRepeatingTimeIntervals
+ {
+ get => _backupRepeatingTimeIntervals ?? (_backupRepeatingTimeIntervals = new InputList());
+ set => _backupRepeatingTimeIntervals = value;
+ }
+
+ ///
+ /// A `default_retention_rule` block as defined below. Changing this forces a new resource to be created.
+ ///
+ [Input("defaultRetentionRule", required: true)]
+ public Input DefaultRetentionRule { get; set; } = null!;
+
+ ///
+ /// Specifies the name of the Backup Policy for the MySQL Flexible Server. Changing this forces a new resource to be created.
+ ///
+ [Input("name")]
+ public Input? Name { get; set; }
+
+ [Input("retentionRules")]
+ private InputList? _retentionRules;
+
+ ///
+ /// One or more `retention_rule` blocks as defined below. Changing this forces a new resource to be created.
+ ///
+ public InputList RetentionRules
+ {
+ get => _retentionRules ?? (_retentionRules = new InputList());
+ set => _retentionRules = value;
+ }
+
+ ///
+ /// Specifies the Time Zone which should be used by the backup schedule. Changing this forces a new resource to be created.
+ ///
+ [Input("timeZone")]
+ public Input? TimeZone { get; set; }
+
+ ///
+ /// The ID of the Backup Vault where the Backup Policy MySQL Flexible Server should exist. Changing this forces a new resource to be created.
+ ///
+ [Input("vaultId", required: true)]
+ public Input VaultId { get; set; } = null!;
+
+ public BackupPolicyMysqlFlexibleServerArgs()
+ {
+ }
+ public static new BackupPolicyMysqlFlexibleServerArgs Empty => new BackupPolicyMysqlFlexibleServerArgs();
+ }
+
+ public sealed class BackupPolicyMysqlFlexibleServerState : global::Pulumi.ResourceArgs
+ {
+ [Input("backupRepeatingTimeIntervals")]
+ private InputList? _backupRepeatingTimeIntervals;
+
+ ///
+ /// Specifies a list of repeating time interval. It supports weekly back. It should follow `ISO 8601` repeating time interval format. Changing this forces a new resource to be created.
+ ///
+ public InputList BackupRepeatingTimeIntervals
+ {
+ get => _backupRepeatingTimeIntervals ?? (_backupRepeatingTimeIntervals = new InputList());
+ set => _backupRepeatingTimeIntervals = value;
+ }
+
+ ///
+ /// A `default_retention_rule` block as defined below. Changing this forces a new resource to be created.
+ ///
+ [Input("defaultRetentionRule")]
+ public Input? DefaultRetentionRule { get; set; }
+
+ ///
+ /// Specifies the name of the Backup Policy for the MySQL Flexible Server. Changing this forces a new resource to be created.
+ ///
+ [Input("name")]
+ public Input? Name { get; set; }
+
+ [Input("retentionRules")]
+ private InputList? _retentionRules;
+
+ ///
+ /// One or more `retention_rule` blocks as defined below. Changing this forces a new resource to be created.
+ ///
+ public InputList RetentionRules
+ {
+ get => _retentionRules ?? (_retentionRules = new InputList());
+ set => _retentionRules = value;
+ }
+
+ ///
+ /// Specifies the Time Zone which should be used by the backup schedule. Changing this forces a new resource to be created.
+ ///
+ [Input("timeZone")]
+ public Input? TimeZone { get; set; }
+
+ ///
+ /// The ID of the Backup Vault where the Backup Policy MySQL Flexible Server should exist. Changing this forces a new resource to be created.
+ ///
+ [Input("vaultId")]
+ public Input? VaultId { get; set; }
+
+ public BackupPolicyMysqlFlexibleServerState()
+ {
+ }
+ public static new BackupPolicyMysqlFlexibleServerState Empty => new BackupPolicyMysqlFlexibleServerState();
+ }
+}
diff --git a/sdk/dotnet/DataProtection/Inputs/BackupPolicyMysqlFlexibleServerDefaultRetentionRuleArgs.cs b/sdk/dotnet/DataProtection/Inputs/BackupPolicyMysqlFlexibleServerDefaultRetentionRuleArgs.cs
new file mode 100644
index 0000000000..26f64387b9
--- /dev/null
+++ b/sdk/dotnet/DataProtection/Inputs/BackupPolicyMysqlFlexibleServerDefaultRetentionRuleArgs.cs
@@ -0,0 +1,32 @@
+// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
+// *** 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.Azure.DataProtection.Inputs
+{
+
+ public sealed class BackupPolicyMysqlFlexibleServerDefaultRetentionRuleArgs : global::Pulumi.ResourceArgs
+ {
+ [Input("lifeCycles", required: true)]
+ private InputList? _lifeCycles;
+
+ ///
+ /// A `life_cycle` block as defined below. Changing this forces a new resource to be created.
+ ///
+ public InputList LifeCycles
+ {
+ get => _lifeCycles ?? (_lifeCycles = new InputList());
+ set => _lifeCycles = value;
+ }
+
+ public BackupPolicyMysqlFlexibleServerDefaultRetentionRuleArgs()
+ {
+ }
+ public static new BackupPolicyMysqlFlexibleServerDefaultRetentionRuleArgs Empty => new BackupPolicyMysqlFlexibleServerDefaultRetentionRuleArgs();
+ }
+}
diff --git a/sdk/dotnet/DataProtection/Inputs/BackupPolicyMysqlFlexibleServerDefaultRetentionRuleGetArgs.cs b/sdk/dotnet/DataProtection/Inputs/BackupPolicyMysqlFlexibleServerDefaultRetentionRuleGetArgs.cs
new file mode 100644
index 0000000000..bcc02f4ca7
--- /dev/null
+++ b/sdk/dotnet/DataProtection/Inputs/BackupPolicyMysqlFlexibleServerDefaultRetentionRuleGetArgs.cs
@@ -0,0 +1,32 @@
+// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
+// *** 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.Azure.DataProtection.Inputs
+{
+
+ public sealed class BackupPolicyMysqlFlexibleServerDefaultRetentionRuleGetArgs : global::Pulumi.ResourceArgs
+ {
+ [Input("lifeCycles", required: true)]
+ private InputList? _lifeCycles;
+
+ ///
+ /// A `life_cycle` block as defined below. Changing this forces a new resource to be created.
+ ///
+ public InputList LifeCycles
+ {
+ get => _lifeCycles ?? (_lifeCycles = new InputList());
+ set => _lifeCycles = value;
+ }
+
+ public BackupPolicyMysqlFlexibleServerDefaultRetentionRuleGetArgs()
+ {
+ }
+ public static new BackupPolicyMysqlFlexibleServerDefaultRetentionRuleGetArgs Empty => new BackupPolicyMysqlFlexibleServerDefaultRetentionRuleGetArgs();
+ }
+}
diff --git a/sdk/dotnet/DataProtection/Inputs/BackupPolicyMysqlFlexibleServerDefaultRetentionRuleLifeCycleArgs.cs b/sdk/dotnet/DataProtection/Inputs/BackupPolicyMysqlFlexibleServerDefaultRetentionRuleLifeCycleArgs.cs
new file mode 100644
index 0000000000..9c40ea94e1
--- /dev/null
+++ b/sdk/dotnet/DataProtection/Inputs/BackupPolicyMysqlFlexibleServerDefaultRetentionRuleLifeCycleArgs.cs
@@ -0,0 +1,32 @@
+// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
+// *** 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.Azure.DataProtection.Inputs
+{
+
+ public sealed class BackupPolicyMysqlFlexibleServerDefaultRetentionRuleLifeCycleArgs : global::Pulumi.ResourceArgs
+ {
+ ///
+ /// The type of data store. The only possible value is `VaultStore`. Changing this forces a new resource to be created.
+ ///
+ [Input("dataStoreType", required: true)]
+ public Input DataStoreType { get; set; } = null!;
+
+ ///
+ /// The retention duration up to which the backups are to be retained in the data stores. It should follow `ISO 8601` duration format. Changing this forces a new resource to be created.
+ ///
+ [Input("duration", required: true)]
+ public Input Duration { get; set; } = null!;
+
+ public BackupPolicyMysqlFlexibleServerDefaultRetentionRuleLifeCycleArgs()
+ {
+ }
+ public static new BackupPolicyMysqlFlexibleServerDefaultRetentionRuleLifeCycleArgs Empty => new BackupPolicyMysqlFlexibleServerDefaultRetentionRuleLifeCycleArgs();
+ }
+}
diff --git a/sdk/dotnet/DataProtection/Inputs/BackupPolicyMysqlFlexibleServerDefaultRetentionRuleLifeCycleGetArgs.cs b/sdk/dotnet/DataProtection/Inputs/BackupPolicyMysqlFlexibleServerDefaultRetentionRuleLifeCycleGetArgs.cs
new file mode 100644
index 0000000000..9d80e73c06
--- /dev/null
+++ b/sdk/dotnet/DataProtection/Inputs/BackupPolicyMysqlFlexibleServerDefaultRetentionRuleLifeCycleGetArgs.cs
@@ -0,0 +1,32 @@
+// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
+// *** 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.Azure.DataProtection.Inputs
+{
+
+ public sealed class BackupPolicyMysqlFlexibleServerDefaultRetentionRuleLifeCycleGetArgs : global::Pulumi.ResourceArgs
+ {
+ ///
+ /// The type of data store. The only possible value is `VaultStore`. Changing this forces a new resource to be created.
+ ///
+ [Input("dataStoreType", required: true)]
+ public Input DataStoreType { get; set; } = null!;
+
+ ///
+ /// The retention duration up to which the backups are to be retained in the data stores. It should follow `ISO 8601` duration format. Changing this forces a new resource to be created.
+ ///
+ [Input("duration", required: true)]
+ public Input Duration { get; set; } = null!;
+
+ public BackupPolicyMysqlFlexibleServerDefaultRetentionRuleLifeCycleGetArgs()
+ {
+ }
+ public static new BackupPolicyMysqlFlexibleServerDefaultRetentionRuleLifeCycleGetArgs Empty => new BackupPolicyMysqlFlexibleServerDefaultRetentionRuleLifeCycleGetArgs();
+ }
+}
diff --git a/sdk/dotnet/DataProtection/Inputs/BackupPolicyMysqlFlexibleServerRetentionRuleArgs.cs b/sdk/dotnet/DataProtection/Inputs/BackupPolicyMysqlFlexibleServerRetentionRuleArgs.cs
new file mode 100644
index 0000000000..536eec7827
--- /dev/null
+++ b/sdk/dotnet/DataProtection/Inputs/BackupPolicyMysqlFlexibleServerRetentionRuleArgs.cs
@@ -0,0 +1,50 @@
+// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
+// *** 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.Azure.DataProtection.Inputs
+{
+
+ public sealed class BackupPolicyMysqlFlexibleServerRetentionRuleArgs : global::Pulumi.ResourceArgs
+ {
+ ///
+ /// A `criteria` block as defined below. Changing this forces a new resource to be created.
+ ///
+ [Input("criteria", required: true)]
+ public Input Criteria { get; set; } = null!;
+
+ [Input("lifeCycles", required: true)]
+ private InputList? _lifeCycles;
+
+ ///
+ /// A `life_cycle` block as defined below. Changing this forces a new resource to be created.
+ ///
+ public InputList LifeCycles
+ {
+ get => _lifeCycles ?? (_lifeCycles = new InputList());
+ set => _lifeCycles = value;
+ }
+
+ ///
+ /// Specifies the name of the retention rule. Changing this forces a new resource to be created.
+ ///
+ [Input("name", required: true)]
+ public Input Name { get; set; } = null!;
+
+ ///
+ /// Specifies the priority of the rule. The priority number must be unique for each rule. The lower the priority number, the higher the priority of the rule. Changing this forces a new resource to be created.
+ ///
+ [Input("priority", required: true)]
+ public Input Priority { get; set; } = null!;
+
+ public BackupPolicyMysqlFlexibleServerRetentionRuleArgs()
+ {
+ }
+ public static new BackupPolicyMysqlFlexibleServerRetentionRuleArgs Empty => new BackupPolicyMysqlFlexibleServerRetentionRuleArgs();
+ }
+}
diff --git a/sdk/dotnet/DataProtection/Inputs/BackupPolicyMysqlFlexibleServerRetentionRuleCriteriaArgs.cs b/sdk/dotnet/DataProtection/Inputs/BackupPolicyMysqlFlexibleServerRetentionRuleCriteriaArgs.cs
new file mode 100644
index 0000000000..26b9727064
--- /dev/null
+++ b/sdk/dotnet/DataProtection/Inputs/BackupPolicyMysqlFlexibleServerRetentionRuleCriteriaArgs.cs
@@ -0,0 +1,74 @@
+// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
+// *** 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.Azure.DataProtection.Inputs
+{
+
+ public sealed class BackupPolicyMysqlFlexibleServerRetentionRuleCriteriaArgs : global::Pulumi.ResourceArgs
+ {
+ ///
+ /// Possible values are `AllBackup`, `FirstOfDay`, `FirstOfWeek`, `FirstOfMonth` and `FirstOfYear`. These values mean the first successful backup of the day/week/month/year. Changing this forces a new resource to be created.
+ ///
+ [Input("absoluteCriteria")]
+ public Input? AbsoluteCriteria { get; set; }
+
+ [Input("daysOfWeeks")]
+ private InputList? _daysOfWeeks;
+
+ ///
+ /// Possible values are `Monday`, `Tuesday`, `Thursday`, `Friday`, `Saturday` and `Sunday`. Changing this forces a new resource to be created.
+ ///
+ public InputList DaysOfWeeks
+ {
+ get => _daysOfWeeks ?? (_daysOfWeeks = new InputList());
+ set => _daysOfWeeks = value;
+ }
+
+ [Input("monthsOfYears")]
+ private InputList? _monthsOfYears;
+
+ ///
+ /// Possible values are `January`, `February`, `March`, `April`, `May`, `June`, `July`, `August`, `September`, `October`, `November` and `December`. Changing this forces a new resource to be created.
+ ///
+ public InputList MonthsOfYears
+ {
+ get => _monthsOfYears ?? (_monthsOfYears = new InputList());
+ set => _monthsOfYears = value;
+ }
+
+ [Input("scheduledBackupTimes")]
+ private InputList? _scheduledBackupTimes;
+
+ ///
+ /// Specifies a list of backup times for backup in the `RFC3339` format. Changing this forces a new resource to be created.
+ ///
+ public InputList ScheduledBackupTimes
+ {
+ get => _scheduledBackupTimes ?? (_scheduledBackupTimes = new InputList());
+ set => _scheduledBackupTimes = value;
+ }
+
+ [Input("weeksOfMonths")]
+ private InputList? _weeksOfMonths;
+
+ ///
+ /// Possible values are `First`, `Second`, `Third`, `Fourth` and `Last`. Changing this forces a new resource to be created.
+ ///
+ public InputList WeeksOfMonths
+ {
+ get => _weeksOfMonths ?? (_weeksOfMonths = new InputList());
+ set => _weeksOfMonths = value;
+ }
+
+ public BackupPolicyMysqlFlexibleServerRetentionRuleCriteriaArgs()
+ {
+ }
+ public static new BackupPolicyMysqlFlexibleServerRetentionRuleCriteriaArgs Empty => new BackupPolicyMysqlFlexibleServerRetentionRuleCriteriaArgs();
+ }
+}
diff --git a/sdk/dotnet/DataProtection/Inputs/BackupPolicyMysqlFlexibleServerRetentionRuleCriteriaGetArgs.cs b/sdk/dotnet/DataProtection/Inputs/BackupPolicyMysqlFlexibleServerRetentionRuleCriteriaGetArgs.cs
new file mode 100644
index 0000000000..35c741b245
--- /dev/null
+++ b/sdk/dotnet/DataProtection/Inputs/BackupPolicyMysqlFlexibleServerRetentionRuleCriteriaGetArgs.cs
@@ -0,0 +1,74 @@
+// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
+// *** 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.Azure.DataProtection.Inputs
+{
+
+ public sealed class BackupPolicyMysqlFlexibleServerRetentionRuleCriteriaGetArgs : global::Pulumi.ResourceArgs
+ {
+ ///
+ /// Possible values are `AllBackup`, `FirstOfDay`, `FirstOfWeek`, `FirstOfMonth` and `FirstOfYear`. These values mean the first successful backup of the day/week/month/year. Changing this forces a new resource to be created.
+ ///
+ [Input("absoluteCriteria")]
+ public Input? AbsoluteCriteria { get; set; }
+
+ [Input("daysOfWeeks")]
+ private InputList? _daysOfWeeks;
+
+ ///
+ /// Possible values are `Monday`, `Tuesday`, `Thursday`, `Friday`, `Saturday` and `Sunday`. Changing this forces a new resource to be created.
+ ///
+ public InputList DaysOfWeeks
+ {
+ get => _daysOfWeeks ?? (_daysOfWeeks = new InputList());
+ set => _daysOfWeeks = value;
+ }
+
+ [Input("monthsOfYears")]
+ private InputList? _monthsOfYears;
+
+ ///
+ /// Possible values are `January`, `February`, `March`, `April`, `May`, `June`, `July`, `August`, `September`, `October`, `November` and `December`. Changing this forces a new resource to be created.
+ ///
+ public InputList MonthsOfYears
+ {
+ get => _monthsOfYears ?? (_monthsOfYears = new InputList());
+ set => _monthsOfYears = value;
+ }
+
+ [Input("scheduledBackupTimes")]
+ private InputList? _scheduledBackupTimes;
+
+ ///
+ /// Specifies a list of backup times for backup in the `RFC3339` format. Changing this forces a new resource to be created.
+ ///
+ public InputList ScheduledBackupTimes
+ {
+ get => _scheduledBackupTimes ?? (_scheduledBackupTimes = new InputList());
+ set => _scheduledBackupTimes = value;
+ }
+
+ [Input("weeksOfMonths")]
+ private InputList? _weeksOfMonths;
+
+ ///
+ /// Possible values are `First`, `Second`, `Third`, `Fourth` and `Last`. Changing this forces a new resource to be created.
+ ///
+ public InputList WeeksOfMonths
+ {
+ get => _weeksOfMonths ?? (_weeksOfMonths = new InputList());
+ set => _weeksOfMonths = value;
+ }
+
+ public BackupPolicyMysqlFlexibleServerRetentionRuleCriteriaGetArgs()
+ {
+ }
+ public static new BackupPolicyMysqlFlexibleServerRetentionRuleCriteriaGetArgs Empty => new BackupPolicyMysqlFlexibleServerRetentionRuleCriteriaGetArgs();
+ }
+}
diff --git a/sdk/dotnet/DataProtection/Inputs/BackupPolicyMysqlFlexibleServerRetentionRuleGetArgs.cs b/sdk/dotnet/DataProtection/Inputs/BackupPolicyMysqlFlexibleServerRetentionRuleGetArgs.cs
new file mode 100644
index 0000000000..1f2f1ae623
--- /dev/null
+++ b/sdk/dotnet/DataProtection/Inputs/BackupPolicyMysqlFlexibleServerRetentionRuleGetArgs.cs
@@ -0,0 +1,50 @@
+// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
+// *** 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.Azure.DataProtection.Inputs
+{
+
+ public sealed class BackupPolicyMysqlFlexibleServerRetentionRuleGetArgs : global::Pulumi.ResourceArgs
+ {
+ ///
+ /// A `criteria` block as defined below. Changing this forces a new resource to be created.
+ ///
+ [Input("criteria", required: true)]
+ public Input Criteria { get; set; } = null!;
+
+ [Input("lifeCycles", required: true)]
+ private InputList? _lifeCycles;
+
+ ///
+ /// A `life_cycle` block as defined below. Changing this forces a new resource to be created.
+ ///
+ public InputList LifeCycles
+ {
+ get => _lifeCycles ?? (_lifeCycles = new InputList());
+ set => _lifeCycles = value;
+ }
+
+ ///
+ /// Specifies the name of the retention rule. Changing this forces a new resource to be created.
+ ///
+ [Input("name", required: true)]
+ public Input Name { get; set; } = null!;
+
+ ///
+ /// Specifies the priority of the rule. The priority number must be unique for each rule. The lower the priority number, the higher the priority of the rule. Changing this forces a new resource to be created.
+ ///
+ [Input("priority", required: true)]
+ public Input Priority { get; set; } = null!;
+
+ public BackupPolicyMysqlFlexibleServerRetentionRuleGetArgs()
+ {
+ }
+ public static new BackupPolicyMysqlFlexibleServerRetentionRuleGetArgs Empty => new BackupPolicyMysqlFlexibleServerRetentionRuleGetArgs();
+ }
+}
diff --git a/sdk/dotnet/DataProtection/Inputs/BackupPolicyMysqlFlexibleServerRetentionRuleLifeCycleArgs.cs b/sdk/dotnet/DataProtection/Inputs/BackupPolicyMysqlFlexibleServerRetentionRuleLifeCycleArgs.cs
new file mode 100644
index 0000000000..390a06d10c
--- /dev/null
+++ b/sdk/dotnet/DataProtection/Inputs/BackupPolicyMysqlFlexibleServerRetentionRuleLifeCycleArgs.cs
@@ -0,0 +1,32 @@
+// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
+// *** 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.Azure.DataProtection.Inputs
+{
+
+ public sealed class BackupPolicyMysqlFlexibleServerRetentionRuleLifeCycleArgs : global::Pulumi.ResourceArgs
+ {
+ ///
+ /// The type of data store. The only possible value is `VaultStore`. Changing this forces a new resource to be created.
+ ///
+ [Input("dataStoreType", required: true)]
+ public Input DataStoreType { get; set; } = null!;
+
+ ///
+ /// The retention duration up to which the backups are to be retained in the data stores. It should follow `ISO 8601` duration format. Changing this forces a new resource to be created.
+ ///
+ [Input("duration", required: true)]
+ public Input Duration { get; set; } = null!;
+
+ public BackupPolicyMysqlFlexibleServerRetentionRuleLifeCycleArgs()
+ {
+ }
+ public static new BackupPolicyMysqlFlexibleServerRetentionRuleLifeCycleArgs Empty => new BackupPolicyMysqlFlexibleServerRetentionRuleLifeCycleArgs();
+ }
+}
diff --git a/sdk/dotnet/DataProtection/Inputs/BackupPolicyMysqlFlexibleServerRetentionRuleLifeCycleGetArgs.cs b/sdk/dotnet/DataProtection/Inputs/BackupPolicyMysqlFlexibleServerRetentionRuleLifeCycleGetArgs.cs
new file mode 100644
index 0000000000..5985b74182
--- /dev/null
+++ b/sdk/dotnet/DataProtection/Inputs/BackupPolicyMysqlFlexibleServerRetentionRuleLifeCycleGetArgs.cs
@@ -0,0 +1,32 @@
+// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
+// *** 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.Azure.DataProtection.Inputs
+{
+
+ public sealed class BackupPolicyMysqlFlexibleServerRetentionRuleLifeCycleGetArgs : global::Pulumi.ResourceArgs
+ {
+ ///
+ /// The type of data store. The only possible value is `VaultStore`. Changing this forces a new resource to be created.
+ ///
+ [Input("dataStoreType", required: true)]
+ public Input DataStoreType { get; set; } = null!;
+
+ ///
+ /// The retention duration up to which the backups are to be retained in the data stores. It should follow `ISO 8601` duration format. Changing this forces a new resource to be created.
+ ///
+ [Input("duration", required: true)]
+ public Input Duration { get; set; } = null!;
+
+ public BackupPolicyMysqlFlexibleServerRetentionRuleLifeCycleGetArgs()
+ {
+ }
+ public static new BackupPolicyMysqlFlexibleServerRetentionRuleLifeCycleGetArgs Empty => new BackupPolicyMysqlFlexibleServerRetentionRuleLifeCycleGetArgs();
+ }
+}
diff --git a/sdk/dotnet/DataProtection/Outputs/BackupPolicyMysqlFlexibleServerDefaultRetentionRule.cs b/sdk/dotnet/DataProtection/Outputs/BackupPolicyMysqlFlexibleServerDefaultRetentionRule.cs
new file mode 100644
index 0000000000..963bc7305f
--- /dev/null
+++ b/sdk/dotnet/DataProtection/Outputs/BackupPolicyMysqlFlexibleServerDefaultRetentionRule.cs
@@ -0,0 +1,27 @@
+// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
+// *** 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.Azure.DataProtection.Outputs
+{
+
+ [OutputType]
+ public sealed class BackupPolicyMysqlFlexibleServerDefaultRetentionRule
+ {
+ ///
+ /// A `life_cycle` block as defined below. Changing this forces a new resource to be created.
+ ///
+ public readonly ImmutableArray LifeCycles;
+
+ [OutputConstructor]
+ private BackupPolicyMysqlFlexibleServerDefaultRetentionRule(ImmutableArray lifeCycles)
+ {
+ LifeCycles = lifeCycles;
+ }
+ }
+}
diff --git a/sdk/dotnet/DataProtection/Outputs/BackupPolicyMysqlFlexibleServerDefaultRetentionRuleLifeCycle.cs b/sdk/dotnet/DataProtection/Outputs/BackupPolicyMysqlFlexibleServerDefaultRetentionRuleLifeCycle.cs
new file mode 100644
index 0000000000..893071fca9
--- /dev/null
+++ b/sdk/dotnet/DataProtection/Outputs/BackupPolicyMysqlFlexibleServerDefaultRetentionRuleLifeCycle.cs
@@ -0,0 +1,35 @@
+// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
+// *** 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.Azure.DataProtection.Outputs
+{
+
+ [OutputType]
+ public sealed class BackupPolicyMysqlFlexibleServerDefaultRetentionRuleLifeCycle
+ {
+ ///
+ /// The type of data store. The only possible value is `VaultStore`. Changing this forces a new resource to be created.
+ ///
+ public readonly string DataStoreType;
+ ///
+ /// The retention duration up to which the backups are to be retained in the data stores. It should follow `ISO 8601` duration format. Changing this forces a new resource to be created.
+ ///
+ public readonly string Duration;
+
+ [OutputConstructor]
+ private BackupPolicyMysqlFlexibleServerDefaultRetentionRuleLifeCycle(
+ string dataStoreType,
+
+ string duration)
+ {
+ DataStoreType = dataStoreType;
+ Duration = duration;
+ }
+ }
+}
diff --git a/sdk/dotnet/DataProtection/Outputs/BackupPolicyMysqlFlexibleServerRetentionRule.cs b/sdk/dotnet/DataProtection/Outputs/BackupPolicyMysqlFlexibleServerRetentionRule.cs
new file mode 100644
index 0000000000..8efc018d78
--- /dev/null
+++ b/sdk/dotnet/DataProtection/Outputs/BackupPolicyMysqlFlexibleServerRetentionRule.cs
@@ -0,0 +1,49 @@
+// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
+// *** 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.Azure.DataProtection.Outputs
+{
+
+ [OutputType]
+ public sealed class BackupPolicyMysqlFlexibleServerRetentionRule
+ {
+ ///
+ /// A `criteria` block as defined below. Changing this forces a new resource to be created.
+ ///
+ public readonly Outputs.BackupPolicyMysqlFlexibleServerRetentionRuleCriteria Criteria;
+ ///
+ /// A `life_cycle` block as defined below. Changing this forces a new resource to be created.
+ ///
+ public readonly ImmutableArray LifeCycles;
+ ///
+ /// Specifies the name of the retention rule. Changing this forces a new resource to be created.
+ ///
+ public readonly string Name;
+ ///
+ /// Specifies the priority of the rule. The priority number must be unique for each rule. The lower the priority number, the higher the priority of the rule. Changing this forces a new resource to be created.
+ ///
+ public readonly int Priority;
+
+ [OutputConstructor]
+ private BackupPolicyMysqlFlexibleServerRetentionRule(
+ Outputs.BackupPolicyMysqlFlexibleServerRetentionRuleCriteria criteria,
+
+ ImmutableArray lifeCycles,
+
+ string name,
+
+ int priority)
+ {
+ Criteria = criteria;
+ LifeCycles = lifeCycles;
+ Name = name;
+ Priority = priority;
+ }
+ }
+}
diff --git a/sdk/dotnet/DataProtection/Outputs/BackupPolicyMysqlFlexibleServerRetentionRuleCriteria.cs b/sdk/dotnet/DataProtection/Outputs/BackupPolicyMysqlFlexibleServerRetentionRuleCriteria.cs
new file mode 100644
index 0000000000..b29cd148b5
--- /dev/null
+++ b/sdk/dotnet/DataProtection/Outputs/BackupPolicyMysqlFlexibleServerRetentionRuleCriteria.cs
@@ -0,0 +1,56 @@
+// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
+// *** 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.Azure.DataProtection.Outputs
+{
+
+ [OutputType]
+ public sealed class BackupPolicyMysqlFlexibleServerRetentionRuleCriteria
+ {
+ ///
+ /// Possible values are `AllBackup`, `FirstOfDay`, `FirstOfWeek`, `FirstOfMonth` and `FirstOfYear`. These values mean the first successful backup of the day/week/month/year. Changing this forces a new resource to be created.
+ ///
+ public readonly string? AbsoluteCriteria;
+ ///
+ /// Possible values are `Monday`, `Tuesday`, `Thursday`, `Friday`, `Saturday` and `Sunday`. Changing this forces a new resource to be created.
+ ///
+ public readonly ImmutableArray DaysOfWeeks;
+ ///
+ /// Possible values are `January`, `February`, `March`, `April`, `May`, `June`, `July`, `August`, `September`, `October`, `November` and `December`. Changing this forces a new resource to be created.
+ ///
+ public readonly ImmutableArray MonthsOfYears;
+ ///
+ /// Specifies a list of backup times for backup in the `RFC3339` format. Changing this forces a new resource to be created.
+ ///
+ public readonly ImmutableArray ScheduledBackupTimes;
+ ///
+ /// Possible values are `First`, `Second`, `Third`, `Fourth` and `Last`. Changing this forces a new resource to be created.
+ ///
+ public readonly ImmutableArray WeeksOfMonths;
+
+ [OutputConstructor]
+ private BackupPolicyMysqlFlexibleServerRetentionRuleCriteria(
+ string? absoluteCriteria,
+
+ ImmutableArray daysOfWeeks,
+
+ ImmutableArray monthsOfYears,
+
+ ImmutableArray scheduledBackupTimes,
+
+ ImmutableArray weeksOfMonths)
+ {
+ AbsoluteCriteria = absoluteCriteria;
+ DaysOfWeeks = daysOfWeeks;
+ MonthsOfYears = monthsOfYears;
+ ScheduledBackupTimes = scheduledBackupTimes;
+ WeeksOfMonths = weeksOfMonths;
+ }
+ }
+}
diff --git a/sdk/dotnet/DataProtection/Outputs/BackupPolicyMysqlFlexibleServerRetentionRuleLifeCycle.cs b/sdk/dotnet/DataProtection/Outputs/BackupPolicyMysqlFlexibleServerRetentionRuleLifeCycle.cs
new file mode 100644
index 0000000000..9d19978490
--- /dev/null
+++ b/sdk/dotnet/DataProtection/Outputs/BackupPolicyMysqlFlexibleServerRetentionRuleLifeCycle.cs
@@ -0,0 +1,35 @@
+// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
+// *** 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.Azure.DataProtection.Outputs
+{
+
+ [OutputType]
+ public sealed class BackupPolicyMysqlFlexibleServerRetentionRuleLifeCycle
+ {
+ ///
+ /// The type of data store. The only possible value is `VaultStore`. Changing this forces a new resource to be created.
+ ///
+ public readonly string DataStoreType;
+ ///
+ /// The retention duration up to which the backups are to be retained in the data stores. It should follow `ISO 8601` duration format. Changing this forces a new resource to be created.
+ ///
+ public readonly string Duration;
+
+ [OutputConstructor]
+ private BackupPolicyMysqlFlexibleServerRetentionRuleLifeCycle(
+ string dataStoreType,
+
+ string duration)
+ {
+ DataStoreType = dataStoreType;
+ Duration = duration;
+ }
+ }
+}
diff --git a/sdk/dotnet/KeyVault/ManagedHardwareSecurityModuleKeyRotationPolicy.cs b/sdk/dotnet/KeyVault/ManagedHardwareSecurityModuleKeyRotationPolicy.cs
new file mode 100644
index 0000000000..a52030d581
--- /dev/null
+++ b/sdk/dotnet/KeyVault/ManagedHardwareSecurityModuleKeyRotationPolicy.cs
@@ -0,0 +1,189 @@
+// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
+// *** 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.Azure.KeyVault
+{
+ ///
+ /// Manages a Managed HSM Key rotation policy.
+ ///
+ /// ## Example Usage
+ ///
+ /// ```csharp
+ /// using System.Collections.Generic;
+ /// using System.Linq;
+ /// using Pulumi;
+ /// using Azure = Pulumi.Azure;
+ ///
+ /// return await Deployment.RunAsync(() =>
+ /// {
+ /// var example = new Azure.KeyVault.ManagedHardwareSecurityModuleKey("example", new()
+ /// {
+ /// Name = "example-key",
+ /// ManagedHsmId = exampleAzurermKeyVaultManagedHardwareSecurityModule.Id,
+ /// KeyType = "EC-HSM",
+ /// Curve = "P-521",
+ /// KeyOpts = new[]
+ /// {
+ /// "sign",
+ /// },
+ /// });
+ ///
+ /// var exampleManagedHardwareSecurityModuleKeyRotationPolicy = new Azure.KeyVault.ManagedHardwareSecurityModuleKeyRotationPolicy("example", new()
+ /// {
+ /// ManagedHsmKeyId = example.Id,
+ /// ExpireAfter = "P60D",
+ /// TimeBeforeExpiry = "P30D",
+ /// });
+ ///
+ /// });
+ /// ```
+ ///
+ /// ## Import
+ ///
+ /// Managed HSM Key rotation policy can be imported using the `resource id`, e.g.
+ ///
+ /// ```sh
+ /// $ pulumi import azure:keyvault/managedHardwareSecurityModuleKeyRotationPolicy:ManagedHardwareSecurityModuleKeyRotationPolicy example https://example-hsm.managedhsm.azure.net/keys/example
+ /// ```
+ ///
+ [AzureResourceType("azure:keyvault/managedHardwareSecurityModuleKeyRotationPolicy:ManagedHardwareSecurityModuleKeyRotationPolicy")]
+ public partial class ManagedHardwareSecurityModuleKeyRotationPolicy : global::Pulumi.CustomResource
+ {
+ ///
+ /// Specify the expiration duration on a newly rotated key as an [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations). The minimum duration is `P28D`.
+ ///
+ [Output("expireAfter")]
+ public Output ExpireAfter { get; private set; } = null!;
+
+ ///
+ /// The ID of the Managed HSM Key. Changing this forces a new Managed HSM Key rotation policy to be created.
+ ///
+ [Output("managedHsmKeyId")]
+ public Output ManagedHsmKeyId { get; private set; } = null!;
+
+ ///
+ /// Rotate automatically at a duration after key creation as an [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations). Exactly one of `time_after_creation` or `time_before_expiry` should be specified.
+ ///
+ [Output("timeAfterCreation")]
+ public Output TimeAfterCreation { get; private set; } = null!;
+
+ ///
+ /// Rotate automatically at a duration before key expiry as an [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations). Exactly one of `time_after_creation` or `time_before_expiry` should be specified.
+ ///
+ [Output("timeBeforeExpiry")]
+ public Output TimeBeforeExpiry { get; private set; } = null!;
+
+
+ ///
+ /// Create a ManagedHardwareSecurityModuleKeyRotationPolicy 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 ManagedHardwareSecurityModuleKeyRotationPolicy(string name, ManagedHardwareSecurityModuleKeyRotationPolicyArgs args, CustomResourceOptions? options = null)
+ : base("azure:keyvault/managedHardwareSecurityModuleKeyRotationPolicy:ManagedHardwareSecurityModuleKeyRotationPolicy", name, args ?? new ManagedHardwareSecurityModuleKeyRotationPolicyArgs(), MakeResourceOptions(options, ""))
+ {
+ }
+
+ private ManagedHardwareSecurityModuleKeyRotationPolicy(string name, Input id, ManagedHardwareSecurityModuleKeyRotationPolicyState? state = null, CustomResourceOptions? options = null)
+ : base("azure:keyvault/managedHardwareSecurityModuleKeyRotationPolicy:ManagedHardwareSecurityModuleKeyRotationPolicy", name, state, MakeResourceOptions(options, id))
+ {
+ }
+
+ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id)
+ {
+ var defaultOptions = new CustomResourceOptions
+ {
+ Version = Utilities.Version,
+ };
+ 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 ManagedHardwareSecurityModuleKeyRotationPolicy 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.
+ /// Any extra arguments used during the lookup.
+ /// A bag of options that control this resource's behavior
+ public static ManagedHardwareSecurityModuleKeyRotationPolicy Get(string name, Input id, ManagedHardwareSecurityModuleKeyRotationPolicyState? state = null, CustomResourceOptions? options = null)
+ {
+ return new ManagedHardwareSecurityModuleKeyRotationPolicy(name, id, state, options);
+ }
+ }
+
+ public sealed class ManagedHardwareSecurityModuleKeyRotationPolicyArgs : global::Pulumi.ResourceArgs
+ {
+ ///
+ /// Specify the expiration duration on a newly rotated key as an [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations). The minimum duration is `P28D`.
+ ///
+ [Input("expireAfter", required: true)]
+ public Input ExpireAfter { get; set; } = null!;
+
+ ///
+ /// The ID of the Managed HSM Key. Changing this forces a new Managed HSM Key rotation policy to be created.
+ ///
+ [Input("managedHsmKeyId", required: true)]
+ public Input ManagedHsmKeyId { get; set; } = null!;
+
+ ///
+ /// Rotate automatically at a duration after key creation as an [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations). Exactly one of `time_after_creation` or `time_before_expiry` should be specified.
+ ///
+ [Input("timeAfterCreation")]
+ public Input? TimeAfterCreation { get; set; }
+
+ ///
+ /// Rotate automatically at a duration before key expiry as an [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations). Exactly one of `time_after_creation` or `time_before_expiry` should be specified.
+ ///
+ [Input("timeBeforeExpiry")]
+ public Input? TimeBeforeExpiry { get; set; }
+
+ public ManagedHardwareSecurityModuleKeyRotationPolicyArgs()
+ {
+ }
+ public static new ManagedHardwareSecurityModuleKeyRotationPolicyArgs Empty => new ManagedHardwareSecurityModuleKeyRotationPolicyArgs();
+ }
+
+ public sealed class ManagedHardwareSecurityModuleKeyRotationPolicyState : global::Pulumi.ResourceArgs
+ {
+ ///
+ /// Specify the expiration duration on a newly rotated key as an [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations). The minimum duration is `P28D`.
+ ///
+ [Input("expireAfter")]
+ public Input? ExpireAfter { get; set; }
+
+ ///
+ /// The ID of the Managed HSM Key. Changing this forces a new Managed HSM Key rotation policy to be created.
+ ///
+ [Input("managedHsmKeyId")]
+ public Input? ManagedHsmKeyId { get; set; }
+
+ ///
+ /// Rotate automatically at a duration after key creation as an [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations). Exactly one of `time_after_creation` or `time_before_expiry` should be specified.
+ ///
+ [Input("timeAfterCreation")]
+ public Input? TimeAfterCreation { get; set; }
+
+ ///
+ /// Rotate automatically at a duration before key expiry as an [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations). Exactly one of `time_after_creation` or `time_before_expiry` should be specified.
+ ///
+ [Input("timeBeforeExpiry")]
+ public Input? TimeBeforeExpiry { get; set; }
+
+ public ManagedHardwareSecurityModuleKeyRotationPolicyState()
+ {
+ }
+ public static new ManagedHardwareSecurityModuleKeyRotationPolicyState Empty => new ManagedHardwareSecurityModuleKeyRotationPolicyState();
+ }
+}
diff --git a/sdk/dotnet/LogAnalytics/LinkedStorageAccount.cs b/sdk/dotnet/LogAnalytics/LinkedStorageAccount.cs
index c598b23e03..83819c9c77 100644
--- a/sdk/dotnet/LogAnalytics/LinkedStorageAccount.cs
+++ b/sdk/dotnet/LogAnalytics/LinkedStorageAccount.cs
@@ -72,8 +72,6 @@ public partial class LinkedStorageAccount : global::Pulumi.CustomResource
{
///
/// The data source type which should be used for this Log Analytics Linked Storage Account. Possible values are `CustomLogs`, `AzureWatson`, `Query`, `Ingestion` and `Alerts`. Changing this forces a new Log Analytics Linked Storage Account to be created.
- ///
- /// > **Note:** The `data_source_type` is case-insensitive in current 3.x version. And in 4.0 or later versions, Case-sensitivity will be required.
///
[Output("dataSourceType")]
public Output DataSourceType { get; private set; } = null!;
@@ -144,8 +142,6 @@ public sealed class LinkedStorageAccountArgs : global::Pulumi.ResourceArgs
{
///
/// The data source type which should be used for this Log Analytics Linked Storage Account. Possible values are `CustomLogs`, `AzureWatson`, `Query`, `Ingestion` and `Alerts`. Changing this forces a new Log Analytics Linked Storage Account to be created.
- ///
- /// > **Note:** The `data_source_type` is case-insensitive in current 3.x version. And in 4.0 or later versions, Case-sensitivity will be required.
///
[Input("dataSourceType", required: true)]
public Input DataSourceType { get; set; } = null!;
@@ -184,8 +180,6 @@ public sealed class LinkedStorageAccountState : global::Pulumi.ResourceArgs
{
///
/// The data source type which should be used for this Log Analytics Linked Storage Account. Possible values are `CustomLogs`, `AzureWatson`, `Query`, `Ingestion` and `Alerts`. Changing this forces a new Log Analytics Linked Storage Account to be created.
- ///
- /// > **Note:** The `data_source_type` is case-insensitive in current 3.x version. And in 4.0 or later versions, Case-sensitivity will be required.
///
[Input("dataSourceType")]
public Input? DataSourceType { get; set; }
diff --git a/sdk/dotnet/Monitoring/AlertPrometheusRuleGroup.cs b/sdk/dotnet/Monitoring/AlertPrometheusRuleGroup.cs
index 68a18bd62b..7d763a5b5c 100644
--- a/sdk/dotnet/Monitoring/AlertPrometheusRuleGroup.cs
+++ b/sdk/dotnet/Monitoring/AlertPrometheusRuleGroup.cs
@@ -12,6 +12,120 @@ namespace Pulumi.Azure.Monitoring
///
/// Manages an Alert Management Prometheus Rule Group.
///
+ /// ## Example Usage
+ ///
+ /// ```csharp
+ /// using System.Collections.Generic;
+ /// using System.Linq;
+ /// using Pulumi;
+ /// using Azure = Pulumi.Azure;
+ ///
+ /// return await Deployment.RunAsync(() =>
+ /// {
+ /// var example = new Azure.Core.ResourceGroup("example", new()
+ /// {
+ /// Name = "example-resources",
+ /// Location = "West Europe",
+ /// });
+ ///
+ /// var exampleActionGroup = new Azure.Monitoring.ActionGroup("example", new()
+ /// {
+ /// Name = "example-mag",
+ /// ResourceGroupName = example.Name,
+ /// ShortName = "testag",
+ /// });
+ ///
+ /// var exampleWorkspace = new Azure.Monitoring.Workspace("example", new()
+ /// {
+ /// Name = "example-amw",
+ /// ResourceGroupName = example.Name,
+ /// Location = example.Location,
+ /// });
+ ///
+ /// var exampleKubernetesCluster = new Azure.ContainerService.KubernetesCluster("example", new()
+ /// {
+ /// Name = "example-cluster",
+ /// Location = example.Location,
+ /// ResourceGroupName = example.Name,
+ /// DnsPrefix = "example-aks",
+ /// DefaultNodePool = new Azure.ContainerService.Inputs.KubernetesClusterDefaultNodePoolArgs
+ /// {
+ /// Name = "default",
+ /// NodeCount = 1,
+ /// VmSize = "Standard_DS2_v2",
+ /// HostEncryptionEnabled = true,
+ /// },
+ /// Identity = new Azure.ContainerService.Inputs.KubernetesClusterIdentityArgs
+ /// {
+ /// Type = "SystemAssigned",
+ /// },
+ /// });
+ ///
+ /// var exampleAlertPrometheusRuleGroup = new Azure.Monitoring.AlertPrometheusRuleGroup("example", new()
+ /// {
+ /// Name = "example-amprg",
+ /// Location = "West Europe",
+ /// ResourceGroupName = example.Name,
+ /// ClusterName = exampleKubernetesCluster.Name,
+ /// Description = "This is the description of the following rule group",
+ /// RuleGroupEnabled = false,
+ /// Interval = "PT1M",
+ /// Scopes = new[]
+ /// {
+ /// exampleWorkspace.Id,
+ /// },
+ /// Rules = new[]
+ /// {
+ /// new Azure.Monitoring.Inputs.AlertPrometheusRuleGroupRuleArgs
+ /// {
+ /// Enabled = false,
+ /// Expression = @"histogram_quantile(0.99, sum(rate(jobs_duration_seconds_bucket{service=""billing-processing""}[5m])) by (job_type))
+ /// ",
+ /// Record = "job_type:billing_jobs_duration_seconds:99p5m",
+ /// Labels =
+ /// {
+ /// { "team", "prod" },
+ /// },
+ /// },
+ /// new Azure.Monitoring.Inputs.AlertPrometheusRuleGroupRuleArgs
+ /// {
+ /// Alert = "Billing_Processing_Very_Slow",
+ /// Enabled = true,
+ /// Expression = @"histogram_quantile(0.99, sum(rate(jobs_duration_seconds_bucket{service=""billing-processing""}[5m])) by (job_type))
+ /// ",
+ /// For = "PT5M",
+ /// Severity = 2,
+ /// Actions = new[]
+ /// {
+ /// new Azure.Monitoring.Inputs.AlertPrometheusRuleGroupRuleActionArgs
+ /// {
+ /// ActionGroupId = exampleActionGroup.Id,
+ /// },
+ /// },
+ /// AlertResolution = new Azure.Monitoring.Inputs.AlertPrometheusRuleGroupRuleAlertResolutionArgs
+ /// {
+ /// AutoResolved = true,
+ /// TimeToResolve = "PT10M",
+ /// },
+ /// Annotations =
+ /// {
+ /// { "annotationName", "annotationValue" },
+ /// },
+ /// Labels =
+ /// {
+ /// { "team", "prod" },
+ /// },
+ /// },
+ /// },
+ /// Tags =
+ /// {
+ /// { "key", "value" },
+ /// },
+ /// });
+ ///
+ /// });
+ /// ```
+ ///
/// ## Import
///
/// Alert Management Prometheus Rule Group can be imported using the `resource id`, e.g.
diff --git a/sdk/dotnet/Network/GetVpnServerConfiguration.cs b/sdk/dotnet/Network/GetVpnServerConfiguration.cs
new file mode 100644
index 0000000000..61c757fad7
--- /dev/null
+++ b/sdk/dotnet/Network/GetVpnServerConfiguration.cs
@@ -0,0 +1,204 @@
+// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
+// *** 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.Azure.Network
+{
+ public static class GetVpnServerConfiguration
+ {
+ ///
+ /// Use this data source to access information about an existing VPN Server Configuration.
+ ///
+ /// ## Example Usage
+ ///
+ /// ```csharp
+ /// using System.Collections.Generic;
+ /// using System.Linq;
+ /// using Pulumi;
+ /// using Azure = Pulumi.Azure;
+ ///
+ /// return await Deployment.RunAsync(() =>
+ /// {
+ /// var example = Azure.Network.GetVpnServerConfiguration.Invoke(new()
+ /// {
+ /// Name = "existing-local-vpn-server-configuration",
+ /// ResourceGroupName = "existing-resource-group",
+ /// });
+ ///
+ /// return new Dictionary<string, object?>
+ /// {
+ /// ["azurermVpnServerConfiguration"] = example.Apply(getVpnServerConfigurationResult => getVpnServerConfigurationResult.Id),
+ /// };
+ /// });
+ /// ```
+ ///
+ public static Task InvokeAsync(GetVpnServerConfigurationArgs args, InvokeOptions? options = null)
+ => global::Pulumi.Deployment.Instance.InvokeAsync("azure:network/getVpnServerConfiguration:getVpnServerConfiguration", args ?? new GetVpnServerConfigurationArgs(), options.WithDefaults());
+
+ ///
+ /// Use this data source to access information about an existing VPN Server Configuration.
+ ///
+ /// ## Example Usage
+ ///
+ /// ```csharp
+ /// using System.Collections.Generic;
+ /// using System.Linq;
+ /// using Pulumi;
+ /// using Azure = Pulumi.Azure;
+ ///
+ /// return await Deployment.RunAsync(() =>
+ /// {
+ /// var example = Azure.Network.GetVpnServerConfiguration.Invoke(new()
+ /// {
+ /// Name = "existing-local-vpn-server-configuration",
+ /// ResourceGroupName = "existing-resource-group",
+ /// });
+ ///
+ /// return new Dictionary<string, object?>
+ /// {
+ /// ["azurermVpnServerConfiguration"] = example.Apply(getVpnServerConfigurationResult => getVpnServerConfigurationResult.Id),
+ /// };
+ /// });
+ /// ```
+ ///
+ public static Output Invoke(GetVpnServerConfigurationInvokeArgs args, InvokeOptions? options = null)
+ => global::Pulumi.Deployment.Instance.Invoke("azure:network/getVpnServerConfiguration:getVpnServerConfiguration", args ?? new GetVpnServerConfigurationInvokeArgs(), options.WithDefaults());
+ }
+
+
+ public sealed class GetVpnServerConfigurationArgs : global::Pulumi.InvokeArgs
+ {
+ ///
+ /// The Name of the VPN Server Configuration.
+ ///
+ [Input("name", required: true)]
+ public string Name { get; set; } = null!;
+
+ ///
+ /// The name of the Resource Group where the VPN Server Configuration exists.
+ ///
+ [Input("resourceGroupName", required: true)]
+ public string ResourceGroupName { get; set; } = null!;
+
+ public GetVpnServerConfigurationArgs()
+ {
+ }
+ public static new GetVpnServerConfigurationArgs Empty => new GetVpnServerConfigurationArgs();
+ }
+
+ public sealed class GetVpnServerConfigurationInvokeArgs : global::Pulumi.InvokeArgs
+ {
+ ///
+ /// The Name of the VPN Server Configuration.
+ ///
+ [Input("name", required: true)]
+ public Input Name { get; set; } = null!;
+
+ ///
+ /// The name of the Resource Group where the VPN Server Configuration exists.
+ ///
+ [Input("resourceGroupName", required: true)]
+ public Input ResourceGroupName { get; set; } = null!;
+
+ public GetVpnServerConfigurationInvokeArgs()
+ {
+ }
+ public static new GetVpnServerConfigurationInvokeArgs Empty => new GetVpnServerConfigurationInvokeArgs();
+ }
+
+
+ [OutputType]
+ public sealed class GetVpnServerConfigurationResult
+ {
+ ///
+ /// A `azure_active_directory_authentication` block as defined below.
+ ///
+ public readonly ImmutableArray AzureActiveDirectoryAuthentications;
+ ///
+ /// One or more `client_revoked_certificate` blocks as defined below.
+ ///
+ public readonly ImmutableArray ClientRevokedCertificates;
+ ///
+ /// One or more `client_root_certificate` blocks as defined below.
+ ///
+ public readonly ImmutableArray ClientRootCertificates;
+ ///
+ /// The provider-assigned unique ID for this managed resource.
+ ///
+ public readonly string Id;
+ ///
+ /// The `bgp_settings` block as defined below.
+ ///
+ public readonly ImmutableArray IpsecPolicies;
+ ///
+ /// The Azure Region where the VPN Server Configuration exists.
+ ///
+ public readonly string Location;
+ ///
+ /// The name used to uniquely identify this certificate.
+ ///
+ public readonly string Name;
+ ///
+ /// A `radius` block as defined below.
+ ///
+ public readonly ImmutableArray Radii;
+ public readonly string ResourceGroupName;
+ ///
+ /// A mapping of tags to assign to the VPN Server Configuration.
+ ///
+ public readonly ImmutableDictionary Tags;
+ ///
+ /// The list of Authentication Types applicable for the VPN Server Configuration.
+ ///
+ public readonly ImmutableArray VpnAuthenticationTypes;
+ ///
+ /// The list of VPN Protocols to use for the VPN Server Configuration.
+ ///
+ public readonly ImmutableArray VpnProtocols;
+
+ [OutputConstructor]
+ private GetVpnServerConfigurationResult(
+ ImmutableArray azureActiveDirectoryAuthentications,
+
+ ImmutableArray clientRevokedCertificates,
+
+ ImmutableArray clientRootCertificates,
+
+ string id,
+
+ ImmutableArray ipsecPolicies,
+
+ string location,
+
+ string name,
+
+ ImmutableArray radii,
+
+ string resourceGroupName,
+
+ ImmutableDictionary tags,
+
+ ImmutableArray vpnAuthenticationTypes,
+
+ ImmutableArray vpnProtocols)
+ {
+ AzureActiveDirectoryAuthentications = azureActiveDirectoryAuthentications;
+ ClientRevokedCertificates = clientRevokedCertificates;
+ ClientRootCertificates = clientRootCertificates;
+ Id = id;
+ IpsecPolicies = ipsecPolicies;
+ Location = location;
+ Name = name;
+ Radii = radii;
+ ResourceGroupName = resourceGroupName;
+ Tags = tags;
+ VpnAuthenticationTypes = vpnAuthenticationTypes;
+ VpnProtocols = vpnProtocols;
+ }
+ }
+}
diff --git a/sdk/dotnet/Network/Outputs/GetVpnServerConfigurationAzureActiveDirectoryAuthenticationResult.cs b/sdk/dotnet/Network/Outputs/GetVpnServerConfigurationAzureActiveDirectoryAuthenticationResult.cs
new file mode 100644
index 0000000000..bea2dd52d3
--- /dev/null
+++ b/sdk/dotnet/Network/Outputs/GetVpnServerConfigurationAzureActiveDirectoryAuthenticationResult.cs
@@ -0,0 +1,42 @@
+// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
+// *** 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.Azure.Network.Outputs
+{
+
+ [OutputType]
+ public sealed class GetVpnServerConfigurationAzureActiveDirectoryAuthenticationResult
+ {
+ ///
+ /// The Audience which should be used for authentication.
+ ///
+ public readonly string Audience;
+ ///
+ /// The Issuer which should be used for authentication.
+ ///
+ public readonly string Issuer;
+ ///
+ /// The Tenant which should be used for authentication.
+ ///
+ public readonly string Tenant;
+
+ [OutputConstructor]
+ private GetVpnServerConfigurationAzureActiveDirectoryAuthenticationResult(
+ string audience,
+
+ string issuer,
+
+ string tenant)
+ {
+ Audience = audience;
+ Issuer = issuer;
+ Tenant = tenant;
+ }
+ }
+}
diff --git a/sdk/dotnet/Network/Outputs/GetVpnServerConfigurationClientRevokedCertificateResult.cs b/sdk/dotnet/Network/Outputs/GetVpnServerConfigurationClientRevokedCertificateResult.cs
new file mode 100644
index 0000000000..7982b25aaa
--- /dev/null
+++ b/sdk/dotnet/Network/Outputs/GetVpnServerConfigurationClientRevokedCertificateResult.cs
@@ -0,0 +1,35 @@
+// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
+// *** 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.Azure.Network.Outputs
+{
+
+ [OutputType]
+ public sealed class GetVpnServerConfigurationClientRevokedCertificateResult
+ {
+ ///
+ /// The Name of the VPN Server Configuration.
+ ///
+ public readonly string Name;
+ ///
+ /// The Thumbprint of the Certificate.
+ ///
+ public readonly string Thumbprint;
+
+ [OutputConstructor]
+ private GetVpnServerConfigurationClientRevokedCertificateResult(
+ string name,
+
+ string thumbprint)
+ {
+ Name = name;
+ Thumbprint = thumbprint;
+ }
+ }
+}
diff --git a/sdk/dotnet/Network/Outputs/GetVpnServerConfigurationClientRootCertificateResult.cs b/sdk/dotnet/Network/Outputs/GetVpnServerConfigurationClientRootCertificateResult.cs
new file mode 100644
index 0000000000..93ec902fae
--- /dev/null
+++ b/sdk/dotnet/Network/Outputs/GetVpnServerConfigurationClientRootCertificateResult.cs
@@ -0,0 +1,35 @@
+// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
+// *** 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.Azure.Network.Outputs
+{
+
+ [OutputType]
+ public sealed class GetVpnServerConfigurationClientRootCertificateResult
+ {
+ ///
+ /// The Name of the VPN Server Configuration.
+ ///
+ public readonly string Name;
+ ///
+ /// The Public Key Data associated with the Certificate.
+ ///
+ public readonly string PublicCertData;
+
+ [OutputConstructor]
+ private GetVpnServerConfigurationClientRootCertificateResult(
+ string name,
+
+ string publicCertData)
+ {
+ Name = name;
+ PublicCertData = publicCertData;
+ }
+ }
+}
diff --git a/sdk/dotnet/Network/Outputs/GetVpnServerConfigurationIpsecPolicyResult.cs b/sdk/dotnet/Network/Outputs/GetVpnServerConfigurationIpsecPolicyResult.cs
new file mode 100644
index 0000000000..81c5cc0cdc
--- /dev/null
+++ b/sdk/dotnet/Network/Outputs/GetVpnServerConfigurationIpsecPolicyResult.cs
@@ -0,0 +1,77 @@
+// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
+// *** 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.Azure.Network.Outputs
+{
+
+ [OutputType]
+ public sealed class GetVpnServerConfigurationIpsecPolicyResult
+ {
+ ///
+ /// The DH Group, used in IKE Phase 1.
+ ///
+ public readonly string DhGroup;
+ ///
+ /// The IKE encryption algorithm, used for IKE Phase 2.
+ ///
+ public readonly string IkeEncryption;
+ ///
+ /// The IKE encryption integrity algorithm, used for IKE Phase 2.
+ ///
+ public readonly string IkeIntegrity;
+ ///
+ /// The IPSec encryption algorithm, used for IKE phase 1.
+ ///
+ public readonly string IpsecEncryption;
+ ///
+ /// The IPSec integrity algorithm, used for IKE phase 1.
+ ///
+ public readonly string IpsecIntegrity;
+ ///
+ /// The Pfs Group, used in IKE Phase 2.
+ ///
+ public readonly string PfsGroup;
+ ///
+ /// The IPSec Security Association payload size in KB for a Site-to-Site VPN tunnel.
+ ///
+ public readonly int SaDataSizeKilobytes;
+ ///
+ /// The IPSec Security Association lifetime in seconds for a Site-to-Site VPN tunnel.
+ ///
+ public readonly int SaLifetimeSeconds;
+
+ [OutputConstructor]
+ private GetVpnServerConfigurationIpsecPolicyResult(
+ string dhGroup,
+
+ string ikeEncryption,
+
+ string ikeIntegrity,
+
+ string ipsecEncryption,
+
+ string ipsecIntegrity,
+
+ string pfsGroup,
+
+ int saDataSizeKilobytes,
+
+ int saLifetimeSeconds)
+ {
+ DhGroup = dhGroup;
+ IkeEncryption = ikeEncryption;
+ IkeIntegrity = ikeIntegrity;
+ IpsecEncryption = ipsecEncryption;
+ IpsecIntegrity = ipsecIntegrity;
+ PfsGroup = pfsGroup;
+ SaDataSizeKilobytes = saDataSizeKilobytes;
+ SaLifetimeSeconds = saLifetimeSeconds;
+ }
+ }
+}
diff --git a/sdk/dotnet/Network/Outputs/GetVpnServerConfigurationRadiusClientRootCertificateResult.cs b/sdk/dotnet/Network/Outputs/GetVpnServerConfigurationRadiusClientRootCertificateResult.cs
new file mode 100644
index 0000000000..fbb572deaf
--- /dev/null
+++ b/sdk/dotnet/Network/Outputs/GetVpnServerConfigurationRadiusClientRootCertificateResult.cs
@@ -0,0 +1,35 @@
+// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
+// *** 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.Azure.Network.Outputs
+{
+
+ [OutputType]
+ public sealed class GetVpnServerConfigurationRadiusClientRootCertificateResult
+ {
+ ///
+ /// The Name of the VPN Server Configuration.
+ ///
+ public readonly string Name;
+ ///
+ /// The Thumbprint of the Certificate.
+ ///
+ public readonly string Thumbprint;
+
+ [OutputConstructor]
+ private GetVpnServerConfigurationRadiusClientRootCertificateResult(
+ string name,
+
+ string thumbprint)
+ {
+ Name = name;
+ Thumbprint = thumbprint;
+ }
+ }
+}
diff --git a/sdk/dotnet/Network/Outputs/GetVpnServerConfigurationRadiusResult.cs b/sdk/dotnet/Network/Outputs/GetVpnServerConfigurationRadiusResult.cs
new file mode 100644
index 0000000000..b9f80c07e9
--- /dev/null
+++ b/sdk/dotnet/Network/Outputs/GetVpnServerConfigurationRadiusResult.cs
@@ -0,0 +1,42 @@
+// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
+// *** 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.Azure.Network.Outputs
+{
+
+ [OutputType]
+ public sealed class GetVpnServerConfigurationRadiusResult
+ {
+ ///
+ /// One or more `client_root_certificate` blocks as defined below.
+ ///
+ public readonly ImmutableArray ClientRootCertificates;
+ ///
+ /// One or more `server_root_certificate` blocks as defined below.
+ ///
+ public readonly ImmutableArray ServerRootCertificates;
+ ///
+ /// One or more `server` blocks as defined below.
+ ///
+ public readonly ImmutableArray Servers;
+
+ [OutputConstructor]
+ private GetVpnServerConfigurationRadiusResult(
+ ImmutableArray clientRootCertificates,
+
+ ImmutableArray serverRootCertificates,
+
+ ImmutableArray servers)
+ {
+ ClientRootCertificates = clientRootCertificates;
+ ServerRootCertificates = serverRootCertificates;
+ Servers = servers;
+ }
+ }
+}
diff --git a/sdk/dotnet/Network/Outputs/GetVpnServerConfigurationRadiusServerResult.cs b/sdk/dotnet/Network/Outputs/GetVpnServerConfigurationRadiusServerResult.cs
new file mode 100644
index 0000000000..926b79be82
--- /dev/null
+++ b/sdk/dotnet/Network/Outputs/GetVpnServerConfigurationRadiusServerResult.cs
@@ -0,0 +1,42 @@
+// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
+// *** 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.Azure.Network.Outputs
+{
+
+ [OutputType]
+ public sealed class GetVpnServerConfigurationRadiusServerResult
+ {
+ ///
+ /// The Address of the Radius Server.
+ ///
+ public readonly string Address;
+ ///
+ /// The Score of the Radius Server determines the priority of the server.
+ ///
+ public readonly int Score;
+ ///
+ /// The Secret used to communicate with the Radius Server.
+ ///
+ public readonly string Secret;
+
+ [OutputConstructor]
+ private GetVpnServerConfigurationRadiusServerResult(
+ string address,
+
+ int score,
+
+ string secret)
+ {
+ Address = address;
+ Score = score;
+ Secret = secret;
+ }
+ }
+}
diff --git a/sdk/dotnet/Network/Outputs/GetVpnServerConfigurationRadiusServerRootCertificateResult.cs b/sdk/dotnet/Network/Outputs/GetVpnServerConfigurationRadiusServerRootCertificateResult.cs
new file mode 100644
index 0000000000..48fa564e85
--- /dev/null
+++ b/sdk/dotnet/Network/Outputs/GetVpnServerConfigurationRadiusServerRootCertificateResult.cs
@@ -0,0 +1,35 @@
+// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
+// *** 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.Azure.Network.Outputs
+{
+
+ [OutputType]
+ public sealed class GetVpnServerConfigurationRadiusServerRootCertificateResult
+ {
+ ///
+ /// The Name of the VPN Server Configuration.
+ ///
+ public readonly string Name;
+ ///
+ /// The Public Key Data associated with the Certificate.
+ ///
+ public readonly string PublicCertData;
+
+ [OutputConstructor]
+ private GetVpnServerConfigurationRadiusServerRootCertificateResult(
+ string name,
+
+ string publicCertData)
+ {
+ Name = name;
+ PublicCertData = publicCertData;
+ }
+ }
+}
diff --git a/sdk/dotnet/Nginx/Deployment.cs b/sdk/dotnet/Nginx/Deployment.cs
index 1afcd04a26..8d652814fb 100644
--- a/sdk/dotnet/Nginx/Deployment.cs
+++ b/sdk/dotnet/Nginx/Deployment.cs
@@ -82,7 +82,7 @@ namespace Pulumi.Azure.Nginx
/// {
/// Name = "example-nginx",
/// ResourceGroupName = example.Name,
- /// Sku = "standard_Monthly",
+ /// Sku = "standardv2_Monthly",
/// Location = example.Location,
/// ManagedResourceGroup = "example",
/// DiagnoseSupportEnabled = true,
diff --git a/sdk/dotnet/Nginx/GetDeployment.cs b/sdk/dotnet/Nginx/GetDeployment.cs
index e510e9a3a8..8edf540960 100644
--- a/sdk/dotnet/Nginx/GetDeployment.cs
+++ b/sdk/dotnet/Nginx/GetDeployment.cs
@@ -181,7 +181,7 @@ public sealed class GetDeploymentResult
public readonly string NginxVersion;
public readonly string ResourceGroupName;
///
- /// The NGINX Deployment SKU. Possible values include `standard_Monthly`.
+ /// The NGINX Deployment SKU.
///
public readonly string Sku;
///
diff --git a/sdk/dotnet/Pim/GetRoleManagementPolicy.cs b/sdk/dotnet/Pim/GetRoleManagementPolicy.cs
index 3f2b6b57ad..7b67c40948 100644
--- a/sdk/dotnet/Pim/GetRoleManagementPolicy.cs
+++ b/sdk/dotnet/Pim/GetRoleManagementPolicy.cs
@@ -158,7 +158,7 @@ public sealed class GetRoleManagementPolicyArgs : global::Pulumi.InvokeArgs
public string RoleDefinitionId { get; set; } = null!;
///
- /// The scope to which this Role Management Policy applies. Can refer to a management group, a subscription or a resource group.
+ /// The scope to which this Role Management Policy applies. Can refer to a management group, a subscription, a resource group or a resource.
///
[Input("scope", required: true)]
public string Scope { get; set; } = null!;
@@ -178,7 +178,7 @@ public sealed class GetRoleManagementPolicyInvokeArgs : global::Pulumi.InvokeArg
public Input RoleDefinitionId { get; set; } = null!;
///
- /// The scope to which this Role Management Policy applies. Can refer to a management group, a subscription or a resource group.
+ /// The scope to which this Role Management Policy applies. Can refer to a management group, a subscription, a resource group or a resource.
///
[Input("scope", required: true)]
public Input Scope { get; set; } = null!;
diff --git a/sdk/dotnet/Pim/RoleManagementPolicy.cs b/sdk/dotnet/Pim/RoleManagementPolicy.cs
index f068709617..6b03b2f59a 100644
--- a/sdk/dotnet/Pim/RoleManagementPolicy.cs
+++ b/sdk/dotnet/Pim/RoleManagementPolicy.cs
@@ -126,7 +126,7 @@ public partial class RoleManagementPolicy : global::Pulumi.CustomResource
public Output RoleDefinitionId { get; private set; } = null!;
///
- /// The scope to which this Role Management Policy will apply. Can refer to a management group, a subscription or a resource group. Changing this forces a new resource to be created.
+ /// The scope to which this Role Management Policy will apply. Can refer to a management group, a subscription, a resource group or a resource. Changing this forces a new resource to be created.
///
[Output("scope")]
public Output Scope { get; private set; } = null!;
@@ -208,7 +208,7 @@ public sealed class RoleManagementPolicyArgs : global::Pulumi.ResourceArgs
public Input RoleDefinitionId { get; set; } = null!;
///
- /// The scope to which this Role Management Policy will apply. Can refer to a management group, a subscription or a resource group. Changing this forces a new resource to be created.
+ /// The scope to which this Role Management Policy will apply. Can refer to a management group, a subscription, a resource group or a resource. Changing this forces a new resource to be created.
///
[Input("scope", required: true)]
public Input Scope { get; set; } = null!;
@@ -264,7 +264,7 @@ public sealed class RoleManagementPolicyState : global::Pulumi.ResourceArgs
public Input? RoleDefinitionId { get; set; }
///
- /// The scope to which this Role Management Policy will apply. Can refer to a management group, a subscription or a resource group. Changing this forces a new resource to be created.
+ /// The scope to which this Role Management Policy will apply. Can refer to a management group, a subscription, a resource group or a resource. Changing this forces a new resource to be created.
///
[Input("scope")]
public Input? Scope { get; set; }
diff --git a/sdk/dotnet/Sentinel/ThreatIntelligenceIndicator.cs b/sdk/dotnet/Sentinel/ThreatIntelligenceIndicator.cs
index 0259660039..3643f6967d 100644
--- a/sdk/dotnet/Sentinel/ThreatIntelligenceIndicator.cs
+++ b/sdk/dotnet/Sentinel/ThreatIntelligenceIndicator.cs
@@ -12,6 +12,49 @@ namespace Pulumi.Azure.Sentinel
///
/// Manages a Sentinel Threat Intelligence Indicator.
///
+ /// ## Example Usage
+ ///
+ /// ```csharp
+ /// using System.Collections.Generic;
+ /// using System.Linq;
+ /// using Pulumi;
+ /// using Azure = Pulumi.Azure;
+ ///
+ /// return await Deployment.RunAsync(() =>
+ /// {
+ /// var example = new Azure.Core.ResourceGroup("example", new()
+ /// {
+ /// Name = "example-rg",
+ /// Location = "east us",
+ /// });
+ ///
+ /// var exampleAnalyticsWorkspace = new Azure.OperationalInsights.AnalyticsWorkspace("example", new()
+ /// {
+ /// Name = "example-law",
+ /// Location = example.Location,
+ /// ResourceGroupName = example.Name,
+ /// Sku = "PerGB2018",
+ /// RetentionInDays = 30,
+ /// });
+ ///
+ /// var exampleLogAnalyticsWorkspaceOnboarding = new Azure.Sentinel.LogAnalyticsWorkspaceOnboarding("example", new()
+ /// {
+ /// WorkspaceId = exampleAnalyticsWorkspace.Id,
+ /// });
+ ///
+ /// var exampleThreatIntelligenceIndicator = new Azure.Sentinel.ThreatIntelligenceIndicator("example", new()
+ /// {
+ /// WorkspaceId = exampleLogAnalyticsWorkspaceOnboarding.WorkspaceId,
+ /// PatternType = "domain-name",
+ /// Pattern = "http://example.com",
+ /// Source = "Microsoft Sentinel",
+ /// ValidateFromUtc = "2022-12-14T16:00:00Z",
+ /// DisplayName = "example-indicator",
+ /// });
+ ///
+ /// });
+ /// ```
+ ///
/// ## Import
///
/// Sentinel Threat Intelligence Indicators can be imported using the `resource id`, e.g.
diff --git a/sdk/dotnet/Stack/HciDeploymentSetting.cs b/sdk/dotnet/Stack/HciDeploymentSetting.cs
new file mode 100644
index 0000000000..28991345c8
--- /dev/null
+++ b/sdk/dotnet/Stack/HciDeploymentSetting.cs
@@ -0,0 +1,185 @@
+// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
+// *** 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.Azure.Stack
+{
+ ///
+ /// Manages a Stack HCI Deployment Setting.
+ ///
+ /// > Note: Completion of the prerequisites of deploying the Azure Stack HCI in your environment is outside the scope of this document. For more details refer to the [Azure Stack HCI deployment sequence](https://learn.microsoft.com/en-us/azure-stack/hci/deploy/deployment-introduction#deployment-sequence). If you encounter issues completing the prerequisites, we'd recommend opening a ticket with Microsoft Support.
+ ///
+ /// > Note: During the deployment process, the service will generate additional resources, including a new Arc Bridge Appliance and a Custom Location containing several Stack HCI Storage Paths. The provider will attempt to remove these resources on the deletion or recreation of `azure.stack.HciDeploymentSetting`.
+ ///
+ /// ## Import
+ ///
+ /// Stack HCI Deployment Settings can be imported using the `resource id`, e.g.
+ ///
+ /// ```sh
+ /// $ pulumi import azure:stack/hciDeploymentSetting:HciDeploymentSetting example /subscriptions/12345678-1234-9876-4563-123456789012/resourceGroups/group1/providers/Microsoft.AzureStackHCI/clusters/clus1/deploymentSettings/default
+ /// ```
+ ///
+ [AzureResourceType("azure:stack/hciDeploymentSetting:HciDeploymentSetting")]
+ public partial class HciDeploymentSetting : global::Pulumi.CustomResource
+ {
+ ///
+ /// Specifies a list of IDs of Azure ARC machine resource to be part of cluster. Changing this forces a new Stack HCI Deployment Setting to be created.
+ ///
+ [Output("arcResourceIds")]
+ public Output> ArcResourceIds { get; private set; } = null!;
+
+ ///
+ /// One or more `scale_unit` blocks as defined below. Changing this forces a new Stack HCI Deployment Setting to be created.
+ ///
+ [Output("scaleUnits")]
+ public Output> ScaleUnits { get; private set; } = null!;
+
+ ///
+ /// The ID of the Azure Stack HCI cluster. Changing this forces a new Stack HCI Deployment Setting to be created.
+ ///
+ [Output("stackHciClusterId")]
+ public Output StackHciClusterId { get; private set; } = null!;
+
+ ///
+ /// The deployment template version. The format must be a set of numbers separated by dots such as `10.0.0.0`. Changing this forces a new Stack HCI Deployment Setting to be created.
+ ///
+ [Output("version")]
+ public Output Version { get; private set; } = null!;
+
+
+ ///
+ /// Create a HciDeploymentSetting 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 HciDeploymentSetting(string name, HciDeploymentSettingArgs args, CustomResourceOptions? options = null)
+ : base("azure:stack/hciDeploymentSetting:HciDeploymentSetting", name, args ?? new HciDeploymentSettingArgs(), MakeResourceOptions(options, ""))
+ {
+ }
+
+ private HciDeploymentSetting(string name, Input id, HciDeploymentSettingState? state = null, CustomResourceOptions? options = null)
+ : base("azure:stack/hciDeploymentSetting:HciDeploymentSetting", name, state, MakeResourceOptions(options, id))
+ {
+ }
+
+ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id)
+ {
+ var defaultOptions = new CustomResourceOptions
+ {
+ Version = Utilities.Version,
+ };
+ 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 HciDeploymentSetting 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.
+ /// Any extra arguments used during the lookup.
+ /// A bag of options that control this resource's behavior
+ public static HciDeploymentSetting Get(string name, Input id, HciDeploymentSettingState? state = null, CustomResourceOptions? options = null)
+ {
+ return new HciDeploymentSetting(name, id, state, options);
+ }
+ }
+
+ public sealed class HciDeploymentSettingArgs : global::Pulumi.ResourceArgs
+ {
+ [Input("arcResourceIds", required: true)]
+ private InputList? _arcResourceIds;
+
+ ///
+ /// Specifies a list of IDs of Azure ARC machine resource to be part of cluster. Changing this forces a new Stack HCI Deployment Setting to be created.
+ ///
+ public InputList ArcResourceIds
+ {
+ get => _arcResourceIds ?? (_arcResourceIds = new InputList());
+ set => _arcResourceIds = value;
+ }
+
+ [Input("scaleUnits", required: true)]
+ private InputList? _scaleUnits;
+
+ ///
+ /// One or more `scale_unit` blocks as defined below. Changing this forces a new Stack HCI Deployment Setting to be created.
+ ///
+ public InputList ScaleUnits
+ {
+ get => _scaleUnits ?? (_scaleUnits = new InputList());
+ set => _scaleUnits = value;
+ }
+
+ ///
+ /// The ID of the Azure Stack HCI cluster. Changing this forces a new Stack HCI Deployment Setting to be created.
+ ///
+ [Input("stackHciClusterId", required: true)]
+ public Input StackHciClusterId { get; set; } = null!;
+
+ ///
+ /// The deployment template version. The format must be a set of numbers separated by dots such as `10.0.0.0`. Changing this forces a new Stack HCI Deployment Setting to be created.
+ ///
+ [Input("version", required: true)]
+ public Input Version { get; set; } = null!;
+
+ public HciDeploymentSettingArgs()
+ {
+ }
+ public static new HciDeploymentSettingArgs Empty => new HciDeploymentSettingArgs();
+ }
+
+ public sealed class HciDeploymentSettingState : global::Pulumi.ResourceArgs
+ {
+ [Input("arcResourceIds")]
+ private InputList? _arcResourceIds;
+
+ ///
+ /// Specifies a list of IDs of Azure ARC machine resource to be part of cluster. Changing this forces a new Stack HCI Deployment Setting to be created.
+ ///
+ public InputList ArcResourceIds
+ {
+ get => _arcResourceIds ?? (_arcResourceIds = new InputList());
+ set => _arcResourceIds = value;
+ }
+
+ [Input("scaleUnits")]
+ private InputList? _scaleUnits;
+
+ ///
+ /// One or more `scale_unit` blocks as defined below. Changing this forces a new Stack HCI Deployment Setting to be created.
+ ///
+ public InputList ScaleUnits
+ {
+ get => _scaleUnits ?? (_scaleUnits = new InputList());
+ set => _scaleUnits = value;
+ }
+
+ ///