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; + } + + /// + /// The ID of the Azure Stack HCI cluster. Changing this forces a new Stack HCI Deployment Setting to be created. + /// + [Input("stackHciClusterId")] + public Input? StackHciClusterId { get; set; } + + /// + /// 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")] + public Input? Version { get; set; } + + public HciDeploymentSettingState() + { + } + public static new HciDeploymentSettingState Empty => new HciDeploymentSettingState(); + } +} diff --git a/sdk/dotnet/Stack/HciStoragePath.cs b/sdk/dotnet/Stack/HciStoragePath.cs new file mode 100644 index 0000000000..d868df8f99 --- /dev/null +++ b/sdk/dotnet/Stack/HciStoragePath.cs @@ -0,0 +1,237 @@ +// *** 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 an Azure Stack HCI Storage Path. + /// + /// ## 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 = "West Europe", + /// }); + /// + /// var exampleHciStoragePath = new Azure.Stack.HciStoragePath("example", new() + /// { + /// Name = "example-sp", + /// ResourceGroupName = example.Name, + /// Location = example.Location, + /// CustomLocationId = "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ExtendedLocation/customLocations/cl1", + /// Path = "C:\\ClusterStorage\\UserStorage_2\\sp-example", + /// Tags = + /// { + /// { "foo", "bar" }, + /// }, + /// }); + /// + /// }); + /// ``` + /// + /// ## Import + /// + /// Azure Stack HCI Storage Paths can be imported using the `resource id`, e.g. + /// + /// ```sh + /// $ pulumi import azure:stack/hciStoragePath:HciStoragePath example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.AzureStackHCI/storageContainers/storage1 + /// ``` + /// + [AzureResourceType("azure:stack/hciStoragePath:HciStoragePath")] + public partial class HciStoragePath : global::Pulumi.CustomResource + { + /// + /// The ID of Custom Location where the Azure Stack HCI Storage Path should exist. Changing this forces a new resource to be created. + /// + [Output("customLocationId")] + public Output CustomLocationId { get; private set; } = null!; + + /// + /// The Azure Region where the Azure Stack HCI Storage Path should exist. Changing this forces a new resource to be created. + /// + [Output("location")] + public Output Location { get; private set; } = null!; + + /// + /// The name which should be used for this Azure Stack HCI Storage Path. Changing this forces a new resource to be created. + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + /// + /// The file path on the disk to create the Storage Path. Changing this forces a new resource to be created. + /// + [Output("path")] + public Output Path { get; private set; } = null!; + + /// + /// The name of the Resource Group where the Azure Stack HCI Storage Path should exist. Changing this forces a new resource to be created. + /// + [Output("resourceGroupName")] + public Output ResourceGroupName { get; private set; } = null!; + + /// + /// A mapping of tags which should be assigned to the Azure Stack HCI Storage Path. + /// + [Output("tags")] + public Output?> Tags { get; private set; } = null!; + + + /// + /// Create a HciStoragePath 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 HciStoragePath(string name, HciStoragePathArgs args, CustomResourceOptions? options = null) + : base("azure:stack/hciStoragePath:HciStoragePath", name, args ?? new HciStoragePathArgs(), MakeResourceOptions(options, "")) + { + } + + private HciStoragePath(string name, Input id, HciStoragePathState? state = null, CustomResourceOptions? options = null) + : base("azure:stack/hciStoragePath:HciStoragePath", 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 HciStoragePath 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 HciStoragePath Get(string name, Input id, HciStoragePathState? state = null, CustomResourceOptions? options = null) + { + return new HciStoragePath(name, id, state, options); + } + } + + public sealed class HciStoragePathArgs : global::Pulumi.ResourceArgs + { + /// + /// The ID of Custom Location where the Azure Stack HCI Storage Path should exist. Changing this forces a new resource to be created. + /// + [Input("customLocationId", required: true)] + public Input CustomLocationId { get; set; } = null!; + + /// + /// The Azure Region where the Azure Stack HCI Storage Path should exist. Changing this forces a new resource to be created. + /// + [Input("location")] + public Input? Location { get; set; } + + /// + /// The name which should be used for this Azure Stack HCI Storage Path. Changing this forces a new resource to be created. + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// The file path on the disk to create the Storage Path. Changing this forces a new resource to be created. + /// + [Input("path", required: true)] + public Input Path { get; set; } = null!; + + /// + /// The name of the Resource Group where the Azure Stack HCI Storage Path should exist. Changing this forces a new resource to be created. + /// + [Input("resourceGroupName", required: true)] + public Input ResourceGroupName { get; set; } = null!; + + [Input("tags")] + private InputMap? _tags; + + /// + /// A mapping of tags which should be assigned to the Azure Stack HCI Storage Path. + /// + public InputMap Tags + { + get => _tags ?? (_tags = new InputMap()); + set => _tags = value; + } + + public HciStoragePathArgs() + { + } + public static new HciStoragePathArgs Empty => new HciStoragePathArgs(); + } + + public sealed class HciStoragePathState : global::Pulumi.ResourceArgs + { + /// + /// The ID of Custom Location where the Azure Stack HCI Storage Path should exist. Changing this forces a new resource to be created. + /// + [Input("customLocationId")] + public Input? CustomLocationId { get; set; } + + /// + /// The Azure Region where the Azure Stack HCI Storage Path should exist. Changing this forces a new resource to be created. + /// + [Input("location")] + public Input? Location { get; set; } + + /// + /// The name which should be used for this Azure Stack HCI Storage Path. Changing this forces a new resource to be created. + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// The file path on the disk to create the Storage Path. Changing this forces a new resource to be created. + /// + [Input("path")] + public Input? Path { get; set; } + + /// + /// The name of the Resource Group where the Azure Stack HCI Storage Path should exist. Changing this forces a new resource to be created. + /// + [Input("resourceGroupName")] + public Input? ResourceGroupName { get; set; } + + [Input("tags")] + private InputMap? _tags; + + /// + /// A mapping of tags which should be assigned to the Azure Stack HCI Storage Path. + /// + public InputMap Tags + { + get => _tags ?? (_tags = new InputMap()); + set => _tags = value; + } + + public HciStoragePathState() + { + } + public static new HciStoragePathState Empty => new HciStoragePathState(); + } +} diff --git a/sdk/dotnet/Stack/Inputs/HciDeploymentSettingScaleUnitArgs.cs b/sdk/dotnet/Stack/Inputs/HciDeploymentSettingScaleUnitArgs.cs new file mode 100644 index 0000000000..cd677fa474 --- /dev/null +++ b/sdk/dotnet/Stack/Inputs/HciDeploymentSettingScaleUnitArgs.cs @@ -0,0 +1,170 @@ +// *** 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.Inputs +{ + + public sealed class HciDeploymentSettingScaleUnitArgs : global::Pulumi.ResourceArgs + { + /// + /// 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. + /// + [Input("activeDirectoryOrganizationalUnitPath", required: true)] + public Input ActiveDirectoryOrganizationalUnitPath { get; set; } = null!; + + /// + /// 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. + /// + [Input("bitlockerBootVolumeEnabled")] + public Input? BitlockerBootVolumeEnabled { get; set; } + + /// + /// 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. + /// + [Input("bitlockerDataVolumeEnabled")] + public Input? BitlockerDataVolumeEnabled { get; set; } + + /// + /// A `cluster` block as defined above. Changing this forces a new Stack HCI Deployment Setting to be created. + /// + [Input("cluster", required: true)] + public Input Cluster { get; set; } = null!; + + /// + /// 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. + /// + [Input("credentialGuardEnabled")] + public Input? CredentialGuardEnabled { get; set; } + + /// + /// Specifies the FQDN for deploying cluster. Changing this forces a new Stack HCI Deployment Setting to be created. + /// + [Input("domainFqdn", required: true)] + public Input DomainFqdn { get; set; } = null!; + + /// + /// 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. + /// + [Input("driftControlEnabled")] + public Input? DriftControlEnabled { get; set; } + + /// + /// 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. + /// + [Input("drtmProtectionEnabled")] + public Input? DrtmProtectionEnabled { get; set; } + + /// + /// 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. + /// + [Input("episodicDataUploadEnabled")] + public Input? EpisodicDataUploadEnabled { get; set; } + + /// + /// 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. + /// + [Input("euLocationEnabled")] + public Input? EuLocationEnabled { get; set; } + + /// + /// A `host_network` block as defined above. Changing this forces a new Stack HCI Deployment Setting to be created. + /// + [Input("hostNetwork", required: true)] + public Input HostNetwork { get; set; } = null!; + + /// + /// 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. + /// + [Input("hvciProtectionEnabled")] + public Input? HvciProtectionEnabled { get; set; } + + [Input("infrastructureNetworks", required: true)] + private InputList? _infrastructureNetworks; + + /// + /// One or more `infrastructure_network` blocks as defined above. Changing this forces a new Stack HCI Deployment Setting to be created. + /// + public InputList InfrastructureNetworks + { + get => _infrastructureNetworks ?? (_infrastructureNetworks = new InputList()); + set => _infrastructureNetworks = value; + } + + /// + /// 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. + /// + [Input("namePrefix", required: true)] + public Input NamePrefix { get; set; } = null!; + + /// + /// A `optional_service` block as defined above. Changing this forces a new Stack HCI Deployment Setting to be created. + /// + [Input("optionalService", required: true)] + public Input OptionalService { get; set; } = null!; + + [Input("physicalNodes", required: true)] + private InputList? _physicalNodes; + + /// + /// One or more `physical_node` blocks as defined above. Changing this forces a new Stack HCI Deployment Setting to be created. + /// + public InputList PhysicalNodes + { + get => _physicalNodes ?? (_physicalNodes = new InputList()); + set => _physicalNodes = value; + } + + /// + /// The URI to the Key Vault or secret store. Changing this forces a new Stack HCI Deployment Setting to be created. + /// + [Input("secretsLocation", required: true)] + public Input SecretsLocation { get; set; } = null!; + + /// + /// 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. + /// + [Input("sideChannelMitigationEnabled")] + public Input? SideChannelMitigationEnabled { get; set; } + + /// + /// 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. + /// + [Input("smbClusterEncryptionEnabled")] + public Input? SmbClusterEncryptionEnabled { get; set; } + + /// + /// 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. + /// + [Input("smbSigningEnabled")] + public Input? SmbSigningEnabled { get; set; } + + /// + /// A `storage` block as defined below. Changing this forces a new Stack HCI Deployment Setting to be created. + /// + [Input("storage", required: true)] + public Input Storage { get; set; } = null!; + + /// + /// 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. + /// + [Input("streamingDataClientEnabled")] + public Input? StreamingDataClientEnabled { get; set; } + + /// + /// 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. + /// + [Input("wdacEnabled")] + public Input? WdacEnabled { get; set; } + + public HciDeploymentSettingScaleUnitArgs() + { + } + public static new HciDeploymentSettingScaleUnitArgs Empty => new HciDeploymentSettingScaleUnitArgs(); + } +} diff --git a/sdk/dotnet/Stack/Inputs/HciDeploymentSettingScaleUnitClusterArgs.cs b/sdk/dotnet/Stack/Inputs/HciDeploymentSettingScaleUnitClusterArgs.cs new file mode 100644 index 0000000000..4c1c9aaa0f --- /dev/null +++ b/sdk/dotnet/Stack/Inputs/HciDeploymentSettingScaleUnitClusterArgs.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.Stack.Inputs +{ + + public sealed class HciDeploymentSettingScaleUnitClusterArgs : global::Pulumi.ResourceArgs + { + /// + /// Specifies the Azure blob service endpoint, for example, `core.windows.net`. Changing this forces a new Stack HCI Deployment Setting to be created. + /// + [Input("azureServiceEndpoint", required: true)] + public Input AzureServiceEndpoint { get; set; } = null!; + + /// + /// 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. + /// + [Input("cloudAccountName", required: true)] + public Input CloudAccountName { get; set; } = null!; + + /// + /// 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. + /// + [Input("name", required: true)] + public Input Name { get; set; } = null!; + + /// + /// 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. + /// + [Input("witnessPath", required: true)] + public Input WitnessPath { get; set; } = null!; + + /// + /// Specifies the type of the witness. Possible values are `Cloud`, `FileShare`. Changing this forces a new Stack HCI Deployment Setting to be created. + /// + [Input("witnessType", required: true)] + public Input WitnessType { get; set; } = null!; + + public HciDeploymentSettingScaleUnitClusterArgs() + { + } + public static new HciDeploymentSettingScaleUnitClusterArgs Empty => new HciDeploymentSettingScaleUnitClusterArgs(); + } +} diff --git a/sdk/dotnet/Stack/Inputs/HciDeploymentSettingScaleUnitClusterGetArgs.cs b/sdk/dotnet/Stack/Inputs/HciDeploymentSettingScaleUnitClusterGetArgs.cs new file mode 100644 index 0000000000..dcb4b72313 --- /dev/null +++ b/sdk/dotnet/Stack/Inputs/HciDeploymentSettingScaleUnitClusterGetArgs.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.Stack.Inputs +{ + + public sealed class HciDeploymentSettingScaleUnitClusterGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Specifies the Azure blob service endpoint, for example, `core.windows.net`. Changing this forces a new Stack HCI Deployment Setting to be created. + /// + [Input("azureServiceEndpoint", required: true)] + public Input AzureServiceEndpoint { get; set; } = null!; + + /// + /// 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. + /// + [Input("cloudAccountName", required: true)] + public Input CloudAccountName { get; set; } = null!; + + /// + /// 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. + /// + [Input("name", required: true)] + public Input Name { get; set; } = null!; + + /// + /// 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. + /// + [Input("witnessPath", required: true)] + public Input WitnessPath { get; set; } = null!; + + /// + /// Specifies the type of the witness. Possible values are `Cloud`, `FileShare`. Changing this forces a new Stack HCI Deployment Setting to be created. + /// + [Input("witnessType", required: true)] + public Input WitnessType { get; set; } = null!; + + public HciDeploymentSettingScaleUnitClusterGetArgs() + { + } + public static new HciDeploymentSettingScaleUnitClusterGetArgs Empty => new HciDeploymentSettingScaleUnitClusterGetArgs(); + } +} diff --git a/sdk/dotnet/Stack/Inputs/HciDeploymentSettingScaleUnitGetArgs.cs b/sdk/dotnet/Stack/Inputs/HciDeploymentSettingScaleUnitGetArgs.cs new file mode 100644 index 0000000000..81324151b9 --- /dev/null +++ b/sdk/dotnet/Stack/Inputs/HciDeploymentSettingScaleUnitGetArgs.cs @@ -0,0 +1,170 @@ +// *** 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.Inputs +{ + + public sealed class HciDeploymentSettingScaleUnitGetArgs : global::Pulumi.ResourceArgs + { + /// + /// 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. + /// + [Input("activeDirectoryOrganizationalUnitPath", required: true)] + public Input ActiveDirectoryOrganizationalUnitPath { get; set; } = null!; + + /// + /// 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. + /// + [Input("bitlockerBootVolumeEnabled")] + public Input? BitlockerBootVolumeEnabled { get; set; } + + /// + /// 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. + /// + [Input("bitlockerDataVolumeEnabled")] + public Input? BitlockerDataVolumeEnabled { get; set; } + + /// + /// A `cluster` block as defined above. Changing this forces a new Stack HCI Deployment Setting to be created. + /// + [Input("cluster", required: true)] + public Input Cluster { get; set; } = null!; + + /// + /// 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. + /// + [Input("credentialGuardEnabled")] + public Input? CredentialGuardEnabled { get; set; } + + /// + /// Specifies the FQDN for deploying cluster. Changing this forces a new Stack HCI Deployment Setting to be created. + /// + [Input("domainFqdn", required: true)] + public Input DomainFqdn { get; set; } = null!; + + /// + /// 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. + /// + [Input("driftControlEnabled")] + public Input? DriftControlEnabled { get; set; } + + /// + /// 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. + /// + [Input("drtmProtectionEnabled")] + public Input? DrtmProtectionEnabled { get; set; } + + /// + /// 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. + /// + [Input("episodicDataUploadEnabled")] + public Input? EpisodicDataUploadEnabled { get; set; } + + /// + /// 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. + /// + [Input("euLocationEnabled")] + public Input? EuLocationEnabled { get; set; } + + /// + /// A `host_network` block as defined above. Changing this forces a new Stack HCI Deployment Setting to be created. + /// + [Input("hostNetwork", required: true)] + public Input HostNetwork { get; set; } = null!; + + /// + /// 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. + /// + [Input("hvciProtectionEnabled")] + public Input? HvciProtectionEnabled { get; set; } + + [Input("infrastructureNetworks", required: true)] + private InputList? _infrastructureNetworks; + + /// + /// One or more `infrastructure_network` blocks as defined above. Changing this forces a new Stack HCI Deployment Setting to be created. + /// + public InputList InfrastructureNetworks + { + get => _infrastructureNetworks ?? (_infrastructureNetworks = new InputList()); + set => _infrastructureNetworks = value; + } + + /// + /// 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. + /// + [Input("namePrefix", required: true)] + public Input NamePrefix { get; set; } = null!; + + /// + /// A `optional_service` block as defined above. Changing this forces a new Stack HCI Deployment Setting to be created. + /// + [Input("optionalService", required: true)] + public Input OptionalService { get; set; } = null!; + + [Input("physicalNodes", required: true)] + private InputList? _physicalNodes; + + /// + /// One or more `physical_node` blocks as defined above. Changing this forces a new Stack HCI Deployment Setting to be created. + /// + public InputList PhysicalNodes + { + get => _physicalNodes ?? (_physicalNodes = new InputList()); + set => _physicalNodes = value; + } + + /// + /// The URI to the Key Vault or secret store. Changing this forces a new Stack HCI Deployment Setting to be created. + /// + [Input("secretsLocation", required: true)] + public Input SecretsLocation { get; set; } = null!; + + /// + /// 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. + /// + [Input("sideChannelMitigationEnabled")] + public Input? SideChannelMitigationEnabled { get; set; } + + /// + /// 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. + /// + [Input("smbClusterEncryptionEnabled")] + public Input? SmbClusterEncryptionEnabled { get; set; } + + /// + /// 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. + /// + [Input("smbSigningEnabled")] + public Input? SmbSigningEnabled { get; set; } + + /// + /// A `storage` block as defined below. Changing this forces a new Stack HCI Deployment Setting to be created. + /// + [Input("storage", required: true)] + public Input Storage { get; set; } = null!; + + /// + /// 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. + /// + [Input("streamingDataClientEnabled")] + public Input? StreamingDataClientEnabled { get; set; } + + /// + /// 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. + /// + [Input("wdacEnabled")] + public Input? WdacEnabled { get; set; } + + public HciDeploymentSettingScaleUnitGetArgs() + { + } + public static new HciDeploymentSettingScaleUnitGetArgs Empty => new HciDeploymentSettingScaleUnitGetArgs(); + } +} diff --git a/sdk/dotnet/Stack/Inputs/HciDeploymentSettingScaleUnitHostNetworkArgs.cs b/sdk/dotnet/Stack/Inputs/HciDeploymentSettingScaleUnitHostNetworkArgs.cs new file mode 100644 index 0000000000..01dea6e640 --- /dev/null +++ b/sdk/dotnet/Stack/Inputs/HciDeploymentSettingScaleUnitHostNetworkArgs.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.Stack.Inputs +{ + + public sealed class HciDeploymentSettingScaleUnitHostNetworkArgs : global::Pulumi.ResourceArgs + { + [Input("intents", required: true)] + private InputList? _intents; + + /// + /// One or more `intent` blocks as defined below. Changing this forces a new Stack HCI Deployment Setting to be created. + /// + public InputList Intents + { + get => _intents ?? (_intents = new InputList()); + set => _intents = value; + } + + /// + /// 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. + /// + [Input("storageAutoIpEnabled")] + public Input? StorageAutoIpEnabled { get; set; } + + /// + /// 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. + /// + [Input("storageConnectivitySwitchlessEnabled")] + public Input? StorageConnectivitySwitchlessEnabled { get; set; } + + [Input("storageNetworks", required: true)] + private InputList? _storageNetworks; + + /// + /// One or more `storage_network` blocks as defined below. Changing this forces a new Stack HCI Deployment Setting to be created. + /// + public InputList StorageNetworks + { + get => _storageNetworks ?? (_storageNetworks = new InputList()); + set => _storageNetworks = value; + } + + public HciDeploymentSettingScaleUnitHostNetworkArgs() + { + } + public static new HciDeploymentSettingScaleUnitHostNetworkArgs Empty => new HciDeploymentSettingScaleUnitHostNetworkArgs(); + } +} diff --git a/sdk/dotnet/Stack/Inputs/HciDeploymentSettingScaleUnitHostNetworkGetArgs.cs b/sdk/dotnet/Stack/Inputs/HciDeploymentSettingScaleUnitHostNetworkGetArgs.cs new file mode 100644 index 0000000000..202bb0f0b5 --- /dev/null +++ b/sdk/dotnet/Stack/Inputs/HciDeploymentSettingScaleUnitHostNetworkGetArgs.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.Stack.Inputs +{ + + public sealed class HciDeploymentSettingScaleUnitHostNetworkGetArgs : global::Pulumi.ResourceArgs + { + [Input("intents", required: true)] + private InputList? _intents; + + /// + /// One or more `intent` blocks as defined below. Changing this forces a new Stack HCI Deployment Setting to be created. + /// + public InputList Intents + { + get => _intents ?? (_intents = new InputList()); + set => _intents = value; + } + + /// + /// 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. + /// + [Input("storageAutoIpEnabled")] + public Input? StorageAutoIpEnabled { get; set; } + + /// + /// 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. + /// + [Input("storageConnectivitySwitchlessEnabled")] + public Input? StorageConnectivitySwitchlessEnabled { get; set; } + + [Input("storageNetworks", required: true)] + private InputList? _storageNetworks; + + /// + /// One or more `storage_network` blocks as defined below. Changing this forces a new Stack HCI Deployment Setting to be created. + /// + public InputList StorageNetworks + { + get => _storageNetworks ?? (_storageNetworks = new InputList()); + set => _storageNetworks = value; + } + + public HciDeploymentSettingScaleUnitHostNetworkGetArgs() + { + } + public static new HciDeploymentSettingScaleUnitHostNetworkGetArgs Empty => new HciDeploymentSettingScaleUnitHostNetworkGetArgs(); + } +} diff --git a/sdk/dotnet/Stack/Inputs/HciDeploymentSettingScaleUnitHostNetworkIntentAdapterPropertyOverrideArgs.cs b/sdk/dotnet/Stack/Inputs/HciDeploymentSettingScaleUnitHostNetworkIntentAdapterPropertyOverrideArgs.cs new file mode 100644 index 0000000000..8b01baf552 --- /dev/null +++ b/sdk/dotnet/Stack/Inputs/HciDeploymentSettingScaleUnitHostNetworkIntentAdapterPropertyOverrideArgs.cs @@ -0,0 +1,38 @@ +// *** 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.Inputs +{ + + public sealed class HciDeploymentSettingScaleUnitHostNetworkIntentAdapterPropertyOverrideArgs : global::Pulumi.ResourceArgs + { + /// + /// 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. + /// + [Input("jumboPacket")] + public Input? JumboPacket { get; set; } + + /// + /// 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. + /// + [Input("networkDirect")] + public Input? NetworkDirect { get; set; } + + /// + /// 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. + /// + [Input("networkDirectTechnology")] + public Input? NetworkDirectTechnology { get; set; } + + public HciDeploymentSettingScaleUnitHostNetworkIntentAdapterPropertyOverrideArgs() + { + } + public static new HciDeploymentSettingScaleUnitHostNetworkIntentAdapterPropertyOverrideArgs Empty => new HciDeploymentSettingScaleUnitHostNetworkIntentAdapterPropertyOverrideArgs(); + } +} diff --git a/sdk/dotnet/Stack/Inputs/HciDeploymentSettingScaleUnitHostNetworkIntentAdapterPropertyOverrideGetArgs.cs b/sdk/dotnet/Stack/Inputs/HciDeploymentSettingScaleUnitHostNetworkIntentAdapterPropertyOverrideGetArgs.cs new file mode 100644 index 0000000000..dfcb1f8f0f --- /dev/null +++ b/sdk/dotnet/Stack/Inputs/HciDeploymentSettingScaleUnitHostNetworkIntentAdapterPropertyOverrideGetArgs.cs @@ -0,0 +1,38 @@ +// *** 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.Inputs +{ + + public sealed class HciDeploymentSettingScaleUnitHostNetworkIntentAdapterPropertyOverrideGetArgs : global::Pulumi.ResourceArgs + { + /// + /// 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. + /// + [Input("jumboPacket")] + public Input? JumboPacket { get; set; } + + /// + /// 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. + /// + [Input("networkDirect")] + public Input? NetworkDirect { get; set; } + + /// + /// 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. + /// + [Input("networkDirectTechnology")] + public Input? NetworkDirectTechnology { get; set; } + + public HciDeploymentSettingScaleUnitHostNetworkIntentAdapterPropertyOverrideGetArgs() + { + } + public static new HciDeploymentSettingScaleUnitHostNetworkIntentAdapterPropertyOverrideGetArgs Empty => new HciDeploymentSettingScaleUnitHostNetworkIntentAdapterPropertyOverrideGetArgs(); + } +} diff --git a/sdk/dotnet/Stack/Inputs/HciDeploymentSettingScaleUnitHostNetworkIntentArgs.cs b/sdk/dotnet/Stack/Inputs/HciDeploymentSettingScaleUnitHostNetworkIntentArgs.cs new file mode 100644 index 0000000000..3cf17cfabe --- /dev/null +++ b/sdk/dotnet/Stack/Inputs/HciDeploymentSettingScaleUnitHostNetworkIntentArgs.cs @@ -0,0 +1,86 @@ +// *** 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.Inputs +{ + + public sealed class HciDeploymentSettingScaleUnitHostNetworkIntentArgs : global::Pulumi.ResourceArgs + { + /// + /// A `adapter_property_override` block as defined above. Changing this forces a new Stack HCI Deployment Setting to be created. + /// + [Input("adapterPropertyOverride")] + public Input? AdapterPropertyOverride { get; set; } + + /// + /// 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. + /// + [Input("adapterPropertyOverrideEnabled")] + public Input? AdapterPropertyOverrideEnabled { get; set; } + + [Input("adapters", required: true)] + private InputList? _adapters; + + /// + /// 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. + /// + public InputList Adapters + { + get => _adapters ?? (_adapters = new InputList()); + set => _adapters = value; + } + + /// + /// Specifies the name of the intent. Changing this forces a new Stack HCI Deployment Setting to be created. + /// + [Input("name", required: true)] + public Input Name { get; set; } = null!; + + /// + /// A `qos_policy_override` block as defined below. Changing this forces a new Stack HCI Deployment Setting to be created. + /// + [Input("qosPolicyOverride")] + public Input? QosPolicyOverride { get; set; } + + /// + /// 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. + /// + [Input("qosPolicyOverrideEnabled")] + public Input? QosPolicyOverrideEnabled { get; set; } + + [Input("trafficTypes", required: true)] + private InputList? _trafficTypes; + + /// + /// 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. + /// + public InputList TrafficTypes + { + get => _trafficTypes ?? (_trafficTypes = new InputList()); + set => _trafficTypes = value; + } + + /// + /// A `virtual_switch_configuration_override` block as defined below. Changing this forces a new Stack HCI Deployment Setting to be created. + /// + [Input("virtualSwitchConfigurationOverride")] + public Input? VirtualSwitchConfigurationOverride { get; set; } + + /// + /// 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. + /// + [Input("virtualSwitchConfigurationOverrideEnabled")] + public Input? VirtualSwitchConfigurationOverrideEnabled { get; set; } + + public HciDeploymentSettingScaleUnitHostNetworkIntentArgs() + { + } + public static new HciDeploymentSettingScaleUnitHostNetworkIntentArgs Empty => new HciDeploymentSettingScaleUnitHostNetworkIntentArgs(); + } +} diff --git a/sdk/dotnet/Stack/Inputs/HciDeploymentSettingScaleUnitHostNetworkIntentGetArgs.cs b/sdk/dotnet/Stack/Inputs/HciDeploymentSettingScaleUnitHostNetworkIntentGetArgs.cs new file mode 100644 index 0000000000..d99a22d860 --- /dev/null +++ b/sdk/dotnet/Stack/Inputs/HciDeploymentSettingScaleUnitHostNetworkIntentGetArgs.cs @@ -0,0 +1,86 @@ +// *** 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.Inputs +{ + + public sealed class HciDeploymentSettingScaleUnitHostNetworkIntentGetArgs : global::Pulumi.ResourceArgs + { + /// + /// A `adapter_property_override` block as defined above. Changing this forces a new Stack HCI Deployment Setting to be created. + /// + [Input("adapterPropertyOverride")] + public Input? AdapterPropertyOverride { get; set; } + + /// + /// 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. + /// + [Input("adapterPropertyOverrideEnabled")] + public Input? AdapterPropertyOverrideEnabled { get; set; } + + [Input("adapters", required: true)] + private InputList? _adapters; + + /// + /// 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. + /// + public InputList Adapters + { + get => _adapters ?? (_adapters = new InputList()); + set => _adapters = value; + } + + /// + /// Specifies the name of the intent. Changing this forces a new Stack HCI Deployment Setting to be created. + /// + [Input("name", required: true)] + public Input Name { get; set; } = null!; + + /// + /// A `qos_policy_override` block as defined below. Changing this forces a new Stack HCI Deployment Setting to be created. + /// + [Input("qosPolicyOverride")] + public Input? QosPolicyOverride { get; set; } + + /// + /// 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. + /// + [Input("qosPolicyOverrideEnabled")] + public Input? QosPolicyOverrideEnabled { get; set; } + + [Input("trafficTypes", required: true)] + private InputList? _trafficTypes; + + /// + /// 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. + /// + public InputList TrafficTypes + { + get => _trafficTypes ?? (_trafficTypes = new InputList()); + set => _trafficTypes = value; + } + + /// + /// A `virtual_switch_configuration_override` block as defined below. Changing this forces a new Stack HCI Deployment Setting to be created. + /// + [Input("virtualSwitchConfigurationOverride")] + public Input? VirtualSwitchConfigurationOverride { get; set; } + + /// + /// 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. + /// + [Input("virtualSwitchConfigurationOverrideEnabled")] + public Input? VirtualSwitchConfigurationOverrideEnabled { get; set; } + + public HciDeploymentSettingScaleUnitHostNetworkIntentGetArgs() + { + } + public static new HciDeploymentSettingScaleUnitHostNetworkIntentGetArgs Empty => new HciDeploymentSettingScaleUnitHostNetworkIntentGetArgs(); + } +} diff --git a/sdk/dotnet/Stack/Inputs/HciDeploymentSettingScaleUnitHostNetworkIntentQosPolicyOverrideArgs.cs b/sdk/dotnet/Stack/Inputs/HciDeploymentSettingScaleUnitHostNetworkIntentQosPolicyOverrideArgs.cs new file mode 100644 index 0000000000..7117d792d2 --- /dev/null +++ b/sdk/dotnet/Stack/Inputs/HciDeploymentSettingScaleUnitHostNetworkIntentQosPolicyOverrideArgs.cs @@ -0,0 +1,38 @@ +// *** 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.Inputs +{ + + public sealed class HciDeploymentSettingScaleUnitHostNetworkIntentQosPolicyOverrideArgs : global::Pulumi.ResourceArgs + { + /// + /// 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. + /// + [Input("bandwidthPercentageSmb")] + public Input? BandwidthPercentageSmb { get; set; } + + /// + /// 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. + /// + [Input("priorityValue8021ActionCluster")] + public Input? PriorityValue8021ActionCluster { get; set; } + + /// + /// 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. + /// + [Input("priorityValue8021ActionSmb")] + public Input? PriorityValue8021ActionSmb { get; set; } + + public HciDeploymentSettingScaleUnitHostNetworkIntentQosPolicyOverrideArgs() + { + } + public static new HciDeploymentSettingScaleUnitHostNetworkIntentQosPolicyOverrideArgs Empty => new HciDeploymentSettingScaleUnitHostNetworkIntentQosPolicyOverrideArgs(); + } +} diff --git a/sdk/dotnet/Stack/Inputs/HciDeploymentSettingScaleUnitHostNetworkIntentQosPolicyOverrideGetArgs.cs b/sdk/dotnet/Stack/Inputs/HciDeploymentSettingScaleUnitHostNetworkIntentQosPolicyOverrideGetArgs.cs new file mode 100644 index 0000000000..ad47a742a0 --- /dev/null +++ b/sdk/dotnet/Stack/Inputs/HciDeploymentSettingScaleUnitHostNetworkIntentQosPolicyOverrideGetArgs.cs @@ -0,0 +1,38 @@ +// *** 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.Inputs +{ + + public sealed class HciDeploymentSettingScaleUnitHostNetworkIntentQosPolicyOverrideGetArgs : global::Pulumi.ResourceArgs + { + /// + /// 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. + /// + [Input("bandwidthPercentageSmb")] + public Input? BandwidthPercentageSmb { get; set; } + + /// + /// 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. + /// + [Input("priorityValue8021ActionCluster")] + public Input? PriorityValue8021ActionCluster { get; set; } + + /// + /// 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. + /// + [Input("priorityValue8021ActionSmb")] + public Input? PriorityValue8021ActionSmb { get; set; } + + public HciDeploymentSettingScaleUnitHostNetworkIntentQosPolicyOverrideGetArgs() + { + } + public static new HciDeploymentSettingScaleUnitHostNetworkIntentQosPolicyOverrideGetArgs Empty => new HciDeploymentSettingScaleUnitHostNetworkIntentQosPolicyOverrideGetArgs(); + } +} diff --git a/sdk/dotnet/Stack/Inputs/HciDeploymentSettingScaleUnitHostNetworkIntentVirtualSwitchConfigurationOverrideArgs.cs b/sdk/dotnet/Stack/Inputs/HciDeploymentSettingScaleUnitHostNetworkIntentVirtualSwitchConfigurationOverrideArgs.cs new file mode 100644 index 0000000000..497aa49b00 --- /dev/null +++ b/sdk/dotnet/Stack/Inputs/HciDeploymentSettingScaleUnitHostNetworkIntentVirtualSwitchConfigurationOverrideArgs.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.Stack.Inputs +{ + + public sealed class HciDeploymentSettingScaleUnitHostNetworkIntentVirtualSwitchConfigurationOverrideArgs : global::Pulumi.ResourceArgs + { + /// + /// Specifies the IoV enable status for Virtual Switch. Changing this forces a new Stack HCI Deployment Setting to be created. + /// + [Input("enableIov")] + public Input? EnableIov { get; set; } + + /// + /// Specifies the load balancing algorithm for Virtual Switch. Changing this forces a new Stack HCI Deployment Setting to be created. + /// + [Input("loadBalancingAlgorithm")] + public Input? LoadBalancingAlgorithm { get; set; } + + public HciDeploymentSettingScaleUnitHostNetworkIntentVirtualSwitchConfigurationOverrideArgs() + { + } + public static new HciDeploymentSettingScaleUnitHostNetworkIntentVirtualSwitchConfigurationOverrideArgs Empty => new HciDeploymentSettingScaleUnitHostNetworkIntentVirtualSwitchConfigurationOverrideArgs(); + } +} diff --git a/sdk/dotnet/Stack/Inputs/HciDeploymentSettingScaleUnitHostNetworkIntentVirtualSwitchConfigurationOverrideGetArgs.cs b/sdk/dotnet/Stack/Inputs/HciDeploymentSettingScaleUnitHostNetworkIntentVirtualSwitchConfigurationOverrideGetArgs.cs new file mode 100644 index 0000000000..201cbb3e32 --- /dev/null +++ b/sdk/dotnet/Stack/Inputs/HciDeploymentSettingScaleUnitHostNetworkIntentVirtualSwitchConfigurationOverrideGetArgs.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.Stack.Inputs +{ + + public sealed class HciDeploymentSettingScaleUnitHostNetworkIntentVirtualSwitchConfigurationOverrideGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Specifies the IoV enable status for Virtual Switch. Changing this forces a new Stack HCI Deployment Setting to be created. + /// + [Input("enableIov")] + public Input? EnableIov { get; set; } + + /// + /// Specifies the load balancing algorithm for Virtual Switch. Changing this forces a new Stack HCI Deployment Setting to be created. + /// + [Input("loadBalancingAlgorithm")] + public Input? LoadBalancingAlgorithm { get; set; } + + public HciDeploymentSettingScaleUnitHostNetworkIntentVirtualSwitchConfigurationOverrideGetArgs() + { + } + public static new HciDeploymentSettingScaleUnitHostNetworkIntentVirtualSwitchConfigurationOverrideGetArgs Empty => new HciDeploymentSettingScaleUnitHostNetworkIntentVirtualSwitchConfigurationOverrideGetArgs(); + } +} diff --git a/sdk/dotnet/Stack/Inputs/HciDeploymentSettingScaleUnitHostNetworkStorageNetworkArgs.cs b/sdk/dotnet/Stack/Inputs/HciDeploymentSettingScaleUnitHostNetworkStorageNetworkArgs.cs new file mode 100644 index 0000000000..066d2c013c --- /dev/null +++ b/sdk/dotnet/Stack/Inputs/HciDeploymentSettingScaleUnitHostNetworkStorageNetworkArgs.cs @@ -0,0 +1,38 @@ +// *** 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.Inputs +{ + + public sealed class HciDeploymentSettingScaleUnitHostNetworkStorageNetworkArgs : global::Pulumi.ResourceArgs + { + /// + /// The name of the storage network. Changing this forces a new Stack HCI Deployment Setting to be created. + /// + [Input("name", required: true)] + public Input Name { get; set; } = null!; + + /// + /// The name of the network adapter. Changing this forces a new Stack HCI Deployment Setting to be created. + /// + [Input("networkAdapterName", required: true)] + public Input NetworkAdapterName { get; set; } = null!; + + /// + /// 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. + /// + [Input("vlanId", required: true)] + public Input VlanId { get; set; } = null!; + + public HciDeploymentSettingScaleUnitHostNetworkStorageNetworkArgs() + { + } + public static new HciDeploymentSettingScaleUnitHostNetworkStorageNetworkArgs Empty => new HciDeploymentSettingScaleUnitHostNetworkStorageNetworkArgs(); + } +} diff --git a/sdk/dotnet/Stack/Inputs/HciDeploymentSettingScaleUnitHostNetworkStorageNetworkGetArgs.cs b/sdk/dotnet/Stack/Inputs/HciDeploymentSettingScaleUnitHostNetworkStorageNetworkGetArgs.cs new file mode 100644 index 0000000000..c8ceaade77 --- /dev/null +++ b/sdk/dotnet/Stack/Inputs/HciDeploymentSettingScaleUnitHostNetworkStorageNetworkGetArgs.cs @@ -0,0 +1,38 @@ +// *** 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.Inputs +{ + + public sealed class HciDeploymentSettingScaleUnitHostNetworkStorageNetworkGetArgs : global::Pulumi.ResourceArgs + { + /// + /// The name of the storage network. Changing this forces a new Stack HCI Deployment Setting to be created. + /// + [Input("name", required: true)] + public Input Name { get; set; } = null!; + + /// + /// The name of the network adapter. Changing this forces a new Stack HCI Deployment Setting to be created. + /// + [Input("networkAdapterName", required: true)] + public Input NetworkAdapterName { get; set; } = null!; + + /// + /// 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. + /// + [Input("vlanId", required: true)] + public Input VlanId { get; set; } = null!; + + public HciDeploymentSettingScaleUnitHostNetworkStorageNetworkGetArgs() + { + } + public static new HciDeploymentSettingScaleUnitHostNetworkStorageNetworkGetArgs Empty => new HciDeploymentSettingScaleUnitHostNetworkStorageNetworkGetArgs(); + } +} diff --git a/sdk/dotnet/Stack/Inputs/HciDeploymentSettingScaleUnitInfrastructureNetworkArgs.cs b/sdk/dotnet/Stack/Inputs/HciDeploymentSettingScaleUnitInfrastructureNetworkArgs.cs new file mode 100644 index 0000000000..3c1b8de568 --- /dev/null +++ b/sdk/dotnet/Stack/Inputs/HciDeploymentSettingScaleUnitInfrastructureNetworkArgs.cs @@ -0,0 +1,64 @@ +// *** 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.Inputs +{ + + public sealed class HciDeploymentSettingScaleUnitInfrastructureNetworkArgs : global::Pulumi.ResourceArgs + { + /// + /// 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. + /// + /// > **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. + /// + [Input("dhcpEnabled")] + public Input? DhcpEnabled { get; set; } + + [Input("dnsServers", required: true)] + private InputList? _dnsServers; + + /// + /// 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. + /// + public InputList DnsServers + { + get => _dnsServers ?? (_dnsServers = new InputList()); + set => _dnsServers = value; + } + + /// + /// 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. + /// + [Input("gateway", required: true)] + public Input Gateway { get; set; } = null!; + + [Input("ipPools", required: true)] + private InputList? _ipPools; + + /// + /// One or more `ip_pool` blocks as defined below. Changing this forces a new Stack HCI Deployment Setting to be created. + /// + public InputList IpPools + { + get => _ipPools ?? (_ipPools = new InputList()); + set => _ipPools = value; + } + + /// + /// Specifies the subnet mask that matches the provided IP address space. Changing this forces a new Stack HCI Deployment Setting to be created. + /// + [Input("subnetMask", required: true)] + public Input SubnetMask { get; set; } = null!; + + public HciDeploymentSettingScaleUnitInfrastructureNetworkArgs() + { + } + public static new HciDeploymentSettingScaleUnitInfrastructureNetworkArgs Empty => new HciDeploymentSettingScaleUnitInfrastructureNetworkArgs(); + } +} diff --git a/sdk/dotnet/Stack/Inputs/HciDeploymentSettingScaleUnitInfrastructureNetworkGetArgs.cs b/sdk/dotnet/Stack/Inputs/HciDeploymentSettingScaleUnitInfrastructureNetworkGetArgs.cs new file mode 100644 index 0000000000..3275cacc7b --- /dev/null +++ b/sdk/dotnet/Stack/Inputs/HciDeploymentSettingScaleUnitInfrastructureNetworkGetArgs.cs @@ -0,0 +1,64 @@ +// *** 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.Inputs +{ + + public sealed class HciDeploymentSettingScaleUnitInfrastructureNetworkGetArgs : global::Pulumi.ResourceArgs + { + /// + /// 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. + /// + /// > **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. + /// + [Input("dhcpEnabled")] + public Input? DhcpEnabled { get; set; } + + [Input("dnsServers", required: true)] + private InputList? _dnsServers; + + /// + /// 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. + /// + public InputList DnsServers + { + get => _dnsServers ?? (_dnsServers = new InputList()); + set => _dnsServers = value; + } + + /// + /// 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. + /// + [Input("gateway", required: true)] + public Input Gateway { get; set; } = null!; + + [Input("ipPools", required: true)] + private InputList? _ipPools; + + /// + /// One or more `ip_pool` blocks as defined below. Changing this forces a new Stack HCI Deployment Setting to be created. + /// + public InputList IpPools + { + get => _ipPools ?? (_ipPools = new InputList()); + set => _ipPools = value; + } + + /// + /// Specifies the subnet mask that matches the provided IP address space. Changing this forces a new Stack HCI Deployment Setting to be created. + /// + [Input("subnetMask", required: true)] + public Input SubnetMask { get; set; } = null!; + + public HciDeploymentSettingScaleUnitInfrastructureNetworkGetArgs() + { + } + public static new HciDeploymentSettingScaleUnitInfrastructureNetworkGetArgs Empty => new HciDeploymentSettingScaleUnitInfrastructureNetworkGetArgs(); + } +} diff --git a/sdk/dotnet/Stack/Inputs/HciDeploymentSettingScaleUnitInfrastructureNetworkIpPoolArgs.cs b/sdk/dotnet/Stack/Inputs/HciDeploymentSettingScaleUnitInfrastructureNetworkIpPoolArgs.cs new file mode 100644 index 0000000000..0b809d0a88 --- /dev/null +++ b/sdk/dotnet/Stack/Inputs/HciDeploymentSettingScaleUnitInfrastructureNetworkIpPoolArgs.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.Stack.Inputs +{ + + public sealed class HciDeploymentSettingScaleUnitInfrastructureNetworkIpPoolArgs : global::Pulumi.ResourceArgs + { + /// + /// 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. + /// + [Input("endingAddress", required: true)] + public Input EndingAddress { get; set; } = null!; + + /// + /// 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. + /// + [Input("startingAddress", required: true)] + public Input StartingAddress { get; set; } = null!; + + public HciDeploymentSettingScaleUnitInfrastructureNetworkIpPoolArgs() + { + } + public static new HciDeploymentSettingScaleUnitInfrastructureNetworkIpPoolArgs Empty => new HciDeploymentSettingScaleUnitInfrastructureNetworkIpPoolArgs(); + } +} diff --git a/sdk/dotnet/Stack/Inputs/HciDeploymentSettingScaleUnitInfrastructureNetworkIpPoolGetArgs.cs b/sdk/dotnet/Stack/Inputs/HciDeploymentSettingScaleUnitInfrastructureNetworkIpPoolGetArgs.cs new file mode 100644 index 0000000000..6c7545658e --- /dev/null +++ b/sdk/dotnet/Stack/Inputs/HciDeploymentSettingScaleUnitInfrastructureNetworkIpPoolGetArgs.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.Stack.Inputs +{ + + public sealed class HciDeploymentSettingScaleUnitInfrastructureNetworkIpPoolGetArgs : global::Pulumi.ResourceArgs + { + /// + /// 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. + /// + [Input("endingAddress", required: true)] + public Input EndingAddress { get; set; } = null!; + + /// + /// 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. + /// + [Input("startingAddress", required: true)] + public Input StartingAddress { get; set; } = null!; + + public HciDeploymentSettingScaleUnitInfrastructureNetworkIpPoolGetArgs() + { + } + public static new HciDeploymentSettingScaleUnitInfrastructureNetworkIpPoolGetArgs Empty => new HciDeploymentSettingScaleUnitInfrastructureNetworkIpPoolGetArgs(); + } +} diff --git a/sdk/dotnet/Stack/Inputs/HciDeploymentSettingScaleUnitOptionalServiceArgs.cs b/sdk/dotnet/Stack/Inputs/HciDeploymentSettingScaleUnitOptionalServiceArgs.cs new file mode 100644 index 0000000000..0b8a6159aa --- /dev/null +++ b/sdk/dotnet/Stack/Inputs/HciDeploymentSettingScaleUnitOptionalServiceArgs.cs @@ -0,0 +1,26 @@ +// *** 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.Inputs +{ + + public sealed class HciDeploymentSettingScaleUnitOptionalServiceArgs : global::Pulumi.ResourceArgs + { + /// + /// 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. + /// + [Input("customLocation", required: true)] + public Input CustomLocation { get; set; } = null!; + + public HciDeploymentSettingScaleUnitOptionalServiceArgs() + { + } + public static new HciDeploymentSettingScaleUnitOptionalServiceArgs Empty => new HciDeploymentSettingScaleUnitOptionalServiceArgs(); + } +} diff --git a/sdk/dotnet/Stack/Inputs/HciDeploymentSettingScaleUnitOptionalServiceGetArgs.cs b/sdk/dotnet/Stack/Inputs/HciDeploymentSettingScaleUnitOptionalServiceGetArgs.cs new file mode 100644 index 0000000000..88602a8968 --- /dev/null +++ b/sdk/dotnet/Stack/Inputs/HciDeploymentSettingScaleUnitOptionalServiceGetArgs.cs @@ -0,0 +1,26 @@ +// *** 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.Inputs +{ + + public sealed class HciDeploymentSettingScaleUnitOptionalServiceGetArgs : global::Pulumi.ResourceArgs + { + /// + /// 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. + /// + [Input("customLocation", required: true)] + public Input CustomLocation { get; set; } = null!; + + public HciDeploymentSettingScaleUnitOptionalServiceGetArgs() + { + } + public static new HciDeploymentSettingScaleUnitOptionalServiceGetArgs Empty => new HciDeploymentSettingScaleUnitOptionalServiceGetArgs(); + } +} diff --git a/sdk/dotnet/Stack/Inputs/HciDeploymentSettingScaleUnitPhysicalNodeArgs.cs b/sdk/dotnet/Stack/Inputs/HciDeploymentSettingScaleUnitPhysicalNodeArgs.cs new file mode 100644 index 0000000000..b30a2966ec --- /dev/null +++ b/sdk/dotnet/Stack/Inputs/HciDeploymentSettingScaleUnitPhysicalNodeArgs.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.Stack.Inputs +{ + + public sealed class HciDeploymentSettingScaleUnitPhysicalNodeArgs : global::Pulumi.ResourceArgs + { + /// + /// 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. + /// + [Input("ipv4Address", required: true)] + public Input Ipv4Address { get; set; } = null!; + + /// + /// 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. + /// + [Input("name", required: true)] + public Input Name { get; set; } = null!; + + public HciDeploymentSettingScaleUnitPhysicalNodeArgs() + { + } + public static new HciDeploymentSettingScaleUnitPhysicalNodeArgs Empty => new HciDeploymentSettingScaleUnitPhysicalNodeArgs(); + } +} diff --git a/sdk/dotnet/Stack/Inputs/HciDeploymentSettingScaleUnitPhysicalNodeGetArgs.cs b/sdk/dotnet/Stack/Inputs/HciDeploymentSettingScaleUnitPhysicalNodeGetArgs.cs new file mode 100644 index 0000000000..e2cc47d9ec --- /dev/null +++ b/sdk/dotnet/Stack/Inputs/HciDeploymentSettingScaleUnitPhysicalNodeGetArgs.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.Stack.Inputs +{ + + public sealed class HciDeploymentSettingScaleUnitPhysicalNodeGetArgs : global::Pulumi.ResourceArgs + { + /// + /// 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. + /// + [Input("ipv4Address", required: true)] + public Input Ipv4Address { get; set; } = null!; + + /// + /// 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. + /// + [Input("name", required: true)] + public Input Name { get; set; } = null!; + + public HciDeploymentSettingScaleUnitPhysicalNodeGetArgs() + { + } + public static new HciDeploymentSettingScaleUnitPhysicalNodeGetArgs Empty => new HciDeploymentSettingScaleUnitPhysicalNodeGetArgs(); + } +} diff --git a/sdk/dotnet/Stack/Inputs/HciDeploymentSettingScaleUnitStorageArgs.cs b/sdk/dotnet/Stack/Inputs/HciDeploymentSettingScaleUnitStorageArgs.cs new file mode 100644 index 0000000000..04f13bae37 --- /dev/null +++ b/sdk/dotnet/Stack/Inputs/HciDeploymentSettingScaleUnitStorageArgs.cs @@ -0,0 +1,26 @@ +// *** 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.Inputs +{ + + public sealed class HciDeploymentSettingScaleUnitStorageArgs : global::Pulumi.ResourceArgs + { + /// + /// 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. + /// + [Input("configurationMode", required: true)] + public Input ConfigurationMode { get; set; } = null!; + + public HciDeploymentSettingScaleUnitStorageArgs() + { + } + public static new HciDeploymentSettingScaleUnitStorageArgs Empty => new HciDeploymentSettingScaleUnitStorageArgs(); + } +} diff --git a/sdk/dotnet/Stack/Inputs/HciDeploymentSettingScaleUnitStorageGetArgs.cs b/sdk/dotnet/Stack/Inputs/HciDeploymentSettingScaleUnitStorageGetArgs.cs new file mode 100644 index 0000000000..ef2bfd24f4 --- /dev/null +++ b/sdk/dotnet/Stack/Inputs/HciDeploymentSettingScaleUnitStorageGetArgs.cs @@ -0,0 +1,26 @@ +// *** 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.Inputs +{ + + public sealed class HciDeploymentSettingScaleUnitStorageGetArgs : global::Pulumi.ResourceArgs + { + /// + /// 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. + /// + [Input("configurationMode", required: true)] + public Input ConfigurationMode { get; set; } = null!; + + public HciDeploymentSettingScaleUnitStorageGetArgs() + { + } + public static new HciDeploymentSettingScaleUnitStorageGetArgs Empty => new HciDeploymentSettingScaleUnitStorageGetArgs(); + } +} diff --git a/sdk/dotnet/Stack/Outputs/HciDeploymentSettingScaleUnit.cs b/sdk/dotnet/Stack/Outputs/HciDeploymentSettingScaleUnit.cs new file mode 100644 index 0000000000..82df85ad09 --- /dev/null +++ b/sdk/dotnet/Stack/Outputs/HciDeploymentSettingScaleUnit.cs @@ -0,0 +1,182 @@ +// *** 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.Outputs +{ + + [OutputType] + public sealed class HciDeploymentSettingScaleUnit + { + /// + /// 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. + /// + public readonly string ActiveDirectoryOrganizationalUnitPath; + /// + /// 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. + /// + public readonly bool? BitlockerBootVolumeEnabled; + /// + /// 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. + /// + public readonly bool? BitlockerDataVolumeEnabled; + /// + /// A `cluster` block as defined above. Changing this forces a new Stack HCI Deployment Setting to be created. + /// + public readonly Outputs.HciDeploymentSettingScaleUnitCluster Cluster; + /// + /// 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. + /// + public readonly bool? CredentialGuardEnabled; + /// + /// Specifies the FQDN for deploying cluster. Changing this forces a new Stack HCI Deployment Setting to be created. + /// + public readonly string DomainFqdn; + /// + /// 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. + /// + public readonly bool? DriftControlEnabled; + /// + /// 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. + /// + public readonly bool? DrtmProtectionEnabled; + /// + /// 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. + /// + public readonly bool? EpisodicDataUploadEnabled; + /// + /// 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. + /// + public readonly bool? EuLocationEnabled; + /// + /// A `host_network` block as defined above. Changing this forces a new Stack HCI Deployment Setting to be created. + /// + public readonly Outputs.HciDeploymentSettingScaleUnitHostNetwork HostNetwork; + /// + /// 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. + /// + public readonly bool? HvciProtectionEnabled; + /// + /// One or more `infrastructure_network` blocks as defined above. Changing this forces a new Stack HCI Deployment Setting to be created. + /// + public readonly ImmutableArray InfrastructureNetworks; + /// + /// 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. + /// + public readonly string NamePrefix; + /// + /// A `optional_service` block as defined above. Changing this forces a new Stack HCI Deployment Setting to be created. + /// + public readonly Outputs.HciDeploymentSettingScaleUnitOptionalService OptionalService; + /// + /// One or more `physical_node` blocks as defined above. Changing this forces a new Stack HCI Deployment Setting to be created. + /// + public readonly ImmutableArray PhysicalNodes; + /// + /// The URI to the Key Vault or secret store. Changing this forces a new Stack HCI Deployment Setting to be created. + /// + public readonly string SecretsLocation; + /// + /// 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. + /// + public readonly bool? SideChannelMitigationEnabled; + /// + /// 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. + /// + public readonly bool? SmbClusterEncryptionEnabled; + /// + /// 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. + /// + public readonly bool? SmbSigningEnabled; + /// + /// A `storage` block as defined below. Changing this forces a new Stack HCI Deployment Setting to be created. + /// + public readonly Outputs.HciDeploymentSettingScaleUnitStorage Storage; + /// + /// 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. + /// + public readonly bool? StreamingDataClientEnabled; + /// + /// 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. + /// + public readonly bool? WdacEnabled; + + [OutputConstructor] + private HciDeploymentSettingScaleUnit( + string activeDirectoryOrganizationalUnitPath, + + bool? bitlockerBootVolumeEnabled, + + bool? bitlockerDataVolumeEnabled, + + Outputs.HciDeploymentSettingScaleUnitCluster cluster, + + bool? credentialGuardEnabled, + + string domainFqdn, + + bool? driftControlEnabled, + + bool? drtmProtectionEnabled, + + bool? episodicDataUploadEnabled, + + bool? euLocationEnabled, + + Outputs.HciDeploymentSettingScaleUnitHostNetwork hostNetwork, + + bool? hvciProtectionEnabled, + + ImmutableArray infrastructureNetworks, + + string namePrefix, + + Outputs.HciDeploymentSettingScaleUnitOptionalService optionalService, + + ImmutableArray physicalNodes, + + string secretsLocation, + + bool? sideChannelMitigationEnabled, + + bool? smbClusterEncryptionEnabled, + + bool? smbSigningEnabled, + + Outputs.HciDeploymentSettingScaleUnitStorage storage, + + bool? streamingDataClientEnabled, + + bool? wdacEnabled) + { + ActiveDirectoryOrganizationalUnitPath = activeDirectoryOrganizationalUnitPath; + BitlockerBootVolumeEnabled = bitlockerBootVolumeEnabled; + BitlockerDataVolumeEnabled = bitlockerDataVolumeEnabled; + Cluster = cluster; + CredentialGuardEnabled = credentialGuardEnabled; + DomainFqdn = domainFqdn; + DriftControlEnabled = driftControlEnabled; + DrtmProtectionEnabled = drtmProtectionEnabled; + EpisodicDataUploadEnabled = episodicDataUploadEnabled; + EuLocationEnabled = euLocationEnabled; + HostNetwork = hostNetwork; + HvciProtectionEnabled = hvciProtectionEnabled; + InfrastructureNetworks = infrastructureNetworks; + NamePrefix = namePrefix; + OptionalService = optionalService; + PhysicalNodes = physicalNodes; + SecretsLocation = secretsLocation; + SideChannelMitigationEnabled = sideChannelMitigationEnabled; + SmbClusterEncryptionEnabled = smbClusterEncryptionEnabled; + SmbSigningEnabled = smbSigningEnabled; + Storage = storage; + StreamingDataClientEnabled = streamingDataClientEnabled; + WdacEnabled = wdacEnabled; + } + } +} diff --git a/sdk/dotnet/Stack/Outputs/HciDeploymentSettingScaleUnitCluster.cs b/sdk/dotnet/Stack/Outputs/HciDeploymentSettingScaleUnitCluster.cs new file mode 100644 index 0000000000..ac0e8bf99a --- /dev/null +++ b/sdk/dotnet/Stack/Outputs/HciDeploymentSettingScaleUnitCluster.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.Stack.Outputs +{ + + [OutputType] + public sealed class HciDeploymentSettingScaleUnitCluster + { + /// + /// Specifies the Azure blob service endpoint, for example, `core.windows.net`. Changing this forces a new Stack HCI Deployment Setting to be created. + /// + public readonly string AzureServiceEndpoint; + /// + /// 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. + /// + public readonly string CloudAccountName; + /// + /// 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. + /// + public readonly string Name; + /// + /// 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. + /// + public readonly string WitnessPath; + /// + /// Specifies the type of the witness. Possible values are `Cloud`, `FileShare`. Changing this forces a new Stack HCI Deployment Setting to be created. + /// + public readonly string WitnessType; + + [OutputConstructor] + private HciDeploymentSettingScaleUnitCluster( + string azureServiceEndpoint, + + string cloudAccountName, + + string name, + + string witnessPath, + + string witnessType) + { + AzureServiceEndpoint = azureServiceEndpoint; + CloudAccountName = cloudAccountName; + Name = name; + WitnessPath = witnessPath; + WitnessType = witnessType; + } + } +} diff --git a/sdk/dotnet/Stack/Outputs/HciDeploymentSettingScaleUnitHostNetwork.cs b/sdk/dotnet/Stack/Outputs/HciDeploymentSettingScaleUnitHostNetwork.cs new file mode 100644 index 0000000000..34bd92c8e9 --- /dev/null +++ b/sdk/dotnet/Stack/Outputs/HciDeploymentSettingScaleUnitHostNetwork.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.Stack.Outputs +{ + + [OutputType] + public sealed class HciDeploymentSettingScaleUnitHostNetwork + { + /// + /// One or more `intent` blocks as defined below. Changing this forces a new Stack HCI Deployment Setting to be created. + /// + public readonly ImmutableArray Intents; + /// + /// 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. + /// + public readonly bool? StorageAutoIpEnabled; + /// + /// 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. + /// + public readonly bool? StorageConnectivitySwitchlessEnabled; + /// + /// One or more `storage_network` blocks as defined below. Changing this forces a new Stack HCI Deployment Setting to be created. + /// + public readonly ImmutableArray StorageNetworks; + + [OutputConstructor] + private HciDeploymentSettingScaleUnitHostNetwork( + ImmutableArray intents, + + bool? storageAutoIpEnabled, + + bool? storageConnectivitySwitchlessEnabled, + + ImmutableArray storageNetworks) + { + Intents = intents; + StorageAutoIpEnabled = storageAutoIpEnabled; + StorageConnectivitySwitchlessEnabled = storageConnectivitySwitchlessEnabled; + StorageNetworks = storageNetworks; + } + } +} diff --git a/sdk/dotnet/Stack/Outputs/HciDeploymentSettingScaleUnitHostNetworkIntent.cs b/sdk/dotnet/Stack/Outputs/HciDeploymentSettingScaleUnitHostNetworkIntent.cs new file mode 100644 index 0000000000..3338741e9d --- /dev/null +++ b/sdk/dotnet/Stack/Outputs/HciDeploymentSettingScaleUnitHostNetworkIntent.cs @@ -0,0 +1,84 @@ +// *** 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.Outputs +{ + + [OutputType] + public sealed class HciDeploymentSettingScaleUnitHostNetworkIntent + { + /// + /// A `adapter_property_override` block as defined above. Changing this forces a new Stack HCI Deployment Setting to be created. + /// + public readonly Outputs.HciDeploymentSettingScaleUnitHostNetworkIntentAdapterPropertyOverride? AdapterPropertyOverride; + /// + /// 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. + /// + public readonly bool? AdapterPropertyOverrideEnabled; + /// + /// 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. + /// + public readonly ImmutableArray Adapters; + /// + /// Specifies the name of the intent. Changing this forces a new Stack HCI Deployment Setting to be created. + /// + public readonly string Name; + /// + /// A `qos_policy_override` block as defined below. Changing this forces a new Stack HCI Deployment Setting to be created. + /// + public readonly Outputs.HciDeploymentSettingScaleUnitHostNetworkIntentQosPolicyOverride? QosPolicyOverride; + /// + /// 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. + /// + public readonly bool? QosPolicyOverrideEnabled; + /// + /// 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. + /// + public readonly ImmutableArray TrafficTypes; + /// + /// A `virtual_switch_configuration_override` block as defined below. Changing this forces a new Stack HCI Deployment Setting to be created. + /// + public readonly Outputs.HciDeploymentSettingScaleUnitHostNetworkIntentVirtualSwitchConfigurationOverride? VirtualSwitchConfigurationOverride; + /// + /// 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. + /// + public readonly bool? VirtualSwitchConfigurationOverrideEnabled; + + [OutputConstructor] + private HciDeploymentSettingScaleUnitHostNetworkIntent( + Outputs.HciDeploymentSettingScaleUnitHostNetworkIntentAdapterPropertyOverride? adapterPropertyOverride, + + bool? adapterPropertyOverrideEnabled, + + ImmutableArray adapters, + + string name, + + Outputs.HciDeploymentSettingScaleUnitHostNetworkIntentQosPolicyOverride? qosPolicyOverride, + + bool? qosPolicyOverrideEnabled, + + ImmutableArray trafficTypes, + + Outputs.HciDeploymentSettingScaleUnitHostNetworkIntentVirtualSwitchConfigurationOverride? virtualSwitchConfigurationOverride, + + bool? virtualSwitchConfigurationOverrideEnabled) + { + AdapterPropertyOverride = adapterPropertyOverride; + AdapterPropertyOverrideEnabled = adapterPropertyOverrideEnabled; + Adapters = adapters; + Name = name; + QosPolicyOverride = qosPolicyOverride; + QosPolicyOverrideEnabled = qosPolicyOverrideEnabled; + TrafficTypes = trafficTypes; + VirtualSwitchConfigurationOverride = virtualSwitchConfigurationOverride; + VirtualSwitchConfigurationOverrideEnabled = virtualSwitchConfigurationOverrideEnabled; + } + } +} diff --git a/sdk/dotnet/Stack/Outputs/HciDeploymentSettingScaleUnitHostNetworkIntentAdapterPropertyOverride.cs b/sdk/dotnet/Stack/Outputs/HciDeploymentSettingScaleUnitHostNetworkIntentAdapterPropertyOverride.cs new file mode 100644 index 0000000000..e0d35ecf88 --- /dev/null +++ b/sdk/dotnet/Stack/Outputs/HciDeploymentSettingScaleUnitHostNetworkIntentAdapterPropertyOverride.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.Stack.Outputs +{ + + [OutputType] + public sealed class HciDeploymentSettingScaleUnitHostNetworkIntentAdapterPropertyOverride + { + /// + /// 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. + /// + public readonly string? JumboPacket; + /// + /// 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. + /// + public readonly string? NetworkDirect; + /// + /// 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. + /// + public readonly string? NetworkDirectTechnology; + + [OutputConstructor] + private HciDeploymentSettingScaleUnitHostNetworkIntentAdapterPropertyOverride( + string? jumboPacket, + + string? networkDirect, + + string? networkDirectTechnology) + { + JumboPacket = jumboPacket; + NetworkDirect = networkDirect; + NetworkDirectTechnology = networkDirectTechnology; + } + } +} diff --git a/sdk/dotnet/Stack/Outputs/HciDeploymentSettingScaleUnitHostNetworkIntentQosPolicyOverride.cs b/sdk/dotnet/Stack/Outputs/HciDeploymentSettingScaleUnitHostNetworkIntentQosPolicyOverride.cs new file mode 100644 index 0000000000..1ef8690944 --- /dev/null +++ b/sdk/dotnet/Stack/Outputs/HciDeploymentSettingScaleUnitHostNetworkIntentQosPolicyOverride.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.Stack.Outputs +{ + + [OutputType] + public sealed class HciDeploymentSettingScaleUnitHostNetworkIntentQosPolicyOverride + { + /// + /// 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. + /// + public readonly string? BandwidthPercentageSmb; + /// + /// 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. + /// + public readonly string? PriorityValue8021ActionCluster; + /// + /// 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. + /// + public readonly string? PriorityValue8021ActionSmb; + + [OutputConstructor] + private HciDeploymentSettingScaleUnitHostNetworkIntentQosPolicyOverride( + string? bandwidthPercentageSmb, + + string? priorityValue8021ActionCluster, + + string? priorityValue8021ActionSmb) + { + BandwidthPercentageSmb = bandwidthPercentageSmb; + PriorityValue8021ActionCluster = priorityValue8021ActionCluster; + PriorityValue8021ActionSmb = priorityValue8021ActionSmb; + } + } +} diff --git a/sdk/dotnet/Stack/Outputs/HciDeploymentSettingScaleUnitHostNetworkIntentVirtualSwitchConfigurationOverride.cs b/sdk/dotnet/Stack/Outputs/HciDeploymentSettingScaleUnitHostNetworkIntentVirtualSwitchConfigurationOverride.cs new file mode 100644 index 0000000000..c27ef78a61 --- /dev/null +++ b/sdk/dotnet/Stack/Outputs/HciDeploymentSettingScaleUnitHostNetworkIntentVirtualSwitchConfigurationOverride.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.Stack.Outputs +{ + + [OutputType] + public sealed class HciDeploymentSettingScaleUnitHostNetworkIntentVirtualSwitchConfigurationOverride + { + /// + /// Specifies the IoV enable status for Virtual Switch. Changing this forces a new Stack HCI Deployment Setting to be created. + /// + public readonly string? EnableIov; + /// + /// Specifies the load balancing algorithm for Virtual Switch. Changing this forces a new Stack HCI Deployment Setting to be created. + /// + public readonly string? LoadBalancingAlgorithm; + + [OutputConstructor] + private HciDeploymentSettingScaleUnitHostNetworkIntentVirtualSwitchConfigurationOverride( + string? enableIov, + + string? loadBalancingAlgorithm) + { + EnableIov = enableIov; + LoadBalancingAlgorithm = loadBalancingAlgorithm; + } + } +} diff --git a/sdk/dotnet/Stack/Outputs/HciDeploymentSettingScaleUnitHostNetworkStorageNetwork.cs b/sdk/dotnet/Stack/Outputs/HciDeploymentSettingScaleUnitHostNetworkStorageNetwork.cs new file mode 100644 index 0000000000..0be3de9f95 --- /dev/null +++ b/sdk/dotnet/Stack/Outputs/HciDeploymentSettingScaleUnitHostNetworkStorageNetwork.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.Stack.Outputs +{ + + [OutputType] + public sealed class HciDeploymentSettingScaleUnitHostNetworkStorageNetwork + { + /// + /// The name of the storage network. Changing this forces a new Stack HCI Deployment Setting to be created. + /// + public readonly string Name; + /// + /// The name of the network adapter. Changing this forces a new Stack HCI Deployment Setting to be created. + /// + public readonly string NetworkAdapterName; + /// + /// 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. + /// + public readonly string VlanId; + + [OutputConstructor] + private HciDeploymentSettingScaleUnitHostNetworkStorageNetwork( + string name, + + string networkAdapterName, + + string vlanId) + { + Name = name; + NetworkAdapterName = networkAdapterName; + VlanId = vlanId; + } + } +} diff --git a/sdk/dotnet/Stack/Outputs/HciDeploymentSettingScaleUnitInfrastructureNetwork.cs b/sdk/dotnet/Stack/Outputs/HciDeploymentSettingScaleUnitInfrastructureNetwork.cs new file mode 100644 index 0000000000..db8e2e2903 --- /dev/null +++ b/sdk/dotnet/Stack/Outputs/HciDeploymentSettingScaleUnitInfrastructureNetwork.cs @@ -0,0 +1,58 @@ +// *** 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.Outputs +{ + + [OutputType] + public sealed class HciDeploymentSettingScaleUnitInfrastructureNetwork + { + /// + /// 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. + /// + /// > **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. + /// + public readonly bool? DhcpEnabled; + /// + /// 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. + /// + public readonly ImmutableArray DnsServers; + /// + /// 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. + /// + public readonly string Gateway; + /// + /// One or more `ip_pool` blocks as defined below. Changing this forces a new Stack HCI Deployment Setting to be created. + /// + public readonly ImmutableArray IpPools; + /// + /// Specifies the subnet mask that matches the provided IP address space. Changing this forces a new Stack HCI Deployment Setting to be created. + /// + public readonly string SubnetMask; + + [OutputConstructor] + private HciDeploymentSettingScaleUnitInfrastructureNetwork( + bool? dhcpEnabled, + + ImmutableArray dnsServers, + + string gateway, + + ImmutableArray ipPools, + + string subnetMask) + { + DhcpEnabled = dhcpEnabled; + DnsServers = dnsServers; + Gateway = gateway; + IpPools = ipPools; + SubnetMask = subnetMask; + } + } +} diff --git a/sdk/dotnet/Stack/Outputs/HciDeploymentSettingScaleUnitInfrastructureNetworkIpPool.cs b/sdk/dotnet/Stack/Outputs/HciDeploymentSettingScaleUnitInfrastructureNetworkIpPool.cs new file mode 100644 index 0000000000..8137413b7c --- /dev/null +++ b/sdk/dotnet/Stack/Outputs/HciDeploymentSettingScaleUnitInfrastructureNetworkIpPool.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.Stack.Outputs +{ + + [OutputType] + public sealed class HciDeploymentSettingScaleUnitInfrastructureNetworkIpPool + { + /// + /// 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. + /// + public readonly string EndingAddress; + /// + /// 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. + /// + public readonly string StartingAddress; + + [OutputConstructor] + private HciDeploymentSettingScaleUnitInfrastructureNetworkIpPool( + string endingAddress, + + string startingAddress) + { + EndingAddress = endingAddress; + StartingAddress = startingAddress; + } + } +} diff --git a/sdk/dotnet/Stack/Outputs/HciDeploymentSettingScaleUnitOptionalService.cs b/sdk/dotnet/Stack/Outputs/HciDeploymentSettingScaleUnitOptionalService.cs new file mode 100644 index 0000000000..6a6ad10243 --- /dev/null +++ b/sdk/dotnet/Stack/Outputs/HciDeploymentSettingScaleUnitOptionalService.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.Stack.Outputs +{ + + [OutputType] + public sealed class HciDeploymentSettingScaleUnitOptionalService + { + /// + /// 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. + /// + public readonly string CustomLocation; + + [OutputConstructor] + private HciDeploymentSettingScaleUnitOptionalService(string customLocation) + { + CustomLocation = customLocation; + } + } +} diff --git a/sdk/dotnet/Stack/Outputs/HciDeploymentSettingScaleUnitPhysicalNode.cs b/sdk/dotnet/Stack/Outputs/HciDeploymentSettingScaleUnitPhysicalNode.cs new file mode 100644 index 0000000000..e0d485db5b --- /dev/null +++ b/sdk/dotnet/Stack/Outputs/HciDeploymentSettingScaleUnitPhysicalNode.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.Stack.Outputs +{ + + [OutputType] + public sealed class HciDeploymentSettingScaleUnitPhysicalNode + { + /// + /// 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. + /// + public readonly string Ipv4Address; + /// + /// 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. + /// + public readonly string Name; + + [OutputConstructor] + private HciDeploymentSettingScaleUnitPhysicalNode( + string ipv4Address, + + string name) + { + Ipv4Address = ipv4Address; + Name = name; + } + } +} diff --git a/sdk/dotnet/Stack/Outputs/HciDeploymentSettingScaleUnitStorage.cs b/sdk/dotnet/Stack/Outputs/HciDeploymentSettingScaleUnitStorage.cs new file mode 100644 index 0000000000..b50050d99d --- /dev/null +++ b/sdk/dotnet/Stack/Outputs/HciDeploymentSettingScaleUnitStorage.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.Stack.Outputs +{ + + [OutputType] + public sealed class HciDeploymentSettingScaleUnitStorage + { + /// + /// 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. + /// + public readonly string ConfigurationMode; + + [OutputConstructor] + private HciDeploymentSettingScaleUnitStorage(string configurationMode) + { + ConfigurationMode = configurationMode; + } + } +} diff --git a/sdk/dotnet/Storage/Blob.cs b/sdk/dotnet/Storage/Blob.cs index bb74c6a6d2..f048a1eba3 100644 --- a/sdk/dotnet/Storage/Blob.cs +++ b/sdk/dotnet/Storage/Blob.cs @@ -126,7 +126,7 @@ public partial class Blob : global::Pulumi.CustomResource public Output Size { get; private set; } = null!; /// - /// 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. + /// 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. /// [Output("source")] public Output Source { get; private set; } = null!; @@ -278,7 +278,7 @@ public InputMap Metadata public Input? Size { get; set; } /// - /// 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. + /// 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. /// [Input("source")] public Input? Source { get; set; } @@ -386,7 +386,7 @@ public InputMap Metadata public Input? Size { get; set; } /// - /// 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. + /// 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. /// [Input("source")] public Input? Source { get; set; } diff --git a/sdk/dotnet/Storage/Inputs/ObjectReplicationRuleArgs.cs b/sdk/dotnet/Storage/Inputs/ObjectReplicationRuleArgs.cs index 8921fac4a6..6d27b599c1 100644 --- a/sdk/dotnet/Storage/Inputs/ObjectReplicationRuleArgs.cs +++ b/sdk/dotnet/Storage/Inputs/ObjectReplicationRuleArgs.cs @@ -19,7 +19,7 @@ public sealed class ObjectReplicationRuleArgs : global::Pulumi.ResourceArgs public Input? CopyBlobsCreatedAfter { get; set; } /// - /// The destination storage container name. Changing this forces a new Storage Object Replication to be created. + /// The destination storage container name. /// [Input("destinationContainerName", required: true)] public Input DestinationContainerName { get; set; } = null!; @@ -40,7 +40,7 @@ public InputList FilterOutBlobsWithPrefixes public Input? Name { get; set; } /// - /// The source storage container name. Changing this forces a new Storage Object Replication to be created. + /// The source storage container name. /// [Input("sourceContainerName", required: true)] public Input SourceContainerName { get; set; } = null!; diff --git a/sdk/dotnet/Storage/Inputs/ObjectReplicationRuleGetArgs.cs b/sdk/dotnet/Storage/Inputs/ObjectReplicationRuleGetArgs.cs index fe870e7c00..c817971ba2 100644 --- a/sdk/dotnet/Storage/Inputs/ObjectReplicationRuleGetArgs.cs +++ b/sdk/dotnet/Storage/Inputs/ObjectReplicationRuleGetArgs.cs @@ -19,7 +19,7 @@ public sealed class ObjectReplicationRuleGetArgs : global::Pulumi.ResourceArgs public Input? CopyBlobsCreatedAfter { get; set; } /// - /// The destination storage container name. Changing this forces a new Storage Object Replication to be created. + /// The destination storage container name. /// [Input("destinationContainerName", required: true)] public Input DestinationContainerName { get; set; } = null!; @@ -40,7 +40,7 @@ public InputList FilterOutBlobsWithPrefixes public Input? Name { get; set; } /// - /// The source storage container name. Changing this forces a new Storage Object Replication to be created. + /// The source storage container name. /// [Input("sourceContainerName", required: true)] public Input SourceContainerName { get; set; } = null!; diff --git a/sdk/dotnet/Storage/Outputs/ObjectReplicationRule.cs b/sdk/dotnet/Storage/Outputs/ObjectReplicationRule.cs index afd1f529f9..7491959777 100644 --- a/sdk/dotnet/Storage/Outputs/ObjectReplicationRule.cs +++ b/sdk/dotnet/Storage/Outputs/ObjectReplicationRule.cs @@ -18,7 +18,7 @@ public sealed class ObjectReplicationRule /// public readonly string? CopyBlobsCreatedAfter; /// - /// The destination storage container name. Changing this forces a new Storage Object Replication to be created. + /// The destination storage container name. /// public readonly string DestinationContainerName; /// @@ -27,7 +27,7 @@ public sealed class ObjectReplicationRule public readonly ImmutableArray FilterOutBlobsWithPrefixes; public readonly string? Name; /// - /// The source storage container name. Changing this forces a new Storage Object Replication to be created. + /// The source storage container name. /// public readonly string SourceContainerName; diff --git a/sdk/go/azure/advisor/init.go b/sdk/go/azure/advisor/init.go new file mode 100644 index 0000000000..09c217ff5c --- /dev/null +++ b/sdk/go/azure/advisor/init.go @@ -0,0 +1,44 @@ +// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package advisor + +import ( + "fmt" + + "github.com/blang/semver" + "github.com/pulumi/pulumi-azure/sdk/v6/go/azure/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type module struct { + version semver.Version +} + +func (m *module) Version() semver.Version { + return m.version +} + +func (m *module) Construct(ctx *pulumi.Context, name, typ, urn string) (r pulumi.Resource, err error) { + switch typ { + case "azure:advisor/suppression:Suppression": + r = &Suppression{} + default: + return nil, fmt.Errorf("unknown resource type: %s", typ) + } + + err = ctx.RegisterResource(typ, name, nil, r, pulumi.URN_(urn)) + return +} + +func init() { + version, err := internal.PkgVersion() + if err != nil { + version = semver.Version{Major: 1} + } + pulumi.RegisterResourceModule( + "azure", + "advisor/suppression", + &module{version}, + ) +} diff --git a/sdk/go/azure/advisor/suppression.go b/sdk/go/azure/advisor/suppression.go new file mode 100644 index 0000000000..3c84327fb3 --- /dev/null +++ b/sdk/go/azure/advisor/suppression.go @@ -0,0 +1,326 @@ +// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package advisor + +import ( + "context" + "reflect" + + "errors" + "github.com/pulumi/pulumi-azure/sdk/v6/go/azure/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// Specifies a suppression for an Azure Advisor recommendation. +// +// ## Example Usage +// +// ```go +// package main +// +// import ( +// +// "fmt" +// +// "github.com/pulumi/pulumi-azure/sdk/v6/go/azure/advisor" +// "github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// current, err := core.GetClientConfig(ctx, nil, nil) +// if err != nil { +// return err +// } +// _, err = advisor.GetRecommendations(ctx, nil, nil) +// if err != nil { +// return err +// } +// _, err = advisor.NewSuppression(ctx, "example", &advisor.SuppressionArgs{ +// Name: pulumi.String("HardcodedSuppressionName"), +// RecommendationId: pulumi.Any(test.Recommendations[0].RecommendationName), +// ResourceId: pulumi.Sprintf("/subscriptions/%v", current.SubscriptionId), +// Ttl: pulumi.String("01:00:00:00"), +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// ## 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 +// ``` +type Suppression struct { + pulumi.CustomResourceState + + // The Name which should be used for this Advisor suppression. Changing this forces a new Advisor suppression to be created. + Name pulumi.StringOutput `pulumi:"name"` + // The ID of the Advisor recommendation to suppress. Changing this forces a new Advisor suppression to be created. + RecommendationId pulumi.StringOutput `pulumi:"recommendationId"` + // The ID of the Resource to suppress the Advisor recommendation for. Changing this forces a new Advisor suppression to be created. + ResourceId pulumi.StringOutput `pulumi:"resourceId"` + // The GUID of the suppression. + SuppressionId pulumi.StringOutput `pulumi:"suppressionId"` + // A optional time to live value. If omitted, the suppression will not expire. Changing this forces a new Advisor suppression to be created. + Ttl pulumi.StringPtrOutput `pulumi:"ttl"` +} + +// NewSuppression registers a new resource with the given unique name, arguments, and options. +func NewSuppression(ctx *pulumi.Context, + name string, args *SuppressionArgs, opts ...pulumi.ResourceOption) (*Suppression, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.RecommendationId == nil { + return nil, errors.New("invalid value for required argument 'RecommendationId'") + } + if args.ResourceId == nil { + return nil, errors.New("invalid value for required argument 'ResourceId'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource Suppression + err := ctx.RegisterResource("azure:advisor/suppression:Suppression", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetSuppression gets an existing Suppression resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetSuppression(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *SuppressionState, opts ...pulumi.ResourceOption) (*Suppression, error) { + var resource Suppression + err := ctx.ReadResource("azure:advisor/suppression:Suppression", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering Suppression resources. +type suppressionState struct { + // The Name which should be used for this Advisor suppression. Changing this forces a new Advisor suppression to be created. + Name *string `pulumi:"name"` + // The ID of the Advisor recommendation to suppress. Changing this forces a new Advisor suppression to be created. + RecommendationId *string `pulumi:"recommendationId"` + // The ID of the Resource to suppress the Advisor recommendation for. Changing this forces a new Advisor suppression to be created. + ResourceId *string `pulumi:"resourceId"` + // The GUID of the suppression. + SuppressionId *string `pulumi:"suppressionId"` + // A optional time to live value. If omitted, the suppression will not expire. Changing this forces a new Advisor suppression to be created. + Ttl *string `pulumi:"ttl"` +} + +type SuppressionState struct { + // The Name which should be used for this Advisor suppression. Changing this forces a new Advisor suppression to be created. + Name pulumi.StringPtrInput + // The ID of the Advisor recommendation to suppress. Changing this forces a new Advisor suppression to be created. + RecommendationId pulumi.StringPtrInput + // The ID of the Resource to suppress the Advisor recommendation for. Changing this forces a new Advisor suppression to be created. + ResourceId pulumi.StringPtrInput + // The GUID of the suppression. + SuppressionId pulumi.StringPtrInput + // A optional time to live value. If omitted, the suppression will not expire. Changing this forces a new Advisor suppression to be created. + Ttl pulumi.StringPtrInput +} + +func (SuppressionState) ElementType() reflect.Type { + return reflect.TypeOf((*suppressionState)(nil)).Elem() +} + +type suppressionArgs struct { + // The Name which should be used for this Advisor suppression. Changing this forces a new Advisor suppression to be created. + Name *string `pulumi:"name"` + // The ID of the Advisor recommendation to suppress. Changing this forces a new Advisor suppression to be created. + RecommendationId string `pulumi:"recommendationId"` + // The ID of the Resource to suppress the Advisor recommendation for. Changing this forces a new Advisor suppression to be created. + ResourceId string `pulumi:"resourceId"` + // A optional time to live value. If omitted, the suppression will not expire. Changing this forces a new Advisor suppression to be created. + Ttl *string `pulumi:"ttl"` +} + +// The set of arguments for constructing a Suppression resource. +type SuppressionArgs struct { + // The Name which should be used for this Advisor suppression. Changing this forces a new Advisor suppression to be created. + Name pulumi.StringPtrInput + // The ID of the Advisor recommendation to suppress. Changing this forces a new Advisor suppression to be created. + RecommendationId pulumi.StringInput + // The ID of the Resource to suppress the Advisor recommendation for. Changing this forces a new Advisor suppression to be created. + ResourceId pulumi.StringInput + // A optional time to live value. If omitted, the suppression will not expire. Changing this forces a new Advisor suppression to be created. + Ttl pulumi.StringPtrInput +} + +func (SuppressionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*suppressionArgs)(nil)).Elem() +} + +type SuppressionInput interface { + pulumi.Input + + ToSuppressionOutput() SuppressionOutput + ToSuppressionOutputWithContext(ctx context.Context) SuppressionOutput +} + +func (*Suppression) ElementType() reflect.Type { + return reflect.TypeOf((**Suppression)(nil)).Elem() +} + +func (i *Suppression) ToSuppressionOutput() SuppressionOutput { + return i.ToSuppressionOutputWithContext(context.Background()) +} + +func (i *Suppression) ToSuppressionOutputWithContext(ctx context.Context) SuppressionOutput { + return pulumi.ToOutputWithContext(ctx, i).(SuppressionOutput) +} + +// SuppressionArrayInput is an input type that accepts SuppressionArray and SuppressionArrayOutput values. +// You can construct a concrete instance of `SuppressionArrayInput` via: +// +// SuppressionArray{ SuppressionArgs{...} } +type SuppressionArrayInput interface { + pulumi.Input + + ToSuppressionArrayOutput() SuppressionArrayOutput + ToSuppressionArrayOutputWithContext(context.Context) SuppressionArrayOutput +} + +type SuppressionArray []SuppressionInput + +func (SuppressionArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*Suppression)(nil)).Elem() +} + +func (i SuppressionArray) ToSuppressionArrayOutput() SuppressionArrayOutput { + return i.ToSuppressionArrayOutputWithContext(context.Background()) +} + +func (i SuppressionArray) ToSuppressionArrayOutputWithContext(ctx context.Context) SuppressionArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(SuppressionArrayOutput) +} + +// SuppressionMapInput is an input type that accepts SuppressionMap and SuppressionMapOutput values. +// You can construct a concrete instance of `SuppressionMapInput` via: +// +// SuppressionMap{ "key": SuppressionArgs{...} } +type SuppressionMapInput interface { + pulumi.Input + + ToSuppressionMapOutput() SuppressionMapOutput + ToSuppressionMapOutputWithContext(context.Context) SuppressionMapOutput +} + +type SuppressionMap map[string]SuppressionInput + +func (SuppressionMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*Suppression)(nil)).Elem() +} + +func (i SuppressionMap) ToSuppressionMapOutput() SuppressionMapOutput { + return i.ToSuppressionMapOutputWithContext(context.Background()) +} + +func (i SuppressionMap) ToSuppressionMapOutputWithContext(ctx context.Context) SuppressionMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(SuppressionMapOutput) +} + +type SuppressionOutput struct{ *pulumi.OutputState } + +func (SuppressionOutput) ElementType() reflect.Type { + return reflect.TypeOf((**Suppression)(nil)).Elem() +} + +func (o SuppressionOutput) ToSuppressionOutput() SuppressionOutput { + return o +} + +func (o SuppressionOutput) ToSuppressionOutputWithContext(ctx context.Context) SuppressionOutput { + return o +} + +// The Name which should be used for this Advisor suppression. Changing this forces a new Advisor suppression to be created. +func (o SuppressionOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *Suppression) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// The ID of the Advisor recommendation to suppress. Changing this forces a new Advisor suppression to be created. +func (o SuppressionOutput) RecommendationId() pulumi.StringOutput { + return o.ApplyT(func(v *Suppression) pulumi.StringOutput { return v.RecommendationId }).(pulumi.StringOutput) +} + +// The ID of the Resource to suppress the Advisor recommendation for. Changing this forces a new Advisor suppression to be created. +func (o SuppressionOutput) ResourceId() pulumi.StringOutput { + return o.ApplyT(func(v *Suppression) pulumi.StringOutput { return v.ResourceId }).(pulumi.StringOutput) +} + +// The GUID of the suppression. +func (o SuppressionOutput) SuppressionId() pulumi.StringOutput { + return o.ApplyT(func(v *Suppression) pulumi.StringOutput { return v.SuppressionId }).(pulumi.StringOutput) +} + +// A optional time to live value. If omitted, the suppression will not expire. Changing this forces a new Advisor suppression to be created. +func (o SuppressionOutput) Ttl() pulumi.StringPtrOutput { + return o.ApplyT(func(v *Suppression) pulumi.StringPtrOutput { return v.Ttl }).(pulumi.StringPtrOutput) +} + +type SuppressionArrayOutput struct{ *pulumi.OutputState } + +func (SuppressionArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*Suppression)(nil)).Elem() +} + +func (o SuppressionArrayOutput) ToSuppressionArrayOutput() SuppressionArrayOutput { + return o +} + +func (o SuppressionArrayOutput) ToSuppressionArrayOutputWithContext(ctx context.Context) SuppressionArrayOutput { + return o +} + +func (o SuppressionArrayOutput) Index(i pulumi.IntInput) SuppressionOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *Suppression { + return vs[0].([]*Suppression)[vs[1].(int)] + }).(SuppressionOutput) +} + +type SuppressionMapOutput struct{ *pulumi.OutputState } + +func (SuppressionMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*Suppression)(nil)).Elem() +} + +func (o SuppressionMapOutput) ToSuppressionMapOutput() SuppressionMapOutput { + return o +} + +func (o SuppressionMapOutput) ToSuppressionMapOutputWithContext(ctx context.Context) SuppressionMapOutput { + return o +} + +func (o SuppressionMapOutput) MapIndex(k pulumi.StringInput) SuppressionOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *Suppression { + return vs[0].(map[string]*Suppression)[vs[1].(string)] + }).(SuppressionOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*SuppressionInput)(nil)).Elem(), &Suppression{}) + pulumi.RegisterInputType(reflect.TypeOf((*SuppressionArrayInput)(nil)).Elem(), SuppressionArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*SuppressionMapInput)(nil)).Elem(), SuppressionMap{}) + pulumi.RegisterOutputType(SuppressionOutput{}) + pulumi.RegisterOutputType(SuppressionArrayOutput{}) + pulumi.RegisterOutputType(SuppressionMapOutput{}) +} diff --git a/sdk/go/azure/appplatform/springCloudGateway.go b/sdk/go/azure/appplatform/springCloudGateway.go index 6d02b69f70..1229f891df 100644 --- a/sdk/go/azure/appplatform/springCloudGateway.go +++ b/sdk/go/azure/appplatform/springCloudGateway.go @@ -122,7 +122,7 @@ type SpringCloudGateway struct { ClientAuthorization SpringCloudGatewayClientAuthorizationPtrOutput `pulumi:"clientAuthorization"` // A `cors` block as defined below. Cors SpringCloudGatewayCorsPtrOutput `pulumi:"cors"` - // 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. EnvironmentVariables pulumi.StringMapOutput `pulumi:"environmentVariables"` // is only https is allowed? HttpsOnly pulumi.BoolPtrOutput `pulumi:"httpsOnly"` @@ -138,7 +138,7 @@ type SpringCloudGateway struct { PublicNetworkAccessEnabled pulumi.BoolPtrOutput `pulumi:"publicNetworkAccessEnabled"` // A `quota` block as defined below. Quota SpringCloudGatewayQuotaOutput `pulumi:"quota"` - // 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. SensitiveEnvironmentVariables pulumi.StringMapOutput `pulumi:"sensitiveEnvironmentVariables"` // The ID of the Spring Cloud Service. Changing this forces a new Spring Cloud Gateway to be created. SpringCloudServiceId pulumi.StringOutput `pulumi:"springCloudServiceId"` @@ -198,7 +198,7 @@ type springCloudGatewayState struct { ClientAuthorization *SpringCloudGatewayClientAuthorization `pulumi:"clientAuthorization"` // A `cors` block as defined below. Cors *SpringCloudGatewayCors `pulumi:"cors"` - // 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. EnvironmentVariables map[string]string `pulumi:"environmentVariables"` // is only https is allowed? HttpsOnly *bool `pulumi:"httpsOnly"` @@ -214,7 +214,7 @@ type springCloudGatewayState struct { PublicNetworkAccessEnabled *bool `pulumi:"publicNetworkAccessEnabled"` // A `quota` block as defined below. Quota *SpringCloudGatewayQuota `pulumi:"quota"` - // 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. SensitiveEnvironmentVariables map[string]string `pulumi:"sensitiveEnvironmentVariables"` // The ID of the Spring Cloud Service. Changing this forces a new Spring Cloud Gateway to be created. SpringCloudServiceId *string `pulumi:"springCloudServiceId"` @@ -235,7 +235,7 @@ type SpringCloudGatewayState struct { ClientAuthorization SpringCloudGatewayClientAuthorizationPtrInput // A `cors` block as defined below. Cors SpringCloudGatewayCorsPtrInput - // 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. EnvironmentVariables pulumi.StringMapInput // is only https is allowed? HttpsOnly pulumi.BoolPtrInput @@ -251,7 +251,7 @@ type SpringCloudGatewayState struct { PublicNetworkAccessEnabled pulumi.BoolPtrInput // A `quota` block as defined below. Quota SpringCloudGatewayQuotaPtrInput - // 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. SensitiveEnvironmentVariables pulumi.StringMapInput // The ID of the Spring Cloud Service. Changing this forces a new Spring Cloud Gateway to be created. SpringCloudServiceId pulumi.StringPtrInput @@ -276,7 +276,7 @@ type springCloudGatewayArgs struct { ClientAuthorization *SpringCloudGatewayClientAuthorization `pulumi:"clientAuthorization"` // A `cors` block as defined below. Cors *SpringCloudGatewayCors `pulumi:"cors"` - // 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. EnvironmentVariables map[string]string `pulumi:"environmentVariables"` // is only https is allowed? HttpsOnly *bool `pulumi:"httpsOnly"` @@ -292,7 +292,7 @@ type springCloudGatewayArgs struct { PublicNetworkAccessEnabled *bool `pulumi:"publicNetworkAccessEnabled"` // A `quota` block as defined below. Quota *SpringCloudGatewayQuota `pulumi:"quota"` - // 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. SensitiveEnvironmentVariables map[string]string `pulumi:"sensitiveEnvironmentVariables"` // The ID of the Spring Cloud Service. Changing this forces a new Spring Cloud Gateway to be created. SpringCloudServiceId string `pulumi:"springCloudServiceId"` @@ -312,7 +312,7 @@ type SpringCloudGatewayArgs struct { ClientAuthorization SpringCloudGatewayClientAuthorizationPtrInput // A `cors` block as defined below. Cors SpringCloudGatewayCorsPtrInput - // 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. EnvironmentVariables pulumi.StringMapInput // is only https is allowed? HttpsOnly pulumi.BoolPtrInput @@ -328,7 +328,7 @@ type SpringCloudGatewayArgs struct { PublicNetworkAccessEnabled pulumi.BoolPtrInput // A `quota` block as defined below. Quota SpringCloudGatewayQuotaPtrInput - // 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. SensitiveEnvironmentVariables pulumi.StringMapInput // The ID of the Spring Cloud Service. Changing this forces a new Spring Cloud Gateway to be created. SpringCloudServiceId pulumi.StringInput @@ -450,7 +450,7 @@ func (o SpringCloudGatewayOutput) Cors() SpringCloudGatewayCorsPtrOutput { return o.ApplyT(func(v *SpringCloudGateway) SpringCloudGatewayCorsPtrOutput { return v.Cors }).(SpringCloudGatewayCorsPtrOutput) } -// 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. func (o SpringCloudGatewayOutput) EnvironmentVariables() pulumi.StringMapOutput { return o.ApplyT(func(v *SpringCloudGateway) pulumi.StringMapOutput { return v.EnvironmentVariables }).(pulumi.StringMapOutput) } @@ -494,7 +494,7 @@ func (o SpringCloudGatewayOutput) Quota() SpringCloudGatewayQuotaOutput { return o.ApplyT(func(v *SpringCloudGateway) SpringCloudGatewayQuotaOutput { return v.Quota }).(SpringCloudGatewayQuotaOutput) } -// 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. func (o SpringCloudGatewayOutput) SensitiveEnvironmentVariables() pulumi.StringMapOutput { return o.ApplyT(func(v *SpringCloudGateway) pulumi.StringMapOutput { return v.SensitiveEnvironmentVariables }).(pulumi.StringMapOutput) } diff --git a/sdk/go/azure/appservice/getStaticWebApp.go b/sdk/go/azure/appservice/getStaticWebApp.go index 47d3d47fab..9d37ffeba6 100644 --- a/sdk/go/azure/appservice/getStaticWebApp.go +++ b/sdk/go/azure/appservice/getStaticWebApp.go @@ -70,6 +70,7 @@ type LookupStaticWebAppResult struct { Location string `pulumi:"location"` Name string `pulumi:"name"` PreviewEnvironmentsEnabled bool `pulumi:"previewEnvironmentsEnabled"` + PublicNetworkAccessEnabled bool `pulumi:"publicNetworkAccessEnabled"` ResourceGroupName string `pulumi:"resourceGroupName"` SkuSize string `pulumi:"skuSize"` SkuTier string `pulumi:"skuTier"` @@ -163,6 +164,10 @@ func (o LookupStaticWebAppResultOutput) PreviewEnvironmentsEnabled() pulumi.Bool return o.ApplyT(func(v LookupStaticWebAppResult) bool { return v.PreviewEnvironmentsEnabled }).(pulumi.BoolOutput) } +func (o LookupStaticWebAppResultOutput) PublicNetworkAccessEnabled() pulumi.BoolOutput { + return o.ApplyT(func(v LookupStaticWebAppResult) bool { return v.PublicNetworkAccessEnabled }).(pulumi.BoolOutput) +} + func (o LookupStaticWebAppResultOutput) ResourceGroupName() pulumi.StringOutput { return o.ApplyT(func(v LookupStaticWebAppResult) string { return v.ResourceGroupName }).(pulumi.StringOutput) } diff --git a/sdk/go/azure/appservice/staticWebApp.go b/sdk/go/azure/appservice/staticWebApp.go index 827027d472..075d72a414 100644 --- a/sdk/go/azure/appservice/staticWebApp.go +++ b/sdk/go/azure/appservice/staticWebApp.go @@ -78,6 +78,8 @@ type StaticWebApp struct { Name pulumi.StringOutput `pulumi:"name"` // Are Preview (Staging) environments enabled. Defaults to `true`. PreviewEnvironmentsEnabled pulumi.BoolPtrOutput `pulumi:"previewEnvironmentsEnabled"` + // Should public network access be enabled for the Static Web App. Defaults to `true`. + PublicNetworkAccessEnabled pulumi.BoolPtrOutput `pulumi:"publicNetworkAccessEnabled"` // The name of the Resource Group where the Static Web App should exist. Changing this forces a new Static Web App to be created. ResourceGroupName pulumi.StringOutput `pulumi:"resourceGroupName"` // Specifies the SKU size of the Static Web App. Possible values are `Free` or `Standard`. Defaults to `Free`. @@ -147,6 +149,8 @@ type staticWebAppState struct { Name *string `pulumi:"name"` // Are Preview (Staging) environments enabled. Defaults to `true`. PreviewEnvironmentsEnabled *bool `pulumi:"previewEnvironmentsEnabled"` + // Should public network access be enabled for the Static Web App. Defaults to `true`. + PublicNetworkAccessEnabled *bool `pulumi:"publicNetworkAccessEnabled"` // The name of the Resource Group where the Static Web App should exist. Changing this forces a new Static Web App to be created. ResourceGroupName *string `pulumi:"resourceGroupName"` // Specifies the SKU size of the Static Web App. Possible values are `Free` or `Standard`. Defaults to `Free`. @@ -176,6 +180,8 @@ type StaticWebAppState struct { Name pulumi.StringPtrInput // Are Preview (Staging) environments enabled. Defaults to `true`. PreviewEnvironmentsEnabled pulumi.BoolPtrInput + // Should public network access be enabled for the Static Web App. Defaults to `true`. + PublicNetworkAccessEnabled pulumi.BoolPtrInput // The name of the Resource Group where the Static Web App should exist. Changing this forces a new Static Web App to be created. ResourceGroupName pulumi.StringPtrInput // Specifies the SKU size of the Static Web App. Possible values are `Free` or `Standard`. Defaults to `Free`. @@ -205,6 +211,8 @@ type staticWebAppArgs struct { Name *string `pulumi:"name"` // Are Preview (Staging) environments enabled. Defaults to `true`. PreviewEnvironmentsEnabled *bool `pulumi:"previewEnvironmentsEnabled"` + // Should public network access be enabled for the Static Web App. Defaults to `true`. + PublicNetworkAccessEnabled *bool `pulumi:"publicNetworkAccessEnabled"` // The name of the Resource Group where the Static Web App should exist. Changing this forces a new Static Web App to be created. ResourceGroupName string `pulumi:"resourceGroupName"` // Specifies the SKU size of the Static Web App. Possible values are `Free` or `Standard`. Defaults to `Free`. @@ -231,6 +239,8 @@ type StaticWebAppArgs struct { Name pulumi.StringPtrInput // Are Preview (Staging) environments enabled. Defaults to `true`. PreviewEnvironmentsEnabled pulumi.BoolPtrInput + // Should public network access be enabled for the Static Web App. Defaults to `true`. + PublicNetworkAccessEnabled pulumi.BoolPtrInput // The name of the Resource Group where the Static Web App should exist. Changing this forces a new Static Web App to be created. ResourceGroupName pulumi.StringInput // Specifies the SKU size of the Static Web App. Possible values are `Free` or `Standard`. Defaults to `Free`. @@ -373,6 +383,11 @@ func (o StaticWebAppOutput) PreviewEnvironmentsEnabled() pulumi.BoolPtrOutput { return o.ApplyT(func(v *StaticWebApp) pulumi.BoolPtrOutput { return v.PreviewEnvironmentsEnabled }).(pulumi.BoolPtrOutput) } +// Should public network access be enabled for the Static Web App. Defaults to `true`. +func (o StaticWebAppOutput) PublicNetworkAccessEnabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *StaticWebApp) pulumi.BoolPtrOutput { return v.PublicNetworkAccessEnabled }).(pulumi.BoolPtrOutput) +} + // The name of the Resource Group where the Static Web App should exist. Changing this forces a new Static Web App to be created. func (o StaticWebAppOutput) ResourceGroupName() pulumi.StringOutput { return o.ApplyT(func(v *StaticWebApp) pulumi.StringOutput { return v.ResourceGroupName }).(pulumi.StringOutput) diff --git a/sdk/go/azure/arcmachine/automanageConfigurationAssignment.go b/sdk/go/azure/arcmachine/automanageConfigurationAssignment.go index 545fae3395..a18903d9d5 100644 --- a/sdk/go/azure/arcmachine/automanageConfigurationAssignment.go +++ b/sdk/go/azure/arcmachine/automanageConfigurationAssignment.go @@ -75,7 +75,7 @@ import ( // 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 // ``` type AutomanageConfigurationAssignment struct { pulumi.CustomResourceState diff --git a/sdk/go/azure/compute/linuxVirtualMachineScaleSet.go b/sdk/go/azure/compute/linuxVirtualMachineScaleSet.go index cea43d81ed..01a52289c6 100644 --- a/sdk/go/azure/compute/linuxVirtualMachineScaleSet.go +++ b/sdk/go/azure/compute/linuxVirtualMachineScaleSet.go @@ -262,7 +262,9 @@ type LinuxVirtualMachineScaleSet struct { // // > **Note:** This can only be set to `true` when one or more `zones` are configured. ZoneBalance pulumi.BoolPtrOutput `pulumi:"zoneBalance"` - // 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. Zones pulumi.StringArrayOutput `pulumi:"zones"` } @@ -461,7 +463,9 @@ type linuxVirtualMachineScaleSetState struct { // // > **Note:** This can only be set to `true` when one or more `zones` are configured. ZoneBalance *bool `pulumi:"zoneBalance"` - // 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. Zones []string `pulumi:"zones"` } @@ -605,7 +609,9 @@ type LinuxVirtualMachineScaleSetState struct { // // > **Note:** This can only be set to `true` when one or more `zones` are configured. ZoneBalance pulumi.BoolPtrInput - // 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. Zones pulumi.StringArrayInput } @@ -751,7 +757,9 @@ type linuxVirtualMachineScaleSetArgs struct { // // > **Note:** This can only be set to `true` when one or more `zones` are configured. ZoneBalance *bool `pulumi:"zoneBalance"` - // 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. Zones []string `pulumi:"zones"` } @@ -894,7 +902,9 @@ type LinuxVirtualMachineScaleSetArgs struct { // // > **Note:** This can only be set to `true` when one or more `zones` are configured. ZoneBalance pulumi.BoolPtrInput - // 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. Zones pulumi.StringArrayInput } @@ -1308,7 +1318,9 @@ func (o LinuxVirtualMachineScaleSetOutput) ZoneBalance() pulumi.BoolPtrOutput { return o.ApplyT(func(v *LinuxVirtualMachineScaleSet) pulumi.BoolPtrOutput { return v.ZoneBalance }).(pulumi.BoolPtrOutput) } -// 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. func (o LinuxVirtualMachineScaleSetOutput) Zones() pulumi.StringArrayOutput { return o.ApplyT(func(v *LinuxVirtualMachineScaleSet) pulumi.StringArrayOutput { return v.Zones }).(pulumi.StringArrayOutput) } diff --git a/sdk/go/azure/compute/orchestratedVirtualMachineScaleSet.go b/sdk/go/azure/compute/orchestratedVirtualMachineScaleSet.go index aca394d19e..80d590dfc7 100644 --- a/sdk/go/azure/compute/orchestratedVirtualMachineScaleSet.go +++ b/sdk/go/azure/compute/orchestratedVirtualMachineScaleSet.go @@ -152,7 +152,9 @@ type OrchestratedVirtualMachineScaleSet struct { // // > **Note:** This can only be set to `true` when one or more `zones` are configured. ZoneBalance pulumi.BoolPtrOutput `pulumi:"zoneBalance"` - // 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). Zones pulumi.StringArrayOutput `pulumi:"zones"` @@ -283,7 +285,9 @@ type orchestratedVirtualMachineScaleSetState struct { // // > **Note:** This can only be set to `true` when one or more `zones` are configured. ZoneBalance *bool `pulumi:"zoneBalance"` - // 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). Zones []string `pulumi:"zones"` @@ -372,7 +376,9 @@ type OrchestratedVirtualMachineScaleSetState struct { // // > **Note:** This can only be set to `true` when one or more `zones` are configured. ZoneBalance pulumi.BoolPtrInput - // 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). Zones pulumi.StringArrayInput @@ -463,7 +469,9 @@ type orchestratedVirtualMachineScaleSetArgs struct { // // > **Note:** This can only be set to `true` when one or more `zones` are configured. ZoneBalance *bool `pulumi:"zoneBalance"` - // 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). Zones []string `pulumi:"zones"` @@ -551,7 +559,9 @@ type OrchestratedVirtualMachineScaleSetArgs struct { // // > **Note:** This can only be set to `true` when one or more `zones` are configured. ZoneBalance pulumi.BoolPtrInput - // 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). Zones pulumi.StringArrayInput @@ -856,7 +866,9 @@ func (o OrchestratedVirtualMachineScaleSetOutput) ZoneBalance() pulumi.BoolPtrOu return o.ApplyT(func(v *OrchestratedVirtualMachineScaleSet) pulumi.BoolPtrOutput { return v.ZoneBalance }).(pulumi.BoolPtrOutput) } -// 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). func (o OrchestratedVirtualMachineScaleSetOutput) Zones() pulumi.StringArrayOutput { diff --git a/sdk/go/azure/compute/sharedImage.go b/sdk/go/azure/compute/sharedImage.go index 2133238bb2..c0feded16e 100644 --- a/sdk/go/azure/compute/sharedImage.go +++ b/sdk/go/azure/compute/sharedImage.go @@ -92,6 +92,8 @@ type SharedImage struct { ConfidentialVmSupported pulumi.BoolPtrOutput `pulumi:"confidentialVmSupported"` // A description of this Shared Image. Description pulumi.StringPtrOutput `pulumi:"description"` + // Specifies if the Shared Image supports NVMe disks. Changing this forces a new resource to be created. + DiskControllerTypeNvmeEnabled pulumi.BoolPtrOutput `pulumi:"diskControllerTypeNvmeEnabled"` // One or more Disk Types not allowed for the Image. Possible values include `Standard_LRS` and `Premium_LRS`. DiskTypesNotAlloweds pulumi.StringArrayOutput `pulumi:"diskTypesNotAlloweds"` // The end of life date in RFC3339 format of the Image. @@ -194,6 +196,8 @@ type sharedImageState struct { ConfidentialVmSupported *bool `pulumi:"confidentialVmSupported"` // A description of this Shared Image. Description *string `pulumi:"description"` + // Specifies if the Shared Image supports NVMe disks. Changing this forces a new resource to be created. + DiskControllerTypeNvmeEnabled *bool `pulumi:"diskControllerTypeNvmeEnabled"` // One or more Disk Types not allowed for the Image. Possible values include `Standard_LRS` and `Premium_LRS`. DiskTypesNotAlloweds []string `pulumi:"diskTypesNotAlloweds"` // The end of life date in RFC3339 format of the Image. @@ -255,6 +259,8 @@ type SharedImageState struct { ConfidentialVmSupported pulumi.BoolPtrInput // A description of this Shared Image. Description pulumi.StringPtrInput + // Specifies if the Shared Image supports NVMe disks. Changing this forces a new resource to be created. + DiskControllerTypeNvmeEnabled pulumi.BoolPtrInput // One or more Disk Types not allowed for the Image. Possible values include `Standard_LRS` and `Premium_LRS`. DiskTypesNotAlloweds pulumi.StringArrayInput // The end of life date in RFC3339 format of the Image. @@ -320,6 +326,8 @@ type sharedImageArgs struct { ConfidentialVmSupported *bool `pulumi:"confidentialVmSupported"` // A description of this Shared Image. Description *string `pulumi:"description"` + // Specifies if the Shared Image supports NVMe disks. Changing this forces a new resource to be created. + DiskControllerTypeNvmeEnabled *bool `pulumi:"diskControllerTypeNvmeEnabled"` // One or more Disk Types not allowed for the Image. Possible values include `Standard_LRS` and `Premium_LRS`. DiskTypesNotAlloweds []string `pulumi:"diskTypesNotAlloweds"` // The end of life date in RFC3339 format of the Image. @@ -382,6 +390,8 @@ type SharedImageArgs struct { ConfidentialVmSupported pulumi.BoolPtrInput // A description of this Shared Image. Description pulumi.StringPtrInput + // Specifies if the Shared Image supports NVMe disks. Changing this forces a new resource to be created. + DiskControllerTypeNvmeEnabled pulumi.BoolPtrInput // One or more Disk Types not allowed for the Image. Possible values include `Standard_LRS` and `Premium_LRS`. DiskTypesNotAlloweds pulumi.StringArrayInput // The end of life date in RFC3339 format of the Image. @@ -544,6 +554,11 @@ func (o SharedImageOutput) Description() pulumi.StringPtrOutput { return o.ApplyT(func(v *SharedImage) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput) } +// Specifies if the Shared Image supports NVMe disks. Changing this forces a new resource to be created. +func (o SharedImageOutput) DiskControllerTypeNvmeEnabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *SharedImage) pulumi.BoolPtrOutput { return v.DiskControllerTypeNvmeEnabled }).(pulumi.BoolPtrOutput) +} + // One or more Disk Types not allowed for the Image. Possible values include `Standard_LRS` and `Premium_LRS`. func (o SharedImageOutput) DiskTypesNotAlloweds() pulumi.StringArrayOutput { return o.ApplyT(func(v *SharedImage) pulumi.StringArrayOutput { return v.DiskTypesNotAlloweds }).(pulumi.StringArrayOutput) diff --git a/sdk/go/azure/compute/windowsVirtualMachineScaleSet.go b/sdk/go/azure/compute/windowsVirtualMachineScaleSet.go index 32b5527381..36ac8f17b4 100644 --- a/sdk/go/azure/compute/windowsVirtualMachineScaleSet.go +++ b/sdk/go/azure/compute/windowsVirtualMachineScaleSet.go @@ -258,7 +258,9 @@ type WindowsVirtualMachineScaleSet struct { // // > **Note:** This can only be set to `true` when one or more `zones` are configured. ZoneBalance pulumi.BoolPtrOutput `pulumi:"zoneBalance"` - // 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. Zones pulumi.StringArrayOutput `pulumi:"zones"` } @@ -459,7 +461,9 @@ type windowsVirtualMachineScaleSetState struct { // // > **Note:** This can only be set to `true` when one or more `zones` are configured. ZoneBalance *bool `pulumi:"zoneBalance"` - // 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. Zones []string `pulumi:"zones"` } @@ -599,7 +603,9 @@ type WindowsVirtualMachineScaleSetState struct { // // > **Note:** This can only be set to `true` when one or more `zones` are configured. ZoneBalance pulumi.BoolPtrInput - // 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. Zones pulumi.StringArrayInput } @@ -741,7 +747,9 @@ type windowsVirtualMachineScaleSetArgs struct { // // > **Note:** This can only be set to `true` when one or more `zones` are configured. ZoneBalance *bool `pulumi:"zoneBalance"` - // 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. Zones []string `pulumi:"zones"` } @@ -880,7 +888,9 @@ type WindowsVirtualMachineScaleSetArgs struct { // // > **Note:** This can only be set to `true` when one or more `zones` are configured. ZoneBalance pulumi.BoolPtrInput - // 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. Zones pulumi.StringArrayInput } @@ -1305,7 +1315,9 @@ func (o WindowsVirtualMachineScaleSetOutput) ZoneBalance() pulumi.BoolPtrOutput return o.ApplyT(func(v *WindowsVirtualMachineScaleSet) pulumi.BoolPtrOutput { return v.ZoneBalance }).(pulumi.BoolPtrOutput) } -// 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. func (o WindowsVirtualMachineScaleSetOutput) Zones() pulumi.StringArrayOutput { return o.ApplyT(func(v *WindowsVirtualMachineScaleSet) pulumi.StringArrayOutput { return v.Zones }).(pulumi.StringArrayOutput) } diff --git a/sdk/go/azure/containerapp/customDomain.go b/sdk/go/azure/containerapp/customDomain.go index e1ac087eee..2bebb3f575 100644 --- a/sdk/go/azure/containerapp/customDomain.go +++ b/sdk/go/azure/containerapp/customDomain.go @@ -65,6 +65,8 @@ type CustomDomain struct { // // > **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. ContainerAppEnvironmentCertificateId pulumi.StringPtrOutput `pulumi:"containerAppEnvironmentCertificateId"` + // The ID of the Container App Environment Managed Certificate to use. + ContainerAppEnvironmentManagedCertificateId pulumi.StringOutput `pulumi:"containerAppEnvironmentManagedCertificateId"` // The ID of the Container App to which this Custom Domain should be bound. Changing this forces a new resource to be created. ContainerAppId pulumi.StringOutput `pulumi:"containerAppId"` // The fully qualified name of the Custom Domain. Must be the CN or a named SAN in the certificate specified by the `containerAppEnvironmentCertificateId`. Changing this forces a new resource to be created. @@ -112,6 +114,8 @@ type customDomainState struct { // // > **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. ContainerAppEnvironmentCertificateId *string `pulumi:"containerAppEnvironmentCertificateId"` + // The ID of the Container App Environment Managed Certificate to use. + ContainerAppEnvironmentManagedCertificateId *string `pulumi:"containerAppEnvironmentManagedCertificateId"` // The ID of the Container App to which this Custom Domain should be bound. Changing this forces a new resource to be created. ContainerAppId *string `pulumi:"containerAppId"` // The fully qualified name of the Custom Domain. Must be the CN or a named SAN in the certificate specified by the `containerAppEnvironmentCertificateId`. Changing this forces a new resource to be created. @@ -127,6 +131,8 @@ type CustomDomainState struct { // // > **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. ContainerAppEnvironmentCertificateId pulumi.StringPtrInput + // The ID of the Container App Environment Managed Certificate to use. + ContainerAppEnvironmentManagedCertificateId pulumi.StringPtrInput // The ID of the Container App to which this Custom Domain should be bound. Changing this forces a new resource to be created. ContainerAppId pulumi.StringPtrInput // The fully qualified name of the Custom Domain. Must be the CN or a named SAN in the certificate specified by the `containerAppEnvironmentCertificateId`. Changing this forces a new resource to be created. @@ -269,6 +275,11 @@ func (o CustomDomainOutput) ContainerAppEnvironmentCertificateId() pulumi.String return o.ApplyT(func(v *CustomDomain) pulumi.StringPtrOutput { return v.ContainerAppEnvironmentCertificateId }).(pulumi.StringPtrOutput) } +// The ID of the Container App Environment Managed Certificate to use. +func (o CustomDomainOutput) ContainerAppEnvironmentManagedCertificateId() pulumi.StringOutput { + return o.ApplyT(func(v *CustomDomain) pulumi.StringOutput { return v.ContainerAppEnvironmentManagedCertificateId }).(pulumi.StringOutput) +} + // The ID of the Container App to which this Custom Domain should be bound. Changing this forces a new resource to be created. func (o CustomDomainOutput) ContainerAppId() pulumi.StringOutput { return o.ApplyT(func(v *CustomDomain) pulumi.StringOutput { return v.ContainerAppId }).(pulumi.StringOutput) diff --git a/sdk/go/azure/containerapp/pulumiTypes.go b/sdk/go/azure/containerapp/pulumiTypes.go index e3d71ae504..3debde76f9 100644 --- a/sdk/go/azure/containerapp/pulumiTypes.go +++ b/sdk/go/azure/containerapp/pulumiTypes.go @@ -927,7 +927,7 @@ type AppIngressTrafficWeight struct { Percentage int `pulumi:"percentage"` // The suffix string to which this `trafficWeight` applies. // - // > **Note:** `latestRevision` conflicts with `revisionSuffix`, which means you shall either set `latestRevision` to `true` or specify `revisionSuffix`. Especially for creation, there shall only be one `trafficWeight`, with the `latestRevision` set to `true`, and leave the `revisionSuffix` empty. + // > **Note:** If `latestRevision` is `false`, the `revisionSuffix` shall be specified. RevisionSuffix *string `pulumi:"revisionSuffix"` } @@ -953,7 +953,7 @@ type AppIngressTrafficWeightArgs struct { Percentage pulumi.IntInput `pulumi:"percentage"` // The suffix string to which this `trafficWeight` applies. // - // > **Note:** `latestRevision` conflicts with `revisionSuffix`, which means you shall either set `latestRevision` to `true` or specify `revisionSuffix`. Especially for creation, there shall only be one `trafficWeight`, with the `latestRevision` set to `true`, and leave the `revisionSuffix` empty. + // > **Note:** If `latestRevision` is `false`, the `revisionSuffix` shall be specified. RevisionSuffix pulumi.StringPtrInput `pulumi:"revisionSuffix"` } @@ -1027,7 +1027,7 @@ func (o AppIngressTrafficWeightOutput) Percentage() pulumi.IntOutput { // The suffix string to which this `trafficWeight` applies. // -// > **Note:** `latestRevision` conflicts with `revisionSuffix`, which means you shall either set `latestRevision` to `true` or specify `revisionSuffix`. Especially for creation, there shall only be one `trafficWeight`, with the `latestRevision` set to `true`, and leave the `revisionSuffix` empty. +// > **Note:** If `latestRevision` is `false`, the `revisionSuffix` shall be specified. func (o AppIngressTrafficWeightOutput) RevisionSuffix() pulumi.StringPtrOutput { return o.ApplyT(func(v AppIngressTrafficWeight) *string { return v.RevisionSuffix }).(pulumi.StringPtrOutput) } diff --git a/sdk/go/azure/containerservice/registry.go b/sdk/go/azure/containerservice/registry.go index c1e181b2eb..17f944dbf2 100644 --- a/sdk/go/azure/containerservice/registry.go +++ b/sdk/go/azure/containerservice/registry.go @@ -159,7 +159,7 @@ type Registry struct { // // > **NOTE:** `quarantinePolicyEnabled`, `retentionPolicyInDays`, `trustPolicyEnabled`, `exportPolicyEnabled` and `zoneRedundancyEnabled` are only supported on resources with the `Premium` SKU. ExportPolicyEnabled pulumi.BoolPtrOutput `pulumi:"exportPolicyEnabled"` - // 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. // @@ -253,7 +253,7 @@ type registryState struct { // // > **NOTE:** `quarantinePolicyEnabled`, `retentionPolicyInDays`, `trustPolicyEnabled`, `exportPolicyEnabled` and `zoneRedundancyEnabled` are only supported on resources with the `Premium` SKU. ExportPolicyEnabled *bool `pulumi:"exportPolicyEnabled"` - // 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. // @@ -308,7 +308,7 @@ type RegistryState struct { // // > **NOTE:** `quarantinePolicyEnabled`, `retentionPolicyInDays`, `trustPolicyEnabled`, `exportPolicyEnabled` and `zoneRedundancyEnabled` are only supported on resources with the `Premium` SKU. ExportPolicyEnabled pulumi.BoolPtrInput - // 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. // @@ -363,7 +363,7 @@ type registryArgs struct { // // > **NOTE:** `quarantinePolicyEnabled`, `retentionPolicyInDays`, `trustPolicyEnabled`, `exportPolicyEnabled` and `zoneRedundancyEnabled` are only supported on resources with the `Premium` SKU. ExportPolicyEnabled *bool `pulumi:"exportPolicyEnabled"` - // 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. // @@ -413,7 +413,7 @@ type RegistryArgs struct { // // > **NOTE:** `quarantinePolicyEnabled`, `retentionPolicyInDays`, `trustPolicyEnabled`, `exportPolicyEnabled` and `zoneRedundancyEnabled` are only supported on resources with the `Premium` SKU. ExportPolicyEnabled pulumi.BoolPtrInput - // 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. // @@ -573,7 +573,7 @@ func (o RegistryOutput) ExportPolicyEnabled() pulumi.BoolPtrOutput { return o.ApplyT(func(v *Registry) pulumi.BoolPtrOutput { return v.ExportPolicyEnabled }).(pulumi.BoolPtrOutput) } -// 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/go/azure/dataprotection/backupPolicyMysqlFlexibleServer.go b/sdk/go/azure/dataprotection/backupPolicyMysqlFlexibleServer.go new file mode 100644 index 0000000000..8f6e6e86a7 --- /dev/null +++ b/sdk/go/azure/dataprotection/backupPolicyMysqlFlexibleServer.go @@ -0,0 +1,429 @@ +// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package dataprotection + +import ( + "context" + "reflect" + + "errors" + "github.com/pulumi/pulumi-azure/sdk/v6/go/azure/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// Manages a Backup Policy to back up MySQL Flexible Server. +// +// ## Example Usage +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core" +// "github.com/pulumi/pulumi-azure/sdk/v6/go/azure/dataprotection" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// example, err := core.NewResourceGroup(ctx, "example", &core.ResourceGroupArgs{ +// Name: pulumi.String("example-resources"), +// Location: pulumi.String("West Europe"), +// }) +// if err != nil { +// return err +// } +// exampleBackupVault, err := dataprotection.NewBackupVault(ctx, "example", &dataprotection.BackupVaultArgs{ +// Name: pulumi.String("example-backup-vault"), +// ResourceGroupName: example.Name, +// Location: example.Location, +// DatastoreType: pulumi.String("VaultStore"), +// Redundancy: pulumi.String("LocallyRedundant"), +// Identity: &dataprotection.BackupVaultIdentityArgs{ +// Type: pulumi.String("SystemAssigned"), +// }, +// }) +// if err != nil { +// return err +// } +// _, err = dataprotection.NewBackupPolicyMysqlFlexibleServer(ctx, "example", &dataprotection.BackupPolicyMysqlFlexibleServerArgs{ +// Name: pulumi.String("example-backup-policy"), +// VaultId: exampleBackupVault.ID(), +// BackupRepeatingTimeIntervals: pulumi.StringArray{ +// pulumi.String("R/2021-05-23T02:30:00+00:00/P1W"), +// }, +// TimeZone: pulumi.String("India Standard Time"), +// DefaultRetentionRule: &dataprotection.BackupPolicyMysqlFlexibleServerDefaultRetentionRuleArgs{ +// LifeCycles: dataprotection.BackupPolicyMysqlFlexibleServerDefaultRetentionRuleLifeCycleArray{ +// &dataprotection.BackupPolicyMysqlFlexibleServerDefaultRetentionRuleLifeCycleArgs{ +// Duration: pulumi.String("P4M"), +// DataStoreType: pulumi.String("VaultStore"), +// }, +// }, +// }, +// RetentionRules: dataprotection.BackupPolicyMysqlFlexibleServerRetentionRuleArray{ +// &dataprotection.BackupPolicyMysqlFlexibleServerRetentionRuleArgs{ +// Name: pulumi.String("weekly"), +// LifeCycles: dataprotection.BackupPolicyMysqlFlexibleServerRetentionRuleLifeCycleArray{ +// &dataprotection.BackupPolicyMysqlFlexibleServerRetentionRuleLifeCycleArgs{ +// Duration: pulumi.String("P6M"), +// DataStoreType: pulumi.String("VaultStore"), +// }, +// }, +// Priority: pulumi.Int(20), +// Criteria: &dataprotection.BackupPolicyMysqlFlexibleServerRetentionRuleCriteriaArgs{ +// AbsoluteCriteria: pulumi.String("FirstOfWeek"), +// }, +// }, +// &dataprotection.BackupPolicyMysqlFlexibleServerRetentionRuleArgs{ +// Name: pulumi.String("thursday"), +// LifeCycles: dataprotection.BackupPolicyMysqlFlexibleServerRetentionRuleLifeCycleArray{ +// &dataprotection.BackupPolicyMysqlFlexibleServerRetentionRuleLifeCycleArgs{ +// Duration: pulumi.String("P1W"), +// DataStoreType: pulumi.String("VaultStore"), +// }, +// }, +// Priority: pulumi.Int(25), +// Criteria: &dataprotection.BackupPolicyMysqlFlexibleServerRetentionRuleCriteriaArgs{ +// DaysOfWeeks: pulumi.StringArray{ +// pulumi.String("Thursday"), +// }, +// ScheduledBackupTimes: pulumi.StringArray{ +// pulumi.String("2021-05-23T02:30:00Z"), +// }, +// }, +// }, +// &dataprotection.BackupPolicyMysqlFlexibleServerRetentionRuleArgs{ +// Name: pulumi.String("monthly"), +// LifeCycles: dataprotection.BackupPolicyMysqlFlexibleServerRetentionRuleLifeCycleArray{ +// &dataprotection.BackupPolicyMysqlFlexibleServerRetentionRuleLifeCycleArgs{ +// Duration: pulumi.String("P1D"), +// DataStoreType: pulumi.String("VaultStore"), +// }, +// }, +// Priority: pulumi.Int(15), +// Criteria: &dataprotection.BackupPolicyMysqlFlexibleServerRetentionRuleCriteriaArgs{ +// WeeksOfMonths: pulumi.StringArray{ +// pulumi.String("First"), +// pulumi.String("Last"), +// }, +// DaysOfWeeks: pulumi.StringArray{ +// pulumi.String("Tuesday"), +// }, +// ScheduledBackupTimes: pulumi.StringArray{ +// pulumi.String("2021-05-23T02:30:00Z"), +// }, +// }, +// }, +// }, +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// ## 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 +// ``` +type BackupPolicyMysqlFlexibleServer struct { + pulumi.CustomResourceState + + // 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. + BackupRepeatingTimeIntervals pulumi.StringArrayOutput `pulumi:"backupRepeatingTimeIntervals"` + // A `defaultRetentionRule` block as defined below. Changing this forces a new resource to be created. + DefaultRetentionRule BackupPolicyMysqlFlexibleServerDefaultRetentionRuleOutput `pulumi:"defaultRetentionRule"` + // Specifies the name of the Backup Policy for the MySQL Flexible Server. Changing this forces a new resource to be created. + Name pulumi.StringOutput `pulumi:"name"` + // One or more `retentionRule` blocks as defined below. Changing this forces a new resource to be created. + RetentionRules BackupPolicyMysqlFlexibleServerRetentionRuleArrayOutput `pulumi:"retentionRules"` + // Specifies the Time Zone which should be used by the backup schedule. Changing this forces a new resource to be created. + TimeZone pulumi.StringPtrOutput `pulumi:"timeZone"` + // The ID of the Backup Vault where the Backup Policy MySQL Flexible Server should exist. Changing this forces a new resource to be created. + VaultId pulumi.StringOutput `pulumi:"vaultId"` +} + +// NewBackupPolicyMysqlFlexibleServer registers a new resource with the given unique name, arguments, and options. +func NewBackupPolicyMysqlFlexibleServer(ctx *pulumi.Context, + name string, args *BackupPolicyMysqlFlexibleServerArgs, opts ...pulumi.ResourceOption) (*BackupPolicyMysqlFlexibleServer, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.BackupRepeatingTimeIntervals == nil { + return nil, errors.New("invalid value for required argument 'BackupRepeatingTimeIntervals'") + } + if args.DefaultRetentionRule == nil { + return nil, errors.New("invalid value for required argument 'DefaultRetentionRule'") + } + if args.VaultId == nil { + return nil, errors.New("invalid value for required argument 'VaultId'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource BackupPolicyMysqlFlexibleServer + err := ctx.RegisterResource("azure:dataprotection/backupPolicyMysqlFlexibleServer:BackupPolicyMysqlFlexibleServer", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetBackupPolicyMysqlFlexibleServer gets an existing BackupPolicyMysqlFlexibleServer resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetBackupPolicyMysqlFlexibleServer(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *BackupPolicyMysqlFlexibleServerState, opts ...pulumi.ResourceOption) (*BackupPolicyMysqlFlexibleServer, error) { + var resource BackupPolicyMysqlFlexibleServer + err := ctx.ReadResource("azure:dataprotection/backupPolicyMysqlFlexibleServer:BackupPolicyMysqlFlexibleServer", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering BackupPolicyMysqlFlexibleServer resources. +type backupPolicyMysqlFlexibleServerState struct { + // 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. + BackupRepeatingTimeIntervals []string `pulumi:"backupRepeatingTimeIntervals"` + // A `defaultRetentionRule` block as defined below. Changing this forces a new resource to be created. + DefaultRetentionRule *BackupPolicyMysqlFlexibleServerDefaultRetentionRule `pulumi:"defaultRetentionRule"` + // Specifies the name of the Backup Policy for the MySQL Flexible Server. Changing this forces a new resource to be created. + Name *string `pulumi:"name"` + // One or more `retentionRule` blocks as defined below. Changing this forces a new resource to be created. + RetentionRules []BackupPolicyMysqlFlexibleServerRetentionRule `pulumi:"retentionRules"` + // Specifies the Time Zone which should be used by the backup schedule. Changing this forces a new resource to be created. + TimeZone *string `pulumi:"timeZone"` + // The ID of the Backup Vault where the Backup Policy MySQL Flexible Server should exist. Changing this forces a new resource to be created. + VaultId *string `pulumi:"vaultId"` +} + +type BackupPolicyMysqlFlexibleServerState struct { + // 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. + BackupRepeatingTimeIntervals pulumi.StringArrayInput + // A `defaultRetentionRule` block as defined below. Changing this forces a new resource to be created. + DefaultRetentionRule BackupPolicyMysqlFlexibleServerDefaultRetentionRulePtrInput + // Specifies the name of the Backup Policy for the MySQL Flexible Server. Changing this forces a new resource to be created. + Name pulumi.StringPtrInput + // One or more `retentionRule` blocks as defined below. Changing this forces a new resource to be created. + RetentionRules BackupPolicyMysqlFlexibleServerRetentionRuleArrayInput + // Specifies the Time Zone which should be used by the backup schedule. Changing this forces a new resource to be created. + TimeZone pulumi.StringPtrInput + // The ID of the Backup Vault where the Backup Policy MySQL Flexible Server should exist. Changing this forces a new resource to be created. + VaultId pulumi.StringPtrInput +} + +func (BackupPolicyMysqlFlexibleServerState) ElementType() reflect.Type { + return reflect.TypeOf((*backupPolicyMysqlFlexibleServerState)(nil)).Elem() +} + +type backupPolicyMysqlFlexibleServerArgs struct { + // 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. + BackupRepeatingTimeIntervals []string `pulumi:"backupRepeatingTimeIntervals"` + // A `defaultRetentionRule` block as defined below. Changing this forces a new resource to be created. + DefaultRetentionRule BackupPolicyMysqlFlexibleServerDefaultRetentionRule `pulumi:"defaultRetentionRule"` + // Specifies the name of the Backup Policy for the MySQL Flexible Server. Changing this forces a new resource to be created. + Name *string `pulumi:"name"` + // One or more `retentionRule` blocks as defined below. Changing this forces a new resource to be created. + RetentionRules []BackupPolicyMysqlFlexibleServerRetentionRule `pulumi:"retentionRules"` + // Specifies the Time Zone which should be used by the backup schedule. Changing this forces a new resource to be created. + TimeZone *string `pulumi:"timeZone"` + // The ID of the Backup Vault where the Backup Policy MySQL Flexible Server should exist. Changing this forces a new resource to be created. + VaultId string `pulumi:"vaultId"` +} + +// The set of arguments for constructing a BackupPolicyMysqlFlexibleServer resource. +type BackupPolicyMysqlFlexibleServerArgs struct { + // 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. + BackupRepeatingTimeIntervals pulumi.StringArrayInput + // A `defaultRetentionRule` block as defined below. Changing this forces a new resource to be created. + DefaultRetentionRule BackupPolicyMysqlFlexibleServerDefaultRetentionRuleInput + // Specifies the name of the Backup Policy for the MySQL Flexible Server. Changing this forces a new resource to be created. + Name pulumi.StringPtrInput + // One or more `retentionRule` blocks as defined below. Changing this forces a new resource to be created. + RetentionRules BackupPolicyMysqlFlexibleServerRetentionRuleArrayInput + // Specifies the Time Zone which should be used by the backup schedule. Changing this forces a new resource to be created. + TimeZone pulumi.StringPtrInput + // The ID of the Backup Vault where the Backup Policy MySQL Flexible Server should exist. Changing this forces a new resource to be created. + VaultId pulumi.StringInput +} + +func (BackupPolicyMysqlFlexibleServerArgs) ElementType() reflect.Type { + return reflect.TypeOf((*backupPolicyMysqlFlexibleServerArgs)(nil)).Elem() +} + +type BackupPolicyMysqlFlexibleServerInput interface { + pulumi.Input + + ToBackupPolicyMysqlFlexibleServerOutput() BackupPolicyMysqlFlexibleServerOutput + ToBackupPolicyMysqlFlexibleServerOutputWithContext(ctx context.Context) BackupPolicyMysqlFlexibleServerOutput +} + +func (*BackupPolicyMysqlFlexibleServer) ElementType() reflect.Type { + return reflect.TypeOf((**BackupPolicyMysqlFlexibleServer)(nil)).Elem() +} + +func (i *BackupPolicyMysqlFlexibleServer) ToBackupPolicyMysqlFlexibleServerOutput() BackupPolicyMysqlFlexibleServerOutput { + return i.ToBackupPolicyMysqlFlexibleServerOutputWithContext(context.Background()) +} + +func (i *BackupPolicyMysqlFlexibleServer) ToBackupPolicyMysqlFlexibleServerOutputWithContext(ctx context.Context) BackupPolicyMysqlFlexibleServerOutput { + return pulumi.ToOutputWithContext(ctx, i).(BackupPolicyMysqlFlexibleServerOutput) +} + +// BackupPolicyMysqlFlexibleServerArrayInput is an input type that accepts BackupPolicyMysqlFlexibleServerArray and BackupPolicyMysqlFlexibleServerArrayOutput values. +// You can construct a concrete instance of `BackupPolicyMysqlFlexibleServerArrayInput` via: +// +// BackupPolicyMysqlFlexibleServerArray{ BackupPolicyMysqlFlexibleServerArgs{...} } +type BackupPolicyMysqlFlexibleServerArrayInput interface { + pulumi.Input + + ToBackupPolicyMysqlFlexibleServerArrayOutput() BackupPolicyMysqlFlexibleServerArrayOutput + ToBackupPolicyMysqlFlexibleServerArrayOutputWithContext(context.Context) BackupPolicyMysqlFlexibleServerArrayOutput +} + +type BackupPolicyMysqlFlexibleServerArray []BackupPolicyMysqlFlexibleServerInput + +func (BackupPolicyMysqlFlexibleServerArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*BackupPolicyMysqlFlexibleServer)(nil)).Elem() +} + +func (i BackupPolicyMysqlFlexibleServerArray) ToBackupPolicyMysqlFlexibleServerArrayOutput() BackupPolicyMysqlFlexibleServerArrayOutput { + return i.ToBackupPolicyMysqlFlexibleServerArrayOutputWithContext(context.Background()) +} + +func (i BackupPolicyMysqlFlexibleServerArray) ToBackupPolicyMysqlFlexibleServerArrayOutputWithContext(ctx context.Context) BackupPolicyMysqlFlexibleServerArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(BackupPolicyMysqlFlexibleServerArrayOutput) +} + +// BackupPolicyMysqlFlexibleServerMapInput is an input type that accepts BackupPolicyMysqlFlexibleServerMap and BackupPolicyMysqlFlexibleServerMapOutput values. +// You can construct a concrete instance of `BackupPolicyMysqlFlexibleServerMapInput` via: +// +// BackupPolicyMysqlFlexibleServerMap{ "key": BackupPolicyMysqlFlexibleServerArgs{...} } +type BackupPolicyMysqlFlexibleServerMapInput interface { + pulumi.Input + + ToBackupPolicyMysqlFlexibleServerMapOutput() BackupPolicyMysqlFlexibleServerMapOutput + ToBackupPolicyMysqlFlexibleServerMapOutputWithContext(context.Context) BackupPolicyMysqlFlexibleServerMapOutput +} + +type BackupPolicyMysqlFlexibleServerMap map[string]BackupPolicyMysqlFlexibleServerInput + +func (BackupPolicyMysqlFlexibleServerMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*BackupPolicyMysqlFlexibleServer)(nil)).Elem() +} + +func (i BackupPolicyMysqlFlexibleServerMap) ToBackupPolicyMysqlFlexibleServerMapOutput() BackupPolicyMysqlFlexibleServerMapOutput { + return i.ToBackupPolicyMysqlFlexibleServerMapOutputWithContext(context.Background()) +} + +func (i BackupPolicyMysqlFlexibleServerMap) ToBackupPolicyMysqlFlexibleServerMapOutputWithContext(ctx context.Context) BackupPolicyMysqlFlexibleServerMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(BackupPolicyMysqlFlexibleServerMapOutput) +} + +type BackupPolicyMysqlFlexibleServerOutput struct{ *pulumi.OutputState } + +func (BackupPolicyMysqlFlexibleServerOutput) ElementType() reflect.Type { + return reflect.TypeOf((**BackupPolicyMysqlFlexibleServer)(nil)).Elem() +} + +func (o BackupPolicyMysqlFlexibleServerOutput) ToBackupPolicyMysqlFlexibleServerOutput() BackupPolicyMysqlFlexibleServerOutput { + return o +} + +func (o BackupPolicyMysqlFlexibleServerOutput) ToBackupPolicyMysqlFlexibleServerOutputWithContext(ctx context.Context) BackupPolicyMysqlFlexibleServerOutput { + return o +} + +// 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. +func (o BackupPolicyMysqlFlexibleServerOutput) BackupRepeatingTimeIntervals() pulumi.StringArrayOutput { + return o.ApplyT(func(v *BackupPolicyMysqlFlexibleServer) pulumi.StringArrayOutput { + return v.BackupRepeatingTimeIntervals + }).(pulumi.StringArrayOutput) +} + +// A `defaultRetentionRule` block as defined below. Changing this forces a new resource to be created. +func (o BackupPolicyMysqlFlexibleServerOutput) DefaultRetentionRule() BackupPolicyMysqlFlexibleServerDefaultRetentionRuleOutput { + return o.ApplyT(func(v *BackupPolicyMysqlFlexibleServer) BackupPolicyMysqlFlexibleServerDefaultRetentionRuleOutput { + return v.DefaultRetentionRule + }).(BackupPolicyMysqlFlexibleServerDefaultRetentionRuleOutput) +} + +// Specifies the name of the Backup Policy for the MySQL Flexible Server. Changing this forces a new resource to be created. +func (o BackupPolicyMysqlFlexibleServerOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *BackupPolicyMysqlFlexibleServer) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// One or more `retentionRule` blocks as defined below. Changing this forces a new resource to be created. +func (o BackupPolicyMysqlFlexibleServerOutput) RetentionRules() BackupPolicyMysqlFlexibleServerRetentionRuleArrayOutput { + return o.ApplyT(func(v *BackupPolicyMysqlFlexibleServer) BackupPolicyMysqlFlexibleServerRetentionRuleArrayOutput { + return v.RetentionRules + }).(BackupPolicyMysqlFlexibleServerRetentionRuleArrayOutput) +} + +// Specifies the Time Zone which should be used by the backup schedule. Changing this forces a new resource to be created. +func (o BackupPolicyMysqlFlexibleServerOutput) TimeZone() pulumi.StringPtrOutput { + return o.ApplyT(func(v *BackupPolicyMysqlFlexibleServer) pulumi.StringPtrOutput { return v.TimeZone }).(pulumi.StringPtrOutput) +} + +// The ID of the Backup Vault where the Backup Policy MySQL Flexible Server should exist. Changing this forces a new resource to be created. +func (o BackupPolicyMysqlFlexibleServerOutput) VaultId() pulumi.StringOutput { + return o.ApplyT(func(v *BackupPolicyMysqlFlexibleServer) pulumi.StringOutput { return v.VaultId }).(pulumi.StringOutput) +} + +type BackupPolicyMysqlFlexibleServerArrayOutput struct{ *pulumi.OutputState } + +func (BackupPolicyMysqlFlexibleServerArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*BackupPolicyMysqlFlexibleServer)(nil)).Elem() +} + +func (o BackupPolicyMysqlFlexibleServerArrayOutput) ToBackupPolicyMysqlFlexibleServerArrayOutput() BackupPolicyMysqlFlexibleServerArrayOutput { + return o +} + +func (o BackupPolicyMysqlFlexibleServerArrayOutput) ToBackupPolicyMysqlFlexibleServerArrayOutputWithContext(ctx context.Context) BackupPolicyMysqlFlexibleServerArrayOutput { + return o +} + +func (o BackupPolicyMysqlFlexibleServerArrayOutput) Index(i pulumi.IntInput) BackupPolicyMysqlFlexibleServerOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *BackupPolicyMysqlFlexibleServer { + return vs[0].([]*BackupPolicyMysqlFlexibleServer)[vs[1].(int)] + }).(BackupPolicyMysqlFlexibleServerOutput) +} + +type BackupPolicyMysqlFlexibleServerMapOutput struct{ *pulumi.OutputState } + +func (BackupPolicyMysqlFlexibleServerMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*BackupPolicyMysqlFlexibleServer)(nil)).Elem() +} + +func (o BackupPolicyMysqlFlexibleServerMapOutput) ToBackupPolicyMysqlFlexibleServerMapOutput() BackupPolicyMysqlFlexibleServerMapOutput { + return o +} + +func (o BackupPolicyMysqlFlexibleServerMapOutput) ToBackupPolicyMysqlFlexibleServerMapOutputWithContext(ctx context.Context) BackupPolicyMysqlFlexibleServerMapOutput { + return o +} + +func (o BackupPolicyMysqlFlexibleServerMapOutput) MapIndex(k pulumi.StringInput) BackupPolicyMysqlFlexibleServerOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *BackupPolicyMysqlFlexibleServer { + return vs[0].(map[string]*BackupPolicyMysqlFlexibleServer)[vs[1].(string)] + }).(BackupPolicyMysqlFlexibleServerOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*BackupPolicyMysqlFlexibleServerInput)(nil)).Elem(), &BackupPolicyMysqlFlexibleServer{}) + pulumi.RegisterInputType(reflect.TypeOf((*BackupPolicyMysqlFlexibleServerArrayInput)(nil)).Elem(), BackupPolicyMysqlFlexibleServerArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*BackupPolicyMysqlFlexibleServerMapInput)(nil)).Elem(), BackupPolicyMysqlFlexibleServerMap{}) + pulumi.RegisterOutputType(BackupPolicyMysqlFlexibleServerOutput{}) + pulumi.RegisterOutputType(BackupPolicyMysqlFlexibleServerArrayOutput{}) + pulumi.RegisterOutputType(BackupPolicyMysqlFlexibleServerMapOutput{}) +} diff --git a/sdk/go/azure/dataprotection/init.go b/sdk/go/azure/dataprotection/init.go index 4a91f76cf9..8066af67f9 100644 --- a/sdk/go/azure/dataprotection/init.go +++ b/sdk/go/azure/dataprotection/init.go @@ -37,6 +37,8 @@ func (m *module) Construct(ctx *pulumi.Context, name, typ, urn string) (r pulumi r = &BackupPolicyDisk{} case "azure:dataprotection/backupPolicyKubernetesCluster:BackupPolicyKubernetesCluster": r = &BackupPolicyKubernetesCluster{} + case "azure:dataprotection/backupPolicyMysqlFlexibleServer:BackupPolicyMysqlFlexibleServer": + r = &BackupPolicyMysqlFlexibleServer{} case "azure:dataprotection/backupPolicyPostgresql:BackupPolicyPostgresql": r = &BackupPolicyPostgresql{} case "azure:dataprotection/backupPolicyPostgresqlFlexibleServer:BackupPolicyPostgresqlFlexibleServer": @@ -98,6 +100,11 @@ func init() { "dataprotection/backupPolicyKubernetesCluster", &module{version}, ) + pulumi.RegisterResourceModule( + "azure", + "dataprotection/backupPolicyMysqlFlexibleServer", + &module{version}, + ) pulumi.RegisterResourceModule( "azure", "dataprotection/backupPolicyPostgresql", diff --git a/sdk/go/azure/dataprotection/pulumiTypes.go b/sdk/go/azure/dataprotection/pulumiTypes.go index 93a760fe63..7ddad5186e 100644 --- a/sdk/go/azure/dataprotection/pulumiTypes.go +++ b/sdk/go/azure/dataprotection/pulumiTypes.go @@ -1305,6 +1305,573 @@ func (o BackupPolicyKubernetesClusterRetentionRuleLifeCycleArrayOutput) Index(i }).(BackupPolicyKubernetesClusterRetentionRuleLifeCycleOutput) } +type BackupPolicyMysqlFlexibleServerDefaultRetentionRule struct { + // A `lifeCycle` block as defined below. Changing this forces a new resource to be created. + LifeCycles []BackupPolicyMysqlFlexibleServerDefaultRetentionRuleLifeCycle `pulumi:"lifeCycles"` +} + +// BackupPolicyMysqlFlexibleServerDefaultRetentionRuleInput is an input type that accepts BackupPolicyMysqlFlexibleServerDefaultRetentionRuleArgs and BackupPolicyMysqlFlexibleServerDefaultRetentionRuleOutput values. +// You can construct a concrete instance of `BackupPolicyMysqlFlexibleServerDefaultRetentionRuleInput` via: +// +// BackupPolicyMysqlFlexibleServerDefaultRetentionRuleArgs{...} +type BackupPolicyMysqlFlexibleServerDefaultRetentionRuleInput interface { + pulumi.Input + + ToBackupPolicyMysqlFlexibleServerDefaultRetentionRuleOutput() BackupPolicyMysqlFlexibleServerDefaultRetentionRuleOutput + ToBackupPolicyMysqlFlexibleServerDefaultRetentionRuleOutputWithContext(context.Context) BackupPolicyMysqlFlexibleServerDefaultRetentionRuleOutput +} + +type BackupPolicyMysqlFlexibleServerDefaultRetentionRuleArgs struct { + // A `lifeCycle` block as defined below. Changing this forces a new resource to be created. + LifeCycles BackupPolicyMysqlFlexibleServerDefaultRetentionRuleLifeCycleArrayInput `pulumi:"lifeCycles"` +} + +func (BackupPolicyMysqlFlexibleServerDefaultRetentionRuleArgs) ElementType() reflect.Type { + return reflect.TypeOf((*BackupPolicyMysqlFlexibleServerDefaultRetentionRule)(nil)).Elem() +} + +func (i BackupPolicyMysqlFlexibleServerDefaultRetentionRuleArgs) ToBackupPolicyMysqlFlexibleServerDefaultRetentionRuleOutput() BackupPolicyMysqlFlexibleServerDefaultRetentionRuleOutput { + return i.ToBackupPolicyMysqlFlexibleServerDefaultRetentionRuleOutputWithContext(context.Background()) +} + +func (i BackupPolicyMysqlFlexibleServerDefaultRetentionRuleArgs) ToBackupPolicyMysqlFlexibleServerDefaultRetentionRuleOutputWithContext(ctx context.Context) BackupPolicyMysqlFlexibleServerDefaultRetentionRuleOutput { + return pulumi.ToOutputWithContext(ctx, i).(BackupPolicyMysqlFlexibleServerDefaultRetentionRuleOutput) +} + +func (i BackupPolicyMysqlFlexibleServerDefaultRetentionRuleArgs) ToBackupPolicyMysqlFlexibleServerDefaultRetentionRulePtrOutput() BackupPolicyMysqlFlexibleServerDefaultRetentionRulePtrOutput { + return i.ToBackupPolicyMysqlFlexibleServerDefaultRetentionRulePtrOutputWithContext(context.Background()) +} + +func (i BackupPolicyMysqlFlexibleServerDefaultRetentionRuleArgs) ToBackupPolicyMysqlFlexibleServerDefaultRetentionRulePtrOutputWithContext(ctx context.Context) BackupPolicyMysqlFlexibleServerDefaultRetentionRulePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(BackupPolicyMysqlFlexibleServerDefaultRetentionRuleOutput).ToBackupPolicyMysqlFlexibleServerDefaultRetentionRulePtrOutputWithContext(ctx) +} + +// BackupPolicyMysqlFlexibleServerDefaultRetentionRulePtrInput is an input type that accepts BackupPolicyMysqlFlexibleServerDefaultRetentionRuleArgs, BackupPolicyMysqlFlexibleServerDefaultRetentionRulePtr and BackupPolicyMysqlFlexibleServerDefaultRetentionRulePtrOutput values. +// You can construct a concrete instance of `BackupPolicyMysqlFlexibleServerDefaultRetentionRulePtrInput` via: +// +// BackupPolicyMysqlFlexibleServerDefaultRetentionRuleArgs{...} +// +// or: +// +// nil +type BackupPolicyMysqlFlexibleServerDefaultRetentionRulePtrInput interface { + pulumi.Input + + ToBackupPolicyMysqlFlexibleServerDefaultRetentionRulePtrOutput() BackupPolicyMysqlFlexibleServerDefaultRetentionRulePtrOutput + ToBackupPolicyMysqlFlexibleServerDefaultRetentionRulePtrOutputWithContext(context.Context) BackupPolicyMysqlFlexibleServerDefaultRetentionRulePtrOutput +} + +type backupPolicyMysqlFlexibleServerDefaultRetentionRulePtrType BackupPolicyMysqlFlexibleServerDefaultRetentionRuleArgs + +func BackupPolicyMysqlFlexibleServerDefaultRetentionRulePtr(v *BackupPolicyMysqlFlexibleServerDefaultRetentionRuleArgs) BackupPolicyMysqlFlexibleServerDefaultRetentionRulePtrInput { + return (*backupPolicyMysqlFlexibleServerDefaultRetentionRulePtrType)(v) +} + +func (*backupPolicyMysqlFlexibleServerDefaultRetentionRulePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**BackupPolicyMysqlFlexibleServerDefaultRetentionRule)(nil)).Elem() +} + +func (i *backupPolicyMysqlFlexibleServerDefaultRetentionRulePtrType) ToBackupPolicyMysqlFlexibleServerDefaultRetentionRulePtrOutput() BackupPolicyMysqlFlexibleServerDefaultRetentionRulePtrOutput { + return i.ToBackupPolicyMysqlFlexibleServerDefaultRetentionRulePtrOutputWithContext(context.Background()) +} + +func (i *backupPolicyMysqlFlexibleServerDefaultRetentionRulePtrType) ToBackupPolicyMysqlFlexibleServerDefaultRetentionRulePtrOutputWithContext(ctx context.Context) BackupPolicyMysqlFlexibleServerDefaultRetentionRulePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(BackupPolicyMysqlFlexibleServerDefaultRetentionRulePtrOutput) +} + +type BackupPolicyMysqlFlexibleServerDefaultRetentionRuleOutput struct{ *pulumi.OutputState } + +func (BackupPolicyMysqlFlexibleServerDefaultRetentionRuleOutput) ElementType() reflect.Type { + return reflect.TypeOf((*BackupPolicyMysqlFlexibleServerDefaultRetentionRule)(nil)).Elem() +} + +func (o BackupPolicyMysqlFlexibleServerDefaultRetentionRuleOutput) ToBackupPolicyMysqlFlexibleServerDefaultRetentionRuleOutput() BackupPolicyMysqlFlexibleServerDefaultRetentionRuleOutput { + return o +} + +func (o BackupPolicyMysqlFlexibleServerDefaultRetentionRuleOutput) ToBackupPolicyMysqlFlexibleServerDefaultRetentionRuleOutputWithContext(ctx context.Context) BackupPolicyMysqlFlexibleServerDefaultRetentionRuleOutput { + return o +} + +func (o BackupPolicyMysqlFlexibleServerDefaultRetentionRuleOutput) ToBackupPolicyMysqlFlexibleServerDefaultRetentionRulePtrOutput() BackupPolicyMysqlFlexibleServerDefaultRetentionRulePtrOutput { + return o.ToBackupPolicyMysqlFlexibleServerDefaultRetentionRulePtrOutputWithContext(context.Background()) +} + +func (o BackupPolicyMysqlFlexibleServerDefaultRetentionRuleOutput) ToBackupPolicyMysqlFlexibleServerDefaultRetentionRulePtrOutputWithContext(ctx context.Context) BackupPolicyMysqlFlexibleServerDefaultRetentionRulePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v BackupPolicyMysqlFlexibleServerDefaultRetentionRule) *BackupPolicyMysqlFlexibleServerDefaultRetentionRule { + return &v + }).(BackupPolicyMysqlFlexibleServerDefaultRetentionRulePtrOutput) +} + +// A `lifeCycle` block as defined below. Changing this forces a new resource to be created. +func (o BackupPolicyMysqlFlexibleServerDefaultRetentionRuleOutput) LifeCycles() BackupPolicyMysqlFlexibleServerDefaultRetentionRuleLifeCycleArrayOutput { + return o.ApplyT(func(v BackupPolicyMysqlFlexibleServerDefaultRetentionRule) []BackupPolicyMysqlFlexibleServerDefaultRetentionRuleLifeCycle { + return v.LifeCycles + }).(BackupPolicyMysqlFlexibleServerDefaultRetentionRuleLifeCycleArrayOutput) +} + +type BackupPolicyMysqlFlexibleServerDefaultRetentionRulePtrOutput struct{ *pulumi.OutputState } + +func (BackupPolicyMysqlFlexibleServerDefaultRetentionRulePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**BackupPolicyMysqlFlexibleServerDefaultRetentionRule)(nil)).Elem() +} + +func (o BackupPolicyMysqlFlexibleServerDefaultRetentionRulePtrOutput) ToBackupPolicyMysqlFlexibleServerDefaultRetentionRulePtrOutput() BackupPolicyMysqlFlexibleServerDefaultRetentionRulePtrOutput { + return o +} + +func (o BackupPolicyMysqlFlexibleServerDefaultRetentionRulePtrOutput) ToBackupPolicyMysqlFlexibleServerDefaultRetentionRulePtrOutputWithContext(ctx context.Context) BackupPolicyMysqlFlexibleServerDefaultRetentionRulePtrOutput { + return o +} + +func (o BackupPolicyMysqlFlexibleServerDefaultRetentionRulePtrOutput) Elem() BackupPolicyMysqlFlexibleServerDefaultRetentionRuleOutput { + return o.ApplyT(func(v *BackupPolicyMysqlFlexibleServerDefaultRetentionRule) BackupPolicyMysqlFlexibleServerDefaultRetentionRule { + if v != nil { + return *v + } + var ret BackupPolicyMysqlFlexibleServerDefaultRetentionRule + return ret + }).(BackupPolicyMysqlFlexibleServerDefaultRetentionRuleOutput) +} + +// A `lifeCycle` block as defined below. Changing this forces a new resource to be created. +func (o BackupPolicyMysqlFlexibleServerDefaultRetentionRulePtrOutput) LifeCycles() BackupPolicyMysqlFlexibleServerDefaultRetentionRuleLifeCycleArrayOutput { + return o.ApplyT(func(v *BackupPolicyMysqlFlexibleServerDefaultRetentionRule) []BackupPolicyMysqlFlexibleServerDefaultRetentionRuleLifeCycle { + if v == nil { + return nil + } + return v.LifeCycles + }).(BackupPolicyMysqlFlexibleServerDefaultRetentionRuleLifeCycleArrayOutput) +} + +type BackupPolicyMysqlFlexibleServerDefaultRetentionRuleLifeCycle struct { + // The type of data store. The only possible value is `VaultStore`. Changing this forces a new resource to be created. + DataStoreType string `pulumi:"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. + Duration string `pulumi:"duration"` +} + +// BackupPolicyMysqlFlexibleServerDefaultRetentionRuleLifeCycleInput is an input type that accepts BackupPolicyMysqlFlexibleServerDefaultRetentionRuleLifeCycleArgs and BackupPolicyMysqlFlexibleServerDefaultRetentionRuleLifeCycleOutput values. +// You can construct a concrete instance of `BackupPolicyMysqlFlexibleServerDefaultRetentionRuleLifeCycleInput` via: +// +// BackupPolicyMysqlFlexibleServerDefaultRetentionRuleLifeCycleArgs{...} +type BackupPolicyMysqlFlexibleServerDefaultRetentionRuleLifeCycleInput interface { + pulumi.Input + + ToBackupPolicyMysqlFlexibleServerDefaultRetentionRuleLifeCycleOutput() BackupPolicyMysqlFlexibleServerDefaultRetentionRuleLifeCycleOutput + ToBackupPolicyMysqlFlexibleServerDefaultRetentionRuleLifeCycleOutputWithContext(context.Context) BackupPolicyMysqlFlexibleServerDefaultRetentionRuleLifeCycleOutput +} + +type BackupPolicyMysqlFlexibleServerDefaultRetentionRuleLifeCycleArgs struct { + // The type of data store. The only possible value is `VaultStore`. Changing this forces a new resource to be created. + DataStoreType pulumi.StringInput `pulumi:"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. + Duration pulumi.StringInput `pulumi:"duration"` +} + +func (BackupPolicyMysqlFlexibleServerDefaultRetentionRuleLifeCycleArgs) ElementType() reflect.Type { + return reflect.TypeOf((*BackupPolicyMysqlFlexibleServerDefaultRetentionRuleLifeCycle)(nil)).Elem() +} + +func (i BackupPolicyMysqlFlexibleServerDefaultRetentionRuleLifeCycleArgs) ToBackupPolicyMysqlFlexibleServerDefaultRetentionRuleLifeCycleOutput() BackupPolicyMysqlFlexibleServerDefaultRetentionRuleLifeCycleOutput { + return i.ToBackupPolicyMysqlFlexibleServerDefaultRetentionRuleLifeCycleOutputWithContext(context.Background()) +} + +func (i BackupPolicyMysqlFlexibleServerDefaultRetentionRuleLifeCycleArgs) ToBackupPolicyMysqlFlexibleServerDefaultRetentionRuleLifeCycleOutputWithContext(ctx context.Context) BackupPolicyMysqlFlexibleServerDefaultRetentionRuleLifeCycleOutput { + return pulumi.ToOutputWithContext(ctx, i).(BackupPolicyMysqlFlexibleServerDefaultRetentionRuleLifeCycleOutput) +} + +// BackupPolicyMysqlFlexibleServerDefaultRetentionRuleLifeCycleArrayInput is an input type that accepts BackupPolicyMysqlFlexibleServerDefaultRetentionRuleLifeCycleArray and BackupPolicyMysqlFlexibleServerDefaultRetentionRuleLifeCycleArrayOutput values. +// You can construct a concrete instance of `BackupPolicyMysqlFlexibleServerDefaultRetentionRuleLifeCycleArrayInput` via: +// +// BackupPolicyMysqlFlexibleServerDefaultRetentionRuleLifeCycleArray{ BackupPolicyMysqlFlexibleServerDefaultRetentionRuleLifeCycleArgs{...} } +type BackupPolicyMysqlFlexibleServerDefaultRetentionRuleLifeCycleArrayInput interface { + pulumi.Input + + ToBackupPolicyMysqlFlexibleServerDefaultRetentionRuleLifeCycleArrayOutput() BackupPolicyMysqlFlexibleServerDefaultRetentionRuleLifeCycleArrayOutput + ToBackupPolicyMysqlFlexibleServerDefaultRetentionRuleLifeCycleArrayOutputWithContext(context.Context) BackupPolicyMysqlFlexibleServerDefaultRetentionRuleLifeCycleArrayOutput +} + +type BackupPolicyMysqlFlexibleServerDefaultRetentionRuleLifeCycleArray []BackupPolicyMysqlFlexibleServerDefaultRetentionRuleLifeCycleInput + +func (BackupPolicyMysqlFlexibleServerDefaultRetentionRuleLifeCycleArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]BackupPolicyMysqlFlexibleServerDefaultRetentionRuleLifeCycle)(nil)).Elem() +} + +func (i BackupPolicyMysqlFlexibleServerDefaultRetentionRuleLifeCycleArray) ToBackupPolicyMysqlFlexibleServerDefaultRetentionRuleLifeCycleArrayOutput() BackupPolicyMysqlFlexibleServerDefaultRetentionRuleLifeCycleArrayOutput { + return i.ToBackupPolicyMysqlFlexibleServerDefaultRetentionRuleLifeCycleArrayOutputWithContext(context.Background()) +} + +func (i BackupPolicyMysqlFlexibleServerDefaultRetentionRuleLifeCycleArray) ToBackupPolicyMysqlFlexibleServerDefaultRetentionRuleLifeCycleArrayOutputWithContext(ctx context.Context) BackupPolicyMysqlFlexibleServerDefaultRetentionRuleLifeCycleArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(BackupPolicyMysqlFlexibleServerDefaultRetentionRuleLifeCycleArrayOutput) +} + +type BackupPolicyMysqlFlexibleServerDefaultRetentionRuleLifeCycleOutput struct{ *pulumi.OutputState } + +func (BackupPolicyMysqlFlexibleServerDefaultRetentionRuleLifeCycleOutput) ElementType() reflect.Type { + return reflect.TypeOf((*BackupPolicyMysqlFlexibleServerDefaultRetentionRuleLifeCycle)(nil)).Elem() +} + +func (o BackupPolicyMysqlFlexibleServerDefaultRetentionRuleLifeCycleOutput) ToBackupPolicyMysqlFlexibleServerDefaultRetentionRuleLifeCycleOutput() BackupPolicyMysqlFlexibleServerDefaultRetentionRuleLifeCycleOutput { + return o +} + +func (o BackupPolicyMysqlFlexibleServerDefaultRetentionRuleLifeCycleOutput) ToBackupPolicyMysqlFlexibleServerDefaultRetentionRuleLifeCycleOutputWithContext(ctx context.Context) BackupPolicyMysqlFlexibleServerDefaultRetentionRuleLifeCycleOutput { + return o +} + +// The type of data store. The only possible value is `VaultStore`. Changing this forces a new resource to be created. +func (o BackupPolicyMysqlFlexibleServerDefaultRetentionRuleLifeCycleOutput) DataStoreType() pulumi.StringOutput { + return o.ApplyT(func(v BackupPolicyMysqlFlexibleServerDefaultRetentionRuleLifeCycle) string { return v.DataStoreType }).(pulumi.StringOutput) +} + +// 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. +func (o BackupPolicyMysqlFlexibleServerDefaultRetentionRuleLifeCycleOutput) Duration() pulumi.StringOutput { + return o.ApplyT(func(v BackupPolicyMysqlFlexibleServerDefaultRetentionRuleLifeCycle) string { return v.Duration }).(pulumi.StringOutput) +} + +type BackupPolicyMysqlFlexibleServerDefaultRetentionRuleLifeCycleArrayOutput struct{ *pulumi.OutputState } + +func (BackupPolicyMysqlFlexibleServerDefaultRetentionRuleLifeCycleArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]BackupPolicyMysqlFlexibleServerDefaultRetentionRuleLifeCycle)(nil)).Elem() +} + +func (o BackupPolicyMysqlFlexibleServerDefaultRetentionRuleLifeCycleArrayOutput) ToBackupPolicyMysqlFlexibleServerDefaultRetentionRuleLifeCycleArrayOutput() BackupPolicyMysqlFlexibleServerDefaultRetentionRuleLifeCycleArrayOutput { + return o +} + +func (o BackupPolicyMysqlFlexibleServerDefaultRetentionRuleLifeCycleArrayOutput) ToBackupPolicyMysqlFlexibleServerDefaultRetentionRuleLifeCycleArrayOutputWithContext(ctx context.Context) BackupPolicyMysqlFlexibleServerDefaultRetentionRuleLifeCycleArrayOutput { + return o +} + +func (o BackupPolicyMysqlFlexibleServerDefaultRetentionRuleLifeCycleArrayOutput) Index(i pulumi.IntInput) BackupPolicyMysqlFlexibleServerDefaultRetentionRuleLifeCycleOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) BackupPolicyMysqlFlexibleServerDefaultRetentionRuleLifeCycle { + return vs[0].([]BackupPolicyMysqlFlexibleServerDefaultRetentionRuleLifeCycle)[vs[1].(int)] + }).(BackupPolicyMysqlFlexibleServerDefaultRetentionRuleLifeCycleOutput) +} + +type BackupPolicyMysqlFlexibleServerRetentionRule struct { + // A `criteria` block as defined below. Changing this forces a new resource to be created. + Criteria BackupPolicyMysqlFlexibleServerRetentionRuleCriteria `pulumi:"criteria"` + // A `lifeCycle` block as defined below. Changing this forces a new resource to be created. + LifeCycles []BackupPolicyMysqlFlexibleServerRetentionRuleLifeCycle `pulumi:"lifeCycles"` + // Specifies the name of the retention rule. Changing this forces a new resource to be created. + Name string `pulumi:"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. + Priority int `pulumi:"priority"` +} + +// BackupPolicyMysqlFlexibleServerRetentionRuleInput is an input type that accepts BackupPolicyMysqlFlexibleServerRetentionRuleArgs and BackupPolicyMysqlFlexibleServerRetentionRuleOutput values. +// You can construct a concrete instance of `BackupPolicyMysqlFlexibleServerRetentionRuleInput` via: +// +// BackupPolicyMysqlFlexibleServerRetentionRuleArgs{...} +type BackupPolicyMysqlFlexibleServerRetentionRuleInput interface { + pulumi.Input + + ToBackupPolicyMysqlFlexibleServerRetentionRuleOutput() BackupPolicyMysqlFlexibleServerRetentionRuleOutput + ToBackupPolicyMysqlFlexibleServerRetentionRuleOutputWithContext(context.Context) BackupPolicyMysqlFlexibleServerRetentionRuleOutput +} + +type BackupPolicyMysqlFlexibleServerRetentionRuleArgs struct { + // A `criteria` block as defined below. Changing this forces a new resource to be created. + Criteria BackupPolicyMysqlFlexibleServerRetentionRuleCriteriaInput `pulumi:"criteria"` + // A `lifeCycle` block as defined below. Changing this forces a new resource to be created. + LifeCycles BackupPolicyMysqlFlexibleServerRetentionRuleLifeCycleArrayInput `pulumi:"lifeCycles"` + // Specifies the name of the retention rule. Changing this forces a new resource to be created. + Name pulumi.StringInput `pulumi:"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. + Priority pulumi.IntInput `pulumi:"priority"` +} + +func (BackupPolicyMysqlFlexibleServerRetentionRuleArgs) ElementType() reflect.Type { + return reflect.TypeOf((*BackupPolicyMysqlFlexibleServerRetentionRule)(nil)).Elem() +} + +func (i BackupPolicyMysqlFlexibleServerRetentionRuleArgs) ToBackupPolicyMysqlFlexibleServerRetentionRuleOutput() BackupPolicyMysqlFlexibleServerRetentionRuleOutput { + return i.ToBackupPolicyMysqlFlexibleServerRetentionRuleOutputWithContext(context.Background()) +} + +func (i BackupPolicyMysqlFlexibleServerRetentionRuleArgs) ToBackupPolicyMysqlFlexibleServerRetentionRuleOutputWithContext(ctx context.Context) BackupPolicyMysqlFlexibleServerRetentionRuleOutput { + return pulumi.ToOutputWithContext(ctx, i).(BackupPolicyMysqlFlexibleServerRetentionRuleOutput) +} + +// BackupPolicyMysqlFlexibleServerRetentionRuleArrayInput is an input type that accepts BackupPolicyMysqlFlexibleServerRetentionRuleArray and BackupPolicyMysqlFlexibleServerRetentionRuleArrayOutput values. +// You can construct a concrete instance of `BackupPolicyMysqlFlexibleServerRetentionRuleArrayInput` via: +// +// BackupPolicyMysqlFlexibleServerRetentionRuleArray{ BackupPolicyMysqlFlexibleServerRetentionRuleArgs{...} } +type BackupPolicyMysqlFlexibleServerRetentionRuleArrayInput interface { + pulumi.Input + + ToBackupPolicyMysqlFlexibleServerRetentionRuleArrayOutput() BackupPolicyMysqlFlexibleServerRetentionRuleArrayOutput + ToBackupPolicyMysqlFlexibleServerRetentionRuleArrayOutputWithContext(context.Context) BackupPolicyMysqlFlexibleServerRetentionRuleArrayOutput +} + +type BackupPolicyMysqlFlexibleServerRetentionRuleArray []BackupPolicyMysqlFlexibleServerRetentionRuleInput + +func (BackupPolicyMysqlFlexibleServerRetentionRuleArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]BackupPolicyMysqlFlexibleServerRetentionRule)(nil)).Elem() +} + +func (i BackupPolicyMysqlFlexibleServerRetentionRuleArray) ToBackupPolicyMysqlFlexibleServerRetentionRuleArrayOutput() BackupPolicyMysqlFlexibleServerRetentionRuleArrayOutput { + return i.ToBackupPolicyMysqlFlexibleServerRetentionRuleArrayOutputWithContext(context.Background()) +} + +func (i BackupPolicyMysqlFlexibleServerRetentionRuleArray) ToBackupPolicyMysqlFlexibleServerRetentionRuleArrayOutputWithContext(ctx context.Context) BackupPolicyMysqlFlexibleServerRetentionRuleArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(BackupPolicyMysqlFlexibleServerRetentionRuleArrayOutput) +} + +type BackupPolicyMysqlFlexibleServerRetentionRuleOutput struct{ *pulumi.OutputState } + +func (BackupPolicyMysqlFlexibleServerRetentionRuleOutput) ElementType() reflect.Type { + return reflect.TypeOf((*BackupPolicyMysqlFlexibleServerRetentionRule)(nil)).Elem() +} + +func (o BackupPolicyMysqlFlexibleServerRetentionRuleOutput) ToBackupPolicyMysqlFlexibleServerRetentionRuleOutput() BackupPolicyMysqlFlexibleServerRetentionRuleOutput { + return o +} + +func (o BackupPolicyMysqlFlexibleServerRetentionRuleOutput) ToBackupPolicyMysqlFlexibleServerRetentionRuleOutputWithContext(ctx context.Context) BackupPolicyMysqlFlexibleServerRetentionRuleOutput { + return o +} + +// A `criteria` block as defined below. Changing this forces a new resource to be created. +func (o BackupPolicyMysqlFlexibleServerRetentionRuleOutput) Criteria() BackupPolicyMysqlFlexibleServerRetentionRuleCriteriaOutput { + return o.ApplyT(func(v BackupPolicyMysqlFlexibleServerRetentionRule) BackupPolicyMysqlFlexibleServerRetentionRuleCriteria { + return v.Criteria + }).(BackupPolicyMysqlFlexibleServerRetentionRuleCriteriaOutput) +} + +// A `lifeCycle` block as defined below. Changing this forces a new resource to be created. +func (o BackupPolicyMysqlFlexibleServerRetentionRuleOutput) LifeCycles() BackupPolicyMysqlFlexibleServerRetentionRuleLifeCycleArrayOutput { + return o.ApplyT(func(v BackupPolicyMysqlFlexibleServerRetentionRule) []BackupPolicyMysqlFlexibleServerRetentionRuleLifeCycle { + return v.LifeCycles + }).(BackupPolicyMysqlFlexibleServerRetentionRuleLifeCycleArrayOutput) +} + +// Specifies the name of the retention rule. Changing this forces a new resource to be created. +func (o BackupPolicyMysqlFlexibleServerRetentionRuleOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v BackupPolicyMysqlFlexibleServerRetentionRule) string { return v.Name }).(pulumi.StringOutput) +} + +// 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. +func (o BackupPolicyMysqlFlexibleServerRetentionRuleOutput) Priority() pulumi.IntOutput { + return o.ApplyT(func(v BackupPolicyMysqlFlexibleServerRetentionRule) int { return v.Priority }).(pulumi.IntOutput) +} + +type BackupPolicyMysqlFlexibleServerRetentionRuleArrayOutput struct{ *pulumi.OutputState } + +func (BackupPolicyMysqlFlexibleServerRetentionRuleArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]BackupPolicyMysqlFlexibleServerRetentionRule)(nil)).Elem() +} + +func (o BackupPolicyMysqlFlexibleServerRetentionRuleArrayOutput) ToBackupPolicyMysqlFlexibleServerRetentionRuleArrayOutput() BackupPolicyMysqlFlexibleServerRetentionRuleArrayOutput { + return o +} + +func (o BackupPolicyMysqlFlexibleServerRetentionRuleArrayOutput) ToBackupPolicyMysqlFlexibleServerRetentionRuleArrayOutputWithContext(ctx context.Context) BackupPolicyMysqlFlexibleServerRetentionRuleArrayOutput { + return o +} + +func (o BackupPolicyMysqlFlexibleServerRetentionRuleArrayOutput) Index(i pulumi.IntInput) BackupPolicyMysqlFlexibleServerRetentionRuleOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) BackupPolicyMysqlFlexibleServerRetentionRule { + return vs[0].([]BackupPolicyMysqlFlexibleServerRetentionRule)[vs[1].(int)] + }).(BackupPolicyMysqlFlexibleServerRetentionRuleOutput) +} + +type BackupPolicyMysqlFlexibleServerRetentionRuleCriteria struct { + // 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. + AbsoluteCriteria *string `pulumi:"absoluteCriteria"` + // Possible values are `Monday`, `Tuesday`, `Thursday`, `Friday`, `Saturday` and `Sunday`. Changing this forces a new resource to be created. + DaysOfWeeks []string `pulumi:"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. + MonthsOfYears []string `pulumi:"monthsOfYears"` + // Specifies a list of backup times for backup in the `RFC3339` format. Changing this forces a new resource to be created. + ScheduledBackupTimes []string `pulumi:"scheduledBackupTimes"` + // Possible values are `First`, `Second`, `Third`, `Fourth` and `Last`. Changing this forces a new resource to be created. + WeeksOfMonths []string `pulumi:"weeksOfMonths"` +} + +// BackupPolicyMysqlFlexibleServerRetentionRuleCriteriaInput is an input type that accepts BackupPolicyMysqlFlexibleServerRetentionRuleCriteriaArgs and BackupPolicyMysqlFlexibleServerRetentionRuleCriteriaOutput values. +// You can construct a concrete instance of `BackupPolicyMysqlFlexibleServerRetentionRuleCriteriaInput` via: +// +// BackupPolicyMysqlFlexibleServerRetentionRuleCriteriaArgs{...} +type BackupPolicyMysqlFlexibleServerRetentionRuleCriteriaInput interface { + pulumi.Input + + ToBackupPolicyMysqlFlexibleServerRetentionRuleCriteriaOutput() BackupPolicyMysqlFlexibleServerRetentionRuleCriteriaOutput + ToBackupPolicyMysqlFlexibleServerRetentionRuleCriteriaOutputWithContext(context.Context) BackupPolicyMysqlFlexibleServerRetentionRuleCriteriaOutput +} + +type BackupPolicyMysqlFlexibleServerRetentionRuleCriteriaArgs struct { + // 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. + AbsoluteCriteria pulumi.StringPtrInput `pulumi:"absoluteCriteria"` + // Possible values are `Monday`, `Tuesday`, `Thursday`, `Friday`, `Saturday` and `Sunday`. Changing this forces a new resource to be created. + DaysOfWeeks pulumi.StringArrayInput `pulumi:"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. + MonthsOfYears pulumi.StringArrayInput `pulumi:"monthsOfYears"` + // Specifies a list of backup times for backup in the `RFC3339` format. Changing this forces a new resource to be created. + ScheduledBackupTimes pulumi.StringArrayInput `pulumi:"scheduledBackupTimes"` + // Possible values are `First`, `Second`, `Third`, `Fourth` and `Last`. Changing this forces a new resource to be created. + WeeksOfMonths pulumi.StringArrayInput `pulumi:"weeksOfMonths"` +} + +func (BackupPolicyMysqlFlexibleServerRetentionRuleCriteriaArgs) ElementType() reflect.Type { + return reflect.TypeOf((*BackupPolicyMysqlFlexibleServerRetentionRuleCriteria)(nil)).Elem() +} + +func (i BackupPolicyMysqlFlexibleServerRetentionRuleCriteriaArgs) ToBackupPolicyMysqlFlexibleServerRetentionRuleCriteriaOutput() BackupPolicyMysqlFlexibleServerRetentionRuleCriteriaOutput { + return i.ToBackupPolicyMysqlFlexibleServerRetentionRuleCriteriaOutputWithContext(context.Background()) +} + +func (i BackupPolicyMysqlFlexibleServerRetentionRuleCriteriaArgs) ToBackupPolicyMysqlFlexibleServerRetentionRuleCriteriaOutputWithContext(ctx context.Context) BackupPolicyMysqlFlexibleServerRetentionRuleCriteriaOutput { + return pulumi.ToOutputWithContext(ctx, i).(BackupPolicyMysqlFlexibleServerRetentionRuleCriteriaOutput) +} + +type BackupPolicyMysqlFlexibleServerRetentionRuleCriteriaOutput struct{ *pulumi.OutputState } + +func (BackupPolicyMysqlFlexibleServerRetentionRuleCriteriaOutput) ElementType() reflect.Type { + return reflect.TypeOf((*BackupPolicyMysqlFlexibleServerRetentionRuleCriteria)(nil)).Elem() +} + +func (o BackupPolicyMysqlFlexibleServerRetentionRuleCriteriaOutput) ToBackupPolicyMysqlFlexibleServerRetentionRuleCriteriaOutput() BackupPolicyMysqlFlexibleServerRetentionRuleCriteriaOutput { + return o +} + +func (o BackupPolicyMysqlFlexibleServerRetentionRuleCriteriaOutput) ToBackupPolicyMysqlFlexibleServerRetentionRuleCriteriaOutputWithContext(ctx context.Context) BackupPolicyMysqlFlexibleServerRetentionRuleCriteriaOutput { + return o +} + +// 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. +func (o BackupPolicyMysqlFlexibleServerRetentionRuleCriteriaOutput) AbsoluteCriteria() pulumi.StringPtrOutput { + return o.ApplyT(func(v BackupPolicyMysqlFlexibleServerRetentionRuleCriteria) *string { return v.AbsoluteCriteria }).(pulumi.StringPtrOutput) +} + +// Possible values are `Monday`, `Tuesday`, `Thursday`, `Friday`, `Saturday` and `Sunday`. Changing this forces a new resource to be created. +func (o BackupPolicyMysqlFlexibleServerRetentionRuleCriteriaOutput) DaysOfWeeks() pulumi.StringArrayOutput { + return o.ApplyT(func(v BackupPolicyMysqlFlexibleServerRetentionRuleCriteria) []string { return v.DaysOfWeeks }).(pulumi.StringArrayOutput) +} + +// 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. +func (o BackupPolicyMysqlFlexibleServerRetentionRuleCriteriaOutput) MonthsOfYears() pulumi.StringArrayOutput { + return o.ApplyT(func(v BackupPolicyMysqlFlexibleServerRetentionRuleCriteria) []string { return v.MonthsOfYears }).(pulumi.StringArrayOutput) +} + +// Specifies a list of backup times for backup in the `RFC3339` format. Changing this forces a new resource to be created. +func (o BackupPolicyMysqlFlexibleServerRetentionRuleCriteriaOutput) ScheduledBackupTimes() pulumi.StringArrayOutput { + return o.ApplyT(func(v BackupPolicyMysqlFlexibleServerRetentionRuleCriteria) []string { return v.ScheduledBackupTimes }).(pulumi.StringArrayOutput) +} + +// Possible values are `First`, `Second`, `Third`, `Fourth` and `Last`. Changing this forces a new resource to be created. +func (o BackupPolicyMysqlFlexibleServerRetentionRuleCriteriaOutput) WeeksOfMonths() pulumi.StringArrayOutput { + return o.ApplyT(func(v BackupPolicyMysqlFlexibleServerRetentionRuleCriteria) []string { return v.WeeksOfMonths }).(pulumi.StringArrayOutput) +} + +type BackupPolicyMysqlFlexibleServerRetentionRuleLifeCycle struct { + // The type of data store. The only possible value is `VaultStore`. Changing this forces a new resource to be created. + DataStoreType string `pulumi:"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. + Duration string `pulumi:"duration"` +} + +// BackupPolicyMysqlFlexibleServerRetentionRuleLifeCycleInput is an input type that accepts BackupPolicyMysqlFlexibleServerRetentionRuleLifeCycleArgs and BackupPolicyMysqlFlexibleServerRetentionRuleLifeCycleOutput values. +// You can construct a concrete instance of `BackupPolicyMysqlFlexibleServerRetentionRuleLifeCycleInput` via: +// +// BackupPolicyMysqlFlexibleServerRetentionRuleLifeCycleArgs{...} +type BackupPolicyMysqlFlexibleServerRetentionRuleLifeCycleInput interface { + pulumi.Input + + ToBackupPolicyMysqlFlexibleServerRetentionRuleLifeCycleOutput() BackupPolicyMysqlFlexibleServerRetentionRuleLifeCycleOutput + ToBackupPolicyMysqlFlexibleServerRetentionRuleLifeCycleOutputWithContext(context.Context) BackupPolicyMysqlFlexibleServerRetentionRuleLifeCycleOutput +} + +type BackupPolicyMysqlFlexibleServerRetentionRuleLifeCycleArgs struct { + // The type of data store. The only possible value is `VaultStore`. Changing this forces a new resource to be created. + DataStoreType pulumi.StringInput `pulumi:"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. + Duration pulumi.StringInput `pulumi:"duration"` +} + +func (BackupPolicyMysqlFlexibleServerRetentionRuleLifeCycleArgs) ElementType() reflect.Type { + return reflect.TypeOf((*BackupPolicyMysqlFlexibleServerRetentionRuleLifeCycle)(nil)).Elem() +} + +func (i BackupPolicyMysqlFlexibleServerRetentionRuleLifeCycleArgs) ToBackupPolicyMysqlFlexibleServerRetentionRuleLifeCycleOutput() BackupPolicyMysqlFlexibleServerRetentionRuleLifeCycleOutput { + return i.ToBackupPolicyMysqlFlexibleServerRetentionRuleLifeCycleOutputWithContext(context.Background()) +} + +func (i BackupPolicyMysqlFlexibleServerRetentionRuleLifeCycleArgs) ToBackupPolicyMysqlFlexibleServerRetentionRuleLifeCycleOutputWithContext(ctx context.Context) BackupPolicyMysqlFlexibleServerRetentionRuleLifeCycleOutput { + return pulumi.ToOutputWithContext(ctx, i).(BackupPolicyMysqlFlexibleServerRetentionRuleLifeCycleOutput) +} + +// BackupPolicyMysqlFlexibleServerRetentionRuleLifeCycleArrayInput is an input type that accepts BackupPolicyMysqlFlexibleServerRetentionRuleLifeCycleArray and BackupPolicyMysqlFlexibleServerRetentionRuleLifeCycleArrayOutput values. +// You can construct a concrete instance of `BackupPolicyMysqlFlexibleServerRetentionRuleLifeCycleArrayInput` via: +// +// BackupPolicyMysqlFlexibleServerRetentionRuleLifeCycleArray{ BackupPolicyMysqlFlexibleServerRetentionRuleLifeCycleArgs{...} } +type BackupPolicyMysqlFlexibleServerRetentionRuleLifeCycleArrayInput interface { + pulumi.Input + + ToBackupPolicyMysqlFlexibleServerRetentionRuleLifeCycleArrayOutput() BackupPolicyMysqlFlexibleServerRetentionRuleLifeCycleArrayOutput + ToBackupPolicyMysqlFlexibleServerRetentionRuleLifeCycleArrayOutputWithContext(context.Context) BackupPolicyMysqlFlexibleServerRetentionRuleLifeCycleArrayOutput +} + +type BackupPolicyMysqlFlexibleServerRetentionRuleLifeCycleArray []BackupPolicyMysqlFlexibleServerRetentionRuleLifeCycleInput + +func (BackupPolicyMysqlFlexibleServerRetentionRuleLifeCycleArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]BackupPolicyMysqlFlexibleServerRetentionRuleLifeCycle)(nil)).Elem() +} + +func (i BackupPolicyMysqlFlexibleServerRetentionRuleLifeCycleArray) ToBackupPolicyMysqlFlexibleServerRetentionRuleLifeCycleArrayOutput() BackupPolicyMysqlFlexibleServerRetentionRuleLifeCycleArrayOutput { + return i.ToBackupPolicyMysqlFlexibleServerRetentionRuleLifeCycleArrayOutputWithContext(context.Background()) +} + +func (i BackupPolicyMysqlFlexibleServerRetentionRuleLifeCycleArray) ToBackupPolicyMysqlFlexibleServerRetentionRuleLifeCycleArrayOutputWithContext(ctx context.Context) BackupPolicyMysqlFlexibleServerRetentionRuleLifeCycleArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(BackupPolicyMysqlFlexibleServerRetentionRuleLifeCycleArrayOutput) +} + +type BackupPolicyMysqlFlexibleServerRetentionRuleLifeCycleOutput struct{ *pulumi.OutputState } + +func (BackupPolicyMysqlFlexibleServerRetentionRuleLifeCycleOutput) ElementType() reflect.Type { + return reflect.TypeOf((*BackupPolicyMysqlFlexibleServerRetentionRuleLifeCycle)(nil)).Elem() +} + +func (o BackupPolicyMysqlFlexibleServerRetentionRuleLifeCycleOutput) ToBackupPolicyMysqlFlexibleServerRetentionRuleLifeCycleOutput() BackupPolicyMysqlFlexibleServerRetentionRuleLifeCycleOutput { + return o +} + +func (o BackupPolicyMysqlFlexibleServerRetentionRuleLifeCycleOutput) ToBackupPolicyMysqlFlexibleServerRetentionRuleLifeCycleOutputWithContext(ctx context.Context) BackupPolicyMysqlFlexibleServerRetentionRuleLifeCycleOutput { + return o +} + +// The type of data store. The only possible value is `VaultStore`. Changing this forces a new resource to be created. +func (o BackupPolicyMysqlFlexibleServerRetentionRuleLifeCycleOutput) DataStoreType() pulumi.StringOutput { + return o.ApplyT(func(v BackupPolicyMysqlFlexibleServerRetentionRuleLifeCycle) string { return v.DataStoreType }).(pulumi.StringOutput) +} + +// 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. +func (o BackupPolicyMysqlFlexibleServerRetentionRuleLifeCycleOutput) Duration() pulumi.StringOutput { + return o.ApplyT(func(v BackupPolicyMysqlFlexibleServerRetentionRuleLifeCycle) string { return v.Duration }).(pulumi.StringOutput) +} + +type BackupPolicyMysqlFlexibleServerRetentionRuleLifeCycleArrayOutput struct{ *pulumi.OutputState } + +func (BackupPolicyMysqlFlexibleServerRetentionRuleLifeCycleArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]BackupPolicyMysqlFlexibleServerRetentionRuleLifeCycle)(nil)).Elem() +} + +func (o BackupPolicyMysqlFlexibleServerRetentionRuleLifeCycleArrayOutput) ToBackupPolicyMysqlFlexibleServerRetentionRuleLifeCycleArrayOutput() BackupPolicyMysqlFlexibleServerRetentionRuleLifeCycleArrayOutput { + return o +} + +func (o BackupPolicyMysqlFlexibleServerRetentionRuleLifeCycleArrayOutput) ToBackupPolicyMysqlFlexibleServerRetentionRuleLifeCycleArrayOutputWithContext(ctx context.Context) BackupPolicyMysqlFlexibleServerRetentionRuleLifeCycleArrayOutput { + return o +} + +func (o BackupPolicyMysqlFlexibleServerRetentionRuleLifeCycleArrayOutput) Index(i pulumi.IntInput) BackupPolicyMysqlFlexibleServerRetentionRuleLifeCycleOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) BackupPolicyMysqlFlexibleServerRetentionRuleLifeCycle { + return vs[0].([]BackupPolicyMysqlFlexibleServerRetentionRuleLifeCycle)[vs[1].(int)] + }).(BackupPolicyMysqlFlexibleServerRetentionRuleLifeCycleOutput) +} + type BackupPolicyPostgresqlFlexibleServerDefaultRetentionRule struct { // A `lifeCycle` block as defined below. Changing this forces a new resource to be created. LifeCycles []BackupPolicyPostgresqlFlexibleServerDefaultRetentionRuleLifeCycle `pulumi:"lifeCycles"` @@ -2399,6 +2966,15 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*BackupPolicyKubernetesClusterRetentionRuleCriteriaInput)(nil)).Elem(), BackupPolicyKubernetesClusterRetentionRuleCriteriaArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*BackupPolicyKubernetesClusterRetentionRuleLifeCycleInput)(nil)).Elem(), BackupPolicyKubernetesClusterRetentionRuleLifeCycleArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*BackupPolicyKubernetesClusterRetentionRuleLifeCycleArrayInput)(nil)).Elem(), BackupPolicyKubernetesClusterRetentionRuleLifeCycleArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*BackupPolicyMysqlFlexibleServerDefaultRetentionRuleInput)(nil)).Elem(), BackupPolicyMysqlFlexibleServerDefaultRetentionRuleArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*BackupPolicyMysqlFlexibleServerDefaultRetentionRulePtrInput)(nil)).Elem(), BackupPolicyMysqlFlexibleServerDefaultRetentionRuleArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*BackupPolicyMysqlFlexibleServerDefaultRetentionRuleLifeCycleInput)(nil)).Elem(), BackupPolicyMysqlFlexibleServerDefaultRetentionRuleLifeCycleArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*BackupPolicyMysqlFlexibleServerDefaultRetentionRuleLifeCycleArrayInput)(nil)).Elem(), BackupPolicyMysqlFlexibleServerDefaultRetentionRuleLifeCycleArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*BackupPolicyMysqlFlexibleServerRetentionRuleInput)(nil)).Elem(), BackupPolicyMysqlFlexibleServerRetentionRuleArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*BackupPolicyMysqlFlexibleServerRetentionRuleArrayInput)(nil)).Elem(), BackupPolicyMysqlFlexibleServerRetentionRuleArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*BackupPolicyMysqlFlexibleServerRetentionRuleCriteriaInput)(nil)).Elem(), BackupPolicyMysqlFlexibleServerRetentionRuleCriteriaArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*BackupPolicyMysqlFlexibleServerRetentionRuleLifeCycleInput)(nil)).Elem(), BackupPolicyMysqlFlexibleServerRetentionRuleLifeCycleArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*BackupPolicyMysqlFlexibleServerRetentionRuleLifeCycleArrayInput)(nil)).Elem(), BackupPolicyMysqlFlexibleServerRetentionRuleLifeCycleArray{}) pulumi.RegisterInputType(reflect.TypeOf((*BackupPolicyPostgresqlFlexibleServerDefaultRetentionRuleInput)(nil)).Elem(), BackupPolicyPostgresqlFlexibleServerDefaultRetentionRuleArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*BackupPolicyPostgresqlFlexibleServerDefaultRetentionRulePtrInput)(nil)).Elem(), BackupPolicyPostgresqlFlexibleServerDefaultRetentionRuleArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*BackupPolicyPostgresqlFlexibleServerDefaultRetentionRuleLifeCycleInput)(nil)).Elem(), BackupPolicyPostgresqlFlexibleServerDefaultRetentionRuleLifeCycleArgs{}) @@ -2433,6 +3009,15 @@ func init() { pulumi.RegisterOutputType(BackupPolicyKubernetesClusterRetentionRuleCriteriaOutput{}) pulumi.RegisterOutputType(BackupPolicyKubernetesClusterRetentionRuleLifeCycleOutput{}) pulumi.RegisterOutputType(BackupPolicyKubernetesClusterRetentionRuleLifeCycleArrayOutput{}) + pulumi.RegisterOutputType(BackupPolicyMysqlFlexibleServerDefaultRetentionRuleOutput{}) + pulumi.RegisterOutputType(BackupPolicyMysqlFlexibleServerDefaultRetentionRulePtrOutput{}) + pulumi.RegisterOutputType(BackupPolicyMysqlFlexibleServerDefaultRetentionRuleLifeCycleOutput{}) + pulumi.RegisterOutputType(BackupPolicyMysqlFlexibleServerDefaultRetentionRuleLifeCycleArrayOutput{}) + pulumi.RegisterOutputType(BackupPolicyMysqlFlexibleServerRetentionRuleOutput{}) + pulumi.RegisterOutputType(BackupPolicyMysqlFlexibleServerRetentionRuleArrayOutput{}) + pulumi.RegisterOutputType(BackupPolicyMysqlFlexibleServerRetentionRuleCriteriaOutput{}) + pulumi.RegisterOutputType(BackupPolicyMysqlFlexibleServerRetentionRuleLifeCycleOutput{}) + pulumi.RegisterOutputType(BackupPolicyMysqlFlexibleServerRetentionRuleLifeCycleArrayOutput{}) pulumi.RegisterOutputType(BackupPolicyPostgresqlFlexibleServerDefaultRetentionRuleOutput{}) pulumi.RegisterOutputType(BackupPolicyPostgresqlFlexibleServerDefaultRetentionRulePtrOutput{}) pulumi.RegisterOutputType(BackupPolicyPostgresqlFlexibleServerDefaultRetentionRuleLifeCycleOutput{}) diff --git a/sdk/go/azure/keyvault/init.go b/sdk/go/azure/keyvault/init.go index e22f134adb..b667d70db8 100644 --- a/sdk/go/azure/keyvault/init.go +++ b/sdk/go/azure/keyvault/init.go @@ -39,6 +39,8 @@ func (m *module) Construct(ctx *pulumi.Context, name, typ, urn string) (r pulumi r = &ManagedHardwareSecurityModule{} case "azure:keyvault/managedHardwareSecurityModuleKey:ManagedHardwareSecurityModuleKey": r = &ManagedHardwareSecurityModuleKey{} + case "azure:keyvault/managedHardwareSecurityModuleKeyRotationPolicy:ManagedHardwareSecurityModuleKeyRotationPolicy": + r = &ManagedHardwareSecurityModuleKeyRotationPolicy{} case "azure:keyvault/managedHardwareSecurityModuleRoleAssignment:ManagedHardwareSecurityModuleRoleAssignment": r = &ManagedHardwareSecurityModuleRoleAssignment{} case "azure:keyvault/managedHardwareSecurityModuleRoleDefinition:ManagedHardwareSecurityModuleRoleDefinition": @@ -107,6 +109,11 @@ func init() { "keyvault/managedHardwareSecurityModuleKey", &module{version}, ) + pulumi.RegisterResourceModule( + "azure", + "keyvault/managedHardwareSecurityModuleKeyRotationPolicy", + &module{version}, + ) pulumi.RegisterResourceModule( "azure", "keyvault/managedHardwareSecurityModuleRoleAssignment", diff --git a/sdk/go/azure/keyvault/managedHardwareSecurityModuleKeyRotationPolicy.go b/sdk/go/azure/keyvault/managedHardwareSecurityModuleKeyRotationPolicy.go new file mode 100644 index 0000000000..5693ef8250 --- /dev/null +++ b/sdk/go/azure/keyvault/managedHardwareSecurityModuleKeyRotationPolicy.go @@ -0,0 +1,319 @@ +// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package keyvault + +import ( + "context" + "reflect" + + "errors" + "github.com/pulumi/pulumi-azure/sdk/v6/go/azure/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// Manages a Managed HSM Key rotation policy. +// +// ## Example Usage +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-azure/sdk/v6/go/azure/keyvault" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// example, err := keyvault.NewManagedHardwareSecurityModuleKey(ctx, "example", &keyvault.ManagedHardwareSecurityModuleKeyArgs{ +// Name: pulumi.String("example-key"), +// ManagedHsmId: pulumi.Any(exampleAzurermKeyVaultManagedHardwareSecurityModule.Id), +// KeyType: pulumi.String("EC-HSM"), +// Curve: pulumi.String("P-521"), +// KeyOpts: pulumi.StringArray{ +// pulumi.String("sign"), +// }, +// }) +// if err != nil { +// return err +// } +// _, err = keyvault.NewManagedHardwareSecurityModuleKeyRotationPolicy(ctx, "example", &keyvault.ManagedHardwareSecurityModuleKeyRotationPolicyArgs{ +// ManagedHsmKeyId: example.ID(), +// ExpireAfter: pulumi.String("P60D"), +// TimeBeforeExpiry: pulumi.String("P30D"), +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// ## 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 +// ``` +type ManagedHardwareSecurityModuleKeyRotationPolicy struct { + pulumi.CustomResourceState + + // 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`. + ExpireAfter pulumi.StringOutput `pulumi:"expireAfter"` + // The ID of the Managed HSM Key. Changing this forces a new Managed HSM Key rotation policy to be created. + ManagedHsmKeyId pulumi.StringOutput `pulumi:"managedHsmKeyId"` + // Rotate automatically at a duration after key creation as an [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations). Exactly one of `timeAfterCreation` or `timeBeforeExpiry` should be specified. + TimeAfterCreation pulumi.StringPtrOutput `pulumi:"timeAfterCreation"` + // Rotate automatically at a duration before key expiry as an [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations). Exactly one of `timeAfterCreation` or `timeBeforeExpiry` should be specified. + TimeBeforeExpiry pulumi.StringPtrOutput `pulumi:"timeBeforeExpiry"` +} + +// NewManagedHardwareSecurityModuleKeyRotationPolicy registers a new resource with the given unique name, arguments, and options. +func NewManagedHardwareSecurityModuleKeyRotationPolicy(ctx *pulumi.Context, + name string, args *ManagedHardwareSecurityModuleKeyRotationPolicyArgs, opts ...pulumi.ResourceOption) (*ManagedHardwareSecurityModuleKeyRotationPolicy, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.ExpireAfter == nil { + return nil, errors.New("invalid value for required argument 'ExpireAfter'") + } + if args.ManagedHsmKeyId == nil { + return nil, errors.New("invalid value for required argument 'ManagedHsmKeyId'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource ManagedHardwareSecurityModuleKeyRotationPolicy + err := ctx.RegisterResource("azure:keyvault/managedHardwareSecurityModuleKeyRotationPolicy:ManagedHardwareSecurityModuleKeyRotationPolicy", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetManagedHardwareSecurityModuleKeyRotationPolicy gets an existing ManagedHardwareSecurityModuleKeyRotationPolicy resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetManagedHardwareSecurityModuleKeyRotationPolicy(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *ManagedHardwareSecurityModuleKeyRotationPolicyState, opts ...pulumi.ResourceOption) (*ManagedHardwareSecurityModuleKeyRotationPolicy, error) { + var resource ManagedHardwareSecurityModuleKeyRotationPolicy + err := ctx.ReadResource("azure:keyvault/managedHardwareSecurityModuleKeyRotationPolicy:ManagedHardwareSecurityModuleKeyRotationPolicy", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering ManagedHardwareSecurityModuleKeyRotationPolicy resources. +type managedHardwareSecurityModuleKeyRotationPolicyState struct { + // 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`. + ExpireAfter *string `pulumi:"expireAfter"` + // The ID of the Managed HSM Key. Changing this forces a new Managed HSM Key rotation policy to be created. + ManagedHsmKeyId *string `pulumi:"managedHsmKeyId"` + // Rotate automatically at a duration after key creation as an [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations). Exactly one of `timeAfterCreation` or `timeBeforeExpiry` should be specified. + TimeAfterCreation *string `pulumi:"timeAfterCreation"` + // Rotate automatically at a duration before key expiry as an [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations). Exactly one of `timeAfterCreation` or `timeBeforeExpiry` should be specified. + TimeBeforeExpiry *string `pulumi:"timeBeforeExpiry"` +} + +type ManagedHardwareSecurityModuleKeyRotationPolicyState struct { + // 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`. + ExpireAfter pulumi.StringPtrInput + // The ID of the Managed HSM Key. Changing this forces a new Managed HSM Key rotation policy to be created. + ManagedHsmKeyId pulumi.StringPtrInput + // Rotate automatically at a duration after key creation as an [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations). Exactly one of `timeAfterCreation` or `timeBeforeExpiry` should be specified. + TimeAfterCreation pulumi.StringPtrInput + // Rotate automatically at a duration before key expiry as an [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations). Exactly one of `timeAfterCreation` or `timeBeforeExpiry` should be specified. + TimeBeforeExpiry pulumi.StringPtrInput +} + +func (ManagedHardwareSecurityModuleKeyRotationPolicyState) ElementType() reflect.Type { + return reflect.TypeOf((*managedHardwareSecurityModuleKeyRotationPolicyState)(nil)).Elem() +} + +type managedHardwareSecurityModuleKeyRotationPolicyArgs struct { + // 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`. + ExpireAfter string `pulumi:"expireAfter"` + // The ID of the Managed HSM Key. Changing this forces a new Managed HSM Key rotation policy to be created. + ManagedHsmKeyId string `pulumi:"managedHsmKeyId"` + // Rotate automatically at a duration after key creation as an [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations). Exactly one of `timeAfterCreation` or `timeBeforeExpiry` should be specified. + TimeAfterCreation *string `pulumi:"timeAfterCreation"` + // Rotate automatically at a duration before key expiry as an [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations). Exactly one of `timeAfterCreation` or `timeBeforeExpiry` should be specified. + TimeBeforeExpiry *string `pulumi:"timeBeforeExpiry"` +} + +// The set of arguments for constructing a ManagedHardwareSecurityModuleKeyRotationPolicy resource. +type ManagedHardwareSecurityModuleKeyRotationPolicyArgs struct { + // 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`. + ExpireAfter pulumi.StringInput + // The ID of the Managed HSM Key. Changing this forces a new Managed HSM Key rotation policy to be created. + ManagedHsmKeyId pulumi.StringInput + // Rotate automatically at a duration after key creation as an [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations). Exactly one of `timeAfterCreation` or `timeBeforeExpiry` should be specified. + TimeAfterCreation pulumi.StringPtrInput + // Rotate automatically at a duration before key expiry as an [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations). Exactly one of `timeAfterCreation` or `timeBeforeExpiry` should be specified. + TimeBeforeExpiry pulumi.StringPtrInput +} + +func (ManagedHardwareSecurityModuleKeyRotationPolicyArgs) ElementType() reflect.Type { + return reflect.TypeOf((*managedHardwareSecurityModuleKeyRotationPolicyArgs)(nil)).Elem() +} + +type ManagedHardwareSecurityModuleKeyRotationPolicyInput interface { + pulumi.Input + + ToManagedHardwareSecurityModuleKeyRotationPolicyOutput() ManagedHardwareSecurityModuleKeyRotationPolicyOutput + ToManagedHardwareSecurityModuleKeyRotationPolicyOutputWithContext(ctx context.Context) ManagedHardwareSecurityModuleKeyRotationPolicyOutput +} + +func (*ManagedHardwareSecurityModuleKeyRotationPolicy) ElementType() reflect.Type { + return reflect.TypeOf((**ManagedHardwareSecurityModuleKeyRotationPolicy)(nil)).Elem() +} + +func (i *ManagedHardwareSecurityModuleKeyRotationPolicy) ToManagedHardwareSecurityModuleKeyRotationPolicyOutput() ManagedHardwareSecurityModuleKeyRotationPolicyOutput { + return i.ToManagedHardwareSecurityModuleKeyRotationPolicyOutputWithContext(context.Background()) +} + +func (i *ManagedHardwareSecurityModuleKeyRotationPolicy) ToManagedHardwareSecurityModuleKeyRotationPolicyOutputWithContext(ctx context.Context) ManagedHardwareSecurityModuleKeyRotationPolicyOutput { + return pulumi.ToOutputWithContext(ctx, i).(ManagedHardwareSecurityModuleKeyRotationPolicyOutput) +} + +// ManagedHardwareSecurityModuleKeyRotationPolicyArrayInput is an input type that accepts ManagedHardwareSecurityModuleKeyRotationPolicyArray and ManagedHardwareSecurityModuleKeyRotationPolicyArrayOutput values. +// You can construct a concrete instance of `ManagedHardwareSecurityModuleKeyRotationPolicyArrayInput` via: +// +// ManagedHardwareSecurityModuleKeyRotationPolicyArray{ ManagedHardwareSecurityModuleKeyRotationPolicyArgs{...} } +type ManagedHardwareSecurityModuleKeyRotationPolicyArrayInput interface { + pulumi.Input + + ToManagedHardwareSecurityModuleKeyRotationPolicyArrayOutput() ManagedHardwareSecurityModuleKeyRotationPolicyArrayOutput + ToManagedHardwareSecurityModuleKeyRotationPolicyArrayOutputWithContext(context.Context) ManagedHardwareSecurityModuleKeyRotationPolicyArrayOutput +} + +type ManagedHardwareSecurityModuleKeyRotationPolicyArray []ManagedHardwareSecurityModuleKeyRotationPolicyInput + +func (ManagedHardwareSecurityModuleKeyRotationPolicyArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*ManagedHardwareSecurityModuleKeyRotationPolicy)(nil)).Elem() +} + +func (i ManagedHardwareSecurityModuleKeyRotationPolicyArray) ToManagedHardwareSecurityModuleKeyRotationPolicyArrayOutput() ManagedHardwareSecurityModuleKeyRotationPolicyArrayOutput { + return i.ToManagedHardwareSecurityModuleKeyRotationPolicyArrayOutputWithContext(context.Background()) +} + +func (i ManagedHardwareSecurityModuleKeyRotationPolicyArray) ToManagedHardwareSecurityModuleKeyRotationPolicyArrayOutputWithContext(ctx context.Context) ManagedHardwareSecurityModuleKeyRotationPolicyArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(ManagedHardwareSecurityModuleKeyRotationPolicyArrayOutput) +} + +// ManagedHardwareSecurityModuleKeyRotationPolicyMapInput is an input type that accepts ManagedHardwareSecurityModuleKeyRotationPolicyMap and ManagedHardwareSecurityModuleKeyRotationPolicyMapOutput values. +// You can construct a concrete instance of `ManagedHardwareSecurityModuleKeyRotationPolicyMapInput` via: +// +// ManagedHardwareSecurityModuleKeyRotationPolicyMap{ "key": ManagedHardwareSecurityModuleKeyRotationPolicyArgs{...} } +type ManagedHardwareSecurityModuleKeyRotationPolicyMapInput interface { + pulumi.Input + + ToManagedHardwareSecurityModuleKeyRotationPolicyMapOutput() ManagedHardwareSecurityModuleKeyRotationPolicyMapOutput + ToManagedHardwareSecurityModuleKeyRotationPolicyMapOutputWithContext(context.Context) ManagedHardwareSecurityModuleKeyRotationPolicyMapOutput +} + +type ManagedHardwareSecurityModuleKeyRotationPolicyMap map[string]ManagedHardwareSecurityModuleKeyRotationPolicyInput + +func (ManagedHardwareSecurityModuleKeyRotationPolicyMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*ManagedHardwareSecurityModuleKeyRotationPolicy)(nil)).Elem() +} + +func (i ManagedHardwareSecurityModuleKeyRotationPolicyMap) ToManagedHardwareSecurityModuleKeyRotationPolicyMapOutput() ManagedHardwareSecurityModuleKeyRotationPolicyMapOutput { + return i.ToManagedHardwareSecurityModuleKeyRotationPolicyMapOutputWithContext(context.Background()) +} + +func (i ManagedHardwareSecurityModuleKeyRotationPolicyMap) ToManagedHardwareSecurityModuleKeyRotationPolicyMapOutputWithContext(ctx context.Context) ManagedHardwareSecurityModuleKeyRotationPolicyMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(ManagedHardwareSecurityModuleKeyRotationPolicyMapOutput) +} + +type ManagedHardwareSecurityModuleKeyRotationPolicyOutput struct{ *pulumi.OutputState } + +func (ManagedHardwareSecurityModuleKeyRotationPolicyOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ManagedHardwareSecurityModuleKeyRotationPolicy)(nil)).Elem() +} + +func (o ManagedHardwareSecurityModuleKeyRotationPolicyOutput) ToManagedHardwareSecurityModuleKeyRotationPolicyOutput() ManagedHardwareSecurityModuleKeyRotationPolicyOutput { + return o +} + +func (o ManagedHardwareSecurityModuleKeyRotationPolicyOutput) ToManagedHardwareSecurityModuleKeyRotationPolicyOutputWithContext(ctx context.Context) ManagedHardwareSecurityModuleKeyRotationPolicyOutput { + return o +} + +// 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`. +func (o ManagedHardwareSecurityModuleKeyRotationPolicyOutput) ExpireAfter() pulumi.StringOutput { + return o.ApplyT(func(v *ManagedHardwareSecurityModuleKeyRotationPolicy) pulumi.StringOutput { return v.ExpireAfter }).(pulumi.StringOutput) +} + +// The ID of the Managed HSM Key. Changing this forces a new Managed HSM Key rotation policy to be created. +func (o ManagedHardwareSecurityModuleKeyRotationPolicyOutput) ManagedHsmKeyId() pulumi.StringOutput { + return o.ApplyT(func(v *ManagedHardwareSecurityModuleKeyRotationPolicy) pulumi.StringOutput { return v.ManagedHsmKeyId }).(pulumi.StringOutput) +} + +// Rotate automatically at a duration after key creation as an [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations). Exactly one of `timeAfterCreation` or `timeBeforeExpiry` should be specified. +func (o ManagedHardwareSecurityModuleKeyRotationPolicyOutput) TimeAfterCreation() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ManagedHardwareSecurityModuleKeyRotationPolicy) pulumi.StringPtrOutput { + return v.TimeAfterCreation + }).(pulumi.StringPtrOutput) +} + +// Rotate automatically at a duration before key expiry as an [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations). Exactly one of `timeAfterCreation` or `timeBeforeExpiry` should be specified. +func (o ManagedHardwareSecurityModuleKeyRotationPolicyOutput) TimeBeforeExpiry() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ManagedHardwareSecurityModuleKeyRotationPolicy) pulumi.StringPtrOutput { + return v.TimeBeforeExpiry + }).(pulumi.StringPtrOutput) +} + +type ManagedHardwareSecurityModuleKeyRotationPolicyArrayOutput struct{ *pulumi.OutputState } + +func (ManagedHardwareSecurityModuleKeyRotationPolicyArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*ManagedHardwareSecurityModuleKeyRotationPolicy)(nil)).Elem() +} + +func (o ManagedHardwareSecurityModuleKeyRotationPolicyArrayOutput) ToManagedHardwareSecurityModuleKeyRotationPolicyArrayOutput() ManagedHardwareSecurityModuleKeyRotationPolicyArrayOutput { + return o +} + +func (o ManagedHardwareSecurityModuleKeyRotationPolicyArrayOutput) ToManagedHardwareSecurityModuleKeyRotationPolicyArrayOutputWithContext(ctx context.Context) ManagedHardwareSecurityModuleKeyRotationPolicyArrayOutput { + return o +} + +func (o ManagedHardwareSecurityModuleKeyRotationPolicyArrayOutput) Index(i pulumi.IntInput) ManagedHardwareSecurityModuleKeyRotationPolicyOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *ManagedHardwareSecurityModuleKeyRotationPolicy { + return vs[0].([]*ManagedHardwareSecurityModuleKeyRotationPolicy)[vs[1].(int)] + }).(ManagedHardwareSecurityModuleKeyRotationPolicyOutput) +} + +type ManagedHardwareSecurityModuleKeyRotationPolicyMapOutput struct{ *pulumi.OutputState } + +func (ManagedHardwareSecurityModuleKeyRotationPolicyMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*ManagedHardwareSecurityModuleKeyRotationPolicy)(nil)).Elem() +} + +func (o ManagedHardwareSecurityModuleKeyRotationPolicyMapOutput) ToManagedHardwareSecurityModuleKeyRotationPolicyMapOutput() ManagedHardwareSecurityModuleKeyRotationPolicyMapOutput { + return o +} + +func (o ManagedHardwareSecurityModuleKeyRotationPolicyMapOutput) ToManagedHardwareSecurityModuleKeyRotationPolicyMapOutputWithContext(ctx context.Context) ManagedHardwareSecurityModuleKeyRotationPolicyMapOutput { + return o +} + +func (o ManagedHardwareSecurityModuleKeyRotationPolicyMapOutput) MapIndex(k pulumi.StringInput) ManagedHardwareSecurityModuleKeyRotationPolicyOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *ManagedHardwareSecurityModuleKeyRotationPolicy { + return vs[0].(map[string]*ManagedHardwareSecurityModuleKeyRotationPolicy)[vs[1].(string)] + }).(ManagedHardwareSecurityModuleKeyRotationPolicyOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*ManagedHardwareSecurityModuleKeyRotationPolicyInput)(nil)).Elem(), &ManagedHardwareSecurityModuleKeyRotationPolicy{}) + pulumi.RegisterInputType(reflect.TypeOf((*ManagedHardwareSecurityModuleKeyRotationPolicyArrayInput)(nil)).Elem(), ManagedHardwareSecurityModuleKeyRotationPolicyArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*ManagedHardwareSecurityModuleKeyRotationPolicyMapInput)(nil)).Elem(), ManagedHardwareSecurityModuleKeyRotationPolicyMap{}) + pulumi.RegisterOutputType(ManagedHardwareSecurityModuleKeyRotationPolicyOutput{}) + pulumi.RegisterOutputType(ManagedHardwareSecurityModuleKeyRotationPolicyArrayOutput{}) + pulumi.RegisterOutputType(ManagedHardwareSecurityModuleKeyRotationPolicyMapOutput{}) +} diff --git a/sdk/go/azure/loganalytics/linkedStorageAccount.go b/sdk/go/azure/loganalytics/linkedStorageAccount.go index 4261874119..2279dfcabf 100644 --- a/sdk/go/azure/loganalytics/linkedStorageAccount.go +++ b/sdk/go/azure/loganalytics/linkedStorageAccount.go @@ -85,8 +85,6 @@ type LinkedStorageAccount struct { pulumi.CustomResourceState // 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 `dataSourceType` is case-insensitive in current 3.x version. And in 4.0 or later versions, Case-sensitivity will be required. DataSourceType pulumi.StringOutput `pulumi:"dataSourceType"` // The name of the Resource Group where the Log Analytics Linked Storage Account should exist. Changing this forces a new Log Analytics Linked Storage Account to be created. ResourceGroupName pulumi.StringOutput `pulumi:"resourceGroupName"` @@ -139,8 +137,6 @@ func GetLinkedStorageAccount(ctx *pulumi.Context, // Input properties used for looking up and filtering LinkedStorageAccount resources. type linkedStorageAccountState struct { // 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 `dataSourceType` is case-insensitive in current 3.x version. And in 4.0 or later versions, Case-sensitivity will be required. DataSourceType *string `pulumi:"dataSourceType"` // The name of the Resource Group where the Log Analytics Linked Storage Account should exist. Changing this forces a new Log Analytics Linked Storage Account to be created. ResourceGroupName *string `pulumi:"resourceGroupName"` @@ -152,8 +148,6 @@ type linkedStorageAccountState struct { type LinkedStorageAccountState struct { // 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 `dataSourceType` is case-insensitive in current 3.x version. And in 4.0 or later versions, Case-sensitivity will be required. DataSourceType pulumi.StringPtrInput // The name of the Resource Group where the Log Analytics Linked Storage Account should exist. Changing this forces a new Log Analytics Linked Storage Account to be created. ResourceGroupName pulumi.StringPtrInput @@ -169,8 +163,6 @@ func (LinkedStorageAccountState) ElementType() reflect.Type { type linkedStorageAccountArgs struct { // 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 `dataSourceType` is case-insensitive in current 3.x version. And in 4.0 or later versions, Case-sensitivity will be required. DataSourceType string `pulumi:"dataSourceType"` // The name of the Resource Group where the Log Analytics Linked Storage Account should exist. Changing this forces a new Log Analytics Linked Storage Account to be created. ResourceGroupName string `pulumi:"resourceGroupName"` @@ -183,8 +175,6 @@ type linkedStorageAccountArgs struct { // The set of arguments for constructing a LinkedStorageAccount resource. type LinkedStorageAccountArgs struct { // 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 `dataSourceType` is case-insensitive in current 3.x version. And in 4.0 or later versions, Case-sensitivity will be required. DataSourceType pulumi.StringInput // The name of the Resource Group where the Log Analytics Linked Storage Account should exist. Changing this forces a new Log Analytics Linked Storage Account to be created. ResourceGroupName pulumi.StringInput @@ -282,8 +272,6 @@ func (o LinkedStorageAccountOutput) ToLinkedStorageAccountOutputWithContext(ctx } // 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 `dataSourceType` is case-insensitive in current 3.x version. And in 4.0 or later versions, Case-sensitivity will be required. func (o LinkedStorageAccountOutput) DataSourceType() pulumi.StringOutput { return o.ApplyT(func(v *LinkedStorageAccount) pulumi.StringOutput { return v.DataSourceType }).(pulumi.StringOutput) } diff --git a/sdk/go/azure/monitoring/alertPrometheusRuleGroup.go b/sdk/go/azure/monitoring/alertPrometheusRuleGroup.go index cc840ccaef..8a5006a312 100644 --- a/sdk/go/azure/monitoring/alertPrometheusRuleGroup.go +++ b/sdk/go/azure/monitoring/alertPrometheusRuleGroup.go @@ -14,6 +14,119 @@ import ( // Manages an Alert Management Prometheus Rule Group. // +// ## Example Usage +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-azure/sdk/v6/go/azure/containerservice" +// "github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core" +// "github.com/pulumi/pulumi-azure/sdk/v6/go/azure/monitoring" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// example, err := core.NewResourceGroup(ctx, "example", &core.ResourceGroupArgs{ +// Name: pulumi.String("example-resources"), +// Location: pulumi.String("West Europe"), +// }) +// if err != nil { +// return err +// } +// exampleActionGroup, err := monitoring.NewActionGroup(ctx, "example", &monitoring.ActionGroupArgs{ +// Name: pulumi.String("example-mag"), +// ResourceGroupName: example.Name, +// ShortName: pulumi.String("testag"), +// }) +// if err != nil { +// return err +// } +// exampleWorkspace, err := monitoring.NewWorkspace(ctx, "example", &monitoring.WorkspaceArgs{ +// Name: pulumi.String("example-amw"), +// ResourceGroupName: example.Name, +// Location: example.Location, +// }) +// if err != nil { +// return err +// } +// exampleKubernetesCluster, err := containerservice.NewKubernetesCluster(ctx, "example", &containerservice.KubernetesClusterArgs{ +// Name: pulumi.String("example-cluster"), +// Location: example.Location, +// ResourceGroupName: example.Name, +// DnsPrefix: pulumi.String("example-aks"), +// DefaultNodePool: &containerservice.KubernetesClusterDefaultNodePoolArgs{ +// Name: pulumi.String("default"), +// NodeCount: pulumi.Int(1), +// VmSize: pulumi.String("Standard_DS2_v2"), +// HostEncryptionEnabled: pulumi.Bool(true), +// }, +// Identity: &containerservice.KubernetesClusterIdentityArgs{ +// Type: pulumi.String("SystemAssigned"), +// }, +// }) +// if err != nil { +// return err +// } +// _, err = monitoring.NewAlertPrometheusRuleGroup(ctx, "example", &monitoring.AlertPrometheusRuleGroupArgs{ +// Name: pulumi.String("example-amprg"), +// Location: pulumi.String("West Europe"), +// ResourceGroupName: example.Name, +// ClusterName: exampleKubernetesCluster.Name, +// Description: pulumi.String("This is the description of the following rule group"), +// RuleGroupEnabled: pulumi.Bool(false), +// Interval: pulumi.String("PT1M"), +// Scopes: pulumi.StringArray{ +// exampleWorkspace.ID(), +// }, +// Rules: monitoring.AlertPrometheusRuleGroupRuleArray{ +// &monitoring.AlertPrometheusRuleGroupRuleArgs{ +// Enabled: pulumi.Bool(false), +// Expression: pulumi.String("histogram_quantile(0.99, sum(rate(jobs_duration_seconds_bucket{service=\"billing-processing\"}[5m])) by (job_type))\n"), +// Record: pulumi.String("job_type:billing_jobs_duration_seconds:99p5m"), +// Labels: pulumi.StringMap{ +// "team": pulumi.String("prod"), +// }, +// }, +// &monitoring.AlertPrometheusRuleGroupRuleArgs{ +// Alert: pulumi.String("Billing_Processing_Very_Slow"), +// Enabled: pulumi.Bool(true), +// Expression: pulumi.String("histogram_quantile(0.99, sum(rate(jobs_duration_seconds_bucket{service=\"billing-processing\"}[5m])) by (job_type))\n"), +// For: pulumi.String("PT5M"), +// Severity: pulumi.Int(2), +// Actions: monitoring.AlertPrometheusRuleGroupRuleActionArray{ +// &monitoring.AlertPrometheusRuleGroupRuleActionArgs{ +// ActionGroupId: exampleActionGroup.ID(), +// }, +// }, +// AlertResolution: &monitoring.AlertPrometheusRuleGroupRuleAlertResolutionArgs{ +// AutoResolved: pulumi.Bool(true), +// TimeToResolve: pulumi.String("PT10M"), +// }, +// Annotations: pulumi.StringMap{ +// "annotationName": pulumi.String("annotationValue"), +// }, +// Labels: pulumi.StringMap{ +// "team": pulumi.String("prod"), +// }, +// }, +// }, +// Tags: pulumi.StringMap{ +// "key": pulumi.String("value"), +// }, +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// // ## Import // // Alert Management Prometheus Rule Group can be imported using the `resource id`, e.g. diff --git a/sdk/go/azure/network/getVpnServerConfiguration.go b/sdk/go/azure/network/getVpnServerConfiguration.go new file mode 100644 index 0000000000..6dc3483351 --- /dev/null +++ b/sdk/go/azure/network/getVpnServerConfiguration.go @@ -0,0 +1,203 @@ +// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package network + +import ( + "context" + "reflect" + + "github.com/pulumi/pulumi-azure/sdk/v6/go/azure/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// Use this data source to access information about an existing VPN Server Configuration. +// +// ## Example Usage +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// example, err := network.LookupVpnServerConfiguration(ctx, &network.LookupVpnServerConfigurationArgs{ +// Name: "existing-local-vpn-server-configuration", +// ResourceGroupName: "existing-resource-group", +// }, nil) +// if err != nil { +// return err +// } +// ctx.Export("azurermVpnServerConfiguration", example.Id) +// return nil +// }) +// } +// +// ``` +func LookupVpnServerConfiguration(ctx *pulumi.Context, args *LookupVpnServerConfigurationArgs, opts ...pulumi.InvokeOption) (*LookupVpnServerConfigurationResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupVpnServerConfigurationResult + err := ctx.Invoke("azure:network/getVpnServerConfiguration:getVpnServerConfiguration", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getVpnServerConfiguration. +type LookupVpnServerConfigurationArgs struct { + // The Name of the VPN Server Configuration. + Name string `pulumi:"name"` + // The name of the Resource Group where the VPN Server Configuration exists. + ResourceGroupName string `pulumi:"resourceGroupName"` +} + +// A collection of values returned by getVpnServerConfiguration. +type LookupVpnServerConfigurationResult struct { + // A `azureActiveDirectoryAuthentication` block as defined below. + AzureActiveDirectoryAuthentications []GetVpnServerConfigurationAzureActiveDirectoryAuthentication `pulumi:"azureActiveDirectoryAuthentications"` + // One or more `clientRevokedCertificate` blocks as defined below. + ClientRevokedCertificates []GetVpnServerConfigurationClientRevokedCertificate `pulumi:"clientRevokedCertificates"` + // One or more `clientRootCertificate` blocks as defined below. + ClientRootCertificates []GetVpnServerConfigurationClientRootCertificate `pulumi:"clientRootCertificates"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + // The `bgpSettings` block as defined below. + IpsecPolicies []GetVpnServerConfigurationIpsecPolicy `pulumi:"ipsecPolicies"` + // The Azure Region where the VPN Server Configuration exists. + Location string `pulumi:"location"` + // The name used to uniquely identify this certificate. + Name string `pulumi:"name"` + // A `radius` block as defined below. + Radii []GetVpnServerConfigurationRadius `pulumi:"radii"` + ResourceGroupName string `pulumi:"resourceGroupName"` + // A mapping of tags to assign to the VPN Server Configuration. + Tags map[string]string `pulumi:"tags"` + // The list of Authentication Types applicable for the VPN Server Configuration. + VpnAuthenticationTypes []string `pulumi:"vpnAuthenticationTypes"` + // The list of VPN Protocols to use for the VPN Server Configuration. + VpnProtocols []string `pulumi:"vpnProtocols"` +} + +func LookupVpnServerConfigurationOutput(ctx *pulumi.Context, args LookupVpnServerConfigurationOutputArgs, opts ...pulumi.InvokeOption) LookupVpnServerConfigurationResultOutput { + return pulumi.ToOutputWithContext(context.Background(), args). + ApplyT(func(v interface{}) (LookupVpnServerConfigurationResultOutput, error) { + args := v.(LookupVpnServerConfigurationArgs) + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupVpnServerConfigurationResult + secret, err := ctx.InvokePackageRaw("azure:network/getVpnServerConfiguration:getVpnServerConfiguration", args, &rv, "", opts...) + if err != nil { + return LookupVpnServerConfigurationResultOutput{}, err + } + + output := pulumi.ToOutput(rv).(LookupVpnServerConfigurationResultOutput) + if secret { + return pulumi.ToSecret(output).(LookupVpnServerConfigurationResultOutput), nil + } + return output, nil + }).(LookupVpnServerConfigurationResultOutput) +} + +// A collection of arguments for invoking getVpnServerConfiguration. +type LookupVpnServerConfigurationOutputArgs struct { + // The Name of the VPN Server Configuration. + Name pulumi.StringInput `pulumi:"name"` + // The name of the Resource Group where the VPN Server Configuration exists. + ResourceGroupName pulumi.StringInput `pulumi:"resourceGroupName"` +} + +func (LookupVpnServerConfigurationOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupVpnServerConfigurationArgs)(nil)).Elem() +} + +// A collection of values returned by getVpnServerConfiguration. +type LookupVpnServerConfigurationResultOutput struct{ *pulumi.OutputState } + +func (LookupVpnServerConfigurationResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupVpnServerConfigurationResult)(nil)).Elem() +} + +func (o LookupVpnServerConfigurationResultOutput) ToLookupVpnServerConfigurationResultOutput() LookupVpnServerConfigurationResultOutput { + return o +} + +func (o LookupVpnServerConfigurationResultOutput) ToLookupVpnServerConfigurationResultOutputWithContext(ctx context.Context) LookupVpnServerConfigurationResultOutput { + return o +} + +// A `azureActiveDirectoryAuthentication` block as defined below. +func (o LookupVpnServerConfigurationResultOutput) AzureActiveDirectoryAuthentications() GetVpnServerConfigurationAzureActiveDirectoryAuthenticationArrayOutput { + return o.ApplyT(func(v LookupVpnServerConfigurationResult) []GetVpnServerConfigurationAzureActiveDirectoryAuthentication { + return v.AzureActiveDirectoryAuthentications + }).(GetVpnServerConfigurationAzureActiveDirectoryAuthenticationArrayOutput) +} + +// One or more `clientRevokedCertificate` blocks as defined below. +func (o LookupVpnServerConfigurationResultOutput) ClientRevokedCertificates() GetVpnServerConfigurationClientRevokedCertificateArrayOutput { + return o.ApplyT(func(v LookupVpnServerConfigurationResult) []GetVpnServerConfigurationClientRevokedCertificate { + return v.ClientRevokedCertificates + }).(GetVpnServerConfigurationClientRevokedCertificateArrayOutput) +} + +// One or more `clientRootCertificate` blocks as defined below. +func (o LookupVpnServerConfigurationResultOutput) ClientRootCertificates() GetVpnServerConfigurationClientRootCertificateArrayOutput { + return o.ApplyT(func(v LookupVpnServerConfigurationResult) []GetVpnServerConfigurationClientRootCertificate { + return v.ClientRootCertificates + }).(GetVpnServerConfigurationClientRootCertificateArrayOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o LookupVpnServerConfigurationResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v LookupVpnServerConfigurationResult) string { return v.Id }).(pulumi.StringOutput) +} + +// The `bgpSettings` block as defined below. +func (o LookupVpnServerConfigurationResultOutput) IpsecPolicies() GetVpnServerConfigurationIpsecPolicyArrayOutput { + return o.ApplyT(func(v LookupVpnServerConfigurationResult) []GetVpnServerConfigurationIpsecPolicy { + return v.IpsecPolicies + }).(GetVpnServerConfigurationIpsecPolicyArrayOutput) +} + +// The Azure Region where the VPN Server Configuration exists. +func (o LookupVpnServerConfigurationResultOutput) Location() pulumi.StringOutput { + return o.ApplyT(func(v LookupVpnServerConfigurationResult) string { return v.Location }).(pulumi.StringOutput) +} + +// The name used to uniquely identify this certificate. +func (o LookupVpnServerConfigurationResultOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v LookupVpnServerConfigurationResult) string { return v.Name }).(pulumi.StringOutput) +} + +// A `radius` block as defined below. +func (o LookupVpnServerConfigurationResultOutput) Radii() GetVpnServerConfigurationRadiusArrayOutput { + return o.ApplyT(func(v LookupVpnServerConfigurationResult) []GetVpnServerConfigurationRadius { return v.Radii }).(GetVpnServerConfigurationRadiusArrayOutput) +} + +func (o LookupVpnServerConfigurationResultOutput) ResourceGroupName() pulumi.StringOutput { + return o.ApplyT(func(v LookupVpnServerConfigurationResult) string { return v.ResourceGroupName }).(pulumi.StringOutput) +} + +// A mapping of tags to assign to the VPN Server Configuration. +func (o LookupVpnServerConfigurationResultOutput) Tags() pulumi.StringMapOutput { + return o.ApplyT(func(v LookupVpnServerConfigurationResult) map[string]string { return v.Tags }).(pulumi.StringMapOutput) +} + +// The list of Authentication Types applicable for the VPN Server Configuration. +func (o LookupVpnServerConfigurationResultOutput) VpnAuthenticationTypes() pulumi.StringArrayOutput { + return o.ApplyT(func(v LookupVpnServerConfigurationResult) []string { return v.VpnAuthenticationTypes }).(pulumi.StringArrayOutput) +} + +// The list of VPN Protocols to use for the VPN Server Configuration. +func (o LookupVpnServerConfigurationResultOutput) VpnProtocols() pulumi.StringArrayOutput { + return o.ApplyT(func(v LookupVpnServerConfigurationResult) []string { return v.VpnProtocols }).(pulumi.StringArrayOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupVpnServerConfigurationResultOutput{}) +} diff --git a/sdk/go/azure/network/pulumiTypes.go b/sdk/go/azure/network/pulumiTypes.go index b4bdfd5695..0a7227946b 100644 --- a/sdk/go/azure/network/pulumiTypes.go +++ b/sdk/go/azure/network/pulumiTypes.go @@ -36366,6 +36366,939 @@ func (o GetVpnGatewayBgpSettingInstance1BgpPeeringAddressArrayOutput) Index(i pu }).(GetVpnGatewayBgpSettingInstance1BgpPeeringAddressOutput) } +type GetVpnServerConfigurationAzureActiveDirectoryAuthentication struct { + // The Audience which should be used for authentication. + Audience string `pulumi:"audience"` + // The Issuer which should be used for authentication. + Issuer string `pulumi:"issuer"` + // The Tenant which should be used for authentication. + Tenant string `pulumi:"tenant"` +} + +// GetVpnServerConfigurationAzureActiveDirectoryAuthenticationInput is an input type that accepts GetVpnServerConfigurationAzureActiveDirectoryAuthenticationArgs and GetVpnServerConfigurationAzureActiveDirectoryAuthenticationOutput values. +// You can construct a concrete instance of `GetVpnServerConfigurationAzureActiveDirectoryAuthenticationInput` via: +// +// GetVpnServerConfigurationAzureActiveDirectoryAuthenticationArgs{...} +type GetVpnServerConfigurationAzureActiveDirectoryAuthenticationInput interface { + pulumi.Input + + ToGetVpnServerConfigurationAzureActiveDirectoryAuthenticationOutput() GetVpnServerConfigurationAzureActiveDirectoryAuthenticationOutput + ToGetVpnServerConfigurationAzureActiveDirectoryAuthenticationOutputWithContext(context.Context) GetVpnServerConfigurationAzureActiveDirectoryAuthenticationOutput +} + +type GetVpnServerConfigurationAzureActiveDirectoryAuthenticationArgs struct { + // The Audience which should be used for authentication. + Audience pulumi.StringInput `pulumi:"audience"` + // The Issuer which should be used for authentication. + Issuer pulumi.StringInput `pulumi:"issuer"` + // The Tenant which should be used for authentication. + Tenant pulumi.StringInput `pulumi:"tenant"` +} + +func (GetVpnServerConfigurationAzureActiveDirectoryAuthenticationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetVpnServerConfigurationAzureActiveDirectoryAuthentication)(nil)).Elem() +} + +func (i GetVpnServerConfigurationAzureActiveDirectoryAuthenticationArgs) ToGetVpnServerConfigurationAzureActiveDirectoryAuthenticationOutput() GetVpnServerConfigurationAzureActiveDirectoryAuthenticationOutput { + return i.ToGetVpnServerConfigurationAzureActiveDirectoryAuthenticationOutputWithContext(context.Background()) +} + +func (i GetVpnServerConfigurationAzureActiveDirectoryAuthenticationArgs) ToGetVpnServerConfigurationAzureActiveDirectoryAuthenticationOutputWithContext(ctx context.Context) GetVpnServerConfigurationAzureActiveDirectoryAuthenticationOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVpnServerConfigurationAzureActiveDirectoryAuthenticationOutput) +} + +// GetVpnServerConfigurationAzureActiveDirectoryAuthenticationArrayInput is an input type that accepts GetVpnServerConfigurationAzureActiveDirectoryAuthenticationArray and GetVpnServerConfigurationAzureActiveDirectoryAuthenticationArrayOutput values. +// You can construct a concrete instance of `GetVpnServerConfigurationAzureActiveDirectoryAuthenticationArrayInput` via: +// +// GetVpnServerConfigurationAzureActiveDirectoryAuthenticationArray{ GetVpnServerConfigurationAzureActiveDirectoryAuthenticationArgs{...} } +type GetVpnServerConfigurationAzureActiveDirectoryAuthenticationArrayInput interface { + pulumi.Input + + ToGetVpnServerConfigurationAzureActiveDirectoryAuthenticationArrayOutput() GetVpnServerConfigurationAzureActiveDirectoryAuthenticationArrayOutput + ToGetVpnServerConfigurationAzureActiveDirectoryAuthenticationArrayOutputWithContext(context.Context) GetVpnServerConfigurationAzureActiveDirectoryAuthenticationArrayOutput +} + +type GetVpnServerConfigurationAzureActiveDirectoryAuthenticationArray []GetVpnServerConfigurationAzureActiveDirectoryAuthenticationInput + +func (GetVpnServerConfigurationAzureActiveDirectoryAuthenticationArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVpnServerConfigurationAzureActiveDirectoryAuthentication)(nil)).Elem() +} + +func (i GetVpnServerConfigurationAzureActiveDirectoryAuthenticationArray) ToGetVpnServerConfigurationAzureActiveDirectoryAuthenticationArrayOutput() GetVpnServerConfigurationAzureActiveDirectoryAuthenticationArrayOutput { + return i.ToGetVpnServerConfigurationAzureActiveDirectoryAuthenticationArrayOutputWithContext(context.Background()) +} + +func (i GetVpnServerConfigurationAzureActiveDirectoryAuthenticationArray) ToGetVpnServerConfigurationAzureActiveDirectoryAuthenticationArrayOutputWithContext(ctx context.Context) GetVpnServerConfigurationAzureActiveDirectoryAuthenticationArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVpnServerConfigurationAzureActiveDirectoryAuthenticationArrayOutput) +} + +type GetVpnServerConfigurationAzureActiveDirectoryAuthenticationOutput struct{ *pulumi.OutputState } + +func (GetVpnServerConfigurationAzureActiveDirectoryAuthenticationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetVpnServerConfigurationAzureActiveDirectoryAuthentication)(nil)).Elem() +} + +func (o GetVpnServerConfigurationAzureActiveDirectoryAuthenticationOutput) ToGetVpnServerConfigurationAzureActiveDirectoryAuthenticationOutput() GetVpnServerConfigurationAzureActiveDirectoryAuthenticationOutput { + return o +} + +func (o GetVpnServerConfigurationAzureActiveDirectoryAuthenticationOutput) ToGetVpnServerConfigurationAzureActiveDirectoryAuthenticationOutputWithContext(ctx context.Context) GetVpnServerConfigurationAzureActiveDirectoryAuthenticationOutput { + return o +} + +// The Audience which should be used for authentication. +func (o GetVpnServerConfigurationAzureActiveDirectoryAuthenticationOutput) Audience() pulumi.StringOutput { + return o.ApplyT(func(v GetVpnServerConfigurationAzureActiveDirectoryAuthentication) string { return v.Audience }).(pulumi.StringOutput) +} + +// The Issuer which should be used for authentication. +func (o GetVpnServerConfigurationAzureActiveDirectoryAuthenticationOutput) Issuer() pulumi.StringOutput { + return o.ApplyT(func(v GetVpnServerConfigurationAzureActiveDirectoryAuthentication) string { return v.Issuer }).(pulumi.StringOutput) +} + +// The Tenant which should be used for authentication. +func (o GetVpnServerConfigurationAzureActiveDirectoryAuthenticationOutput) Tenant() pulumi.StringOutput { + return o.ApplyT(func(v GetVpnServerConfigurationAzureActiveDirectoryAuthentication) string { return v.Tenant }).(pulumi.StringOutput) +} + +type GetVpnServerConfigurationAzureActiveDirectoryAuthenticationArrayOutput struct{ *pulumi.OutputState } + +func (GetVpnServerConfigurationAzureActiveDirectoryAuthenticationArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVpnServerConfigurationAzureActiveDirectoryAuthentication)(nil)).Elem() +} + +func (o GetVpnServerConfigurationAzureActiveDirectoryAuthenticationArrayOutput) ToGetVpnServerConfigurationAzureActiveDirectoryAuthenticationArrayOutput() GetVpnServerConfigurationAzureActiveDirectoryAuthenticationArrayOutput { + return o +} + +func (o GetVpnServerConfigurationAzureActiveDirectoryAuthenticationArrayOutput) ToGetVpnServerConfigurationAzureActiveDirectoryAuthenticationArrayOutputWithContext(ctx context.Context) GetVpnServerConfigurationAzureActiveDirectoryAuthenticationArrayOutput { + return o +} + +func (o GetVpnServerConfigurationAzureActiveDirectoryAuthenticationArrayOutput) Index(i pulumi.IntInput) GetVpnServerConfigurationAzureActiveDirectoryAuthenticationOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetVpnServerConfigurationAzureActiveDirectoryAuthentication { + return vs[0].([]GetVpnServerConfigurationAzureActiveDirectoryAuthentication)[vs[1].(int)] + }).(GetVpnServerConfigurationAzureActiveDirectoryAuthenticationOutput) +} + +type GetVpnServerConfigurationClientRevokedCertificate struct { + // The Name of the VPN Server Configuration. + Name string `pulumi:"name"` + // The Thumbprint of the Certificate. + Thumbprint string `pulumi:"thumbprint"` +} + +// GetVpnServerConfigurationClientRevokedCertificateInput is an input type that accepts GetVpnServerConfigurationClientRevokedCertificateArgs and GetVpnServerConfigurationClientRevokedCertificateOutput values. +// You can construct a concrete instance of `GetVpnServerConfigurationClientRevokedCertificateInput` via: +// +// GetVpnServerConfigurationClientRevokedCertificateArgs{...} +type GetVpnServerConfigurationClientRevokedCertificateInput interface { + pulumi.Input + + ToGetVpnServerConfigurationClientRevokedCertificateOutput() GetVpnServerConfigurationClientRevokedCertificateOutput + ToGetVpnServerConfigurationClientRevokedCertificateOutputWithContext(context.Context) GetVpnServerConfigurationClientRevokedCertificateOutput +} + +type GetVpnServerConfigurationClientRevokedCertificateArgs struct { + // The Name of the VPN Server Configuration. + Name pulumi.StringInput `pulumi:"name"` + // The Thumbprint of the Certificate. + Thumbprint pulumi.StringInput `pulumi:"thumbprint"` +} + +func (GetVpnServerConfigurationClientRevokedCertificateArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetVpnServerConfigurationClientRevokedCertificate)(nil)).Elem() +} + +func (i GetVpnServerConfigurationClientRevokedCertificateArgs) ToGetVpnServerConfigurationClientRevokedCertificateOutput() GetVpnServerConfigurationClientRevokedCertificateOutput { + return i.ToGetVpnServerConfigurationClientRevokedCertificateOutputWithContext(context.Background()) +} + +func (i GetVpnServerConfigurationClientRevokedCertificateArgs) ToGetVpnServerConfigurationClientRevokedCertificateOutputWithContext(ctx context.Context) GetVpnServerConfigurationClientRevokedCertificateOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVpnServerConfigurationClientRevokedCertificateOutput) +} + +// GetVpnServerConfigurationClientRevokedCertificateArrayInput is an input type that accepts GetVpnServerConfigurationClientRevokedCertificateArray and GetVpnServerConfigurationClientRevokedCertificateArrayOutput values. +// You can construct a concrete instance of `GetVpnServerConfigurationClientRevokedCertificateArrayInput` via: +// +// GetVpnServerConfigurationClientRevokedCertificateArray{ GetVpnServerConfigurationClientRevokedCertificateArgs{...} } +type GetVpnServerConfigurationClientRevokedCertificateArrayInput interface { + pulumi.Input + + ToGetVpnServerConfigurationClientRevokedCertificateArrayOutput() GetVpnServerConfigurationClientRevokedCertificateArrayOutput + ToGetVpnServerConfigurationClientRevokedCertificateArrayOutputWithContext(context.Context) GetVpnServerConfigurationClientRevokedCertificateArrayOutput +} + +type GetVpnServerConfigurationClientRevokedCertificateArray []GetVpnServerConfigurationClientRevokedCertificateInput + +func (GetVpnServerConfigurationClientRevokedCertificateArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVpnServerConfigurationClientRevokedCertificate)(nil)).Elem() +} + +func (i GetVpnServerConfigurationClientRevokedCertificateArray) ToGetVpnServerConfigurationClientRevokedCertificateArrayOutput() GetVpnServerConfigurationClientRevokedCertificateArrayOutput { + return i.ToGetVpnServerConfigurationClientRevokedCertificateArrayOutputWithContext(context.Background()) +} + +func (i GetVpnServerConfigurationClientRevokedCertificateArray) ToGetVpnServerConfigurationClientRevokedCertificateArrayOutputWithContext(ctx context.Context) GetVpnServerConfigurationClientRevokedCertificateArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVpnServerConfigurationClientRevokedCertificateArrayOutput) +} + +type GetVpnServerConfigurationClientRevokedCertificateOutput struct{ *pulumi.OutputState } + +func (GetVpnServerConfigurationClientRevokedCertificateOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetVpnServerConfigurationClientRevokedCertificate)(nil)).Elem() +} + +func (o GetVpnServerConfigurationClientRevokedCertificateOutput) ToGetVpnServerConfigurationClientRevokedCertificateOutput() GetVpnServerConfigurationClientRevokedCertificateOutput { + return o +} + +func (o GetVpnServerConfigurationClientRevokedCertificateOutput) ToGetVpnServerConfigurationClientRevokedCertificateOutputWithContext(ctx context.Context) GetVpnServerConfigurationClientRevokedCertificateOutput { + return o +} + +// The Name of the VPN Server Configuration. +func (o GetVpnServerConfigurationClientRevokedCertificateOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetVpnServerConfigurationClientRevokedCertificate) string { return v.Name }).(pulumi.StringOutput) +} + +// The Thumbprint of the Certificate. +func (o GetVpnServerConfigurationClientRevokedCertificateOutput) Thumbprint() pulumi.StringOutput { + return o.ApplyT(func(v GetVpnServerConfigurationClientRevokedCertificate) string { return v.Thumbprint }).(pulumi.StringOutput) +} + +type GetVpnServerConfigurationClientRevokedCertificateArrayOutput struct{ *pulumi.OutputState } + +func (GetVpnServerConfigurationClientRevokedCertificateArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVpnServerConfigurationClientRevokedCertificate)(nil)).Elem() +} + +func (o GetVpnServerConfigurationClientRevokedCertificateArrayOutput) ToGetVpnServerConfigurationClientRevokedCertificateArrayOutput() GetVpnServerConfigurationClientRevokedCertificateArrayOutput { + return o +} + +func (o GetVpnServerConfigurationClientRevokedCertificateArrayOutput) ToGetVpnServerConfigurationClientRevokedCertificateArrayOutputWithContext(ctx context.Context) GetVpnServerConfigurationClientRevokedCertificateArrayOutput { + return o +} + +func (o GetVpnServerConfigurationClientRevokedCertificateArrayOutput) Index(i pulumi.IntInput) GetVpnServerConfigurationClientRevokedCertificateOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetVpnServerConfigurationClientRevokedCertificate { + return vs[0].([]GetVpnServerConfigurationClientRevokedCertificate)[vs[1].(int)] + }).(GetVpnServerConfigurationClientRevokedCertificateOutput) +} + +type GetVpnServerConfigurationClientRootCertificate struct { + // The Name of the VPN Server Configuration. + Name string `pulumi:"name"` + // The Public Key Data associated with the Certificate. + PublicCertData string `pulumi:"publicCertData"` +} + +// GetVpnServerConfigurationClientRootCertificateInput is an input type that accepts GetVpnServerConfigurationClientRootCertificateArgs and GetVpnServerConfigurationClientRootCertificateOutput values. +// You can construct a concrete instance of `GetVpnServerConfigurationClientRootCertificateInput` via: +// +// GetVpnServerConfigurationClientRootCertificateArgs{...} +type GetVpnServerConfigurationClientRootCertificateInput interface { + pulumi.Input + + ToGetVpnServerConfigurationClientRootCertificateOutput() GetVpnServerConfigurationClientRootCertificateOutput + ToGetVpnServerConfigurationClientRootCertificateOutputWithContext(context.Context) GetVpnServerConfigurationClientRootCertificateOutput +} + +type GetVpnServerConfigurationClientRootCertificateArgs struct { + // The Name of the VPN Server Configuration. + Name pulumi.StringInput `pulumi:"name"` + // The Public Key Data associated with the Certificate. + PublicCertData pulumi.StringInput `pulumi:"publicCertData"` +} + +func (GetVpnServerConfigurationClientRootCertificateArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetVpnServerConfigurationClientRootCertificate)(nil)).Elem() +} + +func (i GetVpnServerConfigurationClientRootCertificateArgs) ToGetVpnServerConfigurationClientRootCertificateOutput() GetVpnServerConfigurationClientRootCertificateOutput { + return i.ToGetVpnServerConfigurationClientRootCertificateOutputWithContext(context.Background()) +} + +func (i GetVpnServerConfigurationClientRootCertificateArgs) ToGetVpnServerConfigurationClientRootCertificateOutputWithContext(ctx context.Context) GetVpnServerConfigurationClientRootCertificateOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVpnServerConfigurationClientRootCertificateOutput) +} + +// GetVpnServerConfigurationClientRootCertificateArrayInput is an input type that accepts GetVpnServerConfigurationClientRootCertificateArray and GetVpnServerConfigurationClientRootCertificateArrayOutput values. +// You can construct a concrete instance of `GetVpnServerConfigurationClientRootCertificateArrayInput` via: +// +// GetVpnServerConfigurationClientRootCertificateArray{ GetVpnServerConfigurationClientRootCertificateArgs{...} } +type GetVpnServerConfigurationClientRootCertificateArrayInput interface { + pulumi.Input + + ToGetVpnServerConfigurationClientRootCertificateArrayOutput() GetVpnServerConfigurationClientRootCertificateArrayOutput + ToGetVpnServerConfigurationClientRootCertificateArrayOutputWithContext(context.Context) GetVpnServerConfigurationClientRootCertificateArrayOutput +} + +type GetVpnServerConfigurationClientRootCertificateArray []GetVpnServerConfigurationClientRootCertificateInput + +func (GetVpnServerConfigurationClientRootCertificateArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVpnServerConfigurationClientRootCertificate)(nil)).Elem() +} + +func (i GetVpnServerConfigurationClientRootCertificateArray) ToGetVpnServerConfigurationClientRootCertificateArrayOutput() GetVpnServerConfigurationClientRootCertificateArrayOutput { + return i.ToGetVpnServerConfigurationClientRootCertificateArrayOutputWithContext(context.Background()) +} + +func (i GetVpnServerConfigurationClientRootCertificateArray) ToGetVpnServerConfigurationClientRootCertificateArrayOutputWithContext(ctx context.Context) GetVpnServerConfigurationClientRootCertificateArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVpnServerConfigurationClientRootCertificateArrayOutput) +} + +type GetVpnServerConfigurationClientRootCertificateOutput struct{ *pulumi.OutputState } + +func (GetVpnServerConfigurationClientRootCertificateOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetVpnServerConfigurationClientRootCertificate)(nil)).Elem() +} + +func (o GetVpnServerConfigurationClientRootCertificateOutput) ToGetVpnServerConfigurationClientRootCertificateOutput() GetVpnServerConfigurationClientRootCertificateOutput { + return o +} + +func (o GetVpnServerConfigurationClientRootCertificateOutput) ToGetVpnServerConfigurationClientRootCertificateOutputWithContext(ctx context.Context) GetVpnServerConfigurationClientRootCertificateOutput { + return o +} + +// The Name of the VPN Server Configuration. +func (o GetVpnServerConfigurationClientRootCertificateOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetVpnServerConfigurationClientRootCertificate) string { return v.Name }).(pulumi.StringOutput) +} + +// The Public Key Data associated with the Certificate. +func (o GetVpnServerConfigurationClientRootCertificateOutput) PublicCertData() pulumi.StringOutput { + return o.ApplyT(func(v GetVpnServerConfigurationClientRootCertificate) string { return v.PublicCertData }).(pulumi.StringOutput) +} + +type GetVpnServerConfigurationClientRootCertificateArrayOutput struct{ *pulumi.OutputState } + +func (GetVpnServerConfigurationClientRootCertificateArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVpnServerConfigurationClientRootCertificate)(nil)).Elem() +} + +func (o GetVpnServerConfigurationClientRootCertificateArrayOutput) ToGetVpnServerConfigurationClientRootCertificateArrayOutput() GetVpnServerConfigurationClientRootCertificateArrayOutput { + return o +} + +func (o GetVpnServerConfigurationClientRootCertificateArrayOutput) ToGetVpnServerConfigurationClientRootCertificateArrayOutputWithContext(ctx context.Context) GetVpnServerConfigurationClientRootCertificateArrayOutput { + return o +} + +func (o GetVpnServerConfigurationClientRootCertificateArrayOutput) Index(i pulumi.IntInput) GetVpnServerConfigurationClientRootCertificateOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetVpnServerConfigurationClientRootCertificate { + return vs[0].([]GetVpnServerConfigurationClientRootCertificate)[vs[1].(int)] + }).(GetVpnServerConfigurationClientRootCertificateOutput) +} + +type GetVpnServerConfigurationIpsecPolicy struct { + // The DH Group, used in IKE Phase 1. + DhGroup string `pulumi:"dhGroup"` + // The IKE encryption algorithm, used for IKE Phase 2. + IkeEncryption string `pulumi:"ikeEncryption"` + // The IKE encryption integrity algorithm, used for IKE Phase 2. + IkeIntegrity string `pulumi:"ikeIntegrity"` + // The IPSec encryption algorithm, used for IKE phase 1. + IpsecEncryption string `pulumi:"ipsecEncryption"` + // The IPSec integrity algorithm, used for IKE phase 1. + IpsecIntegrity string `pulumi:"ipsecIntegrity"` + // The Pfs Group, used in IKE Phase 2. + PfsGroup string `pulumi:"pfsGroup"` + // The IPSec Security Association payload size in KB for a Site-to-Site VPN tunnel. + SaDataSizeKilobytes int `pulumi:"saDataSizeKilobytes"` + // The IPSec Security Association lifetime in seconds for a Site-to-Site VPN tunnel. + SaLifetimeSeconds int `pulumi:"saLifetimeSeconds"` +} + +// GetVpnServerConfigurationIpsecPolicyInput is an input type that accepts GetVpnServerConfigurationIpsecPolicyArgs and GetVpnServerConfigurationIpsecPolicyOutput values. +// You can construct a concrete instance of `GetVpnServerConfigurationIpsecPolicyInput` via: +// +// GetVpnServerConfigurationIpsecPolicyArgs{...} +type GetVpnServerConfigurationIpsecPolicyInput interface { + pulumi.Input + + ToGetVpnServerConfigurationIpsecPolicyOutput() GetVpnServerConfigurationIpsecPolicyOutput + ToGetVpnServerConfigurationIpsecPolicyOutputWithContext(context.Context) GetVpnServerConfigurationIpsecPolicyOutput +} + +type GetVpnServerConfigurationIpsecPolicyArgs struct { + // The DH Group, used in IKE Phase 1. + DhGroup pulumi.StringInput `pulumi:"dhGroup"` + // The IKE encryption algorithm, used for IKE Phase 2. + IkeEncryption pulumi.StringInput `pulumi:"ikeEncryption"` + // The IKE encryption integrity algorithm, used for IKE Phase 2. + IkeIntegrity pulumi.StringInput `pulumi:"ikeIntegrity"` + // The IPSec encryption algorithm, used for IKE phase 1. + IpsecEncryption pulumi.StringInput `pulumi:"ipsecEncryption"` + // The IPSec integrity algorithm, used for IKE phase 1. + IpsecIntegrity pulumi.StringInput `pulumi:"ipsecIntegrity"` + // The Pfs Group, used in IKE Phase 2. + PfsGroup pulumi.StringInput `pulumi:"pfsGroup"` + // The IPSec Security Association payload size in KB for a Site-to-Site VPN tunnel. + SaDataSizeKilobytes pulumi.IntInput `pulumi:"saDataSizeKilobytes"` + // The IPSec Security Association lifetime in seconds for a Site-to-Site VPN tunnel. + SaLifetimeSeconds pulumi.IntInput `pulumi:"saLifetimeSeconds"` +} + +func (GetVpnServerConfigurationIpsecPolicyArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetVpnServerConfigurationIpsecPolicy)(nil)).Elem() +} + +func (i GetVpnServerConfigurationIpsecPolicyArgs) ToGetVpnServerConfigurationIpsecPolicyOutput() GetVpnServerConfigurationIpsecPolicyOutput { + return i.ToGetVpnServerConfigurationIpsecPolicyOutputWithContext(context.Background()) +} + +func (i GetVpnServerConfigurationIpsecPolicyArgs) ToGetVpnServerConfigurationIpsecPolicyOutputWithContext(ctx context.Context) GetVpnServerConfigurationIpsecPolicyOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVpnServerConfigurationIpsecPolicyOutput) +} + +// GetVpnServerConfigurationIpsecPolicyArrayInput is an input type that accepts GetVpnServerConfigurationIpsecPolicyArray and GetVpnServerConfigurationIpsecPolicyArrayOutput values. +// You can construct a concrete instance of `GetVpnServerConfigurationIpsecPolicyArrayInput` via: +// +// GetVpnServerConfigurationIpsecPolicyArray{ GetVpnServerConfigurationIpsecPolicyArgs{...} } +type GetVpnServerConfigurationIpsecPolicyArrayInput interface { + pulumi.Input + + ToGetVpnServerConfigurationIpsecPolicyArrayOutput() GetVpnServerConfigurationIpsecPolicyArrayOutput + ToGetVpnServerConfigurationIpsecPolicyArrayOutputWithContext(context.Context) GetVpnServerConfigurationIpsecPolicyArrayOutput +} + +type GetVpnServerConfigurationIpsecPolicyArray []GetVpnServerConfigurationIpsecPolicyInput + +func (GetVpnServerConfigurationIpsecPolicyArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVpnServerConfigurationIpsecPolicy)(nil)).Elem() +} + +func (i GetVpnServerConfigurationIpsecPolicyArray) ToGetVpnServerConfigurationIpsecPolicyArrayOutput() GetVpnServerConfigurationIpsecPolicyArrayOutput { + return i.ToGetVpnServerConfigurationIpsecPolicyArrayOutputWithContext(context.Background()) +} + +func (i GetVpnServerConfigurationIpsecPolicyArray) ToGetVpnServerConfigurationIpsecPolicyArrayOutputWithContext(ctx context.Context) GetVpnServerConfigurationIpsecPolicyArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVpnServerConfigurationIpsecPolicyArrayOutput) +} + +type GetVpnServerConfigurationIpsecPolicyOutput struct{ *pulumi.OutputState } + +func (GetVpnServerConfigurationIpsecPolicyOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetVpnServerConfigurationIpsecPolicy)(nil)).Elem() +} + +func (o GetVpnServerConfigurationIpsecPolicyOutput) ToGetVpnServerConfigurationIpsecPolicyOutput() GetVpnServerConfigurationIpsecPolicyOutput { + return o +} + +func (o GetVpnServerConfigurationIpsecPolicyOutput) ToGetVpnServerConfigurationIpsecPolicyOutputWithContext(ctx context.Context) GetVpnServerConfigurationIpsecPolicyOutput { + return o +} + +// The DH Group, used in IKE Phase 1. +func (o GetVpnServerConfigurationIpsecPolicyOutput) DhGroup() pulumi.StringOutput { + return o.ApplyT(func(v GetVpnServerConfigurationIpsecPolicy) string { return v.DhGroup }).(pulumi.StringOutput) +} + +// The IKE encryption algorithm, used for IKE Phase 2. +func (o GetVpnServerConfigurationIpsecPolicyOutput) IkeEncryption() pulumi.StringOutput { + return o.ApplyT(func(v GetVpnServerConfigurationIpsecPolicy) string { return v.IkeEncryption }).(pulumi.StringOutput) +} + +// The IKE encryption integrity algorithm, used for IKE Phase 2. +func (o GetVpnServerConfigurationIpsecPolicyOutput) IkeIntegrity() pulumi.StringOutput { + return o.ApplyT(func(v GetVpnServerConfigurationIpsecPolicy) string { return v.IkeIntegrity }).(pulumi.StringOutput) +} + +// The IPSec encryption algorithm, used for IKE phase 1. +func (o GetVpnServerConfigurationIpsecPolicyOutput) IpsecEncryption() pulumi.StringOutput { + return o.ApplyT(func(v GetVpnServerConfigurationIpsecPolicy) string { return v.IpsecEncryption }).(pulumi.StringOutput) +} + +// The IPSec integrity algorithm, used for IKE phase 1. +func (o GetVpnServerConfigurationIpsecPolicyOutput) IpsecIntegrity() pulumi.StringOutput { + return o.ApplyT(func(v GetVpnServerConfigurationIpsecPolicy) string { return v.IpsecIntegrity }).(pulumi.StringOutput) +} + +// The Pfs Group, used in IKE Phase 2. +func (o GetVpnServerConfigurationIpsecPolicyOutput) PfsGroup() pulumi.StringOutput { + return o.ApplyT(func(v GetVpnServerConfigurationIpsecPolicy) string { return v.PfsGroup }).(pulumi.StringOutput) +} + +// The IPSec Security Association payload size in KB for a Site-to-Site VPN tunnel. +func (o GetVpnServerConfigurationIpsecPolicyOutput) SaDataSizeKilobytes() pulumi.IntOutput { + return o.ApplyT(func(v GetVpnServerConfigurationIpsecPolicy) int { return v.SaDataSizeKilobytes }).(pulumi.IntOutput) +} + +// The IPSec Security Association lifetime in seconds for a Site-to-Site VPN tunnel. +func (o GetVpnServerConfigurationIpsecPolicyOutput) SaLifetimeSeconds() pulumi.IntOutput { + return o.ApplyT(func(v GetVpnServerConfigurationIpsecPolicy) int { return v.SaLifetimeSeconds }).(pulumi.IntOutput) +} + +type GetVpnServerConfigurationIpsecPolicyArrayOutput struct{ *pulumi.OutputState } + +func (GetVpnServerConfigurationIpsecPolicyArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVpnServerConfigurationIpsecPolicy)(nil)).Elem() +} + +func (o GetVpnServerConfigurationIpsecPolicyArrayOutput) ToGetVpnServerConfigurationIpsecPolicyArrayOutput() GetVpnServerConfigurationIpsecPolicyArrayOutput { + return o +} + +func (o GetVpnServerConfigurationIpsecPolicyArrayOutput) ToGetVpnServerConfigurationIpsecPolicyArrayOutputWithContext(ctx context.Context) GetVpnServerConfigurationIpsecPolicyArrayOutput { + return o +} + +func (o GetVpnServerConfigurationIpsecPolicyArrayOutput) Index(i pulumi.IntInput) GetVpnServerConfigurationIpsecPolicyOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetVpnServerConfigurationIpsecPolicy { + return vs[0].([]GetVpnServerConfigurationIpsecPolicy)[vs[1].(int)] + }).(GetVpnServerConfigurationIpsecPolicyOutput) +} + +type GetVpnServerConfigurationRadius struct { + // One or more `clientRootCertificate` blocks as defined below. + ClientRootCertificates []GetVpnServerConfigurationRadiusClientRootCertificate `pulumi:"clientRootCertificates"` + // One or more `serverRootCertificate` blocks as defined below. + ServerRootCertificates []GetVpnServerConfigurationRadiusServerRootCertificate `pulumi:"serverRootCertificates"` + // One or more `server` blocks as defined below. + Servers []GetVpnServerConfigurationRadiusServer `pulumi:"servers"` +} + +// GetVpnServerConfigurationRadiusInput is an input type that accepts GetVpnServerConfigurationRadiusArgs and GetVpnServerConfigurationRadiusOutput values. +// You can construct a concrete instance of `GetVpnServerConfigurationRadiusInput` via: +// +// GetVpnServerConfigurationRadiusArgs{...} +type GetVpnServerConfigurationRadiusInput interface { + pulumi.Input + + ToGetVpnServerConfigurationRadiusOutput() GetVpnServerConfigurationRadiusOutput + ToGetVpnServerConfigurationRadiusOutputWithContext(context.Context) GetVpnServerConfigurationRadiusOutput +} + +type GetVpnServerConfigurationRadiusArgs struct { + // One or more `clientRootCertificate` blocks as defined below. + ClientRootCertificates GetVpnServerConfigurationRadiusClientRootCertificateArrayInput `pulumi:"clientRootCertificates"` + // One or more `serverRootCertificate` blocks as defined below. + ServerRootCertificates GetVpnServerConfigurationRadiusServerRootCertificateArrayInput `pulumi:"serverRootCertificates"` + // One or more `server` blocks as defined below. + Servers GetVpnServerConfigurationRadiusServerArrayInput `pulumi:"servers"` +} + +func (GetVpnServerConfigurationRadiusArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetVpnServerConfigurationRadius)(nil)).Elem() +} + +func (i GetVpnServerConfigurationRadiusArgs) ToGetVpnServerConfigurationRadiusOutput() GetVpnServerConfigurationRadiusOutput { + return i.ToGetVpnServerConfigurationRadiusOutputWithContext(context.Background()) +} + +func (i GetVpnServerConfigurationRadiusArgs) ToGetVpnServerConfigurationRadiusOutputWithContext(ctx context.Context) GetVpnServerConfigurationRadiusOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVpnServerConfigurationRadiusOutput) +} + +// GetVpnServerConfigurationRadiusArrayInput is an input type that accepts GetVpnServerConfigurationRadiusArray and GetVpnServerConfigurationRadiusArrayOutput values. +// You can construct a concrete instance of `GetVpnServerConfigurationRadiusArrayInput` via: +// +// GetVpnServerConfigurationRadiusArray{ GetVpnServerConfigurationRadiusArgs{...} } +type GetVpnServerConfigurationRadiusArrayInput interface { + pulumi.Input + + ToGetVpnServerConfigurationRadiusArrayOutput() GetVpnServerConfigurationRadiusArrayOutput + ToGetVpnServerConfigurationRadiusArrayOutputWithContext(context.Context) GetVpnServerConfigurationRadiusArrayOutput +} + +type GetVpnServerConfigurationRadiusArray []GetVpnServerConfigurationRadiusInput + +func (GetVpnServerConfigurationRadiusArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVpnServerConfigurationRadius)(nil)).Elem() +} + +func (i GetVpnServerConfigurationRadiusArray) ToGetVpnServerConfigurationRadiusArrayOutput() GetVpnServerConfigurationRadiusArrayOutput { + return i.ToGetVpnServerConfigurationRadiusArrayOutputWithContext(context.Background()) +} + +func (i GetVpnServerConfigurationRadiusArray) ToGetVpnServerConfigurationRadiusArrayOutputWithContext(ctx context.Context) GetVpnServerConfigurationRadiusArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVpnServerConfigurationRadiusArrayOutput) +} + +type GetVpnServerConfigurationRadiusOutput struct{ *pulumi.OutputState } + +func (GetVpnServerConfigurationRadiusOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetVpnServerConfigurationRadius)(nil)).Elem() +} + +func (o GetVpnServerConfigurationRadiusOutput) ToGetVpnServerConfigurationRadiusOutput() GetVpnServerConfigurationRadiusOutput { + return o +} + +func (o GetVpnServerConfigurationRadiusOutput) ToGetVpnServerConfigurationRadiusOutputWithContext(ctx context.Context) GetVpnServerConfigurationRadiusOutput { + return o +} + +// One or more `clientRootCertificate` blocks as defined below. +func (o GetVpnServerConfigurationRadiusOutput) ClientRootCertificates() GetVpnServerConfigurationRadiusClientRootCertificateArrayOutput { + return o.ApplyT(func(v GetVpnServerConfigurationRadius) []GetVpnServerConfigurationRadiusClientRootCertificate { + return v.ClientRootCertificates + }).(GetVpnServerConfigurationRadiusClientRootCertificateArrayOutput) +} + +// One or more `serverRootCertificate` blocks as defined below. +func (o GetVpnServerConfigurationRadiusOutput) ServerRootCertificates() GetVpnServerConfigurationRadiusServerRootCertificateArrayOutput { + return o.ApplyT(func(v GetVpnServerConfigurationRadius) []GetVpnServerConfigurationRadiusServerRootCertificate { + return v.ServerRootCertificates + }).(GetVpnServerConfigurationRadiusServerRootCertificateArrayOutput) +} + +// One or more `server` blocks as defined below. +func (o GetVpnServerConfigurationRadiusOutput) Servers() GetVpnServerConfigurationRadiusServerArrayOutput { + return o.ApplyT(func(v GetVpnServerConfigurationRadius) []GetVpnServerConfigurationRadiusServer { return v.Servers }).(GetVpnServerConfigurationRadiusServerArrayOutput) +} + +type GetVpnServerConfigurationRadiusArrayOutput struct{ *pulumi.OutputState } + +func (GetVpnServerConfigurationRadiusArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVpnServerConfigurationRadius)(nil)).Elem() +} + +func (o GetVpnServerConfigurationRadiusArrayOutput) ToGetVpnServerConfigurationRadiusArrayOutput() GetVpnServerConfigurationRadiusArrayOutput { + return o +} + +func (o GetVpnServerConfigurationRadiusArrayOutput) ToGetVpnServerConfigurationRadiusArrayOutputWithContext(ctx context.Context) GetVpnServerConfigurationRadiusArrayOutput { + return o +} + +func (o GetVpnServerConfigurationRadiusArrayOutput) Index(i pulumi.IntInput) GetVpnServerConfigurationRadiusOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetVpnServerConfigurationRadius { + return vs[0].([]GetVpnServerConfigurationRadius)[vs[1].(int)] + }).(GetVpnServerConfigurationRadiusOutput) +} + +type GetVpnServerConfigurationRadiusClientRootCertificate struct { + // The Name of the VPN Server Configuration. + Name string `pulumi:"name"` + // The Thumbprint of the Certificate. + Thumbprint string `pulumi:"thumbprint"` +} + +// GetVpnServerConfigurationRadiusClientRootCertificateInput is an input type that accepts GetVpnServerConfigurationRadiusClientRootCertificateArgs and GetVpnServerConfigurationRadiusClientRootCertificateOutput values. +// You can construct a concrete instance of `GetVpnServerConfigurationRadiusClientRootCertificateInput` via: +// +// GetVpnServerConfigurationRadiusClientRootCertificateArgs{...} +type GetVpnServerConfigurationRadiusClientRootCertificateInput interface { + pulumi.Input + + ToGetVpnServerConfigurationRadiusClientRootCertificateOutput() GetVpnServerConfigurationRadiusClientRootCertificateOutput + ToGetVpnServerConfigurationRadiusClientRootCertificateOutputWithContext(context.Context) GetVpnServerConfigurationRadiusClientRootCertificateOutput +} + +type GetVpnServerConfigurationRadiusClientRootCertificateArgs struct { + // The Name of the VPN Server Configuration. + Name pulumi.StringInput `pulumi:"name"` + // The Thumbprint of the Certificate. + Thumbprint pulumi.StringInput `pulumi:"thumbprint"` +} + +func (GetVpnServerConfigurationRadiusClientRootCertificateArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetVpnServerConfigurationRadiusClientRootCertificate)(nil)).Elem() +} + +func (i GetVpnServerConfigurationRadiusClientRootCertificateArgs) ToGetVpnServerConfigurationRadiusClientRootCertificateOutput() GetVpnServerConfigurationRadiusClientRootCertificateOutput { + return i.ToGetVpnServerConfigurationRadiusClientRootCertificateOutputWithContext(context.Background()) +} + +func (i GetVpnServerConfigurationRadiusClientRootCertificateArgs) ToGetVpnServerConfigurationRadiusClientRootCertificateOutputWithContext(ctx context.Context) GetVpnServerConfigurationRadiusClientRootCertificateOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVpnServerConfigurationRadiusClientRootCertificateOutput) +} + +// GetVpnServerConfigurationRadiusClientRootCertificateArrayInput is an input type that accepts GetVpnServerConfigurationRadiusClientRootCertificateArray and GetVpnServerConfigurationRadiusClientRootCertificateArrayOutput values. +// You can construct a concrete instance of `GetVpnServerConfigurationRadiusClientRootCertificateArrayInput` via: +// +// GetVpnServerConfigurationRadiusClientRootCertificateArray{ GetVpnServerConfigurationRadiusClientRootCertificateArgs{...} } +type GetVpnServerConfigurationRadiusClientRootCertificateArrayInput interface { + pulumi.Input + + ToGetVpnServerConfigurationRadiusClientRootCertificateArrayOutput() GetVpnServerConfigurationRadiusClientRootCertificateArrayOutput + ToGetVpnServerConfigurationRadiusClientRootCertificateArrayOutputWithContext(context.Context) GetVpnServerConfigurationRadiusClientRootCertificateArrayOutput +} + +type GetVpnServerConfigurationRadiusClientRootCertificateArray []GetVpnServerConfigurationRadiusClientRootCertificateInput + +func (GetVpnServerConfigurationRadiusClientRootCertificateArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVpnServerConfigurationRadiusClientRootCertificate)(nil)).Elem() +} + +func (i GetVpnServerConfigurationRadiusClientRootCertificateArray) ToGetVpnServerConfigurationRadiusClientRootCertificateArrayOutput() GetVpnServerConfigurationRadiusClientRootCertificateArrayOutput { + return i.ToGetVpnServerConfigurationRadiusClientRootCertificateArrayOutputWithContext(context.Background()) +} + +func (i GetVpnServerConfigurationRadiusClientRootCertificateArray) ToGetVpnServerConfigurationRadiusClientRootCertificateArrayOutputWithContext(ctx context.Context) GetVpnServerConfigurationRadiusClientRootCertificateArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVpnServerConfigurationRadiusClientRootCertificateArrayOutput) +} + +type GetVpnServerConfigurationRadiusClientRootCertificateOutput struct{ *pulumi.OutputState } + +func (GetVpnServerConfigurationRadiusClientRootCertificateOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetVpnServerConfigurationRadiusClientRootCertificate)(nil)).Elem() +} + +func (o GetVpnServerConfigurationRadiusClientRootCertificateOutput) ToGetVpnServerConfigurationRadiusClientRootCertificateOutput() GetVpnServerConfigurationRadiusClientRootCertificateOutput { + return o +} + +func (o GetVpnServerConfigurationRadiusClientRootCertificateOutput) ToGetVpnServerConfigurationRadiusClientRootCertificateOutputWithContext(ctx context.Context) GetVpnServerConfigurationRadiusClientRootCertificateOutput { + return o +} + +// The Name of the VPN Server Configuration. +func (o GetVpnServerConfigurationRadiusClientRootCertificateOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetVpnServerConfigurationRadiusClientRootCertificate) string { return v.Name }).(pulumi.StringOutput) +} + +// The Thumbprint of the Certificate. +func (o GetVpnServerConfigurationRadiusClientRootCertificateOutput) Thumbprint() pulumi.StringOutput { + return o.ApplyT(func(v GetVpnServerConfigurationRadiusClientRootCertificate) string { return v.Thumbprint }).(pulumi.StringOutput) +} + +type GetVpnServerConfigurationRadiusClientRootCertificateArrayOutput struct{ *pulumi.OutputState } + +func (GetVpnServerConfigurationRadiusClientRootCertificateArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVpnServerConfigurationRadiusClientRootCertificate)(nil)).Elem() +} + +func (o GetVpnServerConfigurationRadiusClientRootCertificateArrayOutput) ToGetVpnServerConfigurationRadiusClientRootCertificateArrayOutput() GetVpnServerConfigurationRadiusClientRootCertificateArrayOutput { + return o +} + +func (o GetVpnServerConfigurationRadiusClientRootCertificateArrayOutput) ToGetVpnServerConfigurationRadiusClientRootCertificateArrayOutputWithContext(ctx context.Context) GetVpnServerConfigurationRadiusClientRootCertificateArrayOutput { + return o +} + +func (o GetVpnServerConfigurationRadiusClientRootCertificateArrayOutput) Index(i pulumi.IntInput) GetVpnServerConfigurationRadiusClientRootCertificateOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetVpnServerConfigurationRadiusClientRootCertificate { + return vs[0].([]GetVpnServerConfigurationRadiusClientRootCertificate)[vs[1].(int)] + }).(GetVpnServerConfigurationRadiusClientRootCertificateOutput) +} + +type GetVpnServerConfigurationRadiusServer struct { + // The Address of the Radius Server. + Address string `pulumi:"address"` + // The Score of the Radius Server determines the priority of the server. + Score int `pulumi:"score"` + // The Secret used to communicate with the Radius Server. + Secret string `pulumi:"secret"` +} + +// GetVpnServerConfigurationRadiusServerInput is an input type that accepts GetVpnServerConfigurationRadiusServerArgs and GetVpnServerConfigurationRadiusServerOutput values. +// You can construct a concrete instance of `GetVpnServerConfigurationRadiusServerInput` via: +// +// GetVpnServerConfigurationRadiusServerArgs{...} +type GetVpnServerConfigurationRadiusServerInput interface { + pulumi.Input + + ToGetVpnServerConfigurationRadiusServerOutput() GetVpnServerConfigurationRadiusServerOutput + ToGetVpnServerConfigurationRadiusServerOutputWithContext(context.Context) GetVpnServerConfigurationRadiusServerOutput +} + +type GetVpnServerConfigurationRadiusServerArgs struct { + // The Address of the Radius Server. + Address pulumi.StringInput `pulumi:"address"` + // The Score of the Radius Server determines the priority of the server. + Score pulumi.IntInput `pulumi:"score"` + // The Secret used to communicate with the Radius Server. + Secret pulumi.StringInput `pulumi:"secret"` +} + +func (GetVpnServerConfigurationRadiusServerArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetVpnServerConfigurationRadiusServer)(nil)).Elem() +} + +func (i GetVpnServerConfigurationRadiusServerArgs) ToGetVpnServerConfigurationRadiusServerOutput() GetVpnServerConfigurationRadiusServerOutput { + return i.ToGetVpnServerConfigurationRadiusServerOutputWithContext(context.Background()) +} + +func (i GetVpnServerConfigurationRadiusServerArgs) ToGetVpnServerConfigurationRadiusServerOutputWithContext(ctx context.Context) GetVpnServerConfigurationRadiusServerOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVpnServerConfigurationRadiusServerOutput) +} + +// GetVpnServerConfigurationRadiusServerArrayInput is an input type that accepts GetVpnServerConfigurationRadiusServerArray and GetVpnServerConfigurationRadiusServerArrayOutput values. +// You can construct a concrete instance of `GetVpnServerConfigurationRadiusServerArrayInput` via: +// +// GetVpnServerConfigurationRadiusServerArray{ GetVpnServerConfigurationRadiusServerArgs{...} } +type GetVpnServerConfigurationRadiusServerArrayInput interface { + pulumi.Input + + ToGetVpnServerConfigurationRadiusServerArrayOutput() GetVpnServerConfigurationRadiusServerArrayOutput + ToGetVpnServerConfigurationRadiusServerArrayOutputWithContext(context.Context) GetVpnServerConfigurationRadiusServerArrayOutput +} + +type GetVpnServerConfigurationRadiusServerArray []GetVpnServerConfigurationRadiusServerInput + +func (GetVpnServerConfigurationRadiusServerArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVpnServerConfigurationRadiusServer)(nil)).Elem() +} + +func (i GetVpnServerConfigurationRadiusServerArray) ToGetVpnServerConfigurationRadiusServerArrayOutput() GetVpnServerConfigurationRadiusServerArrayOutput { + return i.ToGetVpnServerConfigurationRadiusServerArrayOutputWithContext(context.Background()) +} + +func (i GetVpnServerConfigurationRadiusServerArray) ToGetVpnServerConfigurationRadiusServerArrayOutputWithContext(ctx context.Context) GetVpnServerConfigurationRadiusServerArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVpnServerConfigurationRadiusServerArrayOutput) +} + +type GetVpnServerConfigurationRadiusServerOutput struct{ *pulumi.OutputState } + +func (GetVpnServerConfigurationRadiusServerOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetVpnServerConfigurationRadiusServer)(nil)).Elem() +} + +func (o GetVpnServerConfigurationRadiusServerOutput) ToGetVpnServerConfigurationRadiusServerOutput() GetVpnServerConfigurationRadiusServerOutput { + return o +} + +func (o GetVpnServerConfigurationRadiusServerOutput) ToGetVpnServerConfigurationRadiusServerOutputWithContext(ctx context.Context) GetVpnServerConfigurationRadiusServerOutput { + return o +} + +// The Address of the Radius Server. +func (o GetVpnServerConfigurationRadiusServerOutput) Address() pulumi.StringOutput { + return o.ApplyT(func(v GetVpnServerConfigurationRadiusServer) string { return v.Address }).(pulumi.StringOutput) +} + +// The Score of the Radius Server determines the priority of the server. +func (o GetVpnServerConfigurationRadiusServerOutput) Score() pulumi.IntOutput { + return o.ApplyT(func(v GetVpnServerConfigurationRadiusServer) int { return v.Score }).(pulumi.IntOutput) +} + +// The Secret used to communicate with the Radius Server. +func (o GetVpnServerConfigurationRadiusServerOutput) Secret() pulumi.StringOutput { + return o.ApplyT(func(v GetVpnServerConfigurationRadiusServer) string { return v.Secret }).(pulumi.StringOutput) +} + +type GetVpnServerConfigurationRadiusServerArrayOutput struct{ *pulumi.OutputState } + +func (GetVpnServerConfigurationRadiusServerArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVpnServerConfigurationRadiusServer)(nil)).Elem() +} + +func (o GetVpnServerConfigurationRadiusServerArrayOutput) ToGetVpnServerConfigurationRadiusServerArrayOutput() GetVpnServerConfigurationRadiusServerArrayOutput { + return o +} + +func (o GetVpnServerConfigurationRadiusServerArrayOutput) ToGetVpnServerConfigurationRadiusServerArrayOutputWithContext(ctx context.Context) GetVpnServerConfigurationRadiusServerArrayOutput { + return o +} + +func (o GetVpnServerConfigurationRadiusServerArrayOutput) Index(i pulumi.IntInput) GetVpnServerConfigurationRadiusServerOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetVpnServerConfigurationRadiusServer { + return vs[0].([]GetVpnServerConfigurationRadiusServer)[vs[1].(int)] + }).(GetVpnServerConfigurationRadiusServerOutput) +} + +type GetVpnServerConfigurationRadiusServerRootCertificate struct { + // The Name of the VPN Server Configuration. + Name string `pulumi:"name"` + // The Public Key Data associated with the Certificate. + PublicCertData string `pulumi:"publicCertData"` +} + +// GetVpnServerConfigurationRadiusServerRootCertificateInput is an input type that accepts GetVpnServerConfigurationRadiusServerRootCertificateArgs and GetVpnServerConfigurationRadiusServerRootCertificateOutput values. +// You can construct a concrete instance of `GetVpnServerConfigurationRadiusServerRootCertificateInput` via: +// +// GetVpnServerConfigurationRadiusServerRootCertificateArgs{...} +type GetVpnServerConfigurationRadiusServerRootCertificateInput interface { + pulumi.Input + + ToGetVpnServerConfigurationRadiusServerRootCertificateOutput() GetVpnServerConfigurationRadiusServerRootCertificateOutput + ToGetVpnServerConfigurationRadiusServerRootCertificateOutputWithContext(context.Context) GetVpnServerConfigurationRadiusServerRootCertificateOutput +} + +type GetVpnServerConfigurationRadiusServerRootCertificateArgs struct { + // The Name of the VPN Server Configuration. + Name pulumi.StringInput `pulumi:"name"` + // The Public Key Data associated with the Certificate. + PublicCertData pulumi.StringInput `pulumi:"publicCertData"` +} + +func (GetVpnServerConfigurationRadiusServerRootCertificateArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetVpnServerConfigurationRadiusServerRootCertificate)(nil)).Elem() +} + +func (i GetVpnServerConfigurationRadiusServerRootCertificateArgs) ToGetVpnServerConfigurationRadiusServerRootCertificateOutput() GetVpnServerConfigurationRadiusServerRootCertificateOutput { + return i.ToGetVpnServerConfigurationRadiusServerRootCertificateOutputWithContext(context.Background()) +} + +func (i GetVpnServerConfigurationRadiusServerRootCertificateArgs) ToGetVpnServerConfigurationRadiusServerRootCertificateOutputWithContext(ctx context.Context) GetVpnServerConfigurationRadiusServerRootCertificateOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVpnServerConfigurationRadiusServerRootCertificateOutput) +} + +// GetVpnServerConfigurationRadiusServerRootCertificateArrayInput is an input type that accepts GetVpnServerConfigurationRadiusServerRootCertificateArray and GetVpnServerConfigurationRadiusServerRootCertificateArrayOutput values. +// You can construct a concrete instance of `GetVpnServerConfigurationRadiusServerRootCertificateArrayInput` via: +// +// GetVpnServerConfigurationRadiusServerRootCertificateArray{ GetVpnServerConfigurationRadiusServerRootCertificateArgs{...} } +type GetVpnServerConfigurationRadiusServerRootCertificateArrayInput interface { + pulumi.Input + + ToGetVpnServerConfigurationRadiusServerRootCertificateArrayOutput() GetVpnServerConfigurationRadiusServerRootCertificateArrayOutput + ToGetVpnServerConfigurationRadiusServerRootCertificateArrayOutputWithContext(context.Context) GetVpnServerConfigurationRadiusServerRootCertificateArrayOutput +} + +type GetVpnServerConfigurationRadiusServerRootCertificateArray []GetVpnServerConfigurationRadiusServerRootCertificateInput + +func (GetVpnServerConfigurationRadiusServerRootCertificateArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVpnServerConfigurationRadiusServerRootCertificate)(nil)).Elem() +} + +func (i GetVpnServerConfigurationRadiusServerRootCertificateArray) ToGetVpnServerConfigurationRadiusServerRootCertificateArrayOutput() GetVpnServerConfigurationRadiusServerRootCertificateArrayOutput { + return i.ToGetVpnServerConfigurationRadiusServerRootCertificateArrayOutputWithContext(context.Background()) +} + +func (i GetVpnServerConfigurationRadiusServerRootCertificateArray) ToGetVpnServerConfigurationRadiusServerRootCertificateArrayOutputWithContext(ctx context.Context) GetVpnServerConfigurationRadiusServerRootCertificateArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVpnServerConfigurationRadiusServerRootCertificateArrayOutput) +} + +type GetVpnServerConfigurationRadiusServerRootCertificateOutput struct{ *pulumi.OutputState } + +func (GetVpnServerConfigurationRadiusServerRootCertificateOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetVpnServerConfigurationRadiusServerRootCertificate)(nil)).Elem() +} + +func (o GetVpnServerConfigurationRadiusServerRootCertificateOutput) ToGetVpnServerConfigurationRadiusServerRootCertificateOutput() GetVpnServerConfigurationRadiusServerRootCertificateOutput { + return o +} + +func (o GetVpnServerConfigurationRadiusServerRootCertificateOutput) ToGetVpnServerConfigurationRadiusServerRootCertificateOutputWithContext(ctx context.Context) GetVpnServerConfigurationRadiusServerRootCertificateOutput { + return o +} + +// The Name of the VPN Server Configuration. +func (o GetVpnServerConfigurationRadiusServerRootCertificateOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetVpnServerConfigurationRadiusServerRootCertificate) string { return v.Name }).(pulumi.StringOutput) +} + +// The Public Key Data associated with the Certificate. +func (o GetVpnServerConfigurationRadiusServerRootCertificateOutput) PublicCertData() pulumi.StringOutput { + return o.ApplyT(func(v GetVpnServerConfigurationRadiusServerRootCertificate) string { return v.PublicCertData }).(pulumi.StringOutput) +} + +type GetVpnServerConfigurationRadiusServerRootCertificateArrayOutput struct{ *pulumi.OutputState } + +func (GetVpnServerConfigurationRadiusServerRootCertificateArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVpnServerConfigurationRadiusServerRootCertificate)(nil)).Elem() +} + +func (o GetVpnServerConfigurationRadiusServerRootCertificateArrayOutput) ToGetVpnServerConfigurationRadiusServerRootCertificateArrayOutput() GetVpnServerConfigurationRadiusServerRootCertificateArrayOutput { + return o +} + +func (o GetVpnServerConfigurationRadiusServerRootCertificateArrayOutput) ToGetVpnServerConfigurationRadiusServerRootCertificateArrayOutputWithContext(ctx context.Context) GetVpnServerConfigurationRadiusServerRootCertificateArrayOutput { + return o +} + +func (o GetVpnServerConfigurationRadiusServerRootCertificateArrayOutput) Index(i pulumi.IntInput) GetVpnServerConfigurationRadiusServerRootCertificateOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetVpnServerConfigurationRadiusServerRootCertificate { + return vs[0].([]GetVpnServerConfigurationRadiusServerRootCertificate)[vs[1].(int)] + }).(GetVpnServerConfigurationRadiusServerRootCertificateOutput) +} + func init() { pulumi.RegisterInputType(reflect.TypeOf((*ApplicationGatewayAuthenticationCertificateInput)(nil)).Elem(), ApplicationGatewayAuthenticationCertificateArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ApplicationGatewayAuthenticationCertificateArrayInput)(nil)).Elem(), ApplicationGatewayAuthenticationCertificateArray{}) @@ -36854,6 +37787,22 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*GetVpnGatewayBgpSettingInstance0BgpPeeringAddressArrayInput)(nil)).Elem(), GetVpnGatewayBgpSettingInstance0BgpPeeringAddressArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetVpnGatewayBgpSettingInstance1BgpPeeringAddressInput)(nil)).Elem(), GetVpnGatewayBgpSettingInstance1BgpPeeringAddressArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetVpnGatewayBgpSettingInstance1BgpPeeringAddressArrayInput)(nil)).Elem(), GetVpnGatewayBgpSettingInstance1BgpPeeringAddressArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetVpnServerConfigurationAzureActiveDirectoryAuthenticationInput)(nil)).Elem(), GetVpnServerConfigurationAzureActiveDirectoryAuthenticationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetVpnServerConfigurationAzureActiveDirectoryAuthenticationArrayInput)(nil)).Elem(), GetVpnServerConfigurationAzureActiveDirectoryAuthenticationArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetVpnServerConfigurationClientRevokedCertificateInput)(nil)).Elem(), GetVpnServerConfigurationClientRevokedCertificateArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetVpnServerConfigurationClientRevokedCertificateArrayInput)(nil)).Elem(), GetVpnServerConfigurationClientRevokedCertificateArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetVpnServerConfigurationClientRootCertificateInput)(nil)).Elem(), GetVpnServerConfigurationClientRootCertificateArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetVpnServerConfigurationClientRootCertificateArrayInput)(nil)).Elem(), GetVpnServerConfigurationClientRootCertificateArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetVpnServerConfigurationIpsecPolicyInput)(nil)).Elem(), GetVpnServerConfigurationIpsecPolicyArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetVpnServerConfigurationIpsecPolicyArrayInput)(nil)).Elem(), GetVpnServerConfigurationIpsecPolicyArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetVpnServerConfigurationRadiusInput)(nil)).Elem(), GetVpnServerConfigurationRadiusArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetVpnServerConfigurationRadiusArrayInput)(nil)).Elem(), GetVpnServerConfigurationRadiusArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetVpnServerConfigurationRadiusClientRootCertificateInput)(nil)).Elem(), GetVpnServerConfigurationRadiusClientRootCertificateArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetVpnServerConfigurationRadiusClientRootCertificateArrayInput)(nil)).Elem(), GetVpnServerConfigurationRadiusClientRootCertificateArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetVpnServerConfigurationRadiusServerInput)(nil)).Elem(), GetVpnServerConfigurationRadiusServerArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetVpnServerConfigurationRadiusServerArrayInput)(nil)).Elem(), GetVpnServerConfigurationRadiusServerArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetVpnServerConfigurationRadiusServerRootCertificateInput)(nil)).Elem(), GetVpnServerConfigurationRadiusServerRootCertificateArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetVpnServerConfigurationRadiusServerRootCertificateArrayInput)(nil)).Elem(), GetVpnServerConfigurationRadiusServerRootCertificateArray{}) pulumi.RegisterOutputType(ApplicationGatewayAuthenticationCertificateOutput{}) pulumi.RegisterOutputType(ApplicationGatewayAuthenticationCertificateArrayOutput{}) pulumi.RegisterOutputType(ApplicationGatewayAutoscaleConfigurationOutput{}) @@ -37341,4 +38290,20 @@ func init() { pulumi.RegisterOutputType(GetVpnGatewayBgpSettingInstance0BgpPeeringAddressArrayOutput{}) pulumi.RegisterOutputType(GetVpnGatewayBgpSettingInstance1BgpPeeringAddressOutput{}) pulumi.RegisterOutputType(GetVpnGatewayBgpSettingInstance1BgpPeeringAddressArrayOutput{}) + pulumi.RegisterOutputType(GetVpnServerConfigurationAzureActiveDirectoryAuthenticationOutput{}) + pulumi.RegisterOutputType(GetVpnServerConfigurationAzureActiveDirectoryAuthenticationArrayOutput{}) + pulumi.RegisterOutputType(GetVpnServerConfigurationClientRevokedCertificateOutput{}) + pulumi.RegisterOutputType(GetVpnServerConfigurationClientRevokedCertificateArrayOutput{}) + pulumi.RegisterOutputType(GetVpnServerConfigurationClientRootCertificateOutput{}) + pulumi.RegisterOutputType(GetVpnServerConfigurationClientRootCertificateArrayOutput{}) + pulumi.RegisterOutputType(GetVpnServerConfigurationIpsecPolicyOutput{}) + pulumi.RegisterOutputType(GetVpnServerConfigurationIpsecPolicyArrayOutput{}) + pulumi.RegisterOutputType(GetVpnServerConfigurationRadiusOutput{}) + pulumi.RegisterOutputType(GetVpnServerConfigurationRadiusArrayOutput{}) + pulumi.RegisterOutputType(GetVpnServerConfigurationRadiusClientRootCertificateOutput{}) + pulumi.RegisterOutputType(GetVpnServerConfigurationRadiusClientRootCertificateArrayOutput{}) + pulumi.RegisterOutputType(GetVpnServerConfigurationRadiusServerOutput{}) + pulumi.RegisterOutputType(GetVpnServerConfigurationRadiusServerArrayOutput{}) + pulumi.RegisterOutputType(GetVpnServerConfigurationRadiusServerRootCertificateOutput{}) + pulumi.RegisterOutputType(GetVpnServerConfigurationRadiusServerRootCertificateArrayOutput{}) } diff --git a/sdk/go/azure/nginx/deployment.go b/sdk/go/azure/nginx/deployment.go index 5a64e45f6e..f4c7e0e78d 100644 --- a/sdk/go/azure/nginx/deployment.go +++ b/sdk/go/azure/nginx/deployment.go @@ -86,7 +86,7 @@ import ( // _, err = nginx.NewDeployment(ctx, "example", &nginx.DeploymentArgs{ // Name: pulumi.String("example-nginx"), // ResourceGroupName: example.Name, -// Sku: pulumi.String("standard_Monthly"), +// Sku: pulumi.String("standardv2_Monthly"), // Location: example.Location, // ManagedResourceGroup: pulumi.String("example"), // DiagnoseSupportEnabled: pulumi.Bool(true), diff --git a/sdk/go/azure/nginx/getDeployment.go b/sdk/go/azure/nginx/getDeployment.go index 4fcca82ccf..939efa1196 100644 --- a/sdk/go/azure/nginx/getDeployment.go +++ b/sdk/go/azure/nginx/getDeployment.go @@ -93,7 +93,7 @@ type LookupDeploymentResult struct { // NGINX version of the Deployment. NginxVersion string `pulumi:"nginxVersion"` ResourceGroupName string `pulumi:"resourceGroupName"` - // The NGINX Deployment SKU. Possible values include `standard_Monthly`. + // The NGINX Deployment SKU. Sku string `pulumi:"sku"` // A mapping of tags assigned to the NGINX Deployment. Tags map[string]string `pulumi:"tags"` @@ -229,7 +229,7 @@ func (o LookupDeploymentResultOutput) ResourceGroupName() pulumi.StringOutput { return o.ApplyT(func(v LookupDeploymentResult) string { return v.ResourceGroupName }).(pulumi.StringOutput) } -// The NGINX Deployment SKU. Possible values include `standard_Monthly`. +// The NGINX Deployment SKU. func (o LookupDeploymentResultOutput) Sku() pulumi.StringOutput { return o.ApplyT(func(v LookupDeploymentResult) string { return v.Sku }).(pulumi.StringOutput) } diff --git a/sdk/go/azure/pim/getRoleManagementPolicy.go b/sdk/go/azure/pim/getRoleManagementPolicy.go index ea0a09480c..4d6784b159 100644 --- a/sdk/go/azure/pim/getRoleManagementPolicy.go +++ b/sdk/go/azure/pim/getRoleManagementPolicy.go @@ -112,7 +112,7 @@ func LookupRoleManagementPolicy(ctx *pulumi.Context, args *LookupRoleManagementP type LookupRoleManagementPolicyArgs struct { // The scoped Role Definition ID of the role for which this policy applies. RoleDefinitionId string `pulumi:"roleDefinitionId"` - // 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. Scope string `pulumi:"scope"` } @@ -159,7 +159,7 @@ func LookupRoleManagementPolicyOutput(ctx *pulumi.Context, args LookupRoleManage type LookupRoleManagementPolicyOutputArgs struct { // The scoped Role Definition ID of the role for which this policy applies. RoleDefinitionId pulumi.StringInput `pulumi:"roleDefinitionId"` - // 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. Scope pulumi.StringInput `pulumi:"scope"` } diff --git a/sdk/go/azure/pim/roleManagementPolicy.go b/sdk/go/azure/pim/roleManagementPolicy.go index 53fc1c1476..4cd328f966 100644 --- a/sdk/go/azure/pim/roleManagementPolicy.go +++ b/sdk/go/azure/pim/roleManagementPolicy.go @@ -102,7 +102,7 @@ type RoleManagementPolicy struct { NotificationRules RoleManagementPolicyNotificationRulesOutput `pulumi:"notificationRules"` // The scoped Role Definition ID of the role for which this policy will apply. Changing this forces a new resource to be created. RoleDefinitionId pulumi.StringOutput `pulumi:"roleDefinitionId"` - // 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. Scope pulumi.StringOutput `pulumi:"scope"` } @@ -156,7 +156,7 @@ type roleManagementPolicyState struct { NotificationRules *RoleManagementPolicyNotificationRules `pulumi:"notificationRules"` // The scoped Role Definition ID of the role for which this policy will apply. Changing this forces a new resource to be created. RoleDefinitionId *string `pulumi:"roleDefinitionId"` - // 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. Scope *string `pulumi:"scope"` } @@ -175,7 +175,7 @@ type RoleManagementPolicyState struct { NotificationRules RoleManagementPolicyNotificationRulesPtrInput // The scoped Role Definition ID of the role for which this policy will apply. Changing this forces a new resource to be created. RoleDefinitionId pulumi.StringPtrInput - // 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. Scope pulumi.StringPtrInput } @@ -194,7 +194,7 @@ type roleManagementPolicyArgs struct { NotificationRules *RoleManagementPolicyNotificationRules `pulumi:"notificationRules"` // The scoped Role Definition ID of the role for which this policy will apply. Changing this forces a new resource to be created. RoleDefinitionId string `pulumi:"roleDefinitionId"` - // 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. Scope string `pulumi:"scope"` } @@ -210,7 +210,7 @@ type RoleManagementPolicyArgs struct { NotificationRules RoleManagementPolicyNotificationRulesPtrInput // The scoped Role Definition ID of the role for which this policy will apply. Changing this forces a new resource to be created. RoleDefinitionId pulumi.StringInput - // 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. Scope pulumi.StringInput } @@ -340,7 +340,7 @@ func (o RoleManagementPolicyOutput) RoleDefinitionId() pulumi.StringOutput { return o.ApplyT(func(v *RoleManagementPolicy) pulumi.StringOutput { return v.RoleDefinitionId }).(pulumi.StringOutput) } -// 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. func (o RoleManagementPolicyOutput) Scope() pulumi.StringOutput { return o.ApplyT(func(v *RoleManagementPolicy) pulumi.StringOutput { return v.Scope }).(pulumi.StringOutput) } diff --git a/sdk/go/azure/sentinel/threatIntelligenceIndicator.go b/sdk/go/azure/sentinel/threatIntelligenceIndicator.go index 449af495c0..558c025641 100644 --- a/sdk/go/azure/sentinel/threatIntelligenceIndicator.go +++ b/sdk/go/azure/sentinel/threatIntelligenceIndicator.go @@ -14,6 +14,62 @@ import ( // Manages a Sentinel Threat Intelligence Indicator. // +// ## Example Usage +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core" +// "github.com/pulumi/pulumi-azure/sdk/v6/go/azure/operationalinsights" +// "github.com/pulumi/pulumi-azure/sdk/v6/go/azure/sentinel" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// example, err := core.NewResourceGroup(ctx, "example", &core.ResourceGroupArgs{ +// Name: pulumi.String("example-rg"), +// Location: pulumi.String("east us"), +// }) +// if err != nil { +// return err +// } +// exampleAnalyticsWorkspace, err := operationalinsights.NewAnalyticsWorkspace(ctx, "example", &operationalinsights.AnalyticsWorkspaceArgs{ +// Name: pulumi.String("example-law"), +// Location: example.Location, +// ResourceGroupName: example.Name, +// Sku: pulumi.String("PerGB2018"), +// RetentionInDays: pulumi.Int(30), +// }) +// if err != nil { +// return err +// } +// exampleLogAnalyticsWorkspaceOnboarding, err := sentinel.NewLogAnalyticsWorkspaceOnboarding(ctx, "example", &sentinel.LogAnalyticsWorkspaceOnboardingArgs{ +// WorkspaceId: exampleAnalyticsWorkspace.ID(), +// }) +// if err != nil { +// return err +// } +// _, err = sentinel.NewThreatIntelligenceIndicator(ctx, "example", &sentinel.ThreatIntelligenceIndicatorArgs{ +// WorkspaceId: exampleLogAnalyticsWorkspaceOnboarding.WorkspaceId, +// PatternType: pulumi.String("domain-name"), +// Pattern: pulumi.String("http://example.com"), +// Source: pulumi.String("Microsoft Sentinel"), +// ValidateFromUtc: pulumi.String("2022-12-14T16:00:00Z"), +// DisplayName: pulumi.String("example-indicator"), +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// // ## Import // // Sentinel Threat Intelligence Indicators can be imported using the `resource id`, e.g. diff --git a/sdk/go/azure/stack/hciDeploymentSetting.go b/sdk/go/azure/stack/hciDeploymentSetting.go new file mode 100644 index 0000000000..3a25bdd56c --- /dev/null +++ b/sdk/go/azure/stack/hciDeploymentSetting.go @@ -0,0 +1,285 @@ +// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package stack + +import ( + "context" + "reflect" + + "errors" + "github.com/pulumi/pulumi-azure/sdk/v6/go/azure/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// 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 `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 +// ``` +type HciDeploymentSetting struct { + pulumi.CustomResourceState + + // 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. + ArcResourceIds pulumi.StringArrayOutput `pulumi:"arcResourceIds"` + // One or more `scaleUnit` blocks as defined below. Changing this forces a new Stack HCI Deployment Setting to be created. + ScaleUnits HciDeploymentSettingScaleUnitArrayOutput `pulumi:"scaleUnits"` + // The ID of the Azure Stack HCI cluster. Changing this forces a new Stack HCI Deployment Setting to be created. + StackHciClusterId pulumi.StringOutput `pulumi:"stackHciClusterId"` + // 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. + Version pulumi.StringOutput `pulumi:"version"` +} + +// NewHciDeploymentSetting registers a new resource with the given unique name, arguments, and options. +func NewHciDeploymentSetting(ctx *pulumi.Context, + name string, args *HciDeploymentSettingArgs, opts ...pulumi.ResourceOption) (*HciDeploymentSetting, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.ArcResourceIds == nil { + return nil, errors.New("invalid value for required argument 'ArcResourceIds'") + } + if args.ScaleUnits == nil { + return nil, errors.New("invalid value for required argument 'ScaleUnits'") + } + if args.StackHciClusterId == nil { + return nil, errors.New("invalid value for required argument 'StackHciClusterId'") + } + if args.Version == nil { + return nil, errors.New("invalid value for required argument 'Version'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource HciDeploymentSetting + err := ctx.RegisterResource("azure:stack/hciDeploymentSetting:HciDeploymentSetting", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetHciDeploymentSetting gets an existing HciDeploymentSetting resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetHciDeploymentSetting(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *HciDeploymentSettingState, opts ...pulumi.ResourceOption) (*HciDeploymentSetting, error) { + var resource HciDeploymentSetting + err := ctx.ReadResource("azure:stack/hciDeploymentSetting:HciDeploymentSetting", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering HciDeploymentSetting resources. +type hciDeploymentSettingState struct { + // 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. + ArcResourceIds []string `pulumi:"arcResourceIds"` + // One or more `scaleUnit` blocks as defined below. Changing this forces a new Stack HCI Deployment Setting to be created. + ScaleUnits []HciDeploymentSettingScaleUnit `pulumi:"scaleUnits"` + // The ID of the Azure Stack HCI cluster. Changing this forces a new Stack HCI Deployment Setting to be created. + StackHciClusterId *string `pulumi:"stackHciClusterId"` + // 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. + Version *string `pulumi:"version"` +} + +type HciDeploymentSettingState struct { + // 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. + ArcResourceIds pulumi.StringArrayInput + // One or more `scaleUnit` blocks as defined below. Changing this forces a new Stack HCI Deployment Setting to be created. + ScaleUnits HciDeploymentSettingScaleUnitArrayInput + // The ID of the Azure Stack HCI cluster. Changing this forces a new Stack HCI Deployment Setting to be created. + StackHciClusterId pulumi.StringPtrInput + // 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. + Version pulumi.StringPtrInput +} + +func (HciDeploymentSettingState) ElementType() reflect.Type { + return reflect.TypeOf((*hciDeploymentSettingState)(nil)).Elem() +} + +type hciDeploymentSettingArgs struct { + // 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. + ArcResourceIds []string `pulumi:"arcResourceIds"` + // One or more `scaleUnit` blocks as defined below. Changing this forces a new Stack HCI Deployment Setting to be created. + ScaleUnits []HciDeploymentSettingScaleUnit `pulumi:"scaleUnits"` + // The ID of the Azure Stack HCI cluster. Changing this forces a new Stack HCI Deployment Setting to be created. + StackHciClusterId string `pulumi:"stackHciClusterId"` + // 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. + Version string `pulumi:"version"` +} + +// The set of arguments for constructing a HciDeploymentSetting resource. +type HciDeploymentSettingArgs struct { + // 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. + ArcResourceIds pulumi.StringArrayInput + // One or more `scaleUnit` blocks as defined below. Changing this forces a new Stack HCI Deployment Setting to be created. + ScaleUnits HciDeploymentSettingScaleUnitArrayInput + // The ID of the Azure Stack HCI cluster. Changing this forces a new Stack HCI Deployment Setting to be created. + StackHciClusterId pulumi.StringInput + // 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. + Version pulumi.StringInput +} + +func (HciDeploymentSettingArgs) ElementType() reflect.Type { + return reflect.TypeOf((*hciDeploymentSettingArgs)(nil)).Elem() +} + +type HciDeploymentSettingInput interface { + pulumi.Input + + ToHciDeploymentSettingOutput() HciDeploymentSettingOutput + ToHciDeploymentSettingOutputWithContext(ctx context.Context) HciDeploymentSettingOutput +} + +func (*HciDeploymentSetting) ElementType() reflect.Type { + return reflect.TypeOf((**HciDeploymentSetting)(nil)).Elem() +} + +func (i *HciDeploymentSetting) ToHciDeploymentSettingOutput() HciDeploymentSettingOutput { + return i.ToHciDeploymentSettingOutputWithContext(context.Background()) +} + +func (i *HciDeploymentSetting) ToHciDeploymentSettingOutputWithContext(ctx context.Context) HciDeploymentSettingOutput { + return pulumi.ToOutputWithContext(ctx, i).(HciDeploymentSettingOutput) +} + +// HciDeploymentSettingArrayInput is an input type that accepts HciDeploymentSettingArray and HciDeploymentSettingArrayOutput values. +// You can construct a concrete instance of `HciDeploymentSettingArrayInput` via: +// +// HciDeploymentSettingArray{ HciDeploymentSettingArgs{...} } +type HciDeploymentSettingArrayInput interface { + pulumi.Input + + ToHciDeploymentSettingArrayOutput() HciDeploymentSettingArrayOutput + ToHciDeploymentSettingArrayOutputWithContext(context.Context) HciDeploymentSettingArrayOutput +} + +type HciDeploymentSettingArray []HciDeploymentSettingInput + +func (HciDeploymentSettingArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*HciDeploymentSetting)(nil)).Elem() +} + +func (i HciDeploymentSettingArray) ToHciDeploymentSettingArrayOutput() HciDeploymentSettingArrayOutput { + return i.ToHciDeploymentSettingArrayOutputWithContext(context.Background()) +} + +func (i HciDeploymentSettingArray) ToHciDeploymentSettingArrayOutputWithContext(ctx context.Context) HciDeploymentSettingArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(HciDeploymentSettingArrayOutput) +} + +// HciDeploymentSettingMapInput is an input type that accepts HciDeploymentSettingMap and HciDeploymentSettingMapOutput values. +// You can construct a concrete instance of `HciDeploymentSettingMapInput` via: +// +// HciDeploymentSettingMap{ "key": HciDeploymentSettingArgs{...} } +type HciDeploymentSettingMapInput interface { + pulumi.Input + + ToHciDeploymentSettingMapOutput() HciDeploymentSettingMapOutput + ToHciDeploymentSettingMapOutputWithContext(context.Context) HciDeploymentSettingMapOutput +} + +type HciDeploymentSettingMap map[string]HciDeploymentSettingInput + +func (HciDeploymentSettingMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*HciDeploymentSetting)(nil)).Elem() +} + +func (i HciDeploymentSettingMap) ToHciDeploymentSettingMapOutput() HciDeploymentSettingMapOutput { + return i.ToHciDeploymentSettingMapOutputWithContext(context.Background()) +} + +func (i HciDeploymentSettingMap) ToHciDeploymentSettingMapOutputWithContext(ctx context.Context) HciDeploymentSettingMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(HciDeploymentSettingMapOutput) +} + +type HciDeploymentSettingOutput struct{ *pulumi.OutputState } + +func (HciDeploymentSettingOutput) ElementType() reflect.Type { + return reflect.TypeOf((**HciDeploymentSetting)(nil)).Elem() +} + +func (o HciDeploymentSettingOutput) ToHciDeploymentSettingOutput() HciDeploymentSettingOutput { + return o +} + +func (o HciDeploymentSettingOutput) ToHciDeploymentSettingOutputWithContext(ctx context.Context) HciDeploymentSettingOutput { + return o +} + +// 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. +func (o HciDeploymentSettingOutput) ArcResourceIds() pulumi.StringArrayOutput { + return o.ApplyT(func(v *HciDeploymentSetting) pulumi.StringArrayOutput { return v.ArcResourceIds }).(pulumi.StringArrayOutput) +} + +// One or more `scaleUnit` blocks as defined below. Changing this forces a new Stack HCI Deployment Setting to be created. +func (o HciDeploymentSettingOutput) ScaleUnits() HciDeploymentSettingScaleUnitArrayOutput { + return o.ApplyT(func(v *HciDeploymentSetting) HciDeploymentSettingScaleUnitArrayOutput { return v.ScaleUnits }).(HciDeploymentSettingScaleUnitArrayOutput) +} + +// The ID of the Azure Stack HCI cluster. Changing this forces a new Stack HCI Deployment Setting to be created. +func (o HciDeploymentSettingOutput) StackHciClusterId() pulumi.StringOutput { + return o.ApplyT(func(v *HciDeploymentSetting) pulumi.StringOutput { return v.StackHciClusterId }).(pulumi.StringOutput) +} + +// 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. +func (o HciDeploymentSettingOutput) Version() pulumi.StringOutput { + return o.ApplyT(func(v *HciDeploymentSetting) pulumi.StringOutput { return v.Version }).(pulumi.StringOutput) +} + +type HciDeploymentSettingArrayOutput struct{ *pulumi.OutputState } + +func (HciDeploymentSettingArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*HciDeploymentSetting)(nil)).Elem() +} + +func (o HciDeploymentSettingArrayOutput) ToHciDeploymentSettingArrayOutput() HciDeploymentSettingArrayOutput { + return o +} + +func (o HciDeploymentSettingArrayOutput) ToHciDeploymentSettingArrayOutputWithContext(ctx context.Context) HciDeploymentSettingArrayOutput { + return o +} + +func (o HciDeploymentSettingArrayOutput) Index(i pulumi.IntInput) HciDeploymentSettingOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *HciDeploymentSetting { + return vs[0].([]*HciDeploymentSetting)[vs[1].(int)] + }).(HciDeploymentSettingOutput) +} + +type HciDeploymentSettingMapOutput struct{ *pulumi.OutputState } + +func (HciDeploymentSettingMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*HciDeploymentSetting)(nil)).Elem() +} + +func (o HciDeploymentSettingMapOutput) ToHciDeploymentSettingMapOutput() HciDeploymentSettingMapOutput { + return o +} + +func (o HciDeploymentSettingMapOutput) ToHciDeploymentSettingMapOutputWithContext(ctx context.Context) HciDeploymentSettingMapOutput { + return o +} + +func (o HciDeploymentSettingMapOutput) MapIndex(k pulumi.StringInput) HciDeploymentSettingOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *HciDeploymentSetting { + return vs[0].(map[string]*HciDeploymentSetting)[vs[1].(string)] + }).(HciDeploymentSettingOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*HciDeploymentSettingInput)(nil)).Elem(), &HciDeploymentSetting{}) + pulumi.RegisterInputType(reflect.TypeOf((*HciDeploymentSettingArrayInput)(nil)).Elem(), HciDeploymentSettingArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*HciDeploymentSettingMapInput)(nil)).Elem(), HciDeploymentSettingMap{}) + pulumi.RegisterOutputType(HciDeploymentSettingOutput{}) + pulumi.RegisterOutputType(HciDeploymentSettingArrayOutput{}) + pulumi.RegisterOutputType(HciDeploymentSettingMapOutput{}) +} diff --git a/sdk/go/azure/stack/hciStoragePath.go b/sdk/go/azure/stack/hciStoragePath.go new file mode 100644 index 0000000000..2266367f9c --- /dev/null +++ b/sdk/go/azure/stack/hciStoragePath.go @@ -0,0 +1,349 @@ +// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package stack + +import ( + "context" + "reflect" + + "errors" + "github.com/pulumi/pulumi-azure/sdk/v6/go/azure/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// Manages an Azure Stack HCI Storage Path. +// +// ## Example Usage +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core" +// "github.com/pulumi/pulumi-azure/sdk/v6/go/azure/stack" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// example, err := core.NewResourceGroup(ctx, "example", &core.ResourceGroupArgs{ +// Name: pulumi.String("example-rg"), +// Location: pulumi.String("West Europe"), +// }) +// if err != nil { +// return err +// } +// _, err = stack.NewHciStoragePath(ctx, "example", &stack.HciStoragePathArgs{ +// Name: pulumi.String("example-sp"), +// ResourceGroupName: example.Name, +// Location: example.Location, +// CustomLocationId: pulumi.String("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ExtendedLocation/customLocations/cl1"), +// Path: pulumi.String("C:\\ClusterStorage\\UserStorage_2\\sp-example"), +// Tags: pulumi.StringMap{ +// "foo": pulumi.String("bar"), +// }, +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// ## Import +// +// Azure Stack HCI Storage Paths can be imported using the `resource id`, e.g. +// +// ```sh +// $ pulumi import azure:stack/hciStoragePath:HciStoragePath example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.AzureStackHCI/storageContainers/storage1 +// ``` +type HciStoragePath struct { + pulumi.CustomResourceState + + // The ID of Custom Location where the Azure Stack HCI Storage Path should exist. Changing this forces a new resource to be created. + CustomLocationId pulumi.StringOutput `pulumi:"customLocationId"` + // The Azure Region where the Azure Stack HCI Storage Path should exist. Changing this forces a new resource to be created. + Location pulumi.StringOutput `pulumi:"location"` + // The name which should be used for this Azure Stack HCI Storage Path. Changing this forces a new resource to be created. + Name pulumi.StringOutput `pulumi:"name"` + // The file path on the disk to create the Storage Path. Changing this forces a new resource to be created. + Path pulumi.StringOutput `pulumi:"path"` + // The name of the Resource Group where the Azure Stack HCI Storage Path should exist. Changing this forces a new resource to be created. + ResourceGroupName pulumi.StringOutput `pulumi:"resourceGroupName"` + // A mapping of tags which should be assigned to the Azure Stack HCI Storage Path. + Tags pulumi.StringMapOutput `pulumi:"tags"` +} + +// NewHciStoragePath registers a new resource with the given unique name, arguments, and options. +func NewHciStoragePath(ctx *pulumi.Context, + name string, args *HciStoragePathArgs, opts ...pulumi.ResourceOption) (*HciStoragePath, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.CustomLocationId == nil { + return nil, errors.New("invalid value for required argument 'CustomLocationId'") + } + if args.Path == nil { + return nil, errors.New("invalid value for required argument 'Path'") + } + if args.ResourceGroupName == nil { + return nil, errors.New("invalid value for required argument 'ResourceGroupName'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource HciStoragePath + err := ctx.RegisterResource("azure:stack/hciStoragePath:HciStoragePath", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetHciStoragePath gets an existing HciStoragePath resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetHciStoragePath(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *HciStoragePathState, opts ...pulumi.ResourceOption) (*HciStoragePath, error) { + var resource HciStoragePath + err := ctx.ReadResource("azure:stack/hciStoragePath:HciStoragePath", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering HciStoragePath resources. +type hciStoragePathState struct { + // The ID of Custom Location where the Azure Stack HCI Storage Path should exist. Changing this forces a new resource to be created. + CustomLocationId *string `pulumi:"customLocationId"` + // The Azure Region where the Azure Stack HCI Storage Path should exist. Changing this forces a new resource to be created. + Location *string `pulumi:"location"` + // The name which should be used for this Azure Stack HCI Storage Path. Changing this forces a new resource to be created. + Name *string `pulumi:"name"` + // The file path on the disk to create the Storage Path. Changing this forces a new resource to be created. + Path *string `pulumi:"path"` + // The name of the Resource Group where the Azure Stack HCI Storage Path should exist. Changing this forces a new resource to be created. + ResourceGroupName *string `pulumi:"resourceGroupName"` + // A mapping of tags which should be assigned to the Azure Stack HCI Storage Path. + Tags map[string]string `pulumi:"tags"` +} + +type HciStoragePathState struct { + // The ID of Custom Location where the Azure Stack HCI Storage Path should exist. Changing this forces a new resource to be created. + CustomLocationId pulumi.StringPtrInput + // The Azure Region where the Azure Stack HCI Storage Path should exist. Changing this forces a new resource to be created. + Location pulumi.StringPtrInput + // The name which should be used for this Azure Stack HCI Storage Path. Changing this forces a new resource to be created. + Name pulumi.StringPtrInput + // The file path on the disk to create the Storage Path. Changing this forces a new resource to be created. + Path pulumi.StringPtrInput + // The name of the Resource Group where the Azure Stack HCI Storage Path should exist. Changing this forces a new resource to be created. + ResourceGroupName pulumi.StringPtrInput + // A mapping of tags which should be assigned to the Azure Stack HCI Storage Path. + Tags pulumi.StringMapInput +} + +func (HciStoragePathState) ElementType() reflect.Type { + return reflect.TypeOf((*hciStoragePathState)(nil)).Elem() +} + +type hciStoragePathArgs struct { + // The ID of Custom Location where the Azure Stack HCI Storage Path should exist. Changing this forces a new resource to be created. + CustomLocationId string `pulumi:"customLocationId"` + // The Azure Region where the Azure Stack HCI Storage Path should exist. Changing this forces a new resource to be created. + Location *string `pulumi:"location"` + // The name which should be used for this Azure Stack HCI Storage Path. Changing this forces a new resource to be created. + Name *string `pulumi:"name"` + // The file path on the disk to create the Storage Path. Changing this forces a new resource to be created. + Path string `pulumi:"path"` + // The name of the Resource Group where the Azure Stack HCI Storage Path should exist. Changing this forces a new resource to be created. + ResourceGroupName string `pulumi:"resourceGroupName"` + // A mapping of tags which should be assigned to the Azure Stack HCI Storage Path. + Tags map[string]string `pulumi:"tags"` +} + +// The set of arguments for constructing a HciStoragePath resource. +type HciStoragePathArgs struct { + // The ID of Custom Location where the Azure Stack HCI Storage Path should exist. Changing this forces a new resource to be created. + CustomLocationId pulumi.StringInput + // The Azure Region where the Azure Stack HCI Storage Path should exist. Changing this forces a new resource to be created. + Location pulumi.StringPtrInput + // The name which should be used for this Azure Stack HCI Storage Path. Changing this forces a new resource to be created. + Name pulumi.StringPtrInput + // The file path on the disk to create the Storage Path. Changing this forces a new resource to be created. + Path pulumi.StringInput + // The name of the Resource Group where the Azure Stack HCI Storage Path should exist. Changing this forces a new resource to be created. + ResourceGroupName pulumi.StringInput + // A mapping of tags which should be assigned to the Azure Stack HCI Storage Path. + Tags pulumi.StringMapInput +} + +func (HciStoragePathArgs) ElementType() reflect.Type { + return reflect.TypeOf((*hciStoragePathArgs)(nil)).Elem() +} + +type HciStoragePathInput interface { + pulumi.Input + + ToHciStoragePathOutput() HciStoragePathOutput + ToHciStoragePathOutputWithContext(ctx context.Context) HciStoragePathOutput +} + +func (*HciStoragePath) ElementType() reflect.Type { + return reflect.TypeOf((**HciStoragePath)(nil)).Elem() +} + +func (i *HciStoragePath) ToHciStoragePathOutput() HciStoragePathOutput { + return i.ToHciStoragePathOutputWithContext(context.Background()) +} + +func (i *HciStoragePath) ToHciStoragePathOutputWithContext(ctx context.Context) HciStoragePathOutput { + return pulumi.ToOutputWithContext(ctx, i).(HciStoragePathOutput) +} + +// HciStoragePathArrayInput is an input type that accepts HciStoragePathArray and HciStoragePathArrayOutput values. +// You can construct a concrete instance of `HciStoragePathArrayInput` via: +// +// HciStoragePathArray{ HciStoragePathArgs{...} } +type HciStoragePathArrayInput interface { + pulumi.Input + + ToHciStoragePathArrayOutput() HciStoragePathArrayOutput + ToHciStoragePathArrayOutputWithContext(context.Context) HciStoragePathArrayOutput +} + +type HciStoragePathArray []HciStoragePathInput + +func (HciStoragePathArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*HciStoragePath)(nil)).Elem() +} + +func (i HciStoragePathArray) ToHciStoragePathArrayOutput() HciStoragePathArrayOutput { + return i.ToHciStoragePathArrayOutputWithContext(context.Background()) +} + +func (i HciStoragePathArray) ToHciStoragePathArrayOutputWithContext(ctx context.Context) HciStoragePathArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(HciStoragePathArrayOutput) +} + +// HciStoragePathMapInput is an input type that accepts HciStoragePathMap and HciStoragePathMapOutput values. +// You can construct a concrete instance of `HciStoragePathMapInput` via: +// +// HciStoragePathMap{ "key": HciStoragePathArgs{...} } +type HciStoragePathMapInput interface { + pulumi.Input + + ToHciStoragePathMapOutput() HciStoragePathMapOutput + ToHciStoragePathMapOutputWithContext(context.Context) HciStoragePathMapOutput +} + +type HciStoragePathMap map[string]HciStoragePathInput + +func (HciStoragePathMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*HciStoragePath)(nil)).Elem() +} + +func (i HciStoragePathMap) ToHciStoragePathMapOutput() HciStoragePathMapOutput { + return i.ToHciStoragePathMapOutputWithContext(context.Background()) +} + +func (i HciStoragePathMap) ToHciStoragePathMapOutputWithContext(ctx context.Context) HciStoragePathMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(HciStoragePathMapOutput) +} + +type HciStoragePathOutput struct{ *pulumi.OutputState } + +func (HciStoragePathOutput) ElementType() reflect.Type { + return reflect.TypeOf((**HciStoragePath)(nil)).Elem() +} + +func (o HciStoragePathOutput) ToHciStoragePathOutput() HciStoragePathOutput { + return o +} + +func (o HciStoragePathOutput) ToHciStoragePathOutputWithContext(ctx context.Context) HciStoragePathOutput { + return o +} + +// The ID of Custom Location where the Azure Stack HCI Storage Path should exist. Changing this forces a new resource to be created. +func (o HciStoragePathOutput) CustomLocationId() pulumi.StringOutput { + return o.ApplyT(func(v *HciStoragePath) pulumi.StringOutput { return v.CustomLocationId }).(pulumi.StringOutput) +} + +// The Azure Region where the Azure Stack HCI Storage Path should exist. Changing this forces a new resource to be created. +func (o HciStoragePathOutput) Location() pulumi.StringOutput { + return o.ApplyT(func(v *HciStoragePath) pulumi.StringOutput { return v.Location }).(pulumi.StringOutput) +} + +// The name which should be used for this Azure Stack HCI Storage Path. Changing this forces a new resource to be created. +func (o HciStoragePathOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *HciStoragePath) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// The file path on the disk to create the Storage Path. Changing this forces a new resource to be created. +func (o HciStoragePathOutput) Path() pulumi.StringOutput { + return o.ApplyT(func(v *HciStoragePath) pulumi.StringOutput { return v.Path }).(pulumi.StringOutput) +} + +// The name of the Resource Group where the Azure Stack HCI Storage Path should exist. Changing this forces a new resource to be created. +func (o HciStoragePathOutput) ResourceGroupName() pulumi.StringOutput { + return o.ApplyT(func(v *HciStoragePath) pulumi.StringOutput { return v.ResourceGroupName }).(pulumi.StringOutput) +} + +// A mapping of tags which should be assigned to the Azure Stack HCI Storage Path. +func (o HciStoragePathOutput) Tags() pulumi.StringMapOutput { + return o.ApplyT(func(v *HciStoragePath) pulumi.StringMapOutput { return v.Tags }).(pulumi.StringMapOutput) +} + +type HciStoragePathArrayOutput struct{ *pulumi.OutputState } + +func (HciStoragePathArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*HciStoragePath)(nil)).Elem() +} + +func (o HciStoragePathArrayOutput) ToHciStoragePathArrayOutput() HciStoragePathArrayOutput { + return o +} + +func (o HciStoragePathArrayOutput) ToHciStoragePathArrayOutputWithContext(ctx context.Context) HciStoragePathArrayOutput { + return o +} + +func (o HciStoragePathArrayOutput) Index(i pulumi.IntInput) HciStoragePathOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *HciStoragePath { + return vs[0].([]*HciStoragePath)[vs[1].(int)] + }).(HciStoragePathOutput) +} + +type HciStoragePathMapOutput struct{ *pulumi.OutputState } + +func (HciStoragePathMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*HciStoragePath)(nil)).Elem() +} + +func (o HciStoragePathMapOutput) ToHciStoragePathMapOutput() HciStoragePathMapOutput { + return o +} + +func (o HciStoragePathMapOutput) ToHciStoragePathMapOutputWithContext(ctx context.Context) HciStoragePathMapOutput { + return o +} + +func (o HciStoragePathMapOutput) MapIndex(k pulumi.StringInput) HciStoragePathOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *HciStoragePath { + return vs[0].(map[string]*HciStoragePath)[vs[1].(string)] + }).(HciStoragePathOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*HciStoragePathInput)(nil)).Elem(), &HciStoragePath{}) + pulumi.RegisterInputType(reflect.TypeOf((*HciStoragePathArrayInput)(nil)).Elem(), HciStoragePathArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*HciStoragePathMapInput)(nil)).Elem(), HciStoragePathMap{}) + pulumi.RegisterOutputType(HciStoragePathOutput{}) + pulumi.RegisterOutputType(HciStoragePathArrayOutput{}) + pulumi.RegisterOutputType(HciStoragePathMapOutput{}) +} diff --git a/sdk/go/azure/stack/init.go b/sdk/go/azure/stack/init.go index bbb1d27912..a200b4a886 100644 --- a/sdk/go/azure/stack/init.go +++ b/sdk/go/azure/stack/init.go @@ -23,8 +23,12 @@ func (m *module) Construct(ctx *pulumi.Context, name, typ, urn string) (r pulumi switch typ { case "azure:stack/hciCluster:HciCluster": r = &HciCluster{} + case "azure:stack/hciDeploymentSetting:HciDeploymentSetting": + r = &HciDeploymentSetting{} case "azure:stack/hciLogicalNetwork:HciLogicalNetwork": r = &HciLogicalNetwork{} + case "azure:stack/hciStoragePath:HciStoragePath": + r = &HciStoragePath{} default: return nil, fmt.Errorf("unknown resource type: %s", typ) } @@ -43,9 +47,19 @@ func init() { "stack/hciCluster", &module{version}, ) + pulumi.RegisterResourceModule( + "azure", + "stack/hciDeploymentSetting", + &module{version}, + ) pulumi.RegisterResourceModule( "azure", "stack/hciLogicalNetwork", &module{version}, ) + pulumi.RegisterResourceModule( + "azure", + "stack/hciStoragePath", + &module{version}, + ) } diff --git a/sdk/go/azure/stack/pulumiTypes.go b/sdk/go/azure/stack/pulumiTypes.go index f71fd7baaf..4a6e58f6ef 100644 --- a/sdk/go/azure/stack/pulumiTypes.go +++ b/sdk/go/azure/stack/pulumiTypes.go @@ -196,6 +196,1749 @@ func (o HciClusterIdentityPtrOutput) Type() pulumi.StringPtrOutput { }).(pulumi.StringPtrOutput) } +type HciDeploymentSettingScaleUnit struct { + // 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. + ActiveDirectoryOrganizationalUnitPath string `pulumi:"activeDirectoryOrganizationalUnitPath"` + // 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. + BitlockerBootVolumeEnabled *bool `pulumi:"bitlockerBootVolumeEnabled"` + // 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. + BitlockerDataVolumeEnabled *bool `pulumi:"bitlockerDataVolumeEnabled"` + // A `cluster` block as defined above. Changing this forces a new Stack HCI Deployment Setting to be created. + Cluster HciDeploymentSettingScaleUnitCluster `pulumi:"cluster"` + // 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. + CredentialGuardEnabled *bool `pulumi:"credentialGuardEnabled"` + // Specifies the FQDN for deploying cluster. Changing this forces a new Stack HCI Deployment Setting to be created. + DomainFqdn string `pulumi:"domainFqdn"` + // 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. + DriftControlEnabled *bool `pulumi:"driftControlEnabled"` + // 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. + DrtmProtectionEnabled *bool `pulumi:"drtmProtectionEnabled"` + // 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. + EpisodicDataUploadEnabled *bool `pulumi:"episodicDataUploadEnabled"` + // 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. + EuLocationEnabled *bool `pulumi:"euLocationEnabled"` + // A `hostNetwork` block as defined above. Changing this forces a new Stack HCI Deployment Setting to be created. + HostNetwork HciDeploymentSettingScaleUnitHostNetwork `pulumi:"hostNetwork"` + // 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. + HvciProtectionEnabled *bool `pulumi:"hvciProtectionEnabled"` + // One or more `infrastructureNetwork` blocks as defined above. Changing this forces a new Stack HCI Deployment Setting to be created. + InfrastructureNetworks []HciDeploymentSettingScaleUnitInfrastructureNetwork `pulumi:"infrastructureNetworks"` + // 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. + NamePrefix string `pulumi:"namePrefix"` + // A `optionalService` block as defined above. Changing this forces a new Stack HCI Deployment Setting to be created. + OptionalService HciDeploymentSettingScaleUnitOptionalService `pulumi:"optionalService"` + // One or more `physicalNode` blocks as defined above. Changing this forces a new Stack HCI Deployment Setting to be created. + PhysicalNodes []HciDeploymentSettingScaleUnitPhysicalNode `pulumi:"physicalNodes"` + // The URI to the Key Vault or secret store. Changing this forces a new Stack HCI Deployment Setting to be created. + SecretsLocation string `pulumi:"secretsLocation"` + // 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. + SideChannelMitigationEnabled *bool `pulumi:"sideChannelMitigationEnabled"` + // 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. + SmbClusterEncryptionEnabled *bool `pulumi:"smbClusterEncryptionEnabled"` + // 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. + SmbSigningEnabled *bool `pulumi:"smbSigningEnabled"` + // A `storage` block as defined below. Changing this forces a new Stack HCI Deployment Setting to be created. + Storage HciDeploymentSettingScaleUnitStorage `pulumi:"storage"` + // 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. + StreamingDataClientEnabled *bool `pulumi:"streamingDataClientEnabled"` + // 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. + WdacEnabled *bool `pulumi:"wdacEnabled"` +} + +// HciDeploymentSettingScaleUnitInput is an input type that accepts HciDeploymentSettingScaleUnitArgs and HciDeploymentSettingScaleUnitOutput values. +// You can construct a concrete instance of `HciDeploymentSettingScaleUnitInput` via: +// +// HciDeploymentSettingScaleUnitArgs{...} +type HciDeploymentSettingScaleUnitInput interface { + pulumi.Input + + ToHciDeploymentSettingScaleUnitOutput() HciDeploymentSettingScaleUnitOutput + ToHciDeploymentSettingScaleUnitOutputWithContext(context.Context) HciDeploymentSettingScaleUnitOutput +} + +type HciDeploymentSettingScaleUnitArgs struct { + // 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. + ActiveDirectoryOrganizationalUnitPath pulumi.StringInput `pulumi:"activeDirectoryOrganizationalUnitPath"` + // 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. + BitlockerBootVolumeEnabled pulumi.BoolPtrInput `pulumi:"bitlockerBootVolumeEnabled"` + // 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. + BitlockerDataVolumeEnabled pulumi.BoolPtrInput `pulumi:"bitlockerDataVolumeEnabled"` + // A `cluster` block as defined above. Changing this forces a new Stack HCI Deployment Setting to be created. + Cluster HciDeploymentSettingScaleUnitClusterInput `pulumi:"cluster"` + // 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. + CredentialGuardEnabled pulumi.BoolPtrInput `pulumi:"credentialGuardEnabled"` + // Specifies the FQDN for deploying cluster. Changing this forces a new Stack HCI Deployment Setting to be created. + DomainFqdn pulumi.StringInput `pulumi:"domainFqdn"` + // 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. + DriftControlEnabled pulumi.BoolPtrInput `pulumi:"driftControlEnabled"` + // 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. + DrtmProtectionEnabled pulumi.BoolPtrInput `pulumi:"drtmProtectionEnabled"` + // 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. + EpisodicDataUploadEnabled pulumi.BoolPtrInput `pulumi:"episodicDataUploadEnabled"` + // 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. + EuLocationEnabled pulumi.BoolPtrInput `pulumi:"euLocationEnabled"` + // A `hostNetwork` block as defined above. Changing this forces a new Stack HCI Deployment Setting to be created. + HostNetwork HciDeploymentSettingScaleUnitHostNetworkInput `pulumi:"hostNetwork"` + // 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. + HvciProtectionEnabled pulumi.BoolPtrInput `pulumi:"hvciProtectionEnabled"` + // One or more `infrastructureNetwork` blocks as defined above. Changing this forces a new Stack HCI Deployment Setting to be created. + InfrastructureNetworks HciDeploymentSettingScaleUnitInfrastructureNetworkArrayInput `pulumi:"infrastructureNetworks"` + // 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. + NamePrefix pulumi.StringInput `pulumi:"namePrefix"` + // A `optionalService` block as defined above. Changing this forces a new Stack HCI Deployment Setting to be created. + OptionalService HciDeploymentSettingScaleUnitOptionalServiceInput `pulumi:"optionalService"` + // One or more `physicalNode` blocks as defined above. Changing this forces a new Stack HCI Deployment Setting to be created. + PhysicalNodes HciDeploymentSettingScaleUnitPhysicalNodeArrayInput `pulumi:"physicalNodes"` + // The URI to the Key Vault or secret store. Changing this forces a new Stack HCI Deployment Setting to be created. + SecretsLocation pulumi.StringInput `pulumi:"secretsLocation"` + // 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. + SideChannelMitigationEnabled pulumi.BoolPtrInput `pulumi:"sideChannelMitigationEnabled"` + // 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. + SmbClusterEncryptionEnabled pulumi.BoolPtrInput `pulumi:"smbClusterEncryptionEnabled"` + // 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. + SmbSigningEnabled pulumi.BoolPtrInput `pulumi:"smbSigningEnabled"` + // A `storage` block as defined below. Changing this forces a new Stack HCI Deployment Setting to be created. + Storage HciDeploymentSettingScaleUnitStorageInput `pulumi:"storage"` + // 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. + StreamingDataClientEnabled pulumi.BoolPtrInput `pulumi:"streamingDataClientEnabled"` + // 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. + WdacEnabled pulumi.BoolPtrInput `pulumi:"wdacEnabled"` +} + +func (HciDeploymentSettingScaleUnitArgs) ElementType() reflect.Type { + return reflect.TypeOf((*HciDeploymentSettingScaleUnit)(nil)).Elem() +} + +func (i HciDeploymentSettingScaleUnitArgs) ToHciDeploymentSettingScaleUnitOutput() HciDeploymentSettingScaleUnitOutput { + return i.ToHciDeploymentSettingScaleUnitOutputWithContext(context.Background()) +} + +func (i HciDeploymentSettingScaleUnitArgs) ToHciDeploymentSettingScaleUnitOutputWithContext(ctx context.Context) HciDeploymentSettingScaleUnitOutput { + return pulumi.ToOutputWithContext(ctx, i).(HciDeploymentSettingScaleUnitOutput) +} + +// HciDeploymentSettingScaleUnitArrayInput is an input type that accepts HciDeploymentSettingScaleUnitArray and HciDeploymentSettingScaleUnitArrayOutput values. +// You can construct a concrete instance of `HciDeploymentSettingScaleUnitArrayInput` via: +// +// HciDeploymentSettingScaleUnitArray{ HciDeploymentSettingScaleUnitArgs{...} } +type HciDeploymentSettingScaleUnitArrayInput interface { + pulumi.Input + + ToHciDeploymentSettingScaleUnitArrayOutput() HciDeploymentSettingScaleUnitArrayOutput + ToHciDeploymentSettingScaleUnitArrayOutputWithContext(context.Context) HciDeploymentSettingScaleUnitArrayOutput +} + +type HciDeploymentSettingScaleUnitArray []HciDeploymentSettingScaleUnitInput + +func (HciDeploymentSettingScaleUnitArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]HciDeploymentSettingScaleUnit)(nil)).Elem() +} + +func (i HciDeploymentSettingScaleUnitArray) ToHciDeploymentSettingScaleUnitArrayOutput() HciDeploymentSettingScaleUnitArrayOutput { + return i.ToHciDeploymentSettingScaleUnitArrayOutputWithContext(context.Background()) +} + +func (i HciDeploymentSettingScaleUnitArray) ToHciDeploymentSettingScaleUnitArrayOutputWithContext(ctx context.Context) HciDeploymentSettingScaleUnitArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(HciDeploymentSettingScaleUnitArrayOutput) +} + +type HciDeploymentSettingScaleUnitOutput struct{ *pulumi.OutputState } + +func (HciDeploymentSettingScaleUnitOutput) ElementType() reflect.Type { + return reflect.TypeOf((*HciDeploymentSettingScaleUnit)(nil)).Elem() +} + +func (o HciDeploymentSettingScaleUnitOutput) ToHciDeploymentSettingScaleUnitOutput() HciDeploymentSettingScaleUnitOutput { + return o +} + +func (o HciDeploymentSettingScaleUnitOutput) ToHciDeploymentSettingScaleUnitOutputWithContext(ctx context.Context) HciDeploymentSettingScaleUnitOutput { + return o +} + +// 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. +func (o HciDeploymentSettingScaleUnitOutput) ActiveDirectoryOrganizationalUnitPath() pulumi.StringOutput { + return o.ApplyT(func(v HciDeploymentSettingScaleUnit) string { return v.ActiveDirectoryOrganizationalUnitPath }).(pulumi.StringOutput) +} + +// 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. +func (o HciDeploymentSettingScaleUnitOutput) BitlockerBootVolumeEnabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v HciDeploymentSettingScaleUnit) *bool { return v.BitlockerBootVolumeEnabled }).(pulumi.BoolPtrOutput) +} + +// 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. +func (o HciDeploymentSettingScaleUnitOutput) BitlockerDataVolumeEnabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v HciDeploymentSettingScaleUnit) *bool { return v.BitlockerDataVolumeEnabled }).(pulumi.BoolPtrOutput) +} + +// A `cluster` block as defined above. Changing this forces a new Stack HCI Deployment Setting to be created. +func (o HciDeploymentSettingScaleUnitOutput) Cluster() HciDeploymentSettingScaleUnitClusterOutput { + return o.ApplyT(func(v HciDeploymentSettingScaleUnit) HciDeploymentSettingScaleUnitCluster { return v.Cluster }).(HciDeploymentSettingScaleUnitClusterOutput) +} + +// 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. +func (o HciDeploymentSettingScaleUnitOutput) CredentialGuardEnabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v HciDeploymentSettingScaleUnit) *bool { return v.CredentialGuardEnabled }).(pulumi.BoolPtrOutput) +} + +// Specifies the FQDN for deploying cluster. Changing this forces a new Stack HCI Deployment Setting to be created. +func (o HciDeploymentSettingScaleUnitOutput) DomainFqdn() pulumi.StringOutput { + return o.ApplyT(func(v HciDeploymentSettingScaleUnit) string { return v.DomainFqdn }).(pulumi.StringOutput) +} + +// 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. +func (o HciDeploymentSettingScaleUnitOutput) DriftControlEnabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v HciDeploymentSettingScaleUnit) *bool { return v.DriftControlEnabled }).(pulumi.BoolPtrOutput) +} + +// 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. +func (o HciDeploymentSettingScaleUnitOutput) DrtmProtectionEnabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v HciDeploymentSettingScaleUnit) *bool { return v.DrtmProtectionEnabled }).(pulumi.BoolPtrOutput) +} + +// 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. +func (o HciDeploymentSettingScaleUnitOutput) EpisodicDataUploadEnabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v HciDeploymentSettingScaleUnit) *bool { return v.EpisodicDataUploadEnabled }).(pulumi.BoolPtrOutput) +} + +// 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. +func (o HciDeploymentSettingScaleUnitOutput) EuLocationEnabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v HciDeploymentSettingScaleUnit) *bool { return v.EuLocationEnabled }).(pulumi.BoolPtrOutput) +} + +// A `hostNetwork` block as defined above. Changing this forces a new Stack HCI Deployment Setting to be created. +func (o HciDeploymentSettingScaleUnitOutput) HostNetwork() HciDeploymentSettingScaleUnitHostNetworkOutput { + return o.ApplyT(func(v HciDeploymentSettingScaleUnit) HciDeploymentSettingScaleUnitHostNetwork { return v.HostNetwork }).(HciDeploymentSettingScaleUnitHostNetworkOutput) +} + +// 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. +func (o HciDeploymentSettingScaleUnitOutput) HvciProtectionEnabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v HciDeploymentSettingScaleUnit) *bool { return v.HvciProtectionEnabled }).(pulumi.BoolPtrOutput) +} + +// One or more `infrastructureNetwork` blocks as defined above. Changing this forces a new Stack HCI Deployment Setting to be created. +func (o HciDeploymentSettingScaleUnitOutput) InfrastructureNetworks() HciDeploymentSettingScaleUnitInfrastructureNetworkArrayOutput { + return o.ApplyT(func(v HciDeploymentSettingScaleUnit) []HciDeploymentSettingScaleUnitInfrastructureNetwork { + return v.InfrastructureNetworks + }).(HciDeploymentSettingScaleUnitInfrastructureNetworkArrayOutput) +} + +// 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. +func (o HciDeploymentSettingScaleUnitOutput) NamePrefix() pulumi.StringOutput { + return o.ApplyT(func(v HciDeploymentSettingScaleUnit) string { return v.NamePrefix }).(pulumi.StringOutput) +} + +// A `optionalService` block as defined above. Changing this forces a new Stack HCI Deployment Setting to be created. +func (o HciDeploymentSettingScaleUnitOutput) OptionalService() HciDeploymentSettingScaleUnitOptionalServiceOutput { + return o.ApplyT(func(v HciDeploymentSettingScaleUnit) HciDeploymentSettingScaleUnitOptionalService { + return v.OptionalService + }).(HciDeploymentSettingScaleUnitOptionalServiceOutput) +} + +// One or more `physicalNode` blocks as defined above. Changing this forces a new Stack HCI Deployment Setting to be created. +func (o HciDeploymentSettingScaleUnitOutput) PhysicalNodes() HciDeploymentSettingScaleUnitPhysicalNodeArrayOutput { + return o.ApplyT(func(v HciDeploymentSettingScaleUnit) []HciDeploymentSettingScaleUnitPhysicalNode { + return v.PhysicalNodes + }).(HciDeploymentSettingScaleUnitPhysicalNodeArrayOutput) +} + +// The URI to the Key Vault or secret store. Changing this forces a new Stack HCI Deployment Setting to be created. +func (o HciDeploymentSettingScaleUnitOutput) SecretsLocation() pulumi.StringOutput { + return o.ApplyT(func(v HciDeploymentSettingScaleUnit) string { return v.SecretsLocation }).(pulumi.StringOutput) +} + +// 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. +func (o HciDeploymentSettingScaleUnitOutput) SideChannelMitigationEnabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v HciDeploymentSettingScaleUnit) *bool { return v.SideChannelMitigationEnabled }).(pulumi.BoolPtrOutput) +} + +// 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. +func (o HciDeploymentSettingScaleUnitOutput) SmbClusterEncryptionEnabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v HciDeploymentSettingScaleUnit) *bool { return v.SmbClusterEncryptionEnabled }).(pulumi.BoolPtrOutput) +} + +// 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. +func (o HciDeploymentSettingScaleUnitOutput) SmbSigningEnabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v HciDeploymentSettingScaleUnit) *bool { return v.SmbSigningEnabled }).(pulumi.BoolPtrOutput) +} + +// A `storage` block as defined below. Changing this forces a new Stack HCI Deployment Setting to be created. +func (o HciDeploymentSettingScaleUnitOutput) Storage() HciDeploymentSettingScaleUnitStorageOutput { + return o.ApplyT(func(v HciDeploymentSettingScaleUnit) HciDeploymentSettingScaleUnitStorage { return v.Storage }).(HciDeploymentSettingScaleUnitStorageOutput) +} + +// 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. +func (o HciDeploymentSettingScaleUnitOutput) StreamingDataClientEnabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v HciDeploymentSettingScaleUnit) *bool { return v.StreamingDataClientEnabled }).(pulumi.BoolPtrOutput) +} + +// 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. +func (o HciDeploymentSettingScaleUnitOutput) WdacEnabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v HciDeploymentSettingScaleUnit) *bool { return v.WdacEnabled }).(pulumi.BoolPtrOutput) +} + +type HciDeploymentSettingScaleUnitArrayOutput struct{ *pulumi.OutputState } + +func (HciDeploymentSettingScaleUnitArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]HciDeploymentSettingScaleUnit)(nil)).Elem() +} + +func (o HciDeploymentSettingScaleUnitArrayOutput) ToHciDeploymentSettingScaleUnitArrayOutput() HciDeploymentSettingScaleUnitArrayOutput { + return o +} + +func (o HciDeploymentSettingScaleUnitArrayOutput) ToHciDeploymentSettingScaleUnitArrayOutputWithContext(ctx context.Context) HciDeploymentSettingScaleUnitArrayOutput { + return o +} + +func (o HciDeploymentSettingScaleUnitArrayOutput) Index(i pulumi.IntInput) HciDeploymentSettingScaleUnitOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) HciDeploymentSettingScaleUnit { + return vs[0].([]HciDeploymentSettingScaleUnit)[vs[1].(int)] + }).(HciDeploymentSettingScaleUnitOutput) +} + +type HciDeploymentSettingScaleUnitCluster struct { + // Specifies the Azure blob service endpoint, for example, `core.windows.net`. Changing this forces a new Stack HCI Deployment Setting to be created. + AzureServiceEndpoint string `pulumi:"azureServiceEndpoint"` + // 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. + CloudAccountName string `pulumi:"cloudAccountName"` + // 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. + Name string `pulumi:"name"` + // 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. + WitnessPath string `pulumi:"witnessPath"` + // Specifies the type of the witness. Possible values are `Cloud`, `FileShare`. Changing this forces a new Stack HCI Deployment Setting to be created. + WitnessType string `pulumi:"witnessType"` +} + +// HciDeploymentSettingScaleUnitClusterInput is an input type that accepts HciDeploymentSettingScaleUnitClusterArgs and HciDeploymentSettingScaleUnitClusterOutput values. +// You can construct a concrete instance of `HciDeploymentSettingScaleUnitClusterInput` via: +// +// HciDeploymentSettingScaleUnitClusterArgs{...} +type HciDeploymentSettingScaleUnitClusterInput interface { + pulumi.Input + + ToHciDeploymentSettingScaleUnitClusterOutput() HciDeploymentSettingScaleUnitClusterOutput + ToHciDeploymentSettingScaleUnitClusterOutputWithContext(context.Context) HciDeploymentSettingScaleUnitClusterOutput +} + +type HciDeploymentSettingScaleUnitClusterArgs struct { + // Specifies the Azure blob service endpoint, for example, `core.windows.net`. Changing this forces a new Stack HCI Deployment Setting to be created. + AzureServiceEndpoint pulumi.StringInput `pulumi:"azureServiceEndpoint"` + // 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. + CloudAccountName pulumi.StringInput `pulumi:"cloudAccountName"` + // 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. + Name pulumi.StringInput `pulumi:"name"` + // 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. + WitnessPath pulumi.StringInput `pulumi:"witnessPath"` + // Specifies the type of the witness. Possible values are `Cloud`, `FileShare`. Changing this forces a new Stack HCI Deployment Setting to be created. + WitnessType pulumi.StringInput `pulumi:"witnessType"` +} + +func (HciDeploymentSettingScaleUnitClusterArgs) ElementType() reflect.Type { + return reflect.TypeOf((*HciDeploymentSettingScaleUnitCluster)(nil)).Elem() +} + +func (i HciDeploymentSettingScaleUnitClusterArgs) ToHciDeploymentSettingScaleUnitClusterOutput() HciDeploymentSettingScaleUnitClusterOutput { + return i.ToHciDeploymentSettingScaleUnitClusterOutputWithContext(context.Background()) +} + +func (i HciDeploymentSettingScaleUnitClusterArgs) ToHciDeploymentSettingScaleUnitClusterOutputWithContext(ctx context.Context) HciDeploymentSettingScaleUnitClusterOutput { + return pulumi.ToOutputWithContext(ctx, i).(HciDeploymentSettingScaleUnitClusterOutput) +} + +type HciDeploymentSettingScaleUnitClusterOutput struct{ *pulumi.OutputState } + +func (HciDeploymentSettingScaleUnitClusterOutput) ElementType() reflect.Type { + return reflect.TypeOf((*HciDeploymentSettingScaleUnitCluster)(nil)).Elem() +} + +func (o HciDeploymentSettingScaleUnitClusterOutput) ToHciDeploymentSettingScaleUnitClusterOutput() HciDeploymentSettingScaleUnitClusterOutput { + return o +} + +func (o HciDeploymentSettingScaleUnitClusterOutput) ToHciDeploymentSettingScaleUnitClusterOutputWithContext(ctx context.Context) HciDeploymentSettingScaleUnitClusterOutput { + return o +} + +// Specifies the Azure blob service endpoint, for example, `core.windows.net`. Changing this forces a new Stack HCI Deployment Setting to be created. +func (o HciDeploymentSettingScaleUnitClusterOutput) AzureServiceEndpoint() pulumi.StringOutput { + return o.ApplyT(func(v HciDeploymentSettingScaleUnitCluster) string { return v.AzureServiceEndpoint }).(pulumi.StringOutput) +} + +// 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. +func (o HciDeploymentSettingScaleUnitClusterOutput) CloudAccountName() pulumi.StringOutput { + return o.ApplyT(func(v HciDeploymentSettingScaleUnitCluster) string { return v.CloudAccountName }).(pulumi.StringOutput) +} + +// 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. +func (o HciDeploymentSettingScaleUnitClusterOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v HciDeploymentSettingScaleUnitCluster) string { return v.Name }).(pulumi.StringOutput) +} + +// 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. +func (o HciDeploymentSettingScaleUnitClusterOutput) WitnessPath() pulumi.StringOutput { + return o.ApplyT(func(v HciDeploymentSettingScaleUnitCluster) string { return v.WitnessPath }).(pulumi.StringOutput) +} + +// Specifies the type of the witness. Possible values are `Cloud`, `FileShare`. Changing this forces a new Stack HCI Deployment Setting to be created. +func (o HciDeploymentSettingScaleUnitClusterOutput) WitnessType() pulumi.StringOutput { + return o.ApplyT(func(v HciDeploymentSettingScaleUnitCluster) string { return v.WitnessType }).(pulumi.StringOutput) +} + +type HciDeploymentSettingScaleUnitHostNetwork struct { + // One or more `intent` blocks as defined below. Changing this forces a new Stack HCI Deployment Setting to be created. + Intents []HciDeploymentSettingScaleUnitHostNetworkIntent `pulumi:"intents"` + // 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. + StorageAutoIpEnabled *bool `pulumi:"storageAutoIpEnabled"` + // 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. + StorageConnectivitySwitchlessEnabled *bool `pulumi:"storageConnectivitySwitchlessEnabled"` + // One or more `storageNetwork` blocks as defined below. Changing this forces a new Stack HCI Deployment Setting to be created. + StorageNetworks []HciDeploymentSettingScaleUnitHostNetworkStorageNetwork `pulumi:"storageNetworks"` +} + +// HciDeploymentSettingScaleUnitHostNetworkInput is an input type that accepts HciDeploymentSettingScaleUnitHostNetworkArgs and HciDeploymentSettingScaleUnitHostNetworkOutput values. +// You can construct a concrete instance of `HciDeploymentSettingScaleUnitHostNetworkInput` via: +// +// HciDeploymentSettingScaleUnitHostNetworkArgs{...} +type HciDeploymentSettingScaleUnitHostNetworkInput interface { + pulumi.Input + + ToHciDeploymentSettingScaleUnitHostNetworkOutput() HciDeploymentSettingScaleUnitHostNetworkOutput + ToHciDeploymentSettingScaleUnitHostNetworkOutputWithContext(context.Context) HciDeploymentSettingScaleUnitHostNetworkOutput +} + +type HciDeploymentSettingScaleUnitHostNetworkArgs struct { + // One or more `intent` blocks as defined below. Changing this forces a new Stack HCI Deployment Setting to be created. + Intents HciDeploymentSettingScaleUnitHostNetworkIntentArrayInput `pulumi:"intents"` + // 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. + StorageAutoIpEnabled pulumi.BoolPtrInput `pulumi:"storageAutoIpEnabled"` + // 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. + StorageConnectivitySwitchlessEnabled pulumi.BoolPtrInput `pulumi:"storageConnectivitySwitchlessEnabled"` + // One or more `storageNetwork` blocks as defined below. Changing this forces a new Stack HCI Deployment Setting to be created. + StorageNetworks HciDeploymentSettingScaleUnitHostNetworkStorageNetworkArrayInput `pulumi:"storageNetworks"` +} + +func (HciDeploymentSettingScaleUnitHostNetworkArgs) ElementType() reflect.Type { + return reflect.TypeOf((*HciDeploymentSettingScaleUnitHostNetwork)(nil)).Elem() +} + +func (i HciDeploymentSettingScaleUnitHostNetworkArgs) ToHciDeploymentSettingScaleUnitHostNetworkOutput() HciDeploymentSettingScaleUnitHostNetworkOutput { + return i.ToHciDeploymentSettingScaleUnitHostNetworkOutputWithContext(context.Background()) +} + +func (i HciDeploymentSettingScaleUnitHostNetworkArgs) ToHciDeploymentSettingScaleUnitHostNetworkOutputWithContext(ctx context.Context) HciDeploymentSettingScaleUnitHostNetworkOutput { + return pulumi.ToOutputWithContext(ctx, i).(HciDeploymentSettingScaleUnitHostNetworkOutput) +} + +type HciDeploymentSettingScaleUnitHostNetworkOutput struct{ *pulumi.OutputState } + +func (HciDeploymentSettingScaleUnitHostNetworkOutput) ElementType() reflect.Type { + return reflect.TypeOf((*HciDeploymentSettingScaleUnitHostNetwork)(nil)).Elem() +} + +func (o HciDeploymentSettingScaleUnitHostNetworkOutput) ToHciDeploymentSettingScaleUnitHostNetworkOutput() HciDeploymentSettingScaleUnitHostNetworkOutput { + return o +} + +func (o HciDeploymentSettingScaleUnitHostNetworkOutput) ToHciDeploymentSettingScaleUnitHostNetworkOutputWithContext(ctx context.Context) HciDeploymentSettingScaleUnitHostNetworkOutput { + return o +} + +// One or more `intent` blocks as defined below. Changing this forces a new Stack HCI Deployment Setting to be created. +func (o HciDeploymentSettingScaleUnitHostNetworkOutput) Intents() HciDeploymentSettingScaleUnitHostNetworkIntentArrayOutput { + return o.ApplyT(func(v HciDeploymentSettingScaleUnitHostNetwork) []HciDeploymentSettingScaleUnitHostNetworkIntent { + return v.Intents + }).(HciDeploymentSettingScaleUnitHostNetworkIntentArrayOutput) +} + +// 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. +func (o HciDeploymentSettingScaleUnitHostNetworkOutput) StorageAutoIpEnabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v HciDeploymentSettingScaleUnitHostNetwork) *bool { return v.StorageAutoIpEnabled }).(pulumi.BoolPtrOutput) +} + +// 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. +func (o HciDeploymentSettingScaleUnitHostNetworkOutput) StorageConnectivitySwitchlessEnabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v HciDeploymentSettingScaleUnitHostNetwork) *bool { return v.StorageConnectivitySwitchlessEnabled }).(pulumi.BoolPtrOutput) +} + +// One or more `storageNetwork` blocks as defined below. Changing this forces a new Stack HCI Deployment Setting to be created. +func (o HciDeploymentSettingScaleUnitHostNetworkOutput) StorageNetworks() HciDeploymentSettingScaleUnitHostNetworkStorageNetworkArrayOutput { + return o.ApplyT(func(v HciDeploymentSettingScaleUnitHostNetwork) []HciDeploymentSettingScaleUnitHostNetworkStorageNetwork { + return v.StorageNetworks + }).(HciDeploymentSettingScaleUnitHostNetworkStorageNetworkArrayOutput) +} + +type HciDeploymentSettingScaleUnitHostNetworkIntent struct { + // A `adapterPropertyOverride` block as defined above. Changing this forces a new Stack HCI Deployment Setting to be created. + AdapterPropertyOverride *HciDeploymentSettingScaleUnitHostNetworkIntentAdapterPropertyOverride `pulumi:"adapterPropertyOverride"` + // 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. + AdapterPropertyOverrideEnabled *bool `pulumi:"adapterPropertyOverrideEnabled"` + // 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. + Adapters []string `pulumi:"adapters"` + // Specifies the name of the intent. Changing this forces a new Stack HCI Deployment Setting to be created. + Name string `pulumi:"name"` + // A `qosPolicyOverride` block as defined below. Changing this forces a new Stack HCI Deployment Setting to be created. + QosPolicyOverride *HciDeploymentSettingScaleUnitHostNetworkIntentQosPolicyOverride `pulumi:"qosPolicyOverride"` + // 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. + QosPolicyOverrideEnabled *bool `pulumi:"qosPolicyOverrideEnabled"` + // 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. + TrafficTypes []string `pulumi:"trafficTypes"` + // A `virtualSwitchConfigurationOverride` block as defined below. Changing this forces a new Stack HCI Deployment Setting to be created. + VirtualSwitchConfigurationOverride *HciDeploymentSettingScaleUnitHostNetworkIntentVirtualSwitchConfigurationOverride `pulumi:"virtualSwitchConfigurationOverride"` + // 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. + VirtualSwitchConfigurationOverrideEnabled *bool `pulumi:"virtualSwitchConfigurationOverrideEnabled"` +} + +// HciDeploymentSettingScaleUnitHostNetworkIntentInput is an input type that accepts HciDeploymentSettingScaleUnitHostNetworkIntentArgs and HciDeploymentSettingScaleUnitHostNetworkIntentOutput values. +// You can construct a concrete instance of `HciDeploymentSettingScaleUnitHostNetworkIntentInput` via: +// +// HciDeploymentSettingScaleUnitHostNetworkIntentArgs{...} +type HciDeploymentSettingScaleUnitHostNetworkIntentInput interface { + pulumi.Input + + ToHciDeploymentSettingScaleUnitHostNetworkIntentOutput() HciDeploymentSettingScaleUnitHostNetworkIntentOutput + ToHciDeploymentSettingScaleUnitHostNetworkIntentOutputWithContext(context.Context) HciDeploymentSettingScaleUnitHostNetworkIntentOutput +} + +type HciDeploymentSettingScaleUnitHostNetworkIntentArgs struct { + // A `adapterPropertyOverride` block as defined above. Changing this forces a new Stack HCI Deployment Setting to be created. + AdapterPropertyOverride HciDeploymentSettingScaleUnitHostNetworkIntentAdapterPropertyOverridePtrInput `pulumi:"adapterPropertyOverride"` + // 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. + AdapterPropertyOverrideEnabled pulumi.BoolPtrInput `pulumi:"adapterPropertyOverrideEnabled"` + // 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. + Adapters pulumi.StringArrayInput `pulumi:"adapters"` + // Specifies the name of the intent. Changing this forces a new Stack HCI Deployment Setting to be created. + Name pulumi.StringInput `pulumi:"name"` + // A `qosPolicyOverride` block as defined below. Changing this forces a new Stack HCI Deployment Setting to be created. + QosPolicyOverride HciDeploymentSettingScaleUnitHostNetworkIntentQosPolicyOverridePtrInput `pulumi:"qosPolicyOverride"` + // 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. + QosPolicyOverrideEnabled pulumi.BoolPtrInput `pulumi:"qosPolicyOverrideEnabled"` + // 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. + TrafficTypes pulumi.StringArrayInput `pulumi:"trafficTypes"` + // A `virtualSwitchConfigurationOverride` block as defined below. Changing this forces a new Stack HCI Deployment Setting to be created. + VirtualSwitchConfigurationOverride HciDeploymentSettingScaleUnitHostNetworkIntentVirtualSwitchConfigurationOverridePtrInput `pulumi:"virtualSwitchConfigurationOverride"` + // 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. + VirtualSwitchConfigurationOverrideEnabled pulumi.BoolPtrInput `pulumi:"virtualSwitchConfigurationOverrideEnabled"` +} + +func (HciDeploymentSettingScaleUnitHostNetworkIntentArgs) ElementType() reflect.Type { + return reflect.TypeOf((*HciDeploymentSettingScaleUnitHostNetworkIntent)(nil)).Elem() +} + +func (i HciDeploymentSettingScaleUnitHostNetworkIntentArgs) ToHciDeploymentSettingScaleUnitHostNetworkIntentOutput() HciDeploymentSettingScaleUnitHostNetworkIntentOutput { + return i.ToHciDeploymentSettingScaleUnitHostNetworkIntentOutputWithContext(context.Background()) +} + +func (i HciDeploymentSettingScaleUnitHostNetworkIntentArgs) ToHciDeploymentSettingScaleUnitHostNetworkIntentOutputWithContext(ctx context.Context) HciDeploymentSettingScaleUnitHostNetworkIntentOutput { + return pulumi.ToOutputWithContext(ctx, i).(HciDeploymentSettingScaleUnitHostNetworkIntentOutput) +} + +// HciDeploymentSettingScaleUnitHostNetworkIntentArrayInput is an input type that accepts HciDeploymentSettingScaleUnitHostNetworkIntentArray and HciDeploymentSettingScaleUnitHostNetworkIntentArrayOutput values. +// You can construct a concrete instance of `HciDeploymentSettingScaleUnitHostNetworkIntentArrayInput` via: +// +// HciDeploymentSettingScaleUnitHostNetworkIntentArray{ HciDeploymentSettingScaleUnitHostNetworkIntentArgs{...} } +type HciDeploymentSettingScaleUnitHostNetworkIntentArrayInput interface { + pulumi.Input + + ToHciDeploymentSettingScaleUnitHostNetworkIntentArrayOutput() HciDeploymentSettingScaleUnitHostNetworkIntentArrayOutput + ToHciDeploymentSettingScaleUnitHostNetworkIntentArrayOutputWithContext(context.Context) HciDeploymentSettingScaleUnitHostNetworkIntentArrayOutput +} + +type HciDeploymentSettingScaleUnitHostNetworkIntentArray []HciDeploymentSettingScaleUnitHostNetworkIntentInput + +func (HciDeploymentSettingScaleUnitHostNetworkIntentArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]HciDeploymentSettingScaleUnitHostNetworkIntent)(nil)).Elem() +} + +func (i HciDeploymentSettingScaleUnitHostNetworkIntentArray) ToHciDeploymentSettingScaleUnitHostNetworkIntentArrayOutput() HciDeploymentSettingScaleUnitHostNetworkIntentArrayOutput { + return i.ToHciDeploymentSettingScaleUnitHostNetworkIntentArrayOutputWithContext(context.Background()) +} + +func (i HciDeploymentSettingScaleUnitHostNetworkIntentArray) ToHciDeploymentSettingScaleUnitHostNetworkIntentArrayOutputWithContext(ctx context.Context) HciDeploymentSettingScaleUnitHostNetworkIntentArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(HciDeploymentSettingScaleUnitHostNetworkIntentArrayOutput) +} + +type HciDeploymentSettingScaleUnitHostNetworkIntentOutput struct{ *pulumi.OutputState } + +func (HciDeploymentSettingScaleUnitHostNetworkIntentOutput) ElementType() reflect.Type { + return reflect.TypeOf((*HciDeploymentSettingScaleUnitHostNetworkIntent)(nil)).Elem() +} + +func (o HciDeploymentSettingScaleUnitHostNetworkIntentOutput) ToHciDeploymentSettingScaleUnitHostNetworkIntentOutput() HciDeploymentSettingScaleUnitHostNetworkIntentOutput { + return o +} + +func (o HciDeploymentSettingScaleUnitHostNetworkIntentOutput) ToHciDeploymentSettingScaleUnitHostNetworkIntentOutputWithContext(ctx context.Context) HciDeploymentSettingScaleUnitHostNetworkIntentOutput { + return o +} + +// A `adapterPropertyOverride` block as defined above. Changing this forces a new Stack HCI Deployment Setting to be created. +func (o HciDeploymentSettingScaleUnitHostNetworkIntentOutput) AdapterPropertyOverride() HciDeploymentSettingScaleUnitHostNetworkIntentAdapterPropertyOverridePtrOutput { + return o.ApplyT(func(v HciDeploymentSettingScaleUnitHostNetworkIntent) *HciDeploymentSettingScaleUnitHostNetworkIntentAdapterPropertyOverride { + return v.AdapterPropertyOverride + }).(HciDeploymentSettingScaleUnitHostNetworkIntentAdapterPropertyOverridePtrOutput) +} + +// 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. +func (o HciDeploymentSettingScaleUnitHostNetworkIntentOutput) AdapterPropertyOverrideEnabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v HciDeploymentSettingScaleUnitHostNetworkIntent) *bool { return v.AdapterPropertyOverrideEnabled }).(pulumi.BoolPtrOutput) +} + +// 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. +func (o HciDeploymentSettingScaleUnitHostNetworkIntentOutput) Adapters() pulumi.StringArrayOutput { + return o.ApplyT(func(v HciDeploymentSettingScaleUnitHostNetworkIntent) []string { return v.Adapters }).(pulumi.StringArrayOutput) +} + +// Specifies the name of the intent. Changing this forces a new Stack HCI Deployment Setting to be created. +func (o HciDeploymentSettingScaleUnitHostNetworkIntentOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v HciDeploymentSettingScaleUnitHostNetworkIntent) string { return v.Name }).(pulumi.StringOutput) +} + +// A `qosPolicyOverride` block as defined below. Changing this forces a new Stack HCI Deployment Setting to be created. +func (o HciDeploymentSettingScaleUnitHostNetworkIntentOutput) QosPolicyOverride() HciDeploymentSettingScaleUnitHostNetworkIntentQosPolicyOverridePtrOutput { + return o.ApplyT(func(v HciDeploymentSettingScaleUnitHostNetworkIntent) *HciDeploymentSettingScaleUnitHostNetworkIntentQosPolicyOverride { + return v.QosPolicyOverride + }).(HciDeploymentSettingScaleUnitHostNetworkIntentQosPolicyOverridePtrOutput) +} + +// 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. +func (o HciDeploymentSettingScaleUnitHostNetworkIntentOutput) QosPolicyOverrideEnabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v HciDeploymentSettingScaleUnitHostNetworkIntent) *bool { return v.QosPolicyOverrideEnabled }).(pulumi.BoolPtrOutput) +} + +// 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. +func (o HciDeploymentSettingScaleUnitHostNetworkIntentOutput) TrafficTypes() pulumi.StringArrayOutput { + return o.ApplyT(func(v HciDeploymentSettingScaleUnitHostNetworkIntent) []string { return v.TrafficTypes }).(pulumi.StringArrayOutput) +} + +// A `virtualSwitchConfigurationOverride` block as defined below. Changing this forces a new Stack HCI Deployment Setting to be created. +func (o HciDeploymentSettingScaleUnitHostNetworkIntentOutput) VirtualSwitchConfigurationOverride() HciDeploymentSettingScaleUnitHostNetworkIntentVirtualSwitchConfigurationOverridePtrOutput { + return o.ApplyT(func(v HciDeploymentSettingScaleUnitHostNetworkIntent) *HciDeploymentSettingScaleUnitHostNetworkIntentVirtualSwitchConfigurationOverride { + return v.VirtualSwitchConfigurationOverride + }).(HciDeploymentSettingScaleUnitHostNetworkIntentVirtualSwitchConfigurationOverridePtrOutput) +} + +// 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. +func (o HciDeploymentSettingScaleUnitHostNetworkIntentOutput) VirtualSwitchConfigurationOverrideEnabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v HciDeploymentSettingScaleUnitHostNetworkIntent) *bool { + return v.VirtualSwitchConfigurationOverrideEnabled + }).(pulumi.BoolPtrOutput) +} + +type HciDeploymentSettingScaleUnitHostNetworkIntentArrayOutput struct{ *pulumi.OutputState } + +func (HciDeploymentSettingScaleUnitHostNetworkIntentArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]HciDeploymentSettingScaleUnitHostNetworkIntent)(nil)).Elem() +} + +func (o HciDeploymentSettingScaleUnitHostNetworkIntentArrayOutput) ToHciDeploymentSettingScaleUnitHostNetworkIntentArrayOutput() HciDeploymentSettingScaleUnitHostNetworkIntentArrayOutput { + return o +} + +func (o HciDeploymentSettingScaleUnitHostNetworkIntentArrayOutput) ToHciDeploymentSettingScaleUnitHostNetworkIntentArrayOutputWithContext(ctx context.Context) HciDeploymentSettingScaleUnitHostNetworkIntentArrayOutput { + return o +} + +func (o HciDeploymentSettingScaleUnitHostNetworkIntentArrayOutput) Index(i pulumi.IntInput) HciDeploymentSettingScaleUnitHostNetworkIntentOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) HciDeploymentSettingScaleUnitHostNetworkIntent { + return vs[0].([]HciDeploymentSettingScaleUnitHostNetworkIntent)[vs[1].(int)] + }).(HciDeploymentSettingScaleUnitHostNetworkIntentOutput) +} + +type HciDeploymentSettingScaleUnitHostNetworkIntentAdapterPropertyOverride struct { + // 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. + JumboPacket *string `pulumi:"jumboPacket"` + // 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. + NetworkDirect *string `pulumi:"networkDirect"` + // 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. + NetworkDirectTechnology *string `pulumi:"networkDirectTechnology"` +} + +// HciDeploymentSettingScaleUnitHostNetworkIntentAdapterPropertyOverrideInput is an input type that accepts HciDeploymentSettingScaleUnitHostNetworkIntentAdapterPropertyOverrideArgs and HciDeploymentSettingScaleUnitHostNetworkIntentAdapterPropertyOverrideOutput values. +// You can construct a concrete instance of `HciDeploymentSettingScaleUnitHostNetworkIntentAdapterPropertyOverrideInput` via: +// +// HciDeploymentSettingScaleUnitHostNetworkIntentAdapterPropertyOverrideArgs{...} +type HciDeploymentSettingScaleUnitHostNetworkIntentAdapterPropertyOverrideInput interface { + pulumi.Input + + ToHciDeploymentSettingScaleUnitHostNetworkIntentAdapterPropertyOverrideOutput() HciDeploymentSettingScaleUnitHostNetworkIntentAdapterPropertyOverrideOutput + ToHciDeploymentSettingScaleUnitHostNetworkIntentAdapterPropertyOverrideOutputWithContext(context.Context) HciDeploymentSettingScaleUnitHostNetworkIntentAdapterPropertyOverrideOutput +} + +type HciDeploymentSettingScaleUnitHostNetworkIntentAdapterPropertyOverrideArgs struct { + // 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. + JumboPacket pulumi.StringPtrInput `pulumi:"jumboPacket"` + // 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. + NetworkDirect pulumi.StringPtrInput `pulumi:"networkDirect"` + // 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. + NetworkDirectTechnology pulumi.StringPtrInput `pulumi:"networkDirectTechnology"` +} + +func (HciDeploymentSettingScaleUnitHostNetworkIntentAdapterPropertyOverrideArgs) ElementType() reflect.Type { + return reflect.TypeOf((*HciDeploymentSettingScaleUnitHostNetworkIntentAdapterPropertyOverride)(nil)).Elem() +} + +func (i HciDeploymentSettingScaleUnitHostNetworkIntentAdapterPropertyOverrideArgs) ToHciDeploymentSettingScaleUnitHostNetworkIntentAdapterPropertyOverrideOutput() HciDeploymentSettingScaleUnitHostNetworkIntentAdapterPropertyOverrideOutput { + return i.ToHciDeploymentSettingScaleUnitHostNetworkIntentAdapterPropertyOverrideOutputWithContext(context.Background()) +} + +func (i HciDeploymentSettingScaleUnitHostNetworkIntentAdapterPropertyOverrideArgs) ToHciDeploymentSettingScaleUnitHostNetworkIntentAdapterPropertyOverrideOutputWithContext(ctx context.Context) HciDeploymentSettingScaleUnitHostNetworkIntentAdapterPropertyOverrideOutput { + return pulumi.ToOutputWithContext(ctx, i).(HciDeploymentSettingScaleUnitHostNetworkIntentAdapterPropertyOverrideOutput) +} + +func (i HciDeploymentSettingScaleUnitHostNetworkIntentAdapterPropertyOverrideArgs) ToHciDeploymentSettingScaleUnitHostNetworkIntentAdapterPropertyOverridePtrOutput() HciDeploymentSettingScaleUnitHostNetworkIntentAdapterPropertyOverridePtrOutput { + return i.ToHciDeploymentSettingScaleUnitHostNetworkIntentAdapterPropertyOverridePtrOutputWithContext(context.Background()) +} + +func (i HciDeploymentSettingScaleUnitHostNetworkIntentAdapterPropertyOverrideArgs) ToHciDeploymentSettingScaleUnitHostNetworkIntentAdapterPropertyOverridePtrOutputWithContext(ctx context.Context) HciDeploymentSettingScaleUnitHostNetworkIntentAdapterPropertyOverridePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(HciDeploymentSettingScaleUnitHostNetworkIntentAdapterPropertyOverrideOutput).ToHciDeploymentSettingScaleUnitHostNetworkIntentAdapterPropertyOverridePtrOutputWithContext(ctx) +} + +// HciDeploymentSettingScaleUnitHostNetworkIntentAdapterPropertyOverridePtrInput is an input type that accepts HciDeploymentSettingScaleUnitHostNetworkIntentAdapterPropertyOverrideArgs, HciDeploymentSettingScaleUnitHostNetworkIntentAdapterPropertyOverridePtr and HciDeploymentSettingScaleUnitHostNetworkIntentAdapterPropertyOverridePtrOutput values. +// You can construct a concrete instance of `HciDeploymentSettingScaleUnitHostNetworkIntentAdapterPropertyOverridePtrInput` via: +// +// HciDeploymentSettingScaleUnitHostNetworkIntentAdapterPropertyOverrideArgs{...} +// +// or: +// +// nil +type HciDeploymentSettingScaleUnitHostNetworkIntentAdapterPropertyOverridePtrInput interface { + pulumi.Input + + ToHciDeploymentSettingScaleUnitHostNetworkIntentAdapterPropertyOverridePtrOutput() HciDeploymentSettingScaleUnitHostNetworkIntentAdapterPropertyOverridePtrOutput + ToHciDeploymentSettingScaleUnitHostNetworkIntentAdapterPropertyOverridePtrOutputWithContext(context.Context) HciDeploymentSettingScaleUnitHostNetworkIntentAdapterPropertyOverridePtrOutput +} + +type hciDeploymentSettingScaleUnitHostNetworkIntentAdapterPropertyOverridePtrType HciDeploymentSettingScaleUnitHostNetworkIntentAdapterPropertyOverrideArgs + +func HciDeploymentSettingScaleUnitHostNetworkIntentAdapterPropertyOverridePtr(v *HciDeploymentSettingScaleUnitHostNetworkIntentAdapterPropertyOverrideArgs) HciDeploymentSettingScaleUnitHostNetworkIntentAdapterPropertyOverridePtrInput { + return (*hciDeploymentSettingScaleUnitHostNetworkIntentAdapterPropertyOverridePtrType)(v) +} + +func (*hciDeploymentSettingScaleUnitHostNetworkIntentAdapterPropertyOverridePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**HciDeploymentSettingScaleUnitHostNetworkIntentAdapterPropertyOverride)(nil)).Elem() +} + +func (i *hciDeploymentSettingScaleUnitHostNetworkIntentAdapterPropertyOverridePtrType) ToHciDeploymentSettingScaleUnitHostNetworkIntentAdapterPropertyOverridePtrOutput() HciDeploymentSettingScaleUnitHostNetworkIntentAdapterPropertyOverridePtrOutput { + return i.ToHciDeploymentSettingScaleUnitHostNetworkIntentAdapterPropertyOverridePtrOutputWithContext(context.Background()) +} + +func (i *hciDeploymentSettingScaleUnitHostNetworkIntentAdapterPropertyOverridePtrType) ToHciDeploymentSettingScaleUnitHostNetworkIntentAdapterPropertyOverridePtrOutputWithContext(ctx context.Context) HciDeploymentSettingScaleUnitHostNetworkIntentAdapterPropertyOverridePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(HciDeploymentSettingScaleUnitHostNetworkIntentAdapterPropertyOverridePtrOutput) +} + +type HciDeploymentSettingScaleUnitHostNetworkIntentAdapterPropertyOverrideOutput struct{ *pulumi.OutputState } + +func (HciDeploymentSettingScaleUnitHostNetworkIntentAdapterPropertyOverrideOutput) ElementType() reflect.Type { + return reflect.TypeOf((*HciDeploymentSettingScaleUnitHostNetworkIntentAdapterPropertyOverride)(nil)).Elem() +} + +func (o HciDeploymentSettingScaleUnitHostNetworkIntentAdapterPropertyOverrideOutput) ToHciDeploymentSettingScaleUnitHostNetworkIntentAdapterPropertyOverrideOutput() HciDeploymentSettingScaleUnitHostNetworkIntentAdapterPropertyOverrideOutput { + return o +} + +func (o HciDeploymentSettingScaleUnitHostNetworkIntentAdapterPropertyOverrideOutput) ToHciDeploymentSettingScaleUnitHostNetworkIntentAdapterPropertyOverrideOutputWithContext(ctx context.Context) HciDeploymentSettingScaleUnitHostNetworkIntentAdapterPropertyOverrideOutput { + return o +} + +func (o HciDeploymentSettingScaleUnitHostNetworkIntentAdapterPropertyOverrideOutput) ToHciDeploymentSettingScaleUnitHostNetworkIntentAdapterPropertyOverridePtrOutput() HciDeploymentSettingScaleUnitHostNetworkIntentAdapterPropertyOverridePtrOutput { + return o.ToHciDeploymentSettingScaleUnitHostNetworkIntentAdapterPropertyOverridePtrOutputWithContext(context.Background()) +} + +func (o HciDeploymentSettingScaleUnitHostNetworkIntentAdapterPropertyOverrideOutput) ToHciDeploymentSettingScaleUnitHostNetworkIntentAdapterPropertyOverridePtrOutputWithContext(ctx context.Context) HciDeploymentSettingScaleUnitHostNetworkIntentAdapterPropertyOverridePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v HciDeploymentSettingScaleUnitHostNetworkIntentAdapterPropertyOverride) *HciDeploymentSettingScaleUnitHostNetworkIntentAdapterPropertyOverride { + return &v + }).(HciDeploymentSettingScaleUnitHostNetworkIntentAdapterPropertyOverridePtrOutput) +} + +// 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. +func (o HciDeploymentSettingScaleUnitHostNetworkIntentAdapterPropertyOverrideOutput) JumboPacket() pulumi.StringPtrOutput { + return o.ApplyT(func(v HciDeploymentSettingScaleUnitHostNetworkIntentAdapterPropertyOverride) *string { + return v.JumboPacket + }).(pulumi.StringPtrOutput) +} + +// 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. +func (o HciDeploymentSettingScaleUnitHostNetworkIntentAdapterPropertyOverrideOutput) NetworkDirect() pulumi.StringPtrOutput { + return o.ApplyT(func(v HciDeploymentSettingScaleUnitHostNetworkIntentAdapterPropertyOverride) *string { + return v.NetworkDirect + }).(pulumi.StringPtrOutput) +} + +// 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. +func (o HciDeploymentSettingScaleUnitHostNetworkIntentAdapterPropertyOverrideOutput) NetworkDirectTechnology() pulumi.StringPtrOutput { + return o.ApplyT(func(v HciDeploymentSettingScaleUnitHostNetworkIntentAdapterPropertyOverride) *string { + return v.NetworkDirectTechnology + }).(pulumi.StringPtrOutput) +} + +type HciDeploymentSettingScaleUnitHostNetworkIntentAdapterPropertyOverridePtrOutput struct{ *pulumi.OutputState } + +func (HciDeploymentSettingScaleUnitHostNetworkIntentAdapterPropertyOverridePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**HciDeploymentSettingScaleUnitHostNetworkIntentAdapterPropertyOverride)(nil)).Elem() +} + +func (o HciDeploymentSettingScaleUnitHostNetworkIntentAdapterPropertyOverridePtrOutput) ToHciDeploymentSettingScaleUnitHostNetworkIntentAdapterPropertyOverridePtrOutput() HciDeploymentSettingScaleUnitHostNetworkIntentAdapterPropertyOverridePtrOutput { + return o +} + +func (o HciDeploymentSettingScaleUnitHostNetworkIntentAdapterPropertyOverridePtrOutput) ToHciDeploymentSettingScaleUnitHostNetworkIntentAdapterPropertyOverridePtrOutputWithContext(ctx context.Context) HciDeploymentSettingScaleUnitHostNetworkIntentAdapterPropertyOverridePtrOutput { + return o +} + +func (o HciDeploymentSettingScaleUnitHostNetworkIntentAdapterPropertyOverridePtrOutput) Elem() HciDeploymentSettingScaleUnitHostNetworkIntentAdapterPropertyOverrideOutput { + return o.ApplyT(func(v *HciDeploymentSettingScaleUnitHostNetworkIntentAdapterPropertyOverride) HciDeploymentSettingScaleUnitHostNetworkIntentAdapterPropertyOverride { + if v != nil { + return *v + } + var ret HciDeploymentSettingScaleUnitHostNetworkIntentAdapterPropertyOverride + return ret + }).(HciDeploymentSettingScaleUnitHostNetworkIntentAdapterPropertyOverrideOutput) +} + +// 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. +func (o HciDeploymentSettingScaleUnitHostNetworkIntentAdapterPropertyOverridePtrOutput) JumboPacket() pulumi.StringPtrOutput { + return o.ApplyT(func(v *HciDeploymentSettingScaleUnitHostNetworkIntentAdapterPropertyOverride) *string { + if v == nil { + return nil + } + return v.JumboPacket + }).(pulumi.StringPtrOutput) +} + +// 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. +func (o HciDeploymentSettingScaleUnitHostNetworkIntentAdapterPropertyOverridePtrOutput) NetworkDirect() pulumi.StringPtrOutput { + return o.ApplyT(func(v *HciDeploymentSettingScaleUnitHostNetworkIntentAdapterPropertyOverride) *string { + if v == nil { + return nil + } + return v.NetworkDirect + }).(pulumi.StringPtrOutput) +} + +// 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. +func (o HciDeploymentSettingScaleUnitHostNetworkIntentAdapterPropertyOverridePtrOutput) NetworkDirectTechnology() pulumi.StringPtrOutput { + return o.ApplyT(func(v *HciDeploymentSettingScaleUnitHostNetworkIntentAdapterPropertyOverride) *string { + if v == nil { + return nil + } + return v.NetworkDirectTechnology + }).(pulumi.StringPtrOutput) +} + +type HciDeploymentSettingScaleUnitHostNetworkIntentQosPolicyOverride struct { + // 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. + BandwidthPercentageSmb *string `pulumi:"bandwidthPercentageSmb"` + // 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. + PriorityValue8021ActionCluster *string `pulumi:"priorityValue8021ActionCluster"` + // 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. + PriorityValue8021ActionSmb *string `pulumi:"priorityValue8021ActionSmb"` +} + +// HciDeploymentSettingScaleUnitHostNetworkIntentQosPolicyOverrideInput is an input type that accepts HciDeploymentSettingScaleUnitHostNetworkIntentQosPolicyOverrideArgs and HciDeploymentSettingScaleUnitHostNetworkIntentQosPolicyOverrideOutput values. +// You can construct a concrete instance of `HciDeploymentSettingScaleUnitHostNetworkIntentQosPolicyOverrideInput` via: +// +// HciDeploymentSettingScaleUnitHostNetworkIntentQosPolicyOverrideArgs{...} +type HciDeploymentSettingScaleUnitHostNetworkIntentQosPolicyOverrideInput interface { + pulumi.Input + + ToHciDeploymentSettingScaleUnitHostNetworkIntentQosPolicyOverrideOutput() HciDeploymentSettingScaleUnitHostNetworkIntentQosPolicyOverrideOutput + ToHciDeploymentSettingScaleUnitHostNetworkIntentQosPolicyOverrideOutputWithContext(context.Context) HciDeploymentSettingScaleUnitHostNetworkIntentQosPolicyOverrideOutput +} + +type HciDeploymentSettingScaleUnitHostNetworkIntentQosPolicyOverrideArgs struct { + // 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. + BandwidthPercentageSmb pulumi.StringPtrInput `pulumi:"bandwidthPercentageSmb"` + // 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. + PriorityValue8021ActionCluster pulumi.StringPtrInput `pulumi:"priorityValue8021ActionCluster"` + // 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. + PriorityValue8021ActionSmb pulumi.StringPtrInput `pulumi:"priorityValue8021ActionSmb"` +} + +func (HciDeploymentSettingScaleUnitHostNetworkIntentQosPolicyOverrideArgs) ElementType() reflect.Type { + return reflect.TypeOf((*HciDeploymentSettingScaleUnitHostNetworkIntentQosPolicyOverride)(nil)).Elem() +} + +func (i HciDeploymentSettingScaleUnitHostNetworkIntentQosPolicyOverrideArgs) ToHciDeploymentSettingScaleUnitHostNetworkIntentQosPolicyOverrideOutput() HciDeploymentSettingScaleUnitHostNetworkIntentQosPolicyOverrideOutput { + return i.ToHciDeploymentSettingScaleUnitHostNetworkIntentQosPolicyOverrideOutputWithContext(context.Background()) +} + +func (i HciDeploymentSettingScaleUnitHostNetworkIntentQosPolicyOverrideArgs) ToHciDeploymentSettingScaleUnitHostNetworkIntentQosPolicyOverrideOutputWithContext(ctx context.Context) HciDeploymentSettingScaleUnitHostNetworkIntentQosPolicyOverrideOutput { + return pulumi.ToOutputWithContext(ctx, i).(HciDeploymentSettingScaleUnitHostNetworkIntentQosPolicyOverrideOutput) +} + +func (i HciDeploymentSettingScaleUnitHostNetworkIntentQosPolicyOverrideArgs) ToHciDeploymentSettingScaleUnitHostNetworkIntentQosPolicyOverridePtrOutput() HciDeploymentSettingScaleUnitHostNetworkIntentQosPolicyOverridePtrOutput { + return i.ToHciDeploymentSettingScaleUnitHostNetworkIntentQosPolicyOverridePtrOutputWithContext(context.Background()) +} + +func (i HciDeploymentSettingScaleUnitHostNetworkIntentQosPolicyOverrideArgs) ToHciDeploymentSettingScaleUnitHostNetworkIntentQosPolicyOverridePtrOutputWithContext(ctx context.Context) HciDeploymentSettingScaleUnitHostNetworkIntentQosPolicyOverridePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(HciDeploymentSettingScaleUnitHostNetworkIntentQosPolicyOverrideOutput).ToHciDeploymentSettingScaleUnitHostNetworkIntentQosPolicyOverridePtrOutputWithContext(ctx) +} + +// HciDeploymentSettingScaleUnitHostNetworkIntentQosPolicyOverridePtrInput is an input type that accepts HciDeploymentSettingScaleUnitHostNetworkIntentQosPolicyOverrideArgs, HciDeploymentSettingScaleUnitHostNetworkIntentQosPolicyOverridePtr and HciDeploymentSettingScaleUnitHostNetworkIntentQosPolicyOverridePtrOutput values. +// You can construct a concrete instance of `HciDeploymentSettingScaleUnitHostNetworkIntentQosPolicyOverridePtrInput` via: +// +// HciDeploymentSettingScaleUnitHostNetworkIntentQosPolicyOverrideArgs{...} +// +// or: +// +// nil +type HciDeploymentSettingScaleUnitHostNetworkIntentQosPolicyOverridePtrInput interface { + pulumi.Input + + ToHciDeploymentSettingScaleUnitHostNetworkIntentQosPolicyOverridePtrOutput() HciDeploymentSettingScaleUnitHostNetworkIntentQosPolicyOverridePtrOutput + ToHciDeploymentSettingScaleUnitHostNetworkIntentQosPolicyOverridePtrOutputWithContext(context.Context) HciDeploymentSettingScaleUnitHostNetworkIntentQosPolicyOverridePtrOutput +} + +type hciDeploymentSettingScaleUnitHostNetworkIntentQosPolicyOverridePtrType HciDeploymentSettingScaleUnitHostNetworkIntentQosPolicyOverrideArgs + +func HciDeploymentSettingScaleUnitHostNetworkIntentQosPolicyOverridePtr(v *HciDeploymentSettingScaleUnitHostNetworkIntentQosPolicyOverrideArgs) HciDeploymentSettingScaleUnitHostNetworkIntentQosPolicyOverridePtrInput { + return (*hciDeploymentSettingScaleUnitHostNetworkIntentQosPolicyOverridePtrType)(v) +} + +func (*hciDeploymentSettingScaleUnitHostNetworkIntentQosPolicyOverridePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**HciDeploymentSettingScaleUnitHostNetworkIntentQosPolicyOverride)(nil)).Elem() +} + +func (i *hciDeploymentSettingScaleUnitHostNetworkIntentQosPolicyOverridePtrType) ToHciDeploymentSettingScaleUnitHostNetworkIntentQosPolicyOverridePtrOutput() HciDeploymentSettingScaleUnitHostNetworkIntentQosPolicyOverridePtrOutput { + return i.ToHciDeploymentSettingScaleUnitHostNetworkIntentQosPolicyOverridePtrOutputWithContext(context.Background()) +} + +func (i *hciDeploymentSettingScaleUnitHostNetworkIntentQosPolicyOverridePtrType) ToHciDeploymentSettingScaleUnitHostNetworkIntentQosPolicyOverridePtrOutputWithContext(ctx context.Context) HciDeploymentSettingScaleUnitHostNetworkIntentQosPolicyOverridePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(HciDeploymentSettingScaleUnitHostNetworkIntentQosPolicyOverridePtrOutput) +} + +type HciDeploymentSettingScaleUnitHostNetworkIntentQosPolicyOverrideOutput struct{ *pulumi.OutputState } + +func (HciDeploymentSettingScaleUnitHostNetworkIntentQosPolicyOverrideOutput) ElementType() reflect.Type { + return reflect.TypeOf((*HciDeploymentSettingScaleUnitHostNetworkIntentQosPolicyOverride)(nil)).Elem() +} + +func (o HciDeploymentSettingScaleUnitHostNetworkIntentQosPolicyOverrideOutput) ToHciDeploymentSettingScaleUnitHostNetworkIntentQosPolicyOverrideOutput() HciDeploymentSettingScaleUnitHostNetworkIntentQosPolicyOverrideOutput { + return o +} + +func (o HciDeploymentSettingScaleUnitHostNetworkIntentQosPolicyOverrideOutput) ToHciDeploymentSettingScaleUnitHostNetworkIntentQosPolicyOverrideOutputWithContext(ctx context.Context) HciDeploymentSettingScaleUnitHostNetworkIntentQosPolicyOverrideOutput { + return o +} + +func (o HciDeploymentSettingScaleUnitHostNetworkIntentQosPolicyOverrideOutput) ToHciDeploymentSettingScaleUnitHostNetworkIntentQosPolicyOverridePtrOutput() HciDeploymentSettingScaleUnitHostNetworkIntentQosPolicyOverridePtrOutput { + return o.ToHciDeploymentSettingScaleUnitHostNetworkIntentQosPolicyOverridePtrOutputWithContext(context.Background()) +} + +func (o HciDeploymentSettingScaleUnitHostNetworkIntentQosPolicyOverrideOutput) ToHciDeploymentSettingScaleUnitHostNetworkIntentQosPolicyOverridePtrOutputWithContext(ctx context.Context) HciDeploymentSettingScaleUnitHostNetworkIntentQosPolicyOverridePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v HciDeploymentSettingScaleUnitHostNetworkIntentQosPolicyOverride) *HciDeploymentSettingScaleUnitHostNetworkIntentQosPolicyOverride { + return &v + }).(HciDeploymentSettingScaleUnitHostNetworkIntentQosPolicyOverridePtrOutput) +} + +// 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. +func (o HciDeploymentSettingScaleUnitHostNetworkIntentQosPolicyOverrideOutput) BandwidthPercentageSmb() pulumi.StringPtrOutput { + return o.ApplyT(func(v HciDeploymentSettingScaleUnitHostNetworkIntentQosPolicyOverride) *string { + return v.BandwidthPercentageSmb + }).(pulumi.StringPtrOutput) +} + +// 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. +func (o HciDeploymentSettingScaleUnitHostNetworkIntentQosPolicyOverrideOutput) PriorityValue8021ActionCluster() pulumi.StringPtrOutput { + return o.ApplyT(func(v HciDeploymentSettingScaleUnitHostNetworkIntentQosPolicyOverride) *string { + return v.PriorityValue8021ActionCluster + }).(pulumi.StringPtrOutput) +} + +// 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. +func (o HciDeploymentSettingScaleUnitHostNetworkIntentQosPolicyOverrideOutput) PriorityValue8021ActionSmb() pulumi.StringPtrOutput { + return o.ApplyT(func(v HciDeploymentSettingScaleUnitHostNetworkIntentQosPolicyOverride) *string { + return v.PriorityValue8021ActionSmb + }).(pulumi.StringPtrOutput) +} + +type HciDeploymentSettingScaleUnitHostNetworkIntentQosPolicyOverridePtrOutput struct{ *pulumi.OutputState } + +func (HciDeploymentSettingScaleUnitHostNetworkIntentQosPolicyOverridePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**HciDeploymentSettingScaleUnitHostNetworkIntentQosPolicyOverride)(nil)).Elem() +} + +func (o HciDeploymentSettingScaleUnitHostNetworkIntentQosPolicyOverridePtrOutput) ToHciDeploymentSettingScaleUnitHostNetworkIntentQosPolicyOverridePtrOutput() HciDeploymentSettingScaleUnitHostNetworkIntentQosPolicyOverridePtrOutput { + return o +} + +func (o HciDeploymentSettingScaleUnitHostNetworkIntentQosPolicyOverridePtrOutput) ToHciDeploymentSettingScaleUnitHostNetworkIntentQosPolicyOverridePtrOutputWithContext(ctx context.Context) HciDeploymentSettingScaleUnitHostNetworkIntentQosPolicyOverridePtrOutput { + return o +} + +func (o HciDeploymentSettingScaleUnitHostNetworkIntentQosPolicyOverridePtrOutput) Elem() HciDeploymentSettingScaleUnitHostNetworkIntentQosPolicyOverrideOutput { + return o.ApplyT(func(v *HciDeploymentSettingScaleUnitHostNetworkIntentQosPolicyOverride) HciDeploymentSettingScaleUnitHostNetworkIntentQosPolicyOverride { + if v != nil { + return *v + } + var ret HciDeploymentSettingScaleUnitHostNetworkIntentQosPolicyOverride + return ret + }).(HciDeploymentSettingScaleUnitHostNetworkIntentQosPolicyOverrideOutput) +} + +// 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. +func (o HciDeploymentSettingScaleUnitHostNetworkIntentQosPolicyOverridePtrOutput) BandwidthPercentageSmb() pulumi.StringPtrOutput { + return o.ApplyT(func(v *HciDeploymentSettingScaleUnitHostNetworkIntentQosPolicyOverride) *string { + if v == nil { + return nil + } + return v.BandwidthPercentageSmb + }).(pulumi.StringPtrOutput) +} + +// 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. +func (o HciDeploymentSettingScaleUnitHostNetworkIntentQosPolicyOverridePtrOutput) PriorityValue8021ActionCluster() pulumi.StringPtrOutput { + return o.ApplyT(func(v *HciDeploymentSettingScaleUnitHostNetworkIntentQosPolicyOverride) *string { + if v == nil { + return nil + } + return v.PriorityValue8021ActionCluster + }).(pulumi.StringPtrOutput) +} + +// 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. +func (o HciDeploymentSettingScaleUnitHostNetworkIntentQosPolicyOverridePtrOutput) PriorityValue8021ActionSmb() pulumi.StringPtrOutput { + return o.ApplyT(func(v *HciDeploymentSettingScaleUnitHostNetworkIntentQosPolicyOverride) *string { + if v == nil { + return nil + } + return v.PriorityValue8021ActionSmb + }).(pulumi.StringPtrOutput) +} + +type HciDeploymentSettingScaleUnitHostNetworkIntentVirtualSwitchConfigurationOverride struct { + // Specifies the IoV enable status for Virtual Switch. Changing this forces a new Stack HCI Deployment Setting to be created. + EnableIov *string `pulumi:"enableIov"` + // Specifies the load balancing algorithm for Virtual Switch. Changing this forces a new Stack HCI Deployment Setting to be created. + LoadBalancingAlgorithm *string `pulumi:"loadBalancingAlgorithm"` +} + +// HciDeploymentSettingScaleUnitHostNetworkIntentVirtualSwitchConfigurationOverrideInput is an input type that accepts HciDeploymentSettingScaleUnitHostNetworkIntentVirtualSwitchConfigurationOverrideArgs and HciDeploymentSettingScaleUnitHostNetworkIntentVirtualSwitchConfigurationOverrideOutput values. +// You can construct a concrete instance of `HciDeploymentSettingScaleUnitHostNetworkIntentVirtualSwitchConfigurationOverrideInput` via: +// +// HciDeploymentSettingScaleUnitHostNetworkIntentVirtualSwitchConfigurationOverrideArgs{...} +type HciDeploymentSettingScaleUnitHostNetworkIntentVirtualSwitchConfigurationOverrideInput interface { + pulumi.Input + + ToHciDeploymentSettingScaleUnitHostNetworkIntentVirtualSwitchConfigurationOverrideOutput() HciDeploymentSettingScaleUnitHostNetworkIntentVirtualSwitchConfigurationOverrideOutput + ToHciDeploymentSettingScaleUnitHostNetworkIntentVirtualSwitchConfigurationOverrideOutputWithContext(context.Context) HciDeploymentSettingScaleUnitHostNetworkIntentVirtualSwitchConfigurationOverrideOutput +} + +type HciDeploymentSettingScaleUnitHostNetworkIntentVirtualSwitchConfigurationOverrideArgs struct { + // Specifies the IoV enable status for Virtual Switch. Changing this forces a new Stack HCI Deployment Setting to be created. + EnableIov pulumi.StringPtrInput `pulumi:"enableIov"` + // Specifies the load balancing algorithm for Virtual Switch. Changing this forces a new Stack HCI Deployment Setting to be created. + LoadBalancingAlgorithm pulumi.StringPtrInput `pulumi:"loadBalancingAlgorithm"` +} + +func (HciDeploymentSettingScaleUnitHostNetworkIntentVirtualSwitchConfigurationOverrideArgs) ElementType() reflect.Type { + return reflect.TypeOf((*HciDeploymentSettingScaleUnitHostNetworkIntentVirtualSwitchConfigurationOverride)(nil)).Elem() +} + +func (i HciDeploymentSettingScaleUnitHostNetworkIntentVirtualSwitchConfigurationOverrideArgs) ToHciDeploymentSettingScaleUnitHostNetworkIntentVirtualSwitchConfigurationOverrideOutput() HciDeploymentSettingScaleUnitHostNetworkIntentVirtualSwitchConfigurationOverrideOutput { + return i.ToHciDeploymentSettingScaleUnitHostNetworkIntentVirtualSwitchConfigurationOverrideOutputWithContext(context.Background()) +} + +func (i HciDeploymentSettingScaleUnitHostNetworkIntentVirtualSwitchConfigurationOverrideArgs) ToHciDeploymentSettingScaleUnitHostNetworkIntentVirtualSwitchConfigurationOverrideOutputWithContext(ctx context.Context) HciDeploymentSettingScaleUnitHostNetworkIntentVirtualSwitchConfigurationOverrideOutput { + return pulumi.ToOutputWithContext(ctx, i).(HciDeploymentSettingScaleUnitHostNetworkIntentVirtualSwitchConfigurationOverrideOutput) +} + +func (i HciDeploymentSettingScaleUnitHostNetworkIntentVirtualSwitchConfigurationOverrideArgs) ToHciDeploymentSettingScaleUnitHostNetworkIntentVirtualSwitchConfigurationOverridePtrOutput() HciDeploymentSettingScaleUnitHostNetworkIntentVirtualSwitchConfigurationOverridePtrOutput { + return i.ToHciDeploymentSettingScaleUnitHostNetworkIntentVirtualSwitchConfigurationOverridePtrOutputWithContext(context.Background()) +} + +func (i HciDeploymentSettingScaleUnitHostNetworkIntentVirtualSwitchConfigurationOverrideArgs) ToHciDeploymentSettingScaleUnitHostNetworkIntentVirtualSwitchConfigurationOverridePtrOutputWithContext(ctx context.Context) HciDeploymentSettingScaleUnitHostNetworkIntentVirtualSwitchConfigurationOverridePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(HciDeploymentSettingScaleUnitHostNetworkIntentVirtualSwitchConfigurationOverrideOutput).ToHciDeploymentSettingScaleUnitHostNetworkIntentVirtualSwitchConfigurationOverridePtrOutputWithContext(ctx) +} + +// HciDeploymentSettingScaleUnitHostNetworkIntentVirtualSwitchConfigurationOverridePtrInput is an input type that accepts HciDeploymentSettingScaleUnitHostNetworkIntentVirtualSwitchConfigurationOverrideArgs, HciDeploymentSettingScaleUnitHostNetworkIntentVirtualSwitchConfigurationOverridePtr and HciDeploymentSettingScaleUnitHostNetworkIntentVirtualSwitchConfigurationOverridePtrOutput values. +// You can construct a concrete instance of `HciDeploymentSettingScaleUnitHostNetworkIntentVirtualSwitchConfigurationOverridePtrInput` via: +// +// HciDeploymentSettingScaleUnitHostNetworkIntentVirtualSwitchConfigurationOverrideArgs{...} +// +// or: +// +// nil +type HciDeploymentSettingScaleUnitHostNetworkIntentVirtualSwitchConfigurationOverridePtrInput interface { + pulumi.Input + + ToHciDeploymentSettingScaleUnitHostNetworkIntentVirtualSwitchConfigurationOverridePtrOutput() HciDeploymentSettingScaleUnitHostNetworkIntentVirtualSwitchConfigurationOverridePtrOutput + ToHciDeploymentSettingScaleUnitHostNetworkIntentVirtualSwitchConfigurationOverridePtrOutputWithContext(context.Context) HciDeploymentSettingScaleUnitHostNetworkIntentVirtualSwitchConfigurationOverridePtrOutput +} + +type hciDeploymentSettingScaleUnitHostNetworkIntentVirtualSwitchConfigurationOverridePtrType HciDeploymentSettingScaleUnitHostNetworkIntentVirtualSwitchConfigurationOverrideArgs + +func HciDeploymentSettingScaleUnitHostNetworkIntentVirtualSwitchConfigurationOverridePtr(v *HciDeploymentSettingScaleUnitHostNetworkIntentVirtualSwitchConfigurationOverrideArgs) HciDeploymentSettingScaleUnitHostNetworkIntentVirtualSwitchConfigurationOverridePtrInput { + return (*hciDeploymentSettingScaleUnitHostNetworkIntentVirtualSwitchConfigurationOverridePtrType)(v) +} + +func (*hciDeploymentSettingScaleUnitHostNetworkIntentVirtualSwitchConfigurationOverridePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**HciDeploymentSettingScaleUnitHostNetworkIntentVirtualSwitchConfigurationOverride)(nil)).Elem() +} + +func (i *hciDeploymentSettingScaleUnitHostNetworkIntentVirtualSwitchConfigurationOverridePtrType) ToHciDeploymentSettingScaleUnitHostNetworkIntentVirtualSwitchConfigurationOverridePtrOutput() HciDeploymentSettingScaleUnitHostNetworkIntentVirtualSwitchConfigurationOverridePtrOutput { + return i.ToHciDeploymentSettingScaleUnitHostNetworkIntentVirtualSwitchConfigurationOverridePtrOutputWithContext(context.Background()) +} + +func (i *hciDeploymentSettingScaleUnitHostNetworkIntentVirtualSwitchConfigurationOverridePtrType) ToHciDeploymentSettingScaleUnitHostNetworkIntentVirtualSwitchConfigurationOverridePtrOutputWithContext(ctx context.Context) HciDeploymentSettingScaleUnitHostNetworkIntentVirtualSwitchConfigurationOverridePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(HciDeploymentSettingScaleUnitHostNetworkIntentVirtualSwitchConfigurationOverridePtrOutput) +} + +type HciDeploymentSettingScaleUnitHostNetworkIntentVirtualSwitchConfigurationOverrideOutput struct{ *pulumi.OutputState } + +func (HciDeploymentSettingScaleUnitHostNetworkIntentVirtualSwitchConfigurationOverrideOutput) ElementType() reflect.Type { + return reflect.TypeOf((*HciDeploymentSettingScaleUnitHostNetworkIntentVirtualSwitchConfigurationOverride)(nil)).Elem() +} + +func (o HciDeploymentSettingScaleUnitHostNetworkIntentVirtualSwitchConfigurationOverrideOutput) ToHciDeploymentSettingScaleUnitHostNetworkIntentVirtualSwitchConfigurationOverrideOutput() HciDeploymentSettingScaleUnitHostNetworkIntentVirtualSwitchConfigurationOverrideOutput { + return o +} + +func (o HciDeploymentSettingScaleUnitHostNetworkIntentVirtualSwitchConfigurationOverrideOutput) ToHciDeploymentSettingScaleUnitHostNetworkIntentVirtualSwitchConfigurationOverrideOutputWithContext(ctx context.Context) HciDeploymentSettingScaleUnitHostNetworkIntentVirtualSwitchConfigurationOverrideOutput { + return o +} + +func (o HciDeploymentSettingScaleUnitHostNetworkIntentVirtualSwitchConfigurationOverrideOutput) ToHciDeploymentSettingScaleUnitHostNetworkIntentVirtualSwitchConfigurationOverridePtrOutput() HciDeploymentSettingScaleUnitHostNetworkIntentVirtualSwitchConfigurationOverridePtrOutput { + return o.ToHciDeploymentSettingScaleUnitHostNetworkIntentVirtualSwitchConfigurationOverridePtrOutputWithContext(context.Background()) +} + +func (o HciDeploymentSettingScaleUnitHostNetworkIntentVirtualSwitchConfigurationOverrideOutput) ToHciDeploymentSettingScaleUnitHostNetworkIntentVirtualSwitchConfigurationOverridePtrOutputWithContext(ctx context.Context) HciDeploymentSettingScaleUnitHostNetworkIntentVirtualSwitchConfigurationOverridePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v HciDeploymentSettingScaleUnitHostNetworkIntentVirtualSwitchConfigurationOverride) *HciDeploymentSettingScaleUnitHostNetworkIntentVirtualSwitchConfigurationOverride { + return &v + }).(HciDeploymentSettingScaleUnitHostNetworkIntentVirtualSwitchConfigurationOverridePtrOutput) +} + +// Specifies the IoV enable status for Virtual Switch. Changing this forces a new Stack HCI Deployment Setting to be created. +func (o HciDeploymentSettingScaleUnitHostNetworkIntentVirtualSwitchConfigurationOverrideOutput) EnableIov() pulumi.StringPtrOutput { + return o.ApplyT(func(v HciDeploymentSettingScaleUnitHostNetworkIntentVirtualSwitchConfigurationOverride) *string { + return v.EnableIov + }).(pulumi.StringPtrOutput) +} + +// Specifies the load balancing algorithm for Virtual Switch. Changing this forces a new Stack HCI Deployment Setting to be created. +func (o HciDeploymentSettingScaleUnitHostNetworkIntentVirtualSwitchConfigurationOverrideOutput) LoadBalancingAlgorithm() pulumi.StringPtrOutput { + return o.ApplyT(func(v HciDeploymentSettingScaleUnitHostNetworkIntentVirtualSwitchConfigurationOverride) *string { + return v.LoadBalancingAlgorithm + }).(pulumi.StringPtrOutput) +} + +type HciDeploymentSettingScaleUnitHostNetworkIntentVirtualSwitchConfigurationOverridePtrOutput struct{ *pulumi.OutputState } + +func (HciDeploymentSettingScaleUnitHostNetworkIntentVirtualSwitchConfigurationOverridePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**HciDeploymentSettingScaleUnitHostNetworkIntentVirtualSwitchConfigurationOverride)(nil)).Elem() +} + +func (o HciDeploymentSettingScaleUnitHostNetworkIntentVirtualSwitchConfigurationOverridePtrOutput) ToHciDeploymentSettingScaleUnitHostNetworkIntentVirtualSwitchConfigurationOverridePtrOutput() HciDeploymentSettingScaleUnitHostNetworkIntentVirtualSwitchConfigurationOverridePtrOutput { + return o +} + +func (o HciDeploymentSettingScaleUnitHostNetworkIntentVirtualSwitchConfigurationOverridePtrOutput) ToHciDeploymentSettingScaleUnitHostNetworkIntentVirtualSwitchConfigurationOverridePtrOutputWithContext(ctx context.Context) HciDeploymentSettingScaleUnitHostNetworkIntentVirtualSwitchConfigurationOverridePtrOutput { + return o +} + +func (o HciDeploymentSettingScaleUnitHostNetworkIntentVirtualSwitchConfigurationOverridePtrOutput) Elem() HciDeploymentSettingScaleUnitHostNetworkIntentVirtualSwitchConfigurationOverrideOutput { + return o.ApplyT(func(v *HciDeploymentSettingScaleUnitHostNetworkIntentVirtualSwitchConfigurationOverride) HciDeploymentSettingScaleUnitHostNetworkIntentVirtualSwitchConfigurationOverride { + if v != nil { + return *v + } + var ret HciDeploymentSettingScaleUnitHostNetworkIntentVirtualSwitchConfigurationOverride + return ret + }).(HciDeploymentSettingScaleUnitHostNetworkIntentVirtualSwitchConfigurationOverrideOutput) +} + +// Specifies the IoV enable status for Virtual Switch. Changing this forces a new Stack HCI Deployment Setting to be created. +func (o HciDeploymentSettingScaleUnitHostNetworkIntentVirtualSwitchConfigurationOverridePtrOutput) EnableIov() pulumi.StringPtrOutput { + return o.ApplyT(func(v *HciDeploymentSettingScaleUnitHostNetworkIntentVirtualSwitchConfigurationOverride) *string { + if v == nil { + return nil + } + return v.EnableIov + }).(pulumi.StringPtrOutput) +} + +// Specifies the load balancing algorithm for Virtual Switch. Changing this forces a new Stack HCI Deployment Setting to be created. +func (o HciDeploymentSettingScaleUnitHostNetworkIntentVirtualSwitchConfigurationOverridePtrOutput) LoadBalancingAlgorithm() pulumi.StringPtrOutput { + return o.ApplyT(func(v *HciDeploymentSettingScaleUnitHostNetworkIntentVirtualSwitchConfigurationOverride) *string { + if v == nil { + return nil + } + return v.LoadBalancingAlgorithm + }).(pulumi.StringPtrOutput) +} + +type HciDeploymentSettingScaleUnitHostNetworkStorageNetwork struct { + // The name of the storage network. Changing this forces a new Stack HCI Deployment Setting to be created. + Name string `pulumi:"name"` + // The name of the network adapter. Changing this forces a new Stack HCI Deployment Setting to be created. + NetworkAdapterName string `pulumi:"networkAdapterName"` + // 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. + VlanId string `pulumi:"vlanId"` +} + +// HciDeploymentSettingScaleUnitHostNetworkStorageNetworkInput is an input type that accepts HciDeploymentSettingScaleUnitHostNetworkStorageNetworkArgs and HciDeploymentSettingScaleUnitHostNetworkStorageNetworkOutput values. +// You can construct a concrete instance of `HciDeploymentSettingScaleUnitHostNetworkStorageNetworkInput` via: +// +// HciDeploymentSettingScaleUnitHostNetworkStorageNetworkArgs{...} +type HciDeploymentSettingScaleUnitHostNetworkStorageNetworkInput interface { + pulumi.Input + + ToHciDeploymentSettingScaleUnitHostNetworkStorageNetworkOutput() HciDeploymentSettingScaleUnitHostNetworkStorageNetworkOutput + ToHciDeploymentSettingScaleUnitHostNetworkStorageNetworkOutputWithContext(context.Context) HciDeploymentSettingScaleUnitHostNetworkStorageNetworkOutput +} + +type HciDeploymentSettingScaleUnitHostNetworkStorageNetworkArgs struct { + // The name of the storage network. Changing this forces a new Stack HCI Deployment Setting to be created. + Name pulumi.StringInput `pulumi:"name"` + // The name of the network adapter. Changing this forces a new Stack HCI Deployment Setting to be created. + NetworkAdapterName pulumi.StringInput `pulumi:"networkAdapterName"` + // 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. + VlanId pulumi.StringInput `pulumi:"vlanId"` +} + +func (HciDeploymentSettingScaleUnitHostNetworkStorageNetworkArgs) ElementType() reflect.Type { + return reflect.TypeOf((*HciDeploymentSettingScaleUnitHostNetworkStorageNetwork)(nil)).Elem() +} + +func (i HciDeploymentSettingScaleUnitHostNetworkStorageNetworkArgs) ToHciDeploymentSettingScaleUnitHostNetworkStorageNetworkOutput() HciDeploymentSettingScaleUnitHostNetworkStorageNetworkOutput { + return i.ToHciDeploymentSettingScaleUnitHostNetworkStorageNetworkOutputWithContext(context.Background()) +} + +func (i HciDeploymentSettingScaleUnitHostNetworkStorageNetworkArgs) ToHciDeploymentSettingScaleUnitHostNetworkStorageNetworkOutputWithContext(ctx context.Context) HciDeploymentSettingScaleUnitHostNetworkStorageNetworkOutput { + return pulumi.ToOutputWithContext(ctx, i).(HciDeploymentSettingScaleUnitHostNetworkStorageNetworkOutput) +} + +// HciDeploymentSettingScaleUnitHostNetworkStorageNetworkArrayInput is an input type that accepts HciDeploymentSettingScaleUnitHostNetworkStorageNetworkArray and HciDeploymentSettingScaleUnitHostNetworkStorageNetworkArrayOutput values. +// You can construct a concrete instance of `HciDeploymentSettingScaleUnitHostNetworkStorageNetworkArrayInput` via: +// +// HciDeploymentSettingScaleUnitHostNetworkStorageNetworkArray{ HciDeploymentSettingScaleUnitHostNetworkStorageNetworkArgs{...} } +type HciDeploymentSettingScaleUnitHostNetworkStorageNetworkArrayInput interface { + pulumi.Input + + ToHciDeploymentSettingScaleUnitHostNetworkStorageNetworkArrayOutput() HciDeploymentSettingScaleUnitHostNetworkStorageNetworkArrayOutput + ToHciDeploymentSettingScaleUnitHostNetworkStorageNetworkArrayOutputWithContext(context.Context) HciDeploymentSettingScaleUnitHostNetworkStorageNetworkArrayOutput +} + +type HciDeploymentSettingScaleUnitHostNetworkStorageNetworkArray []HciDeploymentSettingScaleUnitHostNetworkStorageNetworkInput + +func (HciDeploymentSettingScaleUnitHostNetworkStorageNetworkArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]HciDeploymentSettingScaleUnitHostNetworkStorageNetwork)(nil)).Elem() +} + +func (i HciDeploymentSettingScaleUnitHostNetworkStorageNetworkArray) ToHciDeploymentSettingScaleUnitHostNetworkStorageNetworkArrayOutput() HciDeploymentSettingScaleUnitHostNetworkStorageNetworkArrayOutput { + return i.ToHciDeploymentSettingScaleUnitHostNetworkStorageNetworkArrayOutputWithContext(context.Background()) +} + +func (i HciDeploymentSettingScaleUnitHostNetworkStorageNetworkArray) ToHciDeploymentSettingScaleUnitHostNetworkStorageNetworkArrayOutputWithContext(ctx context.Context) HciDeploymentSettingScaleUnitHostNetworkStorageNetworkArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(HciDeploymentSettingScaleUnitHostNetworkStorageNetworkArrayOutput) +} + +type HciDeploymentSettingScaleUnitHostNetworkStorageNetworkOutput struct{ *pulumi.OutputState } + +func (HciDeploymentSettingScaleUnitHostNetworkStorageNetworkOutput) ElementType() reflect.Type { + return reflect.TypeOf((*HciDeploymentSettingScaleUnitHostNetworkStorageNetwork)(nil)).Elem() +} + +func (o HciDeploymentSettingScaleUnitHostNetworkStorageNetworkOutput) ToHciDeploymentSettingScaleUnitHostNetworkStorageNetworkOutput() HciDeploymentSettingScaleUnitHostNetworkStorageNetworkOutput { + return o +} + +func (o HciDeploymentSettingScaleUnitHostNetworkStorageNetworkOutput) ToHciDeploymentSettingScaleUnitHostNetworkStorageNetworkOutputWithContext(ctx context.Context) HciDeploymentSettingScaleUnitHostNetworkStorageNetworkOutput { + return o +} + +// The name of the storage network. Changing this forces a new Stack HCI Deployment Setting to be created. +func (o HciDeploymentSettingScaleUnitHostNetworkStorageNetworkOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v HciDeploymentSettingScaleUnitHostNetworkStorageNetwork) string { return v.Name }).(pulumi.StringOutput) +} + +// The name of the network adapter. Changing this forces a new Stack HCI Deployment Setting to be created. +func (o HciDeploymentSettingScaleUnitHostNetworkStorageNetworkOutput) NetworkAdapterName() pulumi.StringOutput { + return o.ApplyT(func(v HciDeploymentSettingScaleUnitHostNetworkStorageNetwork) string { return v.NetworkAdapterName }).(pulumi.StringOutput) +} + +// 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. +func (o HciDeploymentSettingScaleUnitHostNetworkStorageNetworkOutput) VlanId() pulumi.StringOutput { + return o.ApplyT(func(v HciDeploymentSettingScaleUnitHostNetworkStorageNetwork) string { return v.VlanId }).(pulumi.StringOutput) +} + +type HciDeploymentSettingScaleUnitHostNetworkStorageNetworkArrayOutput struct{ *pulumi.OutputState } + +func (HciDeploymentSettingScaleUnitHostNetworkStorageNetworkArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]HciDeploymentSettingScaleUnitHostNetworkStorageNetwork)(nil)).Elem() +} + +func (o HciDeploymentSettingScaleUnitHostNetworkStorageNetworkArrayOutput) ToHciDeploymentSettingScaleUnitHostNetworkStorageNetworkArrayOutput() HciDeploymentSettingScaleUnitHostNetworkStorageNetworkArrayOutput { + return o +} + +func (o HciDeploymentSettingScaleUnitHostNetworkStorageNetworkArrayOutput) ToHciDeploymentSettingScaleUnitHostNetworkStorageNetworkArrayOutputWithContext(ctx context.Context) HciDeploymentSettingScaleUnitHostNetworkStorageNetworkArrayOutput { + return o +} + +func (o HciDeploymentSettingScaleUnitHostNetworkStorageNetworkArrayOutput) Index(i pulumi.IntInput) HciDeploymentSettingScaleUnitHostNetworkStorageNetworkOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) HciDeploymentSettingScaleUnitHostNetworkStorageNetwork { + return vs[0].([]HciDeploymentSettingScaleUnitHostNetworkStorageNetwork)[vs[1].(int)] + }).(HciDeploymentSettingScaleUnitHostNetworkStorageNetworkOutput) +} + +type HciDeploymentSettingScaleUnitInfrastructureNetwork struct { + // 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. + // + // > **NOTE:** If `dhcpEnabled` is set to `false`, the deployment will use static IPs. If set to `true`, the gateway and DNS servers are not required. + DhcpEnabled *bool `pulumi:"dhcpEnabled"` + // 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. + DnsServers []string `pulumi:"dnsServers"` + // 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. + Gateway string `pulumi:"gateway"` + // One or more `ipPool` blocks as defined below. Changing this forces a new Stack HCI Deployment Setting to be created. + IpPools []HciDeploymentSettingScaleUnitInfrastructureNetworkIpPool `pulumi:"ipPools"` + // Specifies the subnet mask that matches the provided IP address space. Changing this forces a new Stack HCI Deployment Setting to be created. + SubnetMask string `pulumi:"subnetMask"` +} + +// HciDeploymentSettingScaleUnitInfrastructureNetworkInput is an input type that accepts HciDeploymentSettingScaleUnitInfrastructureNetworkArgs and HciDeploymentSettingScaleUnitInfrastructureNetworkOutput values. +// You can construct a concrete instance of `HciDeploymentSettingScaleUnitInfrastructureNetworkInput` via: +// +// HciDeploymentSettingScaleUnitInfrastructureNetworkArgs{...} +type HciDeploymentSettingScaleUnitInfrastructureNetworkInput interface { + pulumi.Input + + ToHciDeploymentSettingScaleUnitInfrastructureNetworkOutput() HciDeploymentSettingScaleUnitInfrastructureNetworkOutput + ToHciDeploymentSettingScaleUnitInfrastructureNetworkOutputWithContext(context.Context) HciDeploymentSettingScaleUnitInfrastructureNetworkOutput +} + +type HciDeploymentSettingScaleUnitInfrastructureNetworkArgs struct { + // 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. + // + // > **NOTE:** If `dhcpEnabled` is set to `false`, the deployment will use static IPs. If set to `true`, the gateway and DNS servers are not required. + DhcpEnabled pulumi.BoolPtrInput `pulumi:"dhcpEnabled"` + // 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. + DnsServers pulumi.StringArrayInput `pulumi:"dnsServers"` + // 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. + Gateway pulumi.StringInput `pulumi:"gateway"` + // One or more `ipPool` blocks as defined below. Changing this forces a new Stack HCI Deployment Setting to be created. + IpPools HciDeploymentSettingScaleUnitInfrastructureNetworkIpPoolArrayInput `pulumi:"ipPools"` + // Specifies the subnet mask that matches the provided IP address space. Changing this forces a new Stack HCI Deployment Setting to be created. + SubnetMask pulumi.StringInput `pulumi:"subnetMask"` +} + +func (HciDeploymentSettingScaleUnitInfrastructureNetworkArgs) ElementType() reflect.Type { + return reflect.TypeOf((*HciDeploymentSettingScaleUnitInfrastructureNetwork)(nil)).Elem() +} + +func (i HciDeploymentSettingScaleUnitInfrastructureNetworkArgs) ToHciDeploymentSettingScaleUnitInfrastructureNetworkOutput() HciDeploymentSettingScaleUnitInfrastructureNetworkOutput { + return i.ToHciDeploymentSettingScaleUnitInfrastructureNetworkOutputWithContext(context.Background()) +} + +func (i HciDeploymentSettingScaleUnitInfrastructureNetworkArgs) ToHciDeploymentSettingScaleUnitInfrastructureNetworkOutputWithContext(ctx context.Context) HciDeploymentSettingScaleUnitInfrastructureNetworkOutput { + return pulumi.ToOutputWithContext(ctx, i).(HciDeploymentSettingScaleUnitInfrastructureNetworkOutput) +} + +// HciDeploymentSettingScaleUnitInfrastructureNetworkArrayInput is an input type that accepts HciDeploymentSettingScaleUnitInfrastructureNetworkArray and HciDeploymentSettingScaleUnitInfrastructureNetworkArrayOutput values. +// You can construct a concrete instance of `HciDeploymentSettingScaleUnitInfrastructureNetworkArrayInput` via: +// +// HciDeploymentSettingScaleUnitInfrastructureNetworkArray{ HciDeploymentSettingScaleUnitInfrastructureNetworkArgs{...} } +type HciDeploymentSettingScaleUnitInfrastructureNetworkArrayInput interface { + pulumi.Input + + ToHciDeploymentSettingScaleUnitInfrastructureNetworkArrayOutput() HciDeploymentSettingScaleUnitInfrastructureNetworkArrayOutput + ToHciDeploymentSettingScaleUnitInfrastructureNetworkArrayOutputWithContext(context.Context) HciDeploymentSettingScaleUnitInfrastructureNetworkArrayOutput +} + +type HciDeploymentSettingScaleUnitInfrastructureNetworkArray []HciDeploymentSettingScaleUnitInfrastructureNetworkInput + +func (HciDeploymentSettingScaleUnitInfrastructureNetworkArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]HciDeploymentSettingScaleUnitInfrastructureNetwork)(nil)).Elem() +} + +func (i HciDeploymentSettingScaleUnitInfrastructureNetworkArray) ToHciDeploymentSettingScaleUnitInfrastructureNetworkArrayOutput() HciDeploymentSettingScaleUnitInfrastructureNetworkArrayOutput { + return i.ToHciDeploymentSettingScaleUnitInfrastructureNetworkArrayOutputWithContext(context.Background()) +} + +func (i HciDeploymentSettingScaleUnitInfrastructureNetworkArray) ToHciDeploymentSettingScaleUnitInfrastructureNetworkArrayOutputWithContext(ctx context.Context) HciDeploymentSettingScaleUnitInfrastructureNetworkArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(HciDeploymentSettingScaleUnitInfrastructureNetworkArrayOutput) +} + +type HciDeploymentSettingScaleUnitInfrastructureNetworkOutput struct{ *pulumi.OutputState } + +func (HciDeploymentSettingScaleUnitInfrastructureNetworkOutput) ElementType() reflect.Type { + return reflect.TypeOf((*HciDeploymentSettingScaleUnitInfrastructureNetwork)(nil)).Elem() +} + +func (o HciDeploymentSettingScaleUnitInfrastructureNetworkOutput) ToHciDeploymentSettingScaleUnitInfrastructureNetworkOutput() HciDeploymentSettingScaleUnitInfrastructureNetworkOutput { + return o +} + +func (o HciDeploymentSettingScaleUnitInfrastructureNetworkOutput) ToHciDeploymentSettingScaleUnitInfrastructureNetworkOutputWithContext(ctx context.Context) HciDeploymentSettingScaleUnitInfrastructureNetworkOutput { + return o +} + +// 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. +// +// > **NOTE:** If `dhcpEnabled` is set to `false`, the deployment will use static IPs. If set to `true`, the gateway and DNS servers are not required. +func (o HciDeploymentSettingScaleUnitInfrastructureNetworkOutput) DhcpEnabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v HciDeploymentSettingScaleUnitInfrastructureNetwork) *bool { return v.DhcpEnabled }).(pulumi.BoolPtrOutput) +} + +// 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. +func (o HciDeploymentSettingScaleUnitInfrastructureNetworkOutput) DnsServers() pulumi.StringArrayOutput { + return o.ApplyT(func(v HciDeploymentSettingScaleUnitInfrastructureNetwork) []string { return v.DnsServers }).(pulumi.StringArrayOutput) +} + +// 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. +func (o HciDeploymentSettingScaleUnitInfrastructureNetworkOutput) Gateway() pulumi.StringOutput { + return o.ApplyT(func(v HciDeploymentSettingScaleUnitInfrastructureNetwork) string { return v.Gateway }).(pulumi.StringOutput) +} + +// One or more `ipPool` blocks as defined below. Changing this forces a new Stack HCI Deployment Setting to be created. +func (o HciDeploymentSettingScaleUnitInfrastructureNetworkOutput) IpPools() HciDeploymentSettingScaleUnitInfrastructureNetworkIpPoolArrayOutput { + return o.ApplyT(func(v HciDeploymentSettingScaleUnitInfrastructureNetwork) []HciDeploymentSettingScaleUnitInfrastructureNetworkIpPool { + return v.IpPools + }).(HciDeploymentSettingScaleUnitInfrastructureNetworkIpPoolArrayOutput) +} + +// Specifies the subnet mask that matches the provided IP address space. Changing this forces a new Stack HCI Deployment Setting to be created. +func (o HciDeploymentSettingScaleUnitInfrastructureNetworkOutput) SubnetMask() pulumi.StringOutput { + return o.ApplyT(func(v HciDeploymentSettingScaleUnitInfrastructureNetwork) string { return v.SubnetMask }).(pulumi.StringOutput) +} + +type HciDeploymentSettingScaleUnitInfrastructureNetworkArrayOutput struct{ *pulumi.OutputState } + +func (HciDeploymentSettingScaleUnitInfrastructureNetworkArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]HciDeploymentSettingScaleUnitInfrastructureNetwork)(nil)).Elem() +} + +func (o HciDeploymentSettingScaleUnitInfrastructureNetworkArrayOutput) ToHciDeploymentSettingScaleUnitInfrastructureNetworkArrayOutput() HciDeploymentSettingScaleUnitInfrastructureNetworkArrayOutput { + return o +} + +func (o HciDeploymentSettingScaleUnitInfrastructureNetworkArrayOutput) ToHciDeploymentSettingScaleUnitInfrastructureNetworkArrayOutputWithContext(ctx context.Context) HciDeploymentSettingScaleUnitInfrastructureNetworkArrayOutput { + return o +} + +func (o HciDeploymentSettingScaleUnitInfrastructureNetworkArrayOutput) Index(i pulumi.IntInput) HciDeploymentSettingScaleUnitInfrastructureNetworkOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) HciDeploymentSettingScaleUnitInfrastructureNetwork { + return vs[0].([]HciDeploymentSettingScaleUnitInfrastructureNetwork)[vs[1].(int)] + }).(HciDeploymentSettingScaleUnitInfrastructureNetworkOutput) +} + +type HciDeploymentSettingScaleUnitInfrastructureNetworkIpPool struct { + // 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. + EndingAddress string `pulumi:"endingAddress"` + // 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. + StartingAddress string `pulumi:"startingAddress"` +} + +// HciDeploymentSettingScaleUnitInfrastructureNetworkIpPoolInput is an input type that accepts HciDeploymentSettingScaleUnitInfrastructureNetworkIpPoolArgs and HciDeploymentSettingScaleUnitInfrastructureNetworkIpPoolOutput values. +// You can construct a concrete instance of `HciDeploymentSettingScaleUnitInfrastructureNetworkIpPoolInput` via: +// +// HciDeploymentSettingScaleUnitInfrastructureNetworkIpPoolArgs{...} +type HciDeploymentSettingScaleUnitInfrastructureNetworkIpPoolInput interface { + pulumi.Input + + ToHciDeploymentSettingScaleUnitInfrastructureNetworkIpPoolOutput() HciDeploymentSettingScaleUnitInfrastructureNetworkIpPoolOutput + ToHciDeploymentSettingScaleUnitInfrastructureNetworkIpPoolOutputWithContext(context.Context) HciDeploymentSettingScaleUnitInfrastructureNetworkIpPoolOutput +} + +type HciDeploymentSettingScaleUnitInfrastructureNetworkIpPoolArgs struct { + // 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. + EndingAddress pulumi.StringInput `pulumi:"endingAddress"` + // 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. + StartingAddress pulumi.StringInput `pulumi:"startingAddress"` +} + +func (HciDeploymentSettingScaleUnitInfrastructureNetworkIpPoolArgs) ElementType() reflect.Type { + return reflect.TypeOf((*HciDeploymentSettingScaleUnitInfrastructureNetworkIpPool)(nil)).Elem() +} + +func (i HciDeploymentSettingScaleUnitInfrastructureNetworkIpPoolArgs) ToHciDeploymentSettingScaleUnitInfrastructureNetworkIpPoolOutput() HciDeploymentSettingScaleUnitInfrastructureNetworkIpPoolOutput { + return i.ToHciDeploymentSettingScaleUnitInfrastructureNetworkIpPoolOutputWithContext(context.Background()) +} + +func (i HciDeploymentSettingScaleUnitInfrastructureNetworkIpPoolArgs) ToHciDeploymentSettingScaleUnitInfrastructureNetworkIpPoolOutputWithContext(ctx context.Context) HciDeploymentSettingScaleUnitInfrastructureNetworkIpPoolOutput { + return pulumi.ToOutputWithContext(ctx, i).(HciDeploymentSettingScaleUnitInfrastructureNetworkIpPoolOutput) +} + +// HciDeploymentSettingScaleUnitInfrastructureNetworkIpPoolArrayInput is an input type that accepts HciDeploymentSettingScaleUnitInfrastructureNetworkIpPoolArray and HciDeploymentSettingScaleUnitInfrastructureNetworkIpPoolArrayOutput values. +// You can construct a concrete instance of `HciDeploymentSettingScaleUnitInfrastructureNetworkIpPoolArrayInput` via: +// +// HciDeploymentSettingScaleUnitInfrastructureNetworkIpPoolArray{ HciDeploymentSettingScaleUnitInfrastructureNetworkIpPoolArgs{...} } +type HciDeploymentSettingScaleUnitInfrastructureNetworkIpPoolArrayInput interface { + pulumi.Input + + ToHciDeploymentSettingScaleUnitInfrastructureNetworkIpPoolArrayOutput() HciDeploymentSettingScaleUnitInfrastructureNetworkIpPoolArrayOutput + ToHciDeploymentSettingScaleUnitInfrastructureNetworkIpPoolArrayOutputWithContext(context.Context) HciDeploymentSettingScaleUnitInfrastructureNetworkIpPoolArrayOutput +} + +type HciDeploymentSettingScaleUnitInfrastructureNetworkIpPoolArray []HciDeploymentSettingScaleUnitInfrastructureNetworkIpPoolInput + +func (HciDeploymentSettingScaleUnitInfrastructureNetworkIpPoolArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]HciDeploymentSettingScaleUnitInfrastructureNetworkIpPool)(nil)).Elem() +} + +func (i HciDeploymentSettingScaleUnitInfrastructureNetworkIpPoolArray) ToHciDeploymentSettingScaleUnitInfrastructureNetworkIpPoolArrayOutput() HciDeploymentSettingScaleUnitInfrastructureNetworkIpPoolArrayOutput { + return i.ToHciDeploymentSettingScaleUnitInfrastructureNetworkIpPoolArrayOutputWithContext(context.Background()) +} + +func (i HciDeploymentSettingScaleUnitInfrastructureNetworkIpPoolArray) ToHciDeploymentSettingScaleUnitInfrastructureNetworkIpPoolArrayOutputWithContext(ctx context.Context) HciDeploymentSettingScaleUnitInfrastructureNetworkIpPoolArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(HciDeploymentSettingScaleUnitInfrastructureNetworkIpPoolArrayOutput) +} + +type HciDeploymentSettingScaleUnitInfrastructureNetworkIpPoolOutput struct{ *pulumi.OutputState } + +func (HciDeploymentSettingScaleUnitInfrastructureNetworkIpPoolOutput) ElementType() reflect.Type { + return reflect.TypeOf((*HciDeploymentSettingScaleUnitInfrastructureNetworkIpPool)(nil)).Elem() +} + +func (o HciDeploymentSettingScaleUnitInfrastructureNetworkIpPoolOutput) ToHciDeploymentSettingScaleUnitInfrastructureNetworkIpPoolOutput() HciDeploymentSettingScaleUnitInfrastructureNetworkIpPoolOutput { + return o +} + +func (o HciDeploymentSettingScaleUnitInfrastructureNetworkIpPoolOutput) ToHciDeploymentSettingScaleUnitInfrastructureNetworkIpPoolOutputWithContext(ctx context.Context) HciDeploymentSettingScaleUnitInfrastructureNetworkIpPoolOutput { + return o +} + +// 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. +func (o HciDeploymentSettingScaleUnitInfrastructureNetworkIpPoolOutput) EndingAddress() pulumi.StringOutput { + return o.ApplyT(func(v HciDeploymentSettingScaleUnitInfrastructureNetworkIpPool) string { return v.EndingAddress }).(pulumi.StringOutput) +} + +// 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. +func (o HciDeploymentSettingScaleUnitInfrastructureNetworkIpPoolOutput) StartingAddress() pulumi.StringOutput { + return o.ApplyT(func(v HciDeploymentSettingScaleUnitInfrastructureNetworkIpPool) string { return v.StartingAddress }).(pulumi.StringOutput) +} + +type HciDeploymentSettingScaleUnitInfrastructureNetworkIpPoolArrayOutput struct{ *pulumi.OutputState } + +func (HciDeploymentSettingScaleUnitInfrastructureNetworkIpPoolArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]HciDeploymentSettingScaleUnitInfrastructureNetworkIpPool)(nil)).Elem() +} + +func (o HciDeploymentSettingScaleUnitInfrastructureNetworkIpPoolArrayOutput) ToHciDeploymentSettingScaleUnitInfrastructureNetworkIpPoolArrayOutput() HciDeploymentSettingScaleUnitInfrastructureNetworkIpPoolArrayOutput { + return o +} + +func (o HciDeploymentSettingScaleUnitInfrastructureNetworkIpPoolArrayOutput) ToHciDeploymentSettingScaleUnitInfrastructureNetworkIpPoolArrayOutputWithContext(ctx context.Context) HciDeploymentSettingScaleUnitInfrastructureNetworkIpPoolArrayOutput { + return o +} + +func (o HciDeploymentSettingScaleUnitInfrastructureNetworkIpPoolArrayOutput) Index(i pulumi.IntInput) HciDeploymentSettingScaleUnitInfrastructureNetworkIpPoolOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) HciDeploymentSettingScaleUnitInfrastructureNetworkIpPool { + return vs[0].([]HciDeploymentSettingScaleUnitInfrastructureNetworkIpPool)[vs[1].(int)] + }).(HciDeploymentSettingScaleUnitInfrastructureNetworkIpPoolOutput) +} + +type HciDeploymentSettingScaleUnitOptionalService struct { + // 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. + CustomLocation string `pulumi:"customLocation"` +} + +// HciDeploymentSettingScaleUnitOptionalServiceInput is an input type that accepts HciDeploymentSettingScaleUnitOptionalServiceArgs and HciDeploymentSettingScaleUnitOptionalServiceOutput values. +// You can construct a concrete instance of `HciDeploymentSettingScaleUnitOptionalServiceInput` via: +// +// HciDeploymentSettingScaleUnitOptionalServiceArgs{...} +type HciDeploymentSettingScaleUnitOptionalServiceInput interface { + pulumi.Input + + ToHciDeploymentSettingScaleUnitOptionalServiceOutput() HciDeploymentSettingScaleUnitOptionalServiceOutput + ToHciDeploymentSettingScaleUnitOptionalServiceOutputWithContext(context.Context) HciDeploymentSettingScaleUnitOptionalServiceOutput +} + +type HciDeploymentSettingScaleUnitOptionalServiceArgs struct { + // 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. + CustomLocation pulumi.StringInput `pulumi:"customLocation"` +} + +func (HciDeploymentSettingScaleUnitOptionalServiceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*HciDeploymentSettingScaleUnitOptionalService)(nil)).Elem() +} + +func (i HciDeploymentSettingScaleUnitOptionalServiceArgs) ToHciDeploymentSettingScaleUnitOptionalServiceOutput() HciDeploymentSettingScaleUnitOptionalServiceOutput { + return i.ToHciDeploymentSettingScaleUnitOptionalServiceOutputWithContext(context.Background()) +} + +func (i HciDeploymentSettingScaleUnitOptionalServiceArgs) ToHciDeploymentSettingScaleUnitOptionalServiceOutputWithContext(ctx context.Context) HciDeploymentSettingScaleUnitOptionalServiceOutput { + return pulumi.ToOutputWithContext(ctx, i).(HciDeploymentSettingScaleUnitOptionalServiceOutput) +} + +type HciDeploymentSettingScaleUnitOptionalServiceOutput struct{ *pulumi.OutputState } + +func (HciDeploymentSettingScaleUnitOptionalServiceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*HciDeploymentSettingScaleUnitOptionalService)(nil)).Elem() +} + +func (o HciDeploymentSettingScaleUnitOptionalServiceOutput) ToHciDeploymentSettingScaleUnitOptionalServiceOutput() HciDeploymentSettingScaleUnitOptionalServiceOutput { + return o +} + +func (o HciDeploymentSettingScaleUnitOptionalServiceOutput) ToHciDeploymentSettingScaleUnitOptionalServiceOutputWithContext(ctx context.Context) HciDeploymentSettingScaleUnitOptionalServiceOutput { + return o +} + +// 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. +func (o HciDeploymentSettingScaleUnitOptionalServiceOutput) CustomLocation() pulumi.StringOutput { + return o.ApplyT(func(v HciDeploymentSettingScaleUnitOptionalService) string { return v.CustomLocation }).(pulumi.StringOutput) +} + +type HciDeploymentSettingScaleUnitPhysicalNode struct { + // 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. + Ipv4Address string `pulumi:"ipv4Address"` + // 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. + Name string `pulumi:"name"` +} + +// HciDeploymentSettingScaleUnitPhysicalNodeInput is an input type that accepts HciDeploymentSettingScaleUnitPhysicalNodeArgs and HciDeploymentSettingScaleUnitPhysicalNodeOutput values. +// You can construct a concrete instance of `HciDeploymentSettingScaleUnitPhysicalNodeInput` via: +// +// HciDeploymentSettingScaleUnitPhysicalNodeArgs{...} +type HciDeploymentSettingScaleUnitPhysicalNodeInput interface { + pulumi.Input + + ToHciDeploymentSettingScaleUnitPhysicalNodeOutput() HciDeploymentSettingScaleUnitPhysicalNodeOutput + ToHciDeploymentSettingScaleUnitPhysicalNodeOutputWithContext(context.Context) HciDeploymentSettingScaleUnitPhysicalNodeOutput +} + +type HciDeploymentSettingScaleUnitPhysicalNodeArgs struct { + // 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. + Ipv4Address pulumi.StringInput `pulumi:"ipv4Address"` + // 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. + Name pulumi.StringInput `pulumi:"name"` +} + +func (HciDeploymentSettingScaleUnitPhysicalNodeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*HciDeploymentSettingScaleUnitPhysicalNode)(nil)).Elem() +} + +func (i HciDeploymentSettingScaleUnitPhysicalNodeArgs) ToHciDeploymentSettingScaleUnitPhysicalNodeOutput() HciDeploymentSettingScaleUnitPhysicalNodeOutput { + return i.ToHciDeploymentSettingScaleUnitPhysicalNodeOutputWithContext(context.Background()) +} + +func (i HciDeploymentSettingScaleUnitPhysicalNodeArgs) ToHciDeploymentSettingScaleUnitPhysicalNodeOutputWithContext(ctx context.Context) HciDeploymentSettingScaleUnitPhysicalNodeOutput { + return pulumi.ToOutputWithContext(ctx, i).(HciDeploymentSettingScaleUnitPhysicalNodeOutput) +} + +// HciDeploymentSettingScaleUnitPhysicalNodeArrayInput is an input type that accepts HciDeploymentSettingScaleUnitPhysicalNodeArray and HciDeploymentSettingScaleUnitPhysicalNodeArrayOutput values. +// You can construct a concrete instance of `HciDeploymentSettingScaleUnitPhysicalNodeArrayInput` via: +// +// HciDeploymentSettingScaleUnitPhysicalNodeArray{ HciDeploymentSettingScaleUnitPhysicalNodeArgs{...} } +type HciDeploymentSettingScaleUnitPhysicalNodeArrayInput interface { + pulumi.Input + + ToHciDeploymentSettingScaleUnitPhysicalNodeArrayOutput() HciDeploymentSettingScaleUnitPhysicalNodeArrayOutput + ToHciDeploymentSettingScaleUnitPhysicalNodeArrayOutputWithContext(context.Context) HciDeploymentSettingScaleUnitPhysicalNodeArrayOutput +} + +type HciDeploymentSettingScaleUnitPhysicalNodeArray []HciDeploymentSettingScaleUnitPhysicalNodeInput + +func (HciDeploymentSettingScaleUnitPhysicalNodeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]HciDeploymentSettingScaleUnitPhysicalNode)(nil)).Elem() +} + +func (i HciDeploymentSettingScaleUnitPhysicalNodeArray) ToHciDeploymentSettingScaleUnitPhysicalNodeArrayOutput() HciDeploymentSettingScaleUnitPhysicalNodeArrayOutput { + return i.ToHciDeploymentSettingScaleUnitPhysicalNodeArrayOutputWithContext(context.Background()) +} + +func (i HciDeploymentSettingScaleUnitPhysicalNodeArray) ToHciDeploymentSettingScaleUnitPhysicalNodeArrayOutputWithContext(ctx context.Context) HciDeploymentSettingScaleUnitPhysicalNodeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(HciDeploymentSettingScaleUnitPhysicalNodeArrayOutput) +} + +type HciDeploymentSettingScaleUnitPhysicalNodeOutput struct{ *pulumi.OutputState } + +func (HciDeploymentSettingScaleUnitPhysicalNodeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*HciDeploymentSettingScaleUnitPhysicalNode)(nil)).Elem() +} + +func (o HciDeploymentSettingScaleUnitPhysicalNodeOutput) ToHciDeploymentSettingScaleUnitPhysicalNodeOutput() HciDeploymentSettingScaleUnitPhysicalNodeOutput { + return o +} + +func (o HciDeploymentSettingScaleUnitPhysicalNodeOutput) ToHciDeploymentSettingScaleUnitPhysicalNodeOutputWithContext(ctx context.Context) HciDeploymentSettingScaleUnitPhysicalNodeOutput { + return o +} + +// 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. +func (o HciDeploymentSettingScaleUnitPhysicalNodeOutput) Ipv4Address() pulumi.StringOutput { + return o.ApplyT(func(v HciDeploymentSettingScaleUnitPhysicalNode) string { return v.Ipv4Address }).(pulumi.StringOutput) +} + +// 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. +func (o HciDeploymentSettingScaleUnitPhysicalNodeOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v HciDeploymentSettingScaleUnitPhysicalNode) string { return v.Name }).(pulumi.StringOutput) +} + +type HciDeploymentSettingScaleUnitPhysicalNodeArrayOutput struct{ *pulumi.OutputState } + +func (HciDeploymentSettingScaleUnitPhysicalNodeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]HciDeploymentSettingScaleUnitPhysicalNode)(nil)).Elem() +} + +func (o HciDeploymentSettingScaleUnitPhysicalNodeArrayOutput) ToHciDeploymentSettingScaleUnitPhysicalNodeArrayOutput() HciDeploymentSettingScaleUnitPhysicalNodeArrayOutput { + return o +} + +func (o HciDeploymentSettingScaleUnitPhysicalNodeArrayOutput) ToHciDeploymentSettingScaleUnitPhysicalNodeArrayOutputWithContext(ctx context.Context) HciDeploymentSettingScaleUnitPhysicalNodeArrayOutput { + return o +} + +func (o HciDeploymentSettingScaleUnitPhysicalNodeArrayOutput) Index(i pulumi.IntInput) HciDeploymentSettingScaleUnitPhysicalNodeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) HciDeploymentSettingScaleUnitPhysicalNode { + return vs[0].([]HciDeploymentSettingScaleUnitPhysicalNode)[vs[1].(int)] + }).(HciDeploymentSettingScaleUnitPhysicalNodeOutput) +} + +type HciDeploymentSettingScaleUnitStorage struct { + // 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. + ConfigurationMode string `pulumi:"configurationMode"` +} + +// HciDeploymentSettingScaleUnitStorageInput is an input type that accepts HciDeploymentSettingScaleUnitStorageArgs and HciDeploymentSettingScaleUnitStorageOutput values. +// You can construct a concrete instance of `HciDeploymentSettingScaleUnitStorageInput` via: +// +// HciDeploymentSettingScaleUnitStorageArgs{...} +type HciDeploymentSettingScaleUnitStorageInput interface { + pulumi.Input + + ToHciDeploymentSettingScaleUnitStorageOutput() HciDeploymentSettingScaleUnitStorageOutput + ToHciDeploymentSettingScaleUnitStorageOutputWithContext(context.Context) HciDeploymentSettingScaleUnitStorageOutput +} + +type HciDeploymentSettingScaleUnitStorageArgs struct { + // 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. + ConfigurationMode pulumi.StringInput `pulumi:"configurationMode"` +} + +func (HciDeploymentSettingScaleUnitStorageArgs) ElementType() reflect.Type { + return reflect.TypeOf((*HciDeploymentSettingScaleUnitStorage)(nil)).Elem() +} + +func (i HciDeploymentSettingScaleUnitStorageArgs) ToHciDeploymentSettingScaleUnitStorageOutput() HciDeploymentSettingScaleUnitStorageOutput { + return i.ToHciDeploymentSettingScaleUnitStorageOutputWithContext(context.Background()) +} + +func (i HciDeploymentSettingScaleUnitStorageArgs) ToHciDeploymentSettingScaleUnitStorageOutputWithContext(ctx context.Context) HciDeploymentSettingScaleUnitStorageOutput { + return pulumi.ToOutputWithContext(ctx, i).(HciDeploymentSettingScaleUnitStorageOutput) +} + +type HciDeploymentSettingScaleUnitStorageOutput struct{ *pulumi.OutputState } + +func (HciDeploymentSettingScaleUnitStorageOutput) ElementType() reflect.Type { + return reflect.TypeOf((*HciDeploymentSettingScaleUnitStorage)(nil)).Elem() +} + +func (o HciDeploymentSettingScaleUnitStorageOutput) ToHciDeploymentSettingScaleUnitStorageOutput() HciDeploymentSettingScaleUnitStorageOutput { + return o +} + +func (o HciDeploymentSettingScaleUnitStorageOutput) ToHciDeploymentSettingScaleUnitStorageOutputWithContext(ctx context.Context) HciDeploymentSettingScaleUnitStorageOutput { + return o +} + +// 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. +func (o HciDeploymentSettingScaleUnitStorageOutput) ConfigurationMode() pulumi.StringOutput { + return o.ApplyT(func(v HciDeploymentSettingScaleUnitStorage) string { return v.ConfigurationMode }).(pulumi.StringOutput) +} + type HciLogicalNetworkSubnet struct { // The address prefix in CIDR notation. Changing this forces a new resource to be created. AddressPrefix *string `pulumi:"addressPrefix"` @@ -748,6 +2491,28 @@ func (o GetHciClusterIdentityArrayOutput) Index(i pulumi.IntInput) GetHciCluster func init() { pulumi.RegisterInputType(reflect.TypeOf((*HciClusterIdentityInput)(nil)).Elem(), HciClusterIdentityArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*HciClusterIdentityPtrInput)(nil)).Elem(), HciClusterIdentityArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*HciDeploymentSettingScaleUnitInput)(nil)).Elem(), HciDeploymentSettingScaleUnitArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*HciDeploymentSettingScaleUnitArrayInput)(nil)).Elem(), HciDeploymentSettingScaleUnitArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*HciDeploymentSettingScaleUnitClusterInput)(nil)).Elem(), HciDeploymentSettingScaleUnitClusterArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*HciDeploymentSettingScaleUnitHostNetworkInput)(nil)).Elem(), HciDeploymentSettingScaleUnitHostNetworkArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*HciDeploymentSettingScaleUnitHostNetworkIntentInput)(nil)).Elem(), HciDeploymentSettingScaleUnitHostNetworkIntentArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*HciDeploymentSettingScaleUnitHostNetworkIntentArrayInput)(nil)).Elem(), HciDeploymentSettingScaleUnitHostNetworkIntentArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*HciDeploymentSettingScaleUnitHostNetworkIntentAdapterPropertyOverrideInput)(nil)).Elem(), HciDeploymentSettingScaleUnitHostNetworkIntentAdapterPropertyOverrideArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*HciDeploymentSettingScaleUnitHostNetworkIntentAdapterPropertyOverridePtrInput)(nil)).Elem(), HciDeploymentSettingScaleUnitHostNetworkIntentAdapterPropertyOverrideArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*HciDeploymentSettingScaleUnitHostNetworkIntentQosPolicyOverrideInput)(nil)).Elem(), HciDeploymentSettingScaleUnitHostNetworkIntentQosPolicyOverrideArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*HciDeploymentSettingScaleUnitHostNetworkIntentQosPolicyOverridePtrInput)(nil)).Elem(), HciDeploymentSettingScaleUnitHostNetworkIntentQosPolicyOverrideArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*HciDeploymentSettingScaleUnitHostNetworkIntentVirtualSwitchConfigurationOverrideInput)(nil)).Elem(), HciDeploymentSettingScaleUnitHostNetworkIntentVirtualSwitchConfigurationOverrideArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*HciDeploymentSettingScaleUnitHostNetworkIntentVirtualSwitchConfigurationOverridePtrInput)(nil)).Elem(), HciDeploymentSettingScaleUnitHostNetworkIntentVirtualSwitchConfigurationOverrideArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*HciDeploymentSettingScaleUnitHostNetworkStorageNetworkInput)(nil)).Elem(), HciDeploymentSettingScaleUnitHostNetworkStorageNetworkArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*HciDeploymentSettingScaleUnitHostNetworkStorageNetworkArrayInput)(nil)).Elem(), HciDeploymentSettingScaleUnitHostNetworkStorageNetworkArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*HciDeploymentSettingScaleUnitInfrastructureNetworkInput)(nil)).Elem(), HciDeploymentSettingScaleUnitInfrastructureNetworkArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*HciDeploymentSettingScaleUnitInfrastructureNetworkArrayInput)(nil)).Elem(), HciDeploymentSettingScaleUnitInfrastructureNetworkArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*HciDeploymentSettingScaleUnitInfrastructureNetworkIpPoolInput)(nil)).Elem(), HciDeploymentSettingScaleUnitInfrastructureNetworkIpPoolArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*HciDeploymentSettingScaleUnitInfrastructureNetworkIpPoolArrayInput)(nil)).Elem(), HciDeploymentSettingScaleUnitInfrastructureNetworkIpPoolArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*HciDeploymentSettingScaleUnitOptionalServiceInput)(nil)).Elem(), HciDeploymentSettingScaleUnitOptionalServiceArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*HciDeploymentSettingScaleUnitPhysicalNodeInput)(nil)).Elem(), HciDeploymentSettingScaleUnitPhysicalNodeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*HciDeploymentSettingScaleUnitPhysicalNodeArrayInput)(nil)).Elem(), HciDeploymentSettingScaleUnitPhysicalNodeArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*HciDeploymentSettingScaleUnitStorageInput)(nil)).Elem(), HciDeploymentSettingScaleUnitStorageArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*HciLogicalNetworkSubnetInput)(nil)).Elem(), HciLogicalNetworkSubnetArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*HciLogicalNetworkSubnetPtrInput)(nil)).Elem(), HciLogicalNetworkSubnetArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*HciLogicalNetworkSubnetIpPoolInput)(nil)).Elem(), HciLogicalNetworkSubnetIpPoolArgs{}) @@ -758,6 +2523,28 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*GetHciClusterIdentityArrayInput)(nil)).Elem(), GetHciClusterIdentityArray{}) pulumi.RegisterOutputType(HciClusterIdentityOutput{}) pulumi.RegisterOutputType(HciClusterIdentityPtrOutput{}) + pulumi.RegisterOutputType(HciDeploymentSettingScaleUnitOutput{}) + pulumi.RegisterOutputType(HciDeploymentSettingScaleUnitArrayOutput{}) + pulumi.RegisterOutputType(HciDeploymentSettingScaleUnitClusterOutput{}) + pulumi.RegisterOutputType(HciDeploymentSettingScaleUnitHostNetworkOutput{}) + pulumi.RegisterOutputType(HciDeploymentSettingScaleUnitHostNetworkIntentOutput{}) + pulumi.RegisterOutputType(HciDeploymentSettingScaleUnitHostNetworkIntentArrayOutput{}) + pulumi.RegisterOutputType(HciDeploymentSettingScaleUnitHostNetworkIntentAdapterPropertyOverrideOutput{}) + pulumi.RegisterOutputType(HciDeploymentSettingScaleUnitHostNetworkIntentAdapterPropertyOverridePtrOutput{}) + pulumi.RegisterOutputType(HciDeploymentSettingScaleUnitHostNetworkIntentQosPolicyOverrideOutput{}) + pulumi.RegisterOutputType(HciDeploymentSettingScaleUnitHostNetworkIntentQosPolicyOverridePtrOutput{}) + pulumi.RegisterOutputType(HciDeploymentSettingScaleUnitHostNetworkIntentVirtualSwitchConfigurationOverrideOutput{}) + pulumi.RegisterOutputType(HciDeploymentSettingScaleUnitHostNetworkIntentVirtualSwitchConfigurationOverridePtrOutput{}) + pulumi.RegisterOutputType(HciDeploymentSettingScaleUnitHostNetworkStorageNetworkOutput{}) + pulumi.RegisterOutputType(HciDeploymentSettingScaleUnitHostNetworkStorageNetworkArrayOutput{}) + pulumi.RegisterOutputType(HciDeploymentSettingScaleUnitInfrastructureNetworkOutput{}) + pulumi.RegisterOutputType(HciDeploymentSettingScaleUnitInfrastructureNetworkArrayOutput{}) + pulumi.RegisterOutputType(HciDeploymentSettingScaleUnitInfrastructureNetworkIpPoolOutput{}) + pulumi.RegisterOutputType(HciDeploymentSettingScaleUnitInfrastructureNetworkIpPoolArrayOutput{}) + pulumi.RegisterOutputType(HciDeploymentSettingScaleUnitOptionalServiceOutput{}) + pulumi.RegisterOutputType(HciDeploymentSettingScaleUnitPhysicalNodeOutput{}) + pulumi.RegisterOutputType(HciDeploymentSettingScaleUnitPhysicalNodeArrayOutput{}) + pulumi.RegisterOutputType(HciDeploymentSettingScaleUnitStorageOutput{}) pulumi.RegisterOutputType(HciLogicalNetworkSubnetOutput{}) pulumi.RegisterOutputType(HciLogicalNetworkSubnetPtrOutput{}) pulumi.RegisterOutputType(HciLogicalNetworkSubnetIpPoolOutput{}) diff --git a/sdk/go/azure/storage/blob.go b/sdk/go/azure/storage/blob.go index 00da701e04..b79dae624b 100644 --- a/sdk/go/azure/storage/blob.go +++ b/sdk/go/azure/storage/blob.go @@ -102,7 +102,7 @@ type Blob struct { // // > **Note:** `size` is required if `sourceUri` is not set. Size pulumi.IntPtrOutput `pulumi:"size"` - // An absolute path to a file on the local system. This field cannot be specified for Append blobs and cannot be specified if `sourceContent` or `sourceUri` is specified. Changing this forces a new resource to be created. + // An absolute path to a file on the local system. This field cannot be specified for Append blobs and cannot be specified if `sourceContent` or `sourceUri` is specified. Source pulumi.AssetOrArchiveOutput `pulumi:"source"` // 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 `sourceUri` is specified. Changing this forces a new resource to be created. SourceContent pulumi.StringPtrOutput `pulumi:"sourceContent"` @@ -179,7 +179,7 @@ type blobState struct { // // > **Note:** `size` is required if `sourceUri` is not set. Size *int `pulumi:"size"` - // An absolute path to a file on the local system. This field cannot be specified for Append blobs and cannot be specified if `sourceContent` or `sourceUri` is specified. Changing this forces a new resource to be created. + // An absolute path to a file on the local system. This field cannot be specified for Append blobs and cannot be specified if `sourceContent` or `sourceUri` is specified. Source pulumi.AssetOrArchive `pulumi:"source"` // 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 `sourceUri` is specified. Changing this forces a new resource to be created. SourceContent *string `pulumi:"sourceContent"` @@ -218,7 +218,7 @@ type BlobState struct { // // > **Note:** `size` is required if `sourceUri` is not set. Size pulumi.IntPtrInput - // An absolute path to a file on the local system. This field cannot be specified for Append blobs and cannot be specified if `sourceContent` or `sourceUri` is specified. Changing this forces a new resource to be created. + // An absolute path to a file on the local system. This field cannot be specified for Append blobs and cannot be specified if `sourceContent` or `sourceUri` is specified. Source pulumi.AssetOrArchiveInput // 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 `sourceUri` is specified. Changing this forces a new resource to be created. SourceContent pulumi.StringPtrInput @@ -261,7 +261,7 @@ type blobArgs struct { // // > **Note:** `size` is required if `sourceUri` is not set. Size *int `pulumi:"size"` - // An absolute path to a file on the local system. This field cannot be specified for Append blobs and cannot be specified if `sourceContent` or `sourceUri` is specified. Changing this forces a new resource to be created. + // An absolute path to a file on the local system. This field cannot be specified for Append blobs and cannot be specified if `sourceContent` or `sourceUri` is specified. Source pulumi.AssetOrArchive `pulumi:"source"` // 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 `sourceUri` is specified. Changing this forces a new resource to be created. SourceContent *string `pulumi:"sourceContent"` @@ -299,7 +299,7 @@ type BlobArgs struct { // // > **Note:** `size` is required if `sourceUri` is not set. Size pulumi.IntPtrInput - // An absolute path to a file on the local system. This field cannot be specified for Append blobs and cannot be specified if `sourceContent` or `sourceUri` is specified. Changing this forces a new resource to be created. + // An absolute path to a file on the local system. This field cannot be specified for Append blobs and cannot be specified if `sourceContent` or `sourceUri` is specified. Source pulumi.AssetOrArchiveInput // 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 `sourceUri` is specified. Changing this forces a new resource to be created. SourceContent pulumi.StringPtrInput @@ -449,7 +449,7 @@ func (o BlobOutput) Size() pulumi.IntPtrOutput { return o.ApplyT(func(v *Blob) pulumi.IntPtrOutput { return v.Size }).(pulumi.IntPtrOutput) } -// An absolute path to a file on the local system. This field cannot be specified for Append blobs and cannot be specified if `sourceContent` or `sourceUri` is specified. Changing this forces a new resource to be created. +// An absolute path to a file on the local system. This field cannot be specified for Append blobs and cannot be specified if `sourceContent` or `sourceUri` is specified. func (o BlobOutput) Source() pulumi.AssetOrArchiveOutput { return o.ApplyT(func(v *Blob) pulumi.AssetOrArchiveOutput { return v.Source }).(pulumi.AssetOrArchiveOutput) } diff --git a/sdk/go/azure/storage/pulumiTypes.go b/sdk/go/azure/storage/pulumiTypes.go index 496bdc01fd..f91205471d 100644 --- a/sdk/go/azure/storage/pulumiTypes.go +++ b/sdk/go/azure/storage/pulumiTypes.go @@ -6842,12 +6842,12 @@ func (o ManagementPolicyRuleFiltersMatchBlobIndexTagArrayOutput) Index(i pulumi. type ObjectReplicationRule struct { // The time after which the Block Blobs created will be copies to the destination. Possible values are `OnlyNewObjects`, `Everything` and time in RFC3339 format: `2006-01-02T15:04:00Z`. Defaults to `OnlyNewObjects`. CopyBlobsCreatedAfter *string `pulumi:"copyBlobsCreatedAfter"` - // The destination storage container name. Changing this forces a new Storage Object Replication to be created. + // The destination storage container name. DestinationContainerName string `pulumi:"destinationContainerName"` // Specifies a list of filters prefixes, the blobs whose names begin with which will be replicated. FilterOutBlobsWithPrefixes []string `pulumi:"filterOutBlobsWithPrefixes"` Name *string `pulumi:"name"` - // The source storage container name. Changing this forces a new Storage Object Replication to be created. + // The source storage container name. SourceContainerName string `pulumi:"sourceContainerName"` } @@ -6865,12 +6865,12 @@ type ObjectReplicationRuleInput interface { type ObjectReplicationRuleArgs struct { // The time after which the Block Blobs created will be copies to the destination. Possible values are `OnlyNewObjects`, `Everything` and time in RFC3339 format: `2006-01-02T15:04:00Z`. Defaults to `OnlyNewObjects`. CopyBlobsCreatedAfter pulumi.StringPtrInput `pulumi:"copyBlobsCreatedAfter"` - // The destination storage container name. Changing this forces a new Storage Object Replication to be created. + // The destination storage container name. DestinationContainerName pulumi.StringInput `pulumi:"destinationContainerName"` // Specifies a list of filters prefixes, the blobs whose names begin with which will be replicated. FilterOutBlobsWithPrefixes pulumi.StringArrayInput `pulumi:"filterOutBlobsWithPrefixes"` Name pulumi.StringPtrInput `pulumi:"name"` - // The source storage container name. Changing this forces a new Storage Object Replication to be created. + // The source storage container name. SourceContainerName pulumi.StringInput `pulumi:"sourceContainerName"` } @@ -6930,7 +6930,7 @@ func (o ObjectReplicationRuleOutput) CopyBlobsCreatedAfter() pulumi.StringPtrOut return o.ApplyT(func(v ObjectReplicationRule) *string { return v.CopyBlobsCreatedAfter }).(pulumi.StringPtrOutput) } -// The destination storage container name. Changing this forces a new Storage Object Replication to be created. +// The destination storage container name. func (o ObjectReplicationRuleOutput) DestinationContainerName() pulumi.StringOutput { return o.ApplyT(func(v ObjectReplicationRule) string { return v.DestinationContainerName }).(pulumi.StringOutput) } @@ -6944,7 +6944,7 @@ func (o ObjectReplicationRuleOutput) Name() pulumi.StringPtrOutput { return o.ApplyT(func(v ObjectReplicationRule) *string { return v.Name }).(pulumi.StringPtrOutput) } -// The source storage container name. Changing this forces a new Storage Object Replication to be created. +// The source storage container name. func (o ObjectReplicationRuleOutput) SourceContainerName() pulumi.StringOutput { return o.ApplyT(func(v ObjectReplicationRule) string { return v.SourceContainerName }).(pulumi.StringOutput) } diff --git a/sdk/java/src/main/java/com/pulumi/azure/advisor/Suppression.java b/sdk/java/src/main/java/com/pulumi/azure/advisor/Suppression.java new file mode 100644 index 0000000000..352bbfb32f --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/azure/advisor/Suppression.java @@ -0,0 +1,202 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.azure.advisor; + +import com.pulumi.azure.Utilities; +import com.pulumi.azure.advisor.SuppressionArgs; +import com.pulumi.azure.advisor.inputs.SuppressionState; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Export; +import com.pulumi.core.annotations.ResourceType; +import com.pulumi.core.internal.Codegen; +import java.lang.String; +import java.util.Optional; +import javax.annotation.Nullable; + +/** + * Specifies a suppression for an Azure Advisor recommendation. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+ * {@code
+ * package generated_program;
+ * 
+ * import com.pulumi.Context;
+ * import com.pulumi.Pulumi;
+ * import com.pulumi.core.Output;
+ * import com.pulumi.azure.core.CoreFunctions;
+ * import com.pulumi.azure.advisor.AdvisorFunctions;
+ * import com.pulumi.azure.advisor.inputs.GetRecommendationsArgs;
+ * import com.pulumi.azure.advisor.Suppression;
+ * import com.pulumi.azure.advisor.SuppressionArgs;
+ * import java.util.List;
+ * import java.util.ArrayList;
+ * import java.util.Map;
+ * import java.io.File;
+ * import java.nio.file.Files;
+ * import java.nio.file.Paths;
+ * 
+ * public class App {
+ *     public static void main(String[] args) {
+ *         Pulumi.run(App::stack);
+ *     }
+ * 
+ *     public static void stack(Context ctx) {
+ *         final var current = CoreFunctions.getClientConfig();
+ * 
+ *         final var example = AdvisorFunctions.getRecommendations();
+ * 
+ *         var exampleSuppression = new Suppression("exampleSuppression", SuppressionArgs.builder()
+ *             .name("HardcodedSuppressionName")
+ *             .recommendationId(test.recommendations()[0].recommendationName())
+ *             .resourceId(String.format("/subscriptions/%s", current.applyValue(getClientConfigResult -> getClientConfigResult.subscriptionId())))
+ *             .ttl("01:00:00:00")
+ *             .build());
+ * 
+ *     }
+ * }
+ * }
+ * 
+ * <!--End PulumiCodeChooser --> + * + * ## 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 + * ``` + * + */ +@ResourceType(type="azure:advisor/suppression:Suppression") +public class Suppression extends com.pulumi.resources.CustomResource { + /** + * The Name which should be used for this Advisor suppression. Changing this forces a new Advisor suppression to be created. + * + */ + @Export(name="name", refs={String.class}, tree="[0]") + private Output name; + + /** + * @return The Name which should be used for this Advisor suppression. Changing this forces a new Advisor suppression to be created. + * + */ + public Output name() { + return this.name; + } + /** + * The ID of the Advisor recommendation to suppress. Changing this forces a new Advisor suppression to be created. + * + */ + @Export(name="recommendationId", refs={String.class}, tree="[0]") + private Output recommendationId; + + /** + * @return The ID of the Advisor recommendation to suppress. Changing this forces a new Advisor suppression to be created. + * + */ + public Output recommendationId() { + return this.recommendationId; + } + /** + * The ID of the Resource to suppress the Advisor recommendation for. Changing this forces a new Advisor suppression to be created. + * + */ + @Export(name="resourceId", refs={String.class}, tree="[0]") + private Output resourceId; + + /** + * @return The ID of the Resource to suppress the Advisor recommendation for. Changing this forces a new Advisor suppression to be created. + * + */ + public Output resourceId() { + return this.resourceId; + } + /** + * The GUID of the suppression. + * + */ + @Export(name="suppressionId", refs={String.class}, tree="[0]") + private Output suppressionId; + + /** + * @return The GUID of the suppression. + * + */ + public Output suppressionId() { + return this.suppressionId; + } + /** + * A optional time to live value. If omitted, the suppression will not expire. Changing this forces a new Advisor suppression to be created. + * + */ + @Export(name="ttl", refs={String.class}, tree="[0]") + private Output ttl; + + /** + * @return A optional time to live value. If omitted, the suppression will not expire. Changing this forces a new Advisor suppression to be created. + * + */ + public Output> ttl() { + return Codegen.optional(this.ttl); + } + + /** + * + * @param name The _unique_ name of the resulting resource. + */ + public Suppression(java.lang.String name) { + this(name, SuppressionArgs.Empty); + } + /** + * + * @param name The _unique_ name of the resulting resource. + * @param args The arguments to use to populate this resource's properties. + */ + public Suppression(java.lang.String name, SuppressionArgs args) { + this(name, args, null); + } + /** + * + * @param name The _unique_ name of the resulting resource. + * @param args The arguments to use to populate this resource's properties. + * @param options A bag of options that control this resource's behavior. + */ + public Suppression(java.lang.String name, SuppressionArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("azure:advisor/suppression:Suppression", name, makeArgs(args, options), makeResourceOptions(options, Codegen.empty()), false); + } + + private Suppression(java.lang.String name, Output id, @Nullable SuppressionState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("azure:advisor/suppression:Suppression", name, state, makeResourceOptions(options, id), false); + } + + private static SuppressionArgs makeArgs(SuppressionArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + if (options != null && options.getUrn().isPresent()) { + return null; + } + return args == null ? SuppressionArgs.Empty : args; + } + + private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { + var defaultOptions = com.pulumi.resources.CustomResourceOptions.builder() + .version(Utilities.getVersion()) + .build(); + return com.pulumi.resources.CustomResourceOptions.merge(defaultOptions, options, id); + } + + /** + * Get an existing Host resource's state with the given name, ID, and optional extra + * properties used to qualify the lookup. + * + * @param name The _unique_ name of the resulting resource. + * @param id The _unique_ provider ID of the resource to lookup. + * @param state + * @param options Optional settings to control the behavior of the CustomResource. + */ + public static Suppression get(java.lang.String name, Output id, @Nullable SuppressionState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + return new Suppression(name, id, state, options); + } +} diff --git a/sdk/java/src/main/java/com/pulumi/azure/advisor/SuppressionArgs.java b/sdk/java/src/main/java/com/pulumi/azure/advisor/SuppressionArgs.java new file mode 100644 index 0000000000..f26589c175 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/azure/advisor/SuppressionArgs.java @@ -0,0 +1,201 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.azure.advisor; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class SuppressionArgs extends com.pulumi.resources.ResourceArgs { + + public static final SuppressionArgs Empty = new SuppressionArgs(); + + /** + * The Name which should be used for this Advisor suppression. Changing this forces a new Advisor suppression to be created. + * + */ + @Import(name="name") + private @Nullable Output name; + + /** + * @return The Name which should be used for this Advisor suppression. Changing this forces a new Advisor suppression to be created. + * + */ + public Optional> name() { + return Optional.ofNullable(this.name); + } + + /** + * The ID of the Advisor recommendation to suppress. Changing this forces a new Advisor suppression to be created. + * + */ + @Import(name="recommendationId", required=true) + private Output recommendationId; + + /** + * @return The ID of the Advisor recommendation to suppress. Changing this forces a new Advisor suppression to be created. + * + */ + public Output recommendationId() { + return this.recommendationId; + } + + /** + * The ID of the Resource to suppress the Advisor recommendation for. Changing this forces a new Advisor suppression to be created. + * + */ + @Import(name="resourceId", required=true) + private Output resourceId; + + /** + * @return The ID of the Resource to suppress the Advisor recommendation for. Changing this forces a new Advisor suppression to be created. + * + */ + public Output resourceId() { + return this.resourceId; + } + + /** + * A optional time to live value. If omitted, the suppression will not expire. Changing this forces a new Advisor suppression to be created. + * + */ + @Import(name="ttl") + private @Nullable Output ttl; + + /** + * @return A optional time to live value. If omitted, the suppression will not expire. Changing this forces a new Advisor suppression to be created. + * + */ + public Optional> ttl() { + return Optional.ofNullable(this.ttl); + } + + private SuppressionArgs() {} + + private SuppressionArgs(SuppressionArgs $) { + this.name = $.name; + this.recommendationId = $.recommendationId; + this.resourceId = $.resourceId; + this.ttl = $.ttl; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(SuppressionArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private SuppressionArgs $; + + public Builder() { + $ = new SuppressionArgs(); + } + + public Builder(SuppressionArgs defaults) { + $ = new SuppressionArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param name The Name which should be used for this Advisor suppression. Changing this forces a new Advisor suppression to be created. + * + * @return builder + * + */ + public Builder name(@Nullable Output name) { + $.name = name; + return this; + } + + /** + * @param name The Name which should be used for this Advisor suppression. Changing this forces a new Advisor suppression to be created. + * + * @return builder + * + */ + public Builder name(String name) { + return name(Output.of(name)); + } + + /** + * @param recommendationId The ID of the Advisor recommendation to suppress. Changing this forces a new Advisor suppression to be created. + * + * @return builder + * + */ + public Builder recommendationId(Output recommendationId) { + $.recommendationId = recommendationId; + return this; + } + + /** + * @param recommendationId The ID of the Advisor recommendation to suppress. Changing this forces a new Advisor suppression to be created. + * + * @return builder + * + */ + public Builder recommendationId(String recommendationId) { + return recommendationId(Output.of(recommendationId)); + } + + /** + * @param resourceId The ID of the Resource to suppress the Advisor recommendation for. Changing this forces a new Advisor suppression to be created. + * + * @return builder + * + */ + public Builder resourceId(Output resourceId) { + $.resourceId = resourceId; + return this; + } + + /** + * @param resourceId The ID of the Resource to suppress the Advisor recommendation for. Changing this forces a new Advisor suppression to be created. + * + * @return builder + * + */ + public Builder resourceId(String resourceId) { + return resourceId(Output.of(resourceId)); + } + + /** + * @param ttl A optional time to live value. If omitted, the suppression will not expire. Changing this forces a new Advisor suppression to be created. + * + * @return builder + * + */ + public Builder ttl(@Nullable Output ttl) { + $.ttl = ttl; + return this; + } + + /** + * @param ttl A optional time to live value. If omitted, the suppression will not expire. Changing this forces a new Advisor suppression to be created. + * + * @return builder + * + */ + public Builder ttl(String ttl) { + return ttl(Output.of(ttl)); + } + + public SuppressionArgs build() { + if ($.recommendationId == null) { + throw new MissingRequiredPropertyException("SuppressionArgs", "recommendationId"); + } + if ($.resourceId == null) { + throw new MissingRequiredPropertyException("SuppressionArgs", "resourceId"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/azure/advisor/inputs/SuppressionState.java b/sdk/java/src/main/java/com/pulumi/azure/advisor/inputs/SuppressionState.java new file mode 100644 index 0000000000..5b8c3f8f38 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/azure/advisor/inputs/SuppressionState.java @@ -0,0 +1,231 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.azure.advisor.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class SuppressionState extends com.pulumi.resources.ResourceArgs { + + public static final SuppressionState Empty = new SuppressionState(); + + /** + * The Name which should be used for this Advisor suppression. Changing this forces a new Advisor suppression to be created. + * + */ + @Import(name="name") + private @Nullable Output name; + + /** + * @return The Name which should be used for this Advisor suppression. Changing this forces a new Advisor suppression to be created. + * + */ + public Optional> name() { + return Optional.ofNullable(this.name); + } + + /** + * The ID of the Advisor recommendation to suppress. Changing this forces a new Advisor suppression to be created. + * + */ + @Import(name="recommendationId") + private @Nullable Output recommendationId; + + /** + * @return The ID of the Advisor recommendation to suppress. Changing this forces a new Advisor suppression to be created. + * + */ + public Optional> recommendationId() { + return Optional.ofNullable(this.recommendationId); + } + + /** + * The ID of the Resource to suppress the Advisor recommendation for. Changing this forces a new Advisor suppression to be created. + * + */ + @Import(name="resourceId") + private @Nullable Output resourceId; + + /** + * @return The ID of the Resource to suppress the Advisor recommendation for. Changing this forces a new Advisor suppression to be created. + * + */ + public Optional> resourceId() { + return Optional.ofNullable(this.resourceId); + } + + /** + * The GUID of the suppression. + * + */ + @Import(name="suppressionId") + private @Nullable Output suppressionId; + + /** + * @return The GUID of the suppression. + * + */ + public Optional> suppressionId() { + return Optional.ofNullable(this.suppressionId); + } + + /** + * A optional time to live value. If omitted, the suppression will not expire. Changing this forces a new Advisor suppression to be created. + * + */ + @Import(name="ttl") + private @Nullable Output ttl; + + /** + * @return A optional time to live value. If omitted, the suppression will not expire. Changing this forces a new Advisor suppression to be created. + * + */ + public Optional> ttl() { + return Optional.ofNullable(this.ttl); + } + + private SuppressionState() {} + + private SuppressionState(SuppressionState $) { + this.name = $.name; + this.recommendationId = $.recommendationId; + this.resourceId = $.resourceId; + this.suppressionId = $.suppressionId; + this.ttl = $.ttl; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(SuppressionState defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private SuppressionState $; + + public Builder() { + $ = new SuppressionState(); + } + + public Builder(SuppressionState defaults) { + $ = new SuppressionState(Objects.requireNonNull(defaults)); + } + + /** + * @param name The Name which should be used for this Advisor suppression. Changing this forces a new Advisor suppression to be created. + * + * @return builder + * + */ + public Builder name(@Nullable Output name) { + $.name = name; + return this; + } + + /** + * @param name The Name which should be used for this Advisor suppression. Changing this forces a new Advisor suppression to be created. + * + * @return builder + * + */ + public Builder name(String name) { + return name(Output.of(name)); + } + + /** + * @param recommendationId The ID of the Advisor recommendation to suppress. Changing this forces a new Advisor suppression to be created. + * + * @return builder + * + */ + public Builder recommendationId(@Nullable Output recommendationId) { + $.recommendationId = recommendationId; + return this; + } + + /** + * @param recommendationId The ID of the Advisor recommendation to suppress. Changing this forces a new Advisor suppression to be created. + * + * @return builder + * + */ + public Builder recommendationId(String recommendationId) { + return recommendationId(Output.of(recommendationId)); + } + + /** + * @param resourceId The ID of the Resource to suppress the Advisor recommendation for. Changing this forces a new Advisor suppression to be created. + * + * @return builder + * + */ + public Builder resourceId(@Nullable Output resourceId) { + $.resourceId = resourceId; + return this; + } + + /** + * @param resourceId The ID of the Resource to suppress the Advisor recommendation for. Changing this forces a new Advisor suppression to be created. + * + * @return builder + * + */ + public Builder resourceId(String resourceId) { + return resourceId(Output.of(resourceId)); + } + + /** + * @param suppressionId The GUID of the suppression. + * + * @return builder + * + */ + public Builder suppressionId(@Nullable Output suppressionId) { + $.suppressionId = suppressionId; + return this; + } + + /** + * @param suppressionId The GUID of the suppression. + * + * @return builder + * + */ + public Builder suppressionId(String suppressionId) { + return suppressionId(Output.of(suppressionId)); + } + + /** + * @param ttl A optional time to live value. If omitted, the suppression will not expire. Changing this forces a new Advisor suppression to be created. + * + * @return builder + * + */ + public Builder ttl(@Nullable Output ttl) { + $.ttl = ttl; + return this; + } + + /** + * @param ttl A optional time to live value. If omitted, the suppression will not expire. Changing this forces a new Advisor suppression to be created. + * + * @return builder + * + */ + public Builder ttl(String ttl) { + return ttl(Output.of(ttl)); + } + + public SuppressionState build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/azure/appplatform/SpringCloudGateway.java b/sdk/java/src/main/java/com/pulumi/azure/appplatform/SpringCloudGateway.java index 35b5696a96..bf716cb4c7 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/appplatform/SpringCloudGateway.java +++ b/sdk/java/src/main/java/com/pulumi/azure/appplatform/SpringCloudGateway.java @@ -201,14 +201,14 @@ public Output> cors() { return Codegen.optional(this.cors); } /** - * 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. * */ @Export(name="environmentVariables", refs={Map.class,String.class}, tree="[0,1,1]") private Output> environmentVariables; /** - * @return 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. + * @return Specifies the environment variables of the Spring Cloud Gateway as a map of key-value pairs. * */ public Output>> environmentVariables() { @@ -313,14 +313,14 @@ public Output quota() { return this.quota; } /** - * 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. * */ @Export(name="sensitiveEnvironmentVariables", refs={Map.class,String.class}, tree="[0,1,1]") private Output> sensitiveEnvironmentVariables; /** - * @return 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. + * @return Specifies the sensitive environment variables of the Spring Cloud Gateway as a map of key-value pairs. * */ public Output>> sensitiveEnvironmentVariables() { diff --git a/sdk/java/src/main/java/com/pulumi/azure/appplatform/SpringCloudGatewayArgs.java b/sdk/java/src/main/java/com/pulumi/azure/appplatform/SpringCloudGatewayArgs.java index 4092d6d19d..00ae2a4887 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/appplatform/SpringCloudGatewayArgs.java +++ b/sdk/java/src/main/java/com/pulumi/azure/appplatform/SpringCloudGatewayArgs.java @@ -103,14 +103,14 @@ public Optional> cors() { } /** - * 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. * */ @Import(name="environmentVariables") private @Nullable Output> environmentVariables; /** - * @return 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. + * @return Specifies the environment variables of the Spring Cloud Gateway as a map of key-value pairs. * */ public Optional>> environmentVariables() { @@ -223,14 +223,14 @@ public Optional> quota() { } /** - * 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. * */ @Import(name="sensitiveEnvironmentVariables") private @Nullable Output> sensitiveEnvironmentVariables; /** - * @return 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. + * @return Specifies the sensitive environment variables of the Spring Cloud Gateway as a map of key-value pairs. * */ public Optional>> sensitiveEnvironmentVariables() { @@ -432,7 +432,7 @@ public Builder cors(SpringCloudGatewayCorsArgs cors) { } /** - * @param 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. + * @param environmentVariables Specifies the environment variables of the Spring Cloud Gateway as a map of key-value pairs. * * @return builder * @@ -443,7 +443,7 @@ public Builder environmentVariables(@Nullable Output> environ } /** - * @param 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. + * @param environmentVariables Specifies the environment variables of the Spring Cloud Gateway as a map of key-value pairs. * * @return builder * @@ -600,7 +600,7 @@ public Builder quota(SpringCloudGatewayQuotaArgs quota) { } /** - * @param 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. + * @param sensitiveEnvironmentVariables Specifies the sensitive environment variables of the Spring Cloud Gateway as a map of key-value pairs. * * @return builder * @@ -611,7 +611,7 @@ public Builder sensitiveEnvironmentVariables(@Nullable Output } /** - * @param 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. + * @param sensitiveEnvironmentVariables Specifies the sensitive environment variables of the Spring Cloud Gateway as a map of key-value pairs. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/azure/appplatform/inputs/SpringCloudGatewayState.java b/sdk/java/src/main/java/com/pulumi/azure/appplatform/inputs/SpringCloudGatewayState.java index 23fc58ff1e..6e42c89aa5 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/appplatform/inputs/SpringCloudGatewayState.java +++ b/sdk/java/src/main/java/com/pulumi/azure/appplatform/inputs/SpringCloudGatewayState.java @@ -102,14 +102,14 @@ public Optional> cors() { } /** - * 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. * */ @Import(name="environmentVariables") private @Nullable Output> environmentVariables; /** - * @return 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. + * @return Specifies the environment variables of the Spring Cloud Gateway as a map of key-value pairs. * */ public Optional>> environmentVariables() { @@ -222,14 +222,14 @@ public Optional> quota() { } /** - * 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. * */ @Import(name="sensitiveEnvironmentVariables") private @Nullable Output> sensitiveEnvironmentVariables; /** - * @return 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. + * @return Specifies the sensitive environment variables of the Spring Cloud Gateway as a map of key-value pairs. * */ public Optional>> sensitiveEnvironmentVariables() { @@ -447,7 +447,7 @@ public Builder cors(SpringCloudGatewayCorsArgs cors) { } /** - * @param 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. + * @param environmentVariables Specifies the environment variables of the Spring Cloud Gateway as a map of key-value pairs. * * @return builder * @@ -458,7 +458,7 @@ public Builder environmentVariables(@Nullable Output> environ } /** - * @param 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. + * @param environmentVariables Specifies the environment variables of the Spring Cloud Gateway as a map of key-value pairs. * * @return builder * @@ -615,7 +615,7 @@ public Builder quota(SpringCloudGatewayQuotaArgs quota) { } /** - * @param 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. + * @param sensitiveEnvironmentVariables Specifies the sensitive environment variables of the Spring Cloud Gateway as a map of key-value pairs. * * @return builder * @@ -626,7 +626,7 @@ public Builder sensitiveEnvironmentVariables(@Nullable Output } /** - * @param 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. + * @param sensitiveEnvironmentVariables Specifies the sensitive environment variables of the Spring Cloud Gateway as a map of key-value pairs. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/azure/appservice/StaticWebApp.java b/sdk/java/src/main/java/com/pulumi/azure/appservice/StaticWebApp.java index cd51071653..5610e4e9e6 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/appservice/StaticWebApp.java +++ b/sdk/java/src/main/java/com/pulumi/azure/appservice/StaticWebApp.java @@ -203,6 +203,20 @@ public Output name() { public Output> previewEnvironmentsEnabled() { return Codegen.optional(this.previewEnvironmentsEnabled); } + /** + * Should public network access be enabled for the Static Web App. Defaults to `true`. + * + */ + @Export(name="publicNetworkAccessEnabled", refs={Boolean.class}, tree="[0]") + private Output publicNetworkAccessEnabled; + + /** + * @return Should public network access be enabled for the Static Web App. Defaults to `true`. + * + */ + public Output> publicNetworkAccessEnabled() { + return Codegen.optional(this.publicNetworkAccessEnabled); + } /** * 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/java/src/main/java/com/pulumi/azure/appservice/StaticWebAppArgs.java b/sdk/java/src/main/java/com/pulumi/azure/appservice/StaticWebAppArgs.java index 85b355f89e..b947774af0 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/appservice/StaticWebAppArgs.java +++ b/sdk/java/src/main/java/com/pulumi/azure/appservice/StaticWebAppArgs.java @@ -125,6 +125,21 @@ public Optional> previewEnvironmentsEnabled() { return Optional.ofNullable(this.previewEnvironmentsEnabled); } + /** + * Should public network access be enabled for the Static Web App. Defaults to `true`. + * + */ + @Import(name="publicNetworkAccessEnabled") + private @Nullable Output publicNetworkAccessEnabled; + + /** + * @return Should public network access be enabled for the Static Web App. Defaults to `true`. + * + */ + public Optional> publicNetworkAccessEnabled() { + return Optional.ofNullable(this.publicNetworkAccessEnabled); + } + /** * The name of the Resource Group where the Static Web App should exist. Changing this forces a new Static Web App to be created. * @@ -195,6 +210,7 @@ private StaticWebAppArgs(StaticWebAppArgs $) { this.location = $.location; this.name = $.name; this.previewEnvironmentsEnabled = $.previewEnvironmentsEnabled; + this.publicNetworkAccessEnabled = $.publicNetworkAccessEnabled; this.resourceGroupName = $.resourceGroupName; this.skuSize = $.skuSize; this.skuTier = $.skuTier; @@ -366,6 +382,27 @@ public Builder previewEnvironmentsEnabled(Boolean previewEnvironmentsEnabled) { return previewEnvironmentsEnabled(Output.of(previewEnvironmentsEnabled)); } + /** + * @param publicNetworkAccessEnabled Should public network access be enabled for the Static Web App. Defaults to `true`. + * + * @return builder + * + */ + public Builder publicNetworkAccessEnabled(@Nullable Output publicNetworkAccessEnabled) { + $.publicNetworkAccessEnabled = publicNetworkAccessEnabled; + return this; + } + + /** + * @param publicNetworkAccessEnabled Should public network access be enabled for the Static Web App. Defaults to `true`. + * + * @return builder + * + */ + public Builder publicNetworkAccessEnabled(Boolean publicNetworkAccessEnabled) { + return publicNetworkAccessEnabled(Output.of(publicNetworkAccessEnabled)); + } + /** * @param resourceGroupName 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/java/src/main/java/com/pulumi/azure/appservice/inputs/StaticWebAppState.java b/sdk/java/src/main/java/com/pulumi/azure/appservice/inputs/StaticWebAppState.java index 0241698bfe..caa6088858 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/appservice/inputs/StaticWebAppState.java +++ b/sdk/java/src/main/java/com/pulumi/azure/appservice/inputs/StaticWebAppState.java @@ -154,6 +154,21 @@ public Optional> previewEnvironmentsEnabled() { return Optional.ofNullable(this.previewEnvironmentsEnabled); } + /** + * Should public network access be enabled for the Static Web App. Defaults to `true`. + * + */ + @Import(name="publicNetworkAccessEnabled") + private @Nullable Output publicNetworkAccessEnabled; + + /** + * @return Should public network access be enabled for the Static Web App. Defaults to `true`. + * + */ + public Optional> publicNetworkAccessEnabled() { + return Optional.ofNullable(this.publicNetworkAccessEnabled); + } + /** * The name of the Resource Group where the Static Web App should exist. Changing this forces a new Static Web App to be created. * @@ -226,6 +241,7 @@ private StaticWebAppState(StaticWebAppState $) { this.location = $.location; this.name = $.name; this.previewEnvironmentsEnabled = $.previewEnvironmentsEnabled; + this.publicNetworkAccessEnabled = $.publicNetworkAccessEnabled; this.resourceGroupName = $.resourceGroupName; this.skuSize = $.skuSize; this.skuTier = $.skuTier; @@ -439,6 +455,27 @@ public Builder previewEnvironmentsEnabled(Boolean previewEnvironmentsEnabled) { return previewEnvironmentsEnabled(Output.of(previewEnvironmentsEnabled)); } + /** + * @param publicNetworkAccessEnabled Should public network access be enabled for the Static Web App. Defaults to `true`. + * + * @return builder + * + */ + public Builder publicNetworkAccessEnabled(@Nullable Output publicNetworkAccessEnabled) { + $.publicNetworkAccessEnabled = publicNetworkAccessEnabled; + return this; + } + + /** + * @param publicNetworkAccessEnabled Should public network access be enabled for the Static Web App. Defaults to `true`. + * + * @return builder + * + */ + public Builder publicNetworkAccessEnabled(Boolean publicNetworkAccessEnabled) { + return publicNetworkAccessEnabled(Output.of(publicNetworkAccessEnabled)); + } + /** * @param resourceGroupName 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/java/src/main/java/com/pulumi/azure/appservice/outputs/GetStaticWebAppResult.java b/sdk/java/src/main/java/com/pulumi/azure/appservice/outputs/GetStaticWebAppResult.java index 17408ce77b..2a556ecae9 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/appservice/outputs/GetStaticWebAppResult.java +++ b/sdk/java/src/main/java/com/pulumi/azure/appservice/outputs/GetStaticWebAppResult.java @@ -29,6 +29,7 @@ public final class GetStaticWebAppResult { private String location; private String name; private Boolean previewEnvironmentsEnabled; + private Boolean publicNetworkAccessEnabled; private String resourceGroupName; private String skuSize; private String skuTier; @@ -69,6 +70,9 @@ public String name() { public Boolean previewEnvironmentsEnabled() { return this.previewEnvironmentsEnabled; } + public Boolean publicNetworkAccessEnabled() { + return this.publicNetworkAccessEnabled; + } public String resourceGroupName() { return this.resourceGroupName; } @@ -101,6 +105,7 @@ public static final class Builder { private String location; private String name; private Boolean previewEnvironmentsEnabled; + private Boolean publicNetworkAccessEnabled; private String resourceGroupName; private String skuSize; private String skuTier; @@ -118,6 +123,7 @@ public Builder(GetStaticWebAppResult defaults) { this.location = defaults.location; this.name = defaults.name; this.previewEnvironmentsEnabled = defaults.previewEnvironmentsEnabled; + this.publicNetworkAccessEnabled = defaults.publicNetworkAccessEnabled; this.resourceGroupName = defaults.resourceGroupName; this.skuSize = defaults.skuSize; this.skuTier = defaults.skuTier; @@ -211,6 +217,14 @@ public Builder previewEnvironmentsEnabled(Boolean previewEnvironmentsEnabled) { return this; } @CustomType.Setter + public Builder publicNetworkAccessEnabled(Boolean publicNetworkAccessEnabled) { + if (publicNetworkAccessEnabled == null) { + throw new MissingRequiredPropertyException("GetStaticWebAppResult", "publicNetworkAccessEnabled"); + } + this.publicNetworkAccessEnabled = publicNetworkAccessEnabled; + return this; + } + @CustomType.Setter public Builder resourceGroupName(String resourceGroupName) { if (resourceGroupName == null) { throw new MissingRequiredPropertyException("GetStaticWebAppResult", "resourceGroupName"); @@ -254,6 +268,7 @@ public GetStaticWebAppResult build() { _resultValue.location = location; _resultValue.name = name; _resultValue.previewEnvironmentsEnabled = previewEnvironmentsEnabled; + _resultValue.publicNetworkAccessEnabled = publicNetworkAccessEnabled; _resultValue.resourceGroupName = resourceGroupName; _resultValue.skuSize = skuSize; _resultValue.skuTier = skuTier; diff --git a/sdk/java/src/main/java/com/pulumi/azure/arcmachine/AutomanageConfigurationAssignment.java b/sdk/java/src/main/java/com/pulumi/azure/arcmachine/AutomanageConfigurationAssignment.java index 823752d9e8..15cfa96f94 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/arcmachine/AutomanageConfigurationAssignment.java +++ b/sdk/java/src/main/java/com/pulumi/azure/arcmachine/AutomanageConfigurationAssignment.java @@ -81,7 +81,7 @@ * 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 * ``` * */ diff --git a/sdk/java/src/main/java/com/pulumi/azure/compute/LinuxVirtualMachineScaleSet.java b/sdk/java/src/main/java/com/pulumi/azure/compute/LinuxVirtualMachineScaleSet.java index 04d7ba32d4..8b39f45623 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/compute/LinuxVirtualMachineScaleSet.java +++ b/sdk/java/src/main/java/com/pulumi/azure/compute/LinuxVirtualMachineScaleSet.java @@ -945,14 +945,18 @@ public Output> zoneBalance() { return Codegen.optional(this.zoneBalance); } /** - * 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. * */ @Export(name="zones", refs={List.class,String.class}, tree="[0,1]") private Output> zones; /** - * @return 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. + * @return 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 Output>> zones() { diff --git a/sdk/java/src/main/java/com/pulumi/azure/compute/LinuxVirtualMachineScaleSetArgs.java b/sdk/java/src/main/java/com/pulumi/azure/compute/LinuxVirtualMachineScaleSetArgs.java index c6bb5a7f74..8eed648352 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/compute/LinuxVirtualMachineScaleSetArgs.java +++ b/sdk/java/src/main/java/com/pulumi/azure/compute/LinuxVirtualMachineScaleSetArgs.java @@ -869,14 +869,18 @@ public Optional> zoneBalance() { } /** - * 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. * */ @Import(name="zones") private @Nullable Output> zones; /** - * @return 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. + * @return 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 Optional>> zones() { @@ -2152,7 +2156,9 @@ public Builder zoneBalance(Boolean zoneBalance) { } /** - * @param 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. + * @param zones 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. * * @return builder * @@ -2163,7 +2169,9 @@ public Builder zones(@Nullable Output> zones) { } /** - * @param 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. + * @param zones 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. * * @return builder * @@ -2173,7 +2181,9 @@ public Builder zones(List zones) { } /** - * @param 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. + * @param zones 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. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/azure/compute/OrchestratedVirtualMachineScaleSet.java b/sdk/java/src/main/java/com/pulumi/azure/compute/OrchestratedVirtualMachineScaleSet.java index 1349e1014f..a8b5746854 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/compute/OrchestratedVirtualMachineScaleSet.java +++ b/sdk/java/src/main/java/com/pulumi/azure/compute/OrchestratedVirtualMachineScaleSet.java @@ -603,7 +603,9 @@ public Output> zoneBalance() { return Codegen.optional(this.zoneBalance); } /** - * 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). * @@ -612,7 +614,9 @@ public Output> zoneBalance() { private Output> zones; /** - * @return 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. + * @return 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/java/src/main/java/com/pulumi/azure/compute/OrchestratedVirtualMachineScaleSetArgs.java b/sdk/java/src/main/java/com/pulumi/azure/compute/OrchestratedVirtualMachineScaleSetArgs.java index 55755a59cd..694ff05e89 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/compute/OrchestratedVirtualMachineScaleSetArgs.java +++ b/sdk/java/src/main/java/com/pulumi/azure/compute/OrchestratedVirtualMachineScaleSetArgs.java @@ -558,7 +558,9 @@ public Optional> zoneBalance() { } /** - * 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). * @@ -567,7 +569,9 @@ public Optional> zoneBalance() { private @Nullable Output> zones; /** - * @return 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. + * @return 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). * @@ -1385,7 +1389,9 @@ public Builder zoneBalance(Boolean zoneBalance) { } /** - * @param 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. + * @param zones 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). * @@ -1398,7 +1404,9 @@ public Builder zones(@Nullable Output> zones) { } /** - * @param 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. + * @param zones 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). * @@ -1410,7 +1418,9 @@ public Builder zones(List zones) { } /** - * @param 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. + * @param zones 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/java/src/main/java/com/pulumi/azure/compute/SharedImage.java b/sdk/java/src/main/java/com/pulumi/azure/compute/SharedImage.java index 9a63f45264..4eba26d85a 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/compute/SharedImage.java +++ b/sdk/java/src/main/java/com/pulumi/azure/compute/SharedImage.java @@ -173,6 +173,20 @@ public Output> confidentialVmSupported() { public Output> description() { return Codegen.optional(this.description); } + /** + * Specifies if the Shared Image supports NVMe disks. Changing this forces a new resource to be created. + * + */ + @Export(name="diskControllerTypeNvmeEnabled", refs={Boolean.class}, tree="[0]") + private Output diskControllerTypeNvmeEnabled; + + /** + * @return Specifies if the Shared Image supports NVMe disks. Changing this forces a new resource to be created. + * + */ + public Output> diskControllerTypeNvmeEnabled() { + return Codegen.optional(this.diskControllerTypeNvmeEnabled); + } /** * One or more Disk Types not allowed for the Image. Possible values include `Standard_LRS` and `Premium_LRS`. * diff --git a/sdk/java/src/main/java/com/pulumi/azure/compute/SharedImageArgs.java b/sdk/java/src/main/java/com/pulumi/azure/compute/SharedImageArgs.java index 45b15c2c3f..ae7c21d3b1 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/compute/SharedImageArgs.java +++ b/sdk/java/src/main/java/com/pulumi/azure/compute/SharedImageArgs.java @@ -101,6 +101,21 @@ public Optional> description() { return Optional.ofNullable(this.description); } + /** + * Specifies if the Shared Image supports NVMe disks. Changing this forces a new resource to be created. + * + */ + @Import(name="diskControllerTypeNvmeEnabled") + private @Nullable Output diskControllerTypeNvmeEnabled; + + /** + * @return Specifies if the Shared Image supports NVMe disks. Changing this forces a new resource to be created. + * + */ + public Optional> diskControllerTypeNvmeEnabled() { + return Optional.ofNullable(this.diskControllerTypeNvmeEnabled); + } + /** * One or more Disk Types not allowed for the Image. Possible values include `Standard_LRS` and `Premium_LRS`. * @@ -443,6 +458,7 @@ private SharedImageArgs(SharedImageArgs $) { this.confidentialVmEnabled = $.confidentialVmEnabled; this.confidentialVmSupported = $.confidentialVmSupported; this.description = $.description; + this.diskControllerTypeNvmeEnabled = $.diskControllerTypeNvmeEnabled; this.diskTypesNotAlloweds = $.diskTypesNotAlloweds; this.endOfLifeDate = $.endOfLifeDate; this.eula = $.eula; @@ -594,6 +610,27 @@ public Builder description(String description) { return description(Output.of(description)); } + /** + * @param diskControllerTypeNvmeEnabled Specifies if the Shared Image supports NVMe disks. Changing this forces a new resource to be created. + * + * @return builder + * + */ + public Builder diskControllerTypeNvmeEnabled(@Nullable Output diskControllerTypeNvmeEnabled) { + $.diskControllerTypeNvmeEnabled = diskControllerTypeNvmeEnabled; + return this; + } + + /** + * @param diskControllerTypeNvmeEnabled Specifies if the Shared Image supports NVMe disks. Changing this forces a new resource to be created. + * + * @return builder + * + */ + public Builder diskControllerTypeNvmeEnabled(Boolean diskControllerTypeNvmeEnabled) { + return diskControllerTypeNvmeEnabled(Output.of(diskControllerTypeNvmeEnabled)); + } + /** * @param diskTypesNotAlloweds One or more Disk Types not allowed for the Image. Possible values include `Standard_LRS` and `Premium_LRS`. * diff --git a/sdk/java/src/main/java/com/pulumi/azure/compute/WindowsVirtualMachineScaleSet.java b/sdk/java/src/main/java/com/pulumi/azure/compute/WindowsVirtualMachineScaleSet.java index 2e1ee2c9f9..2e79e0bd51 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/compute/WindowsVirtualMachineScaleSet.java +++ b/sdk/java/src/main/java/com/pulumi/azure/compute/WindowsVirtualMachineScaleSet.java @@ -968,14 +968,18 @@ public Output> zoneBalance() { return Codegen.optional(this.zoneBalance); } /** - * 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. * */ @Export(name="zones", refs={List.class,String.class}, tree="[0,1]") private Output> zones; /** - * @return 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. + * @return 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 Output>> zones() { diff --git a/sdk/java/src/main/java/com/pulumi/azure/compute/WindowsVirtualMachineScaleSetArgs.java b/sdk/java/src/main/java/com/pulumi/azure/compute/WindowsVirtualMachineScaleSetArgs.java index ee30e13627..d37d543f21 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/compute/WindowsVirtualMachineScaleSetArgs.java +++ b/sdk/java/src/main/java/com/pulumi/azure/compute/WindowsVirtualMachineScaleSetArgs.java @@ -895,14 +895,18 @@ public Optional> zoneBalance() { } /** - * 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. * */ @Import(name="zones") private @Nullable Output> zones; /** - * @return 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. + * @return 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 Optional>> zones() { @@ -2232,7 +2236,9 @@ public Builder zoneBalance(Boolean zoneBalance) { } /** - * @param 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. + * @param zones 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. * * @return builder * @@ -2243,7 +2249,9 @@ public Builder zones(@Nullable Output> zones) { } /** - * @param 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. + * @param zones 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. * * @return builder * @@ -2253,7 +2261,9 @@ public Builder zones(List zones) { } /** - * @param 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. + * @param zones 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. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/azure/compute/inputs/LinuxVirtualMachineScaleSetState.java b/sdk/java/src/main/java/com/pulumi/azure/compute/inputs/LinuxVirtualMachineScaleSetState.java index 2f82ebb8bd..5256eab2d8 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/compute/inputs/LinuxVirtualMachineScaleSetState.java +++ b/sdk/java/src/main/java/com/pulumi/azure/compute/inputs/LinuxVirtualMachineScaleSetState.java @@ -883,14 +883,18 @@ public Optional> zoneBalance() { } /** - * 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. * */ @Import(name="zones") private @Nullable Output> zones; /** - * @return 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. + * @return 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 Optional>> zones() { @@ -2188,7 +2192,9 @@ public Builder zoneBalance(Boolean zoneBalance) { } /** - * @param 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. + * @param zones 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. * * @return builder * @@ -2199,7 +2205,9 @@ public Builder zones(@Nullable Output> zones) { } /** - * @param 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. + * @param zones 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. * * @return builder * @@ -2209,7 +2217,9 @@ public Builder zones(List zones) { } /** - * @param 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. + * @param zones 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. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/azure/compute/inputs/OrchestratedVirtualMachineScaleSetState.java b/sdk/java/src/main/java/com/pulumi/azure/compute/inputs/OrchestratedVirtualMachineScaleSetState.java index 9842e78d6b..996df390fd 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/compute/inputs/OrchestratedVirtualMachineScaleSetState.java +++ b/sdk/java/src/main/java/com/pulumi/azure/compute/inputs/OrchestratedVirtualMachineScaleSetState.java @@ -572,7 +572,9 @@ public Optional> zoneBalance() { } /** - * 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). * @@ -581,7 +583,9 @@ public Optional> zoneBalance() { private @Nullable Output> zones; /** - * @return 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. + * @return 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). * @@ -1421,7 +1425,9 @@ public Builder zoneBalance(Boolean zoneBalance) { } /** - * @param 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. + * @param zones 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). * @@ -1434,7 +1440,9 @@ public Builder zones(@Nullable Output> zones) { } /** - * @param 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. + * @param zones 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). * @@ -1446,7 +1454,9 @@ public Builder zones(List zones) { } /** - * @param 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. + * @param zones 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/java/src/main/java/com/pulumi/azure/compute/inputs/SharedImageState.java b/sdk/java/src/main/java/com/pulumi/azure/compute/inputs/SharedImageState.java index 00c76c80f9..155cfedb21 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/compute/inputs/SharedImageState.java +++ b/sdk/java/src/main/java/com/pulumi/azure/compute/inputs/SharedImageState.java @@ -100,6 +100,21 @@ public Optional> description() { return Optional.ofNullable(this.description); } + /** + * Specifies if the Shared Image supports NVMe disks. Changing this forces a new resource to be created. + * + */ + @Import(name="diskControllerTypeNvmeEnabled") + private @Nullable Output diskControllerTypeNvmeEnabled; + + /** + * @return Specifies if the Shared Image supports NVMe disks. Changing this forces a new resource to be created. + * + */ + public Optional> diskControllerTypeNvmeEnabled() { + return Optional.ofNullable(this.diskControllerTypeNvmeEnabled); + } + /** * One or more Disk Types not allowed for the Image. Possible values include `Standard_LRS` and `Premium_LRS`. * @@ -442,6 +457,7 @@ private SharedImageState(SharedImageState $) { this.confidentialVmEnabled = $.confidentialVmEnabled; this.confidentialVmSupported = $.confidentialVmSupported; this.description = $.description; + this.diskControllerTypeNvmeEnabled = $.diskControllerTypeNvmeEnabled; this.diskTypesNotAlloweds = $.diskTypesNotAlloweds; this.endOfLifeDate = $.endOfLifeDate; this.eula = $.eula; @@ -593,6 +609,27 @@ public Builder description(String description) { return description(Output.of(description)); } + /** + * @param diskControllerTypeNvmeEnabled Specifies if the Shared Image supports NVMe disks. Changing this forces a new resource to be created. + * + * @return builder + * + */ + public Builder diskControllerTypeNvmeEnabled(@Nullable Output diskControllerTypeNvmeEnabled) { + $.diskControllerTypeNvmeEnabled = diskControllerTypeNvmeEnabled; + return this; + } + + /** + * @param diskControllerTypeNvmeEnabled Specifies if the Shared Image supports NVMe disks. Changing this forces a new resource to be created. + * + * @return builder + * + */ + public Builder diskControllerTypeNvmeEnabled(Boolean diskControllerTypeNvmeEnabled) { + return diskControllerTypeNvmeEnabled(Output.of(diskControllerTypeNvmeEnabled)); + } + /** * @param diskTypesNotAlloweds One or more Disk Types not allowed for the Image. Possible values include `Standard_LRS` and `Premium_LRS`. * diff --git a/sdk/java/src/main/java/com/pulumi/azure/compute/inputs/WindowsVirtualMachineScaleSetState.java b/sdk/java/src/main/java/com/pulumi/azure/compute/inputs/WindowsVirtualMachineScaleSetState.java index 0e6e6d05c3..a673034441 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/compute/inputs/WindowsVirtualMachineScaleSetState.java +++ b/sdk/java/src/main/java/com/pulumi/azure/compute/inputs/WindowsVirtualMachineScaleSetState.java @@ -909,14 +909,18 @@ public Optional> zoneBalance() { } /** - * 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. * */ @Import(name="zones") private @Nullable Output> zones; /** - * @return 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. + * @return 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 Optional>> zones() { @@ -2268,7 +2272,9 @@ public Builder zoneBalance(Boolean zoneBalance) { } /** - * @param 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. + * @param zones 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. * * @return builder * @@ -2279,7 +2285,9 @@ public Builder zones(@Nullable Output> zones) { } /** - * @param 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. + * @param zones 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. * * @return builder * @@ -2289,7 +2297,9 @@ public Builder zones(List zones) { } /** - * @param 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. + * @param zones 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. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/azure/containerapp/CustomDomain.java b/sdk/java/src/main/java/com/pulumi/azure/containerapp/CustomDomain.java index 816e92c612..225f75287b 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/containerapp/CustomDomain.java +++ b/sdk/java/src/main/java/com/pulumi/azure/containerapp/CustomDomain.java @@ -104,6 +104,20 @@ public Output> certificateBindingType() { public Output> containerAppEnvironmentCertificateId() { return Codegen.optional(this.containerAppEnvironmentCertificateId); } + /** + * The ID of the Container App Environment Managed Certificate to use. + * + */ + @Export(name="containerAppEnvironmentManagedCertificateId", refs={String.class}, tree="[0]") + private Output containerAppEnvironmentManagedCertificateId; + + /** + * @return The ID of the Container App Environment Managed Certificate to use. + * + */ + public Output containerAppEnvironmentManagedCertificateId() { + return this.containerAppEnvironmentManagedCertificateId; + } /** * 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/java/src/main/java/com/pulumi/azure/containerapp/inputs/AppIngressTrafficWeightArgs.java b/sdk/java/src/main/java/com/pulumi/azure/containerapp/inputs/AppIngressTrafficWeightArgs.java index 93780ef5bb..975fd0399e 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/containerapp/inputs/AppIngressTrafficWeightArgs.java +++ b/sdk/java/src/main/java/com/pulumi/azure/containerapp/inputs/AppIngressTrafficWeightArgs.java @@ -70,7 +70,7 @@ public Output percentage() { /** * 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. * */ @Import(name="revisionSuffix") @@ -79,7 +79,7 @@ public Output percentage() { /** * @return 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 Optional> revisionSuffix() { @@ -183,7 +183,7 @@ public Builder percentage(Integer percentage) { /** * @param revisionSuffix 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. * * @return builder * @@ -196,7 +196,7 @@ public Builder revisionSuffix(@Nullable Output revisionSuffix) { /** * @param revisionSuffix 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. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/azure/containerapp/inputs/CustomDomainState.java b/sdk/java/src/main/java/com/pulumi/azure/containerapp/inputs/CustomDomainState.java index f6743a6383..c3b3c6d7b5 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/containerapp/inputs/CustomDomainState.java +++ b/sdk/java/src/main/java/com/pulumi/azure/containerapp/inputs/CustomDomainState.java @@ -49,6 +49,21 @@ public Optional> containerAppEnvironmentCertificateId() { return Optional.ofNullable(this.containerAppEnvironmentCertificateId); } + /** + * The ID of the Container App Environment Managed Certificate to use. + * + */ + @Import(name="containerAppEnvironmentManagedCertificateId") + private @Nullable Output containerAppEnvironmentManagedCertificateId; + + /** + * @return The ID of the Container App Environment Managed Certificate to use. + * + */ + public Optional> containerAppEnvironmentManagedCertificateId() { + return Optional.ofNullable(this.containerAppEnvironmentManagedCertificateId); + } + /** * The ID of the Container App to which this Custom Domain should be bound. Changing this forces a new resource to be created. * @@ -88,6 +103,7 @@ private CustomDomainState() {} private CustomDomainState(CustomDomainState $) { this.certificateBindingType = $.certificateBindingType; this.containerAppEnvironmentCertificateId = $.containerAppEnvironmentCertificateId; + this.containerAppEnvironmentManagedCertificateId = $.containerAppEnvironmentManagedCertificateId; this.containerAppId = $.containerAppId; this.name = $.name; } @@ -156,6 +172,27 @@ public Builder containerAppEnvironmentCertificateId(String containerAppEnvironme return containerAppEnvironmentCertificateId(Output.of(containerAppEnvironmentCertificateId)); } + /** + * @param containerAppEnvironmentManagedCertificateId The ID of the Container App Environment Managed Certificate to use. + * + * @return builder + * + */ + public Builder containerAppEnvironmentManagedCertificateId(@Nullable Output containerAppEnvironmentManagedCertificateId) { + $.containerAppEnvironmentManagedCertificateId = containerAppEnvironmentManagedCertificateId; + return this; + } + + /** + * @param containerAppEnvironmentManagedCertificateId The ID of the Container App Environment Managed Certificate to use. + * + * @return builder + * + */ + public Builder containerAppEnvironmentManagedCertificateId(String containerAppEnvironmentManagedCertificateId) { + return containerAppEnvironmentManagedCertificateId(Output.of(containerAppEnvironmentManagedCertificateId)); + } + /** * @param containerAppId 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/java/src/main/java/com/pulumi/azure/containerapp/outputs/AppIngressTrafficWeight.java b/sdk/java/src/main/java/com/pulumi/azure/containerapp/outputs/AppIngressTrafficWeight.java index ee2bb4f941..91d6cf8e30 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/containerapp/outputs/AppIngressTrafficWeight.java +++ b/sdk/java/src/main/java/com/pulumi/azure/containerapp/outputs/AppIngressTrafficWeight.java @@ -34,7 +34,7 @@ public final class AppIngressTrafficWeight { /** * @return 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. * */ private @Nullable String revisionSuffix; @@ -66,7 +66,7 @@ public Integer percentage() { /** * @return 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 Optional revisionSuffix() { diff --git a/sdk/java/src/main/java/com/pulumi/azure/containerservice/Registry.java b/sdk/java/src/main/java/com/pulumi/azure/containerservice/Registry.java index bbfe8baf99..7ffc75430e 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/containerservice/Registry.java +++ b/sdk/java/src/main/java/com/pulumi/azure/containerservice/Registry.java @@ -342,7 +342,7 @@ public Output> exportPolicyEnabled() { return Codegen.optional(this.exportPolicyEnabled); } /** - * 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. * @@ -355,7 +355,7 @@ public Output> exportPolicyEnabled() { private Output> georeplications; /** - * @return A `georeplications` block as documented below. + * @return 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/java/src/main/java/com/pulumi/azure/containerservice/RegistryArgs.java b/sdk/java/src/main/java/com/pulumi/azure/containerservice/RegistryArgs.java index 9f50e65f0f..7379fdf62e 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/containerservice/RegistryArgs.java +++ b/sdk/java/src/main/java/com/pulumi/azure/containerservice/RegistryArgs.java @@ -104,7 +104,7 @@ public Optional> exportPolicyEnabled() { } /** - * 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. * @@ -117,7 +117,7 @@ public Optional> exportPolicyEnabled() { private @Nullable Output> georeplications; /** - * @return A `georeplications` block as documented below. + * @return One or more `georeplications` blocks as documented below. * * > **NOTE:** The `georeplications` is only supported on new resources with the `Premium` SKU. * @@ -477,7 +477,7 @@ public Builder exportPolicyEnabled(Boolean exportPolicyEnabled) { } /** - * @param georeplications A `georeplications` block as documented below. + * @param georeplications One or more `georeplications` blocks as documented below. * * > **NOTE:** The `georeplications` is only supported on new resources with the `Premium` SKU. * @@ -494,7 +494,7 @@ public Builder georeplications(@Nullable Output } /** - * @param georeplications A `georeplications` block as documented below. + * @param georeplications One or more `georeplications` blocks as documented below. * * > **NOTE:** The `georeplications` is only supported on new resources with the `Premium` SKU. * @@ -510,7 +510,7 @@ public Builder georeplications(List georeplications) } /** - * @param georeplications A `georeplications` block as documented below. + * @param georeplications 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/java/src/main/java/com/pulumi/azure/containerservice/inputs/RegistryState.java b/sdk/java/src/main/java/com/pulumi/azure/containerservice/inputs/RegistryState.java index 5fbfbf04d0..c7a6084c3f 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/containerservice/inputs/RegistryState.java +++ b/sdk/java/src/main/java/com/pulumi/azure/containerservice/inputs/RegistryState.java @@ -133,7 +133,7 @@ public Optional> exportPolicyEnabled() { } /** - * 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. * @@ -146,7 +146,7 @@ public Optional> exportPolicyEnabled() { private @Nullable Output> georeplications; /** - * @return A `georeplications` block as documented below. + * @return One or more `georeplications` blocks as documented below. * * > **NOTE:** The `georeplications` is only supported on new resources with the `Premium` SKU. * @@ -566,7 +566,7 @@ public Builder exportPolicyEnabled(Boolean exportPolicyEnabled) { } /** - * @param georeplications A `georeplications` block as documented below. + * @param georeplications One or more `georeplications` blocks as documented below. * * > **NOTE:** The `georeplications` is only supported on new resources with the `Premium` SKU. * @@ -583,7 +583,7 @@ public Builder georeplications(@Nullable Output } /** - * @param georeplications A `georeplications` block as documented below. + * @param georeplications One or more `georeplications` blocks as documented below. * * > **NOTE:** The `georeplications` is only supported on new resources with the `Premium` SKU. * @@ -599,7 +599,7 @@ public Builder georeplications(List georeplications) } /** - * @param georeplications A `georeplications` block as documented below. + * @param georeplications 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/java/src/main/java/com/pulumi/azure/dataprotection/BackupPolicyMysqlFlexibleServer.java b/sdk/java/src/main/java/com/pulumi/azure/dataprotection/BackupPolicyMysqlFlexibleServer.java new file mode 100644 index 0000000000..bd3b86ea93 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/azure/dataprotection/BackupPolicyMysqlFlexibleServer.java @@ -0,0 +1,281 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.azure.dataprotection; + +import com.pulumi.azure.Utilities; +import com.pulumi.azure.dataprotection.BackupPolicyMysqlFlexibleServerArgs; +import com.pulumi.azure.dataprotection.inputs.BackupPolicyMysqlFlexibleServerState; +import com.pulumi.azure.dataprotection.outputs.BackupPolicyMysqlFlexibleServerDefaultRetentionRule; +import com.pulumi.azure.dataprotection.outputs.BackupPolicyMysqlFlexibleServerRetentionRule; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Export; +import com.pulumi.core.annotations.ResourceType; +import com.pulumi.core.internal.Codegen; +import java.lang.String; +import java.util.List; +import java.util.Optional; +import javax.annotation.Nullable; + +/** + * Manages a Backup Policy to back up MySQL Flexible Server. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+ * {@code
+ * package generated_program;
+ * 
+ * import com.pulumi.Context;
+ * import com.pulumi.Pulumi;
+ * import com.pulumi.core.Output;
+ * import com.pulumi.azure.core.ResourceGroup;
+ * import com.pulumi.azure.core.ResourceGroupArgs;
+ * import com.pulumi.azure.dataprotection.BackupVault;
+ * import com.pulumi.azure.dataprotection.BackupVaultArgs;
+ * import com.pulumi.azure.dataprotection.inputs.BackupVaultIdentityArgs;
+ * import com.pulumi.azure.dataprotection.BackupPolicyMysqlFlexibleServer;
+ * import com.pulumi.azure.dataprotection.BackupPolicyMysqlFlexibleServerArgs;
+ * import com.pulumi.azure.dataprotection.inputs.BackupPolicyMysqlFlexibleServerDefaultRetentionRuleArgs;
+ * import com.pulumi.azure.dataprotection.inputs.BackupPolicyMysqlFlexibleServerRetentionRuleArgs;
+ * import com.pulumi.azure.dataprotection.inputs.BackupPolicyMysqlFlexibleServerRetentionRuleCriteriaArgs;
+ * import java.util.List;
+ * import java.util.ArrayList;
+ * import java.util.Map;
+ * import java.io.File;
+ * import java.nio.file.Files;
+ * import java.nio.file.Paths;
+ * 
+ * public class App {
+ *     public static void main(String[] args) {
+ *         Pulumi.run(App::stack);
+ *     }
+ * 
+ *     public static void stack(Context ctx) {
+ *         var example = new ResourceGroup("example", ResourceGroupArgs.builder()
+ *             .name("example-resources")
+ *             .location("West Europe")
+ *             .build());
+ * 
+ *         var exampleBackupVault = new BackupVault("exampleBackupVault", BackupVaultArgs.builder()
+ *             .name("example-backup-vault")
+ *             .resourceGroupName(example.name())
+ *             .location(example.location())
+ *             .datastoreType("VaultStore")
+ *             .redundancy("LocallyRedundant")
+ *             .identity(BackupVaultIdentityArgs.builder()
+ *                 .type("SystemAssigned")
+ *                 .build())
+ *             .build());
+ * 
+ *         var exampleBackupPolicyMysqlFlexibleServer = new BackupPolicyMysqlFlexibleServer("exampleBackupPolicyMysqlFlexibleServer", BackupPolicyMysqlFlexibleServerArgs.builder()
+ *             .name("example-backup-policy")
+ *             .vaultId(exampleBackupVault.id())
+ *             .backupRepeatingTimeIntervals("R/2021-05-23T02:30:00+00:00/P1W")
+ *             .timeZone("India Standard Time")
+ *             .defaultRetentionRule(BackupPolicyMysqlFlexibleServerDefaultRetentionRuleArgs.builder()
+ *                 .lifeCycles(BackupPolicyMysqlFlexibleServerDefaultRetentionRuleLifeCycleArgs.builder()
+ *                     .duration("P4M")
+ *                     .dataStoreType("VaultStore")
+ *                     .build())
+ *                 .build())
+ *             .retentionRules(            
+ *                 BackupPolicyMysqlFlexibleServerRetentionRuleArgs.builder()
+ *                     .name("weekly")
+ *                     .lifeCycles(BackupPolicyMysqlFlexibleServerRetentionRuleLifeCycleArgs.builder()
+ *                         .duration("P6M")
+ *                         .dataStoreType("VaultStore")
+ *                         .build())
+ *                     .priority(20)
+ *                     .criteria(BackupPolicyMysqlFlexibleServerRetentionRuleCriteriaArgs.builder()
+ *                         .absoluteCriteria("FirstOfWeek")
+ *                         .build())
+ *                     .build(),
+ *                 BackupPolicyMysqlFlexibleServerRetentionRuleArgs.builder()
+ *                     .name("thursday")
+ *                     .lifeCycles(BackupPolicyMysqlFlexibleServerRetentionRuleLifeCycleArgs.builder()
+ *                         .duration("P1W")
+ *                         .dataStoreType("VaultStore")
+ *                         .build())
+ *                     .priority(25)
+ *                     .criteria(BackupPolicyMysqlFlexibleServerRetentionRuleCriteriaArgs.builder()
+ *                         .daysOfWeeks("Thursday")
+ *                         .scheduledBackupTimes("2021-05-23T02:30:00Z")
+ *                         .build())
+ *                     .build(),
+ *                 BackupPolicyMysqlFlexibleServerRetentionRuleArgs.builder()
+ *                     .name("monthly")
+ *                     .lifeCycles(BackupPolicyMysqlFlexibleServerRetentionRuleLifeCycleArgs.builder()
+ *                         .duration("P1D")
+ *                         .dataStoreType("VaultStore")
+ *                         .build())
+ *                     .priority(15)
+ *                     .criteria(BackupPolicyMysqlFlexibleServerRetentionRuleCriteriaArgs.builder()
+ *                         .weeksOfMonths(                        
+ *                             "First",
+ *                             "Last")
+ *                         .daysOfWeeks("Tuesday")
+ *                         .scheduledBackupTimes("2021-05-23T02:30:00Z")
+ *                         .build())
+ *                     .build())
+ *             .build());
+ * 
+ *     }
+ * }
+ * }
+ * 
+ * <!--End PulumiCodeChooser --> + * + * ## 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 + * ``` + * + */ +@ResourceType(type="azure:dataprotection/backupPolicyMysqlFlexibleServer:BackupPolicyMysqlFlexibleServer") +public class BackupPolicyMysqlFlexibleServer extends com.pulumi.resources.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. + * + */ + @Export(name="backupRepeatingTimeIntervals", refs={List.class,String.class}, tree="[0,1]") + private Output> backupRepeatingTimeIntervals; + + /** + * @return 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 Output> backupRepeatingTimeIntervals() { + return this.backupRepeatingTimeIntervals; + } + /** + * A `default_retention_rule` block as defined below. Changing this forces a new resource to be created. + * + */ + @Export(name="defaultRetentionRule", refs={BackupPolicyMysqlFlexibleServerDefaultRetentionRule.class}, tree="[0]") + private Output defaultRetentionRule; + + /** + * @return A `default_retention_rule` block as defined below. Changing this forces a new resource to be created. + * + */ + public Output defaultRetentionRule() { + return this.defaultRetentionRule; + } + /** + * Specifies the name of the Backup Policy for the MySQL Flexible Server. Changing this forces a new resource to be created. + * + */ + @Export(name="name", refs={String.class}, tree="[0]") + private Output name; + + /** + * @return Specifies the name of the Backup Policy for the MySQL Flexible Server. Changing this forces a new resource to be created. + * + */ + public Output name() { + return this.name; + } + /** + * One or more `retention_rule` blocks as defined below. Changing this forces a new resource to be created. + * + */ + @Export(name="retentionRules", refs={List.class,BackupPolicyMysqlFlexibleServerRetentionRule.class}, tree="[0,1]") + private Output> retentionRules; + + /** + * @return One or more `retention_rule` blocks as defined below. Changing this forces a new resource to be created. + * + */ + public Output>> retentionRules() { + return Codegen.optional(this.retentionRules); + } + /** + * Specifies the Time Zone which should be used by the backup schedule. Changing this forces a new resource to be created. + * + */ + @Export(name="timeZone", refs={String.class}, tree="[0]") + private Output timeZone; + + /** + * @return Specifies the Time Zone which should be used by the backup schedule. Changing this forces a new resource to be created. + * + */ + public Output> timeZone() { + return Codegen.optional(this.timeZone); + } + /** + * The ID of the Backup Vault where the Backup Policy MySQL Flexible Server should exist. Changing this forces a new resource to be created. + * + */ + @Export(name="vaultId", refs={String.class}, tree="[0]") + private Output vaultId; + + /** + * @return The ID of the Backup Vault where the Backup Policy MySQL Flexible Server should exist. Changing this forces a new resource to be created. + * + */ + public Output vaultId() { + return this.vaultId; + } + + /** + * + * @param name The _unique_ name of the resulting resource. + */ + public BackupPolicyMysqlFlexibleServer(java.lang.String name) { + this(name, BackupPolicyMysqlFlexibleServerArgs.Empty); + } + /** + * + * @param name The _unique_ name of the resulting resource. + * @param args The arguments to use to populate this resource's properties. + */ + public BackupPolicyMysqlFlexibleServer(java.lang.String name, BackupPolicyMysqlFlexibleServerArgs args) { + this(name, args, null); + } + /** + * + * @param name The _unique_ name of the resulting resource. + * @param args The arguments to use to populate this resource's properties. + * @param options A bag of options that control this resource's behavior. + */ + public BackupPolicyMysqlFlexibleServer(java.lang.String name, BackupPolicyMysqlFlexibleServerArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("azure:dataprotection/backupPolicyMysqlFlexibleServer:BackupPolicyMysqlFlexibleServer", name, makeArgs(args, options), makeResourceOptions(options, Codegen.empty()), false); + } + + private BackupPolicyMysqlFlexibleServer(java.lang.String name, Output id, @Nullable BackupPolicyMysqlFlexibleServerState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("azure:dataprotection/backupPolicyMysqlFlexibleServer:BackupPolicyMysqlFlexibleServer", name, state, makeResourceOptions(options, id), false); + } + + private static BackupPolicyMysqlFlexibleServerArgs makeArgs(BackupPolicyMysqlFlexibleServerArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + if (options != null && options.getUrn().isPresent()) { + return null; + } + return args == null ? BackupPolicyMysqlFlexibleServerArgs.Empty : args; + } + + private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { + var defaultOptions = com.pulumi.resources.CustomResourceOptions.builder() + .version(Utilities.getVersion()) + .build(); + return com.pulumi.resources.CustomResourceOptions.merge(defaultOptions, options, id); + } + + /** + * Get an existing Host resource's state with the given name, ID, and optional extra + * properties used to qualify the lookup. + * + * @param name The _unique_ name of the resulting resource. + * @param id The _unique_ provider ID of the resource to lookup. + * @param state + * @param options Optional settings to control the behavior of the CustomResource. + */ + public static BackupPolicyMysqlFlexibleServer get(java.lang.String name, Output id, @Nullable BackupPolicyMysqlFlexibleServerState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + return new BackupPolicyMysqlFlexibleServer(name, id, state, options); + } +} diff --git a/sdk/java/src/main/java/com/pulumi/azure/dataprotection/BackupPolicyMysqlFlexibleServerArgs.java b/sdk/java/src/main/java/com/pulumi/azure/dataprotection/BackupPolicyMysqlFlexibleServerArgs.java new file mode 100644 index 0000000000..7c1930c52a --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/azure/dataprotection/BackupPolicyMysqlFlexibleServerArgs.java @@ -0,0 +1,301 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.azure.dataprotection; + +import com.pulumi.azure.dataprotection.inputs.BackupPolicyMysqlFlexibleServerDefaultRetentionRuleArgs; +import com.pulumi.azure.dataprotection.inputs.BackupPolicyMysqlFlexibleServerRetentionRuleArgs; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class BackupPolicyMysqlFlexibleServerArgs extends com.pulumi.resources.ResourceArgs { + + public static final BackupPolicyMysqlFlexibleServerArgs Empty = new BackupPolicyMysqlFlexibleServerArgs(); + + /** + * 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. + * + */ + @Import(name="backupRepeatingTimeIntervals", required=true) + private Output> backupRepeatingTimeIntervals; + + /** + * @return 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 Output> backupRepeatingTimeIntervals() { + return this.backupRepeatingTimeIntervals; + } + + /** + * A `default_retention_rule` block as defined below. Changing this forces a new resource to be created. + * + */ + @Import(name="defaultRetentionRule", required=true) + private Output defaultRetentionRule; + + /** + * @return A `default_retention_rule` block as defined below. Changing this forces a new resource to be created. + * + */ + public Output defaultRetentionRule() { + return this.defaultRetentionRule; + } + + /** + * Specifies the name of the Backup Policy for the MySQL Flexible Server. Changing this forces a new resource to be created. + * + */ + @Import(name="name") + private @Nullable Output name; + + /** + * @return Specifies the name of the Backup Policy for the MySQL Flexible Server. Changing this forces a new resource to be created. + * + */ + public Optional> name() { + return Optional.ofNullable(this.name); + } + + /** + * One or more `retention_rule` blocks as defined below. Changing this forces a new resource to be created. + * + */ + @Import(name="retentionRules") + private @Nullable Output> retentionRules; + + /** + * @return One or more `retention_rule` blocks as defined below. Changing this forces a new resource to be created. + * + */ + public Optional>> retentionRules() { + return Optional.ofNullable(this.retentionRules); + } + + /** + * Specifies the Time Zone which should be used by the backup schedule. Changing this forces a new resource to be created. + * + */ + @Import(name="timeZone") + private @Nullable Output timeZone; + + /** + * @return Specifies the Time Zone which should be used by the backup schedule. Changing this forces a new resource to be created. + * + */ + public Optional> timeZone() { + return Optional.ofNullable(this.timeZone); + } + + /** + * The ID of the Backup Vault where the Backup Policy MySQL Flexible Server should exist. Changing this forces a new resource to be created. + * + */ + @Import(name="vaultId", required=true) + private Output vaultId; + + /** + * @return The ID of the Backup Vault where the Backup Policy MySQL Flexible Server should exist. Changing this forces a new resource to be created. + * + */ + public Output vaultId() { + return this.vaultId; + } + + private BackupPolicyMysqlFlexibleServerArgs() {} + + private BackupPolicyMysqlFlexibleServerArgs(BackupPolicyMysqlFlexibleServerArgs $) { + this.backupRepeatingTimeIntervals = $.backupRepeatingTimeIntervals; + this.defaultRetentionRule = $.defaultRetentionRule; + this.name = $.name; + this.retentionRules = $.retentionRules; + this.timeZone = $.timeZone; + this.vaultId = $.vaultId; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(BackupPolicyMysqlFlexibleServerArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private BackupPolicyMysqlFlexibleServerArgs $; + + public Builder() { + $ = new BackupPolicyMysqlFlexibleServerArgs(); + } + + public Builder(BackupPolicyMysqlFlexibleServerArgs defaults) { + $ = new BackupPolicyMysqlFlexibleServerArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param 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. + * + * @return builder + * + */ + public Builder backupRepeatingTimeIntervals(Output> backupRepeatingTimeIntervals) { + $.backupRepeatingTimeIntervals = backupRepeatingTimeIntervals; + return this; + } + + /** + * @param 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. + * + * @return builder + * + */ + public Builder backupRepeatingTimeIntervals(List backupRepeatingTimeIntervals) { + return backupRepeatingTimeIntervals(Output.of(backupRepeatingTimeIntervals)); + } + + /** + * @param 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. + * + * @return builder + * + */ + public Builder backupRepeatingTimeIntervals(String... backupRepeatingTimeIntervals) { + return backupRepeatingTimeIntervals(List.of(backupRepeatingTimeIntervals)); + } + + /** + * @param defaultRetentionRule A `default_retention_rule` block as defined below. Changing this forces a new resource to be created. + * + * @return builder + * + */ + public Builder defaultRetentionRule(Output defaultRetentionRule) { + $.defaultRetentionRule = defaultRetentionRule; + return this; + } + + /** + * @param defaultRetentionRule A `default_retention_rule` block as defined below. Changing this forces a new resource to be created. + * + * @return builder + * + */ + public Builder defaultRetentionRule(BackupPolicyMysqlFlexibleServerDefaultRetentionRuleArgs defaultRetentionRule) { + return defaultRetentionRule(Output.of(defaultRetentionRule)); + } + + /** + * @param name Specifies the name of the Backup Policy for the MySQL Flexible Server. Changing this forces a new resource to be created. + * + * @return builder + * + */ + public Builder name(@Nullable Output name) { + $.name = name; + return this; + } + + /** + * @param name Specifies the name of the Backup Policy for the MySQL Flexible Server. Changing this forces a new resource to be created. + * + * @return builder + * + */ + public Builder name(String name) { + return name(Output.of(name)); + } + + /** + * @param retentionRules One or more `retention_rule` blocks as defined below. Changing this forces a new resource to be created. + * + * @return builder + * + */ + public Builder retentionRules(@Nullable Output> retentionRules) { + $.retentionRules = retentionRules; + return this; + } + + /** + * @param retentionRules One or more `retention_rule` blocks as defined below. Changing this forces a new resource to be created. + * + * @return builder + * + */ + public Builder retentionRules(List retentionRules) { + return retentionRules(Output.of(retentionRules)); + } + + /** + * @param retentionRules One or more `retention_rule` blocks as defined below. Changing this forces a new resource to be created. + * + * @return builder + * + */ + public Builder retentionRules(BackupPolicyMysqlFlexibleServerRetentionRuleArgs... retentionRules) { + return retentionRules(List.of(retentionRules)); + } + + /** + * @param timeZone Specifies the Time Zone which should be used by the backup schedule. Changing this forces a new resource to be created. + * + * @return builder + * + */ + public Builder timeZone(@Nullable Output timeZone) { + $.timeZone = timeZone; + return this; + } + + /** + * @param timeZone Specifies the Time Zone which should be used by the backup schedule. Changing this forces a new resource to be created. + * + * @return builder + * + */ + public Builder timeZone(String timeZone) { + return timeZone(Output.of(timeZone)); + } + + /** + * @param vaultId The ID of the Backup Vault where the Backup Policy MySQL Flexible Server should exist. Changing this forces a new resource to be created. + * + * @return builder + * + */ + public Builder vaultId(Output vaultId) { + $.vaultId = vaultId; + return this; + } + + /** + * @param vaultId The ID of the Backup Vault where the Backup Policy MySQL Flexible Server should exist. Changing this forces a new resource to be created. + * + * @return builder + * + */ + public Builder vaultId(String vaultId) { + return vaultId(Output.of(vaultId)); + } + + public BackupPolicyMysqlFlexibleServerArgs build() { + if ($.backupRepeatingTimeIntervals == null) { + throw new MissingRequiredPropertyException("BackupPolicyMysqlFlexibleServerArgs", "backupRepeatingTimeIntervals"); + } + if ($.defaultRetentionRule == null) { + throw new MissingRequiredPropertyException("BackupPolicyMysqlFlexibleServerArgs", "defaultRetentionRule"); + } + if ($.vaultId == null) { + throw new MissingRequiredPropertyException("BackupPolicyMysqlFlexibleServerArgs", "vaultId"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/azure/dataprotection/inputs/BackupPolicyMysqlFlexibleServerDefaultRetentionRuleArgs.java b/sdk/java/src/main/java/com/pulumi/azure/dataprotection/inputs/BackupPolicyMysqlFlexibleServerDefaultRetentionRuleArgs.java new file mode 100644 index 0000000000..700c0c4c68 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/azure/dataprotection/inputs/BackupPolicyMysqlFlexibleServerDefaultRetentionRuleArgs.java @@ -0,0 +1,96 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.azure.dataprotection.inputs; + +import com.pulumi.azure.dataprotection.inputs.BackupPolicyMysqlFlexibleServerDefaultRetentionRuleLifeCycleArgs; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.util.List; +import java.util.Objects; + + +public final class BackupPolicyMysqlFlexibleServerDefaultRetentionRuleArgs extends com.pulumi.resources.ResourceArgs { + + public static final BackupPolicyMysqlFlexibleServerDefaultRetentionRuleArgs Empty = new BackupPolicyMysqlFlexibleServerDefaultRetentionRuleArgs(); + + /** + * A `life_cycle` block as defined below. Changing this forces a new resource to be created. + * + */ + @Import(name="lifeCycles", required=true) + private Output> lifeCycles; + + /** + * @return A `life_cycle` block as defined below. Changing this forces a new resource to be created. + * + */ + public Output> lifeCycles() { + return this.lifeCycles; + } + + private BackupPolicyMysqlFlexibleServerDefaultRetentionRuleArgs() {} + + private BackupPolicyMysqlFlexibleServerDefaultRetentionRuleArgs(BackupPolicyMysqlFlexibleServerDefaultRetentionRuleArgs $) { + this.lifeCycles = $.lifeCycles; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(BackupPolicyMysqlFlexibleServerDefaultRetentionRuleArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private BackupPolicyMysqlFlexibleServerDefaultRetentionRuleArgs $; + + public Builder() { + $ = new BackupPolicyMysqlFlexibleServerDefaultRetentionRuleArgs(); + } + + public Builder(BackupPolicyMysqlFlexibleServerDefaultRetentionRuleArgs defaults) { + $ = new BackupPolicyMysqlFlexibleServerDefaultRetentionRuleArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param lifeCycles A `life_cycle` block as defined below. Changing this forces a new resource to be created. + * + * @return builder + * + */ + public Builder lifeCycles(Output> lifeCycles) { + $.lifeCycles = lifeCycles; + return this; + } + + /** + * @param lifeCycles A `life_cycle` block as defined below. Changing this forces a new resource to be created. + * + * @return builder + * + */ + public Builder lifeCycles(List lifeCycles) { + return lifeCycles(Output.of(lifeCycles)); + } + + /** + * @param lifeCycles A `life_cycle` block as defined below. Changing this forces a new resource to be created. + * + * @return builder + * + */ + public Builder lifeCycles(BackupPolicyMysqlFlexibleServerDefaultRetentionRuleLifeCycleArgs... lifeCycles) { + return lifeCycles(List.of(lifeCycles)); + } + + public BackupPolicyMysqlFlexibleServerDefaultRetentionRuleArgs build() { + if ($.lifeCycles == null) { + throw new MissingRequiredPropertyException("BackupPolicyMysqlFlexibleServerDefaultRetentionRuleArgs", "lifeCycles"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/azure/dataprotection/inputs/BackupPolicyMysqlFlexibleServerDefaultRetentionRuleLifeCycleArgs.java b/sdk/java/src/main/java/com/pulumi/azure/dataprotection/inputs/BackupPolicyMysqlFlexibleServerDefaultRetentionRuleLifeCycleArgs.java new file mode 100644 index 0000000000..020ca9da39 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/azure/dataprotection/inputs/BackupPolicyMysqlFlexibleServerDefaultRetentionRuleLifeCycleArgs.java @@ -0,0 +1,125 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.azure.dataprotection.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.Objects; + + +public final class BackupPolicyMysqlFlexibleServerDefaultRetentionRuleLifeCycleArgs extends com.pulumi.resources.ResourceArgs { + + public static final BackupPolicyMysqlFlexibleServerDefaultRetentionRuleLifeCycleArgs Empty = new BackupPolicyMysqlFlexibleServerDefaultRetentionRuleLifeCycleArgs(); + + /** + * The type of data store. The only possible value is `VaultStore`. Changing this forces a new resource to be created. + * + */ + @Import(name="dataStoreType", required=true) + private Output dataStoreType; + + /** + * @return The type of data store. The only possible value is `VaultStore`. Changing this forces a new resource to be created. + * + */ + public Output dataStoreType() { + return this.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. + * + */ + @Import(name="duration", required=true) + private Output duration; + + /** + * @return 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 Output duration() { + return this.duration; + } + + private BackupPolicyMysqlFlexibleServerDefaultRetentionRuleLifeCycleArgs() {} + + private BackupPolicyMysqlFlexibleServerDefaultRetentionRuleLifeCycleArgs(BackupPolicyMysqlFlexibleServerDefaultRetentionRuleLifeCycleArgs $) { + this.dataStoreType = $.dataStoreType; + this.duration = $.duration; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(BackupPolicyMysqlFlexibleServerDefaultRetentionRuleLifeCycleArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private BackupPolicyMysqlFlexibleServerDefaultRetentionRuleLifeCycleArgs $; + + public Builder() { + $ = new BackupPolicyMysqlFlexibleServerDefaultRetentionRuleLifeCycleArgs(); + } + + public Builder(BackupPolicyMysqlFlexibleServerDefaultRetentionRuleLifeCycleArgs defaults) { + $ = new BackupPolicyMysqlFlexibleServerDefaultRetentionRuleLifeCycleArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param dataStoreType The type of data store. The only possible value is `VaultStore`. Changing this forces a new resource to be created. + * + * @return builder + * + */ + public Builder dataStoreType(Output dataStoreType) { + $.dataStoreType = dataStoreType; + return this; + } + + /** + * @param dataStoreType The type of data store. The only possible value is `VaultStore`. Changing this forces a new resource to be created. + * + * @return builder + * + */ + public Builder dataStoreType(String dataStoreType) { + return dataStoreType(Output.of(dataStoreType)); + } + + /** + * @param duration 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. + * + * @return builder + * + */ + public Builder duration(Output duration) { + $.duration = duration; + return this; + } + + /** + * @param duration 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. + * + * @return builder + * + */ + public Builder duration(String duration) { + return duration(Output.of(duration)); + } + + public BackupPolicyMysqlFlexibleServerDefaultRetentionRuleLifeCycleArgs build() { + if ($.dataStoreType == null) { + throw new MissingRequiredPropertyException("BackupPolicyMysqlFlexibleServerDefaultRetentionRuleLifeCycleArgs", "dataStoreType"); + } + if ($.duration == null) { + throw new MissingRequiredPropertyException("BackupPolicyMysqlFlexibleServerDefaultRetentionRuleLifeCycleArgs", "duration"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/azure/dataprotection/inputs/BackupPolicyMysqlFlexibleServerRetentionRuleArgs.java b/sdk/java/src/main/java/com/pulumi/azure/dataprotection/inputs/BackupPolicyMysqlFlexibleServerRetentionRuleArgs.java new file mode 100644 index 0000000000..b00619dea8 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/azure/dataprotection/inputs/BackupPolicyMysqlFlexibleServerRetentionRuleArgs.java @@ -0,0 +1,219 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.azure.dataprotection.inputs; + +import com.pulumi.azure.dataprotection.inputs.BackupPolicyMysqlFlexibleServerRetentionRuleCriteriaArgs; +import com.pulumi.azure.dataprotection.inputs.BackupPolicyMysqlFlexibleServerRetentionRuleLifeCycleArgs; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.Integer; +import java.lang.String; +import java.util.List; +import java.util.Objects; + + +public final class BackupPolicyMysqlFlexibleServerRetentionRuleArgs extends com.pulumi.resources.ResourceArgs { + + public static final BackupPolicyMysqlFlexibleServerRetentionRuleArgs Empty = new BackupPolicyMysqlFlexibleServerRetentionRuleArgs(); + + /** + * A `criteria` block as defined below. Changing this forces a new resource to be created. + * + */ + @Import(name="criteria", required=true) + private Output criteria; + + /** + * @return A `criteria` block as defined below. Changing this forces a new resource to be created. + * + */ + public Output criteria() { + return this.criteria; + } + + /** + * A `life_cycle` block as defined below. Changing this forces a new resource to be created. + * + */ + @Import(name="lifeCycles", required=true) + private Output> lifeCycles; + + /** + * @return A `life_cycle` block as defined below. Changing this forces a new resource to be created. + * + */ + public Output> lifeCycles() { + return this.lifeCycles; + } + + /** + * Specifies the name of the retention rule. Changing this forces a new resource to be created. + * + */ + @Import(name="name", required=true) + private Output name; + + /** + * @return Specifies the name of the retention rule. Changing this forces a new resource to be created. + * + */ + public Output name() { + return this.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. + * + */ + @Import(name="priority", required=true) + private Output priority; + + /** + * @return 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 Output priority() { + return this.priority; + } + + private BackupPolicyMysqlFlexibleServerRetentionRuleArgs() {} + + private BackupPolicyMysqlFlexibleServerRetentionRuleArgs(BackupPolicyMysqlFlexibleServerRetentionRuleArgs $) { + this.criteria = $.criteria; + this.lifeCycles = $.lifeCycles; + this.name = $.name; + this.priority = $.priority; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(BackupPolicyMysqlFlexibleServerRetentionRuleArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private BackupPolicyMysqlFlexibleServerRetentionRuleArgs $; + + public Builder() { + $ = new BackupPolicyMysqlFlexibleServerRetentionRuleArgs(); + } + + public Builder(BackupPolicyMysqlFlexibleServerRetentionRuleArgs defaults) { + $ = new BackupPolicyMysqlFlexibleServerRetentionRuleArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param criteria A `criteria` block as defined below. Changing this forces a new resource to be created. + * + * @return builder + * + */ + public Builder criteria(Output criteria) { + $.criteria = criteria; + return this; + } + + /** + * @param criteria A `criteria` block as defined below. Changing this forces a new resource to be created. + * + * @return builder + * + */ + public Builder criteria(BackupPolicyMysqlFlexibleServerRetentionRuleCriteriaArgs criteria) { + return criteria(Output.of(criteria)); + } + + /** + * @param lifeCycles A `life_cycle` block as defined below. Changing this forces a new resource to be created. + * + * @return builder + * + */ + public Builder lifeCycles(Output> lifeCycles) { + $.lifeCycles = lifeCycles; + return this; + } + + /** + * @param lifeCycles A `life_cycle` block as defined below. Changing this forces a new resource to be created. + * + * @return builder + * + */ + public Builder lifeCycles(List lifeCycles) { + return lifeCycles(Output.of(lifeCycles)); + } + + /** + * @param lifeCycles A `life_cycle` block as defined below. Changing this forces a new resource to be created. + * + * @return builder + * + */ + public Builder lifeCycles(BackupPolicyMysqlFlexibleServerRetentionRuleLifeCycleArgs... lifeCycles) { + return lifeCycles(List.of(lifeCycles)); + } + + /** + * @param name Specifies the name of the retention rule. Changing this forces a new resource to be created. + * + * @return builder + * + */ + public Builder name(Output name) { + $.name = name; + return this; + } + + /** + * @param name Specifies the name of the retention rule. Changing this forces a new resource to be created. + * + * @return builder + * + */ + public Builder name(String name) { + return name(Output.of(name)); + } + + /** + * @param priority 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. + * + * @return builder + * + */ + public Builder priority(Output priority) { + $.priority = priority; + return this; + } + + /** + * @param priority 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. + * + * @return builder + * + */ + public Builder priority(Integer priority) { + return priority(Output.of(priority)); + } + + public BackupPolicyMysqlFlexibleServerRetentionRuleArgs build() { + if ($.criteria == null) { + throw new MissingRequiredPropertyException("BackupPolicyMysqlFlexibleServerRetentionRuleArgs", "criteria"); + } + if ($.lifeCycles == null) { + throw new MissingRequiredPropertyException("BackupPolicyMysqlFlexibleServerRetentionRuleArgs", "lifeCycles"); + } + if ($.name == null) { + throw new MissingRequiredPropertyException("BackupPolicyMysqlFlexibleServerRetentionRuleArgs", "name"); + } + if ($.priority == null) { + throw new MissingRequiredPropertyException("BackupPolicyMysqlFlexibleServerRetentionRuleArgs", "priority"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/azure/dataprotection/inputs/BackupPolicyMysqlFlexibleServerRetentionRuleCriteriaArgs.java b/sdk/java/src/main/java/com/pulumi/azure/dataprotection/inputs/BackupPolicyMysqlFlexibleServerRetentionRuleCriteriaArgs.java new file mode 100644 index 0000000000..d09668f476 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/azure/dataprotection/inputs/BackupPolicyMysqlFlexibleServerRetentionRuleCriteriaArgs.java @@ -0,0 +1,272 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.azure.dataprotection.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class BackupPolicyMysqlFlexibleServerRetentionRuleCriteriaArgs extends com.pulumi.resources.ResourceArgs { + + public static final BackupPolicyMysqlFlexibleServerRetentionRuleCriteriaArgs Empty = new BackupPolicyMysqlFlexibleServerRetentionRuleCriteriaArgs(); + + /** + * 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. + * + */ + @Import(name="absoluteCriteria") + private @Nullable Output absoluteCriteria; + + /** + * @return 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 Optional> absoluteCriteria() { + return Optional.ofNullable(this.absoluteCriteria); + } + + /** + * Possible values are `Monday`, `Tuesday`, `Thursday`, `Friday`, `Saturday` and `Sunday`. Changing this forces a new resource to be created. + * + */ + @Import(name="daysOfWeeks") + private @Nullable Output> daysOfWeeks; + + /** + * @return Possible values are `Monday`, `Tuesday`, `Thursday`, `Friday`, `Saturday` and `Sunday`. Changing this forces a new resource to be created. + * + */ + public Optional>> daysOfWeeks() { + return Optional.ofNullable(this.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. + * + */ + @Import(name="monthsOfYears") + private @Nullable Output> monthsOfYears; + + /** + * @return 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 Optional>> monthsOfYears() { + return Optional.ofNullable(this.monthsOfYears); + } + + /** + * Specifies a list of backup times for backup in the `RFC3339` format. Changing this forces a new resource to be created. + * + */ + @Import(name="scheduledBackupTimes") + private @Nullable Output> scheduledBackupTimes; + + /** + * @return Specifies a list of backup times for backup in the `RFC3339` format. Changing this forces a new resource to be created. + * + */ + public Optional>> scheduledBackupTimes() { + return Optional.ofNullable(this.scheduledBackupTimes); + } + + /** + * Possible values are `First`, `Second`, `Third`, `Fourth` and `Last`. Changing this forces a new resource to be created. + * + */ + @Import(name="weeksOfMonths") + private @Nullable Output> weeksOfMonths; + + /** + * @return Possible values are `First`, `Second`, `Third`, `Fourth` and `Last`. Changing this forces a new resource to be created. + * + */ + public Optional>> weeksOfMonths() { + return Optional.ofNullable(this.weeksOfMonths); + } + + private BackupPolicyMysqlFlexibleServerRetentionRuleCriteriaArgs() {} + + private BackupPolicyMysqlFlexibleServerRetentionRuleCriteriaArgs(BackupPolicyMysqlFlexibleServerRetentionRuleCriteriaArgs $) { + this.absoluteCriteria = $.absoluteCriteria; + this.daysOfWeeks = $.daysOfWeeks; + this.monthsOfYears = $.monthsOfYears; + this.scheduledBackupTimes = $.scheduledBackupTimes; + this.weeksOfMonths = $.weeksOfMonths; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(BackupPolicyMysqlFlexibleServerRetentionRuleCriteriaArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private BackupPolicyMysqlFlexibleServerRetentionRuleCriteriaArgs $; + + public Builder() { + $ = new BackupPolicyMysqlFlexibleServerRetentionRuleCriteriaArgs(); + } + + public Builder(BackupPolicyMysqlFlexibleServerRetentionRuleCriteriaArgs defaults) { + $ = new BackupPolicyMysqlFlexibleServerRetentionRuleCriteriaArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param absoluteCriteria 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. + * + * @return builder + * + */ + public Builder absoluteCriteria(@Nullable Output absoluteCriteria) { + $.absoluteCriteria = absoluteCriteria; + return this; + } + + /** + * @param absoluteCriteria 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. + * + * @return builder + * + */ + public Builder absoluteCriteria(String absoluteCriteria) { + return absoluteCriteria(Output.of(absoluteCriteria)); + } + + /** + * @param daysOfWeeks Possible values are `Monday`, `Tuesday`, `Thursday`, `Friday`, `Saturday` and `Sunday`. Changing this forces a new resource to be created. + * + * @return builder + * + */ + public Builder daysOfWeeks(@Nullable Output> daysOfWeeks) { + $.daysOfWeeks = daysOfWeeks; + return this; + } + + /** + * @param daysOfWeeks Possible values are `Monday`, `Tuesday`, `Thursday`, `Friday`, `Saturday` and `Sunday`. Changing this forces a new resource to be created. + * + * @return builder + * + */ + public Builder daysOfWeeks(List daysOfWeeks) { + return daysOfWeeks(Output.of(daysOfWeeks)); + } + + /** + * @param daysOfWeeks Possible values are `Monday`, `Tuesday`, `Thursday`, `Friday`, `Saturday` and `Sunday`. Changing this forces a new resource to be created. + * + * @return builder + * + */ + public Builder daysOfWeeks(String... daysOfWeeks) { + return daysOfWeeks(List.of(daysOfWeeks)); + } + + /** + * @param 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. + * + * @return builder + * + */ + public Builder monthsOfYears(@Nullable Output> monthsOfYears) { + $.monthsOfYears = monthsOfYears; + return this; + } + + /** + * @param 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. + * + * @return builder + * + */ + public Builder monthsOfYears(List monthsOfYears) { + return monthsOfYears(Output.of(monthsOfYears)); + } + + /** + * @param 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. + * + * @return builder + * + */ + public Builder monthsOfYears(String... monthsOfYears) { + return monthsOfYears(List.of(monthsOfYears)); + } + + /** + * @param scheduledBackupTimes Specifies a list of backup times for backup in the `RFC3339` format. Changing this forces a new resource to be created. + * + * @return builder + * + */ + public Builder scheduledBackupTimes(@Nullable Output> scheduledBackupTimes) { + $.scheduledBackupTimes = scheduledBackupTimes; + return this; + } + + /** + * @param scheduledBackupTimes Specifies a list of backup times for backup in the `RFC3339` format. Changing this forces a new resource to be created. + * + * @return builder + * + */ + public Builder scheduledBackupTimes(List scheduledBackupTimes) { + return scheduledBackupTimes(Output.of(scheduledBackupTimes)); + } + + /** + * @param scheduledBackupTimes Specifies a list of backup times for backup in the `RFC3339` format. Changing this forces a new resource to be created. + * + * @return builder + * + */ + public Builder scheduledBackupTimes(String... scheduledBackupTimes) { + return scheduledBackupTimes(List.of(scheduledBackupTimes)); + } + + /** + * @param weeksOfMonths Possible values are `First`, `Second`, `Third`, `Fourth` and `Last`. Changing this forces a new resource to be created. + * + * @return builder + * + */ + public Builder weeksOfMonths(@Nullable Output> weeksOfMonths) { + $.weeksOfMonths = weeksOfMonths; + return this; + } + + /** + * @param weeksOfMonths Possible values are `First`, `Second`, `Third`, `Fourth` and `Last`. Changing this forces a new resource to be created. + * + * @return builder + * + */ + public Builder weeksOfMonths(List weeksOfMonths) { + return weeksOfMonths(Output.of(weeksOfMonths)); + } + + /** + * @param weeksOfMonths Possible values are `First`, `Second`, `Third`, `Fourth` and `Last`. Changing this forces a new resource to be created. + * + * @return builder + * + */ + public Builder weeksOfMonths(String... weeksOfMonths) { + return weeksOfMonths(List.of(weeksOfMonths)); + } + + public BackupPolicyMysqlFlexibleServerRetentionRuleCriteriaArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/azure/dataprotection/inputs/BackupPolicyMysqlFlexibleServerRetentionRuleLifeCycleArgs.java b/sdk/java/src/main/java/com/pulumi/azure/dataprotection/inputs/BackupPolicyMysqlFlexibleServerRetentionRuleLifeCycleArgs.java new file mode 100644 index 0000000000..344709e40d --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/azure/dataprotection/inputs/BackupPolicyMysqlFlexibleServerRetentionRuleLifeCycleArgs.java @@ -0,0 +1,125 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.azure.dataprotection.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.Objects; + + +public final class BackupPolicyMysqlFlexibleServerRetentionRuleLifeCycleArgs extends com.pulumi.resources.ResourceArgs { + + public static final BackupPolicyMysqlFlexibleServerRetentionRuleLifeCycleArgs Empty = new BackupPolicyMysqlFlexibleServerRetentionRuleLifeCycleArgs(); + + /** + * The type of data store. The only possible value is `VaultStore`. Changing this forces a new resource to be created. + * + */ + @Import(name="dataStoreType", required=true) + private Output dataStoreType; + + /** + * @return The type of data store. The only possible value is `VaultStore`. Changing this forces a new resource to be created. + * + */ + public Output dataStoreType() { + return this.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. + * + */ + @Import(name="duration", required=true) + private Output duration; + + /** + * @return 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 Output duration() { + return this.duration; + } + + private BackupPolicyMysqlFlexibleServerRetentionRuleLifeCycleArgs() {} + + private BackupPolicyMysqlFlexibleServerRetentionRuleLifeCycleArgs(BackupPolicyMysqlFlexibleServerRetentionRuleLifeCycleArgs $) { + this.dataStoreType = $.dataStoreType; + this.duration = $.duration; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(BackupPolicyMysqlFlexibleServerRetentionRuleLifeCycleArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private BackupPolicyMysqlFlexibleServerRetentionRuleLifeCycleArgs $; + + public Builder() { + $ = new BackupPolicyMysqlFlexibleServerRetentionRuleLifeCycleArgs(); + } + + public Builder(BackupPolicyMysqlFlexibleServerRetentionRuleLifeCycleArgs defaults) { + $ = new BackupPolicyMysqlFlexibleServerRetentionRuleLifeCycleArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param dataStoreType The type of data store. The only possible value is `VaultStore`. Changing this forces a new resource to be created. + * + * @return builder + * + */ + public Builder dataStoreType(Output dataStoreType) { + $.dataStoreType = dataStoreType; + return this; + } + + /** + * @param dataStoreType The type of data store. The only possible value is `VaultStore`. Changing this forces a new resource to be created. + * + * @return builder + * + */ + public Builder dataStoreType(String dataStoreType) { + return dataStoreType(Output.of(dataStoreType)); + } + + /** + * @param duration 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. + * + * @return builder + * + */ + public Builder duration(Output duration) { + $.duration = duration; + return this; + } + + /** + * @param duration 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. + * + * @return builder + * + */ + public Builder duration(String duration) { + return duration(Output.of(duration)); + } + + public BackupPolicyMysqlFlexibleServerRetentionRuleLifeCycleArgs build() { + if ($.dataStoreType == null) { + throw new MissingRequiredPropertyException("BackupPolicyMysqlFlexibleServerRetentionRuleLifeCycleArgs", "dataStoreType"); + } + if ($.duration == null) { + throw new MissingRequiredPropertyException("BackupPolicyMysqlFlexibleServerRetentionRuleLifeCycleArgs", "duration"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/azure/dataprotection/inputs/BackupPolicyMysqlFlexibleServerState.java b/sdk/java/src/main/java/com/pulumi/azure/dataprotection/inputs/BackupPolicyMysqlFlexibleServerState.java new file mode 100644 index 0000000000..f346fdb6ca --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/azure/dataprotection/inputs/BackupPolicyMysqlFlexibleServerState.java @@ -0,0 +1,291 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.azure.dataprotection.inputs; + +import com.pulumi.azure.dataprotection.inputs.BackupPolicyMysqlFlexibleServerDefaultRetentionRuleArgs; +import com.pulumi.azure.dataprotection.inputs.BackupPolicyMysqlFlexibleServerRetentionRuleArgs; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class BackupPolicyMysqlFlexibleServerState extends com.pulumi.resources.ResourceArgs { + + public static final BackupPolicyMysqlFlexibleServerState Empty = new BackupPolicyMysqlFlexibleServerState(); + + /** + * 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. + * + */ + @Import(name="backupRepeatingTimeIntervals") + private @Nullable Output> backupRepeatingTimeIntervals; + + /** + * @return 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 Optional>> backupRepeatingTimeIntervals() { + return Optional.ofNullable(this.backupRepeatingTimeIntervals); + } + + /** + * A `default_retention_rule` block as defined below. Changing this forces a new resource to be created. + * + */ + @Import(name="defaultRetentionRule") + private @Nullable Output defaultRetentionRule; + + /** + * @return A `default_retention_rule` block as defined below. Changing this forces a new resource to be created. + * + */ + public Optional> defaultRetentionRule() { + return Optional.ofNullable(this.defaultRetentionRule); + } + + /** + * Specifies the name of the Backup Policy for the MySQL Flexible Server. Changing this forces a new resource to be created. + * + */ + @Import(name="name") + private @Nullable Output name; + + /** + * @return Specifies the name of the Backup Policy for the MySQL Flexible Server. Changing this forces a new resource to be created. + * + */ + public Optional> name() { + return Optional.ofNullable(this.name); + } + + /** + * One or more `retention_rule` blocks as defined below. Changing this forces a new resource to be created. + * + */ + @Import(name="retentionRules") + private @Nullable Output> retentionRules; + + /** + * @return One or more `retention_rule` blocks as defined below. Changing this forces a new resource to be created. + * + */ + public Optional>> retentionRules() { + return Optional.ofNullable(this.retentionRules); + } + + /** + * Specifies the Time Zone which should be used by the backup schedule. Changing this forces a new resource to be created. + * + */ + @Import(name="timeZone") + private @Nullable Output timeZone; + + /** + * @return Specifies the Time Zone which should be used by the backup schedule. Changing this forces a new resource to be created. + * + */ + public Optional> timeZone() { + return Optional.ofNullable(this.timeZone); + } + + /** + * The ID of the Backup Vault where the Backup Policy MySQL Flexible Server should exist. Changing this forces a new resource to be created. + * + */ + @Import(name="vaultId") + private @Nullable Output vaultId; + + /** + * @return The ID of the Backup Vault where the Backup Policy MySQL Flexible Server should exist. Changing this forces a new resource to be created. + * + */ + public Optional> vaultId() { + return Optional.ofNullable(this.vaultId); + } + + private BackupPolicyMysqlFlexibleServerState() {} + + private BackupPolicyMysqlFlexibleServerState(BackupPolicyMysqlFlexibleServerState $) { + this.backupRepeatingTimeIntervals = $.backupRepeatingTimeIntervals; + this.defaultRetentionRule = $.defaultRetentionRule; + this.name = $.name; + this.retentionRules = $.retentionRules; + this.timeZone = $.timeZone; + this.vaultId = $.vaultId; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(BackupPolicyMysqlFlexibleServerState defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private BackupPolicyMysqlFlexibleServerState $; + + public Builder() { + $ = new BackupPolicyMysqlFlexibleServerState(); + } + + public Builder(BackupPolicyMysqlFlexibleServerState defaults) { + $ = new BackupPolicyMysqlFlexibleServerState(Objects.requireNonNull(defaults)); + } + + /** + * @param 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. + * + * @return builder + * + */ + public Builder backupRepeatingTimeIntervals(@Nullable Output> backupRepeatingTimeIntervals) { + $.backupRepeatingTimeIntervals = backupRepeatingTimeIntervals; + return this; + } + + /** + * @param 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. + * + * @return builder + * + */ + public Builder backupRepeatingTimeIntervals(List backupRepeatingTimeIntervals) { + return backupRepeatingTimeIntervals(Output.of(backupRepeatingTimeIntervals)); + } + + /** + * @param 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. + * + * @return builder + * + */ + public Builder backupRepeatingTimeIntervals(String... backupRepeatingTimeIntervals) { + return backupRepeatingTimeIntervals(List.of(backupRepeatingTimeIntervals)); + } + + /** + * @param defaultRetentionRule A `default_retention_rule` block as defined below. Changing this forces a new resource to be created. + * + * @return builder + * + */ + public Builder defaultRetentionRule(@Nullable Output defaultRetentionRule) { + $.defaultRetentionRule = defaultRetentionRule; + return this; + } + + /** + * @param defaultRetentionRule A `default_retention_rule` block as defined below. Changing this forces a new resource to be created. + * + * @return builder + * + */ + public Builder defaultRetentionRule(BackupPolicyMysqlFlexibleServerDefaultRetentionRuleArgs defaultRetentionRule) { + return defaultRetentionRule(Output.of(defaultRetentionRule)); + } + + /** + * @param name Specifies the name of the Backup Policy for the MySQL Flexible Server. Changing this forces a new resource to be created. + * + * @return builder + * + */ + public Builder name(@Nullable Output name) { + $.name = name; + return this; + } + + /** + * @param name Specifies the name of the Backup Policy for the MySQL Flexible Server. Changing this forces a new resource to be created. + * + * @return builder + * + */ + public Builder name(String name) { + return name(Output.of(name)); + } + + /** + * @param retentionRules One or more `retention_rule` blocks as defined below. Changing this forces a new resource to be created. + * + * @return builder + * + */ + public Builder retentionRules(@Nullable Output> retentionRules) { + $.retentionRules = retentionRules; + return this; + } + + /** + * @param retentionRules One or more `retention_rule` blocks as defined below. Changing this forces a new resource to be created. + * + * @return builder + * + */ + public Builder retentionRules(List retentionRules) { + return retentionRules(Output.of(retentionRules)); + } + + /** + * @param retentionRules One or more `retention_rule` blocks as defined below. Changing this forces a new resource to be created. + * + * @return builder + * + */ + public Builder retentionRules(BackupPolicyMysqlFlexibleServerRetentionRuleArgs... retentionRules) { + return retentionRules(List.of(retentionRules)); + } + + /** + * @param timeZone Specifies the Time Zone which should be used by the backup schedule. Changing this forces a new resource to be created. + * + * @return builder + * + */ + public Builder timeZone(@Nullable Output timeZone) { + $.timeZone = timeZone; + return this; + } + + /** + * @param timeZone Specifies the Time Zone which should be used by the backup schedule. Changing this forces a new resource to be created. + * + * @return builder + * + */ + public Builder timeZone(String timeZone) { + return timeZone(Output.of(timeZone)); + } + + /** + * @param vaultId The ID of the Backup Vault where the Backup Policy MySQL Flexible Server should exist. Changing this forces a new resource to be created. + * + * @return builder + * + */ + public Builder vaultId(@Nullable Output vaultId) { + $.vaultId = vaultId; + return this; + } + + /** + * @param vaultId The ID of the Backup Vault where the Backup Policy MySQL Flexible Server should exist. Changing this forces a new resource to be created. + * + * @return builder + * + */ + public Builder vaultId(String vaultId) { + return vaultId(Output.of(vaultId)); + } + + public BackupPolicyMysqlFlexibleServerState build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/azure/dataprotection/outputs/BackupPolicyMysqlFlexibleServerDefaultRetentionRule.java b/sdk/java/src/main/java/com/pulumi/azure/dataprotection/outputs/BackupPolicyMysqlFlexibleServerDefaultRetentionRule.java new file mode 100644 index 0000000000..e239ac5fe0 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/azure/dataprotection/outputs/BackupPolicyMysqlFlexibleServerDefaultRetentionRule.java @@ -0,0 +1,62 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.azure.dataprotection.outputs; + +import com.pulumi.azure.dataprotection.outputs.BackupPolicyMysqlFlexibleServerDefaultRetentionRuleLifeCycle; +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.util.List; +import java.util.Objects; + +@CustomType +public final class BackupPolicyMysqlFlexibleServerDefaultRetentionRule { + /** + * @return A `life_cycle` block as defined below. Changing this forces a new resource to be created. + * + */ + private List lifeCycles; + + private BackupPolicyMysqlFlexibleServerDefaultRetentionRule() {} + /** + * @return A `life_cycle` block as defined below. Changing this forces a new resource to be created. + * + */ + public List lifeCycles() { + return this.lifeCycles; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(BackupPolicyMysqlFlexibleServerDefaultRetentionRule defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private List lifeCycles; + public Builder() {} + public Builder(BackupPolicyMysqlFlexibleServerDefaultRetentionRule defaults) { + Objects.requireNonNull(defaults); + this.lifeCycles = defaults.lifeCycles; + } + + @CustomType.Setter + public Builder lifeCycles(List lifeCycles) { + if (lifeCycles == null) { + throw new MissingRequiredPropertyException("BackupPolicyMysqlFlexibleServerDefaultRetentionRule", "lifeCycles"); + } + this.lifeCycles = lifeCycles; + return this; + } + public Builder lifeCycles(BackupPolicyMysqlFlexibleServerDefaultRetentionRuleLifeCycle... lifeCycles) { + return lifeCycles(List.of(lifeCycles)); + } + public BackupPolicyMysqlFlexibleServerDefaultRetentionRule build() { + final var _resultValue = new BackupPolicyMysqlFlexibleServerDefaultRetentionRule(); + _resultValue.lifeCycles = lifeCycles; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/azure/dataprotection/outputs/BackupPolicyMysqlFlexibleServerDefaultRetentionRuleLifeCycle.java b/sdk/java/src/main/java/com/pulumi/azure/dataprotection/outputs/BackupPolicyMysqlFlexibleServerDefaultRetentionRuleLifeCycle.java new file mode 100644 index 0000000000..566dab2d78 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/azure/dataprotection/outputs/BackupPolicyMysqlFlexibleServerDefaultRetentionRuleLifeCycle.java @@ -0,0 +1,81 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.azure.dataprotection.outputs; + +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class BackupPolicyMysqlFlexibleServerDefaultRetentionRuleLifeCycle { + /** + * @return The type of data store. The only possible value is `VaultStore`. Changing this forces a new resource to be created. + * + */ + private String dataStoreType; + /** + * @return 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. + * + */ + private String duration; + + private BackupPolicyMysqlFlexibleServerDefaultRetentionRuleLifeCycle() {} + /** + * @return The type of data store. The only possible value is `VaultStore`. Changing this forces a new resource to be created. + * + */ + public String dataStoreType() { + return this.dataStoreType; + } + /** + * @return 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 String duration() { + return this.duration; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(BackupPolicyMysqlFlexibleServerDefaultRetentionRuleLifeCycle defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String dataStoreType; + private String duration; + public Builder() {} + public Builder(BackupPolicyMysqlFlexibleServerDefaultRetentionRuleLifeCycle defaults) { + Objects.requireNonNull(defaults); + this.dataStoreType = defaults.dataStoreType; + this.duration = defaults.duration; + } + + @CustomType.Setter + public Builder dataStoreType(String dataStoreType) { + if (dataStoreType == null) { + throw new MissingRequiredPropertyException("BackupPolicyMysqlFlexibleServerDefaultRetentionRuleLifeCycle", "dataStoreType"); + } + this.dataStoreType = dataStoreType; + return this; + } + @CustomType.Setter + public Builder duration(String duration) { + if (duration == null) { + throw new MissingRequiredPropertyException("BackupPolicyMysqlFlexibleServerDefaultRetentionRuleLifeCycle", "duration"); + } + this.duration = duration; + return this; + } + public BackupPolicyMysqlFlexibleServerDefaultRetentionRuleLifeCycle build() { + final var _resultValue = new BackupPolicyMysqlFlexibleServerDefaultRetentionRuleLifeCycle(); + _resultValue.dataStoreType = dataStoreType; + _resultValue.duration = duration; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/azure/dataprotection/outputs/BackupPolicyMysqlFlexibleServerRetentionRule.java b/sdk/java/src/main/java/com/pulumi/azure/dataprotection/outputs/BackupPolicyMysqlFlexibleServerRetentionRule.java new file mode 100644 index 0000000000..d8b528fcbd --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/azure/dataprotection/outputs/BackupPolicyMysqlFlexibleServerRetentionRule.java @@ -0,0 +1,134 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.azure.dataprotection.outputs; + +import com.pulumi.azure.dataprotection.outputs.BackupPolicyMysqlFlexibleServerRetentionRuleCriteria; +import com.pulumi.azure.dataprotection.outputs.BackupPolicyMysqlFlexibleServerRetentionRuleLifeCycle; +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.Integer; +import java.lang.String; +import java.util.List; +import java.util.Objects; + +@CustomType +public final class BackupPolicyMysqlFlexibleServerRetentionRule { + /** + * @return A `criteria` block as defined below. Changing this forces a new resource to be created. + * + */ + private BackupPolicyMysqlFlexibleServerRetentionRuleCriteria criteria; + /** + * @return A `life_cycle` block as defined below. Changing this forces a new resource to be created. + * + */ + private List lifeCycles; + /** + * @return Specifies the name of the retention rule. Changing this forces a new resource to be created. + * + */ + private String name; + /** + * @return 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. + * + */ + private Integer priority; + + private BackupPolicyMysqlFlexibleServerRetentionRule() {} + /** + * @return A `criteria` block as defined below. Changing this forces a new resource to be created. + * + */ + public BackupPolicyMysqlFlexibleServerRetentionRuleCriteria criteria() { + return this.criteria; + } + /** + * @return A `life_cycle` block as defined below. Changing this forces a new resource to be created. + * + */ + public List lifeCycles() { + return this.lifeCycles; + } + /** + * @return Specifies the name of the retention rule. Changing this forces a new resource to be created. + * + */ + public String name() { + return this.name; + } + /** + * @return 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 Integer priority() { + return this.priority; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(BackupPolicyMysqlFlexibleServerRetentionRule defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private BackupPolicyMysqlFlexibleServerRetentionRuleCriteria criteria; + private List lifeCycles; + private String name; + private Integer priority; + public Builder() {} + public Builder(BackupPolicyMysqlFlexibleServerRetentionRule defaults) { + Objects.requireNonNull(defaults); + this.criteria = defaults.criteria; + this.lifeCycles = defaults.lifeCycles; + this.name = defaults.name; + this.priority = defaults.priority; + } + + @CustomType.Setter + public Builder criteria(BackupPolicyMysqlFlexibleServerRetentionRuleCriteria criteria) { + if (criteria == null) { + throw new MissingRequiredPropertyException("BackupPolicyMysqlFlexibleServerRetentionRule", "criteria"); + } + this.criteria = criteria; + return this; + } + @CustomType.Setter + public Builder lifeCycles(List lifeCycles) { + if (lifeCycles == null) { + throw new MissingRequiredPropertyException("BackupPolicyMysqlFlexibleServerRetentionRule", "lifeCycles"); + } + this.lifeCycles = lifeCycles; + return this; + } + public Builder lifeCycles(BackupPolicyMysqlFlexibleServerRetentionRuleLifeCycle... lifeCycles) { + return lifeCycles(List.of(lifeCycles)); + } + @CustomType.Setter + public Builder name(String name) { + if (name == null) { + throw new MissingRequiredPropertyException("BackupPolicyMysqlFlexibleServerRetentionRule", "name"); + } + this.name = name; + return this; + } + @CustomType.Setter + public Builder priority(Integer priority) { + if (priority == null) { + throw new MissingRequiredPropertyException("BackupPolicyMysqlFlexibleServerRetentionRule", "priority"); + } + this.priority = priority; + return this; + } + public BackupPolicyMysqlFlexibleServerRetentionRule build() { + final var _resultValue = new BackupPolicyMysqlFlexibleServerRetentionRule(); + _resultValue.criteria = criteria; + _resultValue.lifeCycles = lifeCycles; + _resultValue.name = name; + _resultValue.priority = priority; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/azure/dataprotection/outputs/BackupPolicyMysqlFlexibleServerRetentionRuleCriteria.java b/sdk/java/src/main/java/com/pulumi/azure/dataprotection/outputs/BackupPolicyMysqlFlexibleServerRetentionRuleCriteria.java new file mode 100644 index 0000000000..1525427cc1 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/azure/dataprotection/outputs/BackupPolicyMysqlFlexibleServerRetentionRuleCriteria.java @@ -0,0 +1,154 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.azure.dataprotection.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class BackupPolicyMysqlFlexibleServerRetentionRuleCriteria { + /** + * @return 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. + * + */ + private @Nullable String absoluteCriteria; + /** + * @return Possible values are `Monday`, `Tuesday`, `Thursday`, `Friday`, `Saturday` and `Sunday`. Changing this forces a new resource to be created. + * + */ + private @Nullable List daysOfWeeks; + /** + * @return 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. + * + */ + private @Nullable List monthsOfYears; + /** + * @return Specifies a list of backup times for backup in the `RFC3339` format. Changing this forces a new resource to be created. + * + */ + private @Nullable List scheduledBackupTimes; + /** + * @return Possible values are `First`, `Second`, `Third`, `Fourth` and `Last`. Changing this forces a new resource to be created. + * + */ + private @Nullable List weeksOfMonths; + + private BackupPolicyMysqlFlexibleServerRetentionRuleCriteria() {} + /** + * @return 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 Optional absoluteCriteria() { + return Optional.ofNullable(this.absoluteCriteria); + } + /** + * @return Possible values are `Monday`, `Tuesday`, `Thursday`, `Friday`, `Saturday` and `Sunday`. Changing this forces a new resource to be created. + * + */ + public List daysOfWeeks() { + return this.daysOfWeeks == null ? List.of() : this.daysOfWeeks; + } + /** + * @return 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 List monthsOfYears() { + return this.monthsOfYears == null ? List.of() : this.monthsOfYears; + } + /** + * @return Specifies a list of backup times for backup in the `RFC3339` format. Changing this forces a new resource to be created. + * + */ + public List scheduledBackupTimes() { + return this.scheduledBackupTimes == null ? List.of() : this.scheduledBackupTimes; + } + /** + * @return Possible values are `First`, `Second`, `Third`, `Fourth` and `Last`. Changing this forces a new resource to be created. + * + */ + public List weeksOfMonths() { + return this.weeksOfMonths == null ? List.of() : this.weeksOfMonths; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(BackupPolicyMysqlFlexibleServerRetentionRuleCriteria defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable String absoluteCriteria; + private @Nullable List daysOfWeeks; + private @Nullable List monthsOfYears; + private @Nullable List scheduledBackupTimes; + private @Nullable List weeksOfMonths; + public Builder() {} + public Builder(BackupPolicyMysqlFlexibleServerRetentionRuleCriteria defaults) { + Objects.requireNonNull(defaults); + this.absoluteCriteria = defaults.absoluteCriteria; + this.daysOfWeeks = defaults.daysOfWeeks; + this.monthsOfYears = defaults.monthsOfYears; + this.scheduledBackupTimes = defaults.scheduledBackupTimes; + this.weeksOfMonths = defaults.weeksOfMonths; + } + + @CustomType.Setter + public Builder absoluteCriteria(@Nullable String absoluteCriteria) { + + this.absoluteCriteria = absoluteCriteria; + return this; + } + @CustomType.Setter + public Builder daysOfWeeks(@Nullable List daysOfWeeks) { + + this.daysOfWeeks = daysOfWeeks; + return this; + } + public Builder daysOfWeeks(String... daysOfWeeks) { + return daysOfWeeks(List.of(daysOfWeeks)); + } + @CustomType.Setter + public Builder monthsOfYears(@Nullable List monthsOfYears) { + + this.monthsOfYears = monthsOfYears; + return this; + } + public Builder monthsOfYears(String... monthsOfYears) { + return monthsOfYears(List.of(monthsOfYears)); + } + @CustomType.Setter + public Builder scheduledBackupTimes(@Nullable List scheduledBackupTimes) { + + this.scheduledBackupTimes = scheduledBackupTimes; + return this; + } + public Builder scheduledBackupTimes(String... scheduledBackupTimes) { + return scheduledBackupTimes(List.of(scheduledBackupTimes)); + } + @CustomType.Setter + public Builder weeksOfMonths(@Nullable List weeksOfMonths) { + + this.weeksOfMonths = weeksOfMonths; + return this; + } + public Builder weeksOfMonths(String... weeksOfMonths) { + return weeksOfMonths(List.of(weeksOfMonths)); + } + public BackupPolicyMysqlFlexibleServerRetentionRuleCriteria build() { + final var _resultValue = new BackupPolicyMysqlFlexibleServerRetentionRuleCriteria(); + _resultValue.absoluteCriteria = absoluteCriteria; + _resultValue.daysOfWeeks = daysOfWeeks; + _resultValue.monthsOfYears = monthsOfYears; + _resultValue.scheduledBackupTimes = scheduledBackupTimes; + _resultValue.weeksOfMonths = weeksOfMonths; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/azure/dataprotection/outputs/BackupPolicyMysqlFlexibleServerRetentionRuleLifeCycle.java b/sdk/java/src/main/java/com/pulumi/azure/dataprotection/outputs/BackupPolicyMysqlFlexibleServerRetentionRuleLifeCycle.java new file mode 100644 index 0000000000..82bd0b4ffe --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/azure/dataprotection/outputs/BackupPolicyMysqlFlexibleServerRetentionRuleLifeCycle.java @@ -0,0 +1,81 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.azure.dataprotection.outputs; + +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class BackupPolicyMysqlFlexibleServerRetentionRuleLifeCycle { + /** + * @return The type of data store. The only possible value is `VaultStore`. Changing this forces a new resource to be created. + * + */ + private String dataStoreType; + /** + * @return 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. + * + */ + private String duration; + + private BackupPolicyMysqlFlexibleServerRetentionRuleLifeCycle() {} + /** + * @return The type of data store. The only possible value is `VaultStore`. Changing this forces a new resource to be created. + * + */ + public String dataStoreType() { + return this.dataStoreType; + } + /** + * @return 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 String duration() { + return this.duration; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(BackupPolicyMysqlFlexibleServerRetentionRuleLifeCycle defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String dataStoreType; + private String duration; + public Builder() {} + public Builder(BackupPolicyMysqlFlexibleServerRetentionRuleLifeCycle defaults) { + Objects.requireNonNull(defaults); + this.dataStoreType = defaults.dataStoreType; + this.duration = defaults.duration; + } + + @CustomType.Setter + public Builder dataStoreType(String dataStoreType) { + if (dataStoreType == null) { + throw new MissingRequiredPropertyException("BackupPolicyMysqlFlexibleServerRetentionRuleLifeCycle", "dataStoreType"); + } + this.dataStoreType = dataStoreType; + return this; + } + @CustomType.Setter + public Builder duration(String duration) { + if (duration == null) { + throw new MissingRequiredPropertyException("BackupPolicyMysqlFlexibleServerRetentionRuleLifeCycle", "duration"); + } + this.duration = duration; + return this; + } + public BackupPolicyMysqlFlexibleServerRetentionRuleLifeCycle build() { + final var _resultValue = new BackupPolicyMysqlFlexibleServerRetentionRuleLifeCycle(); + _resultValue.dataStoreType = dataStoreType; + _resultValue.duration = duration; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/azure/keyvault/ManagedHardwareSecurityModuleKeyRotationPolicy.java b/sdk/java/src/main/java/com/pulumi/azure/keyvault/ManagedHardwareSecurityModuleKeyRotationPolicy.java new file mode 100644 index 0000000000..21402180be --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/azure/keyvault/ManagedHardwareSecurityModuleKeyRotationPolicy.java @@ -0,0 +1,190 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.azure.keyvault; + +import com.pulumi.azure.Utilities; +import com.pulumi.azure.keyvault.ManagedHardwareSecurityModuleKeyRotationPolicyArgs; +import com.pulumi.azure.keyvault.inputs.ManagedHardwareSecurityModuleKeyRotationPolicyState; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Export; +import com.pulumi.core.annotations.ResourceType; +import com.pulumi.core.internal.Codegen; +import java.lang.String; +import java.util.Optional; +import javax.annotation.Nullable; + +/** + * Manages a Managed HSM Key rotation policy. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+ * {@code
+ * package generated_program;
+ * 
+ * import com.pulumi.Context;
+ * import com.pulumi.Pulumi;
+ * import com.pulumi.core.Output;
+ * import com.pulumi.azure.keyvault.ManagedHardwareSecurityModuleKey;
+ * import com.pulumi.azure.keyvault.ManagedHardwareSecurityModuleKeyArgs;
+ * import com.pulumi.azure.keyvault.ManagedHardwareSecurityModuleKeyRotationPolicy;
+ * import com.pulumi.azure.keyvault.ManagedHardwareSecurityModuleKeyRotationPolicyArgs;
+ * import java.util.List;
+ * import java.util.ArrayList;
+ * import java.util.Map;
+ * import java.io.File;
+ * import java.nio.file.Files;
+ * import java.nio.file.Paths;
+ * 
+ * public class App {
+ *     public static void main(String[] args) {
+ *         Pulumi.run(App::stack);
+ *     }
+ * 
+ *     public static void stack(Context ctx) {
+ *         var example = new ManagedHardwareSecurityModuleKey("example", ManagedHardwareSecurityModuleKeyArgs.builder()
+ *             .name("example-key")
+ *             .managedHsmId(exampleAzurermKeyVaultManagedHardwareSecurityModule.id())
+ *             .keyType("EC-HSM")
+ *             .curve("P-521")
+ *             .keyOpts("sign")
+ *             .build());
+ * 
+ *         var exampleManagedHardwareSecurityModuleKeyRotationPolicy = new ManagedHardwareSecurityModuleKeyRotationPolicy("exampleManagedHardwareSecurityModuleKeyRotationPolicy", ManagedHardwareSecurityModuleKeyRotationPolicyArgs.builder()
+ *             .managedHsmKeyId(example.id())
+ *             .expireAfter("P60D")
+ *             .timeBeforeExpiry("P30D")
+ *             .build());
+ * 
+ *     }
+ * }
+ * }
+ * 
+ * <!--End PulumiCodeChooser --> + * + * ## 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 + * ``` + * + */ +@ResourceType(type="azure:keyvault/managedHardwareSecurityModuleKeyRotationPolicy:ManagedHardwareSecurityModuleKeyRotationPolicy") +public class ManagedHardwareSecurityModuleKeyRotationPolicy extends com.pulumi.resources.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`. + * + */ + @Export(name="expireAfter", refs={String.class}, tree="[0]") + private Output expireAfter; + + /** + * @return 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`. + * + */ + public Output expireAfter() { + return this.expireAfter; + } + /** + * The ID of the Managed HSM Key. Changing this forces a new Managed HSM Key rotation policy to be created. + * + */ + @Export(name="managedHsmKeyId", refs={String.class}, tree="[0]") + private Output managedHsmKeyId; + + /** + * @return The ID of the Managed HSM Key. Changing this forces a new Managed HSM Key rotation policy to be created. + * + */ + public Output managedHsmKeyId() { + return this.managedHsmKeyId; + } + /** + * 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. + * + */ + @Export(name="timeAfterCreation", refs={String.class}, tree="[0]") + private Output timeAfterCreation; + + /** + * @return 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. + * + */ + public Output> timeAfterCreation() { + return Codegen.optional(this.timeAfterCreation); + } + /** + * 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. + * + */ + @Export(name="timeBeforeExpiry", refs={String.class}, tree="[0]") + private Output timeBeforeExpiry; + + /** + * @return 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. + * + */ + public Output> timeBeforeExpiry() { + return Codegen.optional(this.timeBeforeExpiry); + } + + /** + * + * @param name The _unique_ name of the resulting resource. + */ + public ManagedHardwareSecurityModuleKeyRotationPolicy(java.lang.String name) { + this(name, ManagedHardwareSecurityModuleKeyRotationPolicyArgs.Empty); + } + /** + * + * @param name The _unique_ name of the resulting resource. + * @param args The arguments to use to populate this resource's properties. + */ + public ManagedHardwareSecurityModuleKeyRotationPolicy(java.lang.String name, ManagedHardwareSecurityModuleKeyRotationPolicyArgs args) { + this(name, args, null); + } + /** + * + * @param name The _unique_ name of the resulting resource. + * @param args The arguments to use to populate this resource's properties. + * @param options A bag of options that control this resource's behavior. + */ + public ManagedHardwareSecurityModuleKeyRotationPolicy(java.lang.String name, ManagedHardwareSecurityModuleKeyRotationPolicyArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("azure:keyvault/managedHardwareSecurityModuleKeyRotationPolicy:ManagedHardwareSecurityModuleKeyRotationPolicy", name, makeArgs(args, options), makeResourceOptions(options, Codegen.empty()), false); + } + + private ManagedHardwareSecurityModuleKeyRotationPolicy(java.lang.String name, Output id, @Nullable ManagedHardwareSecurityModuleKeyRotationPolicyState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("azure:keyvault/managedHardwareSecurityModuleKeyRotationPolicy:ManagedHardwareSecurityModuleKeyRotationPolicy", name, state, makeResourceOptions(options, id), false); + } + + private static ManagedHardwareSecurityModuleKeyRotationPolicyArgs makeArgs(ManagedHardwareSecurityModuleKeyRotationPolicyArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + if (options != null && options.getUrn().isPresent()) { + return null; + } + return args == null ? ManagedHardwareSecurityModuleKeyRotationPolicyArgs.Empty : args; + } + + private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { + var defaultOptions = com.pulumi.resources.CustomResourceOptions.builder() + .version(Utilities.getVersion()) + .build(); + return com.pulumi.resources.CustomResourceOptions.merge(defaultOptions, options, id); + } + + /** + * Get an existing Host resource's state with the given name, ID, and optional extra + * properties used to qualify the lookup. + * + * @param name The _unique_ name of the resulting resource. + * @param id The _unique_ provider ID of the resource to lookup. + * @param state + * @param options Optional settings to control the behavior of the CustomResource. + */ + public static ManagedHardwareSecurityModuleKeyRotationPolicy get(java.lang.String name, Output id, @Nullable ManagedHardwareSecurityModuleKeyRotationPolicyState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + return new ManagedHardwareSecurityModuleKeyRotationPolicy(name, id, state, options); + } +} diff --git a/sdk/java/src/main/java/com/pulumi/azure/keyvault/ManagedHardwareSecurityModuleKeyRotationPolicyArgs.java b/sdk/java/src/main/java/com/pulumi/azure/keyvault/ManagedHardwareSecurityModuleKeyRotationPolicyArgs.java new file mode 100644 index 0000000000..07abc69e67 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/azure/keyvault/ManagedHardwareSecurityModuleKeyRotationPolicyArgs.java @@ -0,0 +1,201 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.azure.keyvault; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class ManagedHardwareSecurityModuleKeyRotationPolicyArgs extends com.pulumi.resources.ResourceArgs { + + public static final ManagedHardwareSecurityModuleKeyRotationPolicyArgs Empty = new ManagedHardwareSecurityModuleKeyRotationPolicyArgs(); + + /** + * 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`. + * + */ + @Import(name="expireAfter", required=true) + private Output expireAfter; + + /** + * @return 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`. + * + */ + public Output expireAfter() { + return this.expireAfter; + } + + /** + * The ID of the Managed HSM Key. Changing this forces a new Managed HSM Key rotation policy to be created. + * + */ + @Import(name="managedHsmKeyId", required=true) + private Output managedHsmKeyId; + + /** + * @return The ID of the Managed HSM Key. Changing this forces a new Managed HSM Key rotation policy to be created. + * + */ + public Output managedHsmKeyId() { + return this.managedHsmKeyId; + } + + /** + * 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. + * + */ + @Import(name="timeAfterCreation") + private @Nullable Output timeAfterCreation; + + /** + * @return 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. + * + */ + public Optional> timeAfterCreation() { + return Optional.ofNullable(this.timeAfterCreation); + } + + /** + * 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. + * + */ + @Import(name="timeBeforeExpiry") + private @Nullable Output timeBeforeExpiry; + + /** + * @return 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. + * + */ + public Optional> timeBeforeExpiry() { + return Optional.ofNullable(this.timeBeforeExpiry); + } + + private ManagedHardwareSecurityModuleKeyRotationPolicyArgs() {} + + private ManagedHardwareSecurityModuleKeyRotationPolicyArgs(ManagedHardwareSecurityModuleKeyRotationPolicyArgs $) { + this.expireAfter = $.expireAfter; + this.managedHsmKeyId = $.managedHsmKeyId; + this.timeAfterCreation = $.timeAfterCreation; + this.timeBeforeExpiry = $.timeBeforeExpiry; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(ManagedHardwareSecurityModuleKeyRotationPolicyArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private ManagedHardwareSecurityModuleKeyRotationPolicyArgs $; + + public Builder() { + $ = new ManagedHardwareSecurityModuleKeyRotationPolicyArgs(); + } + + public Builder(ManagedHardwareSecurityModuleKeyRotationPolicyArgs defaults) { + $ = new ManagedHardwareSecurityModuleKeyRotationPolicyArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param expireAfter 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`. + * + * @return builder + * + */ + public Builder expireAfter(Output expireAfter) { + $.expireAfter = expireAfter; + return this; + } + + /** + * @param expireAfter 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`. + * + * @return builder + * + */ + public Builder expireAfter(String expireAfter) { + return expireAfter(Output.of(expireAfter)); + } + + /** + * @param managedHsmKeyId The ID of the Managed HSM Key. Changing this forces a new Managed HSM Key rotation policy to be created. + * + * @return builder + * + */ + public Builder managedHsmKeyId(Output managedHsmKeyId) { + $.managedHsmKeyId = managedHsmKeyId; + return this; + } + + /** + * @param managedHsmKeyId The ID of the Managed HSM Key. Changing this forces a new Managed HSM Key rotation policy to be created. + * + * @return builder + * + */ + public Builder managedHsmKeyId(String managedHsmKeyId) { + return managedHsmKeyId(Output.of(managedHsmKeyId)); + } + + /** + * @param timeAfterCreation 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. + * + * @return builder + * + */ + public Builder timeAfterCreation(@Nullable Output timeAfterCreation) { + $.timeAfterCreation = timeAfterCreation; + return this; + } + + /** + * @param timeAfterCreation 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. + * + * @return builder + * + */ + public Builder timeAfterCreation(String timeAfterCreation) { + return timeAfterCreation(Output.of(timeAfterCreation)); + } + + /** + * @param timeBeforeExpiry 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. + * + * @return builder + * + */ + public Builder timeBeforeExpiry(@Nullable Output timeBeforeExpiry) { + $.timeBeforeExpiry = timeBeforeExpiry; + return this; + } + + /** + * @param timeBeforeExpiry 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. + * + * @return builder + * + */ + public Builder timeBeforeExpiry(String timeBeforeExpiry) { + return timeBeforeExpiry(Output.of(timeBeforeExpiry)); + } + + public ManagedHardwareSecurityModuleKeyRotationPolicyArgs build() { + if ($.expireAfter == null) { + throw new MissingRequiredPropertyException("ManagedHardwareSecurityModuleKeyRotationPolicyArgs", "expireAfter"); + } + if ($.managedHsmKeyId == null) { + throw new MissingRequiredPropertyException("ManagedHardwareSecurityModuleKeyRotationPolicyArgs", "managedHsmKeyId"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/azure/keyvault/inputs/ManagedHardwareSecurityModuleKeyRotationPolicyState.java b/sdk/java/src/main/java/com/pulumi/azure/keyvault/inputs/ManagedHardwareSecurityModuleKeyRotationPolicyState.java new file mode 100644 index 0000000000..548aa1bda6 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/azure/keyvault/inputs/ManagedHardwareSecurityModuleKeyRotationPolicyState.java @@ -0,0 +1,194 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.azure.keyvault.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class ManagedHardwareSecurityModuleKeyRotationPolicyState extends com.pulumi.resources.ResourceArgs { + + public static final ManagedHardwareSecurityModuleKeyRotationPolicyState Empty = new ManagedHardwareSecurityModuleKeyRotationPolicyState(); + + /** + * 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`. + * + */ + @Import(name="expireAfter") + private @Nullable Output expireAfter; + + /** + * @return 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`. + * + */ + public Optional> expireAfter() { + return Optional.ofNullable(this.expireAfter); + } + + /** + * The ID of the Managed HSM Key. Changing this forces a new Managed HSM Key rotation policy to be created. + * + */ + @Import(name="managedHsmKeyId") + private @Nullable Output managedHsmKeyId; + + /** + * @return The ID of the Managed HSM Key. Changing this forces a new Managed HSM Key rotation policy to be created. + * + */ + public Optional> managedHsmKeyId() { + return Optional.ofNullable(this.managedHsmKeyId); + } + + /** + * 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. + * + */ + @Import(name="timeAfterCreation") + private @Nullable Output timeAfterCreation; + + /** + * @return 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. + * + */ + public Optional> timeAfterCreation() { + return Optional.ofNullable(this.timeAfterCreation); + } + + /** + * 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. + * + */ + @Import(name="timeBeforeExpiry") + private @Nullable Output timeBeforeExpiry; + + /** + * @return 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. + * + */ + public Optional> timeBeforeExpiry() { + return Optional.ofNullable(this.timeBeforeExpiry); + } + + private ManagedHardwareSecurityModuleKeyRotationPolicyState() {} + + private ManagedHardwareSecurityModuleKeyRotationPolicyState(ManagedHardwareSecurityModuleKeyRotationPolicyState $) { + this.expireAfter = $.expireAfter; + this.managedHsmKeyId = $.managedHsmKeyId; + this.timeAfterCreation = $.timeAfterCreation; + this.timeBeforeExpiry = $.timeBeforeExpiry; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(ManagedHardwareSecurityModuleKeyRotationPolicyState defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private ManagedHardwareSecurityModuleKeyRotationPolicyState $; + + public Builder() { + $ = new ManagedHardwareSecurityModuleKeyRotationPolicyState(); + } + + public Builder(ManagedHardwareSecurityModuleKeyRotationPolicyState defaults) { + $ = new ManagedHardwareSecurityModuleKeyRotationPolicyState(Objects.requireNonNull(defaults)); + } + + /** + * @param expireAfter 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`. + * + * @return builder + * + */ + public Builder expireAfter(@Nullable Output expireAfter) { + $.expireAfter = expireAfter; + return this; + } + + /** + * @param expireAfter 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`. + * + * @return builder + * + */ + public Builder expireAfter(String expireAfter) { + return expireAfter(Output.of(expireAfter)); + } + + /** + * @param managedHsmKeyId The ID of the Managed HSM Key. Changing this forces a new Managed HSM Key rotation policy to be created. + * + * @return builder + * + */ + public Builder managedHsmKeyId(@Nullable Output managedHsmKeyId) { + $.managedHsmKeyId = managedHsmKeyId; + return this; + } + + /** + * @param managedHsmKeyId The ID of the Managed HSM Key. Changing this forces a new Managed HSM Key rotation policy to be created. + * + * @return builder + * + */ + public Builder managedHsmKeyId(String managedHsmKeyId) { + return managedHsmKeyId(Output.of(managedHsmKeyId)); + } + + /** + * @param timeAfterCreation 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. + * + * @return builder + * + */ + public Builder timeAfterCreation(@Nullable Output timeAfterCreation) { + $.timeAfterCreation = timeAfterCreation; + return this; + } + + /** + * @param timeAfterCreation 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. + * + * @return builder + * + */ + public Builder timeAfterCreation(String timeAfterCreation) { + return timeAfterCreation(Output.of(timeAfterCreation)); + } + + /** + * @param timeBeforeExpiry 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. + * + * @return builder + * + */ + public Builder timeBeforeExpiry(@Nullable Output timeBeforeExpiry) { + $.timeBeforeExpiry = timeBeforeExpiry; + return this; + } + + /** + * @param timeBeforeExpiry 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. + * + * @return builder + * + */ + public Builder timeBeforeExpiry(String timeBeforeExpiry) { + return timeBeforeExpiry(Output.of(timeBeforeExpiry)); + } + + public ManagedHardwareSecurityModuleKeyRotationPolicyState build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/azure/loganalytics/LinkedStorageAccount.java b/sdk/java/src/main/java/com/pulumi/azure/loganalytics/LinkedStorageAccount.java index 8157caed0e..62618e644d 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/loganalytics/LinkedStorageAccount.java +++ b/sdk/java/src/main/java/com/pulumi/azure/loganalytics/LinkedStorageAccount.java @@ -95,8 +95,6 @@ public class LinkedStorageAccount extends com.pulumi.resources.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. - * */ @Export(name="dataSourceType", refs={String.class}, tree="[0]") private Output dataSourceType; @@ -104,8 +102,6 @@ public class LinkedStorageAccount extends com.pulumi.resources.CustomResource { /** * @return 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. - * */ public Output dataSourceType() { return this.dataSourceType; diff --git a/sdk/java/src/main/java/com/pulumi/azure/loganalytics/LinkedStorageAccountArgs.java b/sdk/java/src/main/java/com/pulumi/azure/loganalytics/LinkedStorageAccountArgs.java index 8f48daaef6..88264c01ed 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/loganalytics/LinkedStorageAccountArgs.java +++ b/sdk/java/src/main/java/com/pulumi/azure/loganalytics/LinkedStorageAccountArgs.java @@ -18,8 +18,6 @@ public final class LinkedStorageAccountArgs extends com.pulumi.resources.Resourc /** * 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. - * */ @Import(name="dataSourceType", required=true) private Output dataSourceType; @@ -27,8 +25,6 @@ public final class LinkedStorageAccountArgs extends com.pulumi.resources.Resourc /** * @return 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. - * */ public Output dataSourceType() { return this.dataSourceType; @@ -109,8 +105,6 @@ public Builder(LinkedStorageAccountArgs defaults) { /** * @param dataSourceType 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. - * * @return builder * */ @@ -122,8 +116,6 @@ public Builder dataSourceType(Output dataSourceType) { /** * @param dataSourceType 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. - * * @return builder * */ diff --git a/sdk/java/src/main/java/com/pulumi/azure/loganalytics/inputs/LinkedStorageAccountState.java b/sdk/java/src/main/java/com/pulumi/azure/loganalytics/inputs/LinkedStorageAccountState.java index e60e1218d8..2e6478c7d6 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/loganalytics/inputs/LinkedStorageAccountState.java +++ b/sdk/java/src/main/java/com/pulumi/azure/loganalytics/inputs/LinkedStorageAccountState.java @@ -19,8 +19,6 @@ public final class LinkedStorageAccountState extends com.pulumi.resources.Resour /** * 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. - * */ @Import(name="dataSourceType") private @Nullable Output dataSourceType; @@ -28,8 +26,6 @@ public final class LinkedStorageAccountState extends com.pulumi.resources.Resour /** * @return 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. - * */ public Optional> dataSourceType() { return Optional.ofNullable(this.dataSourceType); @@ -110,8 +106,6 @@ public Builder(LinkedStorageAccountState defaults) { /** * @param dataSourceType 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. - * * @return builder * */ @@ -123,8 +117,6 @@ public Builder dataSourceType(@Nullable Output dataSourceType) { /** * @param dataSourceType 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. - * * @return builder * */ diff --git a/sdk/java/src/main/java/com/pulumi/azure/monitoring/AlertPrometheusRuleGroup.java b/sdk/java/src/main/java/com/pulumi/azure/monitoring/AlertPrometheusRuleGroup.java index dc0c121c08..db9e4c65bf 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/monitoring/AlertPrometheusRuleGroup.java +++ b/sdk/java/src/main/java/com/pulumi/azure/monitoring/AlertPrometheusRuleGroup.java @@ -84,7 +84,7 @@ * .name("default") * .nodeCount(1) * .vmSize("Standard_DS2_v2") - * .enableHostEncryption(true) + * .hostEncryptionEnabled(true) * .build()) * .identity(KubernetesClusterIdentityArgs.builder() * .type("SystemAssigned") diff --git a/sdk/java/src/main/java/com/pulumi/azure/network/NetworkFunctions.java b/sdk/java/src/main/java/com/pulumi/azure/network/NetworkFunctions.java index e5769d5b70..b194b01d53 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/network/NetworkFunctions.java +++ b/sdk/java/src/main/java/com/pulumi/azure/network/NetworkFunctions.java @@ -70,6 +70,8 @@ import com.pulumi.azure.network.inputs.GetVirtualWanPlainArgs; import com.pulumi.azure.network.inputs.GetVpnGatewayArgs; import com.pulumi.azure.network.inputs.GetVpnGatewayPlainArgs; +import com.pulumi.azure.network.inputs.GetVpnServerConfigurationArgs; +import com.pulumi.azure.network.inputs.GetVpnServerConfigurationPlainArgs; import com.pulumi.azure.network.outputs.GetApplicationGatewayResult; import com.pulumi.azure.network.outputs.GetApplicationSecurityGroupResult; import com.pulumi.azure.network.outputs.GetExpressRouteCircuitResult; @@ -103,6 +105,7 @@ import com.pulumi.azure.network.outputs.GetVirtualNetworkResult; import com.pulumi.azure.network.outputs.GetVirtualWanResult; import com.pulumi.azure.network.outputs.GetVpnGatewayResult; +import com.pulumi.azure.network.outputs.GetVpnServerConfigurationResult; import com.pulumi.core.Output; import com.pulumi.core.TypeShape; import com.pulumi.deployment.Deployment; @@ -6290,4 +6293,180 @@ public static Output getVpnGateway(GetVpnGatewayArgs args, public static CompletableFuture getVpnGatewayPlain(GetVpnGatewayPlainArgs args, InvokeOptions options) { return Deployment.getInstance().invokeAsync("azure:network/getVpnGateway:getVpnGateway", TypeShape.of(GetVpnGatewayResult.class), args, Utilities.withVersion(options)); } + /** + * Use this data source to access information about an existing VPN Server Configuration. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.azure.network.NetworkFunctions;
+     * import com.pulumi.azure.network.inputs.GetVpnServerConfigurationArgs;
+     * import java.util.List;
+     * import java.util.ArrayList;
+     * import java.util.Map;
+     * import java.io.File;
+     * import java.nio.file.Files;
+     * import java.nio.file.Paths;
+     * 
+     * public class App {
+     *     public static void main(String[] args) {
+     *         Pulumi.run(App::stack);
+     *     }
+     * 
+     *     public static void stack(Context ctx) {
+     *         final var example = NetworkFunctions.getVpnServerConfiguration(GetVpnServerConfigurationArgs.builder()
+     *             .name("existing-local-vpn-server-configuration")
+     *             .resourceGroupName("existing-resource-group")
+     *             .build());
+     * 
+     *         ctx.export("azurermVpnServerConfiguration", example.applyValue(getVpnServerConfigurationResult -> getVpnServerConfigurationResult.id()));
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getVpnServerConfiguration(GetVpnServerConfigurationArgs args) { + return getVpnServerConfiguration(args, InvokeOptions.Empty); + } + /** + * Use this data source to access information about an existing VPN Server Configuration. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.azure.network.NetworkFunctions;
+     * import com.pulumi.azure.network.inputs.GetVpnServerConfigurationArgs;
+     * import java.util.List;
+     * import java.util.ArrayList;
+     * import java.util.Map;
+     * import java.io.File;
+     * import java.nio.file.Files;
+     * import java.nio.file.Paths;
+     * 
+     * public class App {
+     *     public static void main(String[] args) {
+     *         Pulumi.run(App::stack);
+     *     }
+     * 
+     *     public static void stack(Context ctx) {
+     *         final var example = NetworkFunctions.getVpnServerConfiguration(GetVpnServerConfigurationArgs.builder()
+     *             .name("existing-local-vpn-server-configuration")
+     *             .resourceGroupName("existing-resource-group")
+     *             .build());
+     * 
+     *         ctx.export("azurermVpnServerConfiguration", example.applyValue(getVpnServerConfigurationResult -> getVpnServerConfigurationResult.id()));
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static CompletableFuture getVpnServerConfigurationPlain(GetVpnServerConfigurationPlainArgs args) { + return getVpnServerConfigurationPlain(args, InvokeOptions.Empty); + } + /** + * Use this data source to access information about an existing VPN Server Configuration. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.azure.network.NetworkFunctions;
+     * import com.pulumi.azure.network.inputs.GetVpnServerConfigurationArgs;
+     * import java.util.List;
+     * import java.util.ArrayList;
+     * import java.util.Map;
+     * import java.io.File;
+     * import java.nio.file.Files;
+     * import java.nio.file.Paths;
+     * 
+     * public class App {
+     *     public static void main(String[] args) {
+     *         Pulumi.run(App::stack);
+     *     }
+     * 
+     *     public static void stack(Context ctx) {
+     *         final var example = NetworkFunctions.getVpnServerConfiguration(GetVpnServerConfigurationArgs.builder()
+     *             .name("existing-local-vpn-server-configuration")
+     *             .resourceGroupName("existing-resource-group")
+     *             .build());
+     * 
+     *         ctx.export("azurermVpnServerConfiguration", example.applyValue(getVpnServerConfigurationResult -> getVpnServerConfigurationResult.id()));
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getVpnServerConfiguration(GetVpnServerConfigurationArgs args, InvokeOptions options) { + return Deployment.getInstance().invoke("azure:network/getVpnServerConfiguration:getVpnServerConfiguration", TypeShape.of(GetVpnServerConfigurationResult.class), args, Utilities.withVersion(options)); + } + /** + * Use this data source to access information about an existing VPN Server Configuration. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.azure.network.NetworkFunctions;
+     * import com.pulumi.azure.network.inputs.GetVpnServerConfigurationArgs;
+     * import java.util.List;
+     * import java.util.ArrayList;
+     * import java.util.Map;
+     * import java.io.File;
+     * import java.nio.file.Files;
+     * import java.nio.file.Paths;
+     * 
+     * public class App {
+     *     public static void main(String[] args) {
+     *         Pulumi.run(App::stack);
+     *     }
+     * 
+     *     public static void stack(Context ctx) {
+     *         final var example = NetworkFunctions.getVpnServerConfiguration(GetVpnServerConfigurationArgs.builder()
+     *             .name("existing-local-vpn-server-configuration")
+     *             .resourceGroupName("existing-resource-group")
+     *             .build());
+     * 
+     *         ctx.export("azurermVpnServerConfiguration", example.applyValue(getVpnServerConfigurationResult -> getVpnServerConfigurationResult.id()));
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static CompletableFuture getVpnServerConfigurationPlain(GetVpnServerConfigurationPlainArgs args, InvokeOptions options) { + return Deployment.getInstance().invokeAsync("azure:network/getVpnServerConfiguration:getVpnServerConfiguration", TypeShape.of(GetVpnServerConfigurationResult.class), args, Utilities.withVersion(options)); + } } diff --git a/sdk/java/src/main/java/com/pulumi/azure/network/inputs/GetVpnServerConfigurationArgs.java b/sdk/java/src/main/java/com/pulumi/azure/network/inputs/GetVpnServerConfigurationArgs.java new file mode 100644 index 0000000000..e32d7d399b --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/azure/network/inputs/GetVpnServerConfigurationArgs.java @@ -0,0 +1,125 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.azure.network.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.Objects; + + +public final class GetVpnServerConfigurationArgs extends com.pulumi.resources.InvokeArgs { + + public static final GetVpnServerConfigurationArgs Empty = new GetVpnServerConfigurationArgs(); + + /** + * The Name of the VPN Server Configuration. + * + */ + @Import(name="name", required=true) + private Output name; + + /** + * @return The Name of the VPN Server Configuration. + * + */ + public Output name() { + return this.name; + } + + /** + * The name of the Resource Group where the VPN Server Configuration exists. + * + */ + @Import(name="resourceGroupName", required=true) + private Output resourceGroupName; + + /** + * @return The name of the Resource Group where the VPN Server Configuration exists. + * + */ + public Output resourceGroupName() { + return this.resourceGroupName; + } + + private GetVpnServerConfigurationArgs() {} + + private GetVpnServerConfigurationArgs(GetVpnServerConfigurationArgs $) { + this.name = $.name; + this.resourceGroupName = $.resourceGroupName; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(GetVpnServerConfigurationArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private GetVpnServerConfigurationArgs $; + + public Builder() { + $ = new GetVpnServerConfigurationArgs(); + } + + public Builder(GetVpnServerConfigurationArgs defaults) { + $ = new GetVpnServerConfigurationArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param name The Name of the VPN Server Configuration. + * + * @return builder + * + */ + public Builder name(Output name) { + $.name = name; + return this; + } + + /** + * @param name The Name of the VPN Server Configuration. + * + * @return builder + * + */ + public Builder name(String name) { + return name(Output.of(name)); + } + + /** + * @param resourceGroupName The name of the Resource Group where the VPN Server Configuration exists. + * + * @return builder + * + */ + public Builder resourceGroupName(Output resourceGroupName) { + $.resourceGroupName = resourceGroupName; + return this; + } + + /** + * @param resourceGroupName The name of the Resource Group where the VPN Server Configuration exists. + * + * @return builder + * + */ + public Builder resourceGroupName(String resourceGroupName) { + return resourceGroupName(Output.of(resourceGroupName)); + } + + public GetVpnServerConfigurationArgs build() { + if ($.name == null) { + throw new MissingRequiredPropertyException("GetVpnServerConfigurationArgs", "name"); + } + if ($.resourceGroupName == null) { + throw new MissingRequiredPropertyException("GetVpnServerConfigurationArgs", "resourceGroupName"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/azure/network/inputs/GetVpnServerConfigurationPlainArgs.java b/sdk/java/src/main/java/com/pulumi/azure/network/inputs/GetVpnServerConfigurationPlainArgs.java new file mode 100644 index 0000000000..64cc77512f --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/azure/network/inputs/GetVpnServerConfigurationPlainArgs.java @@ -0,0 +1,104 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.azure.network.inputs; + +import com.pulumi.core.annotations.Import; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.Objects; + + +public final class GetVpnServerConfigurationPlainArgs extends com.pulumi.resources.InvokeArgs { + + public static final GetVpnServerConfigurationPlainArgs Empty = new GetVpnServerConfigurationPlainArgs(); + + /** + * The Name of the VPN Server Configuration. + * + */ + @Import(name="name", required=true) + private String name; + + /** + * @return The Name of the VPN Server Configuration. + * + */ + public String name() { + return this.name; + } + + /** + * The name of the Resource Group where the VPN Server Configuration exists. + * + */ + @Import(name="resourceGroupName", required=true) + private String resourceGroupName; + + /** + * @return The name of the Resource Group where the VPN Server Configuration exists. + * + */ + public String resourceGroupName() { + return this.resourceGroupName; + } + + private GetVpnServerConfigurationPlainArgs() {} + + private GetVpnServerConfigurationPlainArgs(GetVpnServerConfigurationPlainArgs $) { + this.name = $.name; + this.resourceGroupName = $.resourceGroupName; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(GetVpnServerConfigurationPlainArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private GetVpnServerConfigurationPlainArgs $; + + public Builder() { + $ = new GetVpnServerConfigurationPlainArgs(); + } + + public Builder(GetVpnServerConfigurationPlainArgs defaults) { + $ = new GetVpnServerConfigurationPlainArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param name The Name of the VPN Server Configuration. + * + * @return builder + * + */ + public Builder name(String name) { + $.name = name; + return this; + } + + /** + * @param resourceGroupName The name of the Resource Group where the VPN Server Configuration exists. + * + * @return builder + * + */ + public Builder resourceGroupName(String resourceGroupName) { + $.resourceGroupName = resourceGroupName; + return this; + } + + public GetVpnServerConfigurationPlainArgs build() { + if ($.name == null) { + throw new MissingRequiredPropertyException("GetVpnServerConfigurationPlainArgs", "name"); + } + if ($.resourceGroupName == null) { + throw new MissingRequiredPropertyException("GetVpnServerConfigurationPlainArgs", "resourceGroupName"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/azure/network/outputs/GetVpnServerConfigurationAzureActiveDirectoryAuthentication.java b/sdk/java/src/main/java/com/pulumi/azure/network/outputs/GetVpnServerConfigurationAzureActiveDirectoryAuthentication.java new file mode 100644 index 0000000000..b6f9689919 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/azure/network/outputs/GetVpnServerConfigurationAzureActiveDirectoryAuthentication.java @@ -0,0 +1,104 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.azure.network.outputs; + +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class GetVpnServerConfigurationAzureActiveDirectoryAuthentication { + /** + * @return The Audience which should be used for authentication. + * + */ + private String audience; + /** + * @return The Issuer which should be used for authentication. + * + */ + private String issuer; + /** + * @return The Tenant which should be used for authentication. + * + */ + private String tenant; + + private GetVpnServerConfigurationAzureActiveDirectoryAuthentication() {} + /** + * @return The Audience which should be used for authentication. + * + */ + public String audience() { + return this.audience; + } + /** + * @return The Issuer which should be used for authentication. + * + */ + public String issuer() { + return this.issuer; + } + /** + * @return The Tenant which should be used for authentication. + * + */ + public String tenant() { + return this.tenant; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetVpnServerConfigurationAzureActiveDirectoryAuthentication defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String audience; + private String issuer; + private String tenant; + public Builder() {} + public Builder(GetVpnServerConfigurationAzureActiveDirectoryAuthentication defaults) { + Objects.requireNonNull(defaults); + this.audience = defaults.audience; + this.issuer = defaults.issuer; + this.tenant = defaults.tenant; + } + + @CustomType.Setter + public Builder audience(String audience) { + if (audience == null) { + throw new MissingRequiredPropertyException("GetVpnServerConfigurationAzureActiveDirectoryAuthentication", "audience"); + } + this.audience = audience; + return this; + } + @CustomType.Setter + public Builder issuer(String issuer) { + if (issuer == null) { + throw new MissingRequiredPropertyException("GetVpnServerConfigurationAzureActiveDirectoryAuthentication", "issuer"); + } + this.issuer = issuer; + return this; + } + @CustomType.Setter + public Builder tenant(String tenant) { + if (tenant == null) { + throw new MissingRequiredPropertyException("GetVpnServerConfigurationAzureActiveDirectoryAuthentication", "tenant"); + } + this.tenant = tenant; + return this; + } + public GetVpnServerConfigurationAzureActiveDirectoryAuthentication build() { + final var _resultValue = new GetVpnServerConfigurationAzureActiveDirectoryAuthentication(); + _resultValue.audience = audience; + _resultValue.issuer = issuer; + _resultValue.tenant = tenant; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/azure/network/outputs/GetVpnServerConfigurationClientRevokedCertificate.java b/sdk/java/src/main/java/com/pulumi/azure/network/outputs/GetVpnServerConfigurationClientRevokedCertificate.java new file mode 100644 index 0000000000..ce05ffdb00 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/azure/network/outputs/GetVpnServerConfigurationClientRevokedCertificate.java @@ -0,0 +1,81 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.azure.network.outputs; + +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class GetVpnServerConfigurationClientRevokedCertificate { + /** + * @return The Name of the VPN Server Configuration. + * + */ + private String name; + /** + * @return The Thumbprint of the Certificate. + * + */ + private String thumbprint; + + private GetVpnServerConfigurationClientRevokedCertificate() {} + /** + * @return The Name of the VPN Server Configuration. + * + */ + public String name() { + return this.name; + } + /** + * @return The Thumbprint of the Certificate. + * + */ + public String thumbprint() { + return this.thumbprint; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetVpnServerConfigurationClientRevokedCertificate defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String name; + private String thumbprint; + public Builder() {} + public Builder(GetVpnServerConfigurationClientRevokedCertificate defaults) { + Objects.requireNonNull(defaults); + this.name = defaults.name; + this.thumbprint = defaults.thumbprint; + } + + @CustomType.Setter + public Builder name(String name) { + if (name == null) { + throw new MissingRequiredPropertyException("GetVpnServerConfigurationClientRevokedCertificate", "name"); + } + this.name = name; + return this; + } + @CustomType.Setter + public Builder thumbprint(String thumbprint) { + if (thumbprint == null) { + throw new MissingRequiredPropertyException("GetVpnServerConfigurationClientRevokedCertificate", "thumbprint"); + } + this.thumbprint = thumbprint; + return this; + } + public GetVpnServerConfigurationClientRevokedCertificate build() { + final var _resultValue = new GetVpnServerConfigurationClientRevokedCertificate(); + _resultValue.name = name; + _resultValue.thumbprint = thumbprint; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/azure/network/outputs/GetVpnServerConfigurationClientRootCertificate.java b/sdk/java/src/main/java/com/pulumi/azure/network/outputs/GetVpnServerConfigurationClientRootCertificate.java new file mode 100644 index 0000000000..0b3db4f942 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/azure/network/outputs/GetVpnServerConfigurationClientRootCertificate.java @@ -0,0 +1,81 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.azure.network.outputs; + +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class GetVpnServerConfigurationClientRootCertificate { + /** + * @return The Name of the VPN Server Configuration. + * + */ + private String name; + /** + * @return The Public Key Data associated with the Certificate. + * + */ + private String publicCertData; + + private GetVpnServerConfigurationClientRootCertificate() {} + /** + * @return The Name of the VPN Server Configuration. + * + */ + public String name() { + return this.name; + } + /** + * @return The Public Key Data associated with the Certificate. + * + */ + public String publicCertData() { + return this.publicCertData; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetVpnServerConfigurationClientRootCertificate defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String name; + private String publicCertData; + public Builder() {} + public Builder(GetVpnServerConfigurationClientRootCertificate defaults) { + Objects.requireNonNull(defaults); + this.name = defaults.name; + this.publicCertData = defaults.publicCertData; + } + + @CustomType.Setter + public Builder name(String name) { + if (name == null) { + throw new MissingRequiredPropertyException("GetVpnServerConfigurationClientRootCertificate", "name"); + } + this.name = name; + return this; + } + @CustomType.Setter + public Builder publicCertData(String publicCertData) { + if (publicCertData == null) { + throw new MissingRequiredPropertyException("GetVpnServerConfigurationClientRootCertificate", "publicCertData"); + } + this.publicCertData = publicCertData; + return this; + } + public GetVpnServerConfigurationClientRootCertificate build() { + final var _resultValue = new GetVpnServerConfigurationClientRootCertificate(); + _resultValue.name = name; + _resultValue.publicCertData = publicCertData; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/azure/network/outputs/GetVpnServerConfigurationIpsecPolicy.java b/sdk/java/src/main/java/com/pulumi/azure/network/outputs/GetVpnServerConfigurationIpsecPolicy.java new file mode 100644 index 0000000000..46d0d1cae7 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/azure/network/outputs/GetVpnServerConfigurationIpsecPolicy.java @@ -0,0 +1,220 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.azure.network.outputs; + +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.Integer; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class GetVpnServerConfigurationIpsecPolicy { + /** + * @return The DH Group, used in IKE Phase 1. + * + */ + private String dhGroup; + /** + * @return The IKE encryption algorithm, used for IKE Phase 2. + * + */ + private String ikeEncryption; + /** + * @return The IKE encryption integrity algorithm, used for IKE Phase 2. + * + */ + private String ikeIntegrity; + /** + * @return The IPSec encryption algorithm, used for IKE phase 1. + * + */ + private String ipsecEncryption; + /** + * @return The IPSec integrity algorithm, used for IKE phase 1. + * + */ + private String ipsecIntegrity; + /** + * @return The Pfs Group, used in IKE Phase 2. + * + */ + private String pfsGroup; + /** + * @return The IPSec Security Association payload size in KB for a Site-to-Site VPN tunnel. + * + */ + private Integer saDataSizeKilobytes; + /** + * @return The IPSec Security Association lifetime in seconds for a Site-to-Site VPN tunnel. + * + */ + private Integer saLifetimeSeconds; + + private GetVpnServerConfigurationIpsecPolicy() {} + /** + * @return The DH Group, used in IKE Phase 1. + * + */ + public String dhGroup() { + return this.dhGroup; + } + /** + * @return The IKE encryption algorithm, used for IKE Phase 2. + * + */ + public String ikeEncryption() { + return this.ikeEncryption; + } + /** + * @return The IKE encryption integrity algorithm, used for IKE Phase 2. + * + */ + public String ikeIntegrity() { + return this.ikeIntegrity; + } + /** + * @return The IPSec encryption algorithm, used for IKE phase 1. + * + */ + public String ipsecEncryption() { + return this.ipsecEncryption; + } + /** + * @return The IPSec integrity algorithm, used for IKE phase 1. + * + */ + public String ipsecIntegrity() { + return this.ipsecIntegrity; + } + /** + * @return The Pfs Group, used in IKE Phase 2. + * + */ + public String pfsGroup() { + return this.pfsGroup; + } + /** + * @return The IPSec Security Association payload size in KB for a Site-to-Site VPN tunnel. + * + */ + public Integer saDataSizeKilobytes() { + return this.saDataSizeKilobytes; + } + /** + * @return The IPSec Security Association lifetime in seconds for a Site-to-Site VPN tunnel. + * + */ + public Integer saLifetimeSeconds() { + return this.saLifetimeSeconds; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetVpnServerConfigurationIpsecPolicy defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String dhGroup; + private String ikeEncryption; + private String ikeIntegrity; + private String ipsecEncryption; + private String ipsecIntegrity; + private String pfsGroup; + private Integer saDataSizeKilobytes; + private Integer saLifetimeSeconds; + public Builder() {} + public Builder(GetVpnServerConfigurationIpsecPolicy defaults) { + Objects.requireNonNull(defaults); + this.dhGroup = defaults.dhGroup; + this.ikeEncryption = defaults.ikeEncryption; + this.ikeIntegrity = defaults.ikeIntegrity; + this.ipsecEncryption = defaults.ipsecEncryption; + this.ipsecIntegrity = defaults.ipsecIntegrity; + this.pfsGroup = defaults.pfsGroup; + this.saDataSizeKilobytes = defaults.saDataSizeKilobytes; + this.saLifetimeSeconds = defaults.saLifetimeSeconds; + } + + @CustomType.Setter + public Builder dhGroup(String dhGroup) { + if (dhGroup == null) { + throw new MissingRequiredPropertyException("GetVpnServerConfigurationIpsecPolicy", "dhGroup"); + } + this.dhGroup = dhGroup; + return this; + } + @CustomType.Setter + public Builder ikeEncryption(String ikeEncryption) { + if (ikeEncryption == null) { + throw new MissingRequiredPropertyException("GetVpnServerConfigurationIpsecPolicy", "ikeEncryption"); + } + this.ikeEncryption = ikeEncryption; + return this; + } + @CustomType.Setter + public Builder ikeIntegrity(String ikeIntegrity) { + if (ikeIntegrity == null) { + throw new MissingRequiredPropertyException("GetVpnServerConfigurationIpsecPolicy", "ikeIntegrity"); + } + this.ikeIntegrity = ikeIntegrity; + return this; + } + @CustomType.Setter + public Builder ipsecEncryption(String ipsecEncryption) { + if (ipsecEncryption == null) { + throw new MissingRequiredPropertyException("GetVpnServerConfigurationIpsecPolicy", "ipsecEncryption"); + } + this.ipsecEncryption = ipsecEncryption; + return this; + } + @CustomType.Setter + public Builder ipsecIntegrity(String ipsecIntegrity) { + if (ipsecIntegrity == null) { + throw new MissingRequiredPropertyException("GetVpnServerConfigurationIpsecPolicy", "ipsecIntegrity"); + } + this.ipsecIntegrity = ipsecIntegrity; + return this; + } + @CustomType.Setter + public Builder pfsGroup(String pfsGroup) { + if (pfsGroup == null) { + throw new MissingRequiredPropertyException("GetVpnServerConfigurationIpsecPolicy", "pfsGroup"); + } + this.pfsGroup = pfsGroup; + return this; + } + @CustomType.Setter + public Builder saDataSizeKilobytes(Integer saDataSizeKilobytes) { + if (saDataSizeKilobytes == null) { + throw new MissingRequiredPropertyException("GetVpnServerConfigurationIpsecPolicy", "saDataSizeKilobytes"); + } + this.saDataSizeKilobytes = saDataSizeKilobytes; + return this; + } + @CustomType.Setter + public Builder saLifetimeSeconds(Integer saLifetimeSeconds) { + if (saLifetimeSeconds == null) { + throw new MissingRequiredPropertyException("GetVpnServerConfigurationIpsecPolicy", "saLifetimeSeconds"); + } + this.saLifetimeSeconds = saLifetimeSeconds; + return this; + } + public GetVpnServerConfigurationIpsecPolicy build() { + final var _resultValue = new GetVpnServerConfigurationIpsecPolicy(); + _resultValue.dhGroup = dhGroup; + _resultValue.ikeEncryption = ikeEncryption; + _resultValue.ikeIntegrity = ikeIntegrity; + _resultValue.ipsecEncryption = ipsecEncryption; + _resultValue.ipsecIntegrity = ipsecIntegrity; + _resultValue.pfsGroup = pfsGroup; + _resultValue.saDataSizeKilobytes = saDataSizeKilobytes; + _resultValue.saLifetimeSeconds = saLifetimeSeconds; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/azure/network/outputs/GetVpnServerConfigurationRadius.java b/sdk/java/src/main/java/com/pulumi/azure/network/outputs/GetVpnServerConfigurationRadius.java new file mode 100644 index 0000000000..66b820d6fa --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/azure/network/outputs/GetVpnServerConfigurationRadius.java @@ -0,0 +1,116 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.azure.network.outputs; + +import com.pulumi.azure.network.outputs.GetVpnServerConfigurationRadiusClientRootCertificate; +import com.pulumi.azure.network.outputs.GetVpnServerConfigurationRadiusServer; +import com.pulumi.azure.network.outputs.GetVpnServerConfigurationRadiusServerRootCertificate; +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.util.List; +import java.util.Objects; + +@CustomType +public final class GetVpnServerConfigurationRadius { + /** + * @return One or more `client_root_certificate` blocks as defined below. + * + */ + private List clientRootCertificates; + /** + * @return One or more `server_root_certificate` blocks as defined below. + * + */ + private List serverRootCertificates; + /** + * @return One or more `server` blocks as defined below. + * + */ + private List servers; + + private GetVpnServerConfigurationRadius() {} + /** + * @return One or more `client_root_certificate` blocks as defined below. + * + */ + public List clientRootCertificates() { + return this.clientRootCertificates; + } + /** + * @return One or more `server_root_certificate` blocks as defined below. + * + */ + public List serverRootCertificates() { + return this.serverRootCertificates; + } + /** + * @return One or more `server` blocks as defined below. + * + */ + public List servers() { + return this.servers; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetVpnServerConfigurationRadius defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private List clientRootCertificates; + private List serverRootCertificates; + private List servers; + public Builder() {} + public Builder(GetVpnServerConfigurationRadius defaults) { + Objects.requireNonNull(defaults); + this.clientRootCertificates = defaults.clientRootCertificates; + this.serverRootCertificates = defaults.serverRootCertificates; + this.servers = defaults.servers; + } + + @CustomType.Setter + public Builder clientRootCertificates(List clientRootCertificates) { + if (clientRootCertificates == null) { + throw new MissingRequiredPropertyException("GetVpnServerConfigurationRadius", "clientRootCertificates"); + } + this.clientRootCertificates = clientRootCertificates; + return this; + } + public Builder clientRootCertificates(GetVpnServerConfigurationRadiusClientRootCertificate... clientRootCertificates) { + return clientRootCertificates(List.of(clientRootCertificates)); + } + @CustomType.Setter + public Builder serverRootCertificates(List serverRootCertificates) { + if (serverRootCertificates == null) { + throw new MissingRequiredPropertyException("GetVpnServerConfigurationRadius", "serverRootCertificates"); + } + this.serverRootCertificates = serverRootCertificates; + return this; + } + public Builder serverRootCertificates(GetVpnServerConfigurationRadiusServerRootCertificate... serverRootCertificates) { + return serverRootCertificates(List.of(serverRootCertificates)); + } + @CustomType.Setter + public Builder servers(List servers) { + if (servers == null) { + throw new MissingRequiredPropertyException("GetVpnServerConfigurationRadius", "servers"); + } + this.servers = servers; + return this; + } + public Builder servers(GetVpnServerConfigurationRadiusServer... servers) { + return servers(List.of(servers)); + } + public GetVpnServerConfigurationRadius build() { + final var _resultValue = new GetVpnServerConfigurationRadius(); + _resultValue.clientRootCertificates = clientRootCertificates; + _resultValue.serverRootCertificates = serverRootCertificates; + _resultValue.servers = servers; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/azure/network/outputs/GetVpnServerConfigurationRadiusClientRootCertificate.java b/sdk/java/src/main/java/com/pulumi/azure/network/outputs/GetVpnServerConfigurationRadiusClientRootCertificate.java new file mode 100644 index 0000000000..49f47fe7bb --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/azure/network/outputs/GetVpnServerConfigurationRadiusClientRootCertificate.java @@ -0,0 +1,81 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.azure.network.outputs; + +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class GetVpnServerConfigurationRadiusClientRootCertificate { + /** + * @return The Name of the VPN Server Configuration. + * + */ + private String name; + /** + * @return The Thumbprint of the Certificate. + * + */ + private String thumbprint; + + private GetVpnServerConfigurationRadiusClientRootCertificate() {} + /** + * @return The Name of the VPN Server Configuration. + * + */ + public String name() { + return this.name; + } + /** + * @return The Thumbprint of the Certificate. + * + */ + public String thumbprint() { + return this.thumbprint; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetVpnServerConfigurationRadiusClientRootCertificate defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String name; + private String thumbprint; + public Builder() {} + public Builder(GetVpnServerConfigurationRadiusClientRootCertificate defaults) { + Objects.requireNonNull(defaults); + this.name = defaults.name; + this.thumbprint = defaults.thumbprint; + } + + @CustomType.Setter + public Builder name(String name) { + if (name == null) { + throw new MissingRequiredPropertyException("GetVpnServerConfigurationRadiusClientRootCertificate", "name"); + } + this.name = name; + return this; + } + @CustomType.Setter + public Builder thumbprint(String thumbprint) { + if (thumbprint == null) { + throw new MissingRequiredPropertyException("GetVpnServerConfigurationRadiusClientRootCertificate", "thumbprint"); + } + this.thumbprint = thumbprint; + return this; + } + public GetVpnServerConfigurationRadiusClientRootCertificate build() { + final var _resultValue = new GetVpnServerConfigurationRadiusClientRootCertificate(); + _resultValue.name = name; + _resultValue.thumbprint = thumbprint; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/azure/network/outputs/GetVpnServerConfigurationRadiusServer.java b/sdk/java/src/main/java/com/pulumi/azure/network/outputs/GetVpnServerConfigurationRadiusServer.java new file mode 100644 index 0000000000..b480544faf --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/azure/network/outputs/GetVpnServerConfigurationRadiusServer.java @@ -0,0 +1,105 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.azure.network.outputs; + +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.Integer; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class GetVpnServerConfigurationRadiusServer { + /** + * @return The Address of the Radius Server. + * + */ + private String address; + /** + * @return The Score of the Radius Server determines the priority of the server. + * + */ + private Integer score; + /** + * @return The Secret used to communicate with the Radius Server. + * + */ + private String secret; + + private GetVpnServerConfigurationRadiusServer() {} + /** + * @return The Address of the Radius Server. + * + */ + public String address() { + return this.address; + } + /** + * @return The Score of the Radius Server determines the priority of the server. + * + */ + public Integer score() { + return this.score; + } + /** + * @return The Secret used to communicate with the Radius Server. + * + */ + public String secret() { + return this.secret; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetVpnServerConfigurationRadiusServer defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String address; + private Integer score; + private String secret; + public Builder() {} + public Builder(GetVpnServerConfigurationRadiusServer defaults) { + Objects.requireNonNull(defaults); + this.address = defaults.address; + this.score = defaults.score; + this.secret = defaults.secret; + } + + @CustomType.Setter + public Builder address(String address) { + if (address == null) { + throw new MissingRequiredPropertyException("GetVpnServerConfigurationRadiusServer", "address"); + } + this.address = address; + return this; + } + @CustomType.Setter + public Builder score(Integer score) { + if (score == null) { + throw new MissingRequiredPropertyException("GetVpnServerConfigurationRadiusServer", "score"); + } + this.score = score; + return this; + } + @CustomType.Setter + public Builder secret(String secret) { + if (secret == null) { + throw new MissingRequiredPropertyException("GetVpnServerConfigurationRadiusServer", "secret"); + } + this.secret = secret; + return this; + } + public GetVpnServerConfigurationRadiusServer build() { + final var _resultValue = new GetVpnServerConfigurationRadiusServer(); + _resultValue.address = address; + _resultValue.score = score; + _resultValue.secret = secret; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/azure/network/outputs/GetVpnServerConfigurationRadiusServerRootCertificate.java b/sdk/java/src/main/java/com/pulumi/azure/network/outputs/GetVpnServerConfigurationRadiusServerRootCertificate.java new file mode 100644 index 0000000000..084d502d19 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/azure/network/outputs/GetVpnServerConfigurationRadiusServerRootCertificate.java @@ -0,0 +1,81 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.azure.network.outputs; + +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class GetVpnServerConfigurationRadiusServerRootCertificate { + /** + * @return The Name of the VPN Server Configuration. + * + */ + private String name; + /** + * @return The Public Key Data associated with the Certificate. + * + */ + private String publicCertData; + + private GetVpnServerConfigurationRadiusServerRootCertificate() {} + /** + * @return The Name of the VPN Server Configuration. + * + */ + public String name() { + return this.name; + } + /** + * @return The Public Key Data associated with the Certificate. + * + */ + public String publicCertData() { + return this.publicCertData; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetVpnServerConfigurationRadiusServerRootCertificate defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String name; + private String publicCertData; + public Builder() {} + public Builder(GetVpnServerConfigurationRadiusServerRootCertificate defaults) { + Objects.requireNonNull(defaults); + this.name = defaults.name; + this.publicCertData = defaults.publicCertData; + } + + @CustomType.Setter + public Builder name(String name) { + if (name == null) { + throw new MissingRequiredPropertyException("GetVpnServerConfigurationRadiusServerRootCertificate", "name"); + } + this.name = name; + return this; + } + @CustomType.Setter + public Builder publicCertData(String publicCertData) { + if (publicCertData == null) { + throw new MissingRequiredPropertyException("GetVpnServerConfigurationRadiusServerRootCertificate", "publicCertData"); + } + this.publicCertData = publicCertData; + return this; + } + public GetVpnServerConfigurationRadiusServerRootCertificate build() { + final var _resultValue = new GetVpnServerConfigurationRadiusServerRootCertificate(); + _resultValue.name = name; + _resultValue.publicCertData = publicCertData; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/azure/network/outputs/GetVpnServerConfigurationResult.java b/sdk/java/src/main/java/com/pulumi/azure/network/outputs/GetVpnServerConfigurationResult.java new file mode 100644 index 0000000000..22d65b9aee --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/azure/network/outputs/GetVpnServerConfigurationResult.java @@ -0,0 +1,331 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.azure.network.outputs; + +import com.pulumi.azure.network.outputs.GetVpnServerConfigurationAzureActiveDirectoryAuthentication; +import com.pulumi.azure.network.outputs.GetVpnServerConfigurationClientRevokedCertificate; +import com.pulumi.azure.network.outputs.GetVpnServerConfigurationClientRootCertificate; +import com.pulumi.azure.network.outputs.GetVpnServerConfigurationIpsecPolicy; +import com.pulumi.azure.network.outputs.GetVpnServerConfigurationRadius; +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.List; +import java.util.Map; +import java.util.Objects; + +@CustomType +public final class GetVpnServerConfigurationResult { + /** + * @return A `azure_active_directory_authentication` block as defined below. + * + */ + private List azureActiveDirectoryAuthentications; + /** + * @return One or more `client_revoked_certificate` blocks as defined below. + * + */ + private List clientRevokedCertificates; + /** + * @return One or more `client_root_certificate` blocks as defined below. + * + */ + private List clientRootCertificates; + /** + * @return The provider-assigned unique ID for this managed resource. + * + */ + private String id; + /** + * @return The `bgp_settings` block as defined below. + * + */ + private List ipsecPolicies; + /** + * @return The Azure Region where the VPN Server Configuration exists. + * + */ + private String location; + /** + * @return The name used to uniquely identify this certificate. + * + */ + private String name; + /** + * @return A `radius` block as defined below. + * + */ + private List radii; + private String resourceGroupName; + /** + * @return A mapping of tags to assign to the VPN Server Configuration. + * + */ + private Map tags; + /** + * @return The list of Authentication Types applicable for the VPN Server Configuration. + * + */ + private List vpnAuthenticationTypes; + /** + * @return The list of VPN Protocols to use for the VPN Server Configuration. + * + */ + private List vpnProtocols; + + private GetVpnServerConfigurationResult() {} + /** + * @return A `azure_active_directory_authentication` block as defined below. + * + */ + public List azureActiveDirectoryAuthentications() { + return this.azureActiveDirectoryAuthentications; + } + /** + * @return One or more `client_revoked_certificate` blocks as defined below. + * + */ + public List clientRevokedCertificates() { + return this.clientRevokedCertificates; + } + /** + * @return One or more `client_root_certificate` blocks as defined below. + * + */ + public List clientRootCertificates() { + return this.clientRootCertificates; + } + /** + * @return The provider-assigned unique ID for this managed resource. + * + */ + public String id() { + return this.id; + } + /** + * @return The `bgp_settings` block as defined below. + * + */ + public List ipsecPolicies() { + return this.ipsecPolicies; + } + /** + * @return The Azure Region where the VPN Server Configuration exists. + * + */ + public String location() { + return this.location; + } + /** + * @return The name used to uniquely identify this certificate. + * + */ + public String name() { + return this.name; + } + /** + * @return A `radius` block as defined below. + * + */ + public List radii() { + return this.radii; + } + public String resourceGroupName() { + return this.resourceGroupName; + } + /** + * @return A mapping of tags to assign to the VPN Server Configuration. + * + */ + public Map tags() { + return this.tags; + } + /** + * @return The list of Authentication Types applicable for the VPN Server Configuration. + * + */ + public List vpnAuthenticationTypes() { + return this.vpnAuthenticationTypes; + } + /** + * @return The list of VPN Protocols to use for the VPN Server Configuration. + * + */ + public List vpnProtocols() { + return this.vpnProtocols; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetVpnServerConfigurationResult defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private List azureActiveDirectoryAuthentications; + private List clientRevokedCertificates; + private List clientRootCertificates; + private String id; + private List ipsecPolicies; + private String location; + private String name; + private List radii; + private String resourceGroupName; + private Map tags; + private List vpnAuthenticationTypes; + private List vpnProtocols; + public Builder() {} + public Builder(GetVpnServerConfigurationResult defaults) { + Objects.requireNonNull(defaults); + this.azureActiveDirectoryAuthentications = defaults.azureActiveDirectoryAuthentications; + this.clientRevokedCertificates = defaults.clientRevokedCertificates; + this.clientRootCertificates = defaults.clientRootCertificates; + this.id = defaults.id; + this.ipsecPolicies = defaults.ipsecPolicies; + this.location = defaults.location; + this.name = defaults.name; + this.radii = defaults.radii; + this.resourceGroupName = defaults.resourceGroupName; + this.tags = defaults.tags; + this.vpnAuthenticationTypes = defaults.vpnAuthenticationTypes; + this.vpnProtocols = defaults.vpnProtocols; + } + + @CustomType.Setter + public Builder azureActiveDirectoryAuthentications(List azureActiveDirectoryAuthentications) { + if (azureActiveDirectoryAuthentications == null) { + throw new MissingRequiredPropertyException("GetVpnServerConfigurationResult", "azureActiveDirectoryAuthentications"); + } + this.azureActiveDirectoryAuthentications = azureActiveDirectoryAuthentications; + return this; + } + public Builder azureActiveDirectoryAuthentications(GetVpnServerConfigurationAzureActiveDirectoryAuthentication... azureActiveDirectoryAuthentications) { + return azureActiveDirectoryAuthentications(List.of(azureActiveDirectoryAuthentications)); + } + @CustomType.Setter + public Builder clientRevokedCertificates(List clientRevokedCertificates) { + if (clientRevokedCertificates == null) { + throw new MissingRequiredPropertyException("GetVpnServerConfigurationResult", "clientRevokedCertificates"); + } + this.clientRevokedCertificates = clientRevokedCertificates; + return this; + } + public Builder clientRevokedCertificates(GetVpnServerConfigurationClientRevokedCertificate... clientRevokedCertificates) { + return clientRevokedCertificates(List.of(clientRevokedCertificates)); + } + @CustomType.Setter + public Builder clientRootCertificates(List clientRootCertificates) { + if (clientRootCertificates == null) { + throw new MissingRequiredPropertyException("GetVpnServerConfigurationResult", "clientRootCertificates"); + } + this.clientRootCertificates = clientRootCertificates; + return this; + } + public Builder clientRootCertificates(GetVpnServerConfigurationClientRootCertificate... clientRootCertificates) { + return clientRootCertificates(List.of(clientRootCertificates)); + } + @CustomType.Setter + public Builder id(String id) { + if (id == null) { + throw new MissingRequiredPropertyException("GetVpnServerConfigurationResult", "id"); + } + this.id = id; + return this; + } + @CustomType.Setter + public Builder ipsecPolicies(List ipsecPolicies) { + if (ipsecPolicies == null) { + throw new MissingRequiredPropertyException("GetVpnServerConfigurationResult", "ipsecPolicies"); + } + this.ipsecPolicies = ipsecPolicies; + return this; + } + public Builder ipsecPolicies(GetVpnServerConfigurationIpsecPolicy... ipsecPolicies) { + return ipsecPolicies(List.of(ipsecPolicies)); + } + @CustomType.Setter + public Builder location(String location) { + if (location == null) { + throw new MissingRequiredPropertyException("GetVpnServerConfigurationResult", "location"); + } + this.location = location; + return this; + } + @CustomType.Setter + public Builder name(String name) { + if (name == null) { + throw new MissingRequiredPropertyException("GetVpnServerConfigurationResult", "name"); + } + this.name = name; + return this; + } + @CustomType.Setter + public Builder radii(List radii) { + if (radii == null) { + throw new MissingRequiredPropertyException("GetVpnServerConfigurationResult", "radii"); + } + this.radii = radii; + return this; + } + public Builder radii(GetVpnServerConfigurationRadius... radii) { + return radii(List.of(radii)); + } + @CustomType.Setter + public Builder resourceGroupName(String resourceGroupName) { + if (resourceGroupName == null) { + throw new MissingRequiredPropertyException("GetVpnServerConfigurationResult", "resourceGroupName"); + } + this.resourceGroupName = resourceGroupName; + return this; + } + @CustomType.Setter + public Builder tags(Map tags) { + if (tags == null) { + throw new MissingRequiredPropertyException("GetVpnServerConfigurationResult", "tags"); + } + this.tags = tags; + return this; + } + @CustomType.Setter + public Builder vpnAuthenticationTypes(List vpnAuthenticationTypes) { + if (vpnAuthenticationTypes == null) { + throw new MissingRequiredPropertyException("GetVpnServerConfigurationResult", "vpnAuthenticationTypes"); + } + this.vpnAuthenticationTypes = vpnAuthenticationTypes; + return this; + } + public Builder vpnAuthenticationTypes(String... vpnAuthenticationTypes) { + return vpnAuthenticationTypes(List.of(vpnAuthenticationTypes)); + } + @CustomType.Setter + public Builder vpnProtocols(List vpnProtocols) { + if (vpnProtocols == null) { + throw new MissingRequiredPropertyException("GetVpnServerConfigurationResult", "vpnProtocols"); + } + this.vpnProtocols = vpnProtocols; + return this; + } + public Builder vpnProtocols(String... vpnProtocols) { + return vpnProtocols(List.of(vpnProtocols)); + } + public GetVpnServerConfigurationResult build() { + final var _resultValue = new GetVpnServerConfigurationResult(); + _resultValue.azureActiveDirectoryAuthentications = azureActiveDirectoryAuthentications; + _resultValue.clientRevokedCertificates = clientRevokedCertificates; + _resultValue.clientRootCertificates = clientRootCertificates; + _resultValue.id = id; + _resultValue.ipsecPolicies = ipsecPolicies; + _resultValue.location = location; + _resultValue.name = name; + _resultValue.radii = radii; + _resultValue.resourceGroupName = resourceGroupName; + _resultValue.tags = tags; + _resultValue.vpnAuthenticationTypes = vpnAuthenticationTypes; + _resultValue.vpnProtocols = vpnProtocols; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/azure/nginx/Deployment.java b/sdk/java/src/main/java/com/pulumi/azure/nginx/Deployment.java index afaf369eb2..49bd08a7cb 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/nginx/Deployment.java +++ b/sdk/java/src/main/java/com/pulumi/azure/nginx/Deployment.java @@ -102,7 +102,7 @@ * var exampleDeployment = new Deployment("exampleDeployment", DeploymentArgs.builder() * .name("example-nginx") * .resourceGroupName(example.name()) - * .sku("standard_Monthly") + * .sku("standardv2_Monthly") * .location(example.location()) * .managedResourceGroup("example") * .diagnoseSupportEnabled(true) diff --git a/sdk/java/src/main/java/com/pulumi/azure/nginx/outputs/GetDeploymentResult.java b/sdk/java/src/main/java/com/pulumi/azure/nginx/outputs/GetDeploymentResult.java index cf1c735f64..4913735c4f 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/nginx/outputs/GetDeploymentResult.java +++ b/sdk/java/src/main/java/com/pulumi/azure/nginx/outputs/GetDeploymentResult.java @@ -102,7 +102,7 @@ public final class GetDeploymentResult { private String nginxVersion; private String resourceGroupName; /** - * @return The NGINX Deployment SKU. Possible values include `standard_Monthly`. + * @return The NGINX Deployment SKU. * */ private String sku; @@ -229,7 +229,7 @@ public String resourceGroupName() { return this.resourceGroupName; } /** - * @return The NGINX Deployment SKU. Possible values include `standard_Monthly`. + * @return The NGINX Deployment SKU. * */ public String sku() { diff --git a/sdk/java/src/main/java/com/pulumi/azure/pim/RoleManagementPolicy.java b/sdk/java/src/main/java/com/pulumi/azure/pim/RoleManagementPolicy.java index 04764bc46a..f6cd7dd24d 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/pim/RoleManagementPolicy.java +++ b/sdk/java/src/main/java/com/pulumi/azure/pim/RoleManagementPolicy.java @@ -303,14 +303,14 @@ public Output roleDefinitionId() { return this.roleDefinitionId; } /** - * 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. * */ @Export(name="scope", refs={String.class}, tree="[0]") private Output scope; /** - * @return 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. + * @return 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. * */ public Output scope() { diff --git a/sdk/java/src/main/java/com/pulumi/azure/pim/RoleManagementPolicyArgs.java b/sdk/java/src/main/java/com/pulumi/azure/pim/RoleManagementPolicyArgs.java index f1ae08ca05..e49146dc63 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/pim/RoleManagementPolicyArgs.java +++ b/sdk/java/src/main/java/com/pulumi/azure/pim/RoleManagementPolicyArgs.java @@ -96,14 +96,14 @@ public Output roleDefinitionId() { } /** - * 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. * */ @Import(name="scope", required=true) private Output scope; /** - * @return 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. + * @return 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. * */ public Output scope() { @@ -245,7 +245,7 @@ public Builder roleDefinitionId(String roleDefinitionId) { } /** - * @param scope 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. + * @param scope 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. * * @return builder * @@ -256,7 +256,7 @@ public Builder scope(Output scope) { } /** - * @param scope 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. + * @param scope 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. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/azure/pim/inputs/GetRoleManagementPolicyArgs.java b/sdk/java/src/main/java/com/pulumi/azure/pim/inputs/GetRoleManagementPolicyArgs.java index 28574991f5..246ae2d92a 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/pim/inputs/GetRoleManagementPolicyArgs.java +++ b/sdk/java/src/main/java/com/pulumi/azure/pim/inputs/GetRoleManagementPolicyArgs.java @@ -30,14 +30,14 @@ public Output roleDefinitionId() { } /** - * 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. * */ @Import(name="scope", required=true) private Output scope; /** - * @return The scope to which this Role Management Policy applies. Can refer to a management group, a subscription or a resource group. + * @return The scope to which this Role Management Policy applies. Can refer to a management group, a subscription, a resource group or a resource. * */ public Output scope() { @@ -91,7 +91,7 @@ public Builder roleDefinitionId(String roleDefinitionId) { } /** - * @param scope The scope to which this Role Management Policy applies. Can refer to a management group, a subscription or a resource group. + * @param scope The scope to which this Role Management Policy applies. Can refer to a management group, a subscription, a resource group or a resource. * * @return builder * @@ -102,7 +102,7 @@ public Builder scope(Output scope) { } /** - * @param scope The scope to which this Role Management Policy applies. Can refer to a management group, a subscription or a resource group. + * @param scope The scope to which this Role Management Policy applies. Can refer to a management group, a subscription, a resource group or a resource. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/azure/pim/inputs/GetRoleManagementPolicyPlainArgs.java b/sdk/java/src/main/java/com/pulumi/azure/pim/inputs/GetRoleManagementPolicyPlainArgs.java index 66aa738652..bfaa915bc5 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/pim/inputs/GetRoleManagementPolicyPlainArgs.java +++ b/sdk/java/src/main/java/com/pulumi/azure/pim/inputs/GetRoleManagementPolicyPlainArgs.java @@ -29,14 +29,14 @@ public String roleDefinitionId() { } /** - * 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. * */ @Import(name="scope", required=true) private String scope; /** - * @return The scope to which this Role Management Policy applies. Can refer to a management group, a subscription or a resource group. + * @return The scope to which this Role Management Policy applies. Can refer to a management group, a subscription, a resource group or a resource. * */ public String scope() { @@ -80,7 +80,7 @@ public Builder roleDefinitionId(String roleDefinitionId) { } /** - * @param scope The scope to which this Role Management Policy applies. Can refer to a management group, a subscription or a resource group. + * @param scope The scope to which this Role Management Policy applies. Can refer to a management group, a subscription, a resource group or a resource. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/azure/pim/inputs/RoleManagementPolicyState.java b/sdk/java/src/main/java/com/pulumi/azure/pim/inputs/RoleManagementPolicyState.java index 0186af4f57..5c3eecb103 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/pim/inputs/RoleManagementPolicyState.java +++ b/sdk/java/src/main/java/com/pulumi/azure/pim/inputs/RoleManagementPolicyState.java @@ -125,14 +125,14 @@ public Optional> roleDefinitionId() { } /** - * 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. * */ @Import(name="scope") private @Nullable Output scope; /** - * @return 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. + * @return 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. * */ public Optional> scope() { @@ -318,7 +318,7 @@ public Builder roleDefinitionId(String roleDefinitionId) { } /** - * @param scope 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. + * @param scope 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. * * @return builder * @@ -329,7 +329,7 @@ public Builder scope(@Nullable Output scope) { } /** - * @param scope 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. + * @param scope 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. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/azure/sentinel/ThreatIntelligenceIndicator.java b/sdk/java/src/main/java/com/pulumi/azure/sentinel/ThreatIntelligenceIndicator.java index 8b786b1dd0..b2b8a66bef 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/sentinel/ThreatIntelligenceIndicator.java +++ b/sdk/java/src/main/java/com/pulumi/azure/sentinel/ThreatIntelligenceIndicator.java @@ -27,6 +27,64 @@ * ## Example Usage * * <!--Start PulumiCodeChooser --> + *
+ * {@code
+ * package generated_program;
+ * 
+ * import com.pulumi.Context;
+ * import com.pulumi.Pulumi;
+ * import com.pulumi.core.Output;
+ * import com.pulumi.azure.core.ResourceGroup;
+ * import com.pulumi.azure.core.ResourceGroupArgs;
+ * import com.pulumi.azure.operationalinsights.AnalyticsWorkspace;
+ * import com.pulumi.azure.operationalinsights.AnalyticsWorkspaceArgs;
+ * import com.pulumi.azure.sentinel.LogAnalyticsWorkspaceOnboarding;
+ * import com.pulumi.azure.sentinel.LogAnalyticsWorkspaceOnboardingArgs;
+ * import com.pulumi.azure.sentinel.ThreatIntelligenceIndicator;
+ * import com.pulumi.azure.sentinel.ThreatIntelligenceIndicatorArgs;
+ * import java.util.List;
+ * import java.util.ArrayList;
+ * import java.util.Map;
+ * import java.io.File;
+ * import java.nio.file.Files;
+ * import java.nio.file.Paths;
+ * 
+ * public class App {
+ *     public static void main(String[] args) {
+ *         Pulumi.run(App::stack);
+ *     }
+ * 
+ *     public static void stack(Context ctx) {
+ *         var example = new ResourceGroup("example", ResourceGroupArgs.builder()
+ *             .name("example-rg")
+ *             .location("east us")
+ *             .build());
+ * 
+ *         var exampleAnalyticsWorkspace = new AnalyticsWorkspace("exampleAnalyticsWorkspace", AnalyticsWorkspaceArgs.builder()
+ *             .name("example-law")
+ *             .location(example.location())
+ *             .resourceGroupName(example.name())
+ *             .sku("PerGB2018")
+ *             .retentionInDays(30)
+ *             .build());
+ * 
+ *         var exampleLogAnalyticsWorkspaceOnboarding = new LogAnalyticsWorkspaceOnboarding("exampleLogAnalyticsWorkspaceOnboarding", LogAnalyticsWorkspaceOnboardingArgs.builder()
+ *             .workspaceId(exampleAnalyticsWorkspace.id())
+ *             .build());
+ * 
+ *         var exampleThreatIntelligenceIndicator = new ThreatIntelligenceIndicator("exampleThreatIntelligenceIndicator", ThreatIntelligenceIndicatorArgs.builder()
+ *             .workspaceId(exampleLogAnalyticsWorkspaceOnboarding.workspaceId())
+ *             .patternType("domain-name")
+ *             .pattern("http://example.com")
+ *             .source("Microsoft Sentinel")
+ *             .validateFromUtc("2022-12-14T16:00:00Z")
+ *             .displayName("example-indicator")
+ *             .build());
+ * 
+ *     }
+ * }
+ * }
+ * 
* <!--End PulumiCodeChooser --> * * ## Import diff --git a/sdk/java/src/main/java/com/pulumi/azure/stack/HciDeploymentSetting.java b/sdk/java/src/main/java/com/pulumi/azure/stack/HciDeploymentSetting.java new file mode 100644 index 0000000000..3195895b5c --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/azure/stack/HciDeploymentSetting.java @@ -0,0 +1,148 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.azure.stack; + +import com.pulumi.azure.Utilities; +import com.pulumi.azure.stack.HciDeploymentSettingArgs; +import com.pulumi.azure.stack.inputs.HciDeploymentSettingState; +import com.pulumi.azure.stack.outputs.HciDeploymentSettingScaleUnit; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Export; +import com.pulumi.core.annotations.ResourceType; +import com.pulumi.core.internal.Codegen; +import java.lang.String; +import java.util.List; +import javax.annotation.Nullable; + +/** + * 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 + * ``` + * + */ +@ResourceType(type="azure:stack/hciDeploymentSetting:HciDeploymentSetting") +public class HciDeploymentSetting extends com.pulumi.resources.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. + * + */ + @Export(name="arcResourceIds", refs={List.class,String.class}, tree="[0,1]") + private Output> arcResourceIds; + + /** + * @return 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 Output> arcResourceIds() { + return this.arcResourceIds; + } + /** + * One or more `scale_unit` blocks as defined below. Changing this forces a new Stack HCI Deployment Setting to be created. + * + */ + @Export(name="scaleUnits", refs={List.class,HciDeploymentSettingScaleUnit.class}, tree="[0,1]") + private Output> scaleUnits; + + /** + * @return One or more `scale_unit` blocks as defined below. Changing this forces a new Stack HCI Deployment Setting to be created. + * + */ + public Output> scaleUnits() { + return this.scaleUnits; + } + /** + * The ID of the Azure Stack HCI cluster. Changing this forces a new Stack HCI Deployment Setting to be created. + * + */ + @Export(name="stackHciClusterId", refs={String.class}, tree="[0]") + private Output stackHciClusterId; + + /** + * @return The ID of the Azure Stack HCI cluster. Changing this forces a new Stack HCI Deployment Setting to be created. + * + */ + public Output stackHciClusterId() { + return this.stackHciClusterId; + } + /** + * 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. + * + */ + @Export(name="version", refs={String.class}, tree="[0]") + private Output version; + + /** + * @return 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. + * + */ + public Output version() { + return this.version; + } + + /** + * + * @param name The _unique_ name of the resulting resource. + */ + public HciDeploymentSetting(java.lang.String name) { + this(name, HciDeploymentSettingArgs.Empty); + } + /** + * + * @param name The _unique_ name of the resulting resource. + * @param args The arguments to use to populate this resource's properties. + */ + public HciDeploymentSetting(java.lang.String name, HciDeploymentSettingArgs args) { + this(name, args, null); + } + /** + * + * @param name The _unique_ name of the resulting resource. + * @param args The arguments to use to populate this resource's properties. + * @param options A bag of options that control this resource's behavior. + */ + public HciDeploymentSetting(java.lang.String name, HciDeploymentSettingArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("azure:stack/hciDeploymentSetting:HciDeploymentSetting", name, makeArgs(args, options), makeResourceOptions(options, Codegen.empty()), false); + } + + private HciDeploymentSetting(java.lang.String name, Output id, @Nullable HciDeploymentSettingState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("azure:stack/hciDeploymentSetting:HciDeploymentSetting", name, state, makeResourceOptions(options, id), false); + } + + private static HciDeploymentSettingArgs makeArgs(HciDeploymentSettingArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + if (options != null && options.getUrn().isPresent()) { + return null; + } + return args == null ? HciDeploymentSettingArgs.Empty : args; + } + + private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { + var defaultOptions = com.pulumi.resources.CustomResourceOptions.builder() + .version(Utilities.getVersion()) + .build(); + return com.pulumi.resources.CustomResourceOptions.merge(defaultOptions, options, id); + } + + /** + * Get an existing Host resource's state with the given name, ID, and optional extra + * properties used to qualify the lookup. + * + * @param name The _unique_ name of the resulting resource. + * @param id The _unique_ provider ID of the resource to lookup. + * @param state + * @param options Optional settings to control the behavior of the CustomResource. + */ + public static HciDeploymentSetting get(java.lang.String name, Output id, @Nullable HciDeploymentSettingState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + return new HciDeploymentSetting(name, id, state, options); + } +} diff --git a/sdk/java/src/main/java/com/pulumi/azure/stack/HciDeploymentSettingArgs.java b/sdk/java/src/main/java/com/pulumi/azure/stack/HciDeploymentSettingArgs.java new file mode 100644 index 0000000000..1bdde6fd87 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/azure/stack/HciDeploymentSettingArgs.java @@ -0,0 +1,227 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.azure.stack; + +import com.pulumi.azure.stack.inputs.HciDeploymentSettingScaleUnitArgs; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.List; +import java.util.Objects; + + +public final class HciDeploymentSettingArgs extends com.pulumi.resources.ResourceArgs { + + public static final HciDeploymentSettingArgs Empty = new HciDeploymentSettingArgs(); + + /** + * 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. + * + */ + @Import(name="arcResourceIds", required=true) + private Output> arcResourceIds; + + /** + * @return 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 Output> arcResourceIds() { + return this.arcResourceIds; + } + + /** + * One or more `scale_unit` blocks as defined below. Changing this forces a new Stack HCI Deployment Setting to be created. + * + */ + @Import(name="scaleUnits", required=true) + private Output> scaleUnits; + + /** + * @return One or more `scale_unit` blocks as defined below. Changing this forces a new Stack HCI Deployment Setting to be created. + * + */ + public Output> scaleUnits() { + return this.scaleUnits; + } + + /** + * The ID of the Azure Stack HCI cluster. Changing this forces a new Stack HCI Deployment Setting to be created. + * + */ + @Import(name="stackHciClusterId", required=true) + private Output stackHciClusterId; + + /** + * @return The ID of the Azure Stack HCI cluster. Changing this forces a new Stack HCI Deployment Setting to be created. + * + */ + public Output stackHciClusterId() { + return this.stackHciClusterId; + } + + /** + * 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. + * + */ + @Import(name="version", required=true) + private Output version; + + /** + * @return 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. + * + */ + public Output version() { + return this.version; + } + + private HciDeploymentSettingArgs() {} + + private HciDeploymentSettingArgs(HciDeploymentSettingArgs $) { + this.arcResourceIds = $.arcResourceIds; + this.scaleUnits = $.scaleUnits; + this.stackHciClusterId = $.stackHciClusterId; + this.version = $.version; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(HciDeploymentSettingArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private HciDeploymentSettingArgs $; + + public Builder() { + $ = new HciDeploymentSettingArgs(); + } + + public Builder(HciDeploymentSettingArgs defaults) { + $ = new HciDeploymentSettingArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param 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. + * + * @return builder + * + */ + public Builder arcResourceIds(Output> arcResourceIds) { + $.arcResourceIds = arcResourceIds; + return this; + } + + /** + * @param 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. + * + * @return builder + * + */ + public Builder arcResourceIds(List arcResourceIds) { + return arcResourceIds(Output.of(arcResourceIds)); + } + + /** + * @param 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. + * + * @return builder + * + */ + public Builder arcResourceIds(String... arcResourceIds) { + return arcResourceIds(List.of(arcResourceIds)); + } + + /** + * @param scaleUnits One or more `scale_unit` blocks as defined below. Changing this forces a new Stack HCI Deployment Setting to be created. + * + * @return builder + * + */ + public Builder scaleUnits(Output> scaleUnits) { + $.scaleUnits = scaleUnits; + return this; + } + + /** + * @param scaleUnits One or more `scale_unit` blocks as defined below. Changing this forces a new Stack HCI Deployment Setting to be created. + * + * @return builder + * + */ + public Builder scaleUnits(List scaleUnits) { + return scaleUnits(Output.of(scaleUnits)); + } + + /** + * @param scaleUnits One or more `scale_unit` blocks as defined below. Changing this forces a new Stack HCI Deployment Setting to be created. + * + * @return builder + * + */ + public Builder scaleUnits(HciDeploymentSettingScaleUnitArgs... scaleUnits) { + return scaleUnits(List.of(scaleUnits)); + } + + /** + * @param stackHciClusterId The ID of the Azure Stack HCI cluster. Changing this forces a new Stack HCI Deployment Setting to be created. + * + * @return builder + * + */ + public Builder stackHciClusterId(Output stackHciClusterId) { + $.stackHciClusterId = stackHciClusterId; + return this; + } + + /** + * @param stackHciClusterId The ID of the Azure Stack HCI cluster. Changing this forces a new Stack HCI Deployment Setting to be created. + * + * @return builder + * + */ + public Builder stackHciClusterId(String stackHciClusterId) { + return stackHciClusterId(Output.of(stackHciClusterId)); + } + + /** + * @param version 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. + * + * @return builder + * + */ + public Builder version(Output version) { + $.version = version; + return this; + } + + /** + * @param version 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. + * + * @return builder + * + */ + public Builder version(String version) { + return version(Output.of(version)); + } + + public HciDeploymentSettingArgs build() { + if ($.arcResourceIds == null) { + throw new MissingRequiredPropertyException("HciDeploymentSettingArgs", "arcResourceIds"); + } + if ($.scaleUnits == null) { + throw new MissingRequiredPropertyException("HciDeploymentSettingArgs", "scaleUnits"); + } + if ($.stackHciClusterId == null) { + throw new MissingRequiredPropertyException("HciDeploymentSettingArgs", "stackHciClusterId"); + } + if ($.version == null) { + throw new MissingRequiredPropertyException("HciDeploymentSettingArgs", "version"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/azure/stack/HciStoragePath.java b/sdk/java/src/main/java/com/pulumi/azure/stack/HciStoragePath.java new file mode 100644 index 0000000000..5315ffca65 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/azure/stack/HciStoragePath.java @@ -0,0 +1,219 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.azure.stack; + +import com.pulumi.azure.Utilities; +import com.pulumi.azure.stack.HciStoragePathArgs; +import com.pulumi.azure.stack.inputs.HciStoragePathState; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Export; +import com.pulumi.core.annotations.ResourceType; +import com.pulumi.core.internal.Codegen; +import java.lang.String; +import java.util.Map; +import java.util.Optional; +import javax.annotation.Nullable; + +/** + * Manages an Azure Stack HCI Storage Path. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+ * {@code
+ * package generated_program;
+ * 
+ * import com.pulumi.Context;
+ * import com.pulumi.Pulumi;
+ * import com.pulumi.core.Output;
+ * import com.pulumi.azure.core.ResourceGroup;
+ * import com.pulumi.azure.core.ResourceGroupArgs;
+ * import com.pulumi.azure.stack.HciStoragePath;
+ * import com.pulumi.azure.stack.HciStoragePathArgs;
+ * import java.util.List;
+ * import java.util.ArrayList;
+ * import java.util.Map;
+ * import java.io.File;
+ * import java.nio.file.Files;
+ * import java.nio.file.Paths;
+ * 
+ * public class App {
+ *     public static void main(String[] args) {
+ *         Pulumi.run(App::stack);
+ *     }
+ * 
+ *     public static void stack(Context ctx) {
+ *         var example = new ResourceGroup("example", ResourceGroupArgs.builder()
+ *             .name("example-rg")
+ *             .location("West Europe")
+ *             .build());
+ * 
+ *         var exampleHciStoragePath = new HciStoragePath("exampleHciStoragePath", HciStoragePathArgs.builder()
+ *             .name("example-sp")
+ *             .resourceGroupName(example.name())
+ *             .location(example.location())
+ *             .customLocationId("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ExtendedLocation/customLocations/cl1")
+ *             .path("C:\\ClusterStorage\\UserStorage_2\\sp-example")
+ *             .tags(Map.of("foo", "bar"))
+ *             .build());
+ * 
+ *     }
+ * }
+ * }
+ * 
+ * <!--End PulumiCodeChooser --> + * + * ## Import + * + * Azure Stack HCI Storage Paths can be imported using the `resource id`, e.g. + * + * ```sh + * $ pulumi import azure:stack/hciStoragePath:HciStoragePath example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.AzureStackHCI/storageContainers/storage1 + * ``` + * + */ +@ResourceType(type="azure:stack/hciStoragePath:HciStoragePath") +public class HciStoragePath extends com.pulumi.resources.CustomResource { + /** + * The ID of Custom Location where the Azure Stack HCI Storage Path should exist. Changing this forces a new resource to be created. + * + */ + @Export(name="customLocationId", refs={String.class}, tree="[0]") + private Output customLocationId; + + /** + * @return The ID of Custom Location where the Azure Stack HCI Storage Path should exist. Changing this forces a new resource to be created. + * + */ + public Output customLocationId() { + return this.customLocationId; + } + /** + * The Azure Region where the Azure Stack HCI Storage Path should exist. Changing this forces a new resource to be created. + * + */ + @Export(name="location", refs={String.class}, tree="[0]") + private Output location; + + /** + * @return The Azure Region where the Azure Stack HCI Storage Path should exist. Changing this forces a new resource to be created. + * + */ + public Output location() { + return this.location; + } + /** + * The name which should be used for this Azure Stack HCI Storage Path. Changing this forces a new resource to be created. + * + */ + @Export(name="name", refs={String.class}, tree="[0]") + private Output name; + + /** + * @return The name which should be used for this Azure Stack HCI Storage Path. Changing this forces a new resource to be created. + * + */ + public Output name() { + return this.name; + } + /** + * The file path on the disk to create the Storage Path. Changing this forces a new resource to be created. + * + */ + @Export(name="path", refs={String.class}, tree="[0]") + private Output path; + + /** + * @return The file path on the disk to create the Storage Path. Changing this forces a new resource to be created. + * + */ + public Output path() { + return this.path; + } + /** + * The name of the Resource Group where the Azure Stack HCI Storage Path should exist. Changing this forces a new resource to be created. + * + */ + @Export(name="resourceGroupName", refs={String.class}, tree="[0]") + private Output resourceGroupName; + + /** + * @return The name of the Resource Group where the Azure Stack HCI Storage Path should exist. Changing this forces a new resource to be created. + * + */ + public Output resourceGroupName() { + return this.resourceGroupName; + } + /** + * A mapping of tags which should be assigned to the Azure Stack HCI Storage Path. + * + */ + @Export(name="tags", refs={Map.class,String.class}, tree="[0,1,1]") + private Output> tags; + + /** + * @return A mapping of tags which should be assigned to the Azure Stack HCI Storage Path. + * + */ + public Output>> tags() { + return Codegen.optional(this.tags); + } + + /** + * + * @param name The _unique_ name of the resulting resource. + */ + public HciStoragePath(java.lang.String name) { + this(name, HciStoragePathArgs.Empty); + } + /** + * + * @param name The _unique_ name of the resulting resource. + * @param args The arguments to use to populate this resource's properties. + */ + public HciStoragePath(java.lang.String name, HciStoragePathArgs args) { + this(name, args, null); + } + /** + * + * @param name The _unique_ name of the resulting resource. + * @param args The arguments to use to populate this resource's properties. + * @param options A bag of options that control this resource's behavior. + */ + public HciStoragePath(java.lang.String name, HciStoragePathArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("azure:stack/hciStoragePath:HciStoragePath", name, makeArgs(args, options), makeResourceOptions(options, Codegen.empty()), false); + } + + private HciStoragePath(java.lang.String name, Output id, @Nullable HciStoragePathState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("azure:stack/hciStoragePath:HciStoragePath", name, state, makeResourceOptions(options, id), false); + } + + private static HciStoragePathArgs makeArgs(HciStoragePathArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + if (options != null && options.getUrn().isPresent()) { + return null; + } + return args == null ? HciStoragePathArgs.Empty : args; + } + + private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { + var defaultOptions = com.pulumi.resources.CustomResourceOptions.builder() + .version(Utilities.getVersion()) + .build(); + return com.pulumi.resources.CustomResourceOptions.merge(defaultOptions, options, id); + } + + /** + * Get an existing Host resource's state with the given name, ID, and optional extra + * properties used to qualify the lookup. + * + * @param name The _unique_ name of the resulting resource. + * @param id The _unique_ provider ID of the resource to lookup. + * @param state + * @param options Optional settings to control the behavior of the CustomResource. + */ + public static HciStoragePath get(java.lang.String name, Output id, @Nullable HciStoragePathState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + return new HciStoragePath(name, id, state, options); + } +} diff --git a/sdk/java/src/main/java/com/pulumi/azure/stack/HciStoragePathArgs.java b/sdk/java/src/main/java/com/pulumi/azure/stack/HciStoragePathArgs.java new file mode 100644 index 0000000000..30dc38ee44 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/azure/stack/HciStoragePathArgs.java @@ -0,0 +1,279 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.azure.stack; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class HciStoragePathArgs extends com.pulumi.resources.ResourceArgs { + + public static final HciStoragePathArgs Empty = new HciStoragePathArgs(); + + /** + * The ID of Custom Location where the Azure Stack HCI Storage Path should exist. Changing this forces a new resource to be created. + * + */ + @Import(name="customLocationId", required=true) + private Output customLocationId; + + /** + * @return The ID of Custom Location where the Azure Stack HCI Storage Path should exist. Changing this forces a new resource to be created. + * + */ + public Output customLocationId() { + return this.customLocationId; + } + + /** + * The Azure Region where the Azure Stack HCI Storage Path should exist. Changing this forces a new resource to be created. + * + */ + @Import(name="location") + private @Nullable Output location; + + /** + * @return The Azure Region where the Azure Stack HCI Storage Path should exist. Changing this forces a new resource to be created. + * + */ + public Optional> location() { + return Optional.ofNullable(this.location); + } + + /** + * The name which should be used for this Azure Stack HCI Storage Path. Changing this forces a new resource to be created. + * + */ + @Import(name="name") + private @Nullable Output name; + + /** + * @return The name which should be used for this Azure Stack HCI Storage Path. Changing this forces a new resource to be created. + * + */ + public Optional> name() { + return Optional.ofNullable(this.name); + } + + /** + * The file path on the disk to create the Storage Path. Changing this forces a new resource to be created. + * + */ + @Import(name="path", required=true) + private Output path; + + /** + * @return The file path on the disk to create the Storage Path. Changing this forces a new resource to be created. + * + */ + public Output path() { + return this.path; + } + + /** + * The name of the Resource Group where the Azure Stack HCI Storage Path should exist. Changing this forces a new resource to be created. + * + */ + @Import(name="resourceGroupName", required=true) + private Output resourceGroupName; + + /** + * @return The name of the Resource Group where the Azure Stack HCI Storage Path should exist. Changing this forces a new resource to be created. + * + */ + public Output resourceGroupName() { + return this.resourceGroupName; + } + + /** + * A mapping of tags which should be assigned to the Azure Stack HCI Storage Path. + * + */ + @Import(name="tags") + private @Nullable Output> tags; + + /** + * @return A mapping of tags which should be assigned to the Azure Stack HCI Storage Path. + * + */ + public Optional>> tags() { + return Optional.ofNullable(this.tags); + } + + private HciStoragePathArgs() {} + + private HciStoragePathArgs(HciStoragePathArgs $) { + this.customLocationId = $.customLocationId; + this.location = $.location; + this.name = $.name; + this.path = $.path; + this.resourceGroupName = $.resourceGroupName; + this.tags = $.tags; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(HciStoragePathArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private HciStoragePathArgs $; + + public Builder() { + $ = new HciStoragePathArgs(); + } + + public Builder(HciStoragePathArgs defaults) { + $ = new HciStoragePathArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param customLocationId The ID of Custom Location where the Azure Stack HCI Storage Path should exist. Changing this forces a new resource to be created. + * + * @return builder + * + */ + public Builder customLocationId(Output customLocationId) { + $.customLocationId = customLocationId; + return this; + } + + /** + * @param customLocationId The ID of Custom Location where the Azure Stack HCI Storage Path should exist. Changing this forces a new resource to be created. + * + * @return builder + * + */ + public Builder customLocationId(String customLocationId) { + return customLocationId(Output.of(customLocationId)); + } + + /** + * @param location The Azure Region where the Azure Stack HCI Storage Path should exist. Changing this forces a new resource to be created. + * + * @return builder + * + */ + public Builder location(@Nullable Output location) { + $.location = location; + return this; + } + + /** + * @param location The Azure Region where the Azure Stack HCI Storage Path should exist. Changing this forces a new resource to be created. + * + * @return builder + * + */ + public Builder location(String location) { + return location(Output.of(location)); + } + + /** + * @param name The name which should be used for this Azure Stack HCI Storage Path. Changing this forces a new resource to be created. + * + * @return builder + * + */ + public Builder name(@Nullable Output name) { + $.name = name; + return this; + } + + /** + * @param name The name which should be used for this Azure Stack HCI Storage Path. Changing this forces a new resource to be created. + * + * @return builder + * + */ + public Builder name(String name) { + return name(Output.of(name)); + } + + /** + * @param path The file path on the disk to create the Storage Path. Changing this forces a new resource to be created. + * + * @return builder + * + */ + public Builder path(Output path) { + $.path = path; + return this; + } + + /** + * @param path The file path on the disk to create the Storage Path. Changing this forces a new resource to be created. + * + * @return builder + * + */ + public Builder path(String path) { + return path(Output.of(path)); + } + + /** + * @param resourceGroupName The name of the Resource Group where the Azure Stack HCI Storage Path should exist. Changing this forces a new resource to be created. + * + * @return builder + * + */ + public Builder resourceGroupName(Output resourceGroupName) { + $.resourceGroupName = resourceGroupName; + return this; + } + + /** + * @param resourceGroupName The name of the Resource Group where the Azure Stack HCI Storage Path should exist. Changing this forces a new resource to be created. + * + * @return builder + * + */ + public Builder resourceGroupName(String resourceGroupName) { + return resourceGroupName(Output.of(resourceGroupName)); + } + + /** + * @param tags A mapping of tags which should be assigned to the Azure Stack HCI Storage Path. + * + * @return builder + * + */ + public Builder tags(@Nullable Output> tags) { + $.tags = tags; + return this; + } + + /** + * @param tags A mapping of tags which should be assigned to the Azure Stack HCI Storage Path. + * + * @return builder + * + */ + public Builder tags(Map tags) { + return tags(Output.of(tags)); + } + + public HciStoragePathArgs build() { + if ($.customLocationId == null) { + throw new MissingRequiredPropertyException("HciStoragePathArgs", "customLocationId"); + } + if ($.path == null) { + throw new MissingRequiredPropertyException("HciStoragePathArgs", "path"); + } + if ($.resourceGroupName == null) { + throw new MissingRequiredPropertyException("HciStoragePathArgs", "resourceGroupName"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/azure/stack/inputs/HciDeploymentSettingScaleUnitArgs.java b/sdk/java/src/main/java/com/pulumi/azure/stack/inputs/HciDeploymentSettingScaleUnitArgs.java new file mode 100644 index 0000000000..18a0304591 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/azure/stack/inputs/HciDeploymentSettingScaleUnitArgs.java @@ -0,0 +1,956 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.azure.stack.inputs; + +import com.pulumi.azure.stack.inputs.HciDeploymentSettingScaleUnitClusterArgs; +import com.pulumi.azure.stack.inputs.HciDeploymentSettingScaleUnitHostNetworkArgs; +import com.pulumi.azure.stack.inputs.HciDeploymentSettingScaleUnitInfrastructureNetworkArgs; +import com.pulumi.azure.stack.inputs.HciDeploymentSettingScaleUnitOptionalServiceArgs; +import com.pulumi.azure.stack.inputs.HciDeploymentSettingScaleUnitPhysicalNodeArgs; +import com.pulumi.azure.stack.inputs.HciDeploymentSettingScaleUnitStorageArgs; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.Boolean; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class HciDeploymentSettingScaleUnitArgs extends com.pulumi.resources.ResourceArgs { + + public static final HciDeploymentSettingScaleUnitArgs Empty = new HciDeploymentSettingScaleUnitArgs(); + + /** + * 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. + * + */ + @Import(name="activeDirectoryOrganizationalUnitPath", required=true) + private Output activeDirectoryOrganizationalUnitPath; + + /** + * @return 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. + * + */ + public Output activeDirectoryOrganizationalUnitPath() { + return this.activeDirectoryOrganizationalUnitPath; + } + + /** + * 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. + * + */ + @Import(name="bitlockerBootVolumeEnabled") + private @Nullable Output bitlockerBootVolumeEnabled; + + /** + * @return 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. + * + */ + public Optional> bitlockerBootVolumeEnabled() { + return Optional.ofNullable(this.bitlockerBootVolumeEnabled); + } + + /** + * 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. + * + */ + @Import(name="bitlockerDataVolumeEnabled") + private @Nullable Output bitlockerDataVolumeEnabled; + + /** + * @return 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. + * + */ + public Optional> bitlockerDataVolumeEnabled() { + return Optional.ofNullable(this.bitlockerDataVolumeEnabled); + } + + /** + * A `cluster` block as defined above. Changing this forces a new Stack HCI Deployment Setting to be created. + * + */ + @Import(name="cluster", required=true) + private Output cluster; + + /** + * @return A `cluster` block as defined above. Changing this forces a new Stack HCI Deployment Setting to be created. + * + */ + public Output cluster() { + return this.cluster; + } + + /** + * 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. + * + */ + @Import(name="credentialGuardEnabled") + private @Nullable Output credentialGuardEnabled; + + /** + * @return 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. + * + */ + public Optional> credentialGuardEnabled() { + return Optional.ofNullable(this.credentialGuardEnabled); + } + + /** + * Specifies the FQDN for deploying cluster. Changing this forces a new Stack HCI Deployment Setting to be created. + * + */ + @Import(name="domainFqdn", required=true) + private Output domainFqdn; + + /** + * @return Specifies the FQDN for deploying cluster. Changing this forces a new Stack HCI Deployment Setting to be created. + * + */ + public Output domainFqdn() { + return this.domainFqdn; + } + + /** + * 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. + * + */ + @Import(name="driftControlEnabled") + private @Nullable Output driftControlEnabled; + + /** + * @return 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. + * + */ + public Optional> driftControlEnabled() { + return Optional.ofNullable(this.driftControlEnabled); + } + + /** + * 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. + * + */ + @Import(name="drtmProtectionEnabled") + private @Nullable Output drtmProtectionEnabled; + + /** + * @return 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. + * + */ + public Optional> drtmProtectionEnabled() { + return Optional.ofNullable(this.drtmProtectionEnabled); + } + + /** + * 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. + * + */ + @Import(name="episodicDataUploadEnabled") + private @Nullable Output episodicDataUploadEnabled; + + /** + * @return 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. + * + */ + public Optional> episodicDataUploadEnabled() { + return Optional.ofNullable(this.episodicDataUploadEnabled); + } + + /** + * 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. + * + */ + @Import(name="euLocationEnabled") + private @Nullable Output euLocationEnabled; + + /** + * @return 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. + * + */ + public Optional> euLocationEnabled() { + return Optional.ofNullable(this.euLocationEnabled); + } + + /** + * A `host_network` block as defined above. Changing this forces a new Stack HCI Deployment Setting to be created. + * + */ + @Import(name="hostNetwork", required=true) + private Output hostNetwork; + + /** + * @return A `host_network` block as defined above. Changing this forces a new Stack HCI Deployment Setting to be created. + * + */ + public Output hostNetwork() { + return this.hostNetwork; + } + + /** + * 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. + * + */ + @Import(name="hvciProtectionEnabled") + private @Nullable Output hvciProtectionEnabled; + + /** + * @return 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. + * + */ + public Optional> hvciProtectionEnabled() { + return Optional.ofNullable(this.hvciProtectionEnabled); + } + + /** + * One or more `infrastructure_network` blocks as defined above. Changing this forces a new Stack HCI Deployment Setting to be created. + * + */ + @Import(name="infrastructureNetworks", required=true) + private Output> infrastructureNetworks; + + /** + * @return One or more `infrastructure_network` blocks as defined above. Changing this forces a new Stack HCI Deployment Setting to be created. + * + */ + public Output> infrastructureNetworks() { + return this.infrastructureNetworks; + } + + /** + * 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. + * + */ + @Import(name="namePrefix", required=true) + private Output namePrefix; + + /** + * @return 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. + * + */ + public Output namePrefix() { + return this.namePrefix; + } + + /** + * A `optional_service` block as defined above. Changing this forces a new Stack HCI Deployment Setting to be created. + * + */ + @Import(name="optionalService", required=true) + private Output optionalService; + + /** + * @return A `optional_service` block as defined above. Changing this forces a new Stack HCI Deployment Setting to be created. + * + */ + public Output optionalService() { + return this.optionalService; + } + + /** + * One or more `physical_node` blocks as defined above. Changing this forces a new Stack HCI Deployment Setting to be created. + * + */ + @Import(name="physicalNodes", required=true) + private Output> physicalNodes; + + /** + * @return One or more `physical_node` blocks as defined above. Changing this forces a new Stack HCI Deployment Setting to be created. + * + */ + public Output> physicalNodes() { + return this.physicalNodes; + } + + /** + * The URI to the Key Vault or secret store. Changing this forces a new Stack HCI Deployment Setting to be created. + * + */ + @Import(name="secretsLocation", required=true) + private Output secretsLocation; + + /** + * @return The URI to the Key Vault or secret store. Changing this forces a new Stack HCI Deployment Setting to be created. + * + */ + public Output secretsLocation() { + return this.secretsLocation; + } + + /** + * 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. + * + */ + @Import(name="sideChannelMitigationEnabled") + private @Nullable Output sideChannelMitigationEnabled; + + /** + * @return 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. + * + */ + public Optional> sideChannelMitigationEnabled() { + return Optional.ofNullable(this.sideChannelMitigationEnabled); + } + + /** + * 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. + * + */ + @Import(name="smbClusterEncryptionEnabled") + private @Nullable Output smbClusterEncryptionEnabled; + + /** + * @return 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. + * + */ + public Optional> smbClusterEncryptionEnabled() { + return Optional.ofNullable(this.smbClusterEncryptionEnabled); + } + + /** + * 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. + * + */ + @Import(name="smbSigningEnabled") + private @Nullable Output smbSigningEnabled; + + /** + * @return 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. + * + */ + public Optional> smbSigningEnabled() { + return Optional.ofNullable(this.smbSigningEnabled); + } + + /** + * A `storage` block as defined below. Changing this forces a new Stack HCI Deployment Setting to be created. + * + */ + @Import(name="storage", required=true) + private Output storage; + + /** + * @return A `storage` block as defined below. Changing this forces a new Stack HCI Deployment Setting to be created. + * + */ + public Output storage() { + return this.storage; + } + + /** + * 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. + * + */ + @Import(name="streamingDataClientEnabled") + private @Nullable Output streamingDataClientEnabled; + + /** + * @return 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. + * + */ + public Optional> streamingDataClientEnabled() { + return Optional.ofNullable(this.streamingDataClientEnabled); + } + + /** + * 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. + * + */ + @Import(name="wdacEnabled") + private @Nullable Output wdacEnabled; + + /** + * @return 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. + * + */ + public Optional> wdacEnabled() { + return Optional.ofNullable(this.wdacEnabled); + } + + private HciDeploymentSettingScaleUnitArgs() {} + + private HciDeploymentSettingScaleUnitArgs(HciDeploymentSettingScaleUnitArgs $) { + this.activeDirectoryOrganizationalUnitPath = $.activeDirectoryOrganizationalUnitPath; + this.bitlockerBootVolumeEnabled = $.bitlockerBootVolumeEnabled; + this.bitlockerDataVolumeEnabled = $.bitlockerDataVolumeEnabled; + this.cluster = $.cluster; + this.credentialGuardEnabled = $.credentialGuardEnabled; + this.domainFqdn = $.domainFqdn; + this.driftControlEnabled = $.driftControlEnabled; + this.drtmProtectionEnabled = $.drtmProtectionEnabled; + this.episodicDataUploadEnabled = $.episodicDataUploadEnabled; + this.euLocationEnabled = $.euLocationEnabled; + this.hostNetwork = $.hostNetwork; + this.hvciProtectionEnabled = $.hvciProtectionEnabled; + this.infrastructureNetworks = $.infrastructureNetworks; + this.namePrefix = $.namePrefix; + this.optionalService = $.optionalService; + this.physicalNodes = $.physicalNodes; + this.secretsLocation = $.secretsLocation; + this.sideChannelMitigationEnabled = $.sideChannelMitigationEnabled; + this.smbClusterEncryptionEnabled = $.smbClusterEncryptionEnabled; + this.smbSigningEnabled = $.smbSigningEnabled; + this.storage = $.storage; + this.streamingDataClientEnabled = $.streamingDataClientEnabled; + this.wdacEnabled = $.wdacEnabled; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(HciDeploymentSettingScaleUnitArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private HciDeploymentSettingScaleUnitArgs $; + + public Builder() { + $ = new HciDeploymentSettingScaleUnitArgs(); + } + + public Builder(HciDeploymentSettingScaleUnitArgs defaults) { + $ = new HciDeploymentSettingScaleUnitArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param activeDirectoryOrganizationalUnitPath 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. + * + * @return builder + * + */ + public Builder activeDirectoryOrganizationalUnitPath(Output activeDirectoryOrganizationalUnitPath) { + $.activeDirectoryOrganizationalUnitPath = activeDirectoryOrganizationalUnitPath; + return this; + } + + /** + * @param activeDirectoryOrganizationalUnitPath 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. + * + * @return builder + * + */ + public Builder activeDirectoryOrganizationalUnitPath(String activeDirectoryOrganizationalUnitPath) { + return activeDirectoryOrganizationalUnitPath(Output.of(activeDirectoryOrganizationalUnitPath)); + } + + /** + * @param bitlockerBootVolumeEnabled 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. + * + * @return builder + * + */ + public Builder bitlockerBootVolumeEnabled(@Nullable Output bitlockerBootVolumeEnabled) { + $.bitlockerBootVolumeEnabled = bitlockerBootVolumeEnabled; + return this; + } + + /** + * @param bitlockerBootVolumeEnabled 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. + * + * @return builder + * + */ + public Builder bitlockerBootVolumeEnabled(Boolean bitlockerBootVolumeEnabled) { + return bitlockerBootVolumeEnabled(Output.of(bitlockerBootVolumeEnabled)); + } + + /** + * @param bitlockerDataVolumeEnabled 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. + * + * @return builder + * + */ + public Builder bitlockerDataVolumeEnabled(@Nullable Output bitlockerDataVolumeEnabled) { + $.bitlockerDataVolumeEnabled = bitlockerDataVolumeEnabled; + return this; + } + + /** + * @param bitlockerDataVolumeEnabled 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. + * + * @return builder + * + */ + public Builder bitlockerDataVolumeEnabled(Boolean bitlockerDataVolumeEnabled) { + return bitlockerDataVolumeEnabled(Output.of(bitlockerDataVolumeEnabled)); + } + + /** + * @param cluster A `cluster` block as defined above. Changing this forces a new Stack HCI Deployment Setting to be created. + * + * @return builder + * + */ + public Builder cluster(Output cluster) { + $.cluster = cluster; + return this; + } + + /** + * @param cluster A `cluster` block as defined above. Changing this forces a new Stack HCI Deployment Setting to be created. + * + * @return builder + * + */ + public Builder cluster(HciDeploymentSettingScaleUnitClusterArgs cluster) { + return cluster(Output.of(cluster)); + } + + /** + * @param credentialGuardEnabled 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. + * + * @return builder + * + */ + public Builder credentialGuardEnabled(@Nullable Output credentialGuardEnabled) { + $.credentialGuardEnabled = credentialGuardEnabled; + return this; + } + + /** + * @param credentialGuardEnabled 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. + * + * @return builder + * + */ + public Builder credentialGuardEnabled(Boolean credentialGuardEnabled) { + return credentialGuardEnabled(Output.of(credentialGuardEnabled)); + } + + /** + * @param domainFqdn Specifies the FQDN for deploying cluster. Changing this forces a new Stack HCI Deployment Setting to be created. + * + * @return builder + * + */ + public Builder domainFqdn(Output domainFqdn) { + $.domainFqdn = domainFqdn; + return this; + } + + /** + * @param domainFqdn Specifies the FQDN for deploying cluster. Changing this forces a new Stack HCI Deployment Setting to be created. + * + * @return builder + * + */ + public Builder domainFqdn(String domainFqdn) { + return domainFqdn(Output.of(domainFqdn)); + } + + /** + * @param driftControlEnabled 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. + * + * @return builder + * + */ + public Builder driftControlEnabled(@Nullable Output driftControlEnabled) { + $.driftControlEnabled = driftControlEnabled; + return this; + } + + /** + * @param driftControlEnabled 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. + * + * @return builder + * + */ + public Builder driftControlEnabled(Boolean driftControlEnabled) { + return driftControlEnabled(Output.of(driftControlEnabled)); + } + + /** + * @param drtmProtectionEnabled 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. + * + * @return builder + * + */ + public Builder drtmProtectionEnabled(@Nullable Output drtmProtectionEnabled) { + $.drtmProtectionEnabled = drtmProtectionEnabled; + return this; + } + + /** + * @param drtmProtectionEnabled 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. + * + * @return builder + * + */ + public Builder drtmProtectionEnabled(Boolean drtmProtectionEnabled) { + return drtmProtectionEnabled(Output.of(drtmProtectionEnabled)); + } + + /** + * @param episodicDataUploadEnabled 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. + * + * @return builder + * + */ + public Builder episodicDataUploadEnabled(@Nullable Output episodicDataUploadEnabled) { + $.episodicDataUploadEnabled = episodicDataUploadEnabled; + return this; + } + + /** + * @param episodicDataUploadEnabled 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. + * + * @return builder + * + */ + public Builder episodicDataUploadEnabled(Boolean episodicDataUploadEnabled) { + return episodicDataUploadEnabled(Output.of(episodicDataUploadEnabled)); + } + + /** + * @param euLocationEnabled 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. + * + * @return builder + * + */ + public Builder euLocationEnabled(@Nullable Output euLocationEnabled) { + $.euLocationEnabled = euLocationEnabled; + return this; + } + + /** + * @param euLocationEnabled 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. + * + * @return builder + * + */ + public Builder euLocationEnabled(Boolean euLocationEnabled) { + return euLocationEnabled(Output.of(euLocationEnabled)); + } + + /** + * @param hostNetwork A `host_network` block as defined above. Changing this forces a new Stack HCI Deployment Setting to be created. + * + * @return builder + * + */ + public Builder hostNetwork(Output hostNetwork) { + $.hostNetwork = hostNetwork; + return this; + } + + /** + * @param hostNetwork A `host_network` block as defined above. Changing this forces a new Stack HCI Deployment Setting to be created. + * + * @return builder + * + */ + public Builder hostNetwork(HciDeploymentSettingScaleUnitHostNetworkArgs hostNetwork) { + return hostNetwork(Output.of(hostNetwork)); + } + + /** + * @param hvciProtectionEnabled 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. + * + * @return builder + * + */ + public Builder hvciProtectionEnabled(@Nullable Output hvciProtectionEnabled) { + $.hvciProtectionEnabled = hvciProtectionEnabled; + return this; + } + + /** + * @param hvciProtectionEnabled 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. + * + * @return builder + * + */ + public Builder hvciProtectionEnabled(Boolean hvciProtectionEnabled) { + return hvciProtectionEnabled(Output.of(hvciProtectionEnabled)); + } + + /** + * @param infrastructureNetworks One or more `infrastructure_network` blocks as defined above. Changing this forces a new Stack HCI Deployment Setting to be created. + * + * @return builder + * + */ + public Builder infrastructureNetworks(Output> infrastructureNetworks) { + $.infrastructureNetworks = infrastructureNetworks; + return this; + } + + /** + * @param infrastructureNetworks One or more `infrastructure_network` blocks as defined above. Changing this forces a new Stack HCI Deployment Setting to be created. + * + * @return builder + * + */ + public Builder infrastructureNetworks(List infrastructureNetworks) { + return infrastructureNetworks(Output.of(infrastructureNetworks)); + } + + /** + * @param infrastructureNetworks One or more `infrastructure_network` blocks as defined above. Changing this forces a new Stack HCI Deployment Setting to be created. + * + * @return builder + * + */ + public Builder infrastructureNetworks(HciDeploymentSettingScaleUnitInfrastructureNetworkArgs... infrastructureNetworks) { + return infrastructureNetworks(List.of(infrastructureNetworks)); + } + + /** + * @param namePrefix 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. + * + * @return builder + * + */ + public Builder namePrefix(Output namePrefix) { + $.namePrefix = namePrefix; + return this; + } + + /** + * @param namePrefix 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. + * + * @return builder + * + */ + public Builder namePrefix(String namePrefix) { + return namePrefix(Output.of(namePrefix)); + } + + /** + * @param optionalService A `optional_service` block as defined above. Changing this forces a new Stack HCI Deployment Setting to be created. + * + * @return builder + * + */ + public Builder optionalService(Output optionalService) { + $.optionalService = optionalService; + return this; + } + + /** + * @param optionalService A `optional_service` block as defined above. Changing this forces a new Stack HCI Deployment Setting to be created. + * + * @return builder + * + */ + public Builder optionalService(HciDeploymentSettingScaleUnitOptionalServiceArgs optionalService) { + return optionalService(Output.of(optionalService)); + } + + /** + * @param physicalNodes One or more `physical_node` blocks as defined above. Changing this forces a new Stack HCI Deployment Setting to be created. + * + * @return builder + * + */ + public Builder physicalNodes(Output> physicalNodes) { + $.physicalNodes = physicalNodes; + return this; + } + + /** + * @param physicalNodes One or more `physical_node` blocks as defined above. Changing this forces a new Stack HCI Deployment Setting to be created. + * + * @return builder + * + */ + public Builder physicalNodes(List physicalNodes) { + return physicalNodes(Output.of(physicalNodes)); + } + + /** + * @param physicalNodes One or more `physical_node` blocks as defined above. Changing this forces a new Stack HCI Deployment Setting to be created. + * + * @return builder + * + */ + public Builder physicalNodes(HciDeploymentSettingScaleUnitPhysicalNodeArgs... physicalNodes) { + return physicalNodes(List.of(physicalNodes)); + } + + /** + * @param secretsLocation The URI to the Key Vault or secret store. Changing this forces a new Stack HCI Deployment Setting to be created. + * + * @return builder + * + */ + public Builder secretsLocation(Output secretsLocation) { + $.secretsLocation = secretsLocation; + return this; + } + + /** + * @param secretsLocation The URI to the Key Vault or secret store. Changing this forces a new Stack HCI Deployment Setting to be created. + * + * @return builder + * + */ + public Builder secretsLocation(String secretsLocation) { + return secretsLocation(Output.of(secretsLocation)); + } + + /** + * @param sideChannelMitigationEnabled 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. + * + * @return builder + * + */ + public Builder sideChannelMitigationEnabled(@Nullable Output sideChannelMitigationEnabled) { + $.sideChannelMitigationEnabled = sideChannelMitigationEnabled; + return this; + } + + /** + * @param sideChannelMitigationEnabled 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. + * + * @return builder + * + */ + public Builder sideChannelMitigationEnabled(Boolean sideChannelMitigationEnabled) { + return sideChannelMitigationEnabled(Output.of(sideChannelMitigationEnabled)); + } + + /** + * @param smbClusterEncryptionEnabled 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. + * + * @return builder + * + */ + public Builder smbClusterEncryptionEnabled(@Nullable Output smbClusterEncryptionEnabled) { + $.smbClusterEncryptionEnabled = smbClusterEncryptionEnabled; + return this; + } + + /** + * @param smbClusterEncryptionEnabled 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. + * + * @return builder + * + */ + public Builder smbClusterEncryptionEnabled(Boolean smbClusterEncryptionEnabled) { + return smbClusterEncryptionEnabled(Output.of(smbClusterEncryptionEnabled)); + } + + /** + * @param smbSigningEnabled 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. + * + * @return builder + * + */ + public Builder smbSigningEnabled(@Nullable Output smbSigningEnabled) { + $.smbSigningEnabled = smbSigningEnabled; + return this; + } + + /** + * @param smbSigningEnabled 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. + * + * @return builder + * + */ + public Builder smbSigningEnabled(Boolean smbSigningEnabled) { + return smbSigningEnabled(Output.of(smbSigningEnabled)); + } + + /** + * @param storage A `storage` block as defined below. Changing this forces a new Stack HCI Deployment Setting to be created. + * + * @return builder + * + */ + public Builder storage(Output storage) { + $.storage = storage; + return this; + } + + /** + * @param storage A `storage` block as defined below. Changing this forces a new Stack HCI Deployment Setting to be created. + * + * @return builder + * + */ + public Builder storage(HciDeploymentSettingScaleUnitStorageArgs storage) { + return storage(Output.of(storage)); + } + + /** + * @param streamingDataClientEnabled 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. + * + * @return builder + * + */ + public Builder streamingDataClientEnabled(@Nullable Output streamingDataClientEnabled) { + $.streamingDataClientEnabled = streamingDataClientEnabled; + return this; + } + + /** + * @param streamingDataClientEnabled 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. + * + * @return builder + * + */ + public Builder streamingDataClientEnabled(Boolean streamingDataClientEnabled) { + return streamingDataClientEnabled(Output.of(streamingDataClientEnabled)); + } + + /** + * @param wdacEnabled 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. + * + * @return builder + * + */ + public Builder wdacEnabled(@Nullable Output wdacEnabled) { + $.wdacEnabled = wdacEnabled; + return this; + } + + /** + * @param wdacEnabled 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. + * + * @return builder + * + */ + public Builder wdacEnabled(Boolean wdacEnabled) { + return wdacEnabled(Output.of(wdacEnabled)); + } + + public HciDeploymentSettingScaleUnitArgs build() { + if ($.activeDirectoryOrganizationalUnitPath == null) { + throw new MissingRequiredPropertyException("HciDeploymentSettingScaleUnitArgs", "activeDirectoryOrganizationalUnitPath"); + } + if ($.cluster == null) { + throw new MissingRequiredPropertyException("HciDeploymentSettingScaleUnitArgs", "cluster"); + } + if ($.domainFqdn == null) { + throw new MissingRequiredPropertyException("HciDeploymentSettingScaleUnitArgs", "domainFqdn"); + } + if ($.hostNetwork == null) { + throw new MissingRequiredPropertyException("HciDeploymentSettingScaleUnitArgs", "hostNetwork"); + } + if ($.infrastructureNetworks == null) { + throw new MissingRequiredPropertyException("HciDeploymentSettingScaleUnitArgs", "infrastructureNetworks"); + } + if ($.namePrefix == null) { + throw new MissingRequiredPropertyException("HciDeploymentSettingScaleUnitArgs", "namePrefix"); + } + if ($.optionalService == null) { + throw new MissingRequiredPropertyException("HciDeploymentSettingScaleUnitArgs", "optionalService"); + } + if ($.physicalNodes == null) { + throw new MissingRequiredPropertyException("HciDeploymentSettingScaleUnitArgs", "physicalNodes"); + } + if ($.secretsLocation == null) { + throw new MissingRequiredPropertyException("HciDeploymentSettingScaleUnitArgs", "secretsLocation"); + } + if ($.storage == null) { + throw new MissingRequiredPropertyException("HciDeploymentSettingScaleUnitArgs", "storage"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/azure/stack/inputs/HciDeploymentSettingScaleUnitClusterArgs.java b/sdk/java/src/main/java/com/pulumi/azure/stack/inputs/HciDeploymentSettingScaleUnitClusterArgs.java new file mode 100644 index 0000000000..5d74dc9997 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/azure/stack/inputs/HciDeploymentSettingScaleUnitClusterArgs.java @@ -0,0 +1,245 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.azure.stack.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.Objects; + + +public final class HciDeploymentSettingScaleUnitClusterArgs extends com.pulumi.resources.ResourceArgs { + + public static final HciDeploymentSettingScaleUnitClusterArgs Empty = new HciDeploymentSettingScaleUnitClusterArgs(); + + /** + * Specifies the Azure blob service endpoint, for example, `core.windows.net`. Changing this forces a new Stack HCI Deployment Setting to be created. + * + */ + @Import(name="azureServiceEndpoint", required=true) + private Output azureServiceEndpoint; + + /** + * @return Specifies the Azure blob service endpoint, for example, `core.windows.net`. Changing this forces a new Stack HCI Deployment Setting to be created. + * + */ + public Output azureServiceEndpoint() { + return this.azureServiceEndpoint; + } + + /** + * 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. + * + */ + @Import(name="cloudAccountName", required=true) + private Output cloudAccountName; + + /** + * @return 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. + * + */ + public Output cloudAccountName() { + return this.cloudAccountName; + } + + /** + * 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. + * + */ + @Import(name="name", required=true) + private Output name; + + /** + * @return 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. + * + */ + public Output name() { + return this.name; + } + + /** + * 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. + * + */ + @Import(name="witnessPath", required=true) + private Output witnessPath; + + /** + * @return 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. + * + */ + public Output witnessPath() { + return this.witnessPath; + } + + /** + * Specifies the type of the witness. Possible values are `Cloud`, `FileShare`. Changing this forces a new Stack HCI Deployment Setting to be created. + * + */ + @Import(name="witnessType", required=true) + private Output witnessType; + + /** + * @return Specifies the type of the witness. Possible values are `Cloud`, `FileShare`. Changing this forces a new Stack HCI Deployment Setting to be created. + * + */ + public Output witnessType() { + return this.witnessType; + } + + private HciDeploymentSettingScaleUnitClusterArgs() {} + + private HciDeploymentSettingScaleUnitClusterArgs(HciDeploymentSettingScaleUnitClusterArgs $) { + this.azureServiceEndpoint = $.azureServiceEndpoint; + this.cloudAccountName = $.cloudAccountName; + this.name = $.name; + this.witnessPath = $.witnessPath; + this.witnessType = $.witnessType; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(HciDeploymentSettingScaleUnitClusterArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private HciDeploymentSettingScaleUnitClusterArgs $; + + public Builder() { + $ = new HciDeploymentSettingScaleUnitClusterArgs(); + } + + public Builder(HciDeploymentSettingScaleUnitClusterArgs defaults) { + $ = new HciDeploymentSettingScaleUnitClusterArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param azureServiceEndpoint Specifies the Azure blob service endpoint, for example, `core.windows.net`. Changing this forces a new Stack HCI Deployment Setting to be created. + * + * @return builder + * + */ + public Builder azureServiceEndpoint(Output azureServiceEndpoint) { + $.azureServiceEndpoint = azureServiceEndpoint; + return this; + } + + /** + * @param azureServiceEndpoint Specifies the Azure blob service endpoint, for example, `core.windows.net`. Changing this forces a new Stack HCI Deployment Setting to be created. + * + * @return builder + * + */ + public Builder azureServiceEndpoint(String azureServiceEndpoint) { + return azureServiceEndpoint(Output.of(azureServiceEndpoint)); + } + + /** + * @param cloudAccountName 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. + * + * @return builder + * + */ + public Builder cloudAccountName(Output cloudAccountName) { + $.cloudAccountName = cloudAccountName; + return this; + } + + /** + * @param cloudAccountName 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. + * + * @return builder + * + */ + public Builder cloudAccountName(String cloudAccountName) { + return cloudAccountName(Output.of(cloudAccountName)); + } + + /** + * @param name 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. + * + * @return builder + * + */ + public Builder name(Output name) { + $.name = name; + return this; + } + + /** + * @param name 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. + * + * @return builder + * + */ + public Builder name(String name) { + return name(Output.of(name)); + } + + /** + * @param witnessPath 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. + * + * @return builder + * + */ + public Builder witnessPath(Output witnessPath) { + $.witnessPath = witnessPath; + return this; + } + + /** + * @param witnessPath 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. + * + * @return builder + * + */ + public Builder witnessPath(String witnessPath) { + return witnessPath(Output.of(witnessPath)); + } + + /** + * @param witnessType Specifies the type of the witness. Possible values are `Cloud`, `FileShare`. Changing this forces a new Stack HCI Deployment Setting to be created. + * + * @return builder + * + */ + public Builder witnessType(Output witnessType) { + $.witnessType = witnessType; + return this; + } + + /** + * @param witnessType Specifies the type of the witness. Possible values are `Cloud`, `FileShare`. Changing this forces a new Stack HCI Deployment Setting to be created. + * + * @return builder + * + */ + public Builder witnessType(String witnessType) { + return witnessType(Output.of(witnessType)); + } + + public HciDeploymentSettingScaleUnitClusterArgs build() { + if ($.azureServiceEndpoint == null) { + throw new MissingRequiredPropertyException("HciDeploymentSettingScaleUnitClusterArgs", "azureServiceEndpoint"); + } + if ($.cloudAccountName == null) { + throw new MissingRequiredPropertyException("HciDeploymentSettingScaleUnitClusterArgs", "cloudAccountName"); + } + if ($.name == null) { + throw new MissingRequiredPropertyException("HciDeploymentSettingScaleUnitClusterArgs", "name"); + } + if ($.witnessPath == null) { + throw new MissingRequiredPropertyException("HciDeploymentSettingScaleUnitClusterArgs", "witnessPath"); + } + if ($.witnessType == null) { + throw new MissingRequiredPropertyException("HciDeploymentSettingScaleUnitClusterArgs", "witnessType"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/azure/stack/inputs/HciDeploymentSettingScaleUnitHostNetworkArgs.java b/sdk/java/src/main/java/com/pulumi/azure/stack/inputs/HciDeploymentSettingScaleUnitHostNetworkArgs.java new file mode 100644 index 0000000000..677889339c --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/azure/stack/inputs/HciDeploymentSettingScaleUnitHostNetworkArgs.java @@ -0,0 +1,224 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.azure.stack.inputs; + +import com.pulumi.azure.stack.inputs.HciDeploymentSettingScaleUnitHostNetworkIntentArgs; +import com.pulumi.azure.stack.inputs.HciDeploymentSettingScaleUnitHostNetworkStorageNetworkArgs; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.Boolean; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class HciDeploymentSettingScaleUnitHostNetworkArgs extends com.pulumi.resources.ResourceArgs { + + public static final HciDeploymentSettingScaleUnitHostNetworkArgs Empty = new HciDeploymentSettingScaleUnitHostNetworkArgs(); + + /** + * One or more `intent` blocks as defined below. Changing this forces a new Stack HCI Deployment Setting to be created. + * + */ + @Import(name="intents", required=true) + private Output> intents; + + /** + * @return One or more `intent` blocks as defined below. Changing this forces a new Stack HCI Deployment Setting to be created. + * + */ + public Output> intents() { + return this.intents; + } + + /** + * 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. + * + */ + @Import(name="storageAutoIpEnabled") + private @Nullable Output storageAutoIpEnabled; + + /** + * @return 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. + * + */ + public Optional> storageAutoIpEnabled() { + return Optional.ofNullable(this.storageAutoIpEnabled); + } + + /** + * 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. + * + */ + @Import(name="storageConnectivitySwitchlessEnabled") + private @Nullable Output storageConnectivitySwitchlessEnabled; + + /** + * @return 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. + * + */ + public Optional> storageConnectivitySwitchlessEnabled() { + return Optional.ofNullable(this.storageConnectivitySwitchlessEnabled); + } + + /** + * One or more `storage_network` blocks as defined below. Changing this forces a new Stack HCI Deployment Setting to be created. + * + */ + @Import(name="storageNetworks", required=true) + private Output> storageNetworks; + + /** + * @return One or more `storage_network` blocks as defined below. Changing this forces a new Stack HCI Deployment Setting to be created. + * + */ + public Output> storageNetworks() { + return this.storageNetworks; + } + + private HciDeploymentSettingScaleUnitHostNetworkArgs() {} + + private HciDeploymentSettingScaleUnitHostNetworkArgs(HciDeploymentSettingScaleUnitHostNetworkArgs $) { + this.intents = $.intents; + this.storageAutoIpEnabled = $.storageAutoIpEnabled; + this.storageConnectivitySwitchlessEnabled = $.storageConnectivitySwitchlessEnabled; + this.storageNetworks = $.storageNetworks; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(HciDeploymentSettingScaleUnitHostNetworkArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private HciDeploymentSettingScaleUnitHostNetworkArgs $; + + public Builder() { + $ = new HciDeploymentSettingScaleUnitHostNetworkArgs(); + } + + public Builder(HciDeploymentSettingScaleUnitHostNetworkArgs defaults) { + $ = new HciDeploymentSettingScaleUnitHostNetworkArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param intents One or more `intent` blocks as defined below. Changing this forces a new Stack HCI Deployment Setting to be created. + * + * @return builder + * + */ + public Builder intents(Output> intents) { + $.intents = intents; + return this; + } + + /** + * @param intents One or more `intent` blocks as defined below. Changing this forces a new Stack HCI Deployment Setting to be created. + * + * @return builder + * + */ + public Builder intents(List intents) { + return intents(Output.of(intents)); + } + + /** + * @param intents One or more `intent` blocks as defined below. Changing this forces a new Stack HCI Deployment Setting to be created. + * + * @return builder + * + */ + public Builder intents(HciDeploymentSettingScaleUnitHostNetworkIntentArgs... intents) { + return intents(List.of(intents)); + } + + /** + * @param storageAutoIpEnabled 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. + * + * @return builder + * + */ + public Builder storageAutoIpEnabled(@Nullable Output storageAutoIpEnabled) { + $.storageAutoIpEnabled = storageAutoIpEnabled; + return this; + } + + /** + * @param storageAutoIpEnabled 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. + * + * @return builder + * + */ + public Builder storageAutoIpEnabled(Boolean storageAutoIpEnabled) { + return storageAutoIpEnabled(Output.of(storageAutoIpEnabled)); + } + + /** + * @param storageConnectivitySwitchlessEnabled 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. + * + * @return builder + * + */ + public Builder storageConnectivitySwitchlessEnabled(@Nullable Output storageConnectivitySwitchlessEnabled) { + $.storageConnectivitySwitchlessEnabled = storageConnectivitySwitchlessEnabled; + return this; + } + + /** + * @param storageConnectivitySwitchlessEnabled 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. + * + * @return builder + * + */ + public Builder storageConnectivitySwitchlessEnabled(Boolean storageConnectivitySwitchlessEnabled) { + return storageConnectivitySwitchlessEnabled(Output.of(storageConnectivitySwitchlessEnabled)); + } + + /** + * @param storageNetworks One or more `storage_network` blocks as defined below. Changing this forces a new Stack HCI Deployment Setting to be created. + * + * @return builder + * + */ + public Builder storageNetworks(Output> storageNetworks) { + $.storageNetworks = storageNetworks; + return this; + } + + /** + * @param storageNetworks One or more `storage_network` blocks as defined below. Changing this forces a new Stack HCI Deployment Setting to be created. + * + * @return builder + * + */ + public Builder storageNetworks(List storageNetworks) { + return storageNetworks(Output.of(storageNetworks)); + } + + /** + * @param storageNetworks One or more `storage_network` blocks as defined below. Changing this forces a new Stack HCI Deployment Setting to be created. + * + * @return builder + * + */ + public Builder storageNetworks(HciDeploymentSettingScaleUnitHostNetworkStorageNetworkArgs... storageNetworks) { + return storageNetworks(List.of(storageNetworks)); + } + + public HciDeploymentSettingScaleUnitHostNetworkArgs build() { + if ($.intents == null) { + throw new MissingRequiredPropertyException("HciDeploymentSettingScaleUnitHostNetworkArgs", "intents"); + } + if ($.storageNetworks == null) { + throw new MissingRequiredPropertyException("HciDeploymentSettingScaleUnitHostNetworkArgs", "storageNetworks"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/azure/stack/inputs/HciDeploymentSettingScaleUnitHostNetworkIntentAdapterPropertyOverrideArgs.java b/sdk/java/src/main/java/com/pulumi/azure/stack/inputs/HciDeploymentSettingScaleUnitHostNetworkIntentAdapterPropertyOverrideArgs.java new file mode 100644 index 0000000000..010d16bd9e --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/azure/stack/inputs/HciDeploymentSettingScaleUnitHostNetworkIntentAdapterPropertyOverrideArgs.java @@ -0,0 +1,157 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.azure.stack.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class HciDeploymentSettingScaleUnitHostNetworkIntentAdapterPropertyOverrideArgs extends com.pulumi.resources.ResourceArgs { + + public static final HciDeploymentSettingScaleUnitHostNetworkIntentAdapterPropertyOverrideArgs Empty = new HciDeploymentSettingScaleUnitHostNetworkIntentAdapterPropertyOverrideArgs(); + + /** + * 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. + * + */ + @Import(name="jumboPacket") + private @Nullable Output jumboPacket; + + /** + * @return 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. + * + */ + public Optional> jumboPacket() { + return Optional.ofNullable(this.jumboPacket); + } + + /** + * 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. + * + */ + @Import(name="networkDirect") + private @Nullable Output networkDirect; + + /** + * @return 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. + * + */ + public Optional> networkDirect() { + return Optional.ofNullable(this.networkDirect); + } + + /** + * 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. + * + */ + @Import(name="networkDirectTechnology") + private @Nullable Output networkDirectTechnology; + + /** + * @return 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. + * + */ + public Optional> networkDirectTechnology() { + return Optional.ofNullable(this.networkDirectTechnology); + } + + private HciDeploymentSettingScaleUnitHostNetworkIntentAdapterPropertyOverrideArgs() {} + + private HciDeploymentSettingScaleUnitHostNetworkIntentAdapterPropertyOverrideArgs(HciDeploymentSettingScaleUnitHostNetworkIntentAdapterPropertyOverrideArgs $) { + this.jumboPacket = $.jumboPacket; + this.networkDirect = $.networkDirect; + this.networkDirectTechnology = $.networkDirectTechnology; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(HciDeploymentSettingScaleUnitHostNetworkIntentAdapterPropertyOverrideArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private HciDeploymentSettingScaleUnitHostNetworkIntentAdapterPropertyOverrideArgs $; + + public Builder() { + $ = new HciDeploymentSettingScaleUnitHostNetworkIntentAdapterPropertyOverrideArgs(); + } + + public Builder(HciDeploymentSettingScaleUnitHostNetworkIntentAdapterPropertyOverrideArgs defaults) { + $ = new HciDeploymentSettingScaleUnitHostNetworkIntentAdapterPropertyOverrideArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param jumboPacket 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. + * + * @return builder + * + */ + public Builder jumboPacket(@Nullable Output jumboPacket) { + $.jumboPacket = jumboPacket; + return this; + } + + /** + * @param jumboPacket 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. + * + * @return builder + * + */ + public Builder jumboPacket(String jumboPacket) { + return jumboPacket(Output.of(jumboPacket)); + } + + /** + * @param networkDirect 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. + * + * @return builder + * + */ + public Builder networkDirect(@Nullable Output networkDirect) { + $.networkDirect = networkDirect; + return this; + } + + /** + * @param networkDirect 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. + * + * @return builder + * + */ + public Builder networkDirect(String networkDirect) { + return networkDirect(Output.of(networkDirect)); + } + + /** + * @param networkDirectTechnology 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. + * + * @return builder + * + */ + public Builder networkDirectTechnology(@Nullable Output networkDirectTechnology) { + $.networkDirectTechnology = networkDirectTechnology; + return this; + } + + /** + * @param networkDirectTechnology 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. + * + * @return builder + * + */ + public Builder networkDirectTechnology(String networkDirectTechnology) { + return networkDirectTechnology(Output.of(networkDirectTechnology)); + } + + public HciDeploymentSettingScaleUnitHostNetworkIntentAdapterPropertyOverrideArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/azure/stack/inputs/HciDeploymentSettingScaleUnitHostNetworkIntentArgs.java b/sdk/java/src/main/java/com/pulumi/azure/stack/inputs/HciDeploymentSettingScaleUnitHostNetworkIntentArgs.java new file mode 100644 index 0000000000..a578b5e51c --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/azure/stack/inputs/HciDeploymentSettingScaleUnitHostNetworkIntentArgs.java @@ -0,0 +1,414 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.azure.stack.inputs; + +import com.pulumi.azure.stack.inputs.HciDeploymentSettingScaleUnitHostNetworkIntentAdapterPropertyOverrideArgs; +import com.pulumi.azure.stack.inputs.HciDeploymentSettingScaleUnitHostNetworkIntentQosPolicyOverrideArgs; +import com.pulumi.azure.stack.inputs.HciDeploymentSettingScaleUnitHostNetworkIntentVirtualSwitchConfigurationOverrideArgs; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.Boolean; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class HciDeploymentSettingScaleUnitHostNetworkIntentArgs extends com.pulumi.resources.ResourceArgs { + + public static final HciDeploymentSettingScaleUnitHostNetworkIntentArgs Empty = new HciDeploymentSettingScaleUnitHostNetworkIntentArgs(); + + /** + * A `adapter_property_override` block as defined above. Changing this forces a new Stack HCI Deployment Setting to be created. + * + */ + @Import(name="adapterPropertyOverride") + private @Nullable Output adapterPropertyOverride; + + /** + * @return A `adapter_property_override` block as defined above. Changing this forces a new Stack HCI Deployment Setting to be created. + * + */ + public Optional> adapterPropertyOverride() { + return Optional.ofNullable(this.adapterPropertyOverride); + } + + /** + * 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. + * + */ + @Import(name="adapterPropertyOverrideEnabled") + private @Nullable Output adapterPropertyOverrideEnabled; + + /** + * @return 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. + * + */ + public Optional> adapterPropertyOverrideEnabled() { + return Optional.ofNullable(this.adapterPropertyOverrideEnabled); + } + + /** + * 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. + * + */ + @Import(name="adapters", required=true) + private Output> adapters; + + /** + * @return 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. + * + */ + public Output> adapters() { + return this.adapters; + } + + /** + * Specifies the name of the intent. Changing this forces a new Stack HCI Deployment Setting to be created. + * + */ + @Import(name="name", required=true) + private Output name; + + /** + * @return Specifies the name of the intent. Changing this forces a new Stack HCI Deployment Setting to be created. + * + */ + public Output name() { + return this.name; + } + + /** + * A `qos_policy_override` block as defined below. Changing this forces a new Stack HCI Deployment Setting to be created. + * + */ + @Import(name="qosPolicyOverride") + private @Nullable Output qosPolicyOverride; + + /** + * @return A `qos_policy_override` block as defined below. Changing this forces a new Stack HCI Deployment Setting to be created. + * + */ + public Optional> qosPolicyOverride() { + return Optional.ofNullable(this.qosPolicyOverride); + } + + /** + * 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. + * + */ + @Import(name="qosPolicyOverrideEnabled") + private @Nullable Output qosPolicyOverrideEnabled; + + /** + * @return 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. + * + */ + public Optional> qosPolicyOverrideEnabled() { + return Optional.ofNullable(this.qosPolicyOverrideEnabled); + } + + /** + * 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. + * + */ + @Import(name="trafficTypes", required=true) + private Output> trafficTypes; + + /** + * @return 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. + * + */ + public Output> trafficTypes() { + return this.trafficTypes; + } + + /** + * A `virtual_switch_configuration_override` block as defined below. Changing this forces a new Stack HCI Deployment Setting to be created. + * + */ + @Import(name="virtualSwitchConfigurationOverride") + private @Nullable Output virtualSwitchConfigurationOverride; + + /** + * @return A `virtual_switch_configuration_override` block as defined below. Changing this forces a new Stack HCI Deployment Setting to be created. + * + */ + public Optional> virtualSwitchConfigurationOverride() { + return Optional.ofNullable(this.virtualSwitchConfigurationOverride); + } + + /** + * 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. + * + */ + @Import(name="virtualSwitchConfigurationOverrideEnabled") + private @Nullable Output virtualSwitchConfigurationOverrideEnabled; + + /** + * @return 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. + * + */ + public Optional> virtualSwitchConfigurationOverrideEnabled() { + return Optional.ofNullable(this.virtualSwitchConfigurationOverrideEnabled); + } + + private HciDeploymentSettingScaleUnitHostNetworkIntentArgs() {} + + private HciDeploymentSettingScaleUnitHostNetworkIntentArgs(HciDeploymentSettingScaleUnitHostNetworkIntentArgs $) { + this.adapterPropertyOverride = $.adapterPropertyOverride; + this.adapterPropertyOverrideEnabled = $.adapterPropertyOverrideEnabled; + this.adapters = $.adapters; + this.name = $.name; + this.qosPolicyOverride = $.qosPolicyOverride; + this.qosPolicyOverrideEnabled = $.qosPolicyOverrideEnabled; + this.trafficTypes = $.trafficTypes; + this.virtualSwitchConfigurationOverride = $.virtualSwitchConfigurationOverride; + this.virtualSwitchConfigurationOverrideEnabled = $.virtualSwitchConfigurationOverrideEnabled; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(HciDeploymentSettingScaleUnitHostNetworkIntentArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private HciDeploymentSettingScaleUnitHostNetworkIntentArgs $; + + public Builder() { + $ = new HciDeploymentSettingScaleUnitHostNetworkIntentArgs(); + } + + public Builder(HciDeploymentSettingScaleUnitHostNetworkIntentArgs defaults) { + $ = new HciDeploymentSettingScaleUnitHostNetworkIntentArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param adapterPropertyOverride A `adapter_property_override` block as defined above. Changing this forces a new Stack HCI Deployment Setting to be created. + * + * @return builder + * + */ + public Builder adapterPropertyOverride(@Nullable Output adapterPropertyOverride) { + $.adapterPropertyOverride = adapterPropertyOverride; + return this; + } + + /** + * @param adapterPropertyOverride A `adapter_property_override` block as defined above. Changing this forces a new Stack HCI Deployment Setting to be created. + * + * @return builder + * + */ + public Builder adapterPropertyOverride(HciDeploymentSettingScaleUnitHostNetworkIntentAdapterPropertyOverrideArgs adapterPropertyOverride) { + return adapterPropertyOverride(Output.of(adapterPropertyOverride)); + } + + /** + * @param adapterPropertyOverrideEnabled 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. + * + * @return builder + * + */ + public Builder adapterPropertyOverrideEnabled(@Nullable Output adapterPropertyOverrideEnabled) { + $.adapterPropertyOverrideEnabled = adapterPropertyOverrideEnabled; + return this; + } + + /** + * @param adapterPropertyOverrideEnabled 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. + * + * @return builder + * + */ + public Builder adapterPropertyOverrideEnabled(Boolean adapterPropertyOverrideEnabled) { + return adapterPropertyOverrideEnabled(Output.of(adapterPropertyOverrideEnabled)); + } + + /** + * @param adapters 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. + * + * @return builder + * + */ + public Builder adapters(Output> adapters) { + $.adapters = adapters; + return this; + } + + /** + * @param adapters 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. + * + * @return builder + * + */ + public Builder adapters(List adapters) { + return adapters(Output.of(adapters)); + } + + /** + * @param adapters 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. + * + * @return builder + * + */ + public Builder adapters(String... adapters) { + return adapters(List.of(adapters)); + } + + /** + * @param name Specifies the name of the intent. Changing this forces a new Stack HCI Deployment Setting to be created. + * + * @return builder + * + */ + public Builder name(Output name) { + $.name = name; + return this; + } + + /** + * @param name Specifies the name of the intent. Changing this forces a new Stack HCI Deployment Setting to be created. + * + * @return builder + * + */ + public Builder name(String name) { + return name(Output.of(name)); + } + + /** + * @param qosPolicyOverride A `qos_policy_override` block as defined below. Changing this forces a new Stack HCI Deployment Setting to be created. + * + * @return builder + * + */ + public Builder qosPolicyOverride(@Nullable Output qosPolicyOverride) { + $.qosPolicyOverride = qosPolicyOverride; + return this; + } + + /** + * @param qosPolicyOverride A `qos_policy_override` block as defined below. Changing this forces a new Stack HCI Deployment Setting to be created. + * + * @return builder + * + */ + public Builder qosPolicyOverride(HciDeploymentSettingScaleUnitHostNetworkIntentQosPolicyOverrideArgs qosPolicyOverride) { + return qosPolicyOverride(Output.of(qosPolicyOverride)); + } + + /** + * @param qosPolicyOverrideEnabled 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. + * + * @return builder + * + */ + public Builder qosPolicyOverrideEnabled(@Nullable Output qosPolicyOverrideEnabled) { + $.qosPolicyOverrideEnabled = qosPolicyOverrideEnabled; + return this; + } + + /** + * @param qosPolicyOverrideEnabled 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. + * + * @return builder + * + */ + public Builder qosPolicyOverrideEnabled(Boolean qosPolicyOverrideEnabled) { + return qosPolicyOverrideEnabled(Output.of(qosPolicyOverrideEnabled)); + } + + /** + * @param trafficTypes 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. + * + * @return builder + * + */ + public Builder trafficTypes(Output> trafficTypes) { + $.trafficTypes = trafficTypes; + return this; + } + + /** + * @param trafficTypes 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. + * + * @return builder + * + */ + public Builder trafficTypes(List trafficTypes) { + return trafficTypes(Output.of(trafficTypes)); + } + + /** + * @param trafficTypes 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. + * + * @return builder + * + */ + public Builder trafficTypes(String... trafficTypes) { + return trafficTypes(List.of(trafficTypes)); + } + + /** + * @param virtualSwitchConfigurationOverride A `virtual_switch_configuration_override` block as defined below. Changing this forces a new Stack HCI Deployment Setting to be created. + * + * @return builder + * + */ + public Builder virtualSwitchConfigurationOverride(@Nullable Output virtualSwitchConfigurationOverride) { + $.virtualSwitchConfigurationOverride = virtualSwitchConfigurationOverride; + return this; + } + + /** + * @param virtualSwitchConfigurationOverride A `virtual_switch_configuration_override` block as defined below. Changing this forces a new Stack HCI Deployment Setting to be created. + * + * @return builder + * + */ + public Builder virtualSwitchConfigurationOverride(HciDeploymentSettingScaleUnitHostNetworkIntentVirtualSwitchConfigurationOverrideArgs virtualSwitchConfigurationOverride) { + return virtualSwitchConfigurationOverride(Output.of(virtualSwitchConfigurationOverride)); + } + + /** + * @param virtualSwitchConfigurationOverrideEnabled 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. + * + * @return builder + * + */ + public Builder virtualSwitchConfigurationOverrideEnabled(@Nullable Output virtualSwitchConfigurationOverrideEnabled) { + $.virtualSwitchConfigurationOverrideEnabled = virtualSwitchConfigurationOverrideEnabled; + return this; + } + + /** + * @param virtualSwitchConfigurationOverrideEnabled 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. + * + * @return builder + * + */ + public Builder virtualSwitchConfigurationOverrideEnabled(Boolean virtualSwitchConfigurationOverrideEnabled) { + return virtualSwitchConfigurationOverrideEnabled(Output.of(virtualSwitchConfigurationOverrideEnabled)); + } + + public HciDeploymentSettingScaleUnitHostNetworkIntentArgs build() { + if ($.adapters == null) { + throw new MissingRequiredPropertyException("HciDeploymentSettingScaleUnitHostNetworkIntentArgs", "adapters"); + } + if ($.name == null) { + throw new MissingRequiredPropertyException("HciDeploymentSettingScaleUnitHostNetworkIntentArgs", "name"); + } + if ($.trafficTypes == null) { + throw new MissingRequiredPropertyException("HciDeploymentSettingScaleUnitHostNetworkIntentArgs", "trafficTypes"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/azure/stack/inputs/HciDeploymentSettingScaleUnitHostNetworkIntentQosPolicyOverrideArgs.java b/sdk/java/src/main/java/com/pulumi/azure/stack/inputs/HciDeploymentSettingScaleUnitHostNetworkIntentQosPolicyOverrideArgs.java new file mode 100644 index 0000000000..5a14fd969a --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/azure/stack/inputs/HciDeploymentSettingScaleUnitHostNetworkIntentQosPolicyOverrideArgs.java @@ -0,0 +1,157 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.azure.stack.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class HciDeploymentSettingScaleUnitHostNetworkIntentQosPolicyOverrideArgs extends com.pulumi.resources.ResourceArgs { + + public static final HciDeploymentSettingScaleUnitHostNetworkIntentQosPolicyOverrideArgs Empty = new HciDeploymentSettingScaleUnitHostNetworkIntentQosPolicyOverrideArgs(); + + /** + * 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. + * + */ + @Import(name="bandwidthPercentageSmb") + private @Nullable Output bandwidthPercentageSmb; + + /** + * @return 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. + * + */ + public Optional> bandwidthPercentageSmb() { + return Optional.ofNullable(this.bandwidthPercentageSmb); + } + + /** + * 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. + * + */ + @Import(name="priorityValue8021ActionCluster") + private @Nullable Output priorityValue8021ActionCluster; + + /** + * @return 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. + * + */ + public Optional> priorityValue8021ActionCluster() { + return Optional.ofNullable(this.priorityValue8021ActionCluster); + } + + /** + * 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. + * + */ + @Import(name="priorityValue8021ActionSmb") + private @Nullable Output priorityValue8021ActionSmb; + + /** + * @return 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. + * + */ + public Optional> priorityValue8021ActionSmb() { + return Optional.ofNullable(this.priorityValue8021ActionSmb); + } + + private HciDeploymentSettingScaleUnitHostNetworkIntentQosPolicyOverrideArgs() {} + + private HciDeploymentSettingScaleUnitHostNetworkIntentQosPolicyOverrideArgs(HciDeploymentSettingScaleUnitHostNetworkIntentQosPolicyOverrideArgs $) { + this.bandwidthPercentageSmb = $.bandwidthPercentageSmb; + this.priorityValue8021ActionCluster = $.priorityValue8021ActionCluster; + this.priorityValue8021ActionSmb = $.priorityValue8021ActionSmb; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(HciDeploymentSettingScaleUnitHostNetworkIntentQosPolicyOverrideArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private HciDeploymentSettingScaleUnitHostNetworkIntentQosPolicyOverrideArgs $; + + public Builder() { + $ = new HciDeploymentSettingScaleUnitHostNetworkIntentQosPolicyOverrideArgs(); + } + + public Builder(HciDeploymentSettingScaleUnitHostNetworkIntentQosPolicyOverrideArgs defaults) { + $ = new HciDeploymentSettingScaleUnitHostNetworkIntentQosPolicyOverrideArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param bandwidthPercentageSmb 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. + * + * @return builder + * + */ + public Builder bandwidthPercentageSmb(@Nullable Output bandwidthPercentageSmb) { + $.bandwidthPercentageSmb = bandwidthPercentageSmb; + return this; + } + + /** + * @param bandwidthPercentageSmb 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. + * + * @return builder + * + */ + public Builder bandwidthPercentageSmb(String bandwidthPercentageSmb) { + return bandwidthPercentageSmb(Output.of(bandwidthPercentageSmb)); + } + + /** + * @param priorityValue8021ActionCluster 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. + * + * @return builder + * + */ + public Builder priorityValue8021ActionCluster(@Nullable Output priorityValue8021ActionCluster) { + $.priorityValue8021ActionCluster = priorityValue8021ActionCluster; + return this; + } + + /** + * @param priorityValue8021ActionCluster 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. + * + * @return builder + * + */ + public Builder priorityValue8021ActionCluster(String priorityValue8021ActionCluster) { + return priorityValue8021ActionCluster(Output.of(priorityValue8021ActionCluster)); + } + + /** + * @param priorityValue8021ActionSmb 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. + * + * @return builder + * + */ + public Builder priorityValue8021ActionSmb(@Nullable Output priorityValue8021ActionSmb) { + $.priorityValue8021ActionSmb = priorityValue8021ActionSmb; + return this; + } + + /** + * @param priorityValue8021ActionSmb 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. + * + * @return builder + * + */ + public Builder priorityValue8021ActionSmb(String priorityValue8021ActionSmb) { + return priorityValue8021ActionSmb(Output.of(priorityValue8021ActionSmb)); + } + + public HciDeploymentSettingScaleUnitHostNetworkIntentQosPolicyOverrideArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/azure/stack/inputs/HciDeploymentSettingScaleUnitHostNetworkIntentVirtualSwitchConfigurationOverrideArgs.java b/sdk/java/src/main/java/com/pulumi/azure/stack/inputs/HciDeploymentSettingScaleUnitHostNetworkIntentVirtualSwitchConfigurationOverrideArgs.java new file mode 100644 index 0000000000..36ed1983d0 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/azure/stack/inputs/HciDeploymentSettingScaleUnitHostNetworkIntentVirtualSwitchConfigurationOverrideArgs.java @@ -0,0 +1,120 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.azure.stack.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class HciDeploymentSettingScaleUnitHostNetworkIntentVirtualSwitchConfigurationOverrideArgs extends com.pulumi.resources.ResourceArgs { + + public static final HciDeploymentSettingScaleUnitHostNetworkIntentVirtualSwitchConfigurationOverrideArgs Empty = new HciDeploymentSettingScaleUnitHostNetworkIntentVirtualSwitchConfigurationOverrideArgs(); + + /** + * Specifies the IoV enable status for Virtual Switch. Changing this forces a new Stack HCI Deployment Setting to be created. + * + */ + @Import(name="enableIov") + private @Nullable Output enableIov; + + /** + * @return Specifies the IoV enable status for Virtual Switch. Changing this forces a new Stack HCI Deployment Setting to be created. + * + */ + public Optional> enableIov() { + return Optional.ofNullable(this.enableIov); + } + + /** + * Specifies the load balancing algorithm for Virtual Switch. Changing this forces a new Stack HCI Deployment Setting to be created. + * + */ + @Import(name="loadBalancingAlgorithm") + private @Nullable Output loadBalancingAlgorithm; + + /** + * @return Specifies the load balancing algorithm for Virtual Switch. Changing this forces a new Stack HCI Deployment Setting to be created. + * + */ + public Optional> loadBalancingAlgorithm() { + return Optional.ofNullable(this.loadBalancingAlgorithm); + } + + private HciDeploymentSettingScaleUnitHostNetworkIntentVirtualSwitchConfigurationOverrideArgs() {} + + private HciDeploymentSettingScaleUnitHostNetworkIntentVirtualSwitchConfigurationOverrideArgs(HciDeploymentSettingScaleUnitHostNetworkIntentVirtualSwitchConfigurationOverrideArgs $) { + this.enableIov = $.enableIov; + this.loadBalancingAlgorithm = $.loadBalancingAlgorithm; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(HciDeploymentSettingScaleUnitHostNetworkIntentVirtualSwitchConfigurationOverrideArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private HciDeploymentSettingScaleUnitHostNetworkIntentVirtualSwitchConfigurationOverrideArgs $; + + public Builder() { + $ = new HciDeploymentSettingScaleUnitHostNetworkIntentVirtualSwitchConfigurationOverrideArgs(); + } + + public Builder(HciDeploymentSettingScaleUnitHostNetworkIntentVirtualSwitchConfigurationOverrideArgs defaults) { + $ = new HciDeploymentSettingScaleUnitHostNetworkIntentVirtualSwitchConfigurationOverrideArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param enableIov Specifies the IoV enable status for Virtual Switch. Changing this forces a new Stack HCI Deployment Setting to be created. + * + * @return builder + * + */ + public Builder enableIov(@Nullable Output enableIov) { + $.enableIov = enableIov; + return this; + } + + /** + * @param enableIov Specifies the IoV enable status for Virtual Switch. Changing this forces a new Stack HCI Deployment Setting to be created. + * + * @return builder + * + */ + public Builder enableIov(String enableIov) { + return enableIov(Output.of(enableIov)); + } + + /** + * @param loadBalancingAlgorithm Specifies the load balancing algorithm for Virtual Switch. Changing this forces a new Stack HCI Deployment Setting to be created. + * + * @return builder + * + */ + public Builder loadBalancingAlgorithm(@Nullable Output loadBalancingAlgorithm) { + $.loadBalancingAlgorithm = loadBalancingAlgorithm; + return this; + } + + /** + * @param loadBalancingAlgorithm Specifies the load balancing algorithm for Virtual Switch. Changing this forces a new Stack HCI Deployment Setting to be created. + * + * @return builder + * + */ + public Builder loadBalancingAlgorithm(String loadBalancingAlgorithm) { + return loadBalancingAlgorithm(Output.of(loadBalancingAlgorithm)); + } + + public HciDeploymentSettingScaleUnitHostNetworkIntentVirtualSwitchConfigurationOverrideArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/azure/stack/inputs/HciDeploymentSettingScaleUnitHostNetworkStorageNetworkArgs.java b/sdk/java/src/main/java/com/pulumi/azure/stack/inputs/HciDeploymentSettingScaleUnitHostNetworkStorageNetworkArgs.java new file mode 100644 index 0000000000..ac5c8af9d4 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/azure/stack/inputs/HciDeploymentSettingScaleUnitHostNetworkStorageNetworkArgs.java @@ -0,0 +1,165 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.azure.stack.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.Objects; + + +public final class HciDeploymentSettingScaleUnitHostNetworkStorageNetworkArgs extends com.pulumi.resources.ResourceArgs { + + public static final HciDeploymentSettingScaleUnitHostNetworkStorageNetworkArgs Empty = new HciDeploymentSettingScaleUnitHostNetworkStorageNetworkArgs(); + + /** + * The name of the storage network. Changing this forces a new Stack HCI Deployment Setting to be created. + * + */ + @Import(name="name", required=true) + private Output name; + + /** + * @return The name of the storage network. Changing this forces a new Stack HCI Deployment Setting to be created. + * + */ + public Output name() { + return this.name; + } + + /** + * The name of the network adapter. Changing this forces a new Stack HCI Deployment Setting to be created. + * + */ + @Import(name="networkAdapterName", required=true) + private Output networkAdapterName; + + /** + * @return The name of the network adapter. Changing this forces a new Stack HCI Deployment Setting to be created. + * + */ + public Output networkAdapterName() { + return this.networkAdapterName; + } + + /** + * 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. + * + */ + @Import(name="vlanId", required=true) + private Output vlanId; + + /** + * @return 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. + * + */ + public Output vlanId() { + return this.vlanId; + } + + private HciDeploymentSettingScaleUnitHostNetworkStorageNetworkArgs() {} + + private HciDeploymentSettingScaleUnitHostNetworkStorageNetworkArgs(HciDeploymentSettingScaleUnitHostNetworkStorageNetworkArgs $) { + this.name = $.name; + this.networkAdapterName = $.networkAdapterName; + this.vlanId = $.vlanId; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(HciDeploymentSettingScaleUnitHostNetworkStorageNetworkArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private HciDeploymentSettingScaleUnitHostNetworkStorageNetworkArgs $; + + public Builder() { + $ = new HciDeploymentSettingScaleUnitHostNetworkStorageNetworkArgs(); + } + + public Builder(HciDeploymentSettingScaleUnitHostNetworkStorageNetworkArgs defaults) { + $ = new HciDeploymentSettingScaleUnitHostNetworkStorageNetworkArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param name The name of the storage network. Changing this forces a new Stack HCI Deployment Setting to be created. + * + * @return builder + * + */ + public Builder name(Output name) { + $.name = name; + return this; + } + + /** + * @param name The name of the storage network. Changing this forces a new Stack HCI Deployment Setting to be created. + * + * @return builder + * + */ + public Builder name(String name) { + return name(Output.of(name)); + } + + /** + * @param networkAdapterName The name of the network adapter. Changing this forces a new Stack HCI Deployment Setting to be created. + * + * @return builder + * + */ + public Builder networkAdapterName(Output networkAdapterName) { + $.networkAdapterName = networkAdapterName; + return this; + } + + /** + * @param networkAdapterName The name of the network adapter. Changing this forces a new Stack HCI Deployment Setting to be created. + * + * @return builder + * + */ + public Builder networkAdapterName(String networkAdapterName) { + return networkAdapterName(Output.of(networkAdapterName)); + } + + /** + * @param vlanId 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. + * + * @return builder + * + */ + public Builder vlanId(Output vlanId) { + $.vlanId = vlanId; + return this; + } + + /** + * @param vlanId 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. + * + * @return builder + * + */ + public Builder vlanId(String vlanId) { + return vlanId(Output.of(vlanId)); + } + + public HciDeploymentSettingScaleUnitHostNetworkStorageNetworkArgs build() { + if ($.name == null) { + throw new MissingRequiredPropertyException("HciDeploymentSettingScaleUnitHostNetworkStorageNetworkArgs", "name"); + } + if ($.networkAdapterName == null) { + throw new MissingRequiredPropertyException("HciDeploymentSettingScaleUnitHostNetworkStorageNetworkArgs", "networkAdapterName"); + } + if ($.vlanId == null) { + throw new MissingRequiredPropertyException("HciDeploymentSettingScaleUnitHostNetworkStorageNetworkArgs", "vlanId"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/azure/stack/inputs/HciDeploymentSettingScaleUnitInfrastructureNetworkArgs.java b/sdk/java/src/main/java/com/pulumi/azure/stack/inputs/HciDeploymentSettingScaleUnitInfrastructureNetworkArgs.java new file mode 100644 index 0000000000..8e1a0b126d --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/azure/stack/inputs/HciDeploymentSettingScaleUnitInfrastructureNetworkArgs.java @@ -0,0 +1,275 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.azure.stack.inputs; + +import com.pulumi.azure.stack.inputs.HciDeploymentSettingScaleUnitInfrastructureNetworkIpPoolArgs; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.Boolean; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class HciDeploymentSettingScaleUnitInfrastructureNetworkArgs extends com.pulumi.resources.ResourceArgs { + + public static final HciDeploymentSettingScaleUnitInfrastructureNetworkArgs Empty = new HciDeploymentSettingScaleUnitInfrastructureNetworkArgs(); + + /** + * 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. + * + * > **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. + * + */ + @Import(name="dhcpEnabled") + private @Nullable Output dhcpEnabled; + + /** + * @return 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. + * + * > **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. + * + */ + public Optional> dhcpEnabled() { + return Optional.ofNullable(this.dhcpEnabled); + } + + /** + * 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. + * + */ + @Import(name="dnsServers", required=true) + private Output> dnsServers; + + /** + * @return 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. + * + */ + public Output> dnsServers() { + return this.dnsServers; + } + + /** + * 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. + * + */ + @Import(name="gateway", required=true) + private Output gateway; + + /** + * @return 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. + * + */ + public Output gateway() { + return this.gateway; + } + + /** + * One or more `ip_pool` blocks as defined below. Changing this forces a new Stack HCI Deployment Setting to be created. + * + */ + @Import(name="ipPools", required=true) + private Output> ipPools; + + /** + * @return One or more `ip_pool` blocks as defined below. Changing this forces a new Stack HCI Deployment Setting to be created. + * + */ + public Output> ipPools() { + return this.ipPools; + } + + /** + * Specifies the subnet mask that matches the provided IP address space. Changing this forces a new Stack HCI Deployment Setting to be created. + * + */ + @Import(name="subnetMask", required=true) + private Output subnetMask; + + /** + * @return Specifies the subnet mask that matches the provided IP address space. Changing this forces a new Stack HCI Deployment Setting to be created. + * + */ + public Output subnetMask() { + return this.subnetMask; + } + + private HciDeploymentSettingScaleUnitInfrastructureNetworkArgs() {} + + private HciDeploymentSettingScaleUnitInfrastructureNetworkArgs(HciDeploymentSettingScaleUnitInfrastructureNetworkArgs $) { + this.dhcpEnabled = $.dhcpEnabled; + this.dnsServers = $.dnsServers; + this.gateway = $.gateway; + this.ipPools = $.ipPools; + this.subnetMask = $.subnetMask; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(HciDeploymentSettingScaleUnitInfrastructureNetworkArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private HciDeploymentSettingScaleUnitInfrastructureNetworkArgs $; + + public Builder() { + $ = new HciDeploymentSettingScaleUnitInfrastructureNetworkArgs(); + } + + public Builder(HciDeploymentSettingScaleUnitInfrastructureNetworkArgs defaults) { + $ = new HciDeploymentSettingScaleUnitInfrastructureNetworkArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param dhcpEnabled 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. + * + * > **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. + * + * @return builder + * + */ + public Builder dhcpEnabled(@Nullable Output dhcpEnabled) { + $.dhcpEnabled = dhcpEnabled; + return this; + } + + /** + * @param dhcpEnabled 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. + * + * > **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. + * + * @return builder + * + */ + public Builder dhcpEnabled(Boolean dhcpEnabled) { + return dhcpEnabled(Output.of(dhcpEnabled)); + } + + /** + * @param dnsServers 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. + * + * @return builder + * + */ + public Builder dnsServers(Output> dnsServers) { + $.dnsServers = dnsServers; + return this; + } + + /** + * @param dnsServers 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. + * + * @return builder + * + */ + public Builder dnsServers(List dnsServers) { + return dnsServers(Output.of(dnsServers)); + } + + /** + * @param dnsServers 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. + * + * @return builder + * + */ + public Builder dnsServers(String... dnsServers) { + return dnsServers(List.of(dnsServers)); + } + + /** + * @param gateway 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. + * + * @return builder + * + */ + public Builder gateway(Output gateway) { + $.gateway = gateway; + return this; + } + + /** + * @param gateway 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. + * + * @return builder + * + */ + public Builder gateway(String gateway) { + return gateway(Output.of(gateway)); + } + + /** + * @param ipPools One or more `ip_pool` blocks as defined below. Changing this forces a new Stack HCI Deployment Setting to be created. + * + * @return builder + * + */ + public Builder ipPools(Output> ipPools) { + $.ipPools = ipPools; + return this; + } + + /** + * @param ipPools One or more `ip_pool` blocks as defined below. Changing this forces a new Stack HCI Deployment Setting to be created. + * + * @return builder + * + */ + public Builder ipPools(List ipPools) { + return ipPools(Output.of(ipPools)); + } + + /** + * @param ipPools One or more `ip_pool` blocks as defined below. Changing this forces a new Stack HCI Deployment Setting to be created. + * + * @return builder + * + */ + public Builder ipPools(HciDeploymentSettingScaleUnitInfrastructureNetworkIpPoolArgs... ipPools) { + return ipPools(List.of(ipPools)); + } + + /** + * @param subnetMask Specifies the subnet mask that matches the provided IP address space. Changing this forces a new Stack HCI Deployment Setting to be created. + * + * @return builder + * + */ + public Builder subnetMask(Output subnetMask) { + $.subnetMask = subnetMask; + return this; + } + + /** + * @param subnetMask Specifies the subnet mask that matches the provided IP address space. Changing this forces a new Stack HCI Deployment Setting to be created. + * + * @return builder + * + */ + public Builder subnetMask(String subnetMask) { + return subnetMask(Output.of(subnetMask)); + } + + public HciDeploymentSettingScaleUnitInfrastructureNetworkArgs build() { + if ($.dnsServers == null) { + throw new MissingRequiredPropertyException("HciDeploymentSettingScaleUnitInfrastructureNetworkArgs", "dnsServers"); + } + if ($.gateway == null) { + throw new MissingRequiredPropertyException("HciDeploymentSettingScaleUnitInfrastructureNetworkArgs", "gateway"); + } + if ($.ipPools == null) { + throw new MissingRequiredPropertyException("HciDeploymentSettingScaleUnitInfrastructureNetworkArgs", "ipPools"); + } + if ($.subnetMask == null) { + throw new MissingRequiredPropertyException("HciDeploymentSettingScaleUnitInfrastructureNetworkArgs", "subnetMask"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/azure/stack/inputs/HciDeploymentSettingScaleUnitInfrastructureNetworkIpPoolArgs.java b/sdk/java/src/main/java/com/pulumi/azure/stack/inputs/HciDeploymentSettingScaleUnitInfrastructureNetworkIpPoolArgs.java new file mode 100644 index 0000000000..15b54d7bde --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/azure/stack/inputs/HciDeploymentSettingScaleUnitInfrastructureNetworkIpPoolArgs.java @@ -0,0 +1,125 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.azure.stack.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.Objects; + + +public final class HciDeploymentSettingScaleUnitInfrastructureNetworkIpPoolArgs extends com.pulumi.resources.ResourceArgs { + + public static final HciDeploymentSettingScaleUnitInfrastructureNetworkIpPoolArgs Empty = new HciDeploymentSettingScaleUnitInfrastructureNetworkIpPoolArgs(); + + /** + * 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. + * + */ + @Import(name="endingAddress", required=true) + private Output endingAddress; + + /** + * @return 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. + * + */ + public Output endingAddress() { + return this.endingAddress; + } + + /** + * 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. + * + */ + @Import(name="startingAddress", required=true) + private Output startingAddress; + + /** + * @return 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. + * + */ + public Output startingAddress() { + return this.startingAddress; + } + + private HciDeploymentSettingScaleUnitInfrastructureNetworkIpPoolArgs() {} + + private HciDeploymentSettingScaleUnitInfrastructureNetworkIpPoolArgs(HciDeploymentSettingScaleUnitInfrastructureNetworkIpPoolArgs $) { + this.endingAddress = $.endingAddress; + this.startingAddress = $.startingAddress; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(HciDeploymentSettingScaleUnitInfrastructureNetworkIpPoolArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private HciDeploymentSettingScaleUnitInfrastructureNetworkIpPoolArgs $; + + public Builder() { + $ = new HciDeploymentSettingScaleUnitInfrastructureNetworkIpPoolArgs(); + } + + public Builder(HciDeploymentSettingScaleUnitInfrastructureNetworkIpPoolArgs defaults) { + $ = new HciDeploymentSettingScaleUnitInfrastructureNetworkIpPoolArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param endingAddress 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. + * + * @return builder + * + */ + public Builder endingAddress(Output endingAddress) { + $.endingAddress = endingAddress; + return this; + } + + /** + * @param endingAddress 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. + * + * @return builder + * + */ + public Builder endingAddress(String endingAddress) { + return endingAddress(Output.of(endingAddress)); + } + + /** + * @param startingAddress 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. + * + * @return builder + * + */ + public Builder startingAddress(Output startingAddress) { + $.startingAddress = startingAddress; + return this; + } + + /** + * @param startingAddress 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. + * + * @return builder + * + */ + public Builder startingAddress(String startingAddress) { + return startingAddress(Output.of(startingAddress)); + } + + public HciDeploymentSettingScaleUnitInfrastructureNetworkIpPoolArgs build() { + if ($.endingAddress == null) { + throw new MissingRequiredPropertyException("HciDeploymentSettingScaleUnitInfrastructureNetworkIpPoolArgs", "endingAddress"); + } + if ($.startingAddress == null) { + throw new MissingRequiredPropertyException("HciDeploymentSettingScaleUnitInfrastructureNetworkIpPoolArgs", "startingAddress"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/azure/stack/inputs/HciDeploymentSettingScaleUnitOptionalServiceArgs.java b/sdk/java/src/main/java/com/pulumi/azure/stack/inputs/HciDeploymentSettingScaleUnitOptionalServiceArgs.java new file mode 100644 index 0000000000..b6b9be37d6 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/azure/stack/inputs/HciDeploymentSettingScaleUnitOptionalServiceArgs.java @@ -0,0 +1,85 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.azure.stack.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.Objects; + + +public final class HciDeploymentSettingScaleUnitOptionalServiceArgs extends com.pulumi.resources.ResourceArgs { + + public static final HciDeploymentSettingScaleUnitOptionalServiceArgs Empty = new HciDeploymentSettingScaleUnitOptionalServiceArgs(); + + /** + * 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. + * + */ + @Import(name="customLocation", required=true) + private Output customLocation; + + /** + * @return 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. + * + */ + public Output customLocation() { + return this.customLocation; + } + + private HciDeploymentSettingScaleUnitOptionalServiceArgs() {} + + private HciDeploymentSettingScaleUnitOptionalServiceArgs(HciDeploymentSettingScaleUnitOptionalServiceArgs $) { + this.customLocation = $.customLocation; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(HciDeploymentSettingScaleUnitOptionalServiceArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private HciDeploymentSettingScaleUnitOptionalServiceArgs $; + + public Builder() { + $ = new HciDeploymentSettingScaleUnitOptionalServiceArgs(); + } + + public Builder(HciDeploymentSettingScaleUnitOptionalServiceArgs defaults) { + $ = new HciDeploymentSettingScaleUnitOptionalServiceArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param customLocation 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. + * + * @return builder + * + */ + public Builder customLocation(Output customLocation) { + $.customLocation = customLocation; + return this; + } + + /** + * @param customLocation 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. + * + * @return builder + * + */ + public Builder customLocation(String customLocation) { + return customLocation(Output.of(customLocation)); + } + + public HciDeploymentSettingScaleUnitOptionalServiceArgs build() { + if ($.customLocation == null) { + throw new MissingRequiredPropertyException("HciDeploymentSettingScaleUnitOptionalServiceArgs", "customLocation"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/azure/stack/inputs/HciDeploymentSettingScaleUnitPhysicalNodeArgs.java b/sdk/java/src/main/java/com/pulumi/azure/stack/inputs/HciDeploymentSettingScaleUnitPhysicalNodeArgs.java new file mode 100644 index 0000000000..3c13e2eb8e --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/azure/stack/inputs/HciDeploymentSettingScaleUnitPhysicalNodeArgs.java @@ -0,0 +1,125 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.azure.stack.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.Objects; + + +public final class HciDeploymentSettingScaleUnitPhysicalNodeArgs extends com.pulumi.resources.ResourceArgs { + + public static final HciDeploymentSettingScaleUnitPhysicalNodeArgs Empty = new HciDeploymentSettingScaleUnitPhysicalNodeArgs(); + + /** + * 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. + * + */ + @Import(name="ipv4Address", required=true) + private Output ipv4Address; + + /** + * @return 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. + * + */ + public Output ipv4Address() { + return this.ipv4Address; + } + + /** + * 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. + * + */ + @Import(name="name", required=true) + private Output name; + + /** + * @return 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. + * + */ + public Output name() { + return this.name; + } + + private HciDeploymentSettingScaleUnitPhysicalNodeArgs() {} + + private HciDeploymentSettingScaleUnitPhysicalNodeArgs(HciDeploymentSettingScaleUnitPhysicalNodeArgs $) { + this.ipv4Address = $.ipv4Address; + this.name = $.name; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(HciDeploymentSettingScaleUnitPhysicalNodeArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private HciDeploymentSettingScaleUnitPhysicalNodeArgs $; + + public Builder() { + $ = new HciDeploymentSettingScaleUnitPhysicalNodeArgs(); + } + + public Builder(HciDeploymentSettingScaleUnitPhysicalNodeArgs defaults) { + $ = new HciDeploymentSettingScaleUnitPhysicalNodeArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param ipv4Address 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. + * + * @return builder + * + */ + public Builder ipv4Address(Output ipv4Address) { + $.ipv4Address = ipv4Address; + return this; + } + + /** + * @param ipv4Address 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. + * + * @return builder + * + */ + public Builder ipv4Address(String ipv4Address) { + return ipv4Address(Output.of(ipv4Address)); + } + + /** + * @param name 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. + * + * @return builder + * + */ + public Builder name(Output name) { + $.name = name; + return this; + } + + /** + * @param name 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. + * + * @return builder + * + */ + public Builder name(String name) { + return name(Output.of(name)); + } + + public HciDeploymentSettingScaleUnitPhysicalNodeArgs build() { + if ($.ipv4Address == null) { + throw new MissingRequiredPropertyException("HciDeploymentSettingScaleUnitPhysicalNodeArgs", "ipv4Address"); + } + if ($.name == null) { + throw new MissingRequiredPropertyException("HciDeploymentSettingScaleUnitPhysicalNodeArgs", "name"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/azure/stack/inputs/HciDeploymentSettingScaleUnitStorageArgs.java b/sdk/java/src/main/java/com/pulumi/azure/stack/inputs/HciDeploymentSettingScaleUnitStorageArgs.java new file mode 100644 index 0000000000..d8ae77a142 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/azure/stack/inputs/HciDeploymentSettingScaleUnitStorageArgs.java @@ -0,0 +1,85 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.azure.stack.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.Objects; + + +public final class HciDeploymentSettingScaleUnitStorageArgs extends com.pulumi.resources.ResourceArgs { + + public static final HciDeploymentSettingScaleUnitStorageArgs Empty = new HciDeploymentSettingScaleUnitStorageArgs(); + + /** + * 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. + * + */ + @Import(name="configurationMode", required=true) + private Output configurationMode; + + /** + * @return 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. + * + */ + public Output configurationMode() { + return this.configurationMode; + } + + private HciDeploymentSettingScaleUnitStorageArgs() {} + + private HciDeploymentSettingScaleUnitStorageArgs(HciDeploymentSettingScaleUnitStorageArgs $) { + this.configurationMode = $.configurationMode; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(HciDeploymentSettingScaleUnitStorageArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private HciDeploymentSettingScaleUnitStorageArgs $; + + public Builder() { + $ = new HciDeploymentSettingScaleUnitStorageArgs(); + } + + public Builder(HciDeploymentSettingScaleUnitStorageArgs defaults) { + $ = new HciDeploymentSettingScaleUnitStorageArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param configurationMode 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. + * + * @return builder + * + */ + public Builder configurationMode(Output configurationMode) { + $.configurationMode = configurationMode; + return this; + } + + /** + * @param configurationMode 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. + * + * @return builder + * + */ + public Builder configurationMode(String configurationMode) { + return configurationMode(Output.of(configurationMode)); + } + + public HciDeploymentSettingScaleUnitStorageArgs build() { + if ($.configurationMode == null) { + throw new MissingRequiredPropertyException("HciDeploymentSettingScaleUnitStorageArgs", "configurationMode"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/azure/stack/inputs/HciDeploymentSettingState.java b/sdk/java/src/main/java/com/pulumi/azure/stack/inputs/HciDeploymentSettingState.java new file mode 100644 index 0000000000..a7ec033e1a --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/azure/stack/inputs/HciDeploymentSettingState.java @@ -0,0 +1,216 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.azure.stack.inputs; + +import com.pulumi.azure.stack.inputs.HciDeploymentSettingScaleUnitArgs; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class HciDeploymentSettingState extends com.pulumi.resources.ResourceArgs { + + public static final HciDeploymentSettingState Empty = new HciDeploymentSettingState(); + + /** + * 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. + * + */ + @Import(name="arcResourceIds") + private @Nullable Output> arcResourceIds; + + /** + * @return 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 Optional>> arcResourceIds() { + return Optional.ofNullable(this.arcResourceIds); + } + + /** + * One or more `scale_unit` blocks as defined below. Changing this forces a new Stack HCI Deployment Setting to be created. + * + */ + @Import(name="scaleUnits") + private @Nullable Output> scaleUnits; + + /** + * @return One or more `scale_unit` blocks as defined below. Changing this forces a new Stack HCI Deployment Setting to be created. + * + */ + public Optional>> scaleUnits() { + return Optional.ofNullable(this.scaleUnits); + } + + /** + * The ID of the Azure Stack HCI cluster. Changing this forces a new Stack HCI Deployment Setting to be created. + * + */ + @Import(name="stackHciClusterId") + private @Nullable Output stackHciClusterId; + + /** + * @return The ID of the Azure Stack HCI cluster. Changing this forces a new Stack HCI Deployment Setting to be created. + * + */ + public Optional> stackHciClusterId() { + return Optional.ofNullable(this.stackHciClusterId); + } + + /** + * 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. + * + */ + @Import(name="version") + private @Nullable Output version; + + /** + * @return 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. + * + */ + public Optional> version() { + return Optional.ofNullable(this.version); + } + + private HciDeploymentSettingState() {} + + private HciDeploymentSettingState(HciDeploymentSettingState $) { + this.arcResourceIds = $.arcResourceIds; + this.scaleUnits = $.scaleUnits; + this.stackHciClusterId = $.stackHciClusterId; + this.version = $.version; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(HciDeploymentSettingState defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private HciDeploymentSettingState $; + + public Builder() { + $ = new HciDeploymentSettingState(); + } + + public Builder(HciDeploymentSettingState defaults) { + $ = new HciDeploymentSettingState(Objects.requireNonNull(defaults)); + } + + /** + * @param 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. + * + * @return builder + * + */ + public Builder arcResourceIds(@Nullable Output> arcResourceIds) { + $.arcResourceIds = arcResourceIds; + return this; + } + + /** + * @param 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. + * + * @return builder + * + */ + public Builder arcResourceIds(List arcResourceIds) { + return arcResourceIds(Output.of(arcResourceIds)); + } + + /** + * @param 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. + * + * @return builder + * + */ + public Builder arcResourceIds(String... arcResourceIds) { + return arcResourceIds(List.of(arcResourceIds)); + } + + /** + * @param scaleUnits One or more `scale_unit` blocks as defined below. Changing this forces a new Stack HCI Deployment Setting to be created. + * + * @return builder + * + */ + public Builder scaleUnits(@Nullable Output> scaleUnits) { + $.scaleUnits = scaleUnits; + return this; + } + + /** + * @param scaleUnits One or more `scale_unit` blocks as defined below. Changing this forces a new Stack HCI Deployment Setting to be created. + * + * @return builder + * + */ + public Builder scaleUnits(List scaleUnits) { + return scaleUnits(Output.of(scaleUnits)); + } + + /** + * @param scaleUnits One or more `scale_unit` blocks as defined below. Changing this forces a new Stack HCI Deployment Setting to be created. + * + * @return builder + * + */ + public Builder scaleUnits(HciDeploymentSettingScaleUnitArgs... scaleUnits) { + return scaleUnits(List.of(scaleUnits)); + } + + /** + * @param stackHciClusterId The ID of the Azure Stack HCI cluster. Changing this forces a new Stack HCI Deployment Setting to be created. + * + * @return builder + * + */ + public Builder stackHciClusterId(@Nullable Output stackHciClusterId) { + $.stackHciClusterId = stackHciClusterId; + return this; + } + + /** + * @param stackHciClusterId The ID of the Azure Stack HCI cluster. Changing this forces a new Stack HCI Deployment Setting to be created. + * + * @return builder + * + */ + public Builder stackHciClusterId(String stackHciClusterId) { + return stackHciClusterId(Output.of(stackHciClusterId)); + } + + /** + * @param version 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. + * + * @return builder + * + */ + public Builder version(@Nullable Output version) { + $.version = version; + return this; + } + + /** + * @param version 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. + * + * @return builder + * + */ + public Builder version(String version) { + return version(Output.of(version)); + } + + public HciDeploymentSettingState build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/azure/stack/inputs/HciStoragePathState.java b/sdk/java/src/main/java/com/pulumi/azure/stack/inputs/HciStoragePathState.java new file mode 100644 index 0000000000..bef2db3bdb --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/azure/stack/inputs/HciStoragePathState.java @@ -0,0 +1,269 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.azure.stack.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class HciStoragePathState extends com.pulumi.resources.ResourceArgs { + + public static final HciStoragePathState Empty = new HciStoragePathState(); + + /** + * The ID of Custom Location where the Azure Stack HCI Storage Path should exist. Changing this forces a new resource to be created. + * + */ + @Import(name="customLocationId") + private @Nullable Output customLocationId; + + /** + * @return The ID of Custom Location where the Azure Stack HCI Storage Path should exist. Changing this forces a new resource to be created. + * + */ + public Optional> customLocationId() { + return Optional.ofNullable(this.customLocationId); + } + + /** + * The Azure Region where the Azure Stack HCI Storage Path should exist. Changing this forces a new resource to be created. + * + */ + @Import(name="location") + private @Nullable Output location; + + /** + * @return The Azure Region where the Azure Stack HCI Storage Path should exist. Changing this forces a new resource to be created. + * + */ + public Optional> location() { + return Optional.ofNullable(this.location); + } + + /** + * The name which should be used for this Azure Stack HCI Storage Path. Changing this forces a new resource to be created. + * + */ + @Import(name="name") + private @Nullable Output name; + + /** + * @return The name which should be used for this Azure Stack HCI Storage Path. Changing this forces a new resource to be created. + * + */ + public Optional> name() { + return Optional.ofNullable(this.name); + } + + /** + * The file path on the disk to create the Storage Path. Changing this forces a new resource to be created. + * + */ + @Import(name="path") + private @Nullable Output path; + + /** + * @return The file path on the disk to create the Storage Path. Changing this forces a new resource to be created. + * + */ + public Optional> path() { + return Optional.ofNullable(this.path); + } + + /** + * The name of the Resource Group where the Azure Stack HCI Storage Path should exist. Changing this forces a new resource to be created. + * + */ + @Import(name="resourceGroupName") + private @Nullable Output resourceGroupName; + + /** + * @return The name of the Resource Group where the Azure Stack HCI Storage Path should exist. Changing this forces a new resource to be created. + * + */ + public Optional> resourceGroupName() { + return Optional.ofNullable(this.resourceGroupName); + } + + /** + * A mapping of tags which should be assigned to the Azure Stack HCI Storage Path. + * + */ + @Import(name="tags") + private @Nullable Output> tags; + + /** + * @return A mapping of tags which should be assigned to the Azure Stack HCI Storage Path. + * + */ + public Optional>> tags() { + return Optional.ofNullable(this.tags); + } + + private HciStoragePathState() {} + + private HciStoragePathState(HciStoragePathState $) { + this.customLocationId = $.customLocationId; + this.location = $.location; + this.name = $.name; + this.path = $.path; + this.resourceGroupName = $.resourceGroupName; + this.tags = $.tags; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(HciStoragePathState defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private HciStoragePathState $; + + public Builder() { + $ = new HciStoragePathState(); + } + + public Builder(HciStoragePathState defaults) { + $ = new HciStoragePathState(Objects.requireNonNull(defaults)); + } + + /** + * @param customLocationId The ID of Custom Location where the Azure Stack HCI Storage Path should exist. Changing this forces a new resource to be created. + * + * @return builder + * + */ + public Builder customLocationId(@Nullable Output customLocationId) { + $.customLocationId = customLocationId; + return this; + } + + /** + * @param customLocationId The ID of Custom Location where the Azure Stack HCI Storage Path should exist. Changing this forces a new resource to be created. + * + * @return builder + * + */ + public Builder customLocationId(String customLocationId) { + return customLocationId(Output.of(customLocationId)); + } + + /** + * @param location The Azure Region where the Azure Stack HCI Storage Path should exist. Changing this forces a new resource to be created. + * + * @return builder + * + */ + public Builder location(@Nullable Output location) { + $.location = location; + return this; + } + + /** + * @param location The Azure Region where the Azure Stack HCI Storage Path should exist. Changing this forces a new resource to be created. + * + * @return builder + * + */ + public Builder location(String location) { + return location(Output.of(location)); + } + + /** + * @param name The name which should be used for this Azure Stack HCI Storage Path. Changing this forces a new resource to be created. + * + * @return builder + * + */ + public Builder name(@Nullable Output name) { + $.name = name; + return this; + } + + /** + * @param name The name which should be used for this Azure Stack HCI Storage Path. Changing this forces a new resource to be created. + * + * @return builder + * + */ + public Builder name(String name) { + return name(Output.of(name)); + } + + /** + * @param path The file path on the disk to create the Storage Path. Changing this forces a new resource to be created. + * + * @return builder + * + */ + public Builder path(@Nullable Output path) { + $.path = path; + return this; + } + + /** + * @param path The file path on the disk to create the Storage Path. Changing this forces a new resource to be created. + * + * @return builder + * + */ + public Builder path(String path) { + return path(Output.of(path)); + } + + /** + * @param resourceGroupName The name of the Resource Group where the Azure Stack HCI Storage Path should exist. Changing this forces a new resource to be created. + * + * @return builder + * + */ + public Builder resourceGroupName(@Nullable Output resourceGroupName) { + $.resourceGroupName = resourceGroupName; + return this; + } + + /** + * @param resourceGroupName The name of the Resource Group where the Azure Stack HCI Storage Path should exist. Changing this forces a new resource to be created. + * + * @return builder + * + */ + public Builder resourceGroupName(String resourceGroupName) { + return resourceGroupName(Output.of(resourceGroupName)); + } + + /** + * @param tags A mapping of tags which should be assigned to the Azure Stack HCI Storage Path. + * + * @return builder + * + */ + public Builder tags(@Nullable Output> tags) { + $.tags = tags; + return this; + } + + /** + * @param tags A mapping of tags which should be assigned to the Azure Stack HCI Storage Path. + * + * @return builder + * + */ + public Builder tags(Map tags) { + return tags(Output.of(tags)); + } + + public HciStoragePathState build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/azure/stack/outputs/HciDeploymentSettingScaleUnit.java b/sdk/java/src/main/java/com/pulumi/azure/stack/outputs/HciDeploymentSettingScaleUnit.java new file mode 100644 index 0000000000..197e24395a --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/azure/stack/outputs/HciDeploymentSettingScaleUnit.java @@ -0,0 +1,554 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.azure.stack.outputs; + +import com.pulumi.azure.stack.outputs.HciDeploymentSettingScaleUnitCluster; +import com.pulumi.azure.stack.outputs.HciDeploymentSettingScaleUnitHostNetwork; +import com.pulumi.azure.stack.outputs.HciDeploymentSettingScaleUnitInfrastructureNetwork; +import com.pulumi.azure.stack.outputs.HciDeploymentSettingScaleUnitOptionalService; +import com.pulumi.azure.stack.outputs.HciDeploymentSettingScaleUnitPhysicalNode; +import com.pulumi.azure.stack.outputs.HciDeploymentSettingScaleUnitStorage; +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.Boolean; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class HciDeploymentSettingScaleUnit { + /** + * @return 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. + * + */ + private String activeDirectoryOrganizationalUnitPath; + /** + * @return 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. + * + */ + private @Nullable Boolean bitlockerBootVolumeEnabled; + /** + * @return 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. + * + */ + private @Nullable Boolean bitlockerDataVolumeEnabled; + /** + * @return A `cluster` block as defined above. Changing this forces a new Stack HCI Deployment Setting to be created. + * + */ + private HciDeploymentSettingScaleUnitCluster cluster; + /** + * @return 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. + * + */ + private @Nullable Boolean credentialGuardEnabled; + /** + * @return Specifies the FQDN for deploying cluster. Changing this forces a new Stack HCI Deployment Setting to be created. + * + */ + private String domainFqdn; + /** + * @return 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. + * + */ + private @Nullable Boolean driftControlEnabled; + /** + * @return 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. + * + */ + private @Nullable Boolean drtmProtectionEnabled; + /** + * @return 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. + * + */ + private @Nullable Boolean episodicDataUploadEnabled; + /** + * @return 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. + * + */ + private @Nullable Boolean euLocationEnabled; + /** + * @return A `host_network` block as defined above. Changing this forces a new Stack HCI Deployment Setting to be created. + * + */ + private HciDeploymentSettingScaleUnitHostNetwork hostNetwork; + /** + * @return 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. + * + */ + private @Nullable Boolean hvciProtectionEnabled; + /** + * @return One or more `infrastructure_network` blocks as defined above. Changing this forces a new Stack HCI Deployment Setting to be created. + * + */ + private List infrastructureNetworks; + /** + * @return 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. + * + */ + private String namePrefix; + /** + * @return A `optional_service` block as defined above. Changing this forces a new Stack HCI Deployment Setting to be created. + * + */ + private HciDeploymentSettingScaleUnitOptionalService optionalService; + /** + * @return One or more `physical_node` blocks as defined above. Changing this forces a new Stack HCI Deployment Setting to be created. + * + */ + private List physicalNodes; + /** + * @return The URI to the Key Vault or secret store. Changing this forces a new Stack HCI Deployment Setting to be created. + * + */ + private String secretsLocation; + /** + * @return 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. + * + */ + private @Nullable Boolean sideChannelMitigationEnabled; + /** + * @return 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. + * + */ + private @Nullable Boolean smbClusterEncryptionEnabled; + /** + * @return 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. + * + */ + private @Nullable Boolean smbSigningEnabled; + /** + * @return A `storage` block as defined below. Changing this forces a new Stack HCI Deployment Setting to be created. + * + */ + private HciDeploymentSettingScaleUnitStorage storage; + /** + * @return 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. + * + */ + private @Nullable Boolean streamingDataClientEnabled; + /** + * @return 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. + * + */ + private @Nullable Boolean wdacEnabled; + + private HciDeploymentSettingScaleUnit() {} + /** + * @return 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. + * + */ + public String activeDirectoryOrganizationalUnitPath() { + return this.activeDirectoryOrganizationalUnitPath; + } + /** + * @return 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. + * + */ + public Optional bitlockerBootVolumeEnabled() { + return Optional.ofNullable(this.bitlockerBootVolumeEnabled); + } + /** + * @return 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. + * + */ + public Optional bitlockerDataVolumeEnabled() { + return Optional.ofNullable(this.bitlockerDataVolumeEnabled); + } + /** + * @return A `cluster` block as defined above. Changing this forces a new Stack HCI Deployment Setting to be created. + * + */ + public HciDeploymentSettingScaleUnitCluster cluster() { + return this.cluster; + } + /** + * @return 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. + * + */ + public Optional credentialGuardEnabled() { + return Optional.ofNullable(this.credentialGuardEnabled); + } + /** + * @return Specifies the FQDN for deploying cluster. Changing this forces a new Stack HCI Deployment Setting to be created. + * + */ + public String domainFqdn() { + return this.domainFqdn; + } + /** + * @return 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. + * + */ + public Optional driftControlEnabled() { + return Optional.ofNullable(this.driftControlEnabled); + } + /** + * @return 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. + * + */ + public Optional drtmProtectionEnabled() { + return Optional.ofNullable(this.drtmProtectionEnabled); + } + /** + * @return 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. + * + */ + public Optional episodicDataUploadEnabled() { + return Optional.ofNullable(this.episodicDataUploadEnabled); + } + /** + * @return 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. + * + */ + public Optional euLocationEnabled() { + return Optional.ofNullable(this.euLocationEnabled); + } + /** + * @return A `host_network` block as defined above. Changing this forces a new Stack HCI Deployment Setting to be created. + * + */ + public HciDeploymentSettingScaleUnitHostNetwork hostNetwork() { + return this.hostNetwork; + } + /** + * @return 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. + * + */ + public Optional hvciProtectionEnabled() { + return Optional.ofNullable(this.hvciProtectionEnabled); + } + /** + * @return One or more `infrastructure_network` blocks as defined above. Changing this forces a new Stack HCI Deployment Setting to be created. + * + */ + public List infrastructureNetworks() { + return this.infrastructureNetworks; + } + /** + * @return 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. + * + */ + public String namePrefix() { + return this.namePrefix; + } + /** + * @return A `optional_service` block as defined above. Changing this forces a new Stack HCI Deployment Setting to be created. + * + */ + public HciDeploymentSettingScaleUnitOptionalService optionalService() { + return this.optionalService; + } + /** + * @return One or more `physical_node` blocks as defined above. Changing this forces a new Stack HCI Deployment Setting to be created. + * + */ + public List physicalNodes() { + return this.physicalNodes; + } + /** + * @return The URI to the Key Vault or secret store. Changing this forces a new Stack HCI Deployment Setting to be created. + * + */ + public String secretsLocation() { + return this.secretsLocation; + } + /** + * @return 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. + * + */ + public Optional sideChannelMitigationEnabled() { + return Optional.ofNullable(this.sideChannelMitigationEnabled); + } + /** + * @return 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. + * + */ + public Optional smbClusterEncryptionEnabled() { + return Optional.ofNullable(this.smbClusterEncryptionEnabled); + } + /** + * @return 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. + * + */ + public Optional smbSigningEnabled() { + return Optional.ofNullable(this.smbSigningEnabled); + } + /** + * @return A `storage` block as defined below. Changing this forces a new Stack HCI Deployment Setting to be created. + * + */ + public HciDeploymentSettingScaleUnitStorage storage() { + return this.storage; + } + /** + * @return 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. + * + */ + public Optional streamingDataClientEnabled() { + return Optional.ofNullable(this.streamingDataClientEnabled); + } + /** + * @return 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. + * + */ + public Optional wdacEnabled() { + return Optional.ofNullable(this.wdacEnabled); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(HciDeploymentSettingScaleUnit defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String activeDirectoryOrganizationalUnitPath; + private @Nullable Boolean bitlockerBootVolumeEnabled; + private @Nullable Boolean bitlockerDataVolumeEnabled; + private HciDeploymentSettingScaleUnitCluster cluster; + private @Nullable Boolean credentialGuardEnabled; + private String domainFqdn; + private @Nullable Boolean driftControlEnabled; + private @Nullable Boolean drtmProtectionEnabled; + private @Nullable Boolean episodicDataUploadEnabled; + private @Nullable Boolean euLocationEnabled; + private HciDeploymentSettingScaleUnitHostNetwork hostNetwork; + private @Nullable Boolean hvciProtectionEnabled; + private List infrastructureNetworks; + private String namePrefix; + private HciDeploymentSettingScaleUnitOptionalService optionalService; + private List physicalNodes; + private String secretsLocation; + private @Nullable Boolean sideChannelMitigationEnabled; + private @Nullable Boolean smbClusterEncryptionEnabled; + private @Nullable Boolean smbSigningEnabled; + private HciDeploymentSettingScaleUnitStorage storage; + private @Nullable Boolean streamingDataClientEnabled; + private @Nullable Boolean wdacEnabled; + public Builder() {} + public Builder(HciDeploymentSettingScaleUnit defaults) { + Objects.requireNonNull(defaults); + this.activeDirectoryOrganizationalUnitPath = defaults.activeDirectoryOrganizationalUnitPath; + this.bitlockerBootVolumeEnabled = defaults.bitlockerBootVolumeEnabled; + this.bitlockerDataVolumeEnabled = defaults.bitlockerDataVolumeEnabled; + this.cluster = defaults.cluster; + this.credentialGuardEnabled = defaults.credentialGuardEnabled; + this.domainFqdn = defaults.domainFqdn; + this.driftControlEnabled = defaults.driftControlEnabled; + this.drtmProtectionEnabled = defaults.drtmProtectionEnabled; + this.episodicDataUploadEnabled = defaults.episodicDataUploadEnabled; + this.euLocationEnabled = defaults.euLocationEnabled; + this.hostNetwork = defaults.hostNetwork; + this.hvciProtectionEnabled = defaults.hvciProtectionEnabled; + this.infrastructureNetworks = defaults.infrastructureNetworks; + this.namePrefix = defaults.namePrefix; + this.optionalService = defaults.optionalService; + this.physicalNodes = defaults.physicalNodes; + this.secretsLocation = defaults.secretsLocation; + this.sideChannelMitigationEnabled = defaults.sideChannelMitigationEnabled; + this.smbClusterEncryptionEnabled = defaults.smbClusterEncryptionEnabled; + this.smbSigningEnabled = defaults.smbSigningEnabled; + this.storage = defaults.storage; + this.streamingDataClientEnabled = defaults.streamingDataClientEnabled; + this.wdacEnabled = defaults.wdacEnabled; + } + + @CustomType.Setter + public Builder activeDirectoryOrganizationalUnitPath(String activeDirectoryOrganizationalUnitPath) { + if (activeDirectoryOrganizationalUnitPath == null) { + throw new MissingRequiredPropertyException("HciDeploymentSettingScaleUnit", "activeDirectoryOrganizationalUnitPath"); + } + this.activeDirectoryOrganizationalUnitPath = activeDirectoryOrganizationalUnitPath; + return this; + } + @CustomType.Setter + public Builder bitlockerBootVolumeEnabled(@Nullable Boolean bitlockerBootVolumeEnabled) { + + this.bitlockerBootVolumeEnabled = bitlockerBootVolumeEnabled; + return this; + } + @CustomType.Setter + public Builder bitlockerDataVolumeEnabled(@Nullable Boolean bitlockerDataVolumeEnabled) { + + this.bitlockerDataVolumeEnabled = bitlockerDataVolumeEnabled; + return this; + } + @CustomType.Setter + public Builder cluster(HciDeploymentSettingScaleUnitCluster cluster) { + if (cluster == null) { + throw new MissingRequiredPropertyException("HciDeploymentSettingScaleUnit", "cluster"); + } + this.cluster = cluster; + return this; + } + @CustomType.Setter + public Builder credentialGuardEnabled(@Nullable Boolean credentialGuardEnabled) { + + this.credentialGuardEnabled = credentialGuardEnabled; + return this; + } + @CustomType.Setter + public Builder domainFqdn(String domainFqdn) { + if (domainFqdn == null) { + throw new MissingRequiredPropertyException("HciDeploymentSettingScaleUnit", "domainFqdn"); + } + this.domainFqdn = domainFqdn; + return this; + } + @CustomType.Setter + public Builder driftControlEnabled(@Nullable Boolean driftControlEnabled) { + + this.driftControlEnabled = driftControlEnabled; + return this; + } + @CustomType.Setter + public Builder drtmProtectionEnabled(@Nullable Boolean drtmProtectionEnabled) { + + this.drtmProtectionEnabled = drtmProtectionEnabled; + return this; + } + @CustomType.Setter + public Builder episodicDataUploadEnabled(@Nullable Boolean episodicDataUploadEnabled) { + + this.episodicDataUploadEnabled = episodicDataUploadEnabled; + return this; + } + @CustomType.Setter + public Builder euLocationEnabled(@Nullable Boolean euLocationEnabled) { + + this.euLocationEnabled = euLocationEnabled; + return this; + } + @CustomType.Setter + public Builder hostNetwork(HciDeploymentSettingScaleUnitHostNetwork hostNetwork) { + if (hostNetwork == null) { + throw new MissingRequiredPropertyException("HciDeploymentSettingScaleUnit", "hostNetwork"); + } + this.hostNetwork = hostNetwork; + return this; + } + @CustomType.Setter + public Builder hvciProtectionEnabled(@Nullable Boolean hvciProtectionEnabled) { + + this.hvciProtectionEnabled = hvciProtectionEnabled; + return this; + } + @CustomType.Setter + public Builder infrastructureNetworks(List infrastructureNetworks) { + if (infrastructureNetworks == null) { + throw new MissingRequiredPropertyException("HciDeploymentSettingScaleUnit", "infrastructureNetworks"); + } + this.infrastructureNetworks = infrastructureNetworks; + return this; + } + public Builder infrastructureNetworks(HciDeploymentSettingScaleUnitInfrastructureNetwork... infrastructureNetworks) { + return infrastructureNetworks(List.of(infrastructureNetworks)); + } + @CustomType.Setter + public Builder namePrefix(String namePrefix) { + if (namePrefix == null) { + throw new MissingRequiredPropertyException("HciDeploymentSettingScaleUnit", "namePrefix"); + } + this.namePrefix = namePrefix; + return this; + } + @CustomType.Setter + public Builder optionalService(HciDeploymentSettingScaleUnitOptionalService optionalService) { + if (optionalService == null) { + throw new MissingRequiredPropertyException("HciDeploymentSettingScaleUnit", "optionalService"); + } + this.optionalService = optionalService; + return this; + } + @CustomType.Setter + public Builder physicalNodes(List physicalNodes) { + if (physicalNodes == null) { + throw new MissingRequiredPropertyException("HciDeploymentSettingScaleUnit", "physicalNodes"); + } + this.physicalNodes = physicalNodes; + return this; + } + public Builder physicalNodes(HciDeploymentSettingScaleUnitPhysicalNode... physicalNodes) { + return physicalNodes(List.of(physicalNodes)); + } + @CustomType.Setter + public Builder secretsLocation(String secretsLocation) { + if (secretsLocation == null) { + throw new MissingRequiredPropertyException("HciDeploymentSettingScaleUnit", "secretsLocation"); + } + this.secretsLocation = secretsLocation; + return this; + } + @CustomType.Setter + public Builder sideChannelMitigationEnabled(@Nullable Boolean sideChannelMitigationEnabled) { + + this.sideChannelMitigationEnabled = sideChannelMitigationEnabled; + return this; + } + @CustomType.Setter + public Builder smbClusterEncryptionEnabled(@Nullable Boolean smbClusterEncryptionEnabled) { + + this.smbClusterEncryptionEnabled = smbClusterEncryptionEnabled; + return this; + } + @CustomType.Setter + public Builder smbSigningEnabled(@Nullable Boolean smbSigningEnabled) { + + this.smbSigningEnabled = smbSigningEnabled; + return this; + } + @CustomType.Setter + public Builder storage(HciDeploymentSettingScaleUnitStorage storage) { + if (storage == null) { + throw new MissingRequiredPropertyException("HciDeploymentSettingScaleUnit", "storage"); + } + this.storage = storage; + return this; + } + @CustomType.Setter + public Builder streamingDataClientEnabled(@Nullable Boolean streamingDataClientEnabled) { + + this.streamingDataClientEnabled = streamingDataClientEnabled; + return this; + } + @CustomType.Setter + public Builder wdacEnabled(@Nullable Boolean wdacEnabled) { + + this.wdacEnabled = wdacEnabled; + return this; + } + public HciDeploymentSettingScaleUnit build() { + final var _resultValue = new HciDeploymentSettingScaleUnit(); + _resultValue.activeDirectoryOrganizationalUnitPath = activeDirectoryOrganizationalUnitPath; + _resultValue.bitlockerBootVolumeEnabled = bitlockerBootVolumeEnabled; + _resultValue.bitlockerDataVolumeEnabled = bitlockerDataVolumeEnabled; + _resultValue.cluster = cluster; + _resultValue.credentialGuardEnabled = credentialGuardEnabled; + _resultValue.domainFqdn = domainFqdn; + _resultValue.driftControlEnabled = driftControlEnabled; + _resultValue.drtmProtectionEnabled = drtmProtectionEnabled; + _resultValue.episodicDataUploadEnabled = episodicDataUploadEnabled; + _resultValue.euLocationEnabled = euLocationEnabled; + _resultValue.hostNetwork = hostNetwork; + _resultValue.hvciProtectionEnabled = hvciProtectionEnabled; + _resultValue.infrastructureNetworks = infrastructureNetworks; + _resultValue.namePrefix = namePrefix; + _resultValue.optionalService = optionalService; + _resultValue.physicalNodes = physicalNodes; + _resultValue.secretsLocation = secretsLocation; + _resultValue.sideChannelMitigationEnabled = sideChannelMitigationEnabled; + _resultValue.smbClusterEncryptionEnabled = smbClusterEncryptionEnabled; + _resultValue.smbSigningEnabled = smbSigningEnabled; + _resultValue.storage = storage; + _resultValue.streamingDataClientEnabled = streamingDataClientEnabled; + _resultValue.wdacEnabled = wdacEnabled; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/azure/stack/outputs/HciDeploymentSettingScaleUnitCluster.java b/sdk/java/src/main/java/com/pulumi/azure/stack/outputs/HciDeploymentSettingScaleUnitCluster.java new file mode 100644 index 0000000000..b5ac58fa2b --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/azure/stack/outputs/HciDeploymentSettingScaleUnitCluster.java @@ -0,0 +1,150 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.azure.stack.outputs; + +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class HciDeploymentSettingScaleUnitCluster { + /** + * @return Specifies the Azure blob service endpoint, for example, `core.windows.net`. Changing this forces a new Stack HCI Deployment Setting to be created. + * + */ + private String azureServiceEndpoint; + /** + * @return 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. + * + */ + private String cloudAccountName; + /** + * @return 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. + * + */ + private String name; + /** + * @return 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. + * + */ + private String witnessPath; + /** + * @return Specifies the type of the witness. Possible values are `Cloud`, `FileShare`. Changing this forces a new Stack HCI Deployment Setting to be created. + * + */ + private String witnessType; + + private HciDeploymentSettingScaleUnitCluster() {} + /** + * @return Specifies the Azure blob service endpoint, for example, `core.windows.net`. Changing this forces a new Stack HCI Deployment Setting to be created. + * + */ + public String azureServiceEndpoint() { + return this.azureServiceEndpoint; + } + /** + * @return 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. + * + */ + public String cloudAccountName() { + return this.cloudAccountName; + } + /** + * @return 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. + * + */ + public String name() { + return this.name; + } + /** + * @return 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. + * + */ + public String witnessPath() { + return this.witnessPath; + } + /** + * @return Specifies the type of the witness. Possible values are `Cloud`, `FileShare`. Changing this forces a new Stack HCI Deployment Setting to be created. + * + */ + public String witnessType() { + return this.witnessType; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(HciDeploymentSettingScaleUnitCluster defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String azureServiceEndpoint; + private String cloudAccountName; + private String name; + private String witnessPath; + private String witnessType; + public Builder() {} + public Builder(HciDeploymentSettingScaleUnitCluster defaults) { + Objects.requireNonNull(defaults); + this.azureServiceEndpoint = defaults.azureServiceEndpoint; + this.cloudAccountName = defaults.cloudAccountName; + this.name = defaults.name; + this.witnessPath = defaults.witnessPath; + this.witnessType = defaults.witnessType; + } + + @CustomType.Setter + public Builder azureServiceEndpoint(String azureServiceEndpoint) { + if (azureServiceEndpoint == null) { + throw new MissingRequiredPropertyException("HciDeploymentSettingScaleUnitCluster", "azureServiceEndpoint"); + } + this.azureServiceEndpoint = azureServiceEndpoint; + return this; + } + @CustomType.Setter + public Builder cloudAccountName(String cloudAccountName) { + if (cloudAccountName == null) { + throw new MissingRequiredPropertyException("HciDeploymentSettingScaleUnitCluster", "cloudAccountName"); + } + this.cloudAccountName = cloudAccountName; + return this; + } + @CustomType.Setter + public Builder name(String name) { + if (name == null) { + throw new MissingRequiredPropertyException("HciDeploymentSettingScaleUnitCluster", "name"); + } + this.name = name; + return this; + } + @CustomType.Setter + public Builder witnessPath(String witnessPath) { + if (witnessPath == null) { + throw new MissingRequiredPropertyException("HciDeploymentSettingScaleUnitCluster", "witnessPath"); + } + this.witnessPath = witnessPath; + return this; + } + @CustomType.Setter + public Builder witnessType(String witnessType) { + if (witnessType == null) { + throw new MissingRequiredPropertyException("HciDeploymentSettingScaleUnitCluster", "witnessType"); + } + this.witnessType = witnessType; + return this; + } + public HciDeploymentSettingScaleUnitCluster build() { + final var _resultValue = new HciDeploymentSettingScaleUnitCluster(); + _resultValue.azureServiceEndpoint = azureServiceEndpoint; + _resultValue.cloudAccountName = cloudAccountName; + _resultValue.name = name; + _resultValue.witnessPath = witnessPath; + _resultValue.witnessType = witnessType; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/azure/stack/outputs/HciDeploymentSettingScaleUnitHostNetwork.java b/sdk/java/src/main/java/com/pulumi/azure/stack/outputs/HciDeploymentSettingScaleUnitHostNetwork.java new file mode 100644 index 0000000000..cf79fdf74d --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/azure/stack/outputs/HciDeploymentSettingScaleUnitHostNetwork.java @@ -0,0 +1,134 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.azure.stack.outputs; + +import com.pulumi.azure.stack.outputs.HciDeploymentSettingScaleUnitHostNetworkIntent; +import com.pulumi.azure.stack.outputs.HciDeploymentSettingScaleUnitHostNetworkStorageNetwork; +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.Boolean; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class HciDeploymentSettingScaleUnitHostNetwork { + /** + * @return One or more `intent` blocks as defined below. Changing this forces a new Stack HCI Deployment Setting to be created. + * + */ + private List intents; + /** + * @return 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. + * + */ + private @Nullable Boolean storageAutoIpEnabled; + /** + * @return 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. + * + */ + private @Nullable Boolean storageConnectivitySwitchlessEnabled; + /** + * @return One or more `storage_network` blocks as defined below. Changing this forces a new Stack HCI Deployment Setting to be created. + * + */ + private List storageNetworks; + + private HciDeploymentSettingScaleUnitHostNetwork() {} + /** + * @return One or more `intent` blocks as defined below. Changing this forces a new Stack HCI Deployment Setting to be created. + * + */ + public List intents() { + return this.intents; + } + /** + * @return 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. + * + */ + public Optional storageAutoIpEnabled() { + return Optional.ofNullable(this.storageAutoIpEnabled); + } + /** + * @return 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. + * + */ + public Optional storageConnectivitySwitchlessEnabled() { + return Optional.ofNullable(this.storageConnectivitySwitchlessEnabled); + } + /** + * @return One or more `storage_network` blocks as defined below. Changing this forces a new Stack HCI Deployment Setting to be created. + * + */ + public List storageNetworks() { + return this.storageNetworks; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(HciDeploymentSettingScaleUnitHostNetwork defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private List intents; + private @Nullable Boolean storageAutoIpEnabled; + private @Nullable Boolean storageConnectivitySwitchlessEnabled; + private List storageNetworks; + public Builder() {} + public Builder(HciDeploymentSettingScaleUnitHostNetwork defaults) { + Objects.requireNonNull(defaults); + this.intents = defaults.intents; + this.storageAutoIpEnabled = defaults.storageAutoIpEnabled; + this.storageConnectivitySwitchlessEnabled = defaults.storageConnectivitySwitchlessEnabled; + this.storageNetworks = defaults.storageNetworks; + } + + @CustomType.Setter + public Builder intents(List intents) { + if (intents == null) { + throw new MissingRequiredPropertyException("HciDeploymentSettingScaleUnitHostNetwork", "intents"); + } + this.intents = intents; + return this; + } + public Builder intents(HciDeploymentSettingScaleUnitHostNetworkIntent... intents) { + return intents(List.of(intents)); + } + @CustomType.Setter + public Builder storageAutoIpEnabled(@Nullable Boolean storageAutoIpEnabled) { + + this.storageAutoIpEnabled = storageAutoIpEnabled; + return this; + } + @CustomType.Setter + public Builder storageConnectivitySwitchlessEnabled(@Nullable Boolean storageConnectivitySwitchlessEnabled) { + + this.storageConnectivitySwitchlessEnabled = storageConnectivitySwitchlessEnabled; + return this; + } + @CustomType.Setter + public Builder storageNetworks(List storageNetworks) { + if (storageNetworks == null) { + throw new MissingRequiredPropertyException("HciDeploymentSettingScaleUnitHostNetwork", "storageNetworks"); + } + this.storageNetworks = storageNetworks; + return this; + } + public Builder storageNetworks(HciDeploymentSettingScaleUnitHostNetworkStorageNetwork... storageNetworks) { + return storageNetworks(List.of(storageNetworks)); + } + public HciDeploymentSettingScaleUnitHostNetwork build() { + final var _resultValue = new HciDeploymentSettingScaleUnitHostNetwork(); + _resultValue.intents = intents; + _resultValue.storageAutoIpEnabled = storageAutoIpEnabled; + _resultValue.storageConnectivitySwitchlessEnabled = storageConnectivitySwitchlessEnabled; + _resultValue.storageNetworks = storageNetworks; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/azure/stack/outputs/HciDeploymentSettingScaleUnitHostNetworkIntent.java b/sdk/java/src/main/java/com/pulumi/azure/stack/outputs/HciDeploymentSettingScaleUnitHostNetworkIntent.java new file mode 100644 index 0000000000..48cd60b1f1 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/azure/stack/outputs/HciDeploymentSettingScaleUnitHostNetworkIntent.java @@ -0,0 +1,243 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.azure.stack.outputs; + +import com.pulumi.azure.stack.outputs.HciDeploymentSettingScaleUnitHostNetworkIntentAdapterPropertyOverride; +import com.pulumi.azure.stack.outputs.HciDeploymentSettingScaleUnitHostNetworkIntentQosPolicyOverride; +import com.pulumi.azure.stack.outputs.HciDeploymentSettingScaleUnitHostNetworkIntentVirtualSwitchConfigurationOverride; +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.Boolean; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class HciDeploymentSettingScaleUnitHostNetworkIntent { + /** + * @return A `adapter_property_override` block as defined above. Changing this forces a new Stack HCI Deployment Setting to be created. + * + */ + private @Nullable HciDeploymentSettingScaleUnitHostNetworkIntentAdapterPropertyOverride adapterPropertyOverride; + /** + * @return 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. + * + */ + private @Nullable Boolean adapterPropertyOverrideEnabled; + /** + * @return 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. + * + */ + private List adapters; + /** + * @return Specifies the name of the intent. Changing this forces a new Stack HCI Deployment Setting to be created. + * + */ + private String name; + /** + * @return A `qos_policy_override` block as defined below. Changing this forces a new Stack HCI Deployment Setting to be created. + * + */ + private @Nullable HciDeploymentSettingScaleUnitHostNetworkIntentQosPolicyOverride qosPolicyOverride; + /** + * @return 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. + * + */ + private @Nullable Boolean qosPolicyOverrideEnabled; + /** + * @return 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. + * + */ + private List trafficTypes; + /** + * @return A `virtual_switch_configuration_override` block as defined below. Changing this forces a new Stack HCI Deployment Setting to be created. + * + */ + private @Nullable HciDeploymentSettingScaleUnitHostNetworkIntentVirtualSwitchConfigurationOverride virtualSwitchConfigurationOverride; + /** + * @return 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. + * + */ + private @Nullable Boolean virtualSwitchConfigurationOverrideEnabled; + + private HciDeploymentSettingScaleUnitHostNetworkIntent() {} + /** + * @return A `adapter_property_override` block as defined above. Changing this forces a new Stack HCI Deployment Setting to be created. + * + */ + public Optional adapterPropertyOverride() { + return Optional.ofNullable(this.adapterPropertyOverride); + } + /** + * @return 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. + * + */ + public Optional adapterPropertyOverrideEnabled() { + return Optional.ofNullable(this.adapterPropertyOverrideEnabled); + } + /** + * @return 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. + * + */ + public List adapters() { + return this.adapters; + } + /** + * @return Specifies the name of the intent. Changing this forces a new Stack HCI Deployment Setting to be created. + * + */ + public String name() { + return this.name; + } + /** + * @return A `qos_policy_override` block as defined below. Changing this forces a new Stack HCI Deployment Setting to be created. + * + */ + public Optional qosPolicyOverride() { + return Optional.ofNullable(this.qosPolicyOverride); + } + /** + * @return 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. + * + */ + public Optional qosPolicyOverrideEnabled() { + return Optional.ofNullable(this.qosPolicyOverrideEnabled); + } + /** + * @return 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. + * + */ + public List trafficTypes() { + return this.trafficTypes; + } + /** + * @return A `virtual_switch_configuration_override` block as defined below. Changing this forces a new Stack HCI Deployment Setting to be created. + * + */ + public Optional virtualSwitchConfigurationOverride() { + return Optional.ofNullable(this.virtualSwitchConfigurationOverride); + } + /** + * @return 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. + * + */ + public Optional virtualSwitchConfigurationOverrideEnabled() { + return Optional.ofNullable(this.virtualSwitchConfigurationOverrideEnabled); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(HciDeploymentSettingScaleUnitHostNetworkIntent defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable HciDeploymentSettingScaleUnitHostNetworkIntentAdapterPropertyOverride adapterPropertyOverride; + private @Nullable Boolean adapterPropertyOverrideEnabled; + private List adapters; + private String name; + private @Nullable HciDeploymentSettingScaleUnitHostNetworkIntentQosPolicyOverride qosPolicyOverride; + private @Nullable Boolean qosPolicyOverrideEnabled; + private List trafficTypes; + private @Nullable HciDeploymentSettingScaleUnitHostNetworkIntentVirtualSwitchConfigurationOverride virtualSwitchConfigurationOverride; + private @Nullable Boolean virtualSwitchConfigurationOverrideEnabled; + public Builder() {} + public Builder(HciDeploymentSettingScaleUnitHostNetworkIntent defaults) { + Objects.requireNonNull(defaults); + this.adapterPropertyOverride = defaults.adapterPropertyOverride; + this.adapterPropertyOverrideEnabled = defaults.adapterPropertyOverrideEnabled; + this.adapters = defaults.adapters; + this.name = defaults.name; + this.qosPolicyOverride = defaults.qosPolicyOverride; + this.qosPolicyOverrideEnabled = defaults.qosPolicyOverrideEnabled; + this.trafficTypes = defaults.trafficTypes; + this.virtualSwitchConfigurationOverride = defaults.virtualSwitchConfigurationOverride; + this.virtualSwitchConfigurationOverrideEnabled = defaults.virtualSwitchConfigurationOverrideEnabled; + } + + @CustomType.Setter + public Builder adapterPropertyOverride(@Nullable HciDeploymentSettingScaleUnitHostNetworkIntentAdapterPropertyOverride adapterPropertyOverride) { + + this.adapterPropertyOverride = adapterPropertyOverride; + return this; + } + @CustomType.Setter + public Builder adapterPropertyOverrideEnabled(@Nullable Boolean adapterPropertyOverrideEnabled) { + + this.adapterPropertyOverrideEnabled = adapterPropertyOverrideEnabled; + return this; + } + @CustomType.Setter + public Builder adapters(List adapters) { + if (adapters == null) { + throw new MissingRequiredPropertyException("HciDeploymentSettingScaleUnitHostNetworkIntent", "adapters"); + } + this.adapters = adapters; + return this; + } + public Builder adapters(String... adapters) { + return adapters(List.of(adapters)); + } + @CustomType.Setter + public Builder name(String name) { + if (name == null) { + throw new MissingRequiredPropertyException("HciDeploymentSettingScaleUnitHostNetworkIntent", "name"); + } + this.name = name; + return this; + } + @CustomType.Setter + public Builder qosPolicyOverride(@Nullable HciDeploymentSettingScaleUnitHostNetworkIntentQosPolicyOverride qosPolicyOverride) { + + this.qosPolicyOverride = qosPolicyOverride; + return this; + } + @CustomType.Setter + public Builder qosPolicyOverrideEnabled(@Nullable Boolean qosPolicyOverrideEnabled) { + + this.qosPolicyOverrideEnabled = qosPolicyOverrideEnabled; + return this; + } + @CustomType.Setter + public Builder trafficTypes(List trafficTypes) { + if (trafficTypes == null) { + throw new MissingRequiredPropertyException("HciDeploymentSettingScaleUnitHostNetworkIntent", "trafficTypes"); + } + this.trafficTypes = trafficTypes; + return this; + } + public Builder trafficTypes(String... trafficTypes) { + return trafficTypes(List.of(trafficTypes)); + } + @CustomType.Setter + public Builder virtualSwitchConfigurationOverride(@Nullable HciDeploymentSettingScaleUnitHostNetworkIntentVirtualSwitchConfigurationOverride virtualSwitchConfigurationOverride) { + + this.virtualSwitchConfigurationOverride = virtualSwitchConfigurationOverride; + return this; + } + @CustomType.Setter + public Builder virtualSwitchConfigurationOverrideEnabled(@Nullable Boolean virtualSwitchConfigurationOverrideEnabled) { + + this.virtualSwitchConfigurationOverrideEnabled = virtualSwitchConfigurationOverrideEnabled; + return this; + } + public HciDeploymentSettingScaleUnitHostNetworkIntent build() { + final var _resultValue = new HciDeploymentSettingScaleUnitHostNetworkIntent(); + _resultValue.adapterPropertyOverride = adapterPropertyOverride; + _resultValue.adapterPropertyOverrideEnabled = adapterPropertyOverrideEnabled; + _resultValue.adapters = adapters; + _resultValue.name = name; + _resultValue.qosPolicyOverride = qosPolicyOverride; + _resultValue.qosPolicyOverrideEnabled = qosPolicyOverrideEnabled; + _resultValue.trafficTypes = trafficTypes; + _resultValue.virtualSwitchConfigurationOverride = virtualSwitchConfigurationOverride; + _resultValue.virtualSwitchConfigurationOverrideEnabled = virtualSwitchConfigurationOverrideEnabled; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/azure/stack/outputs/HciDeploymentSettingScaleUnitHostNetworkIntentAdapterPropertyOverride.java b/sdk/java/src/main/java/com/pulumi/azure/stack/outputs/HciDeploymentSettingScaleUnitHostNetworkIntentAdapterPropertyOverride.java new file mode 100644 index 0000000000..c2f76d95e9 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/azure/stack/outputs/HciDeploymentSettingScaleUnitHostNetworkIntentAdapterPropertyOverride.java @@ -0,0 +1,99 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.azure.stack.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class HciDeploymentSettingScaleUnitHostNetworkIntentAdapterPropertyOverride { + /** + * @return 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. + * + */ + private @Nullable String jumboPacket; + /** + * @return 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. + * + */ + private @Nullable String networkDirect; + /** + * @return 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. + * + */ + private @Nullable String networkDirectTechnology; + + private HciDeploymentSettingScaleUnitHostNetworkIntentAdapterPropertyOverride() {} + /** + * @return 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. + * + */ + public Optional jumboPacket() { + return Optional.ofNullable(this.jumboPacket); + } + /** + * @return 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. + * + */ + public Optional networkDirect() { + return Optional.ofNullable(this.networkDirect); + } + /** + * @return 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. + * + */ + public Optional networkDirectTechnology() { + return Optional.ofNullable(this.networkDirectTechnology); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(HciDeploymentSettingScaleUnitHostNetworkIntentAdapterPropertyOverride defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable String jumboPacket; + private @Nullable String networkDirect; + private @Nullable String networkDirectTechnology; + public Builder() {} + public Builder(HciDeploymentSettingScaleUnitHostNetworkIntentAdapterPropertyOverride defaults) { + Objects.requireNonNull(defaults); + this.jumboPacket = defaults.jumboPacket; + this.networkDirect = defaults.networkDirect; + this.networkDirectTechnology = defaults.networkDirectTechnology; + } + + @CustomType.Setter + public Builder jumboPacket(@Nullable String jumboPacket) { + + this.jumboPacket = jumboPacket; + return this; + } + @CustomType.Setter + public Builder networkDirect(@Nullable String networkDirect) { + + this.networkDirect = networkDirect; + return this; + } + @CustomType.Setter + public Builder networkDirectTechnology(@Nullable String networkDirectTechnology) { + + this.networkDirectTechnology = networkDirectTechnology; + return this; + } + public HciDeploymentSettingScaleUnitHostNetworkIntentAdapterPropertyOverride build() { + final var _resultValue = new HciDeploymentSettingScaleUnitHostNetworkIntentAdapterPropertyOverride(); + _resultValue.jumboPacket = jumboPacket; + _resultValue.networkDirect = networkDirect; + _resultValue.networkDirectTechnology = networkDirectTechnology; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/azure/stack/outputs/HciDeploymentSettingScaleUnitHostNetworkIntentQosPolicyOverride.java b/sdk/java/src/main/java/com/pulumi/azure/stack/outputs/HciDeploymentSettingScaleUnitHostNetworkIntentQosPolicyOverride.java new file mode 100644 index 0000000000..76f3ce5406 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/azure/stack/outputs/HciDeploymentSettingScaleUnitHostNetworkIntentQosPolicyOverride.java @@ -0,0 +1,99 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.azure.stack.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class HciDeploymentSettingScaleUnitHostNetworkIntentQosPolicyOverride { + /** + * @return 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. + * + */ + private @Nullable String bandwidthPercentageSmb; + /** + * @return 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. + * + */ + private @Nullable String priorityValue8021ActionCluster; + /** + * @return 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. + * + */ + private @Nullable String priorityValue8021ActionSmb; + + private HciDeploymentSettingScaleUnitHostNetworkIntentQosPolicyOverride() {} + /** + * @return 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. + * + */ + public Optional bandwidthPercentageSmb() { + return Optional.ofNullable(this.bandwidthPercentageSmb); + } + /** + * @return 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. + * + */ + public Optional priorityValue8021ActionCluster() { + return Optional.ofNullable(this.priorityValue8021ActionCluster); + } + /** + * @return 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. + * + */ + public Optional priorityValue8021ActionSmb() { + return Optional.ofNullable(this.priorityValue8021ActionSmb); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(HciDeploymentSettingScaleUnitHostNetworkIntentQosPolicyOverride defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable String bandwidthPercentageSmb; + private @Nullable String priorityValue8021ActionCluster; + private @Nullable String priorityValue8021ActionSmb; + public Builder() {} + public Builder(HciDeploymentSettingScaleUnitHostNetworkIntentQosPolicyOverride defaults) { + Objects.requireNonNull(defaults); + this.bandwidthPercentageSmb = defaults.bandwidthPercentageSmb; + this.priorityValue8021ActionCluster = defaults.priorityValue8021ActionCluster; + this.priorityValue8021ActionSmb = defaults.priorityValue8021ActionSmb; + } + + @CustomType.Setter + public Builder bandwidthPercentageSmb(@Nullable String bandwidthPercentageSmb) { + + this.bandwidthPercentageSmb = bandwidthPercentageSmb; + return this; + } + @CustomType.Setter + public Builder priorityValue8021ActionCluster(@Nullable String priorityValue8021ActionCluster) { + + this.priorityValue8021ActionCluster = priorityValue8021ActionCluster; + return this; + } + @CustomType.Setter + public Builder priorityValue8021ActionSmb(@Nullable String priorityValue8021ActionSmb) { + + this.priorityValue8021ActionSmb = priorityValue8021ActionSmb; + return this; + } + public HciDeploymentSettingScaleUnitHostNetworkIntentQosPolicyOverride build() { + final var _resultValue = new HciDeploymentSettingScaleUnitHostNetworkIntentQosPolicyOverride(); + _resultValue.bandwidthPercentageSmb = bandwidthPercentageSmb; + _resultValue.priorityValue8021ActionCluster = priorityValue8021ActionCluster; + _resultValue.priorityValue8021ActionSmb = priorityValue8021ActionSmb; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/azure/stack/outputs/HciDeploymentSettingScaleUnitHostNetworkIntentVirtualSwitchConfigurationOverride.java b/sdk/java/src/main/java/com/pulumi/azure/stack/outputs/HciDeploymentSettingScaleUnitHostNetworkIntentVirtualSwitchConfigurationOverride.java new file mode 100644 index 0000000000..a2c6edcb26 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/azure/stack/outputs/HciDeploymentSettingScaleUnitHostNetworkIntentVirtualSwitchConfigurationOverride.java @@ -0,0 +1,78 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.azure.stack.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class HciDeploymentSettingScaleUnitHostNetworkIntentVirtualSwitchConfigurationOverride { + /** + * @return Specifies the IoV enable status for Virtual Switch. Changing this forces a new Stack HCI Deployment Setting to be created. + * + */ + private @Nullable String enableIov; + /** + * @return Specifies the load balancing algorithm for Virtual Switch. Changing this forces a new Stack HCI Deployment Setting to be created. + * + */ + private @Nullable String loadBalancingAlgorithm; + + private HciDeploymentSettingScaleUnitHostNetworkIntentVirtualSwitchConfigurationOverride() {} + /** + * @return Specifies the IoV enable status for Virtual Switch. Changing this forces a new Stack HCI Deployment Setting to be created. + * + */ + public Optional enableIov() { + return Optional.ofNullable(this.enableIov); + } + /** + * @return Specifies the load balancing algorithm for Virtual Switch. Changing this forces a new Stack HCI Deployment Setting to be created. + * + */ + public Optional loadBalancingAlgorithm() { + return Optional.ofNullable(this.loadBalancingAlgorithm); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(HciDeploymentSettingScaleUnitHostNetworkIntentVirtualSwitchConfigurationOverride defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable String enableIov; + private @Nullable String loadBalancingAlgorithm; + public Builder() {} + public Builder(HciDeploymentSettingScaleUnitHostNetworkIntentVirtualSwitchConfigurationOverride defaults) { + Objects.requireNonNull(defaults); + this.enableIov = defaults.enableIov; + this.loadBalancingAlgorithm = defaults.loadBalancingAlgorithm; + } + + @CustomType.Setter + public Builder enableIov(@Nullable String enableIov) { + + this.enableIov = enableIov; + return this; + } + @CustomType.Setter + public Builder loadBalancingAlgorithm(@Nullable String loadBalancingAlgorithm) { + + this.loadBalancingAlgorithm = loadBalancingAlgorithm; + return this; + } + public HciDeploymentSettingScaleUnitHostNetworkIntentVirtualSwitchConfigurationOverride build() { + final var _resultValue = new HciDeploymentSettingScaleUnitHostNetworkIntentVirtualSwitchConfigurationOverride(); + _resultValue.enableIov = enableIov; + _resultValue.loadBalancingAlgorithm = loadBalancingAlgorithm; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/azure/stack/outputs/HciDeploymentSettingScaleUnitHostNetworkStorageNetwork.java b/sdk/java/src/main/java/com/pulumi/azure/stack/outputs/HciDeploymentSettingScaleUnitHostNetworkStorageNetwork.java new file mode 100644 index 0000000000..a3b5e1fb38 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/azure/stack/outputs/HciDeploymentSettingScaleUnitHostNetworkStorageNetwork.java @@ -0,0 +1,104 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.azure.stack.outputs; + +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class HciDeploymentSettingScaleUnitHostNetworkStorageNetwork { + /** + * @return The name of the storage network. Changing this forces a new Stack HCI Deployment Setting to be created. + * + */ + private String name; + /** + * @return The name of the network adapter. Changing this forces a new Stack HCI Deployment Setting to be created. + * + */ + private String networkAdapterName; + /** + * @return 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. + * + */ + private String vlanId; + + private HciDeploymentSettingScaleUnitHostNetworkStorageNetwork() {} + /** + * @return The name of the storage network. Changing this forces a new Stack HCI Deployment Setting to be created. + * + */ + public String name() { + return this.name; + } + /** + * @return The name of the network adapter. Changing this forces a new Stack HCI Deployment Setting to be created. + * + */ + public String networkAdapterName() { + return this.networkAdapterName; + } + /** + * @return 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. + * + */ + public String vlanId() { + return this.vlanId; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(HciDeploymentSettingScaleUnitHostNetworkStorageNetwork defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String name; + private String networkAdapterName; + private String vlanId; + public Builder() {} + public Builder(HciDeploymentSettingScaleUnitHostNetworkStorageNetwork defaults) { + Objects.requireNonNull(defaults); + this.name = defaults.name; + this.networkAdapterName = defaults.networkAdapterName; + this.vlanId = defaults.vlanId; + } + + @CustomType.Setter + public Builder name(String name) { + if (name == null) { + throw new MissingRequiredPropertyException("HciDeploymentSettingScaleUnitHostNetworkStorageNetwork", "name"); + } + this.name = name; + return this; + } + @CustomType.Setter + public Builder networkAdapterName(String networkAdapterName) { + if (networkAdapterName == null) { + throw new MissingRequiredPropertyException("HciDeploymentSettingScaleUnitHostNetworkStorageNetwork", "networkAdapterName"); + } + this.networkAdapterName = networkAdapterName; + return this; + } + @CustomType.Setter + public Builder vlanId(String vlanId) { + if (vlanId == null) { + throw new MissingRequiredPropertyException("HciDeploymentSettingScaleUnitHostNetworkStorageNetwork", "vlanId"); + } + this.vlanId = vlanId; + return this; + } + public HciDeploymentSettingScaleUnitHostNetworkStorageNetwork build() { + final var _resultValue = new HciDeploymentSettingScaleUnitHostNetworkStorageNetwork(); + _resultValue.name = name; + _resultValue.networkAdapterName = networkAdapterName; + _resultValue.vlanId = vlanId; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/azure/stack/outputs/HciDeploymentSettingScaleUnitInfrastructureNetwork.java b/sdk/java/src/main/java/com/pulumi/azure/stack/outputs/HciDeploymentSettingScaleUnitInfrastructureNetwork.java new file mode 100644 index 0000000000..f4165a2461 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/azure/stack/outputs/HciDeploymentSettingScaleUnitInfrastructureNetwork.java @@ -0,0 +1,163 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.azure.stack.outputs; + +import com.pulumi.azure.stack.outputs.HciDeploymentSettingScaleUnitInfrastructureNetworkIpPool; +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.Boolean; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class HciDeploymentSettingScaleUnitInfrastructureNetwork { + /** + * @return 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. + * + * > **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. + * + */ + private @Nullable Boolean dhcpEnabled; + /** + * @return 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. + * + */ + private List dnsServers; + /** + * @return 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. + * + */ + private String gateway; + /** + * @return One or more `ip_pool` blocks as defined below. Changing this forces a new Stack HCI Deployment Setting to be created. + * + */ + private List ipPools; + /** + * @return Specifies the subnet mask that matches the provided IP address space. Changing this forces a new Stack HCI Deployment Setting to be created. + * + */ + private String subnetMask; + + private HciDeploymentSettingScaleUnitInfrastructureNetwork() {} + /** + * @return 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. + * + * > **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. + * + */ + public Optional dhcpEnabled() { + return Optional.ofNullable(this.dhcpEnabled); + } + /** + * @return 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. + * + */ + public List dnsServers() { + return this.dnsServers; + } + /** + * @return 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. + * + */ + public String gateway() { + return this.gateway; + } + /** + * @return One or more `ip_pool` blocks as defined below. Changing this forces a new Stack HCI Deployment Setting to be created. + * + */ + public List ipPools() { + return this.ipPools; + } + /** + * @return Specifies the subnet mask that matches the provided IP address space. Changing this forces a new Stack HCI Deployment Setting to be created. + * + */ + public String subnetMask() { + return this.subnetMask; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(HciDeploymentSettingScaleUnitInfrastructureNetwork defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable Boolean dhcpEnabled; + private List dnsServers; + private String gateway; + private List ipPools; + private String subnetMask; + public Builder() {} + public Builder(HciDeploymentSettingScaleUnitInfrastructureNetwork defaults) { + Objects.requireNonNull(defaults); + this.dhcpEnabled = defaults.dhcpEnabled; + this.dnsServers = defaults.dnsServers; + this.gateway = defaults.gateway; + this.ipPools = defaults.ipPools; + this.subnetMask = defaults.subnetMask; + } + + @CustomType.Setter + public Builder dhcpEnabled(@Nullable Boolean dhcpEnabled) { + + this.dhcpEnabled = dhcpEnabled; + return this; + } + @CustomType.Setter + public Builder dnsServers(List dnsServers) { + if (dnsServers == null) { + throw new MissingRequiredPropertyException("HciDeploymentSettingScaleUnitInfrastructureNetwork", "dnsServers"); + } + this.dnsServers = dnsServers; + return this; + } + public Builder dnsServers(String... dnsServers) { + return dnsServers(List.of(dnsServers)); + } + @CustomType.Setter + public Builder gateway(String gateway) { + if (gateway == null) { + throw new MissingRequiredPropertyException("HciDeploymentSettingScaleUnitInfrastructureNetwork", "gateway"); + } + this.gateway = gateway; + return this; + } + @CustomType.Setter + public Builder ipPools(List ipPools) { + if (ipPools == null) { + throw new MissingRequiredPropertyException("HciDeploymentSettingScaleUnitInfrastructureNetwork", "ipPools"); + } + this.ipPools = ipPools; + return this; + } + public Builder ipPools(HciDeploymentSettingScaleUnitInfrastructureNetworkIpPool... ipPools) { + return ipPools(List.of(ipPools)); + } + @CustomType.Setter + public Builder subnetMask(String subnetMask) { + if (subnetMask == null) { + throw new MissingRequiredPropertyException("HciDeploymentSettingScaleUnitInfrastructureNetwork", "subnetMask"); + } + this.subnetMask = subnetMask; + return this; + } + public HciDeploymentSettingScaleUnitInfrastructureNetwork build() { + final var _resultValue = new HciDeploymentSettingScaleUnitInfrastructureNetwork(); + _resultValue.dhcpEnabled = dhcpEnabled; + _resultValue.dnsServers = dnsServers; + _resultValue.gateway = gateway; + _resultValue.ipPools = ipPools; + _resultValue.subnetMask = subnetMask; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/azure/stack/outputs/HciDeploymentSettingScaleUnitInfrastructureNetworkIpPool.java b/sdk/java/src/main/java/com/pulumi/azure/stack/outputs/HciDeploymentSettingScaleUnitInfrastructureNetworkIpPool.java new file mode 100644 index 0000000000..5acb3d00ca --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/azure/stack/outputs/HciDeploymentSettingScaleUnitInfrastructureNetworkIpPool.java @@ -0,0 +1,81 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.azure.stack.outputs; + +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class HciDeploymentSettingScaleUnitInfrastructureNetworkIpPool { + /** + * @return 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. + * + */ + private String endingAddress; + /** + * @return 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. + * + */ + private String startingAddress; + + private HciDeploymentSettingScaleUnitInfrastructureNetworkIpPool() {} + /** + * @return 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. + * + */ + public String endingAddress() { + return this.endingAddress; + } + /** + * @return 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. + * + */ + public String startingAddress() { + return this.startingAddress; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(HciDeploymentSettingScaleUnitInfrastructureNetworkIpPool defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String endingAddress; + private String startingAddress; + public Builder() {} + public Builder(HciDeploymentSettingScaleUnitInfrastructureNetworkIpPool defaults) { + Objects.requireNonNull(defaults); + this.endingAddress = defaults.endingAddress; + this.startingAddress = defaults.startingAddress; + } + + @CustomType.Setter + public Builder endingAddress(String endingAddress) { + if (endingAddress == null) { + throw new MissingRequiredPropertyException("HciDeploymentSettingScaleUnitInfrastructureNetworkIpPool", "endingAddress"); + } + this.endingAddress = endingAddress; + return this; + } + @CustomType.Setter + public Builder startingAddress(String startingAddress) { + if (startingAddress == null) { + throw new MissingRequiredPropertyException("HciDeploymentSettingScaleUnitInfrastructureNetworkIpPool", "startingAddress"); + } + this.startingAddress = startingAddress; + return this; + } + public HciDeploymentSettingScaleUnitInfrastructureNetworkIpPool build() { + final var _resultValue = new HciDeploymentSettingScaleUnitInfrastructureNetworkIpPool(); + _resultValue.endingAddress = endingAddress; + _resultValue.startingAddress = startingAddress; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/azure/stack/outputs/HciDeploymentSettingScaleUnitOptionalService.java b/sdk/java/src/main/java/com/pulumi/azure/stack/outputs/HciDeploymentSettingScaleUnitOptionalService.java new file mode 100644 index 0000000000..853748b0cf --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/azure/stack/outputs/HciDeploymentSettingScaleUnitOptionalService.java @@ -0,0 +1,58 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.azure.stack.outputs; + +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class HciDeploymentSettingScaleUnitOptionalService { + /** + * @return 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. + * + */ + private String customLocation; + + private HciDeploymentSettingScaleUnitOptionalService() {} + /** + * @return 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. + * + */ + public String customLocation() { + return this.customLocation; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(HciDeploymentSettingScaleUnitOptionalService defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String customLocation; + public Builder() {} + public Builder(HciDeploymentSettingScaleUnitOptionalService defaults) { + Objects.requireNonNull(defaults); + this.customLocation = defaults.customLocation; + } + + @CustomType.Setter + public Builder customLocation(String customLocation) { + if (customLocation == null) { + throw new MissingRequiredPropertyException("HciDeploymentSettingScaleUnitOptionalService", "customLocation"); + } + this.customLocation = customLocation; + return this; + } + public HciDeploymentSettingScaleUnitOptionalService build() { + final var _resultValue = new HciDeploymentSettingScaleUnitOptionalService(); + _resultValue.customLocation = customLocation; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/azure/stack/outputs/HciDeploymentSettingScaleUnitPhysicalNode.java b/sdk/java/src/main/java/com/pulumi/azure/stack/outputs/HciDeploymentSettingScaleUnitPhysicalNode.java new file mode 100644 index 0000000000..555edf999d --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/azure/stack/outputs/HciDeploymentSettingScaleUnitPhysicalNode.java @@ -0,0 +1,81 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.azure.stack.outputs; + +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class HciDeploymentSettingScaleUnitPhysicalNode { + /** + * @return 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. + * + */ + private String ipv4Address; + /** + * @return 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. + * + */ + private String name; + + private HciDeploymentSettingScaleUnitPhysicalNode() {} + /** + * @return 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. + * + */ + public String ipv4Address() { + return this.ipv4Address; + } + /** + * @return 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. + * + */ + public String name() { + return this.name; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(HciDeploymentSettingScaleUnitPhysicalNode defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String ipv4Address; + private String name; + public Builder() {} + public Builder(HciDeploymentSettingScaleUnitPhysicalNode defaults) { + Objects.requireNonNull(defaults); + this.ipv4Address = defaults.ipv4Address; + this.name = defaults.name; + } + + @CustomType.Setter + public Builder ipv4Address(String ipv4Address) { + if (ipv4Address == null) { + throw new MissingRequiredPropertyException("HciDeploymentSettingScaleUnitPhysicalNode", "ipv4Address"); + } + this.ipv4Address = ipv4Address; + return this; + } + @CustomType.Setter + public Builder name(String name) { + if (name == null) { + throw new MissingRequiredPropertyException("HciDeploymentSettingScaleUnitPhysicalNode", "name"); + } + this.name = name; + return this; + } + public HciDeploymentSettingScaleUnitPhysicalNode build() { + final var _resultValue = new HciDeploymentSettingScaleUnitPhysicalNode(); + _resultValue.ipv4Address = ipv4Address; + _resultValue.name = name; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/azure/stack/outputs/HciDeploymentSettingScaleUnitStorage.java b/sdk/java/src/main/java/com/pulumi/azure/stack/outputs/HciDeploymentSettingScaleUnitStorage.java new file mode 100644 index 0000000000..898760f503 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/azure/stack/outputs/HciDeploymentSettingScaleUnitStorage.java @@ -0,0 +1,58 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.azure.stack.outputs; + +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class HciDeploymentSettingScaleUnitStorage { + /** + * @return 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. + * + */ + private String configurationMode; + + private HciDeploymentSettingScaleUnitStorage() {} + /** + * @return 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. + * + */ + public String configurationMode() { + return this.configurationMode; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(HciDeploymentSettingScaleUnitStorage defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String configurationMode; + public Builder() {} + public Builder(HciDeploymentSettingScaleUnitStorage defaults) { + Objects.requireNonNull(defaults); + this.configurationMode = defaults.configurationMode; + } + + @CustomType.Setter + public Builder configurationMode(String configurationMode) { + if (configurationMode == null) { + throw new MissingRequiredPropertyException("HciDeploymentSettingScaleUnitStorage", "configurationMode"); + } + this.configurationMode = configurationMode; + return this; + } + public HciDeploymentSettingScaleUnitStorage build() { + final var _resultValue = new HciDeploymentSettingScaleUnitStorage(); + _resultValue.configurationMode = configurationMode; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/azure/storage/Blob.java b/sdk/java/src/main/java/com/pulumi/azure/storage/Blob.java index 5e95293859..ab3ecc1d6f 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/storage/Blob.java +++ b/sdk/java/src/main/java/com/pulumi/azure/storage/Blob.java @@ -231,14 +231,14 @@ public Output> size() { return Codegen.optional(this.size); } /** - * 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. + * 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. * */ @Export(name="source", refs={AssetOrArchive.class}, tree="[0]") private Output source; /** - * @return 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. + * @return 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. * */ public Output> source() { diff --git a/sdk/java/src/main/java/com/pulumi/azure/storage/BlobArgs.java b/sdk/java/src/main/java/com/pulumi/azure/storage/BlobArgs.java index 905a75090f..bd34bb5522 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/storage/BlobArgs.java +++ b/sdk/java/src/main/java/com/pulumi/azure/storage/BlobArgs.java @@ -163,14 +163,14 @@ public Optional> size() { } /** - * 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. + * 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. * */ @Import(name="source") private @Nullable Output source; /** - * @return 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. + * @return 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. * */ public Optional> source() { @@ -488,7 +488,7 @@ public Builder size(Integer size) { } /** - * @param source 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. + * @param source 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. * * @return builder * @@ -499,7 +499,7 @@ public Builder source(@Nullable Output source) { } /** - * @param source 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. + * @param source 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. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/azure/storage/inputs/BlobState.java b/sdk/java/src/main/java/com/pulumi/azure/storage/inputs/BlobState.java index e555fb21f0..88eb08d074 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/storage/inputs/BlobState.java +++ b/sdk/java/src/main/java/com/pulumi/azure/storage/inputs/BlobState.java @@ -162,14 +162,14 @@ public Optional> size() { } /** - * 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. + * 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. * */ @Import(name="source") private @Nullable Output source; /** - * @return 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. + * @return 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. * */ public Optional> source() { @@ -503,7 +503,7 @@ public Builder size(Integer size) { } /** - * @param source 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. + * @param source 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. * * @return builder * @@ -514,7 +514,7 @@ public Builder source(@Nullable Output source) { } /** - * @param source 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. + * @param source 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. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/azure/storage/inputs/ObjectReplicationRuleArgs.java b/sdk/java/src/main/java/com/pulumi/azure/storage/inputs/ObjectReplicationRuleArgs.java index d93bd05fd2..a490a83e04 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/storage/inputs/ObjectReplicationRuleArgs.java +++ b/sdk/java/src/main/java/com/pulumi/azure/storage/inputs/ObjectReplicationRuleArgs.java @@ -33,14 +33,14 @@ public Optional> copyBlobsCreatedAfter() { } /** - * The destination storage container name. Changing this forces a new Storage Object Replication to be created. + * The destination storage container name. * */ @Import(name="destinationContainerName", required=true) private Output destinationContainerName; /** - * @return The destination storage container name. Changing this forces a new Storage Object Replication to be created. + * @return The destination storage container name. * */ public Output destinationContainerName() { @@ -70,14 +70,14 @@ public Optional> name() { } /** - * The source storage container name. Changing this forces a new Storage Object Replication to be created. + * The source storage container name. * */ @Import(name="sourceContainerName", required=true) private Output sourceContainerName; /** - * @return The source storage container name. Changing this forces a new Storage Object Replication to be created. + * @return The source storage container name. * */ public Output sourceContainerName() { @@ -134,7 +134,7 @@ public Builder copyBlobsCreatedAfter(String copyBlobsCreatedAfter) { } /** - * @param destinationContainerName The destination storage container name. Changing this forces a new Storage Object Replication to be created. + * @param destinationContainerName The destination storage container name. * * @return builder * @@ -145,7 +145,7 @@ public Builder destinationContainerName(Output destinationContainerName) } /** - * @param destinationContainerName The destination storage container name. Changing this forces a new Storage Object Replication to be created. + * @param destinationContainerName The destination storage container name. * * @return builder * @@ -195,7 +195,7 @@ public Builder name(String name) { } /** - * @param sourceContainerName The source storage container name. Changing this forces a new Storage Object Replication to be created. + * @param sourceContainerName The source storage container name. * * @return builder * @@ -206,7 +206,7 @@ public Builder sourceContainerName(Output sourceContainerName) { } /** - * @param sourceContainerName The source storage container name. Changing this forces a new Storage Object Replication to be created. + * @param sourceContainerName The source storage container name. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/azure/storage/outputs/ObjectReplicationRule.java b/sdk/java/src/main/java/com/pulumi/azure/storage/outputs/ObjectReplicationRule.java index 2b7f101e0a..2137f164a9 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/storage/outputs/ObjectReplicationRule.java +++ b/sdk/java/src/main/java/com/pulumi/azure/storage/outputs/ObjectReplicationRule.java @@ -19,7 +19,7 @@ public final class ObjectReplicationRule { */ private @Nullable String copyBlobsCreatedAfter; /** - * @return The destination storage container name. Changing this forces a new Storage Object Replication to be created. + * @return The destination storage container name. * */ private String destinationContainerName; @@ -30,7 +30,7 @@ public final class ObjectReplicationRule { private @Nullable List filterOutBlobsWithPrefixes; private @Nullable String name; /** - * @return The source storage container name. Changing this forces a new Storage Object Replication to be created. + * @return The source storage container name. * */ private String sourceContainerName; @@ -44,7 +44,7 @@ public Optional copyBlobsCreatedAfter() { return Optional.ofNullable(this.copyBlobsCreatedAfter); } /** - * @return The destination storage container name. Changing this forces a new Storage Object Replication to be created. + * @return The destination storage container name. * */ public String destinationContainerName() { @@ -61,7 +61,7 @@ public Optional name() { return Optional.ofNullable(this.name); } /** - * @return The source storage container name. Changing this forces a new Storage Object Replication to be created. + * @return The source storage container name. * */ public String sourceContainerName() { diff --git a/sdk/nodejs/advisor/index.ts b/sdk/nodejs/advisor/index.ts index 810254b4bf..e8f3fea319 100644 --- a/sdk/nodejs/advisor/index.ts +++ b/sdk/nodejs/advisor/index.ts @@ -1,6 +1,7 @@ // *** 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! *** +import * as pulumi from "@pulumi/pulumi"; import * as utilities from "../utilities"; // Export members: @@ -9,3 +10,21 @@ export const getRecommendations: typeof import("./getRecommendations").getRecomm export const getRecommendationsOutput: typeof import("./getRecommendations").getRecommendationsOutput = null as any; utilities.lazyLoad(exports, ["getRecommendations","getRecommendationsOutput"], () => require("./getRecommendations")); +export { SuppressionArgs, SuppressionState } from "./suppression"; +export type Suppression = import("./suppression").Suppression; +export const Suppression: typeof import("./suppression").Suppression = null as any; +utilities.lazyLoad(exports, ["Suppression"], () => require("./suppression")); + + +const _module = { + version: utilities.getVersion(), + construct: (name: string, type: string, urn: string): pulumi.Resource => { + switch (type) { + case "azure:advisor/suppression:Suppression": + return new Suppression(name, undefined, { urn }) + default: + throw new Error(`unknown resource type ${type}`); + } + }, +}; +pulumi.runtime.registerResourceModule("azure", "advisor/suppression", _module) diff --git a/sdk/nodejs/advisor/suppression.ts b/sdk/nodejs/advisor/suppression.ts new file mode 100644 index 0000000000..642a660388 --- /dev/null +++ b/sdk/nodejs/advisor/suppression.ts @@ -0,0 +1,166 @@ +// *** 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! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as utilities from "../utilities"; + +/** + * Specifies a suppression for an Azure Advisor recommendation. + * + * ## Example Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as azure from "@pulumi/azure"; + * + * const current = azure.core.getClientConfig({}); + * const example = azure.advisor.getRecommendations({}); + * const exampleSuppression = new azure.advisor.Suppression("example", { + * name: "HardcodedSuppressionName", + * recommendationId: test.recommendations[0].recommendationName, + * resourceId: current.then(current => `/subscriptions/${current.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 + * ``` + */ +export class Suppression extends pulumi.CustomResource { + /** + * Get an existing Suppression resource's state with the given name, ID, and optional extra + * properties used to qualify the lookup. + * + * @param name The _unique_ name of the resulting resource. + * @param id The _unique_ provider ID of the resource to lookup. + * @param state Any extra arguments used during the lookup. + * @param opts Optional settings to control the behavior of the CustomResource. + */ + public static get(name: string, id: pulumi.Input, state?: SuppressionState, opts?: pulumi.CustomResourceOptions): Suppression { + return new Suppression(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'azure:advisor/suppression:Suppression'; + + /** + * Returns true if the given object is an instance of Suppression. This is designed to work even + * when multiple copies of the Pulumi SDK have been loaded into the same process. + */ + public static isInstance(obj: any): obj is Suppression { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === Suppression.__pulumiType; + } + + /** + * The Name which should be used for this Advisor suppression. Changing this forces a new Advisor suppression to be created. + */ + public readonly name!: pulumi.Output; + /** + * The ID of the Advisor recommendation to suppress. Changing this forces a new Advisor suppression to be created. + */ + public readonly recommendationId!: pulumi.Output; + /** + * The ID of the Resource to suppress the Advisor recommendation for. Changing this forces a new Advisor suppression to be created. + */ + public readonly resourceId!: pulumi.Output; + /** + * The GUID of the suppression. + */ + public /*out*/ readonly suppressionId!: pulumi.Output; + /** + * A optional time to live value. If omitted, the suppression will not expire. Changing this forces a new Advisor suppression to be created. + */ + public readonly ttl!: pulumi.Output; + + /** + * Create a Suppression resource with the given unique name, arguments, and options. + * + * @param name The _unique_ name of the resource. + * @param args The arguments to use to populate this resource's properties. + * @param opts A bag of options that control this resource's behavior. + */ + constructor(name: string, args: SuppressionArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: SuppressionArgs | SuppressionState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as SuppressionState | undefined; + resourceInputs["name"] = state ? state.name : undefined; + resourceInputs["recommendationId"] = state ? state.recommendationId : undefined; + resourceInputs["resourceId"] = state ? state.resourceId : undefined; + resourceInputs["suppressionId"] = state ? state.suppressionId : undefined; + resourceInputs["ttl"] = state ? state.ttl : undefined; + } else { + const args = argsOrState as SuppressionArgs | undefined; + if ((!args || args.recommendationId === undefined) && !opts.urn) { + throw new Error("Missing required property 'recommendationId'"); + } + if ((!args || args.resourceId === undefined) && !opts.urn) { + throw new Error("Missing required property 'resourceId'"); + } + resourceInputs["name"] = args ? args.name : undefined; + resourceInputs["recommendationId"] = args ? args.recommendationId : undefined; + resourceInputs["resourceId"] = args ? args.resourceId : undefined; + resourceInputs["ttl"] = args ? args.ttl : undefined; + resourceInputs["suppressionId"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(Suppression.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering Suppression resources. + */ +export interface SuppressionState { + /** + * The Name which should be used for this Advisor suppression. Changing this forces a new Advisor suppression to be created. + */ + name?: pulumi.Input; + /** + * The ID of the Advisor recommendation to suppress. Changing this forces a new Advisor suppression to be created. + */ + recommendationId?: pulumi.Input; + /** + * The ID of the Resource to suppress the Advisor recommendation for. Changing this forces a new Advisor suppression to be created. + */ + resourceId?: pulumi.Input; + /** + * The GUID of the suppression. + */ + suppressionId?: pulumi.Input; + /** + * A optional time to live value. If omitted, the suppression will not expire. Changing this forces a new Advisor suppression to be created. + */ + ttl?: pulumi.Input; +} + +/** + * The set of arguments for constructing a Suppression resource. + */ +export interface SuppressionArgs { + /** + * The Name which should be used for this Advisor suppression. Changing this forces a new Advisor suppression to be created. + */ + name?: pulumi.Input; + /** + * The ID of the Advisor recommendation to suppress. Changing this forces a new Advisor suppression to be created. + */ + recommendationId: pulumi.Input; + /** + * The ID of the Resource to suppress the Advisor recommendation for. Changing this forces a new Advisor suppression to be created. + */ + resourceId: pulumi.Input; + /** + * A optional time to live value. If omitted, the suppression will not expire. Changing this forces a new Advisor suppression to be created. + */ + ttl?: pulumi.Input; +} diff --git a/sdk/nodejs/appplatform/springCloudGateway.ts b/sdk/nodejs/appplatform/springCloudGateway.ts index 0b2ae4a848..4f3e3ad5d8 100644 --- a/sdk/nodejs/appplatform/springCloudGateway.ts +++ b/sdk/nodejs/appplatform/springCloudGateway.ts @@ -122,7 +122,7 @@ export class SpringCloudGateway extends pulumi.CustomResource { */ public readonly cors!: pulumi.Output; /** - * 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 readonly environmentVariables!: pulumi.Output<{[key: string]: string} | undefined>; /** @@ -154,7 +154,7 @@ export class SpringCloudGateway extends pulumi.CustomResource { */ public readonly quota!: pulumi.Output; /** - * 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 readonly sensitiveEnvironmentVariables!: pulumi.Output<{[key: string]: string} | undefined>; /** @@ -255,7 +255,7 @@ export interface SpringCloudGatewayState { */ cors?: pulumi.Input; /** - * 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. */ environmentVariables?: pulumi.Input<{[key: string]: pulumi.Input}>; /** @@ -287,7 +287,7 @@ export interface SpringCloudGatewayState { */ quota?: pulumi.Input; /** - * 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. */ sensitiveEnvironmentVariables?: pulumi.Input<{[key: string]: pulumi.Input}>; /** @@ -329,7 +329,7 @@ export interface SpringCloudGatewayArgs { */ cors?: pulumi.Input; /** - * 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. */ environmentVariables?: pulumi.Input<{[key: string]: pulumi.Input}>; /** @@ -361,7 +361,7 @@ export interface SpringCloudGatewayArgs { */ quota?: pulumi.Input; /** - * 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. */ sensitiveEnvironmentVariables?: pulumi.Input<{[key: string]: pulumi.Input}>; /** diff --git a/sdk/nodejs/appservice/getStaticWebApp.ts b/sdk/nodejs/appservice/getStaticWebApp.ts index 52261a3007..ee7a2c432f 100644 --- a/sdk/nodejs/appservice/getStaticWebApp.ts +++ b/sdk/nodejs/appservice/getStaticWebApp.ts @@ -60,6 +60,7 @@ export interface GetStaticWebAppResult { readonly location: string; readonly name: string; readonly previewEnvironmentsEnabled: boolean; + readonly publicNetworkAccessEnabled: boolean; readonly resourceGroupName: string; readonly skuSize: string; readonly skuTier: string; diff --git a/sdk/nodejs/appservice/staticWebApp.ts b/sdk/nodejs/appservice/staticWebApp.ts index 870b621397..76fad6c2a9 100644 --- a/sdk/nodejs/appservice/staticWebApp.ts +++ b/sdk/nodejs/appservice/staticWebApp.ts @@ -98,6 +98,10 @@ export class StaticWebApp extends pulumi.CustomResource { * Are Preview (Staging) environments enabled. Defaults to `true`. */ public readonly previewEnvironmentsEnabled!: pulumi.Output; + /** + * Should public network access be enabled for the Static Web App. Defaults to `true`. + */ + public readonly publicNetworkAccessEnabled!: pulumi.Output; /** * The name of the Resource Group where the Static Web App should exist. Changing this forces a new Static Web App to be created. */ @@ -137,6 +141,7 @@ export class StaticWebApp extends pulumi.CustomResource { resourceInputs["location"] = state ? state.location : undefined; resourceInputs["name"] = state ? state.name : undefined; resourceInputs["previewEnvironmentsEnabled"] = state ? state.previewEnvironmentsEnabled : undefined; + resourceInputs["publicNetworkAccessEnabled"] = state ? state.publicNetworkAccessEnabled : undefined; resourceInputs["resourceGroupName"] = state ? state.resourceGroupName : undefined; resourceInputs["skuSize"] = state ? state.skuSize : undefined; resourceInputs["skuTier"] = state ? state.skuTier : undefined; @@ -153,6 +158,7 @@ export class StaticWebApp extends pulumi.CustomResource { resourceInputs["location"] = args ? args.location : undefined; resourceInputs["name"] = args ? args.name : undefined; resourceInputs["previewEnvironmentsEnabled"] = args ? args.previewEnvironmentsEnabled : undefined; + resourceInputs["publicNetworkAccessEnabled"] = args ? args.publicNetworkAccessEnabled : undefined; resourceInputs["resourceGroupName"] = args ? args.resourceGroupName : undefined; resourceInputs["skuSize"] = args ? args.skuSize : undefined; resourceInputs["skuTier"] = args ? args.skuTier : undefined; @@ -207,6 +213,10 @@ export interface StaticWebAppState { * Are Preview (Staging) environments enabled. Defaults to `true`. */ previewEnvironmentsEnabled?: pulumi.Input; + /** + * Should public network access be enabled for the Static Web App. Defaults to `true`. + */ + publicNetworkAccessEnabled?: pulumi.Input; /** * The name of the Resource Group where the Static Web App should exist. Changing this forces a new Static Web App to be created. */ @@ -257,6 +267,10 @@ export interface StaticWebAppArgs { * Are Preview (Staging) environments enabled. Defaults to `true`. */ previewEnvironmentsEnabled?: pulumi.Input; + /** + * Should public network access be enabled for the Static Web App. Defaults to `true`. + */ + publicNetworkAccessEnabled?: pulumi.Input; /** * 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/nodejs/arcmachine/automanageConfigurationAssignment.ts b/sdk/nodejs/arcmachine/automanageConfigurationAssignment.ts index 6c810e5b9a..e0fa88792f 100644 --- a/sdk/nodejs/arcmachine/automanageConfigurationAssignment.ts +++ b/sdk/nodejs/arcmachine/automanageConfigurationAssignment.ts @@ -40,7 +40,7 @@ import * as utilities from "../utilities"; * 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 * ``` */ export class AutomanageConfigurationAssignment extends pulumi.CustomResource { diff --git a/sdk/nodejs/compute/linuxVirtualMachineScaleSet.ts b/sdk/nodejs/compute/linuxVirtualMachineScaleSet.ts index 4f7bcd7a5e..6f0fd3cbb6 100644 --- a/sdk/nodejs/compute/linuxVirtualMachineScaleSet.ts +++ b/sdk/nodejs/compute/linuxVirtualMachineScaleSet.ts @@ -350,7 +350,9 @@ export class LinuxVirtualMachineScaleSet extends pulumi.CustomResource { */ public readonly zoneBalance!: pulumi.Output; /** - * 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 readonly zones!: pulumi.Output; @@ -744,7 +746,9 @@ export interface LinuxVirtualMachineScaleSetState { */ zoneBalance?: pulumi.Input; /** - * 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. */ zones?: pulumi.Input[]>; } @@ -991,7 +995,9 @@ export interface LinuxVirtualMachineScaleSetArgs { */ zoneBalance?: pulumi.Input; /** - * 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. */ zones?: pulumi.Input[]>; } diff --git a/sdk/nodejs/compute/orchestratedVirtualMachineScaleSet.ts b/sdk/nodejs/compute/orchestratedVirtualMachineScaleSet.ts index a77b6826de..fa9c5a0efd 100644 --- a/sdk/nodejs/compute/orchestratedVirtualMachineScaleSet.ts +++ b/sdk/nodejs/compute/orchestratedVirtualMachineScaleSet.ts @@ -221,7 +221,9 @@ export class OrchestratedVirtualMachineScaleSet extends pulumi.CustomResource { */ public readonly zoneBalance!: pulumi.Output; /** - * 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). */ @@ -481,7 +483,9 @@ export interface OrchestratedVirtualMachineScaleSetState { */ zoneBalance?: pulumi.Input; /** - * 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). */ @@ -639,7 +643,9 @@ export interface OrchestratedVirtualMachineScaleSetArgs { */ zoneBalance?: pulumi.Input; /** - * 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/nodejs/compute/sharedImage.ts b/sdk/nodejs/compute/sharedImage.ts index a5b4e08501..a1226f2be8 100644 --- a/sdk/nodejs/compute/sharedImage.ts +++ b/sdk/nodejs/compute/sharedImage.ts @@ -101,6 +101,10 @@ export class SharedImage extends pulumi.CustomResource { * A description of this Shared Image. */ public readonly description!: pulumi.Output; + /** + * Specifies if the Shared Image supports NVMe disks. Changing this forces a new resource to be created. + */ + public readonly diskControllerTypeNvmeEnabled!: pulumi.Output; /** * One or more Disk Types not allowed for the Image. Possible values include `Standard_LRS` and `Premium_LRS`. */ @@ -210,6 +214,7 @@ export class SharedImage extends pulumi.CustomResource { resourceInputs["confidentialVmEnabled"] = state ? state.confidentialVmEnabled : undefined; resourceInputs["confidentialVmSupported"] = state ? state.confidentialVmSupported : undefined; resourceInputs["description"] = state ? state.description : undefined; + resourceInputs["diskControllerTypeNvmeEnabled"] = state ? state.diskControllerTypeNvmeEnabled : undefined; resourceInputs["diskTypesNotAlloweds"] = state ? state.diskTypesNotAlloweds : undefined; resourceInputs["endOfLifeDate"] = state ? state.endOfLifeDate : undefined; resourceInputs["eula"] = state ? state.eula : undefined; @@ -251,6 +256,7 @@ export class SharedImage extends pulumi.CustomResource { resourceInputs["confidentialVmEnabled"] = args ? args.confidentialVmEnabled : undefined; resourceInputs["confidentialVmSupported"] = args ? args.confidentialVmSupported : undefined; resourceInputs["description"] = args ? args.description : undefined; + resourceInputs["diskControllerTypeNvmeEnabled"] = args ? args.diskControllerTypeNvmeEnabled : undefined; resourceInputs["diskTypesNotAlloweds"] = args ? args.diskTypesNotAlloweds : undefined; resourceInputs["endOfLifeDate"] = args ? args.endOfLifeDate : undefined; resourceInputs["eula"] = args ? args.eula : undefined; @@ -305,6 +311,10 @@ export interface SharedImageState { * A description of this Shared Image. */ description?: pulumi.Input; + /** + * Specifies if the Shared Image supports NVMe disks. Changing this forces a new resource to be created. + */ + diskControllerTypeNvmeEnabled?: pulumi.Input; /** * One or more Disk Types not allowed for the Image. Possible values include `Standard_LRS` and `Premium_LRS`. */ @@ -423,6 +433,10 @@ export interface SharedImageArgs { * A description of this Shared Image. */ description?: pulumi.Input; + /** + * Specifies if the Shared Image supports NVMe disks. Changing this forces a new resource to be created. + */ + diskControllerTypeNvmeEnabled?: pulumi.Input; /** * One or more Disk Types not allowed for the Image. Possible values include `Standard_LRS` and `Premium_LRS`. */ diff --git a/sdk/nodejs/compute/windowsVirtualMachineScaleSet.ts b/sdk/nodejs/compute/windowsVirtualMachineScaleSet.ts index 0a510d507a..cdf24e508f 100644 --- a/sdk/nodejs/compute/windowsVirtualMachineScaleSet.ts +++ b/sdk/nodejs/compute/windowsVirtualMachineScaleSet.ts @@ -354,7 +354,9 @@ export class WindowsVirtualMachineScaleSet extends pulumi.CustomResource { */ public readonly zoneBalance!: pulumi.Output; /** - * 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 readonly zones!: pulumi.Output; @@ -762,7 +764,9 @@ export interface WindowsVirtualMachineScaleSetState { */ zoneBalance?: pulumi.Input; /** - * 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. */ zones?: pulumi.Input[]>; } @@ -1011,7 +1015,9 @@ export interface WindowsVirtualMachineScaleSetArgs { */ zoneBalance?: pulumi.Input; /** - * 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. */ zones?: pulumi.Input[]>; } diff --git a/sdk/nodejs/containerapp/customDomain.ts b/sdk/nodejs/containerapp/customDomain.ts index 8af16fddf9..d67c6d6456 100644 --- a/sdk/nodejs/containerapp/customDomain.ts +++ b/sdk/nodejs/containerapp/customDomain.ts @@ -69,6 +69,10 @@ export class CustomDomain extends pulumi.CustomResource { * > **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. */ public readonly containerAppEnvironmentCertificateId!: pulumi.Output; + /** + * The ID of the Container App Environment Managed Certificate to use. + */ + public /*out*/ readonly containerAppEnvironmentManagedCertificateId!: pulumi.Output; /** * The ID of the Container App to which this Custom Domain should be bound. Changing this forces a new resource to be created. */ @@ -95,6 +99,7 @@ export class CustomDomain extends pulumi.CustomResource { const state = argsOrState as CustomDomainState | undefined; resourceInputs["certificateBindingType"] = state ? state.certificateBindingType : undefined; resourceInputs["containerAppEnvironmentCertificateId"] = state ? state.containerAppEnvironmentCertificateId : undefined; + resourceInputs["containerAppEnvironmentManagedCertificateId"] = state ? state.containerAppEnvironmentManagedCertificateId : undefined; resourceInputs["containerAppId"] = state ? state.containerAppId : undefined; resourceInputs["name"] = state ? state.name : undefined; } else { @@ -106,6 +111,7 @@ export class CustomDomain extends pulumi.CustomResource { resourceInputs["containerAppEnvironmentCertificateId"] = args ? args.containerAppEnvironmentCertificateId : undefined; resourceInputs["containerAppId"] = args ? args.containerAppId : undefined; resourceInputs["name"] = args ? args.name : undefined; + resourceInputs["containerAppEnvironmentManagedCertificateId"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); super(CustomDomain.__pulumiType, name, resourceInputs, opts); @@ -126,6 +132,10 @@ export interface CustomDomainState { * > **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. */ containerAppEnvironmentCertificateId?: pulumi.Input; + /** + * The ID of the Container App Environment Managed Certificate to use. + */ + containerAppEnvironmentManagedCertificateId?: pulumi.Input; /** * 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/nodejs/containerservice/registry.ts b/sdk/nodejs/containerservice/registry.ts index d1b78539b6..8195f0eb93 100644 --- a/sdk/nodejs/containerservice/registry.ts +++ b/sdk/nodejs/containerservice/registry.ts @@ -148,7 +148,7 @@ export class Registry extends pulumi.CustomResource { */ public readonly exportPolicyEnabled!: pulumi.Output; /** - * 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. * @@ -322,7 +322,7 @@ export interface RegistryState { */ exportPolicyEnabled?: pulumi.Input; /** - * 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. * @@ -416,7 +416,7 @@ export interface RegistryArgs { */ exportPolicyEnabled?: pulumi.Input; /** - * 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/nodejs/dataprotection/backupPolicyMysqlFlexibleServer.ts b/sdk/nodejs/dataprotection/backupPolicyMysqlFlexibleServer.ts new file mode 100644 index 0000000000..1f4eac84a1 --- /dev/null +++ b/sdk/nodejs/dataprotection/backupPolicyMysqlFlexibleServer.ts @@ -0,0 +1,248 @@ +// *** 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! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../types/input"; +import * as outputs from "../types/output"; +import * as utilities from "../utilities"; + +/** + * Manages a Backup Policy to back up MySQL Flexible Server. + * + * ## Example Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as azure from "@pulumi/azure"; + * + * const example = new azure.core.ResourceGroup("example", { + * name: "example-resources", + * location: "West Europe", + * }); + * const exampleBackupVault = new azure.dataprotection.BackupVault("example", { + * name: "example-backup-vault", + * resourceGroupName: example.name, + * location: example.location, + * datastoreType: "VaultStore", + * redundancy: "LocallyRedundant", + * identity: { + * type: "SystemAssigned", + * }, + * }); + * const exampleBackupPolicyMysqlFlexibleServer = new azure.dataprotection.BackupPolicyMysqlFlexibleServer("example", { + * name: "example-backup-policy", + * vaultId: exampleBackupVault.id, + * backupRepeatingTimeIntervals: ["R/2021-05-23T02:30:00+00:00/P1W"], + * timeZone: "India Standard Time", + * defaultRetentionRule: { + * lifeCycles: [{ + * duration: "P4M", + * dataStoreType: "VaultStore", + * }], + * }, + * retentionRules: [ + * { + * name: "weekly", + * lifeCycles: [{ + * duration: "P6M", + * dataStoreType: "VaultStore", + * }], + * priority: 20, + * criteria: { + * absoluteCriteria: "FirstOfWeek", + * }, + * }, + * { + * name: "thursday", + * lifeCycles: [{ + * duration: "P1W", + * dataStoreType: "VaultStore", + * }], + * priority: 25, + * criteria: { + * daysOfWeeks: ["Thursday"], + * scheduledBackupTimes: ["2021-05-23T02:30:00Z"], + * }, + * }, + * { + * name: "monthly", + * lifeCycles: [{ + * duration: "P1D", + * dataStoreType: "VaultStore", + * }], + * priority: 15, + * criteria: { + * weeksOfMonths: [ + * "First", + * "Last", + * ], + * daysOfWeeks: ["Tuesday"], + * scheduledBackupTimes: ["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 + * ``` + */ +export class BackupPolicyMysqlFlexibleServer extends pulumi.CustomResource { + /** + * Get an existing BackupPolicyMysqlFlexibleServer resource's state with the given name, ID, and optional extra + * properties used to qualify the lookup. + * + * @param name The _unique_ name of the resulting resource. + * @param id The _unique_ provider ID of the resource to lookup. + * @param state Any extra arguments used during the lookup. + * @param opts Optional settings to control the behavior of the CustomResource. + */ + public static get(name: string, id: pulumi.Input, state?: BackupPolicyMysqlFlexibleServerState, opts?: pulumi.CustomResourceOptions): BackupPolicyMysqlFlexibleServer { + return new BackupPolicyMysqlFlexibleServer(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'azure:dataprotection/backupPolicyMysqlFlexibleServer:BackupPolicyMysqlFlexibleServer'; + + /** + * Returns true if the given object is an instance of BackupPolicyMysqlFlexibleServer. This is designed to work even + * when multiple copies of the Pulumi SDK have been loaded into the same process. + */ + public static isInstance(obj: any): obj is BackupPolicyMysqlFlexibleServer { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === BackupPolicyMysqlFlexibleServer.__pulumiType; + } + + /** + * 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 readonly backupRepeatingTimeIntervals!: pulumi.Output; + /** + * A `defaultRetentionRule` block as defined below. Changing this forces a new resource to be created. + */ + public readonly defaultRetentionRule!: pulumi.Output; + /** + * Specifies the name of the Backup Policy for the MySQL Flexible Server. Changing this forces a new resource to be created. + */ + public readonly name!: pulumi.Output; + /** + * One or more `retentionRule` blocks as defined below. Changing this forces a new resource to be created. + */ + public readonly retentionRules!: pulumi.Output; + /** + * Specifies the Time Zone which should be used by the backup schedule. Changing this forces a new resource to be created. + */ + public readonly timeZone!: pulumi.Output; + /** + * The ID of the Backup Vault where the Backup Policy MySQL Flexible Server should exist. Changing this forces a new resource to be created. + */ + public readonly vaultId!: pulumi.Output; + + /** + * Create a BackupPolicyMysqlFlexibleServer resource with the given unique name, arguments, and options. + * + * @param name The _unique_ name of the resource. + * @param args The arguments to use to populate this resource's properties. + * @param opts A bag of options that control this resource's behavior. + */ + constructor(name: string, args: BackupPolicyMysqlFlexibleServerArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: BackupPolicyMysqlFlexibleServerArgs | BackupPolicyMysqlFlexibleServerState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as BackupPolicyMysqlFlexibleServerState | undefined; + resourceInputs["backupRepeatingTimeIntervals"] = state ? state.backupRepeatingTimeIntervals : undefined; + resourceInputs["defaultRetentionRule"] = state ? state.defaultRetentionRule : undefined; + resourceInputs["name"] = state ? state.name : undefined; + resourceInputs["retentionRules"] = state ? state.retentionRules : undefined; + resourceInputs["timeZone"] = state ? state.timeZone : undefined; + resourceInputs["vaultId"] = state ? state.vaultId : undefined; + } else { + const args = argsOrState as BackupPolicyMysqlFlexibleServerArgs | undefined; + if ((!args || args.backupRepeatingTimeIntervals === undefined) && !opts.urn) { + throw new Error("Missing required property 'backupRepeatingTimeIntervals'"); + } + if ((!args || args.defaultRetentionRule === undefined) && !opts.urn) { + throw new Error("Missing required property 'defaultRetentionRule'"); + } + if ((!args || args.vaultId === undefined) && !opts.urn) { + throw new Error("Missing required property 'vaultId'"); + } + resourceInputs["backupRepeatingTimeIntervals"] = args ? args.backupRepeatingTimeIntervals : undefined; + resourceInputs["defaultRetentionRule"] = args ? args.defaultRetentionRule : undefined; + resourceInputs["name"] = args ? args.name : undefined; + resourceInputs["retentionRules"] = args ? args.retentionRules : undefined; + resourceInputs["timeZone"] = args ? args.timeZone : undefined; + resourceInputs["vaultId"] = args ? args.vaultId : undefined; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(BackupPolicyMysqlFlexibleServer.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering BackupPolicyMysqlFlexibleServer resources. + */ +export interface BackupPolicyMysqlFlexibleServerState { + /** + * 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. + */ + backupRepeatingTimeIntervals?: pulumi.Input[]>; + /** + * A `defaultRetentionRule` block as defined below. Changing this forces a new resource to be created. + */ + defaultRetentionRule?: pulumi.Input; + /** + * Specifies the name of the Backup Policy for the MySQL Flexible Server. Changing this forces a new resource to be created. + */ + name?: pulumi.Input; + /** + * One or more `retentionRule` blocks as defined below. Changing this forces a new resource to be created. + */ + retentionRules?: pulumi.Input[]>; + /** + * Specifies the Time Zone which should be used by the backup schedule. Changing this forces a new resource to be created. + */ + timeZone?: pulumi.Input; + /** + * The ID of the Backup Vault where the Backup Policy MySQL Flexible Server should exist. Changing this forces a new resource to be created. + */ + vaultId?: pulumi.Input; +} + +/** + * The set of arguments for constructing a BackupPolicyMysqlFlexibleServer resource. + */ +export interface BackupPolicyMysqlFlexibleServerArgs { + /** + * 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. + */ + backupRepeatingTimeIntervals: pulumi.Input[]>; + /** + * A `defaultRetentionRule` block as defined below. Changing this forces a new resource to be created. + */ + defaultRetentionRule: pulumi.Input; + /** + * Specifies the name of the Backup Policy for the MySQL Flexible Server. Changing this forces a new resource to be created. + */ + name?: pulumi.Input; + /** + * One or more `retentionRule` blocks as defined below. Changing this forces a new resource to be created. + */ + retentionRules?: pulumi.Input[]>; + /** + * Specifies the Time Zone which should be used by the backup schedule. Changing this forces a new resource to be created. + */ + timeZone?: pulumi.Input; + /** + * The ID of the Backup Vault where the Backup Policy MySQL Flexible Server should exist. Changing this forces a new resource to be created. + */ + vaultId: pulumi.Input; +} diff --git a/sdk/nodejs/dataprotection/index.ts b/sdk/nodejs/dataprotection/index.ts index 4c660f6a4d..611d2bd445 100644 --- a/sdk/nodejs/dataprotection/index.ts +++ b/sdk/nodejs/dataprotection/index.ts @@ -45,6 +45,11 @@ export type BackupPolicyKubernetesCluster = import("./backupPolicyKubernetesClus export const BackupPolicyKubernetesCluster: typeof import("./backupPolicyKubernetesCluster").BackupPolicyKubernetesCluster = null as any; utilities.lazyLoad(exports, ["BackupPolicyKubernetesCluster"], () => require("./backupPolicyKubernetesCluster")); +export { BackupPolicyMysqlFlexibleServerArgs, BackupPolicyMysqlFlexibleServerState } from "./backupPolicyMysqlFlexibleServer"; +export type BackupPolicyMysqlFlexibleServer = import("./backupPolicyMysqlFlexibleServer").BackupPolicyMysqlFlexibleServer; +export const BackupPolicyMysqlFlexibleServer: typeof import("./backupPolicyMysqlFlexibleServer").BackupPolicyMysqlFlexibleServer = null as any; +utilities.lazyLoad(exports, ["BackupPolicyMysqlFlexibleServer"], () => require("./backupPolicyMysqlFlexibleServer")); + export { BackupPolicyPostgresqlArgs, BackupPolicyPostgresqlState } from "./backupPolicyPostgresql"; export type BackupPolicyPostgresql = import("./backupPolicyPostgresql").BackupPolicyPostgresql; export const BackupPolicyPostgresql: typeof import("./backupPolicyPostgresql").BackupPolicyPostgresql = null as any; @@ -91,6 +96,8 @@ const _module = { return new BackupPolicyDisk(name, undefined, { urn }) case "azure:dataprotection/backupPolicyKubernetesCluster:BackupPolicyKubernetesCluster": return new BackupPolicyKubernetesCluster(name, undefined, { urn }) + case "azure:dataprotection/backupPolicyMysqlFlexibleServer:BackupPolicyMysqlFlexibleServer": + return new BackupPolicyMysqlFlexibleServer(name, undefined, { urn }) case "azure:dataprotection/backupPolicyPostgresql:BackupPolicyPostgresql": return new BackupPolicyPostgresql(name, undefined, { urn }) case "azure:dataprotection/backupPolicyPostgresqlFlexibleServer:BackupPolicyPostgresqlFlexibleServer": @@ -112,6 +119,7 @@ pulumi.runtime.registerResourceModule("azure", "dataprotection/backupInstancePos pulumi.runtime.registerResourceModule("azure", "dataprotection/backupPolicyBlobStorage", _module) pulumi.runtime.registerResourceModule("azure", "dataprotection/backupPolicyDisk", _module) pulumi.runtime.registerResourceModule("azure", "dataprotection/backupPolicyKubernetesCluster", _module) +pulumi.runtime.registerResourceModule("azure", "dataprotection/backupPolicyMysqlFlexibleServer", _module) pulumi.runtime.registerResourceModule("azure", "dataprotection/backupPolicyPostgresql", _module) pulumi.runtime.registerResourceModule("azure", "dataprotection/backupPolicyPostgresqlFlexibleServer", _module) pulumi.runtime.registerResourceModule("azure", "dataprotection/backupVault", _module) diff --git a/sdk/nodejs/keyvault/index.ts b/sdk/nodejs/keyvault/index.ts index 836175bcb4..074d1d043e 100644 --- a/sdk/nodejs/keyvault/index.ts +++ b/sdk/nodejs/keyvault/index.ts @@ -110,6 +110,11 @@ export type ManagedHardwareSecurityModuleKey = import("./managedHardwareSecurity export const ManagedHardwareSecurityModuleKey: typeof import("./managedHardwareSecurityModuleKey").ManagedHardwareSecurityModuleKey = null as any; utilities.lazyLoad(exports, ["ManagedHardwareSecurityModuleKey"], () => require("./managedHardwareSecurityModuleKey")); +export { ManagedHardwareSecurityModuleKeyRotationPolicyArgs, ManagedHardwareSecurityModuleKeyRotationPolicyState } from "./managedHardwareSecurityModuleKeyRotationPolicy"; +export type ManagedHardwareSecurityModuleKeyRotationPolicy = import("./managedHardwareSecurityModuleKeyRotationPolicy").ManagedHardwareSecurityModuleKeyRotationPolicy; +export const ManagedHardwareSecurityModuleKeyRotationPolicy: typeof import("./managedHardwareSecurityModuleKeyRotationPolicy").ManagedHardwareSecurityModuleKeyRotationPolicy = null as any; +utilities.lazyLoad(exports, ["ManagedHardwareSecurityModuleKeyRotationPolicy"], () => require("./managedHardwareSecurityModuleKeyRotationPolicy")); + export { ManagedHardwareSecurityModuleRoleAssignmentArgs, ManagedHardwareSecurityModuleRoleAssignmentState } from "./managedHardwareSecurityModuleRoleAssignment"; export type ManagedHardwareSecurityModuleRoleAssignment = import("./managedHardwareSecurityModuleRoleAssignment").ManagedHardwareSecurityModuleRoleAssignment; export const ManagedHardwareSecurityModuleRoleAssignment: typeof import("./managedHardwareSecurityModuleRoleAssignment").ManagedHardwareSecurityModuleRoleAssignment = null as any; @@ -158,6 +163,8 @@ const _module = { return new ManagedHardwareSecurityModule(name, undefined, { urn }) case "azure:keyvault/managedHardwareSecurityModuleKey:ManagedHardwareSecurityModuleKey": return new ManagedHardwareSecurityModuleKey(name, undefined, { urn }) + case "azure:keyvault/managedHardwareSecurityModuleKeyRotationPolicy:ManagedHardwareSecurityModuleKeyRotationPolicy": + return new ManagedHardwareSecurityModuleKeyRotationPolicy(name, undefined, { urn }) case "azure:keyvault/managedHardwareSecurityModuleRoleAssignment:ManagedHardwareSecurityModuleRoleAssignment": return new ManagedHardwareSecurityModuleRoleAssignment(name, undefined, { urn }) case "azure:keyvault/managedHardwareSecurityModuleRoleDefinition:ManagedHardwareSecurityModuleRoleDefinition": @@ -182,6 +189,7 @@ pulumi.runtime.registerResourceModule("azure", "keyvault/key", _module) pulumi.runtime.registerResourceModule("azure", "keyvault/keyVault", _module) pulumi.runtime.registerResourceModule("azure", "keyvault/managedHardwareSecurityModule", _module) pulumi.runtime.registerResourceModule("azure", "keyvault/managedHardwareSecurityModuleKey", _module) +pulumi.runtime.registerResourceModule("azure", "keyvault/managedHardwareSecurityModuleKeyRotationPolicy", _module) pulumi.runtime.registerResourceModule("azure", "keyvault/managedHardwareSecurityModuleRoleAssignment", _module) pulumi.runtime.registerResourceModule("azure", "keyvault/managedHardwareSecurityModuleRoleDefinition", _module) pulumi.runtime.registerResourceModule("azure", "keyvault/managedStorageAccount", _module) diff --git a/sdk/nodejs/keyvault/managedHardwareSecurityModuleKeyRotationPolicy.ts b/sdk/nodejs/keyvault/managedHardwareSecurityModuleKeyRotationPolicy.ts new file mode 100644 index 0000000000..1dec42f3ae --- /dev/null +++ b/sdk/nodejs/keyvault/managedHardwareSecurityModuleKeyRotationPolicy.ts @@ -0,0 +1,160 @@ +// *** 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! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as utilities from "../utilities"; + +/** + * Manages a Managed HSM Key rotation policy. + * + * ## Example Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as azure from "@pulumi/azure"; + * + * const example = new azure.keyvault.ManagedHardwareSecurityModuleKey("example", { + * name: "example-key", + * managedHsmId: exampleAzurermKeyVaultManagedHardwareSecurityModule.id, + * keyType: "EC-HSM", + * curve: "P-521", + * keyOpts: ["sign"], + * }); + * const exampleManagedHardwareSecurityModuleKeyRotationPolicy = new azure.keyvault.ManagedHardwareSecurityModuleKeyRotationPolicy("example", { + * 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 + * ``` + */ +export class ManagedHardwareSecurityModuleKeyRotationPolicy extends pulumi.CustomResource { + /** + * Get an existing ManagedHardwareSecurityModuleKeyRotationPolicy resource's state with the given name, ID, and optional extra + * properties used to qualify the lookup. + * + * @param name The _unique_ name of the resulting resource. + * @param id The _unique_ provider ID of the resource to lookup. + * @param state Any extra arguments used during the lookup. + * @param opts Optional settings to control the behavior of the CustomResource. + */ + public static get(name: string, id: pulumi.Input, state?: ManagedHardwareSecurityModuleKeyRotationPolicyState, opts?: pulumi.CustomResourceOptions): ManagedHardwareSecurityModuleKeyRotationPolicy { + return new ManagedHardwareSecurityModuleKeyRotationPolicy(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'azure:keyvault/managedHardwareSecurityModuleKeyRotationPolicy:ManagedHardwareSecurityModuleKeyRotationPolicy'; + + /** + * Returns true if the given object is an instance of ManagedHardwareSecurityModuleKeyRotationPolicy. This is designed to work even + * when multiple copies of the Pulumi SDK have been loaded into the same process. + */ + public static isInstance(obj: any): obj is ManagedHardwareSecurityModuleKeyRotationPolicy { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === ManagedHardwareSecurityModuleKeyRotationPolicy.__pulumiType; + } + + /** + * 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`. + */ + public readonly expireAfter!: pulumi.Output; + /** + * The ID of the Managed HSM Key. Changing this forces a new Managed HSM Key rotation policy to be created. + */ + public readonly managedHsmKeyId!: pulumi.Output; + /** + * Rotate automatically at a duration after key creation as an [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations). Exactly one of `timeAfterCreation` or `timeBeforeExpiry` should be specified. + */ + public readonly timeAfterCreation!: pulumi.Output; + /** + * Rotate automatically at a duration before key expiry as an [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations). Exactly one of `timeAfterCreation` or `timeBeforeExpiry` should be specified. + */ + public readonly timeBeforeExpiry!: pulumi.Output; + + /** + * Create a ManagedHardwareSecurityModuleKeyRotationPolicy resource with the given unique name, arguments, and options. + * + * @param name The _unique_ name of the resource. + * @param args The arguments to use to populate this resource's properties. + * @param opts A bag of options that control this resource's behavior. + */ + constructor(name: string, args: ManagedHardwareSecurityModuleKeyRotationPolicyArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: ManagedHardwareSecurityModuleKeyRotationPolicyArgs | ManagedHardwareSecurityModuleKeyRotationPolicyState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as ManagedHardwareSecurityModuleKeyRotationPolicyState | undefined; + resourceInputs["expireAfter"] = state ? state.expireAfter : undefined; + resourceInputs["managedHsmKeyId"] = state ? state.managedHsmKeyId : undefined; + resourceInputs["timeAfterCreation"] = state ? state.timeAfterCreation : undefined; + resourceInputs["timeBeforeExpiry"] = state ? state.timeBeforeExpiry : undefined; + } else { + const args = argsOrState as ManagedHardwareSecurityModuleKeyRotationPolicyArgs | undefined; + if ((!args || args.expireAfter === undefined) && !opts.urn) { + throw new Error("Missing required property 'expireAfter'"); + } + if ((!args || args.managedHsmKeyId === undefined) && !opts.urn) { + throw new Error("Missing required property 'managedHsmKeyId'"); + } + resourceInputs["expireAfter"] = args ? args.expireAfter : undefined; + resourceInputs["managedHsmKeyId"] = args ? args.managedHsmKeyId : undefined; + resourceInputs["timeAfterCreation"] = args ? args.timeAfterCreation : undefined; + resourceInputs["timeBeforeExpiry"] = args ? args.timeBeforeExpiry : undefined; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(ManagedHardwareSecurityModuleKeyRotationPolicy.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering ManagedHardwareSecurityModuleKeyRotationPolicy resources. + */ +export interface ManagedHardwareSecurityModuleKeyRotationPolicyState { + /** + * 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`. + */ + expireAfter?: pulumi.Input; + /** + * The ID of the Managed HSM Key. Changing this forces a new Managed HSM Key rotation policy to be created. + */ + managedHsmKeyId?: pulumi.Input; + /** + * Rotate automatically at a duration after key creation as an [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations). Exactly one of `timeAfterCreation` or `timeBeforeExpiry` should be specified. + */ + timeAfterCreation?: pulumi.Input; + /** + * Rotate automatically at a duration before key expiry as an [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations). Exactly one of `timeAfterCreation` or `timeBeforeExpiry` should be specified. + */ + timeBeforeExpiry?: pulumi.Input; +} + +/** + * The set of arguments for constructing a ManagedHardwareSecurityModuleKeyRotationPolicy resource. + */ +export interface ManagedHardwareSecurityModuleKeyRotationPolicyArgs { + /** + * 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`. + */ + expireAfter: pulumi.Input; + /** + * The ID of the Managed HSM Key. Changing this forces a new Managed HSM Key rotation policy to be created. + */ + managedHsmKeyId: pulumi.Input; + /** + * Rotate automatically at a duration after key creation as an [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations). Exactly one of `timeAfterCreation` or `timeBeforeExpiry` should be specified. + */ + timeAfterCreation?: pulumi.Input; + /** + * Rotate automatically at a duration before key expiry as an [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations). Exactly one of `timeAfterCreation` or `timeBeforeExpiry` should be specified. + */ + timeBeforeExpiry?: pulumi.Input; +} diff --git a/sdk/nodejs/loganalytics/linkedStorageAccount.ts b/sdk/nodejs/loganalytics/linkedStorageAccount.ts index a25c9980a0..628e5c96ff 100644 --- a/sdk/nodejs/loganalytics/linkedStorageAccount.ts +++ b/sdk/nodejs/loganalytics/linkedStorageAccount.ts @@ -76,8 +76,6 @@ export class LinkedStorageAccount extends 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 `dataSourceType` is case-insensitive in current 3.x version. And in 4.0 or later versions, Case-sensitivity will be required. */ public readonly dataSourceType!: pulumi.Output; /** @@ -140,8 +138,6 @@ export class LinkedStorageAccount extends pulumi.CustomResource { export interface LinkedStorageAccountState { /** * 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 `dataSourceType` is case-insensitive in current 3.x version. And in 4.0 or later versions, Case-sensitivity will be required. */ dataSourceType?: pulumi.Input; /** @@ -164,8 +160,6 @@ export interface LinkedStorageAccountState { export interface LinkedStorageAccountArgs { /** * 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 `dataSourceType` is case-insensitive in current 3.x version. And in 4.0 or later versions, Case-sensitivity will be required. */ dataSourceType: pulumi.Input; /** diff --git a/sdk/nodejs/monitoring/alertPrometheusRuleGroup.ts b/sdk/nodejs/monitoring/alertPrometheusRuleGroup.ts index ebd674adb5..b7bdb3469d 100644 --- a/sdk/nodejs/monitoring/alertPrometheusRuleGroup.ts +++ b/sdk/nodejs/monitoring/alertPrometheusRuleGroup.ts @@ -9,6 +9,86 @@ import * as utilities from "../utilities"; /** * Manages an Alert Management Prometheus Rule Group. * + * ## Example Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as azure from "@pulumi/azure"; + * + * const example = new azure.core.ResourceGroup("example", { + * name: "example-resources", + * location: "West Europe", + * }); + * const exampleActionGroup = new azure.monitoring.ActionGroup("example", { + * name: "example-mag", + * resourceGroupName: example.name, + * shortName: "testag", + * }); + * const exampleWorkspace = new azure.monitoring.Workspace("example", { + * name: "example-amw", + * resourceGroupName: example.name, + * location: example.location, + * }); + * const exampleKubernetesCluster = new azure.containerservice.KubernetesCluster("example", { + * name: "example-cluster", + * location: example.location, + * resourceGroupName: example.name, + * dnsPrefix: "example-aks", + * defaultNodePool: { + * name: "default", + * nodeCount: 1, + * vmSize: "Standard_DS2_v2", + * hostEncryptionEnabled: true, + * }, + * identity: { + * type: "SystemAssigned", + * }, + * }); + * const exampleAlertPrometheusRuleGroup = new azure.monitoring.AlertPrometheusRuleGroup("example", { + * 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: [exampleWorkspace.id], + * rules: [ + * { + * enabled: false, + * expression: "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", + * labels: { + * team: "prod", + * }, + * }, + * { + * 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))\n", + * "for": "PT5M", + * severity: 2, + * actions: [{ + * actionGroupId: exampleActionGroup.id, + * }], + * alertResolution: { + * 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/nodejs/network/getVpnServerConfiguration.ts b/sdk/nodejs/network/getVpnServerConfiguration.ts new file mode 100644 index 0000000000..373afe3787 --- /dev/null +++ b/sdk/nodejs/network/getVpnServerConfiguration.ts @@ -0,0 +1,133 @@ +// *** 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! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../types/input"; +import * as outputs from "../types/output"; +import * as utilities from "../utilities"; + +/** + * Use this data source to access information about an existing VPN Server Configuration. + * + * ## Example Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as azure from "@pulumi/azure"; + * + * const example = azure.network.getVpnServerConfiguration({ + * name: "existing-local-vpn-server-configuration", + * resourceGroupName: "existing-resource-group", + * }); + * export const azurermVpnServerConfiguration = example.then(example => example.id); + * ``` + */ +export function getVpnServerConfiguration(args: GetVpnServerConfigurationArgs, opts?: pulumi.InvokeOptions): Promise { + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("azure:network/getVpnServerConfiguration:getVpnServerConfiguration", { + "name": args.name, + "resourceGroupName": args.resourceGroupName, + }, opts); +} + +/** + * A collection of arguments for invoking getVpnServerConfiguration. + */ +export interface GetVpnServerConfigurationArgs { + /** + * The Name of the VPN Server Configuration. + */ + name: string; + /** + * The name of the Resource Group where the VPN Server Configuration exists. + */ + resourceGroupName: string; +} + +/** + * A collection of values returned by getVpnServerConfiguration. + */ +export interface GetVpnServerConfigurationResult { + /** + * A `azureActiveDirectoryAuthentication` block as defined below. + */ + readonly azureActiveDirectoryAuthentications: outputs.network.GetVpnServerConfigurationAzureActiveDirectoryAuthentication[]; + /** + * One or more `clientRevokedCertificate` blocks as defined below. + */ + readonly clientRevokedCertificates: outputs.network.GetVpnServerConfigurationClientRevokedCertificate[]; + /** + * One or more `clientRootCertificate` blocks as defined below. + */ + readonly clientRootCertificates: outputs.network.GetVpnServerConfigurationClientRootCertificate[]; + /** + * The provider-assigned unique ID for this managed resource. + */ + readonly id: string; + /** + * The `bgpSettings` block as defined below. + */ + readonly ipsecPolicies: outputs.network.GetVpnServerConfigurationIpsecPolicy[]; + /** + * The Azure Region where the VPN Server Configuration exists. + */ + readonly location: string; + /** + * The name used to uniquely identify this certificate. + */ + readonly name: string; + /** + * A `radius` block as defined below. + */ + readonly radii: outputs.network.GetVpnServerConfigurationRadius[]; + readonly resourceGroupName: string; + /** + * A mapping of tags to assign to the VPN Server Configuration. + */ + readonly tags: {[key: string]: string}; + /** + * The list of Authentication Types applicable for the VPN Server Configuration. + */ + readonly vpnAuthenticationTypes: string[]; + /** + * The list of VPN Protocols to use for the VPN Server Configuration. + */ + readonly vpnProtocols: string[]; +} +/** + * Use this data source to access information about an existing VPN Server Configuration. + * + * ## Example Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as azure from "@pulumi/azure"; + * + * const example = azure.network.getVpnServerConfiguration({ + * name: "existing-local-vpn-server-configuration", + * resourceGroupName: "existing-resource-group", + * }); + * export const azurermVpnServerConfiguration = example.then(example => example.id); + * ``` + */ +export function getVpnServerConfigurationOutput(args: GetVpnServerConfigurationOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invokeOutput("azure:network/getVpnServerConfiguration:getVpnServerConfiguration", { + "name": args.name, + "resourceGroupName": args.resourceGroupName, + }, opts); +} + +/** + * A collection of arguments for invoking getVpnServerConfiguration. + */ +export interface GetVpnServerConfigurationOutputArgs { + /** + * The Name of the VPN Server Configuration. + */ + name: pulumi.Input; + /** + * The name of the Resource Group where the VPN Server Configuration exists. + */ + resourceGroupName: pulumi.Input; +} diff --git a/sdk/nodejs/network/index.ts b/sdk/nodejs/network/index.ts index baf7ddaa01..331f5b6ef5 100644 --- a/sdk/nodejs/network/index.ts +++ b/sdk/nodejs/network/index.ts @@ -260,6 +260,11 @@ export const getVpnGateway: typeof import("./getVpnGateway").getVpnGateway = nul export const getVpnGatewayOutput: typeof import("./getVpnGateway").getVpnGatewayOutput = null as any; utilities.lazyLoad(exports, ["getVpnGateway","getVpnGatewayOutput"], () => require("./getVpnGateway")); +export { GetVpnServerConfigurationArgs, GetVpnServerConfigurationResult, GetVpnServerConfigurationOutputArgs } from "./getVpnServerConfiguration"; +export const getVpnServerConfiguration: typeof import("./getVpnServerConfiguration").getVpnServerConfiguration = null as any; +export const getVpnServerConfigurationOutput: typeof import("./getVpnServerConfiguration").getVpnServerConfigurationOutput = null as any; +utilities.lazyLoad(exports, ["getVpnServerConfiguration","getVpnServerConfigurationOutput"], () => require("./getVpnServerConfiguration")); + export { IPGroupArgs, IPGroupState } from "./ipgroup"; export type IPGroup = import("./ipgroup").IPGroup; export const IPGroup: typeof import("./ipgroup").IPGroup = null as any; diff --git a/sdk/nodejs/nginx/deployment.ts b/sdk/nodejs/nginx/deployment.ts index 1f7c0fa136..6325bf9f05 100644 --- a/sdk/nodejs/nginx/deployment.ts +++ b/sdk/nodejs/nginx/deployment.ts @@ -51,7 +51,7 @@ import * as utilities from "../utilities"; * const exampleDeployment = new azure.nginx.Deployment("example", { * name: "example-nginx", * resourceGroupName: example.name, - * sku: "standard_Monthly", + * sku: "standardv2_Monthly", * location: example.location, * managedResourceGroup: "example", * diagnoseSupportEnabled: true, diff --git a/sdk/nodejs/nginx/getDeployment.ts b/sdk/nodejs/nginx/getDeployment.ts index acbec06f99..133b186d2b 100644 --- a/sdk/nodejs/nginx/getDeployment.ts +++ b/sdk/nodejs/nginx/getDeployment.ts @@ -114,7 +114,7 @@ export interface GetDeploymentResult { readonly nginxVersion: string; readonly resourceGroupName: string; /** - * The NGINX Deployment SKU. Possible values include `standard_Monthly`. + * The NGINX Deployment SKU. */ readonly sku: string; /** diff --git a/sdk/nodejs/pim/getRoleManagementPolicy.ts b/sdk/nodejs/pim/getRoleManagementPolicy.ts index 1959e17788..1c41a2b8f6 100644 --- a/sdk/nodejs/pim/getRoleManagementPolicy.ts +++ b/sdk/nodejs/pim/getRoleManagementPolicy.ts @@ -66,7 +66,7 @@ export interface GetRoleManagementPolicyArgs { */ roleDefinitionId: string; /** - * 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. */ scope: string; } @@ -166,7 +166,7 @@ export interface GetRoleManagementPolicyOutputArgs { */ roleDefinitionId: pulumi.Input; /** - * 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. */ scope: pulumi.Input; } diff --git a/sdk/nodejs/pim/roleManagementPolicy.ts b/sdk/nodejs/pim/roleManagementPolicy.ts index 4ef49b777a..4fc63c5139 100644 --- a/sdk/nodejs/pim/roleManagementPolicy.ts +++ b/sdk/nodejs/pim/roleManagementPolicy.ts @@ -112,7 +112,7 @@ export class RoleManagementPolicy extends pulumi.CustomResource { */ public readonly roleDefinitionId!: pulumi.Output; /** - * 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. */ public readonly scope!: pulumi.Output; @@ -192,7 +192,7 @@ export interface RoleManagementPolicyState { */ roleDefinitionId?: pulumi.Input; /** - * 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. */ scope?: pulumi.Input; } @@ -222,7 +222,7 @@ export interface RoleManagementPolicyArgs { */ roleDefinitionId: pulumi.Input; /** - * 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. */ scope: pulumi.Input; } diff --git a/sdk/nodejs/sentinel/threatIntelligenceIndicator.ts b/sdk/nodejs/sentinel/threatIntelligenceIndicator.ts index de24ba3f83..c0fd06e4d6 100644 --- a/sdk/nodejs/sentinel/threatIntelligenceIndicator.ts +++ b/sdk/nodejs/sentinel/threatIntelligenceIndicator.ts @@ -9,6 +9,34 @@ import * as utilities from "../utilities"; /** * Manages a Sentinel Threat Intelligence Indicator. * + * ## Example Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as azure from "@pulumi/azure"; + * + * const example = new azure.core.ResourceGroup("example", { + * name: "example-rg", + * location: "east us", + * }); + * const exampleAnalyticsWorkspace = new azure.operationalinsights.AnalyticsWorkspace("example", { + * name: "example-law", + * location: example.location, + * resourceGroupName: example.name, + * sku: "PerGB2018", + * retentionInDays: 30, + * }); + * const exampleLogAnalyticsWorkspaceOnboarding = new azure.sentinel.LogAnalyticsWorkspaceOnboarding("example", {workspaceId: exampleAnalyticsWorkspace.id}); + * const exampleThreatIntelligenceIndicator = new azure.sentinel.ThreatIntelligenceIndicator("example", { + * 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/nodejs/stack/hciDeploymentSetting.ts b/sdk/nodejs/stack/hciDeploymentSetting.ts new file mode 100644 index 0000000000..06df615a40 --- /dev/null +++ b/sdk/nodejs/stack/hciDeploymentSetting.ts @@ -0,0 +1,152 @@ +// *** 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! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../types/input"; +import * as outputs from "../types/output"; +import * as utilities from "../utilities"; + +/** + * 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 + * ``` + */ +export class HciDeploymentSetting extends pulumi.CustomResource { + /** + * Get an existing HciDeploymentSetting resource's state with the given name, ID, and optional extra + * properties used to qualify the lookup. + * + * @param name The _unique_ name of the resulting resource. + * @param id The _unique_ provider ID of the resource to lookup. + * @param state Any extra arguments used during the lookup. + * @param opts Optional settings to control the behavior of the CustomResource. + */ + public static get(name: string, id: pulumi.Input, state?: HciDeploymentSettingState, opts?: pulumi.CustomResourceOptions): HciDeploymentSetting { + return new HciDeploymentSetting(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'azure:stack/hciDeploymentSetting:HciDeploymentSetting'; + + /** + * Returns true if the given object is an instance of HciDeploymentSetting. This is designed to work even + * when multiple copies of the Pulumi SDK have been loaded into the same process. + */ + public static isInstance(obj: any): obj is HciDeploymentSetting { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === HciDeploymentSetting.__pulumiType; + } + + /** + * 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 readonly arcResourceIds!: pulumi.Output; + /** + * One or more `scaleUnit` blocks as defined below. Changing this forces a new Stack HCI Deployment Setting to be created. + */ + public readonly scaleUnits!: pulumi.Output; + /** + * The ID of the Azure Stack HCI cluster. Changing this forces a new Stack HCI Deployment Setting to be created. + */ + public readonly stackHciClusterId!: pulumi.Output; + /** + * 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. + */ + public readonly version!: pulumi.Output; + + /** + * Create a HciDeploymentSetting resource with the given unique name, arguments, and options. + * + * @param name The _unique_ name of the resource. + * @param args The arguments to use to populate this resource's properties. + * @param opts A bag of options that control this resource's behavior. + */ + constructor(name: string, args: HciDeploymentSettingArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: HciDeploymentSettingArgs | HciDeploymentSettingState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as HciDeploymentSettingState | undefined; + resourceInputs["arcResourceIds"] = state ? state.arcResourceIds : undefined; + resourceInputs["scaleUnits"] = state ? state.scaleUnits : undefined; + resourceInputs["stackHciClusterId"] = state ? state.stackHciClusterId : undefined; + resourceInputs["version"] = state ? state.version : undefined; + } else { + const args = argsOrState as HciDeploymentSettingArgs | undefined; + if ((!args || args.arcResourceIds === undefined) && !opts.urn) { + throw new Error("Missing required property 'arcResourceIds'"); + } + if ((!args || args.scaleUnits === undefined) && !opts.urn) { + throw new Error("Missing required property 'scaleUnits'"); + } + if ((!args || args.stackHciClusterId === undefined) && !opts.urn) { + throw new Error("Missing required property 'stackHciClusterId'"); + } + if ((!args || args.version === undefined) && !opts.urn) { + throw new Error("Missing required property 'version'"); + } + resourceInputs["arcResourceIds"] = args ? args.arcResourceIds : undefined; + resourceInputs["scaleUnits"] = args ? args.scaleUnits : undefined; + resourceInputs["stackHciClusterId"] = args ? args.stackHciClusterId : undefined; + resourceInputs["version"] = args ? args.version : undefined; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(HciDeploymentSetting.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering HciDeploymentSetting resources. + */ +export interface HciDeploymentSettingState { + /** + * 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. + */ + arcResourceIds?: pulumi.Input[]>; + /** + * One or more `scaleUnit` blocks as defined below. Changing this forces a new Stack HCI Deployment Setting to be created. + */ + scaleUnits?: pulumi.Input[]>; + /** + * The ID of the Azure Stack HCI cluster. Changing this forces a new Stack HCI Deployment Setting to be created. + */ + stackHciClusterId?: pulumi.Input; + /** + * 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. + */ + version?: pulumi.Input; +} + +/** + * The set of arguments for constructing a HciDeploymentSetting resource. + */ +export interface HciDeploymentSettingArgs { + /** + * 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. + */ + arcResourceIds: pulumi.Input[]>; + /** + * One or more `scaleUnit` blocks as defined below. Changing this forces a new Stack HCI Deployment Setting to be created. + */ + scaleUnits: pulumi.Input[]>; + /** + * The ID of the Azure Stack HCI cluster. Changing this forces a new Stack HCI Deployment Setting to be created. + */ + stackHciClusterId: pulumi.Input; + /** + * 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. + */ + version: pulumi.Input; +} diff --git a/sdk/nodejs/stack/hciStoragePath.ts b/sdk/nodejs/stack/hciStoragePath.ts new file mode 100644 index 0000000000..a74bfeec8f --- /dev/null +++ b/sdk/nodejs/stack/hciStoragePath.ts @@ -0,0 +1,193 @@ +// *** 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! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as utilities from "../utilities"; + +/** + * Manages an Azure Stack HCI Storage Path. + * + * ## Example Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as azure from "@pulumi/azure"; + * + * const example = new azure.core.ResourceGroup("example", { + * name: "example-rg", + * location: "West Europe", + * }); + * const exampleHciStoragePath = new azure.stack.HciStoragePath("example", { + * name: "example-sp", + * resourceGroupName: example.name, + * location: example.location, + * customLocationId: "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ExtendedLocation/customLocations/cl1", + * path: "C:\\ClusterStorage\\UserStorage_2\\sp-example", + * tags: { + * foo: "bar", + * }, + * }); + * ``` + * + * ## Import + * + * Azure Stack HCI Storage Paths can be imported using the `resource id`, e.g. + * + * ```sh + * $ pulumi import azure:stack/hciStoragePath:HciStoragePath example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.AzureStackHCI/storageContainers/storage1 + * ``` + */ +export class HciStoragePath extends pulumi.CustomResource { + /** + * Get an existing HciStoragePath resource's state with the given name, ID, and optional extra + * properties used to qualify the lookup. + * + * @param name The _unique_ name of the resulting resource. + * @param id The _unique_ provider ID of the resource to lookup. + * @param state Any extra arguments used during the lookup. + * @param opts Optional settings to control the behavior of the CustomResource. + */ + public static get(name: string, id: pulumi.Input, state?: HciStoragePathState, opts?: pulumi.CustomResourceOptions): HciStoragePath { + return new HciStoragePath(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'azure:stack/hciStoragePath:HciStoragePath'; + + /** + * Returns true if the given object is an instance of HciStoragePath. This is designed to work even + * when multiple copies of the Pulumi SDK have been loaded into the same process. + */ + public static isInstance(obj: any): obj is HciStoragePath { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === HciStoragePath.__pulumiType; + } + + /** + * The ID of Custom Location where the Azure Stack HCI Storage Path should exist. Changing this forces a new resource to be created. + */ + public readonly customLocationId!: pulumi.Output; + /** + * The Azure Region where the Azure Stack HCI Storage Path should exist. Changing this forces a new resource to be created. + */ + public readonly location!: pulumi.Output; + /** + * The name which should be used for this Azure Stack HCI Storage Path. Changing this forces a new resource to be created. + */ + public readonly name!: pulumi.Output; + /** + * The file path on the disk to create the Storage Path. Changing this forces a new resource to be created. + */ + public readonly path!: pulumi.Output; + /** + * The name of the Resource Group where the Azure Stack HCI Storage Path should exist. Changing this forces a new resource to be created. + */ + public readonly resourceGroupName!: pulumi.Output; + /** + * A mapping of tags which should be assigned to the Azure Stack HCI Storage Path. + */ + public readonly tags!: pulumi.Output<{[key: string]: string} | undefined>; + + /** + * Create a HciStoragePath resource with the given unique name, arguments, and options. + * + * @param name The _unique_ name of the resource. + * @param args The arguments to use to populate this resource's properties. + * @param opts A bag of options that control this resource's behavior. + */ + constructor(name: string, args: HciStoragePathArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: HciStoragePathArgs | HciStoragePathState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as HciStoragePathState | undefined; + resourceInputs["customLocationId"] = state ? state.customLocationId : undefined; + resourceInputs["location"] = state ? state.location : undefined; + resourceInputs["name"] = state ? state.name : undefined; + resourceInputs["path"] = state ? state.path : undefined; + resourceInputs["resourceGroupName"] = state ? state.resourceGroupName : undefined; + resourceInputs["tags"] = state ? state.tags : undefined; + } else { + const args = argsOrState as HciStoragePathArgs | undefined; + if ((!args || args.customLocationId === undefined) && !opts.urn) { + throw new Error("Missing required property 'customLocationId'"); + } + if ((!args || args.path === undefined) && !opts.urn) { + throw new Error("Missing required property 'path'"); + } + if ((!args || args.resourceGroupName === undefined) && !opts.urn) { + throw new Error("Missing required property 'resourceGroupName'"); + } + resourceInputs["customLocationId"] = args ? args.customLocationId : undefined; + resourceInputs["location"] = args ? args.location : undefined; + resourceInputs["name"] = args ? args.name : undefined; + resourceInputs["path"] = args ? args.path : undefined; + resourceInputs["resourceGroupName"] = args ? args.resourceGroupName : undefined; + resourceInputs["tags"] = args ? args.tags : undefined; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(HciStoragePath.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering HciStoragePath resources. + */ +export interface HciStoragePathState { + /** + * The ID of Custom Location where the Azure Stack HCI Storage Path should exist. Changing this forces a new resource to be created. + */ + customLocationId?: pulumi.Input; + /** + * The Azure Region where the Azure Stack HCI Storage Path should exist. Changing this forces a new resource to be created. + */ + location?: pulumi.Input; + /** + * The name which should be used for this Azure Stack HCI Storage Path. Changing this forces a new resource to be created. + */ + name?: pulumi.Input; + /** + * The file path on the disk to create the Storage Path. Changing this forces a new resource to be created. + */ + path?: pulumi.Input; + /** + * The name of the Resource Group where the Azure Stack HCI Storage Path should exist. Changing this forces a new resource to be created. + */ + resourceGroupName?: pulumi.Input; + /** + * A mapping of tags which should be assigned to the Azure Stack HCI Storage Path. + */ + tags?: pulumi.Input<{[key: string]: pulumi.Input}>; +} + +/** + * The set of arguments for constructing a HciStoragePath resource. + */ +export interface HciStoragePathArgs { + /** + * The ID of Custom Location where the Azure Stack HCI Storage Path should exist. Changing this forces a new resource to be created. + */ + customLocationId: pulumi.Input; + /** + * The Azure Region where the Azure Stack HCI Storage Path should exist. Changing this forces a new resource to be created. + */ + location?: pulumi.Input; + /** + * The name which should be used for this Azure Stack HCI Storage Path. Changing this forces a new resource to be created. + */ + name?: pulumi.Input; + /** + * The file path on the disk to create the Storage Path. Changing this forces a new resource to be created. + */ + path: pulumi.Input; + /** + * The name of the Resource Group where the Azure Stack HCI Storage Path should exist. Changing this forces a new resource to be created. + */ + resourceGroupName: pulumi.Input; + /** + * A mapping of tags which should be assigned to the Azure Stack HCI Storage Path. + */ + tags?: pulumi.Input<{[key: string]: pulumi.Input}>; +} diff --git a/sdk/nodejs/stack/index.ts b/sdk/nodejs/stack/index.ts index dd757efacc..c7950d9abb 100644 --- a/sdk/nodejs/stack/index.ts +++ b/sdk/nodejs/stack/index.ts @@ -15,11 +15,21 @@ export type HciCluster = import("./hciCluster").HciCluster; export const HciCluster: typeof import("./hciCluster").HciCluster = null as any; utilities.lazyLoad(exports, ["HciCluster"], () => require("./hciCluster")); +export { HciDeploymentSettingArgs, HciDeploymentSettingState } from "./hciDeploymentSetting"; +export type HciDeploymentSetting = import("./hciDeploymentSetting").HciDeploymentSetting; +export const HciDeploymentSetting: typeof import("./hciDeploymentSetting").HciDeploymentSetting = null as any; +utilities.lazyLoad(exports, ["HciDeploymentSetting"], () => require("./hciDeploymentSetting")); + export { HciLogicalNetworkArgs, HciLogicalNetworkState } from "./hciLogicalNetwork"; export type HciLogicalNetwork = import("./hciLogicalNetwork").HciLogicalNetwork; export const HciLogicalNetwork: typeof import("./hciLogicalNetwork").HciLogicalNetwork = null as any; utilities.lazyLoad(exports, ["HciLogicalNetwork"], () => require("./hciLogicalNetwork")); +export { HciStoragePathArgs, HciStoragePathState } from "./hciStoragePath"; +export type HciStoragePath = import("./hciStoragePath").HciStoragePath; +export const HciStoragePath: typeof import("./hciStoragePath").HciStoragePath = null as any; +utilities.lazyLoad(exports, ["HciStoragePath"], () => require("./hciStoragePath")); + const _module = { version: utilities.getVersion(), @@ -27,12 +37,18 @@ const _module = { switch (type) { case "azure:stack/hciCluster:HciCluster": return new HciCluster(name, undefined, { urn }) + case "azure:stack/hciDeploymentSetting:HciDeploymentSetting": + return new HciDeploymentSetting(name, undefined, { urn }) case "azure:stack/hciLogicalNetwork:HciLogicalNetwork": return new HciLogicalNetwork(name, undefined, { urn }) + case "azure:stack/hciStoragePath:HciStoragePath": + return new HciStoragePath(name, undefined, { urn }) default: throw new Error(`unknown resource type ${type}`); } }, }; pulumi.runtime.registerResourceModule("azure", "stack/hciCluster", _module) +pulumi.runtime.registerResourceModule("azure", "stack/hciDeploymentSetting", _module) pulumi.runtime.registerResourceModule("azure", "stack/hciLogicalNetwork", _module) +pulumi.runtime.registerResourceModule("azure", "stack/hciStoragePath", _module) diff --git a/sdk/nodejs/storage/blob.ts b/sdk/nodejs/storage/blob.ts index d5a05fb859..b4a38d6db2 100644 --- a/sdk/nodejs/storage/blob.ts +++ b/sdk/nodejs/storage/blob.ts @@ -115,7 +115,7 @@ export class Blob extends pulumi.CustomResource { */ public readonly size!: pulumi.Output; /** - * An absolute path to a file on the local system. This field cannot be specified for Append blobs and cannot be specified if `sourceContent` or `sourceUri` is specified. Changing this forces a new resource to be created. + * An absolute path to a file on the local system. This field cannot be specified for Append blobs and cannot be specified if `sourceContent` or `sourceUri` is specified. */ public readonly source!: pulumi.Output; /** @@ -250,7 +250,7 @@ export interface BlobState { */ size?: pulumi.Input; /** - * An absolute path to a file on the local system. This field cannot be specified for Append blobs and cannot be specified if `sourceContent` or `sourceUri` is specified. Changing this forces a new resource to be created. + * An absolute path to a file on the local system. This field cannot be specified for Append blobs and cannot be specified if `sourceContent` or `sourceUri` is specified. */ source?: pulumi.Input; /** @@ -324,7 +324,7 @@ export interface BlobArgs { */ size?: pulumi.Input; /** - * An absolute path to a file on the local system. This field cannot be specified for Append blobs and cannot be specified if `sourceContent` or `sourceUri` is specified. Changing this forces a new resource to be created. + * An absolute path to a file on the local system. This field cannot be specified for Append blobs and cannot be specified if `sourceContent` or `sourceUri` is specified. */ source?: pulumi.Input; /** diff --git a/sdk/nodejs/tsconfig.json b/sdk/nodejs/tsconfig.json index 5532480e0a..94d404572b 100644 --- a/sdk/nodejs/tsconfig.json +++ b/sdk/nodejs/tsconfig.json @@ -18,6 +18,7 @@ "aadb2c/index.ts", "advisor/getRecommendations.ts", "advisor/index.ts", + "advisor/suppression.ts", "analysisservices/index.ts", "analysisservices/server.ts", "apimanagement/api.ts", @@ -615,6 +616,7 @@ "dataprotection/backupPolicyBlobStorage.ts", "dataprotection/backupPolicyDisk.ts", "dataprotection/backupPolicyKubernetesCluster.ts", + "dataprotection/backupPolicyMysqlFlexibleServer.ts", "dataprotection/backupPolicyPostgresql.ts", "dataprotection/backupPolicyPostgresqlFlexibleServer.ts", "dataprotection/backupVault.ts", @@ -847,6 +849,7 @@ "keyvault/keyVault.ts", "keyvault/managedHardwareSecurityModule.ts", "keyvault/managedHardwareSecurityModuleKey.ts", + "keyvault/managedHardwareSecurityModuleKeyRotationPolicy.ts", "keyvault/managedHardwareSecurityModuleRoleAssignment.ts", "keyvault/managedHardwareSecurityModuleRoleDefinition.ts", "keyvault/managedStorageAccount.ts", @@ -1130,6 +1133,7 @@ "network/getVirtualNetworkGateway.ts", "network/getVirtualWan.ts", "network/getVpnGateway.ts", + "network/getVpnServerConfiguration.ts", "network/index.ts", "network/ipgroup.ts", "network/ipgroupCIDR.ts", @@ -1449,7 +1453,9 @@ "siterecovery/vmwareReplicationPolicyAssociation.ts", "stack/getHciCluster.ts", "stack/hciCluster.ts", + "stack/hciDeploymentSetting.ts", "stack/hciLogicalNetwork.ts", + "stack/hciStoragePath.ts", "stack/index.ts", "storage/account.ts", "storage/accountNetworkRules.ts", diff --git a/sdk/nodejs/types/input.ts b/sdk/nodejs/types/input.ts index 44b090bd37..3314547bc7 100644 --- a/sdk/nodejs/types/input.ts +++ b/sdk/nodejs/types/input.ts @@ -21946,7 +21946,7 @@ export namespace containerapp { /** * The suffix string to which this `trafficWeight` applies. * - * > **Note:** `latestRevision` conflicts with `revisionSuffix`, which means you shall either set `latestRevision` to `true` or specify `revisionSuffix`. Especially for creation, there shall only be one `trafficWeight`, with the `latestRevision` set to `true`, and leave the `revisionSuffix` empty. + * > **Note:** If `latestRevision` is `false`, the `revisionSuffix` shall be specified. */ revisionSuffix?: pulumi.Input; } @@ -28842,6 +28842,77 @@ export namespace dataprotection { duration: pulumi.Input; } + export interface BackupPolicyMysqlFlexibleServerDefaultRetentionRule { + /** + * A `lifeCycle` block as defined below. Changing this forces a new resource to be created. + */ + lifeCycles: pulumi.Input[]>; + } + + export interface BackupPolicyMysqlFlexibleServerDefaultRetentionRuleLifeCycle { + /** + * The type of data store. The only possible value is `VaultStore`. Changing this forces a new resource to be created. + */ + dataStoreType: pulumi.Input; + /** + * 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. + */ + duration: pulumi.Input; + } + + export interface BackupPolicyMysqlFlexibleServerRetentionRule { + /** + * A `criteria` block as defined below. Changing this forces a new resource to be created. + */ + criteria: pulumi.Input; + /** + * A `lifeCycle` block as defined below. Changing this forces a new resource to be created. + */ + lifeCycles: pulumi.Input[]>; + /** + * Specifies the name of the retention rule. Changing this forces a new resource to be created. + */ + name: pulumi.Input; + /** + * 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. + */ + priority: pulumi.Input; + } + + export interface 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. + */ + absoluteCriteria?: pulumi.Input; + /** + * Possible values are `Monday`, `Tuesday`, `Thursday`, `Friday`, `Saturday` and `Sunday`. Changing this forces a new resource to be created. + */ + daysOfWeeks?: pulumi.Input[]>; + /** + * 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. + */ + monthsOfYears?: pulumi.Input[]>; + /** + * Specifies a list of backup times for backup in the `RFC3339` format. Changing this forces a new resource to be created. + */ + scheduledBackupTimes?: pulumi.Input[]>; + /** + * Possible values are `First`, `Second`, `Third`, `Fourth` and `Last`. Changing this forces a new resource to be created. + */ + weeksOfMonths?: pulumi.Input[]>; + } + + export interface BackupPolicyMysqlFlexibleServerRetentionRuleLifeCycle { + /** + * The type of data store. The only possible value is `VaultStore`. Changing this forces a new resource to be created. + */ + dataStoreType: pulumi.Input; + /** + * 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. + */ + duration: pulumi.Input; + } + export interface BackupPolicyPostgresqlFlexibleServerDefaultRetentionRule { /** * A `lifeCycle` block as defined below. Changing this forces a new resource to be created. @@ -48588,6 +48659,299 @@ export namespace stack { type: pulumi.Input; } + export interface HciDeploymentSettingScaleUnit { + /** + * 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. + */ + activeDirectoryOrganizationalUnitPath: pulumi.Input; + /** + * 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. + */ + bitlockerBootVolumeEnabled?: pulumi.Input; + /** + * 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. + */ + bitlockerDataVolumeEnabled?: pulumi.Input; + /** + * A `cluster` block as defined above. Changing this forces a new Stack HCI Deployment Setting to be created. + */ + cluster: pulumi.Input; + /** + * 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. + */ + credentialGuardEnabled?: pulumi.Input; + /** + * Specifies the FQDN for deploying cluster. Changing this forces a new Stack HCI Deployment Setting to be created. + */ + domainFqdn: pulumi.Input; + /** + * 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. + */ + driftControlEnabled?: pulumi.Input; + /** + * 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. + */ + drtmProtectionEnabled?: pulumi.Input; + /** + * 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. + */ + episodicDataUploadEnabled?: pulumi.Input; + /** + * 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. + */ + euLocationEnabled?: pulumi.Input; + /** + * A `hostNetwork` block as defined above. Changing this forces a new Stack HCI Deployment Setting to be created. + */ + hostNetwork: pulumi.Input; + /** + * 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. + */ + hvciProtectionEnabled?: pulumi.Input; + /** + * One or more `infrastructureNetwork` blocks as defined above. Changing this forces a new Stack HCI Deployment Setting to be created. + */ + infrastructureNetworks: pulumi.Input[]>; + /** + * 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. + */ + namePrefix: pulumi.Input; + /** + * A `optionalService` block as defined above. Changing this forces a new Stack HCI Deployment Setting to be created. + */ + optionalService: pulumi.Input; + /** + * One or more `physicalNode` blocks as defined above. Changing this forces a new Stack HCI Deployment Setting to be created. + */ + physicalNodes: pulumi.Input[]>; + /** + * The URI to the Key Vault or secret store. Changing this forces a new Stack HCI Deployment Setting to be created. + */ + secretsLocation: pulumi.Input; + /** + * 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. + */ + sideChannelMitigationEnabled?: pulumi.Input; + /** + * 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. + */ + smbClusterEncryptionEnabled?: pulumi.Input; + /** + * 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. + */ + smbSigningEnabled?: pulumi.Input; + /** + * A `storage` block as defined below. Changing this forces a new Stack HCI Deployment Setting to be created. + */ + storage: pulumi.Input; + /** + * 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. + */ + streamingDataClientEnabled?: pulumi.Input; + /** + * 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. + */ + wdacEnabled?: pulumi.Input; + } + + export interface HciDeploymentSettingScaleUnitCluster { + /** + * Specifies the Azure blob service endpoint, for example, `core.windows.net`. Changing this forces a new Stack HCI Deployment Setting to be created. + */ + azureServiceEndpoint: pulumi.Input; + /** + * 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. + */ + cloudAccountName: pulumi.Input; + /** + * 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. + */ + name: pulumi.Input; + /** + * 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. + */ + witnessPath: pulumi.Input; + /** + * Specifies the type of the witness. Possible values are `Cloud`, `FileShare`. Changing this forces a new Stack HCI Deployment Setting to be created. + */ + witnessType: pulumi.Input; + } + + export interface HciDeploymentSettingScaleUnitHostNetwork { + /** + * One or more `intent` blocks as defined below. Changing this forces a new Stack HCI Deployment Setting to be created. + */ + intents: pulumi.Input[]>; + /** + * 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. + */ + storageAutoIpEnabled?: pulumi.Input; + /** + * 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. + */ + storageConnectivitySwitchlessEnabled?: pulumi.Input; + /** + * One or more `storageNetwork` blocks as defined below. Changing this forces a new Stack HCI Deployment Setting to be created. + */ + storageNetworks: pulumi.Input[]>; + } + + export interface HciDeploymentSettingScaleUnitHostNetworkIntent { + /** + * A `adapterPropertyOverride` block as defined above. Changing this forces a new Stack HCI Deployment Setting to be created. + */ + adapterPropertyOverride?: pulumi.Input; + /** + * 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. + */ + adapterPropertyOverrideEnabled?: pulumi.Input; + /** + * 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. + */ + adapters: pulumi.Input[]>; + /** + * Specifies the name of the intent. Changing this forces a new Stack HCI Deployment Setting to be created. + */ + name: pulumi.Input; + /** + * A `qosPolicyOverride` block as defined below. Changing this forces a new Stack HCI Deployment Setting to be created. + */ + qosPolicyOverride?: pulumi.Input; + /** + * 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. + */ + qosPolicyOverrideEnabled?: pulumi.Input; + /** + * 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. + */ + trafficTypes: pulumi.Input[]>; + /** + * A `virtualSwitchConfigurationOverride` block as defined below. Changing this forces a new Stack HCI Deployment Setting to be created. + */ + virtualSwitchConfigurationOverride?: pulumi.Input; + /** + * 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. + */ + virtualSwitchConfigurationOverrideEnabled?: pulumi.Input; + } + + export interface HciDeploymentSettingScaleUnitHostNetworkIntentAdapterPropertyOverride { + /** + * 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. + */ + jumboPacket?: pulumi.Input; + /** + * 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. + */ + networkDirect?: pulumi.Input; + /** + * 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. + */ + networkDirectTechnology?: pulumi.Input; + } + + export interface HciDeploymentSettingScaleUnitHostNetworkIntentQosPolicyOverride { + /** + * 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. + */ + bandwidthPercentageSmb?: pulumi.Input; + /** + * 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. + */ + priorityValue8021ActionCluster?: pulumi.Input; + /** + * 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. + */ + priorityValue8021ActionSmb?: pulumi.Input; + } + + export interface HciDeploymentSettingScaleUnitHostNetworkIntentVirtualSwitchConfigurationOverride { + /** + * Specifies the IoV enable status for Virtual Switch. Changing this forces a new Stack HCI Deployment Setting to be created. + */ + enableIov?: pulumi.Input; + /** + * Specifies the load balancing algorithm for Virtual Switch. Changing this forces a new Stack HCI Deployment Setting to be created. + */ + loadBalancingAlgorithm?: pulumi.Input; + } + + export interface HciDeploymentSettingScaleUnitHostNetworkStorageNetwork { + /** + * The name of the storage network. Changing this forces a new Stack HCI Deployment Setting to be created. + */ + name: pulumi.Input; + /** + * The name of the network adapter. Changing this forces a new Stack HCI Deployment Setting to be created. + */ + networkAdapterName: pulumi.Input; + /** + * 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. + */ + vlanId: pulumi.Input; + } + + export interface HciDeploymentSettingScaleUnitInfrastructureNetwork { + /** + * 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. + * + * > **NOTE:** If `dhcpEnabled` is set to `false`, the deployment will use static IPs. If set to `true`, the gateway and DNS servers are not required. + */ + dhcpEnabled?: pulumi.Input; + /** + * 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. + */ + dnsServers: pulumi.Input[]>; + /** + * 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. + */ + gateway: pulumi.Input; + /** + * One or more `ipPool` blocks as defined below. Changing this forces a new Stack HCI Deployment Setting to be created. + */ + ipPools: pulumi.Input[]>; + /** + * Specifies the subnet mask that matches the provided IP address space. Changing this forces a new Stack HCI Deployment Setting to be created. + */ + subnetMask: pulumi.Input; + } + + export interface HciDeploymentSettingScaleUnitInfrastructureNetworkIpPool { + /** + * 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. + */ + endingAddress: pulumi.Input; + /** + * 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. + */ + startingAddress: pulumi.Input; + } + + export interface HciDeploymentSettingScaleUnitOptionalService { + /** + * 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. + */ + customLocation: pulumi.Input; + } + + export interface HciDeploymentSettingScaleUnitPhysicalNode { + /** + * 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. + */ + ipv4Address: pulumi.Input; + /** + * 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. + */ + name: pulumi.Input; + } + + export interface HciDeploymentSettingScaleUnitStorage { + /** + * 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. + */ + configurationMode: pulumi.Input; + } + export interface HciLogicalNetworkSubnet { /** * The address prefix in CIDR notation. Changing this forces a new resource to be created. @@ -49725,7 +50089,7 @@ export namespace storage { */ copyBlobsCreatedAfter?: pulumi.Input; /** - * The destination storage container name. Changing this forces a new Storage Object Replication to be created. + * The destination storage container name. */ destinationContainerName: pulumi.Input; /** @@ -49734,7 +50098,7 @@ export namespace storage { filterOutBlobsWithPrefixes?: pulumi.Input[]>; name?: pulumi.Input; /** - * The source storage container name. Changing this forces a new Storage Object Replication to be created. + * The source storage container name. */ sourceContainerName: pulumi.Input; } diff --git a/sdk/nodejs/types/output.ts b/sdk/nodejs/types/output.ts index b463b7a378..c49a5b002a 100644 --- a/sdk/nodejs/types/output.ts +++ b/sdk/nodejs/types/output.ts @@ -29208,7 +29208,7 @@ export namespace containerapp { /** * The suffix string to which this `trafficWeight` applies. * - * > **Note:** `latestRevision` conflicts with `revisionSuffix`, which means you shall either set `latestRevision` to `true` or specify `revisionSuffix`. Especially for creation, there shall only be one `trafficWeight`, with the `latestRevision` set to `true`, and leave the `revisionSuffix` empty. + * > **Note:** If `latestRevision` is `false`, the `revisionSuffix` shall be specified. */ revisionSuffix?: string; } @@ -37549,6 +37549,77 @@ export namespace dataprotection { duration: string; } + export interface BackupPolicyMysqlFlexibleServerDefaultRetentionRule { + /** + * A `lifeCycle` block as defined below. Changing this forces a new resource to be created. + */ + lifeCycles: outputs.dataprotection.BackupPolicyMysqlFlexibleServerDefaultRetentionRuleLifeCycle[]; + } + + export interface BackupPolicyMysqlFlexibleServerDefaultRetentionRuleLifeCycle { + /** + * The type of data store. The only possible value is `VaultStore`. Changing this forces a new resource to be created. + */ + dataStoreType: string; + /** + * 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. + */ + duration: string; + } + + export interface BackupPolicyMysqlFlexibleServerRetentionRule { + /** + * A `criteria` block as defined below. Changing this forces a new resource to be created. + */ + criteria: outputs.dataprotection.BackupPolicyMysqlFlexibleServerRetentionRuleCriteria; + /** + * A `lifeCycle` block as defined below. Changing this forces a new resource to be created. + */ + lifeCycles: outputs.dataprotection.BackupPolicyMysqlFlexibleServerRetentionRuleLifeCycle[]; + /** + * Specifies the name of the retention rule. Changing this forces a new resource to be created. + */ + name: string; + /** + * 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. + */ + priority: number; + } + + export interface 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. + */ + absoluteCriteria?: string; + /** + * Possible values are `Monday`, `Tuesday`, `Thursday`, `Friday`, `Saturday` and `Sunday`. Changing this forces a new resource to be created. + */ + daysOfWeeks?: string[]; + /** + * 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. + */ + monthsOfYears?: string[]; + /** + * Specifies a list of backup times for backup in the `RFC3339` format. Changing this forces a new resource to be created. + */ + scheduledBackupTimes?: string[]; + /** + * Possible values are `First`, `Second`, `Third`, `Fourth` and `Last`. Changing this forces a new resource to be created. + */ + weeksOfMonths?: string[]; + } + + export interface BackupPolicyMysqlFlexibleServerRetentionRuleLifeCycle { + /** + * The type of data store. The only possible value is `VaultStore`. Changing this forces a new resource to be created. + */ + dataStoreType: string; + /** + * 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. + */ + duration: string; + } + export interface BackupPolicyPostgresqlFlexibleServerDefaultRetentionRule { /** * A `lifeCycle` block as defined below. Changing this forces a new resource to be created. @@ -55660,6 +55731,130 @@ export namespace network { tunnelIps: string[]; } + export interface GetVpnServerConfigurationAzureActiveDirectoryAuthentication { + /** + * The Audience which should be used for authentication. + */ + audience: string; + /** + * The Issuer which should be used for authentication. + */ + issuer: string; + /** + * The Tenant which should be used for authentication. + */ + tenant: string; + } + + export interface GetVpnServerConfigurationClientRevokedCertificate { + /** + * The Name of the VPN Server Configuration. + */ + name: string; + /** + * The Thumbprint of the Certificate. + */ + thumbprint: string; + } + + export interface GetVpnServerConfigurationClientRootCertificate { + /** + * The Name of the VPN Server Configuration. + */ + name: string; + /** + * The Public Key Data associated with the Certificate. + */ + publicCertData: string; + } + + export interface GetVpnServerConfigurationIpsecPolicy { + /** + * The DH Group, used in IKE Phase 1. + */ + dhGroup: string; + /** + * The IKE encryption algorithm, used for IKE Phase 2. + */ + ikeEncryption: string; + /** + * The IKE encryption integrity algorithm, used for IKE Phase 2. + */ + ikeIntegrity: string; + /** + * The IPSec encryption algorithm, used for IKE phase 1. + */ + ipsecEncryption: string; + /** + * The IPSec integrity algorithm, used for IKE phase 1. + */ + ipsecIntegrity: string; + /** + * The Pfs Group, used in IKE Phase 2. + */ + pfsGroup: string; + /** + * The IPSec Security Association payload size in KB for a Site-to-Site VPN tunnel. + */ + saDataSizeKilobytes: number; + /** + * The IPSec Security Association lifetime in seconds for a Site-to-Site VPN tunnel. + */ + saLifetimeSeconds: number; + } + + export interface GetVpnServerConfigurationRadius { + /** + * One or more `clientRootCertificate` blocks as defined below. + */ + clientRootCertificates: outputs.network.GetVpnServerConfigurationRadiusClientRootCertificate[]; + /** + * One or more `serverRootCertificate` blocks as defined below. + */ + serverRootCertificates: outputs.network.GetVpnServerConfigurationRadiusServerRootCertificate[]; + /** + * One or more `server` blocks as defined below. + */ + servers: outputs.network.GetVpnServerConfigurationRadiusServer[]; + } + + export interface GetVpnServerConfigurationRadiusClientRootCertificate { + /** + * The Name of the VPN Server Configuration. + */ + name: string; + /** + * The Thumbprint of the Certificate. + */ + thumbprint: string; + } + + export interface GetVpnServerConfigurationRadiusServer { + /** + * The Address of the Radius Server. + */ + address: string; + /** + * The Score of the Radius Server determines the priority of the server. + */ + score: number; + /** + * The Secret used to communicate with the Radius Server. + */ + secret: string; + } + + export interface GetVpnServerConfigurationRadiusServerRootCertificate { + /** + * The Name of the VPN Server Configuration. + */ + name: string; + /** + * The Public Key Data associated with the Certificate. + */ + publicCertData: string; + } + export interface LocalNetworkGatewayBgpSettings { /** * The BGP speaker's ASN. @@ -62465,6 +62660,299 @@ export namespace stack { type: string; } + export interface HciDeploymentSettingScaleUnit { + /** + * 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. + */ + activeDirectoryOrganizationalUnitPath: string; + /** + * 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. + */ + bitlockerBootVolumeEnabled?: boolean; + /** + * 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. + */ + bitlockerDataVolumeEnabled?: boolean; + /** + * A `cluster` block as defined above. Changing this forces a new Stack HCI Deployment Setting to be created. + */ + cluster: outputs.stack.HciDeploymentSettingScaleUnitCluster; + /** + * 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. + */ + credentialGuardEnabled?: boolean; + /** + * Specifies the FQDN for deploying cluster. Changing this forces a new Stack HCI Deployment Setting to be created. + */ + domainFqdn: string; + /** + * 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. + */ + driftControlEnabled?: boolean; + /** + * 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. + */ + drtmProtectionEnabled?: boolean; + /** + * 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. + */ + episodicDataUploadEnabled?: boolean; + /** + * 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. + */ + euLocationEnabled?: boolean; + /** + * A `hostNetwork` block as defined above. Changing this forces a new Stack HCI Deployment Setting to be created. + */ + hostNetwork: outputs.stack.HciDeploymentSettingScaleUnitHostNetwork; + /** + * 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. + */ + hvciProtectionEnabled?: boolean; + /** + * One or more `infrastructureNetwork` blocks as defined above. Changing this forces a new Stack HCI Deployment Setting to be created. + */ + infrastructureNetworks: outputs.stack.HciDeploymentSettingScaleUnitInfrastructureNetwork[]; + /** + * 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. + */ + namePrefix: string; + /** + * A `optionalService` block as defined above. Changing this forces a new Stack HCI Deployment Setting to be created. + */ + optionalService: outputs.stack.HciDeploymentSettingScaleUnitOptionalService; + /** + * One or more `physicalNode` blocks as defined above. Changing this forces a new Stack HCI Deployment Setting to be created. + */ + physicalNodes: outputs.stack.HciDeploymentSettingScaleUnitPhysicalNode[]; + /** + * The URI to the Key Vault or secret store. Changing this forces a new Stack HCI Deployment Setting to be created. + */ + secretsLocation: string; + /** + * 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. + */ + sideChannelMitigationEnabled?: boolean; + /** + * 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. + */ + smbClusterEncryptionEnabled?: boolean; + /** + * 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. + */ + smbSigningEnabled?: boolean; + /** + * A `storage` block as defined below. Changing this forces a new Stack HCI Deployment Setting to be created. + */ + storage: outputs.stack.HciDeploymentSettingScaleUnitStorage; + /** + * 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. + */ + streamingDataClientEnabled?: boolean; + /** + * 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. + */ + wdacEnabled?: boolean; + } + + export interface HciDeploymentSettingScaleUnitCluster { + /** + * Specifies the Azure blob service endpoint, for example, `core.windows.net`. Changing this forces a new Stack HCI Deployment Setting to be created. + */ + azureServiceEndpoint: string; + /** + * 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. + */ + cloudAccountName: string; + /** + * 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. + */ + name: string; + /** + * 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. + */ + witnessPath: string; + /** + * Specifies the type of the witness. Possible values are `Cloud`, `FileShare`. Changing this forces a new Stack HCI Deployment Setting to be created. + */ + witnessType: string; + } + + export interface HciDeploymentSettingScaleUnitHostNetwork { + /** + * One or more `intent` blocks as defined below. Changing this forces a new Stack HCI Deployment Setting to be created. + */ + intents: outputs.stack.HciDeploymentSettingScaleUnitHostNetworkIntent[]; + /** + * 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. + */ + storageAutoIpEnabled?: boolean; + /** + * 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. + */ + storageConnectivitySwitchlessEnabled?: boolean; + /** + * One or more `storageNetwork` blocks as defined below. Changing this forces a new Stack HCI Deployment Setting to be created. + */ + storageNetworks: outputs.stack.HciDeploymentSettingScaleUnitHostNetworkStorageNetwork[]; + } + + export interface HciDeploymentSettingScaleUnitHostNetworkIntent { + /** + * A `adapterPropertyOverride` block as defined above. Changing this forces a new Stack HCI Deployment Setting to be created. + */ + adapterPropertyOverride?: outputs.stack.HciDeploymentSettingScaleUnitHostNetworkIntentAdapterPropertyOverride; + /** + * 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. + */ + adapterPropertyOverrideEnabled?: boolean; + /** + * 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. + */ + adapters: string[]; + /** + * Specifies the name of the intent. Changing this forces a new Stack HCI Deployment Setting to be created. + */ + name: string; + /** + * A `qosPolicyOverride` block as defined below. Changing this forces a new Stack HCI Deployment Setting to be created. + */ + qosPolicyOverride?: outputs.stack.HciDeploymentSettingScaleUnitHostNetworkIntentQosPolicyOverride; + /** + * 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. + */ + qosPolicyOverrideEnabled?: boolean; + /** + * 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. + */ + trafficTypes: string[]; + /** + * A `virtualSwitchConfigurationOverride` block as defined below. Changing this forces a new Stack HCI Deployment Setting to be created. + */ + virtualSwitchConfigurationOverride?: outputs.stack.HciDeploymentSettingScaleUnitHostNetworkIntentVirtualSwitchConfigurationOverride; + /** + * 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. + */ + virtualSwitchConfigurationOverrideEnabled?: boolean; + } + + export interface HciDeploymentSettingScaleUnitHostNetworkIntentAdapterPropertyOverride { + /** + * 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. + */ + jumboPacket?: string; + /** + * 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. + */ + networkDirect?: string; + /** + * 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. + */ + networkDirectTechnology?: string; + } + + export interface HciDeploymentSettingScaleUnitHostNetworkIntentQosPolicyOverride { + /** + * 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. + */ + bandwidthPercentageSmb?: string; + /** + * 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. + */ + priorityValue8021ActionCluster?: string; + /** + * 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. + */ + priorityValue8021ActionSmb?: string; + } + + export interface HciDeploymentSettingScaleUnitHostNetworkIntentVirtualSwitchConfigurationOverride { + /** + * Specifies the IoV enable status for Virtual Switch. Changing this forces a new Stack HCI Deployment Setting to be created. + */ + enableIov?: string; + /** + * Specifies the load balancing algorithm for Virtual Switch. Changing this forces a new Stack HCI Deployment Setting to be created. + */ + loadBalancingAlgorithm?: string; + } + + export interface HciDeploymentSettingScaleUnitHostNetworkStorageNetwork { + /** + * The name of the storage network. Changing this forces a new Stack HCI Deployment Setting to be created. + */ + name: string; + /** + * The name of the network adapter. Changing this forces a new Stack HCI Deployment Setting to be created. + */ + networkAdapterName: string; + /** + * 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. + */ + vlanId: string; + } + + export interface HciDeploymentSettingScaleUnitInfrastructureNetwork { + /** + * 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. + * + * > **NOTE:** If `dhcpEnabled` is set to `false`, the deployment will use static IPs. If set to `true`, the gateway and DNS servers are not required. + */ + dhcpEnabled?: boolean; + /** + * 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. + */ + dnsServers: string[]; + /** + * 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. + */ + gateway: string; + /** + * One or more `ipPool` blocks as defined below. Changing this forces a new Stack HCI Deployment Setting to be created. + */ + ipPools: outputs.stack.HciDeploymentSettingScaleUnitInfrastructureNetworkIpPool[]; + /** + * Specifies the subnet mask that matches the provided IP address space. Changing this forces a new Stack HCI Deployment Setting to be created. + */ + subnetMask: string; + } + + export interface HciDeploymentSettingScaleUnitInfrastructureNetworkIpPool { + /** + * 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. + */ + endingAddress: string; + /** + * 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. + */ + startingAddress: string; + } + + export interface HciDeploymentSettingScaleUnitOptionalService { + /** + * 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. + */ + customLocation: string; + } + + export interface HciDeploymentSettingScaleUnitPhysicalNode { + /** + * 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. + */ + ipv4Address: string; + /** + * 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. + */ + name: string; + } + + export interface HciDeploymentSettingScaleUnitStorage { + /** + * 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. + */ + configurationMode: string; + } + export interface HciLogicalNetworkSubnet { /** * The address prefix in CIDR notation. Changing this forces a new resource to be created. @@ -63748,7 +64236,7 @@ export namespace storage { */ copyBlobsCreatedAfter?: string; /** - * The destination storage container name. Changing this forces a new Storage Object Replication to be created. + * The destination storage container name. */ destinationContainerName: string; /** @@ -63757,7 +64245,7 @@ export namespace storage { filterOutBlobsWithPrefixes?: string[]; name: string; /** - * The source storage container name. Changing this forces a new Storage Object Replication to be created. + * The source storage container name. */ sourceContainerName: string; } diff --git a/sdk/python/pulumi_azure/__init__.py b/sdk/python/pulumi_azure/__init__.py index da934dcc74..835ae19c1f 100644 --- a/sdk/python/pulumi_azure/__init__.py +++ b/sdk/python/pulumi_azure/__init__.py @@ -407,6 +407,14 @@ "azure:aadb2c/directory:Directory": "Directory" } }, + { + "pkg": "azure", + "mod": "advisor/suppression", + "fqn": "pulumi_azure.advisor", + "classes": { + "azure:advisor/suppression:Suppression": "Suppression" + } + }, { "pkg": "azure", "mod": "analysisservices/server", @@ -3783,6 +3791,14 @@ "azure:dataprotection/backupPolicyKubernetesCluster:BackupPolicyKubernetesCluster": "BackupPolicyKubernetesCluster" } }, + { + "pkg": "azure", + "mod": "dataprotection/backupPolicyMysqlFlexibleServer", + "fqn": "pulumi_azure.dataprotection", + "classes": { + "azure:dataprotection/backupPolicyMysqlFlexibleServer:BackupPolicyMysqlFlexibleServer": "BackupPolicyMysqlFlexibleServer" + } + }, { "pkg": "azure", "mod": "dataprotection/backupPolicyPostgresql", @@ -4895,6 +4911,14 @@ "azure:keyvault/managedHardwareSecurityModuleKey:ManagedHardwareSecurityModuleKey": "ManagedHardwareSecurityModuleKey" } }, + { + "pkg": "azure", + "mod": "keyvault/managedHardwareSecurityModuleKeyRotationPolicy", + "fqn": "pulumi_azure.keyvault", + "classes": { + "azure:keyvault/managedHardwareSecurityModuleKeyRotationPolicy:ManagedHardwareSecurityModuleKeyRotationPolicy": "ManagedHardwareSecurityModuleKeyRotationPolicy" + } + }, { "pkg": "azure", "mod": "keyvault/managedHardwareSecurityModuleRoleAssignment", @@ -8143,6 +8167,14 @@ "azure:stack/hciCluster:HciCluster": "HciCluster" } }, + { + "pkg": "azure", + "mod": "stack/hciDeploymentSetting", + "fqn": "pulumi_azure.stack", + "classes": { + "azure:stack/hciDeploymentSetting:HciDeploymentSetting": "HciDeploymentSetting" + } + }, { "pkg": "azure", "mod": "stack/hciLogicalNetwork", @@ -8151,6 +8183,14 @@ "azure:stack/hciLogicalNetwork:HciLogicalNetwork": "HciLogicalNetwork" } }, + { + "pkg": "azure", + "mod": "stack/hciStoragePath", + "fqn": "pulumi_azure.stack", + "classes": { + "azure:stack/hciStoragePath:HciStoragePath": "HciStoragePath" + } + }, { "pkg": "azure", "mod": "storage/account", diff --git a/sdk/python/pulumi_azure/advisor/__init__.py b/sdk/python/pulumi_azure/advisor/__init__.py index 343f6620ec..4e813e3140 100644 --- a/sdk/python/pulumi_azure/advisor/__init__.py +++ b/sdk/python/pulumi_azure/advisor/__init__.py @@ -6,4 +6,5 @@ import typing # Export this package's modules as members: from .get_recommendations import * +from .suppression import * from . import outputs diff --git a/sdk/python/pulumi_azure/advisor/suppression.py b/sdk/python/pulumi_azure/advisor/suppression.py new file mode 100644 index 0000000000..6696748473 --- /dev/null +++ b/sdk/python/pulumi_azure/advisor/suppression.py @@ -0,0 +1,367 @@ +# coding=utf-8 +# *** 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! *** + +import copy +import warnings +import sys +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias +from .. import _utilities + +__all__ = ['SuppressionArgs', 'Suppression'] + +@pulumi.input_type +class SuppressionArgs: + def __init__(__self__, *, + recommendation_id: pulumi.Input[str], + resource_id: pulumi.Input[str], + name: Optional[pulumi.Input[str]] = None, + ttl: Optional[pulumi.Input[str]] = None): + """ + The set of arguments for constructing a Suppression resource. + :param pulumi.Input[str] recommendation_id: The ID of the Advisor recommendation to suppress. Changing this forces a new Advisor suppression to be created. + :param pulumi.Input[str] resource_id: The ID of the Resource to suppress the Advisor recommendation for. Changing this forces a new Advisor suppression to be created. + :param pulumi.Input[str] name: The Name which should be used for this Advisor suppression. Changing this forces a new Advisor suppression to be created. + :param pulumi.Input[str] ttl: A optional time to live value. If omitted, the suppression will not expire. Changing this forces a new Advisor suppression to be created. + """ + pulumi.set(__self__, "recommendation_id", recommendation_id) + pulumi.set(__self__, "resource_id", resource_id) + if name is not None: + pulumi.set(__self__, "name", name) + if ttl is not None: + pulumi.set(__self__, "ttl", ttl) + + @property + @pulumi.getter(name="recommendationId") + def recommendation_id(self) -> pulumi.Input[str]: + """ + The ID of the Advisor recommendation to suppress. Changing this forces a new Advisor suppression to be created. + """ + return pulumi.get(self, "recommendation_id") + + @recommendation_id.setter + def recommendation_id(self, value: pulumi.Input[str]): + pulumi.set(self, "recommendation_id", value) + + @property + @pulumi.getter(name="resourceId") + def resource_id(self) -> pulumi.Input[str]: + """ + The ID of the Resource to suppress the Advisor recommendation for. Changing this forces a new Advisor suppression to be created. + """ + return pulumi.get(self, "resource_id") + + @resource_id.setter + def resource_id(self, value: pulumi.Input[str]): + pulumi.set(self, "resource_id", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + The Name which should be used for this Advisor suppression. Changing this forces a new Advisor suppression to be created. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter + def ttl(self) -> Optional[pulumi.Input[str]]: + """ + A optional time to live value. If omitted, the suppression will not expire. Changing this forces a new Advisor suppression to be created. + """ + return pulumi.get(self, "ttl") + + @ttl.setter + def ttl(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "ttl", value) + + +@pulumi.input_type +class _SuppressionState: + def __init__(__self__, *, + name: Optional[pulumi.Input[str]] = None, + recommendation_id: Optional[pulumi.Input[str]] = None, + resource_id: Optional[pulumi.Input[str]] = None, + suppression_id: Optional[pulumi.Input[str]] = None, + ttl: Optional[pulumi.Input[str]] = None): + """ + Input properties used for looking up and filtering Suppression resources. + :param pulumi.Input[str] name: The Name which should be used for this Advisor suppression. Changing this forces a new Advisor suppression to be created. + :param pulumi.Input[str] recommendation_id: The ID of the Advisor recommendation to suppress. Changing this forces a new Advisor suppression to be created. + :param pulumi.Input[str] resource_id: The ID of the Resource to suppress the Advisor recommendation for. Changing this forces a new Advisor suppression to be created. + :param pulumi.Input[str] suppression_id: The GUID of the suppression. + :param pulumi.Input[str] ttl: A optional time to live value. If omitted, the suppression will not expire. Changing this forces a new Advisor suppression to be created. + """ + if name is not None: + pulumi.set(__self__, "name", name) + if recommendation_id is not None: + pulumi.set(__self__, "recommendation_id", recommendation_id) + if resource_id is not None: + pulumi.set(__self__, "resource_id", resource_id) + if suppression_id is not None: + pulumi.set(__self__, "suppression_id", suppression_id) + if ttl is not None: + pulumi.set(__self__, "ttl", ttl) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + The Name which should be used for this Advisor suppression. Changing this forces a new Advisor suppression to be created. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter(name="recommendationId") + def recommendation_id(self) -> Optional[pulumi.Input[str]]: + """ + The ID of the Advisor recommendation to suppress. Changing this forces a new Advisor suppression to be created. + """ + return pulumi.get(self, "recommendation_id") + + @recommendation_id.setter + def recommendation_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "recommendation_id", value) + + @property + @pulumi.getter(name="resourceId") + def resource_id(self) -> Optional[pulumi.Input[str]]: + """ + The ID of the Resource to suppress the Advisor recommendation for. Changing this forces a new Advisor suppression to be created. + """ + return pulumi.get(self, "resource_id") + + @resource_id.setter + def resource_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "resource_id", value) + + @property + @pulumi.getter(name="suppressionId") + def suppression_id(self) -> Optional[pulumi.Input[str]]: + """ + The GUID of the suppression. + """ + return pulumi.get(self, "suppression_id") + + @suppression_id.setter + def suppression_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "suppression_id", value) + + @property + @pulumi.getter + def ttl(self) -> Optional[pulumi.Input[str]]: + """ + A optional time to live value. If omitted, the suppression will not expire. Changing this forces a new Advisor suppression to be created. + """ + return pulumi.get(self, "ttl") + + @ttl.setter + def ttl(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "ttl", value) + + +class Suppression(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + name: Optional[pulumi.Input[str]] = None, + recommendation_id: Optional[pulumi.Input[str]] = None, + resource_id: Optional[pulumi.Input[str]] = None, + ttl: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + Specifies a suppression for an Azure Advisor recommendation. + + ## Example Usage + + ```python + import pulumi + import pulumi_azure as azure + + current = azure.core.get_client_config() + example = azure.advisor.get_recommendations() + example_suppression = azure.advisor.Suppression("example", + name="HardcodedSuppressionName", + recommendation_id=test["recommendations"][0]["recommendationName"], + resource_id=f"/subscriptions/{current.subscription_id}", + 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 + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] name: The Name which should be used for this Advisor suppression. Changing this forces a new Advisor suppression to be created. + :param pulumi.Input[str] recommendation_id: The ID of the Advisor recommendation to suppress. Changing this forces a new Advisor suppression to be created. + :param pulumi.Input[str] resource_id: The ID of the Resource to suppress the Advisor recommendation for. Changing this forces a new Advisor suppression to be created. + :param pulumi.Input[str] ttl: A optional time to live value. If omitted, the suppression will not expire. Changing this forces a new Advisor suppression to be created. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: SuppressionArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Specifies a suppression for an Azure Advisor recommendation. + + ## Example Usage + + ```python + import pulumi + import pulumi_azure as azure + + current = azure.core.get_client_config() + example = azure.advisor.get_recommendations() + example_suppression = azure.advisor.Suppression("example", + name="HardcodedSuppressionName", + recommendation_id=test["recommendations"][0]["recommendationName"], + resource_id=f"/subscriptions/{current.subscription_id}", + 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 + ``` + + :param str resource_name: The name of the resource. + :param SuppressionArgs args: The arguments to use to populate this resource's properties. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + ... + def __init__(__self__, resource_name: str, *args, **kwargs): + resource_args, opts = _utilities.get_resource_args_opts(SuppressionArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + name: Optional[pulumi.Input[str]] = None, + recommendation_id: Optional[pulumi.Input[str]] = None, + resource_id: Optional[pulumi.Input[str]] = None, + ttl: Optional[pulumi.Input[str]] = None, + __props__=None): + opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) + if not isinstance(opts, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + if opts.id is None: + if __props__ is not None: + raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') + __props__ = SuppressionArgs.__new__(SuppressionArgs) + + __props__.__dict__["name"] = name + if recommendation_id is None and not opts.urn: + raise TypeError("Missing required property 'recommendation_id'") + __props__.__dict__["recommendation_id"] = recommendation_id + if resource_id is None and not opts.urn: + raise TypeError("Missing required property 'resource_id'") + __props__.__dict__["resource_id"] = resource_id + __props__.__dict__["ttl"] = ttl + __props__.__dict__["suppression_id"] = None + super(Suppression, __self__).__init__( + 'azure:advisor/suppression:Suppression', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + name: Optional[pulumi.Input[str]] = None, + recommendation_id: Optional[pulumi.Input[str]] = None, + resource_id: Optional[pulumi.Input[str]] = None, + suppression_id: Optional[pulumi.Input[str]] = None, + ttl: Optional[pulumi.Input[str]] = None) -> 'Suppression': + """ + Get an existing Suppression resource's state with the given name, id, and optional extra + properties used to qualify the lookup. + + :param str resource_name: The unique name of the resulting resource. + :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] name: The Name which should be used for this Advisor suppression. Changing this forces a new Advisor suppression to be created. + :param pulumi.Input[str] recommendation_id: The ID of the Advisor recommendation to suppress. Changing this forces a new Advisor suppression to be created. + :param pulumi.Input[str] resource_id: The ID of the Resource to suppress the Advisor recommendation for. Changing this forces a new Advisor suppression to be created. + :param pulumi.Input[str] suppression_id: The GUID of the suppression. + :param pulumi.Input[str] ttl: A optional time to live value. If omitted, the suppression will not expire. Changing this forces a new Advisor suppression to be created. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _SuppressionState.__new__(_SuppressionState) + + __props__.__dict__["name"] = name + __props__.__dict__["recommendation_id"] = recommendation_id + __props__.__dict__["resource_id"] = resource_id + __props__.__dict__["suppression_id"] = suppression_id + __props__.__dict__["ttl"] = ttl + return Suppression(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + The Name which should be used for this Advisor suppression. Changing this forces a new Advisor suppression to be created. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="recommendationId") + def recommendation_id(self) -> pulumi.Output[str]: + """ + The ID of the Advisor recommendation to suppress. Changing this forces a new Advisor suppression to be created. + """ + return pulumi.get(self, "recommendation_id") + + @property + @pulumi.getter(name="resourceId") + def resource_id(self) -> pulumi.Output[str]: + """ + The ID of the Resource to suppress the Advisor recommendation for. Changing this forces a new Advisor suppression to be created. + """ + return pulumi.get(self, "resource_id") + + @property + @pulumi.getter(name="suppressionId") + def suppression_id(self) -> pulumi.Output[str]: + """ + The GUID of the suppression. + """ + return pulumi.get(self, "suppression_id") + + @property + @pulumi.getter + def ttl(self) -> pulumi.Output[Optional[str]]: + """ + A optional time to live value. If omitted, the suppression will not expire. Changing this forces a new Advisor suppression to be created. + """ + return pulumi.get(self, "ttl") + diff --git a/sdk/python/pulumi_azure/appplatform/spring_cloud_gateway.py b/sdk/python/pulumi_azure/appplatform/spring_cloud_gateway.py index 443ebea715..8ad0bdc217 100644 --- a/sdk/python/pulumi_azure/appplatform/spring_cloud_gateway.py +++ b/sdk/python/pulumi_azure/appplatform/spring_cloud_gateway.py @@ -45,7 +45,7 @@ def __init__(__self__, *, :param pulumi.Input[Sequence[pulumi.Input[str]]] application_performance_monitoring_types: Specifies a list of application performance monitoring types used in the Spring Cloud Gateway. The allowed values are `AppDynamics`, `ApplicationInsights`, `Dynatrace`, `ElasticAPM` and `NewRelic`. :param pulumi.Input['SpringCloudGatewayClientAuthorizationArgs'] client_authorization: A `client_authorization` block as defined below. :param pulumi.Input['SpringCloudGatewayCorsArgs'] cors: A `cors` block as defined below. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] environment_variables: 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. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] environment_variables: Specifies the environment variables of the Spring Cloud Gateway as a map of key-value pairs. :param pulumi.Input[bool] https_only: is only https is allowed? :param pulumi.Input[int] instance_count: Specifies the required instance count of the Spring Cloud Gateway. Possible Values are between `1` and `500`. Defaults to `1` if not specified. :param pulumi.Input['SpringCloudGatewayLocalResponseCachePerInstanceArgs'] local_response_cache_per_instance: A `local_response_cache_per_instance` block as defined below. Only one of `local_response_cache_per_instance` or `local_response_cache_per_route` can be specified. @@ -53,7 +53,7 @@ def __init__(__self__, *, :param pulumi.Input[str] name: The name which should be used for this Spring Cloud Gateway. Changing this forces a new Spring Cloud Gateway to be created. The only possible value is `default`. :param pulumi.Input[bool] public_network_access_enabled: Indicates whether the Spring Cloud Gateway exposes endpoint. :param pulumi.Input['SpringCloudGatewayQuotaArgs'] quota: A `quota` block as defined below. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] sensitive_environment_variables: 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. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] sensitive_environment_variables: Specifies the sensitive environment variables of the Spring Cloud Gateway as a map of key-value pairs. :param pulumi.Input['SpringCloudGatewaySsoArgs'] sso: A `sso` block as defined below. """ pulumi.set(__self__, "spring_cloud_service_id", spring_cloud_service_id) @@ -164,7 +164,7 @@ def cors(self, value: Optional[pulumi.Input['SpringCloudGatewayCorsArgs']]): @pulumi.getter(name="environmentVariables") def environment_variables(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: """ - 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. """ return pulumi.get(self, "environment_variables") @@ -260,7 +260,7 @@ def quota(self, value: Optional[pulumi.Input['SpringCloudGatewayQuotaArgs']]): @pulumi.getter(name="sensitiveEnvironmentVariables") def sensitive_environment_variables(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: """ - 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. """ return pulumi.get(self, "sensitive_environment_variables") @@ -308,7 +308,7 @@ def __init__(__self__, *, :param pulumi.Input[Sequence[pulumi.Input[str]]] application_performance_monitoring_types: Specifies a list of application performance monitoring types used in the Spring Cloud Gateway. The allowed values are `AppDynamics`, `ApplicationInsights`, `Dynatrace`, `ElasticAPM` and `NewRelic`. :param pulumi.Input['SpringCloudGatewayClientAuthorizationArgs'] client_authorization: A `client_authorization` block as defined below. :param pulumi.Input['SpringCloudGatewayCorsArgs'] cors: A `cors` block as defined below. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] environment_variables: 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. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] environment_variables: Specifies the environment variables of the Spring Cloud Gateway as a map of key-value pairs. :param pulumi.Input[bool] https_only: is only https is allowed? :param pulumi.Input[int] instance_count: Specifies the required instance count of the Spring Cloud Gateway. Possible Values are between `1` and `500`. Defaults to `1` if not specified. :param pulumi.Input['SpringCloudGatewayLocalResponseCachePerInstanceArgs'] local_response_cache_per_instance: A `local_response_cache_per_instance` block as defined below. Only one of `local_response_cache_per_instance` or `local_response_cache_per_route` can be specified. @@ -316,7 +316,7 @@ def __init__(__self__, *, :param pulumi.Input[str] name: The name which should be used for this Spring Cloud Gateway. Changing this forces a new Spring Cloud Gateway to be created. The only possible value is `default`. :param pulumi.Input[bool] public_network_access_enabled: Indicates whether the Spring Cloud Gateway exposes endpoint. :param pulumi.Input['SpringCloudGatewayQuotaArgs'] quota: A `quota` block as defined below. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] sensitive_environment_variables: 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. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] sensitive_environment_variables: Specifies the sensitive environment variables of the Spring Cloud Gateway as a map of key-value pairs. :param pulumi.Input[str] spring_cloud_service_id: The ID of the Spring Cloud Service. Changing this forces a new Spring Cloud Gateway to be created. :param pulumi.Input['SpringCloudGatewaySsoArgs'] sso: A `sso` block as defined below. :param pulumi.Input[str] url: URL of the Spring Cloud Gateway, exposed when 'public_network_access_enabled' is true. @@ -420,7 +420,7 @@ def cors(self, value: Optional[pulumi.Input['SpringCloudGatewayCorsArgs']]): @pulumi.getter(name="environmentVariables") def environment_variables(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: """ - 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. """ return pulumi.get(self, "environment_variables") @@ -516,7 +516,7 @@ def quota(self, value: Optional[pulumi.Input['SpringCloudGatewayQuotaArgs']]): @pulumi.getter(name="sensitiveEnvironmentVariables") def sensitive_environment_variables(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: """ - 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. """ return pulumi.get(self, "sensitive_environment_variables") @@ -654,7 +654,7 @@ def __init__(__self__, :param pulumi.Input[Sequence[pulumi.Input[str]]] application_performance_monitoring_types: Specifies a list of application performance monitoring types used in the Spring Cloud Gateway. The allowed values are `AppDynamics`, `ApplicationInsights`, `Dynatrace`, `ElasticAPM` and `NewRelic`. :param pulumi.Input[Union['SpringCloudGatewayClientAuthorizationArgs', 'SpringCloudGatewayClientAuthorizationArgsDict']] client_authorization: A `client_authorization` block as defined below. :param pulumi.Input[Union['SpringCloudGatewayCorsArgs', 'SpringCloudGatewayCorsArgsDict']] cors: A `cors` block as defined below. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] environment_variables: 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. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] environment_variables: Specifies the environment variables of the Spring Cloud Gateway as a map of key-value pairs. :param pulumi.Input[bool] https_only: is only https is allowed? :param pulumi.Input[int] instance_count: Specifies the required instance count of the Spring Cloud Gateway. Possible Values are between `1` and `500`. Defaults to `1` if not specified. :param pulumi.Input[Union['SpringCloudGatewayLocalResponseCachePerInstanceArgs', 'SpringCloudGatewayLocalResponseCachePerInstanceArgsDict']] local_response_cache_per_instance: A `local_response_cache_per_instance` block as defined below. Only one of `local_response_cache_per_instance` or `local_response_cache_per_route` can be specified. @@ -662,7 +662,7 @@ def __init__(__self__, :param pulumi.Input[str] name: The name which should be used for this Spring Cloud Gateway. Changing this forces a new Spring Cloud Gateway to be created. The only possible value is `default`. :param pulumi.Input[bool] public_network_access_enabled: Indicates whether the Spring Cloud Gateway exposes endpoint. :param pulumi.Input[Union['SpringCloudGatewayQuotaArgs', 'SpringCloudGatewayQuotaArgsDict']] quota: A `quota` block as defined below. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] sensitive_environment_variables: 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. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] sensitive_environment_variables: Specifies the sensitive environment variables of the Spring Cloud Gateway as a map of key-value pairs. :param pulumi.Input[str] spring_cloud_service_id: The ID of the Spring Cloud Service. Changing this forces a new Spring Cloud Gateway to be created. :param pulumi.Input[Union['SpringCloudGatewaySsoArgs', 'SpringCloudGatewaySsoArgsDict']] sso: A `sso` block as defined below. """ @@ -836,7 +836,7 @@ def get(resource_name: str, :param pulumi.Input[Sequence[pulumi.Input[str]]] application_performance_monitoring_types: Specifies a list of application performance monitoring types used in the Spring Cloud Gateway. The allowed values are `AppDynamics`, `ApplicationInsights`, `Dynatrace`, `ElasticAPM` and `NewRelic`. :param pulumi.Input[Union['SpringCloudGatewayClientAuthorizationArgs', 'SpringCloudGatewayClientAuthorizationArgsDict']] client_authorization: A `client_authorization` block as defined below. :param pulumi.Input[Union['SpringCloudGatewayCorsArgs', 'SpringCloudGatewayCorsArgsDict']] cors: A `cors` block as defined below. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] environment_variables: 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. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] environment_variables: Specifies the environment variables of the Spring Cloud Gateway as a map of key-value pairs. :param pulumi.Input[bool] https_only: is only https is allowed? :param pulumi.Input[int] instance_count: Specifies the required instance count of the Spring Cloud Gateway. Possible Values are between `1` and `500`. Defaults to `1` if not specified. :param pulumi.Input[Union['SpringCloudGatewayLocalResponseCachePerInstanceArgs', 'SpringCloudGatewayLocalResponseCachePerInstanceArgsDict']] local_response_cache_per_instance: A `local_response_cache_per_instance` block as defined below. Only one of `local_response_cache_per_instance` or `local_response_cache_per_route` can be specified. @@ -844,7 +844,7 @@ def get(resource_name: str, :param pulumi.Input[str] name: The name which should be used for this Spring Cloud Gateway. Changing this forces a new Spring Cloud Gateway to be created. The only possible value is `default`. :param pulumi.Input[bool] public_network_access_enabled: Indicates whether the Spring Cloud Gateway exposes endpoint. :param pulumi.Input[Union['SpringCloudGatewayQuotaArgs', 'SpringCloudGatewayQuotaArgsDict']] quota: A `quota` block as defined below. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] sensitive_environment_variables: 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. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] sensitive_environment_variables: Specifies the sensitive environment variables of the Spring Cloud Gateway as a map of key-value pairs. :param pulumi.Input[str] spring_cloud_service_id: The ID of the Spring Cloud Service. Changing this forces a new Spring Cloud Gateway to be created. :param pulumi.Input[Union['SpringCloudGatewaySsoArgs', 'SpringCloudGatewaySsoArgsDict']] sso: A `sso` block as defined below. :param pulumi.Input[str] url: URL of the Spring Cloud Gateway, exposed when 'public_network_access_enabled' is true. @@ -916,7 +916,7 @@ def cors(self) -> pulumi.Output[Optional['outputs.SpringCloudGatewayCors']]: @pulumi.getter(name="environmentVariables") def environment_variables(self) -> pulumi.Output[Optional[Mapping[str, str]]]: """ - 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. """ return pulumi.get(self, "environment_variables") @@ -980,7 +980,7 @@ def quota(self) -> pulumi.Output['outputs.SpringCloudGatewayQuota']: @pulumi.getter(name="sensitiveEnvironmentVariables") def sensitive_environment_variables(self) -> pulumi.Output[Optional[Mapping[str, str]]]: """ - 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. """ return pulumi.get(self, "sensitive_environment_variables") diff --git a/sdk/python/pulumi_azure/appservice/get_static_web_app.py b/sdk/python/pulumi_azure/appservice/get_static_web_app.py index 3fb44023cd..5762b8607f 100644 --- a/sdk/python/pulumi_azure/appservice/get_static_web_app.py +++ b/sdk/python/pulumi_azure/appservice/get_static_web_app.py @@ -27,7 +27,7 @@ class GetStaticWebAppResult: """ A collection of values returned by getStaticWebApp. """ - def __init__(__self__, api_key=None, app_settings=None, basic_auths=None, configuration_file_changes_enabled=None, default_host_name=None, id=None, identities=None, location=None, name=None, preview_environments_enabled=None, resource_group_name=None, sku_size=None, sku_tier=None, tags=None): + def __init__(__self__, api_key=None, app_settings=None, basic_auths=None, configuration_file_changes_enabled=None, default_host_name=None, id=None, identities=None, location=None, name=None, preview_environments_enabled=None, public_network_access_enabled=None, resource_group_name=None, sku_size=None, sku_tier=None, tags=None): if api_key and not isinstance(api_key, str): raise TypeError("Expected argument 'api_key' to be a str") pulumi.set(__self__, "api_key", api_key) @@ -58,6 +58,9 @@ def __init__(__self__, api_key=None, app_settings=None, basic_auths=None, config if preview_environments_enabled and not isinstance(preview_environments_enabled, bool): raise TypeError("Expected argument 'preview_environments_enabled' to be a bool") pulumi.set(__self__, "preview_environments_enabled", preview_environments_enabled) + if public_network_access_enabled and not isinstance(public_network_access_enabled, bool): + raise TypeError("Expected argument 'public_network_access_enabled' to be a bool") + pulumi.set(__self__, "public_network_access_enabled", public_network_access_enabled) if resource_group_name and not isinstance(resource_group_name, str): raise TypeError("Expected argument 'resource_group_name' to be a str") pulumi.set(__self__, "resource_group_name", resource_group_name) @@ -124,6 +127,11 @@ def name(self) -> str: def preview_environments_enabled(self) -> bool: return pulumi.get(self, "preview_environments_enabled") + @property + @pulumi.getter(name="publicNetworkAccessEnabled") + def public_network_access_enabled(self) -> bool: + return pulumi.get(self, "public_network_access_enabled") + @property @pulumi.getter(name="resourceGroupName") def resource_group_name(self) -> str: @@ -161,6 +169,7 @@ def __await__(self): location=self.location, name=self.name, preview_environments_enabled=self.preview_environments_enabled, + public_network_access_enabled=self.public_network_access_enabled, resource_group_name=self.resource_group_name, sku_size=self.sku_size, sku_tier=self.sku_tier, @@ -204,6 +213,7 @@ def get_static_web_app(name: Optional[str] = None, location=pulumi.get(__ret__, 'location'), name=pulumi.get(__ret__, 'name'), preview_environments_enabled=pulumi.get(__ret__, 'preview_environments_enabled'), + public_network_access_enabled=pulumi.get(__ret__, 'public_network_access_enabled'), resource_group_name=pulumi.get(__ret__, 'resource_group_name'), sku_size=pulumi.get(__ret__, 'sku_size'), sku_tier=pulumi.get(__ret__, 'sku_tier'), diff --git a/sdk/python/pulumi_azure/appservice/static_web_app.py b/sdk/python/pulumi_azure/appservice/static_web_app.py index e849b7eade..efe992b698 100644 --- a/sdk/python/pulumi_azure/appservice/static_web_app.py +++ b/sdk/python/pulumi_azure/appservice/static_web_app.py @@ -29,6 +29,7 @@ def __init__(__self__, *, location: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, preview_environments_enabled: Optional[pulumi.Input[bool]] = None, + public_network_access_enabled: Optional[pulumi.Input[bool]] = None, sku_size: Optional[pulumi.Input[str]] = None, sku_tier: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): @@ -42,6 +43,7 @@ def __init__(__self__, *, :param pulumi.Input[str] location: The Azure Region where the Static Web App should exist. Changing this forces a new Static Web App to be created. :param pulumi.Input[str] name: The name which should be used for this Static Web App. Changing this forces a new Static Web App to be created. :param pulumi.Input[bool] preview_environments_enabled: Are Preview (Staging) environments enabled. Defaults to `true`. + :param pulumi.Input[bool] public_network_access_enabled: Should public network access be enabled for the Static Web App. Defaults to `true`. :param pulumi.Input[str] sku_size: Specifies the SKU size of the Static Web App. Possible values are `Free` or `Standard`. Defaults to `Free`. :param pulumi.Input[str] sku_tier: Specifies the SKU tier of the Static Web App. Possible values are `Free` or `Standard`. Defaults to `Free`. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A mapping of tags to assign to the resource. @@ -61,6 +63,8 @@ def __init__(__self__, *, pulumi.set(__self__, "name", name) if preview_environments_enabled is not None: pulumi.set(__self__, "preview_environments_enabled", preview_environments_enabled) + if public_network_access_enabled is not None: + pulumi.set(__self__, "public_network_access_enabled", public_network_access_enabled) if sku_size is not None: pulumi.set(__self__, "sku_size", sku_size) if sku_tier is not None: @@ -164,6 +168,18 @@ def preview_environments_enabled(self) -> Optional[pulumi.Input[bool]]: def preview_environments_enabled(self, value: Optional[pulumi.Input[bool]]): pulumi.set(self, "preview_environments_enabled", value) + @property + @pulumi.getter(name="publicNetworkAccessEnabled") + def public_network_access_enabled(self) -> Optional[pulumi.Input[bool]]: + """ + Should public network access be enabled for the Static Web App. Defaults to `true`. + """ + return pulumi.get(self, "public_network_access_enabled") + + @public_network_access_enabled.setter + def public_network_access_enabled(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "public_network_access_enabled", value) + @property @pulumi.getter(name="skuSize") def sku_size(self) -> Optional[pulumi.Input[str]]: @@ -213,6 +229,7 @@ def __init__(__self__, *, location: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, preview_environments_enabled: Optional[pulumi.Input[bool]] = None, + public_network_access_enabled: Optional[pulumi.Input[bool]] = None, resource_group_name: Optional[pulumi.Input[str]] = None, sku_size: Optional[pulumi.Input[str]] = None, sku_tier: Optional[pulumi.Input[str]] = None, @@ -228,6 +245,7 @@ def __init__(__self__, *, :param pulumi.Input[str] location: The Azure Region where the Static Web App should exist. Changing this forces a new Static Web App to be created. :param pulumi.Input[str] name: The name which should be used for this Static Web App. Changing this forces a new Static Web App to be created. :param pulumi.Input[bool] preview_environments_enabled: Are Preview (Staging) environments enabled. Defaults to `true`. + :param pulumi.Input[bool] public_network_access_enabled: Should public network access be enabled for the Static Web App. Defaults to `true`. :param pulumi.Input[str] resource_group_name: The name of the Resource Group where the Static Web App should exist. Changing this forces a new Static Web App to be created. :param pulumi.Input[str] sku_size: Specifies the SKU size of the Static Web App. Possible values are `Free` or `Standard`. Defaults to `Free`. :param pulumi.Input[str] sku_tier: Specifies the SKU tier of the Static Web App. Possible values are `Free` or `Standard`. Defaults to `Free`. @@ -251,6 +269,8 @@ def __init__(__self__, *, pulumi.set(__self__, "name", name) if preview_environments_enabled is not None: pulumi.set(__self__, "preview_environments_enabled", preview_environments_enabled) + if public_network_access_enabled is not None: + pulumi.set(__self__, "public_network_access_enabled", public_network_access_enabled) if resource_group_name is not None: pulumi.set(__self__, "resource_group_name", resource_group_name) if sku_size is not None: @@ -368,6 +388,18 @@ def preview_environments_enabled(self) -> Optional[pulumi.Input[bool]]: def preview_environments_enabled(self, value: Optional[pulumi.Input[bool]]): pulumi.set(self, "preview_environments_enabled", value) + @property + @pulumi.getter(name="publicNetworkAccessEnabled") + def public_network_access_enabled(self) -> Optional[pulumi.Input[bool]]: + """ + Should public network access be enabled for the Static Web App. Defaults to `true`. + """ + return pulumi.get(self, "public_network_access_enabled") + + @public_network_access_enabled.setter + def public_network_access_enabled(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "public_network_access_enabled", value) + @property @pulumi.getter(name="resourceGroupName") def resource_group_name(self) -> Optional[pulumi.Input[str]]: @@ -429,6 +461,7 @@ def __init__(__self__, location: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, preview_environments_enabled: Optional[pulumi.Input[bool]] = None, + public_network_access_enabled: Optional[pulumi.Input[bool]] = None, resource_group_name: Optional[pulumi.Input[str]] = None, sku_size: Optional[pulumi.Input[str]] = None, sku_tier: Optional[pulumi.Input[str]] = None, @@ -469,6 +502,7 @@ def __init__(__self__, :param pulumi.Input[str] location: The Azure Region where the Static Web App should exist. Changing this forces a new Static Web App to be created. :param pulumi.Input[str] name: The name which should be used for this Static Web App. Changing this forces a new Static Web App to be created. :param pulumi.Input[bool] preview_environments_enabled: Are Preview (Staging) environments enabled. Defaults to `true`. + :param pulumi.Input[bool] public_network_access_enabled: Should public network access be enabled for the Static Web App. Defaults to `true`. :param pulumi.Input[str] resource_group_name: The name of the Resource Group where the Static Web App should exist. Changing this forces a new Static Web App to be created. :param pulumi.Input[str] sku_size: Specifies the SKU size of the Static Web App. Possible values are `Free` or `Standard`. Defaults to `Free`. :param pulumi.Input[str] sku_tier: Specifies the SKU tier of the Static Web App. Possible values are `Free` or `Standard`. Defaults to `Free`. @@ -528,6 +562,7 @@ def _internal_init(__self__, location: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, preview_environments_enabled: Optional[pulumi.Input[bool]] = None, + public_network_access_enabled: Optional[pulumi.Input[bool]] = None, resource_group_name: Optional[pulumi.Input[str]] = None, sku_size: Optional[pulumi.Input[str]] = None, sku_tier: Optional[pulumi.Input[str]] = None, @@ -548,6 +583,7 @@ def _internal_init(__self__, __props__.__dict__["location"] = location __props__.__dict__["name"] = name __props__.__dict__["preview_environments_enabled"] = preview_environments_enabled + __props__.__dict__["public_network_access_enabled"] = public_network_access_enabled if resource_group_name is None and not opts.urn: raise TypeError("Missing required property 'resource_group_name'") __props__.__dict__["resource_group_name"] = resource_group_name @@ -577,6 +613,7 @@ def get(resource_name: str, location: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, preview_environments_enabled: Optional[pulumi.Input[bool]] = None, + public_network_access_enabled: Optional[pulumi.Input[bool]] = None, resource_group_name: Optional[pulumi.Input[str]] = None, sku_size: Optional[pulumi.Input[str]] = None, sku_tier: Optional[pulumi.Input[str]] = None, @@ -597,6 +634,7 @@ def get(resource_name: str, :param pulumi.Input[str] location: The Azure Region where the Static Web App should exist. Changing this forces a new Static Web App to be created. :param pulumi.Input[str] name: The name which should be used for this Static Web App. Changing this forces a new Static Web App to be created. :param pulumi.Input[bool] preview_environments_enabled: Are Preview (Staging) environments enabled. Defaults to `true`. + :param pulumi.Input[bool] public_network_access_enabled: Should public network access be enabled for the Static Web App. Defaults to `true`. :param pulumi.Input[str] resource_group_name: The name of the Resource Group where the Static Web App should exist. Changing this forces a new Static Web App to be created. :param pulumi.Input[str] sku_size: Specifies the SKU size of the Static Web App. Possible values are `Free` or `Standard`. Defaults to `Free`. :param pulumi.Input[str] sku_tier: Specifies the SKU tier of the Static Web App. Possible values are `Free` or `Standard`. Defaults to `Free`. @@ -615,6 +653,7 @@ def get(resource_name: str, __props__.__dict__["location"] = location __props__.__dict__["name"] = name __props__.__dict__["preview_environments_enabled"] = preview_environments_enabled + __props__.__dict__["public_network_access_enabled"] = public_network_access_enabled __props__.__dict__["resource_group_name"] = resource_group_name __props__.__dict__["sku_size"] = sku_size __props__.__dict__["sku_tier"] = sku_tier @@ -693,6 +732,14 @@ def preview_environments_enabled(self) -> pulumi.Output[Optional[bool]]: """ return pulumi.get(self, "preview_environments_enabled") + @property + @pulumi.getter(name="publicNetworkAccessEnabled") + def public_network_access_enabled(self) -> pulumi.Output[Optional[bool]]: + """ + Should public network access be enabled for the Static Web App. Defaults to `true`. + """ + return pulumi.get(self, "public_network_access_enabled") + @property @pulumi.getter(name="resourceGroupName") def resource_group_name(self) -> pulumi.Output[str]: diff --git a/sdk/python/pulumi_azure/arcmachine/automanage_configuration_assignment.py b/sdk/python/pulumi_azure/arcmachine/automanage_configuration_assignment.py index 2406fa4e5e..0bb78e5813 100644 --- a/sdk/python/pulumi_azure/arcmachine/automanage_configuration_assignment.py +++ b/sdk/python/pulumi_azure/arcmachine/automanage_configuration_assignment.py @@ -141,7 +141,7 @@ def __init__(__self__, 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 ``` :param str resource_name: The name of the resource. @@ -188,7 +188,7 @@ def __init__(__self__, 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 ``` :param str resource_name: The name of the resource. diff --git a/sdk/python/pulumi_azure/compute/linux_virtual_machine_scale_set.py b/sdk/python/pulumi_azure/compute/linux_virtual_machine_scale_set.py index c837c57932..17e2192629 100644 --- a/sdk/python/pulumi_azure/compute/linux_virtual_machine_scale_set.py +++ b/sdk/python/pulumi_azure/compute/linux_virtual_machine_scale_set.py @@ -161,7 +161,9 @@ def __init__(__self__, *, :param pulumi.Input[bool] zone_balance: Should the Virtual Machines in this Scale Set be strictly evenly distributed across Availability Zones? Defaults to `false`. Changing this forces a new resource to be created. > **Note:** This can only be set to `true` when one or more `zones` are configured. - :param pulumi.Input[Sequence[pulumi.Input[str]]] 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. + :param pulumi.Input[Sequence[pulumi.Input[str]]] zones: 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. """ pulumi.set(__self__, "admin_username", admin_username) pulumi.set(__self__, "network_interfaces", network_interfaces) @@ -912,7 +914,9 @@ def zone_balance(self, value: Optional[pulumi.Input[bool]]): @pulumi.getter def zones(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: """ - 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. """ return pulumi.get(self, "zones") @@ -1066,7 +1070,9 @@ def __init__(__self__, *, :param pulumi.Input[bool] zone_balance: Should the Virtual Machines in this Scale Set be strictly evenly distributed across Availability Zones? Defaults to `false`. Changing this forces a new resource to be created. > **Note:** This can only be set to `true` when one or more `zones` are configured. - :param pulumi.Input[Sequence[pulumi.Input[str]]] 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. + :param pulumi.Input[Sequence[pulumi.Input[str]]] zones: 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. """ if additional_capabilities is not None: pulumi.set(__self__, "additional_capabilities", additional_capabilities) @@ -1836,7 +1842,9 @@ def zone_balance(self, value: Optional[pulumi.Input[bool]]): @pulumi.getter def zones(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: """ - 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. """ return pulumi.get(self, "zones") @@ -2061,7 +2069,9 @@ def __init__(__self__, :param pulumi.Input[bool] zone_balance: Should the Virtual Machines in this Scale Set be strictly evenly distributed across Availability Zones? Defaults to `false`. Changing this forces a new resource to be created. > **Note:** This can only be set to `true` when one or more `zones` are configured. - :param pulumi.Input[Sequence[pulumi.Input[str]]] 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. + :param pulumi.Input[Sequence[pulumi.Input[str]]] zones: 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. """ ... @overload @@ -2437,7 +2447,9 @@ def get(resource_name: str, :param pulumi.Input[bool] zone_balance: Should the Virtual Machines in this Scale Set be strictly evenly distributed across Availability Zones? Defaults to `false`. Changing this forces a new resource to be created. > **Note:** This can only be set to `true` when one or more `zones` are configured. - :param pulumi.Input[Sequence[pulumi.Input[str]]] 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. + :param pulumi.Input[Sequence[pulumi.Input[str]]] zones: 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. """ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) @@ -2951,7 +2963,9 @@ def zone_balance(self) -> pulumi.Output[Optional[bool]]: @pulumi.getter def zones(self) -> pulumi.Output[Optional[Sequence[str]]]: """ - 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. """ return pulumi.get(self, "zones") diff --git a/sdk/python/pulumi_azure/compute/orchestrated_virtual_machine_scale_set.py b/sdk/python/pulumi_azure/compute/orchestrated_virtual_machine_scale_set.py index 82e9c6272e..44a01076ce 100644 --- a/sdk/python/pulumi_azure/compute/orchestrated_virtual_machine_scale_set.py +++ b/sdk/python/pulumi_azure/compute/orchestrated_virtual_machine_scale_set.py @@ -104,7 +104,9 @@ def __init__(__self__, *, :param pulumi.Input[bool] zone_balance: Should the Virtual Machines in this Scale Set be strictly evenly distributed across Availability Zones? Defaults to `false`. Changing this forces a new resource to be created. > **Note:** This can only be set to `true` when one or more `zones` are configured. - :param pulumi.Input[Sequence[pulumi.Input[str]]] 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. + :param pulumi.Input[Sequence[pulumi.Input[str]]] zones: 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). """ @@ -589,7 +591,9 @@ def zone_balance(self, value: Optional[pulumi.Input[bool]]): @pulumi.getter def zones(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: """ - 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). """ @@ -688,7 +692,9 @@ def __init__(__self__, *, :param pulumi.Input[bool] zone_balance: Should the Virtual Machines in this Scale Set be strictly evenly distributed across Availability Zones? Defaults to `false`. Changing this forces a new resource to be created. > **Note:** This can only be set to `true` when one or more `zones` are configured. - :param pulumi.Input[Sequence[pulumi.Input[str]]] 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. + :param pulumi.Input[Sequence[pulumi.Input[str]]] zones: 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). """ @@ -1189,7 +1195,9 @@ def zone_balance(self, value: Optional[pulumi.Input[bool]]): @pulumi.getter def zones(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: """ - 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). """ @@ -1323,7 +1331,9 @@ def __init__(__self__, :param pulumi.Input[bool] zone_balance: Should the Virtual Machines in this Scale Set be strictly evenly distributed across Availability Zones? Defaults to `false`. Changing this forces a new resource to be created. > **Note:** This can only be set to `true` when one or more `zones` are configured. - :param pulumi.Input[Sequence[pulumi.Input[str]]] 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. + :param pulumi.Input[Sequence[pulumi.Input[str]]] zones: 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). """ @@ -1566,7 +1576,9 @@ def get(resource_name: str, :param pulumi.Input[bool] zone_balance: Should the Virtual Machines in this Scale Set be strictly evenly distributed across Availability Zones? Defaults to `false`. Changing this forces a new resource to be created. > **Note:** This can only be set to `true` when one or more `zones` are configured. - :param pulumi.Input[Sequence[pulumi.Input[str]]] 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. + :param pulumi.Input[Sequence[pulumi.Input[str]]] zones: 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). """ @@ -1901,7 +1913,9 @@ def zone_balance(self) -> pulumi.Output[Optional[bool]]: @pulumi.getter def zones(self) -> pulumi.Output[Optional[Sequence[str]]]: """ - 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/python/pulumi_azure/compute/shared_image.py b/sdk/python/pulumi_azure/compute/shared_image.py index e928f15733..28f427e1cc 100644 --- a/sdk/python/pulumi_azure/compute/shared_image.py +++ b/sdk/python/pulumi_azure/compute/shared_image.py @@ -30,6 +30,7 @@ def __init__(__self__, *, confidential_vm_enabled: Optional[pulumi.Input[bool]] = None, confidential_vm_supported: Optional[pulumi.Input[bool]] = None, description: Optional[pulumi.Input[str]] = None, + disk_controller_type_nvme_enabled: Optional[pulumi.Input[bool]] = None, disk_types_not_alloweds: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, end_of_life_date: Optional[pulumi.Input[str]] = None, eula: Optional[pulumi.Input[str]] = None, @@ -61,6 +62,7 @@ def __init__(__self__, *, > **Note:**: Only one of `trusted_launch_supported`, `trusted_launch_enabled`, `confidential_vm_supported` and `confidential_vm_enabled` can be specified. :param pulumi.Input[bool] confidential_vm_supported: Specifies if supports creation of both Confidential virtual machines and Gen2 virtual machines with standard security from a compatible Gen2 OS disk VHD or Gen2 Managed image. Changing this forces a new resource to be created. :param pulumi.Input[str] description: A description of this Shared Image. + :param pulumi.Input[bool] disk_controller_type_nvme_enabled: Specifies if the Shared Image supports NVMe disks. Changing this forces a new resource to be created. :param pulumi.Input[Sequence[pulumi.Input[str]]] disk_types_not_alloweds: One or more Disk Types not allowed for the Image. Possible values include `Standard_LRS` and `Premium_LRS`. :param pulumi.Input[str] end_of_life_date: The end of life date in RFC3339 format of the Image. :param pulumi.Input[str] eula: The End User Licence Agreement for the Shared Image. Changing this forces a new resource to be created. @@ -96,6 +98,8 @@ def __init__(__self__, *, pulumi.set(__self__, "confidential_vm_supported", confidential_vm_supported) if description is not None: pulumi.set(__self__, "description", description) + if disk_controller_type_nvme_enabled is not None: + pulumi.set(__self__, "disk_controller_type_nvme_enabled", disk_controller_type_nvme_enabled) if disk_types_not_alloweds is not None: pulumi.set(__self__, "disk_types_not_alloweds", disk_types_not_alloweds) if end_of_life_date is not None: @@ -243,6 +247,18 @@ def description(self) -> Optional[pulumi.Input[str]]: def description(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "description", value) + @property + @pulumi.getter(name="diskControllerTypeNvmeEnabled") + def disk_controller_type_nvme_enabled(self) -> Optional[pulumi.Input[bool]]: + """ + Specifies if the Shared Image supports NVMe disks. Changing this forces a new resource to be created. + """ + return pulumi.get(self, "disk_controller_type_nvme_enabled") + + @disk_controller_type_nvme_enabled.setter + def disk_controller_type_nvme_enabled(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "disk_controller_type_nvme_enabled", value) + @property @pulumi.getter(name="diskTypesNotAlloweds") def disk_types_not_alloweds(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: @@ -470,6 +486,7 @@ def __init__(__self__, *, confidential_vm_enabled: Optional[pulumi.Input[bool]] = None, confidential_vm_supported: Optional[pulumi.Input[bool]] = None, description: Optional[pulumi.Input[str]] = None, + disk_controller_type_nvme_enabled: Optional[pulumi.Input[bool]] = None, disk_types_not_alloweds: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, end_of_life_date: Optional[pulumi.Input[str]] = None, eula: Optional[pulumi.Input[str]] = None, @@ -501,6 +518,7 @@ def __init__(__self__, *, > **Note:**: Only one of `trusted_launch_supported`, `trusted_launch_enabled`, `confidential_vm_supported` and `confidential_vm_enabled` can be specified. :param pulumi.Input[bool] confidential_vm_supported: Specifies if supports creation of both Confidential virtual machines and Gen2 virtual machines with standard security from a compatible Gen2 OS disk VHD or Gen2 Managed image. Changing this forces a new resource to be created. :param pulumi.Input[str] description: A description of this Shared Image. + :param pulumi.Input[bool] disk_controller_type_nvme_enabled: Specifies if the Shared Image supports NVMe disks. Changing this forces a new resource to be created. :param pulumi.Input[Sequence[pulumi.Input[str]]] disk_types_not_alloweds: One or more Disk Types not allowed for the Image. Possible values include `Standard_LRS` and `Premium_LRS`. :param pulumi.Input[str] end_of_life_date: The end of life date in RFC3339 format of the Image. :param pulumi.Input[str] eula: The End User Licence Agreement for the Shared Image. Changing this forces a new resource to be created. @@ -536,6 +554,8 @@ def __init__(__self__, *, pulumi.set(__self__, "confidential_vm_supported", confidential_vm_supported) if description is not None: pulumi.set(__self__, "description", description) + if disk_controller_type_nvme_enabled is not None: + pulumi.set(__self__, "disk_controller_type_nvme_enabled", disk_controller_type_nvme_enabled) if disk_types_not_alloweds is not None: pulumi.set(__self__, "disk_types_not_alloweds", disk_types_not_alloweds) if end_of_life_date is not None: @@ -643,6 +663,18 @@ def description(self) -> Optional[pulumi.Input[str]]: def description(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "description", value) + @property + @pulumi.getter(name="diskControllerTypeNvmeEnabled") + def disk_controller_type_nvme_enabled(self) -> Optional[pulumi.Input[bool]]: + """ + Specifies if the Shared Image supports NVMe disks. Changing this forces a new resource to be created. + """ + return pulumi.get(self, "disk_controller_type_nvme_enabled") + + @disk_controller_type_nvme_enabled.setter + def disk_controller_type_nvme_enabled(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "disk_controller_type_nvme_enabled", value) + @property @pulumi.getter(name="diskTypesNotAlloweds") def disk_types_not_alloweds(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: @@ -920,6 +952,7 @@ def __init__(__self__, confidential_vm_enabled: Optional[pulumi.Input[bool]] = None, confidential_vm_supported: Optional[pulumi.Input[bool]] = None, description: Optional[pulumi.Input[str]] = None, + disk_controller_type_nvme_enabled: Optional[pulumi.Input[bool]] = None, disk_types_not_alloweds: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, end_of_life_date: Optional[pulumi.Input[str]] = None, eula: Optional[pulumi.Input[str]] = None, @@ -994,6 +1027,7 @@ def __init__(__self__, > **Note:**: Only one of `trusted_launch_supported`, `trusted_launch_enabled`, `confidential_vm_supported` and `confidential_vm_enabled` can be specified. :param pulumi.Input[bool] confidential_vm_supported: Specifies if supports creation of both Confidential virtual machines and Gen2 virtual machines with standard security from a compatible Gen2 OS disk VHD or Gen2 Managed image. Changing this forces a new resource to be created. :param pulumi.Input[str] description: A description of this Shared Image. + :param pulumi.Input[bool] disk_controller_type_nvme_enabled: Specifies if the Shared Image supports NVMe disks. Changing this forces a new resource to be created. :param pulumi.Input[Sequence[pulumi.Input[str]]] disk_types_not_alloweds: One or more Disk Types not allowed for the Image. Possible values include `Standard_LRS` and `Premium_LRS`. :param pulumi.Input[str] end_of_life_date: The end of life date in RFC3339 format of the Image. :param pulumi.Input[str] eula: The End User Licence Agreement for the Shared Image. Changing this forces a new resource to be created. @@ -1087,6 +1121,7 @@ def _internal_init(__self__, confidential_vm_enabled: Optional[pulumi.Input[bool]] = None, confidential_vm_supported: Optional[pulumi.Input[bool]] = None, description: Optional[pulumi.Input[str]] = None, + disk_controller_type_nvme_enabled: Optional[pulumi.Input[bool]] = None, disk_types_not_alloweds: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, end_of_life_date: Optional[pulumi.Input[str]] = None, eula: Optional[pulumi.Input[str]] = None, @@ -1123,6 +1158,7 @@ def _internal_init(__self__, __props__.__dict__["confidential_vm_enabled"] = confidential_vm_enabled __props__.__dict__["confidential_vm_supported"] = confidential_vm_supported __props__.__dict__["description"] = description + __props__.__dict__["disk_controller_type_nvme_enabled"] = disk_controller_type_nvme_enabled __props__.__dict__["disk_types_not_alloweds"] = disk_types_not_alloweds __props__.__dict__["end_of_life_date"] = end_of_life_date __props__.__dict__["eula"] = eula @@ -1168,6 +1204,7 @@ def get(resource_name: str, confidential_vm_enabled: Optional[pulumi.Input[bool]] = None, confidential_vm_supported: Optional[pulumi.Input[bool]] = None, description: Optional[pulumi.Input[str]] = None, + disk_controller_type_nvme_enabled: Optional[pulumi.Input[bool]] = None, disk_types_not_alloweds: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, end_of_life_date: Optional[pulumi.Input[str]] = None, eula: Optional[pulumi.Input[str]] = None, @@ -1204,6 +1241,7 @@ def get(resource_name: str, > **Note:**: Only one of `trusted_launch_supported`, `trusted_launch_enabled`, `confidential_vm_supported` and `confidential_vm_enabled` can be specified. :param pulumi.Input[bool] confidential_vm_supported: Specifies if supports creation of both Confidential virtual machines and Gen2 virtual machines with standard security from a compatible Gen2 OS disk VHD or Gen2 Managed image. Changing this forces a new resource to be created. :param pulumi.Input[str] description: A description of this Shared Image. + :param pulumi.Input[bool] disk_controller_type_nvme_enabled: Specifies if the Shared Image supports NVMe disks. Changing this forces a new resource to be created. :param pulumi.Input[Sequence[pulumi.Input[str]]] disk_types_not_alloweds: One or more Disk Types not allowed for the Image. Possible values include `Standard_LRS` and `Premium_LRS`. :param pulumi.Input[str] end_of_life_date: The end of life date in RFC3339 format of the Image. :param pulumi.Input[str] eula: The End User Licence Agreement for the Shared Image. Changing this forces a new resource to be created. @@ -1238,6 +1276,7 @@ def get(resource_name: str, __props__.__dict__["confidential_vm_enabled"] = confidential_vm_enabled __props__.__dict__["confidential_vm_supported"] = confidential_vm_supported __props__.__dict__["description"] = description + __props__.__dict__["disk_controller_type_nvme_enabled"] = disk_controller_type_nvme_enabled __props__.__dict__["disk_types_not_alloweds"] = disk_types_not_alloweds __props__.__dict__["end_of_life_date"] = end_of_life_date __props__.__dict__["eula"] = eula @@ -1304,6 +1343,14 @@ def description(self) -> pulumi.Output[Optional[str]]: """ return pulumi.get(self, "description") + @property + @pulumi.getter(name="diskControllerTypeNvmeEnabled") + def disk_controller_type_nvme_enabled(self) -> pulumi.Output[Optional[bool]]: + """ + Specifies if the Shared Image supports NVMe disks. Changing this forces a new resource to be created. + """ + return pulumi.get(self, "disk_controller_type_nvme_enabled") + @property @pulumi.getter(name="diskTypesNotAlloweds") def disk_types_not_alloweds(self) -> pulumi.Output[Optional[Sequence[str]]]: diff --git a/sdk/python/pulumi_azure/compute/windows_virtual_machine_scale_set.py b/sdk/python/pulumi_azure/compute/windows_virtual_machine_scale_set.py index 5e9f0806cc..0c720ee138 100644 --- a/sdk/python/pulumi_azure/compute/windows_virtual_machine_scale_set.py +++ b/sdk/python/pulumi_azure/compute/windows_virtual_machine_scale_set.py @@ -157,7 +157,9 @@ def __init__(__self__, *, :param pulumi.Input[bool] zone_balance: Should the Virtual Machines in this Scale Set be strictly evenly distributed across Availability Zones? Defaults to `false`. Changing this forces a new resource to be created. > **Note:** This can only be set to `true` when one or more `zones` are configured. - :param pulumi.Input[Sequence[pulumi.Input[str]]] 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. + :param pulumi.Input[Sequence[pulumi.Input[str]]] zones: 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. """ pulumi.set(__self__, "admin_password", admin_password) pulumi.set(__self__, "admin_username", admin_username) @@ -938,7 +940,9 @@ def zone_balance(self, value: Optional[pulumi.Input[bool]]): @pulumi.getter def zones(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: """ - 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. """ return pulumi.get(self, "zones") @@ -1088,7 +1092,9 @@ def __init__(__self__, *, :param pulumi.Input[bool] zone_balance: Should the Virtual Machines in this Scale Set be strictly evenly distributed across Availability Zones? Defaults to `false`. Changing this forces a new resource to be created. > **Note:** This can only be set to `true` when one or more `zones` are configured. - :param pulumi.Input[Sequence[pulumi.Input[str]]] 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. + :param pulumi.Input[Sequence[pulumi.Input[str]]] zones: 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. """ if additional_capabilities is not None: pulumi.set(__self__, "additional_capabilities", additional_capabilities) @@ -1890,7 +1896,9 @@ def zone_balance(self, value: Optional[pulumi.Input[bool]]): @pulumi.getter def zones(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: """ - 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. """ return pulumi.get(self, "zones") @@ -2113,7 +2121,9 @@ def __init__(__self__, :param pulumi.Input[bool] zone_balance: Should the Virtual Machines in this Scale Set be strictly evenly distributed across Availability Zones? Defaults to `false`. Changing this forces a new resource to be created. > **Note:** This can only be set to `true` when one or more `zones` are configured. - :param pulumi.Input[Sequence[pulumi.Input[str]]] 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. + :param pulumi.Input[Sequence[pulumi.Input[str]]] zones: 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. """ ... @overload @@ -2497,7 +2507,9 @@ def get(resource_name: str, :param pulumi.Input[bool] zone_balance: Should the Virtual Machines in this Scale Set be strictly evenly distributed across Availability Zones? Defaults to `false`. Changing this forces a new resource to be created. > **Note:** This can only be set to `true` when one or more `zones` are configured. - :param pulumi.Input[Sequence[pulumi.Input[str]]] 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. + :param pulumi.Input[Sequence[pulumi.Input[str]]] zones: 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. """ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) @@ -3028,7 +3040,9 @@ def zone_balance(self) -> pulumi.Output[Optional[bool]]: @pulumi.getter def zones(self) -> pulumi.Output[Optional[Sequence[str]]]: """ - 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. """ return pulumi.get(self, "zones") diff --git a/sdk/python/pulumi_azure/containerapp/_inputs.py b/sdk/python/pulumi_azure/containerapp/_inputs.py index 2590e8c908..c1a83b8bde 100644 --- a/sdk/python/pulumi_azure/containerapp/_inputs.py +++ b/sdk/python/pulumi_azure/containerapp/_inputs.py @@ -662,7 +662,7 @@ class AppIngressTrafficWeightArgsDict(TypedDict): """ 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. """ elif False: AppIngressTrafficWeightArgsDict: TypeAlias = Mapping[str, Any] @@ -682,7 +682,7 @@ def __init__(__self__, *, :param pulumi.Input[bool] latest_revision: This traffic Weight applies to the latest stable Container Revision. At most only one `traffic_weight` block can have the `latest_revision` set to `true`. :param pulumi.Input[str] revision_suffix: 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. """ pulumi.set(__self__, "percentage", percentage) if label is not None: @@ -736,7 +736,7 @@ def revision_suffix(self) -> Optional[pulumi.Input[str]]: """ 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. """ return pulumi.get(self, "revision_suffix") diff --git a/sdk/python/pulumi_azure/containerapp/custom_domain.py b/sdk/python/pulumi_azure/containerapp/custom_domain.py index 74589fd77b..b8b38cbfe2 100644 --- a/sdk/python/pulumi_azure/containerapp/custom_domain.py +++ b/sdk/python/pulumi_azure/containerapp/custom_domain.py @@ -100,6 +100,7 @@ class _CustomDomainState: def __init__(__self__, *, certificate_binding_type: Optional[pulumi.Input[str]] = None, container_app_environment_certificate_id: Optional[pulumi.Input[str]] = None, + container_app_environment_managed_certificate_id: Optional[pulumi.Input[str]] = None, container_app_id: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None): """ @@ -108,6 +109,7 @@ def __init__(__self__, *, :param pulumi.Input[str] container_app_environment_certificate_id: The ID of the Container App Environment Certificate to use. Changing this forces a new resource to be created. > **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. + :param pulumi.Input[str] container_app_environment_managed_certificate_id: The ID of the Container App Environment Managed Certificate to use. :param pulumi.Input[str] container_app_id: The ID of the Container App to which this Custom Domain should be bound. Changing this forces a new resource to be created. :param pulumi.Input[str] name: The fully qualified name of the Custom Domain. Must be the CN or a named SAN in the certificate specified by the `container_app_environment_certificate_id`. Changing this forces a new resource to be created. @@ -117,6 +119,8 @@ def __init__(__self__, *, pulumi.set(__self__, "certificate_binding_type", certificate_binding_type) if container_app_environment_certificate_id is not None: pulumi.set(__self__, "container_app_environment_certificate_id", container_app_environment_certificate_id) + if container_app_environment_managed_certificate_id is not None: + pulumi.set(__self__, "container_app_environment_managed_certificate_id", container_app_environment_managed_certificate_id) if container_app_id is not None: pulumi.set(__self__, "container_app_id", container_app_id) if name is not None: @@ -148,6 +152,18 @@ def container_app_environment_certificate_id(self) -> Optional[pulumi.Input[str] def container_app_environment_certificate_id(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "container_app_environment_certificate_id", value) + @property + @pulumi.getter(name="containerAppEnvironmentManagedCertificateId") + def container_app_environment_managed_certificate_id(self) -> Optional[pulumi.Input[str]]: + """ + The ID of the Container App Environment Managed Certificate to use. + """ + return pulumi.get(self, "container_app_environment_managed_certificate_id") + + @container_app_environment_managed_certificate_id.setter + def container_app_environment_managed_certificate_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "container_app_environment_managed_certificate_id", value) + @property @pulumi.getter(name="containerAppId") def container_app_id(self) -> Optional[pulumi.Input[str]]: @@ -284,6 +300,7 @@ def _internal_init(__self__, raise TypeError("Missing required property 'container_app_id'") __props__.__dict__["container_app_id"] = container_app_id __props__.__dict__["name"] = name + __props__.__dict__["container_app_environment_managed_certificate_id"] = None super(CustomDomain, __self__).__init__( 'azure:containerapp/customDomain:CustomDomain', resource_name, @@ -296,6 +313,7 @@ def get(resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, certificate_binding_type: Optional[pulumi.Input[str]] = None, container_app_environment_certificate_id: Optional[pulumi.Input[str]] = None, + container_app_environment_managed_certificate_id: Optional[pulumi.Input[str]] = None, container_app_id: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None) -> 'CustomDomain': """ @@ -309,6 +327,7 @@ def get(resource_name: str, :param pulumi.Input[str] container_app_environment_certificate_id: The ID of the Container App Environment Certificate to use. Changing this forces a new resource to be created. > **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. + :param pulumi.Input[str] container_app_environment_managed_certificate_id: The ID of the Container App Environment Managed Certificate to use. :param pulumi.Input[str] container_app_id: The ID of the Container App to which this Custom Domain should be bound. Changing this forces a new resource to be created. :param pulumi.Input[str] name: The fully qualified name of the Custom Domain. Must be the CN or a named SAN in the certificate specified by the `container_app_environment_certificate_id`. Changing this forces a new resource to be created. @@ -320,6 +339,7 @@ def get(resource_name: str, __props__.__dict__["certificate_binding_type"] = certificate_binding_type __props__.__dict__["container_app_environment_certificate_id"] = container_app_environment_certificate_id + __props__.__dict__["container_app_environment_managed_certificate_id"] = container_app_environment_managed_certificate_id __props__.__dict__["container_app_id"] = container_app_id __props__.__dict__["name"] = name return CustomDomain(resource_name, opts=opts, __props__=__props__) @@ -342,6 +362,14 @@ def container_app_environment_certificate_id(self) -> pulumi.Output[Optional[str """ return pulumi.get(self, "container_app_environment_certificate_id") + @property + @pulumi.getter(name="containerAppEnvironmentManagedCertificateId") + def container_app_environment_managed_certificate_id(self) -> pulumi.Output[str]: + """ + The ID of the Container App Environment Managed Certificate to use. + """ + return pulumi.get(self, "container_app_environment_managed_certificate_id") + @property @pulumi.getter(name="containerAppId") def container_app_id(self) -> pulumi.Output[str]: diff --git a/sdk/python/pulumi_azure/containerapp/outputs.py b/sdk/python/pulumi_azure/containerapp/outputs.py index 25c4a70508..dba21a348a 100644 --- a/sdk/python/pulumi_azure/containerapp/outputs.py +++ b/sdk/python/pulumi_azure/containerapp/outputs.py @@ -549,7 +549,7 @@ def __init__(__self__, *, :param bool latest_revision: This traffic Weight applies to the latest stable Container Revision. At most only one `traffic_weight` block can have the `latest_revision` set to `true`. :param str revision_suffix: 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. """ pulumi.set(__self__, "percentage", percentage) if label is not None: @@ -591,7 +591,7 @@ def revision_suffix(self) -> Optional[str]: """ 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. """ return pulumi.get(self, "revision_suffix") diff --git a/sdk/python/pulumi_azure/containerservice/registry.py b/sdk/python/pulumi_azure/containerservice/registry.py index 684b2d7f76..31fcdf9512 100644 --- a/sdk/python/pulumi_azure/containerservice/registry.py +++ b/sdk/python/pulumi_azure/containerservice/registry.py @@ -51,7 +51,7 @@ def __init__(__self__, *, :param pulumi.Input[bool] export_policy_enabled: Boolean value that indicates whether export policy is enabled. Defaults to `true`. In order to set it to `false`, make sure the `public_network_access_enabled` is also set to `false`. > **NOTE:** `quarantine_policy_enabled`, `retention_policy_in_days`, `trust_policy_enabled`, `export_policy_enabled` and `zone_redundancy_enabled` are only supported on resources with the `Premium` SKU. - :param pulumi.Input[Sequence[pulumi.Input['RegistryGeoreplicationArgs']]] georeplications: A `georeplications` block as documented below. + :param pulumi.Input[Sequence[pulumi.Input['RegistryGeoreplicationArgs']]] georeplications: One or more `georeplications` blocks as documented below. > **NOTE:** The `georeplications` is only supported on new resources with the `Premium` SKU. @@ -197,7 +197,7 @@ def export_policy_enabled(self, value: Optional[pulumi.Input[bool]]): @pulumi.getter def georeplications(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['RegistryGeoreplicationArgs']]]]: """ - 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. @@ -380,7 +380,7 @@ def __init__(__self__, *, :param pulumi.Input[bool] export_policy_enabled: Boolean value that indicates whether export policy is enabled. Defaults to `true`. In order to set it to `false`, make sure the `public_network_access_enabled` is also set to `false`. > **NOTE:** `quarantine_policy_enabled`, `retention_policy_in_days`, `trust_policy_enabled`, `export_policy_enabled` and `zone_redundancy_enabled` are only supported on resources with the `Premium` SKU. - :param pulumi.Input[Sequence[pulumi.Input['RegistryGeoreplicationArgs']]] georeplications: A `georeplications` block as documented below. + :param pulumi.Input[Sequence[pulumi.Input['RegistryGeoreplicationArgs']]] georeplications: One or more `georeplications` blocks as documented below. > **NOTE:** The `georeplications` is only supported on new resources with the `Premium` SKU. @@ -537,7 +537,7 @@ def export_policy_enabled(self, value: Optional[pulumi.Input[bool]]): @pulumi.getter def georeplications(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['RegistryGeoreplicationArgs']]]]: """ - 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. @@ -831,7 +831,7 @@ def __init__(__self__, :param pulumi.Input[bool] export_policy_enabled: Boolean value that indicates whether export policy is enabled. Defaults to `true`. In order to set it to `false`, make sure the `public_network_access_enabled` is also set to `false`. > **NOTE:** `quarantine_policy_enabled`, `retention_policy_in_days`, `trust_policy_enabled`, `export_policy_enabled` and `zone_redundancy_enabled` are only supported on resources with the `Premium` SKU. - :param pulumi.Input[Sequence[pulumi.Input[Union['RegistryGeoreplicationArgs', 'RegistryGeoreplicationArgsDict']]]] georeplications: A `georeplications` block as documented below. + :param pulumi.Input[Sequence[pulumi.Input[Union['RegistryGeoreplicationArgs', 'RegistryGeoreplicationArgsDict']]]] georeplications: One or more `georeplications` blocks as documented below. > **NOTE:** The `georeplications` is only supported on new resources with the `Premium` SKU. @@ -1054,7 +1054,7 @@ def get(resource_name: str, :param pulumi.Input[bool] export_policy_enabled: Boolean value that indicates whether export policy is enabled. Defaults to `true`. In order to set it to `false`, make sure the `public_network_access_enabled` is also set to `false`. > **NOTE:** `quarantine_policy_enabled`, `retention_policy_in_days`, `trust_policy_enabled`, `export_policy_enabled` and `zone_redundancy_enabled` are only supported on resources with the `Premium` SKU. - :param pulumi.Input[Sequence[pulumi.Input[Union['RegistryGeoreplicationArgs', 'RegistryGeoreplicationArgsDict']]]] georeplications: A `georeplications` block as documented below. + :param pulumi.Input[Sequence[pulumi.Input[Union['RegistryGeoreplicationArgs', 'RegistryGeoreplicationArgsDict']]]] georeplications: One or more `georeplications` blocks as documented below. > **NOTE:** The `georeplications` is only supported on new resources with the `Premium` SKU. @@ -1166,7 +1166,7 @@ def export_policy_enabled(self) -> pulumi.Output[Optional[bool]]: @pulumi.getter def georeplications(self) -> pulumi.Output[Optional[Sequence['outputs.RegistryGeoreplication']]]: """ - 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/python/pulumi_azure/dataprotection/__init__.py b/sdk/python/pulumi_azure/dataprotection/__init__.py index 705793b610..fc5db35ee9 100644 --- a/sdk/python/pulumi_azure/dataprotection/__init__.py +++ b/sdk/python/pulumi_azure/dataprotection/__init__.py @@ -13,6 +13,7 @@ from .backup_policy_blob_storage import * from .backup_policy_disk import * from .backup_policy_kubernetes_cluster import * +from .backup_policy_mysql_flexible_server import * from .backup_policy_postgresql import * from .backup_policy_postgresql_flexible_server import * from .backup_vault import * diff --git a/sdk/python/pulumi_azure/dataprotection/_inputs.py b/sdk/python/pulumi_azure/dataprotection/_inputs.py index 509738c9e6..e12ec3c86c 100644 --- a/sdk/python/pulumi_azure/dataprotection/_inputs.py +++ b/sdk/python/pulumi_azure/dataprotection/_inputs.py @@ -37,6 +37,16 @@ 'BackupPolicyKubernetesClusterRetentionRuleCriteriaArgsDict', 'BackupPolicyKubernetesClusterRetentionRuleLifeCycleArgs', 'BackupPolicyKubernetesClusterRetentionRuleLifeCycleArgsDict', + 'BackupPolicyMysqlFlexibleServerDefaultRetentionRuleArgs', + 'BackupPolicyMysqlFlexibleServerDefaultRetentionRuleArgsDict', + 'BackupPolicyMysqlFlexibleServerDefaultRetentionRuleLifeCycleArgs', + 'BackupPolicyMysqlFlexibleServerDefaultRetentionRuleLifeCycleArgsDict', + 'BackupPolicyMysqlFlexibleServerRetentionRuleArgs', + 'BackupPolicyMysqlFlexibleServerRetentionRuleArgsDict', + 'BackupPolicyMysqlFlexibleServerRetentionRuleCriteriaArgs', + 'BackupPolicyMysqlFlexibleServerRetentionRuleCriteriaArgsDict', + 'BackupPolicyMysqlFlexibleServerRetentionRuleLifeCycleArgs', + 'BackupPolicyMysqlFlexibleServerRetentionRuleLifeCycleArgsDict', 'BackupPolicyPostgresqlFlexibleServerDefaultRetentionRuleArgs', 'BackupPolicyPostgresqlFlexibleServerDefaultRetentionRuleArgsDict', 'BackupPolicyPostgresqlFlexibleServerDefaultRetentionRuleLifeCycleArgs', @@ -930,6 +940,337 @@ def duration(self, value: pulumi.Input[str]): pulumi.set(self, "duration", value) +if not MYPY: + class BackupPolicyMysqlFlexibleServerDefaultRetentionRuleArgsDict(TypedDict): + life_cycles: pulumi.Input[Sequence[pulumi.Input['BackupPolicyMysqlFlexibleServerDefaultRetentionRuleLifeCycleArgsDict']]] + """ + A `life_cycle` block as defined below. Changing this forces a new resource to be created. + """ +elif False: + BackupPolicyMysqlFlexibleServerDefaultRetentionRuleArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class BackupPolicyMysqlFlexibleServerDefaultRetentionRuleArgs: + def __init__(__self__, *, + life_cycles: pulumi.Input[Sequence[pulumi.Input['BackupPolicyMysqlFlexibleServerDefaultRetentionRuleLifeCycleArgs']]]): + """ + :param pulumi.Input[Sequence[pulumi.Input['BackupPolicyMysqlFlexibleServerDefaultRetentionRuleLifeCycleArgs']]] life_cycles: A `life_cycle` block as defined below. Changing this forces a new resource to be created. + """ + pulumi.set(__self__, "life_cycles", life_cycles) + + @property + @pulumi.getter(name="lifeCycles") + def life_cycles(self) -> pulumi.Input[Sequence[pulumi.Input['BackupPolicyMysqlFlexibleServerDefaultRetentionRuleLifeCycleArgs']]]: + """ + A `life_cycle` block as defined below. Changing this forces a new resource to be created. + """ + return pulumi.get(self, "life_cycles") + + @life_cycles.setter + def life_cycles(self, value: pulumi.Input[Sequence[pulumi.Input['BackupPolicyMysqlFlexibleServerDefaultRetentionRuleLifeCycleArgs']]]): + pulumi.set(self, "life_cycles", value) + + +if not MYPY: + class BackupPolicyMysqlFlexibleServerDefaultRetentionRuleLifeCycleArgsDict(TypedDict): + data_store_type: pulumi.Input[str] + """ + The type of data store. The only possible value is `VaultStore`. Changing this forces a new resource to be created. + """ + duration: pulumi.Input[str] + """ + 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. + """ +elif False: + BackupPolicyMysqlFlexibleServerDefaultRetentionRuleLifeCycleArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class BackupPolicyMysqlFlexibleServerDefaultRetentionRuleLifeCycleArgs: + def __init__(__self__, *, + data_store_type: pulumi.Input[str], + duration: pulumi.Input[str]): + """ + :param pulumi.Input[str] data_store_type: The type of data store. The only possible value is `VaultStore`. Changing this forces a new resource to be created. + :param pulumi.Input[str] duration: 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. + """ + pulumi.set(__self__, "data_store_type", data_store_type) + pulumi.set(__self__, "duration", duration) + + @property + @pulumi.getter(name="dataStoreType") + def data_store_type(self) -> pulumi.Input[str]: + """ + The type of data store. The only possible value is `VaultStore`. Changing this forces a new resource to be created. + """ + return pulumi.get(self, "data_store_type") + + @data_store_type.setter + def data_store_type(self, value: pulumi.Input[str]): + pulumi.set(self, "data_store_type", value) + + @property + @pulumi.getter + def duration(self) -> pulumi.Input[str]: + """ + 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. + """ + return pulumi.get(self, "duration") + + @duration.setter + def duration(self, value: pulumi.Input[str]): + pulumi.set(self, "duration", value) + + +if not MYPY: + class BackupPolicyMysqlFlexibleServerRetentionRuleArgsDict(TypedDict): + criteria: pulumi.Input['BackupPolicyMysqlFlexibleServerRetentionRuleCriteriaArgsDict'] + """ + A `criteria` block as defined below. Changing this forces a new resource to be created. + """ + life_cycles: pulumi.Input[Sequence[pulumi.Input['BackupPolicyMysqlFlexibleServerRetentionRuleLifeCycleArgsDict']]] + """ + A `life_cycle` block as defined below. Changing this forces a new resource to be created. + """ + name: pulumi.Input[str] + """ + Specifies the name of the retention rule. Changing this forces a new resource to be created. + """ + priority: pulumi.Input[int] + """ + 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. + """ +elif False: + BackupPolicyMysqlFlexibleServerRetentionRuleArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class BackupPolicyMysqlFlexibleServerRetentionRuleArgs: + def __init__(__self__, *, + criteria: pulumi.Input['BackupPolicyMysqlFlexibleServerRetentionRuleCriteriaArgs'], + life_cycles: pulumi.Input[Sequence[pulumi.Input['BackupPolicyMysqlFlexibleServerRetentionRuleLifeCycleArgs']]], + name: pulumi.Input[str], + priority: pulumi.Input[int]): + """ + :param pulumi.Input['BackupPolicyMysqlFlexibleServerRetentionRuleCriteriaArgs'] criteria: A `criteria` block as defined below. Changing this forces a new resource to be created. + :param pulumi.Input[Sequence[pulumi.Input['BackupPolicyMysqlFlexibleServerRetentionRuleLifeCycleArgs']]] life_cycles: A `life_cycle` block as defined below. Changing this forces a new resource to be created. + :param pulumi.Input[str] name: Specifies the name of the retention rule. Changing this forces a new resource to be created. + :param pulumi.Input[int] priority: 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. + """ + pulumi.set(__self__, "criteria", criteria) + pulumi.set(__self__, "life_cycles", life_cycles) + pulumi.set(__self__, "name", name) + pulumi.set(__self__, "priority", priority) + + @property + @pulumi.getter + def criteria(self) -> pulumi.Input['BackupPolicyMysqlFlexibleServerRetentionRuleCriteriaArgs']: + """ + A `criteria` block as defined below. Changing this forces a new resource to be created. + """ + return pulumi.get(self, "criteria") + + @criteria.setter + def criteria(self, value: pulumi.Input['BackupPolicyMysqlFlexibleServerRetentionRuleCriteriaArgs']): + pulumi.set(self, "criteria", value) + + @property + @pulumi.getter(name="lifeCycles") + def life_cycles(self) -> pulumi.Input[Sequence[pulumi.Input['BackupPolicyMysqlFlexibleServerRetentionRuleLifeCycleArgs']]]: + """ + A `life_cycle` block as defined below. Changing this forces a new resource to be created. + """ + return pulumi.get(self, "life_cycles") + + @life_cycles.setter + def life_cycles(self, value: pulumi.Input[Sequence[pulumi.Input['BackupPolicyMysqlFlexibleServerRetentionRuleLifeCycleArgs']]]): + pulumi.set(self, "life_cycles", value) + + @property + @pulumi.getter + def name(self) -> pulumi.Input[str]: + """ + Specifies the name of the retention rule. Changing this forces a new resource to be created. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: pulumi.Input[str]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter + def priority(self) -> pulumi.Input[int]: + """ + 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. + """ + return pulumi.get(self, "priority") + + @priority.setter + def priority(self, value: pulumi.Input[int]): + pulumi.set(self, "priority", value) + + +if not MYPY: + class BackupPolicyMysqlFlexibleServerRetentionRuleCriteriaArgsDict(TypedDict): + absolute_criteria: NotRequired[pulumi.Input[str]] + """ + 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. + """ + days_of_weeks: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]] + """ + Possible values are `Monday`, `Tuesday`, `Thursday`, `Friday`, `Saturday` and `Sunday`. Changing this forces a new resource to be created. + """ + months_of_years: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]] + """ + 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. + """ + scheduled_backup_times: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]] + """ + Specifies a list of backup times for backup in the `RFC3339` format. Changing this forces a new resource to be created. + """ + weeks_of_months: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]] + """ + Possible values are `First`, `Second`, `Third`, `Fourth` and `Last`. Changing this forces a new resource to be created. + """ +elif False: + BackupPolicyMysqlFlexibleServerRetentionRuleCriteriaArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class BackupPolicyMysqlFlexibleServerRetentionRuleCriteriaArgs: + def __init__(__self__, *, + absolute_criteria: Optional[pulumi.Input[str]] = None, + days_of_weeks: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + months_of_years: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + scheduled_backup_times: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + weeks_of_months: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): + """ + :param pulumi.Input[str] absolute_criteria: 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. + :param pulumi.Input[Sequence[pulumi.Input[str]]] days_of_weeks: Possible values are `Monday`, `Tuesday`, `Thursday`, `Friday`, `Saturday` and `Sunday`. Changing this forces a new resource to be created. + :param pulumi.Input[Sequence[pulumi.Input[str]]] months_of_years: 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. + :param pulumi.Input[Sequence[pulumi.Input[str]]] scheduled_backup_times: Specifies a list of backup times for backup in the `RFC3339` format. Changing this forces a new resource to be created. + :param pulumi.Input[Sequence[pulumi.Input[str]]] weeks_of_months: Possible values are `First`, `Second`, `Third`, `Fourth` and `Last`. Changing this forces a new resource to be created. + """ + if absolute_criteria is not None: + pulumi.set(__self__, "absolute_criteria", absolute_criteria) + if days_of_weeks is not None: + pulumi.set(__self__, "days_of_weeks", days_of_weeks) + if months_of_years is not None: + pulumi.set(__self__, "months_of_years", months_of_years) + if scheduled_backup_times is not None: + pulumi.set(__self__, "scheduled_backup_times", scheduled_backup_times) + if weeks_of_months is not None: + pulumi.set(__self__, "weeks_of_months", weeks_of_months) + + @property + @pulumi.getter(name="absoluteCriteria") + def absolute_criteria(self) -> Optional[pulumi.Input[str]]: + """ + 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. + """ + return pulumi.get(self, "absolute_criteria") + + @absolute_criteria.setter + def absolute_criteria(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "absolute_criteria", value) + + @property + @pulumi.getter(name="daysOfWeeks") + def days_of_weeks(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Possible values are `Monday`, `Tuesday`, `Thursday`, `Friday`, `Saturday` and `Sunday`. Changing this forces a new resource to be created. + """ + return pulumi.get(self, "days_of_weeks") + + @days_of_weeks.setter + def days_of_weeks(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "days_of_weeks", value) + + @property + @pulumi.getter(name="monthsOfYears") + def months_of_years(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + 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. + """ + return pulumi.get(self, "months_of_years") + + @months_of_years.setter + def months_of_years(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "months_of_years", value) + + @property + @pulumi.getter(name="scheduledBackupTimes") + def scheduled_backup_times(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Specifies a list of backup times for backup in the `RFC3339` format. Changing this forces a new resource to be created. + """ + return pulumi.get(self, "scheduled_backup_times") + + @scheduled_backup_times.setter + def scheduled_backup_times(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "scheduled_backup_times", value) + + @property + @pulumi.getter(name="weeksOfMonths") + def weeks_of_months(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Possible values are `First`, `Second`, `Third`, `Fourth` and `Last`. Changing this forces a new resource to be created. + """ + return pulumi.get(self, "weeks_of_months") + + @weeks_of_months.setter + def weeks_of_months(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "weeks_of_months", value) + + +if not MYPY: + class BackupPolicyMysqlFlexibleServerRetentionRuleLifeCycleArgsDict(TypedDict): + data_store_type: pulumi.Input[str] + """ + The type of data store. The only possible value is `VaultStore`. Changing this forces a new resource to be created. + """ + duration: pulumi.Input[str] + """ + 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. + """ +elif False: + BackupPolicyMysqlFlexibleServerRetentionRuleLifeCycleArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class BackupPolicyMysqlFlexibleServerRetentionRuleLifeCycleArgs: + def __init__(__self__, *, + data_store_type: pulumi.Input[str], + duration: pulumi.Input[str]): + """ + :param pulumi.Input[str] data_store_type: The type of data store. The only possible value is `VaultStore`. Changing this forces a new resource to be created. + :param pulumi.Input[str] duration: 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. + """ + pulumi.set(__self__, "data_store_type", data_store_type) + pulumi.set(__self__, "duration", duration) + + @property + @pulumi.getter(name="dataStoreType") + def data_store_type(self) -> pulumi.Input[str]: + """ + The type of data store. The only possible value is `VaultStore`. Changing this forces a new resource to be created. + """ + return pulumi.get(self, "data_store_type") + + @data_store_type.setter + def data_store_type(self, value: pulumi.Input[str]): + pulumi.set(self, "data_store_type", value) + + @property + @pulumi.getter + def duration(self) -> pulumi.Input[str]: + """ + 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. + """ + return pulumi.get(self, "duration") + + @duration.setter + def duration(self, value: pulumi.Input[str]): + pulumi.set(self, "duration", value) + + if not MYPY: class BackupPolicyPostgresqlFlexibleServerDefaultRetentionRuleArgsDict(TypedDict): life_cycles: pulumi.Input[Sequence[pulumi.Input['BackupPolicyPostgresqlFlexibleServerDefaultRetentionRuleLifeCycleArgsDict']]] diff --git a/sdk/python/pulumi_azure/dataprotection/backup_policy_mysql_flexible_server.py b/sdk/python/pulumi_azure/dataprotection/backup_policy_mysql_flexible_server.py new file mode 100644 index 0000000000..e2b306aa3c --- /dev/null +++ b/sdk/python/pulumi_azure/dataprotection/backup_policy_mysql_flexible_server.py @@ -0,0 +1,550 @@ +# coding=utf-8 +# *** 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! *** + +import copy +import warnings +import sys +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias +from .. import _utilities +from . import outputs +from ._inputs import * + +__all__ = ['BackupPolicyMysqlFlexibleServerArgs', 'BackupPolicyMysqlFlexibleServer'] + +@pulumi.input_type +class BackupPolicyMysqlFlexibleServerArgs: + def __init__(__self__, *, + backup_repeating_time_intervals: pulumi.Input[Sequence[pulumi.Input[str]]], + default_retention_rule: pulumi.Input['BackupPolicyMysqlFlexibleServerDefaultRetentionRuleArgs'], + vault_id: pulumi.Input[str], + name: Optional[pulumi.Input[str]] = None, + retention_rules: Optional[pulumi.Input[Sequence[pulumi.Input['BackupPolicyMysqlFlexibleServerRetentionRuleArgs']]]] = None, + time_zone: Optional[pulumi.Input[str]] = None): + """ + The set of arguments for constructing a BackupPolicyMysqlFlexibleServer resource. + :param pulumi.Input[Sequence[pulumi.Input[str]]] backup_repeating_time_intervals: 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. + :param pulumi.Input['BackupPolicyMysqlFlexibleServerDefaultRetentionRuleArgs'] default_retention_rule: A `default_retention_rule` block as defined below. Changing this forces a new resource to be created. + :param pulumi.Input[str] vault_id: The ID of the Backup Vault where the Backup Policy MySQL Flexible Server should exist. Changing this forces a new resource to be created. + :param pulumi.Input[str] name: Specifies the name of the Backup Policy for the MySQL Flexible Server. Changing this forces a new resource to be created. + :param pulumi.Input[Sequence[pulumi.Input['BackupPolicyMysqlFlexibleServerRetentionRuleArgs']]] retention_rules: One or more `retention_rule` blocks as defined below. Changing this forces a new resource to be created. + :param pulumi.Input[str] time_zone: Specifies the Time Zone which should be used by the backup schedule. Changing this forces a new resource to be created. + """ + pulumi.set(__self__, "backup_repeating_time_intervals", backup_repeating_time_intervals) + pulumi.set(__self__, "default_retention_rule", default_retention_rule) + pulumi.set(__self__, "vault_id", vault_id) + if name is not None: + pulumi.set(__self__, "name", name) + if retention_rules is not None: + pulumi.set(__self__, "retention_rules", retention_rules) + if time_zone is not None: + pulumi.set(__self__, "time_zone", time_zone) + + @property + @pulumi.getter(name="backupRepeatingTimeIntervals") + def backup_repeating_time_intervals(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]: + """ + 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. + """ + return pulumi.get(self, "backup_repeating_time_intervals") + + @backup_repeating_time_intervals.setter + def backup_repeating_time_intervals(self, value: pulumi.Input[Sequence[pulumi.Input[str]]]): + pulumi.set(self, "backup_repeating_time_intervals", value) + + @property + @pulumi.getter(name="defaultRetentionRule") + def default_retention_rule(self) -> pulumi.Input['BackupPolicyMysqlFlexibleServerDefaultRetentionRuleArgs']: + """ + A `default_retention_rule` block as defined below. Changing this forces a new resource to be created. + """ + return pulumi.get(self, "default_retention_rule") + + @default_retention_rule.setter + def default_retention_rule(self, value: pulumi.Input['BackupPolicyMysqlFlexibleServerDefaultRetentionRuleArgs']): + pulumi.set(self, "default_retention_rule", value) + + @property + @pulumi.getter(name="vaultId") + def vault_id(self) -> pulumi.Input[str]: + """ + The ID of the Backup Vault where the Backup Policy MySQL Flexible Server should exist. Changing this forces a new resource to be created. + """ + return pulumi.get(self, "vault_id") + + @vault_id.setter + def vault_id(self, value: pulumi.Input[str]): + pulumi.set(self, "vault_id", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Specifies the name of the Backup Policy for the MySQL Flexible Server. Changing this forces a new resource to be created. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter(name="retentionRules") + def retention_rules(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['BackupPolicyMysqlFlexibleServerRetentionRuleArgs']]]]: + """ + One or more `retention_rule` blocks as defined below. Changing this forces a new resource to be created. + """ + return pulumi.get(self, "retention_rules") + + @retention_rules.setter + def retention_rules(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['BackupPolicyMysqlFlexibleServerRetentionRuleArgs']]]]): + pulumi.set(self, "retention_rules", value) + + @property + @pulumi.getter(name="timeZone") + def time_zone(self) -> Optional[pulumi.Input[str]]: + """ + Specifies the Time Zone which should be used by the backup schedule. Changing this forces a new resource to be created. + """ + return pulumi.get(self, "time_zone") + + @time_zone.setter + def time_zone(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "time_zone", value) + + +@pulumi.input_type +class _BackupPolicyMysqlFlexibleServerState: + def __init__(__self__, *, + backup_repeating_time_intervals: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + default_retention_rule: Optional[pulumi.Input['BackupPolicyMysqlFlexibleServerDefaultRetentionRuleArgs']] = None, + name: Optional[pulumi.Input[str]] = None, + retention_rules: Optional[pulumi.Input[Sequence[pulumi.Input['BackupPolicyMysqlFlexibleServerRetentionRuleArgs']]]] = None, + time_zone: Optional[pulumi.Input[str]] = None, + vault_id: Optional[pulumi.Input[str]] = None): + """ + Input properties used for looking up and filtering BackupPolicyMysqlFlexibleServer resources. + :param pulumi.Input[Sequence[pulumi.Input[str]]] backup_repeating_time_intervals: 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. + :param pulumi.Input['BackupPolicyMysqlFlexibleServerDefaultRetentionRuleArgs'] default_retention_rule: A `default_retention_rule` block as defined below. Changing this forces a new resource to be created. + :param pulumi.Input[str] name: Specifies the name of the Backup Policy for the MySQL Flexible Server. Changing this forces a new resource to be created. + :param pulumi.Input[Sequence[pulumi.Input['BackupPolicyMysqlFlexibleServerRetentionRuleArgs']]] retention_rules: One or more `retention_rule` blocks as defined below. Changing this forces a new resource to be created. + :param pulumi.Input[str] time_zone: Specifies the Time Zone which should be used by the backup schedule. Changing this forces a new resource to be created. + :param pulumi.Input[str] vault_id: The ID of the Backup Vault where the Backup Policy MySQL Flexible Server should exist. Changing this forces a new resource to be created. + """ + if backup_repeating_time_intervals is not None: + pulumi.set(__self__, "backup_repeating_time_intervals", backup_repeating_time_intervals) + if default_retention_rule is not None: + pulumi.set(__self__, "default_retention_rule", default_retention_rule) + if name is not None: + pulumi.set(__self__, "name", name) + if retention_rules is not None: + pulumi.set(__self__, "retention_rules", retention_rules) + if time_zone is not None: + pulumi.set(__self__, "time_zone", time_zone) + if vault_id is not None: + pulumi.set(__self__, "vault_id", vault_id) + + @property + @pulumi.getter(name="backupRepeatingTimeIntervals") + def backup_repeating_time_intervals(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + 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. + """ + return pulumi.get(self, "backup_repeating_time_intervals") + + @backup_repeating_time_intervals.setter + def backup_repeating_time_intervals(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "backup_repeating_time_intervals", value) + + @property + @pulumi.getter(name="defaultRetentionRule") + def default_retention_rule(self) -> Optional[pulumi.Input['BackupPolicyMysqlFlexibleServerDefaultRetentionRuleArgs']]: + """ + A `default_retention_rule` block as defined below. Changing this forces a new resource to be created. + """ + return pulumi.get(self, "default_retention_rule") + + @default_retention_rule.setter + def default_retention_rule(self, value: Optional[pulumi.Input['BackupPolicyMysqlFlexibleServerDefaultRetentionRuleArgs']]): + pulumi.set(self, "default_retention_rule", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Specifies the name of the Backup Policy for the MySQL Flexible Server. Changing this forces a new resource to be created. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter(name="retentionRules") + def retention_rules(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['BackupPolicyMysqlFlexibleServerRetentionRuleArgs']]]]: + """ + One or more `retention_rule` blocks as defined below. Changing this forces a new resource to be created. + """ + return pulumi.get(self, "retention_rules") + + @retention_rules.setter + def retention_rules(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['BackupPolicyMysqlFlexibleServerRetentionRuleArgs']]]]): + pulumi.set(self, "retention_rules", value) + + @property + @pulumi.getter(name="timeZone") + def time_zone(self) -> Optional[pulumi.Input[str]]: + """ + Specifies the Time Zone which should be used by the backup schedule. Changing this forces a new resource to be created. + """ + return pulumi.get(self, "time_zone") + + @time_zone.setter + def time_zone(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "time_zone", value) + + @property + @pulumi.getter(name="vaultId") + def vault_id(self) -> Optional[pulumi.Input[str]]: + """ + The ID of the Backup Vault where the Backup Policy MySQL Flexible Server should exist. Changing this forces a new resource to be created. + """ + return pulumi.get(self, "vault_id") + + @vault_id.setter + def vault_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "vault_id", value) + + +class BackupPolicyMysqlFlexibleServer(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + backup_repeating_time_intervals: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + default_retention_rule: Optional[pulumi.Input[Union['BackupPolicyMysqlFlexibleServerDefaultRetentionRuleArgs', 'BackupPolicyMysqlFlexibleServerDefaultRetentionRuleArgsDict']]] = None, + name: Optional[pulumi.Input[str]] = None, + retention_rules: Optional[pulumi.Input[Sequence[pulumi.Input[Union['BackupPolicyMysqlFlexibleServerRetentionRuleArgs', 'BackupPolicyMysqlFlexibleServerRetentionRuleArgsDict']]]]] = None, + time_zone: Optional[pulumi.Input[str]] = None, + vault_id: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + Manages a Backup Policy to back up MySQL Flexible Server. + + ## Example Usage + + ```python + import pulumi + import pulumi_azure as azure + + example = azure.core.ResourceGroup("example", + name="example-resources", + location="West Europe") + example_backup_vault = azure.dataprotection.BackupVault("example", + name="example-backup-vault", + resource_group_name=example.name, + location=example.location, + datastore_type="VaultStore", + redundancy="LocallyRedundant", + identity={ + "type": "SystemAssigned", + }) + example_backup_policy_mysql_flexible_server = azure.dataprotection.BackupPolicyMysqlFlexibleServer("example", + name="example-backup-policy", + vault_id=example_backup_vault.id, + backup_repeating_time_intervals=["R/2021-05-23T02:30:00+00:00/P1W"], + time_zone="India Standard Time", + default_retention_rule={ + "life_cycles": [{ + "duration": "P4M", + "data_store_type": "VaultStore", + }], + }, + retention_rules=[ + { + "name": "weekly", + "life_cycles": [{ + "duration": "P6M", + "data_store_type": "VaultStore", + }], + "priority": 20, + "criteria": { + "absolute_criteria": "FirstOfWeek", + }, + }, + { + "name": "thursday", + "life_cycles": [{ + "duration": "P1W", + "data_store_type": "VaultStore", + }], + "priority": 25, + "criteria": { + "days_of_weeks": ["Thursday"], + "scheduled_backup_times": ["2021-05-23T02:30:00Z"], + }, + }, + { + "name": "monthly", + "life_cycles": [{ + "duration": "P1D", + "data_store_type": "VaultStore", + }], + "priority": 15, + "criteria": { + "weeks_of_months": [ + "First", + "Last", + ], + "days_of_weeks": ["Tuesday"], + "scheduled_backup_times": ["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 + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[Sequence[pulumi.Input[str]]] backup_repeating_time_intervals: 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. + :param pulumi.Input[Union['BackupPolicyMysqlFlexibleServerDefaultRetentionRuleArgs', 'BackupPolicyMysqlFlexibleServerDefaultRetentionRuleArgsDict']] default_retention_rule: A `default_retention_rule` block as defined below. Changing this forces a new resource to be created. + :param pulumi.Input[str] name: Specifies the name of the Backup Policy for the MySQL Flexible Server. Changing this forces a new resource to be created. + :param pulumi.Input[Sequence[pulumi.Input[Union['BackupPolicyMysqlFlexibleServerRetentionRuleArgs', 'BackupPolicyMysqlFlexibleServerRetentionRuleArgsDict']]]] retention_rules: One or more `retention_rule` blocks as defined below. Changing this forces a new resource to be created. + :param pulumi.Input[str] time_zone: Specifies the Time Zone which should be used by the backup schedule. Changing this forces a new resource to be created. + :param pulumi.Input[str] vault_id: The ID of the Backup Vault where the Backup Policy MySQL Flexible Server should exist. Changing this forces a new resource to be created. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: BackupPolicyMysqlFlexibleServerArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Manages a Backup Policy to back up MySQL Flexible Server. + + ## Example Usage + + ```python + import pulumi + import pulumi_azure as azure + + example = azure.core.ResourceGroup("example", + name="example-resources", + location="West Europe") + example_backup_vault = azure.dataprotection.BackupVault("example", + name="example-backup-vault", + resource_group_name=example.name, + location=example.location, + datastore_type="VaultStore", + redundancy="LocallyRedundant", + identity={ + "type": "SystemAssigned", + }) + example_backup_policy_mysql_flexible_server = azure.dataprotection.BackupPolicyMysqlFlexibleServer("example", + name="example-backup-policy", + vault_id=example_backup_vault.id, + backup_repeating_time_intervals=["R/2021-05-23T02:30:00+00:00/P1W"], + time_zone="India Standard Time", + default_retention_rule={ + "life_cycles": [{ + "duration": "P4M", + "data_store_type": "VaultStore", + }], + }, + retention_rules=[ + { + "name": "weekly", + "life_cycles": [{ + "duration": "P6M", + "data_store_type": "VaultStore", + }], + "priority": 20, + "criteria": { + "absolute_criteria": "FirstOfWeek", + }, + }, + { + "name": "thursday", + "life_cycles": [{ + "duration": "P1W", + "data_store_type": "VaultStore", + }], + "priority": 25, + "criteria": { + "days_of_weeks": ["Thursday"], + "scheduled_backup_times": ["2021-05-23T02:30:00Z"], + }, + }, + { + "name": "monthly", + "life_cycles": [{ + "duration": "P1D", + "data_store_type": "VaultStore", + }], + "priority": 15, + "criteria": { + "weeks_of_months": [ + "First", + "Last", + ], + "days_of_weeks": ["Tuesday"], + "scheduled_backup_times": ["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 + ``` + + :param str resource_name: The name of the resource. + :param BackupPolicyMysqlFlexibleServerArgs args: The arguments to use to populate this resource's properties. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + ... + def __init__(__self__, resource_name: str, *args, **kwargs): + resource_args, opts = _utilities.get_resource_args_opts(BackupPolicyMysqlFlexibleServerArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + backup_repeating_time_intervals: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + default_retention_rule: Optional[pulumi.Input[Union['BackupPolicyMysqlFlexibleServerDefaultRetentionRuleArgs', 'BackupPolicyMysqlFlexibleServerDefaultRetentionRuleArgsDict']]] = None, + name: Optional[pulumi.Input[str]] = None, + retention_rules: Optional[pulumi.Input[Sequence[pulumi.Input[Union['BackupPolicyMysqlFlexibleServerRetentionRuleArgs', 'BackupPolicyMysqlFlexibleServerRetentionRuleArgsDict']]]]] = None, + time_zone: Optional[pulumi.Input[str]] = None, + vault_id: Optional[pulumi.Input[str]] = None, + __props__=None): + opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) + if not isinstance(opts, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + if opts.id is None: + if __props__ is not None: + raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') + __props__ = BackupPolicyMysqlFlexibleServerArgs.__new__(BackupPolicyMysqlFlexibleServerArgs) + + if backup_repeating_time_intervals is None and not opts.urn: + raise TypeError("Missing required property 'backup_repeating_time_intervals'") + __props__.__dict__["backup_repeating_time_intervals"] = backup_repeating_time_intervals + if default_retention_rule is None and not opts.urn: + raise TypeError("Missing required property 'default_retention_rule'") + __props__.__dict__["default_retention_rule"] = default_retention_rule + __props__.__dict__["name"] = name + __props__.__dict__["retention_rules"] = retention_rules + __props__.__dict__["time_zone"] = time_zone + if vault_id is None and not opts.urn: + raise TypeError("Missing required property 'vault_id'") + __props__.__dict__["vault_id"] = vault_id + super(BackupPolicyMysqlFlexibleServer, __self__).__init__( + 'azure:dataprotection/backupPolicyMysqlFlexibleServer:BackupPolicyMysqlFlexibleServer', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + backup_repeating_time_intervals: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + default_retention_rule: Optional[pulumi.Input[Union['BackupPolicyMysqlFlexibleServerDefaultRetentionRuleArgs', 'BackupPolicyMysqlFlexibleServerDefaultRetentionRuleArgsDict']]] = None, + name: Optional[pulumi.Input[str]] = None, + retention_rules: Optional[pulumi.Input[Sequence[pulumi.Input[Union['BackupPolicyMysqlFlexibleServerRetentionRuleArgs', 'BackupPolicyMysqlFlexibleServerRetentionRuleArgsDict']]]]] = None, + time_zone: Optional[pulumi.Input[str]] = None, + vault_id: Optional[pulumi.Input[str]] = None) -> 'BackupPolicyMysqlFlexibleServer': + """ + Get an existing BackupPolicyMysqlFlexibleServer resource's state with the given name, id, and optional extra + properties used to qualify the lookup. + + :param str resource_name: The unique name of the resulting resource. + :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[Sequence[pulumi.Input[str]]] backup_repeating_time_intervals: 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. + :param pulumi.Input[Union['BackupPolicyMysqlFlexibleServerDefaultRetentionRuleArgs', 'BackupPolicyMysqlFlexibleServerDefaultRetentionRuleArgsDict']] default_retention_rule: A `default_retention_rule` block as defined below. Changing this forces a new resource to be created. + :param pulumi.Input[str] name: Specifies the name of the Backup Policy for the MySQL Flexible Server. Changing this forces a new resource to be created. + :param pulumi.Input[Sequence[pulumi.Input[Union['BackupPolicyMysqlFlexibleServerRetentionRuleArgs', 'BackupPolicyMysqlFlexibleServerRetentionRuleArgsDict']]]] retention_rules: One or more `retention_rule` blocks as defined below. Changing this forces a new resource to be created. + :param pulumi.Input[str] time_zone: Specifies the Time Zone which should be used by the backup schedule. Changing this forces a new resource to be created. + :param pulumi.Input[str] vault_id: The ID of the Backup Vault where the Backup Policy MySQL Flexible Server should exist. Changing this forces a new resource to be created. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _BackupPolicyMysqlFlexibleServerState.__new__(_BackupPolicyMysqlFlexibleServerState) + + __props__.__dict__["backup_repeating_time_intervals"] = backup_repeating_time_intervals + __props__.__dict__["default_retention_rule"] = default_retention_rule + __props__.__dict__["name"] = name + __props__.__dict__["retention_rules"] = retention_rules + __props__.__dict__["time_zone"] = time_zone + __props__.__dict__["vault_id"] = vault_id + return BackupPolicyMysqlFlexibleServer(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="backupRepeatingTimeIntervals") + def backup_repeating_time_intervals(self) -> pulumi.Output[Sequence[str]]: + """ + 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. + """ + return pulumi.get(self, "backup_repeating_time_intervals") + + @property + @pulumi.getter(name="defaultRetentionRule") + def default_retention_rule(self) -> pulumi.Output['outputs.BackupPolicyMysqlFlexibleServerDefaultRetentionRule']: + """ + A `default_retention_rule` block as defined below. Changing this forces a new resource to be created. + """ + return pulumi.get(self, "default_retention_rule") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + Specifies the name of the Backup Policy for the MySQL Flexible Server. Changing this forces a new resource to be created. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="retentionRules") + def retention_rules(self) -> pulumi.Output[Optional[Sequence['outputs.BackupPolicyMysqlFlexibleServerRetentionRule']]]: + """ + One or more `retention_rule` blocks as defined below. Changing this forces a new resource to be created. + """ + return pulumi.get(self, "retention_rules") + + @property + @pulumi.getter(name="timeZone") + def time_zone(self) -> pulumi.Output[Optional[str]]: + """ + Specifies the Time Zone which should be used by the backup schedule. Changing this forces a new resource to be created. + """ + return pulumi.get(self, "time_zone") + + @property + @pulumi.getter(name="vaultId") + def vault_id(self) -> pulumi.Output[str]: + """ + The ID of the Backup Vault where the Backup Policy MySQL Flexible Server should exist. Changing this forces a new resource to be created. + """ + return pulumi.get(self, "vault_id") + diff --git a/sdk/python/pulumi_azure/dataprotection/outputs.py b/sdk/python/pulumi_azure/dataprotection/outputs.py index f4dba51ece..cab8964468 100644 --- a/sdk/python/pulumi_azure/dataprotection/outputs.py +++ b/sdk/python/pulumi_azure/dataprotection/outputs.py @@ -27,6 +27,11 @@ 'BackupPolicyKubernetesClusterRetentionRule', 'BackupPolicyKubernetesClusterRetentionRuleCriteria', 'BackupPolicyKubernetesClusterRetentionRuleLifeCycle', + 'BackupPolicyMysqlFlexibleServerDefaultRetentionRule', + 'BackupPolicyMysqlFlexibleServerDefaultRetentionRuleLifeCycle', + 'BackupPolicyMysqlFlexibleServerRetentionRule', + 'BackupPolicyMysqlFlexibleServerRetentionRuleCriteria', + 'BackupPolicyMysqlFlexibleServerRetentionRuleLifeCycle', 'BackupPolicyPostgresqlFlexibleServerDefaultRetentionRule', 'BackupPolicyPostgresqlFlexibleServerDefaultRetentionRuleLifeCycle', 'BackupPolicyPostgresqlFlexibleServerRetentionRule', @@ -752,6 +757,293 @@ def duration(self) -> str: return pulumi.get(self, "duration") +@pulumi.output_type +class BackupPolicyMysqlFlexibleServerDefaultRetentionRule(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "lifeCycles": + suggest = "life_cycles" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in BackupPolicyMysqlFlexibleServerDefaultRetentionRule. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + BackupPolicyMysqlFlexibleServerDefaultRetentionRule.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + BackupPolicyMysqlFlexibleServerDefaultRetentionRule.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + life_cycles: Sequence['outputs.BackupPolicyMysqlFlexibleServerDefaultRetentionRuleLifeCycle']): + """ + :param Sequence['BackupPolicyMysqlFlexibleServerDefaultRetentionRuleLifeCycleArgs'] life_cycles: A `life_cycle` block as defined below. Changing this forces a new resource to be created. + """ + pulumi.set(__self__, "life_cycles", life_cycles) + + @property + @pulumi.getter(name="lifeCycles") + def life_cycles(self) -> Sequence['outputs.BackupPolicyMysqlFlexibleServerDefaultRetentionRuleLifeCycle']: + """ + A `life_cycle` block as defined below. Changing this forces a new resource to be created. + """ + return pulumi.get(self, "life_cycles") + + +@pulumi.output_type +class BackupPolicyMysqlFlexibleServerDefaultRetentionRuleLifeCycle(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "dataStoreType": + suggest = "data_store_type" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in BackupPolicyMysqlFlexibleServerDefaultRetentionRuleLifeCycle. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + BackupPolicyMysqlFlexibleServerDefaultRetentionRuleLifeCycle.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + BackupPolicyMysqlFlexibleServerDefaultRetentionRuleLifeCycle.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + data_store_type: str, + duration: str): + """ + :param str data_store_type: The type of data store. The only possible value is `VaultStore`. Changing this forces a new resource to be created. + :param str duration: 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. + """ + pulumi.set(__self__, "data_store_type", data_store_type) + pulumi.set(__self__, "duration", duration) + + @property + @pulumi.getter(name="dataStoreType") + def data_store_type(self) -> str: + """ + The type of data store. The only possible value is `VaultStore`. Changing this forces a new resource to be created. + """ + return pulumi.get(self, "data_store_type") + + @property + @pulumi.getter + def duration(self) -> str: + """ + 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. + """ + return pulumi.get(self, "duration") + + +@pulumi.output_type +class BackupPolicyMysqlFlexibleServerRetentionRule(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "lifeCycles": + suggest = "life_cycles" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in BackupPolicyMysqlFlexibleServerRetentionRule. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + BackupPolicyMysqlFlexibleServerRetentionRule.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + BackupPolicyMysqlFlexibleServerRetentionRule.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + criteria: 'outputs.BackupPolicyMysqlFlexibleServerRetentionRuleCriteria', + life_cycles: Sequence['outputs.BackupPolicyMysqlFlexibleServerRetentionRuleLifeCycle'], + name: str, + priority: int): + """ + :param 'BackupPolicyMysqlFlexibleServerRetentionRuleCriteriaArgs' criteria: A `criteria` block as defined below. Changing this forces a new resource to be created. + :param Sequence['BackupPolicyMysqlFlexibleServerRetentionRuleLifeCycleArgs'] life_cycles: A `life_cycle` block as defined below. Changing this forces a new resource to be created. + :param str name: Specifies the name of the retention rule. Changing this forces a new resource to be created. + :param int priority: 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. + """ + pulumi.set(__self__, "criteria", criteria) + pulumi.set(__self__, "life_cycles", life_cycles) + pulumi.set(__self__, "name", name) + pulumi.set(__self__, "priority", priority) + + @property + @pulumi.getter + def criteria(self) -> 'outputs.BackupPolicyMysqlFlexibleServerRetentionRuleCriteria': + """ + A `criteria` block as defined below. Changing this forces a new resource to be created. + """ + return pulumi.get(self, "criteria") + + @property + @pulumi.getter(name="lifeCycles") + def life_cycles(self) -> Sequence['outputs.BackupPolicyMysqlFlexibleServerRetentionRuleLifeCycle']: + """ + A `life_cycle` block as defined below. Changing this forces a new resource to be created. + """ + return pulumi.get(self, "life_cycles") + + @property + @pulumi.getter + def name(self) -> str: + """ + Specifies the name of the retention rule. Changing this forces a new resource to be created. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def priority(self) -> int: + """ + 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. + """ + return pulumi.get(self, "priority") + + +@pulumi.output_type +class BackupPolicyMysqlFlexibleServerRetentionRuleCriteria(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "absoluteCriteria": + suggest = "absolute_criteria" + elif key == "daysOfWeeks": + suggest = "days_of_weeks" + elif key == "monthsOfYears": + suggest = "months_of_years" + elif key == "scheduledBackupTimes": + suggest = "scheduled_backup_times" + elif key == "weeksOfMonths": + suggest = "weeks_of_months" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in BackupPolicyMysqlFlexibleServerRetentionRuleCriteria. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + BackupPolicyMysqlFlexibleServerRetentionRuleCriteria.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + BackupPolicyMysqlFlexibleServerRetentionRuleCriteria.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + absolute_criteria: Optional[str] = None, + days_of_weeks: Optional[Sequence[str]] = None, + months_of_years: Optional[Sequence[str]] = None, + scheduled_backup_times: Optional[Sequence[str]] = None, + weeks_of_months: Optional[Sequence[str]] = None): + """ + :param str absolute_criteria: 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. + :param Sequence[str] days_of_weeks: Possible values are `Monday`, `Tuesday`, `Thursday`, `Friday`, `Saturday` and `Sunday`. Changing this forces a new resource to be created. + :param Sequence[str] months_of_years: 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. + :param Sequence[str] scheduled_backup_times: Specifies a list of backup times for backup in the `RFC3339` format. Changing this forces a new resource to be created. + :param Sequence[str] weeks_of_months: Possible values are `First`, `Second`, `Third`, `Fourth` and `Last`. Changing this forces a new resource to be created. + """ + if absolute_criteria is not None: + pulumi.set(__self__, "absolute_criteria", absolute_criteria) + if days_of_weeks is not None: + pulumi.set(__self__, "days_of_weeks", days_of_weeks) + if months_of_years is not None: + pulumi.set(__self__, "months_of_years", months_of_years) + if scheduled_backup_times is not None: + pulumi.set(__self__, "scheduled_backup_times", scheduled_backup_times) + if weeks_of_months is not None: + pulumi.set(__self__, "weeks_of_months", weeks_of_months) + + @property + @pulumi.getter(name="absoluteCriteria") + def absolute_criteria(self) -> Optional[str]: + """ + 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. + """ + return pulumi.get(self, "absolute_criteria") + + @property + @pulumi.getter(name="daysOfWeeks") + def days_of_weeks(self) -> Optional[Sequence[str]]: + """ + Possible values are `Monday`, `Tuesday`, `Thursday`, `Friday`, `Saturday` and `Sunday`. Changing this forces a new resource to be created. + """ + return pulumi.get(self, "days_of_weeks") + + @property + @pulumi.getter(name="monthsOfYears") + def months_of_years(self) -> Optional[Sequence[str]]: + """ + 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. + """ + return pulumi.get(self, "months_of_years") + + @property + @pulumi.getter(name="scheduledBackupTimes") + def scheduled_backup_times(self) -> Optional[Sequence[str]]: + """ + Specifies a list of backup times for backup in the `RFC3339` format. Changing this forces a new resource to be created. + """ + return pulumi.get(self, "scheduled_backup_times") + + @property + @pulumi.getter(name="weeksOfMonths") + def weeks_of_months(self) -> Optional[Sequence[str]]: + """ + Possible values are `First`, `Second`, `Third`, `Fourth` and `Last`. Changing this forces a new resource to be created. + """ + return pulumi.get(self, "weeks_of_months") + + +@pulumi.output_type +class BackupPolicyMysqlFlexibleServerRetentionRuleLifeCycle(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "dataStoreType": + suggest = "data_store_type" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in BackupPolicyMysqlFlexibleServerRetentionRuleLifeCycle. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + BackupPolicyMysqlFlexibleServerRetentionRuleLifeCycle.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + BackupPolicyMysqlFlexibleServerRetentionRuleLifeCycle.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + data_store_type: str, + duration: str): + """ + :param str data_store_type: The type of data store. The only possible value is `VaultStore`. Changing this forces a new resource to be created. + :param str duration: 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. + """ + pulumi.set(__self__, "data_store_type", data_store_type) + pulumi.set(__self__, "duration", duration) + + @property + @pulumi.getter(name="dataStoreType") + def data_store_type(self) -> str: + """ + The type of data store. The only possible value is `VaultStore`. Changing this forces a new resource to be created. + """ + return pulumi.get(self, "data_store_type") + + @property + @pulumi.getter + def duration(self) -> str: + """ + 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. + """ + return pulumi.get(self, "duration") + + @pulumi.output_type class BackupPolicyPostgresqlFlexibleServerDefaultRetentionRule(dict): @staticmethod diff --git a/sdk/python/pulumi_azure/keyvault/__init__.py b/sdk/python/pulumi_azure/keyvault/__init__.py index 510f6a5a98..b3e8fe9880 100644 --- a/sdk/python/pulumi_azure/keyvault/__init__.py +++ b/sdk/python/pulumi_azure/keyvault/__init__.py @@ -26,6 +26,7 @@ from .key_vault import * from .managed_hardware_security_module import * from .managed_hardware_security_module_key import * +from .managed_hardware_security_module_key_rotation_policy import * from .managed_hardware_security_module_role_assignment import * from .managed_hardware_security_module_role_definition import * from .managed_storage_account import * diff --git a/sdk/python/pulumi_azure/keyvault/managed_hardware_security_module_key_rotation_policy.py b/sdk/python/pulumi_azure/keyvault/managed_hardware_security_module_key_rotation_policy.py new file mode 100644 index 0000000000..e721b3c6ea --- /dev/null +++ b/sdk/python/pulumi_azure/keyvault/managed_hardware_security_module_key_rotation_policy.py @@ -0,0 +1,345 @@ +# coding=utf-8 +# *** 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! *** + +import copy +import warnings +import sys +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias +from .. import _utilities + +__all__ = ['ManagedHardwareSecurityModuleKeyRotationPolicyArgs', 'ManagedHardwareSecurityModuleKeyRotationPolicy'] + +@pulumi.input_type +class ManagedHardwareSecurityModuleKeyRotationPolicyArgs: + def __init__(__self__, *, + expire_after: pulumi.Input[str], + managed_hsm_key_id: pulumi.Input[str], + time_after_creation: Optional[pulumi.Input[str]] = None, + time_before_expiry: Optional[pulumi.Input[str]] = None): + """ + The set of arguments for constructing a ManagedHardwareSecurityModuleKeyRotationPolicy resource. + :param pulumi.Input[str] expire_after: 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`. + :param pulumi.Input[str] managed_hsm_key_id: The ID of the Managed HSM Key. Changing this forces a new Managed HSM Key rotation policy to be created. + :param pulumi.Input[str] time_after_creation: 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. + :param pulumi.Input[str] time_before_expiry: 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. + """ + pulumi.set(__self__, "expire_after", expire_after) + pulumi.set(__self__, "managed_hsm_key_id", managed_hsm_key_id) + if time_after_creation is not None: + pulumi.set(__self__, "time_after_creation", time_after_creation) + if time_before_expiry is not None: + pulumi.set(__self__, "time_before_expiry", time_before_expiry) + + @property + @pulumi.getter(name="expireAfter") + def expire_after(self) -> pulumi.Input[str]: + """ + 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`. + """ + return pulumi.get(self, "expire_after") + + @expire_after.setter + def expire_after(self, value: pulumi.Input[str]): + pulumi.set(self, "expire_after", value) + + @property + @pulumi.getter(name="managedHsmKeyId") + def managed_hsm_key_id(self) -> pulumi.Input[str]: + """ + The ID of the Managed HSM Key. Changing this forces a new Managed HSM Key rotation policy to be created. + """ + return pulumi.get(self, "managed_hsm_key_id") + + @managed_hsm_key_id.setter + def managed_hsm_key_id(self, value: pulumi.Input[str]): + pulumi.set(self, "managed_hsm_key_id", value) + + @property + @pulumi.getter(name="timeAfterCreation") + def time_after_creation(self) -> Optional[pulumi.Input[str]]: + """ + 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. + """ + return pulumi.get(self, "time_after_creation") + + @time_after_creation.setter + def time_after_creation(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "time_after_creation", value) + + @property + @pulumi.getter(name="timeBeforeExpiry") + def time_before_expiry(self) -> Optional[pulumi.Input[str]]: + """ + 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. + """ + return pulumi.get(self, "time_before_expiry") + + @time_before_expiry.setter + def time_before_expiry(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "time_before_expiry", value) + + +@pulumi.input_type +class _ManagedHardwareSecurityModuleKeyRotationPolicyState: + def __init__(__self__, *, + expire_after: Optional[pulumi.Input[str]] = None, + managed_hsm_key_id: Optional[pulumi.Input[str]] = None, + time_after_creation: Optional[pulumi.Input[str]] = None, + time_before_expiry: Optional[pulumi.Input[str]] = None): + """ + Input properties used for looking up and filtering ManagedHardwareSecurityModuleKeyRotationPolicy resources. + :param pulumi.Input[str] expire_after: 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`. + :param pulumi.Input[str] managed_hsm_key_id: The ID of the Managed HSM Key. Changing this forces a new Managed HSM Key rotation policy to be created. + :param pulumi.Input[str] time_after_creation: 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. + :param pulumi.Input[str] time_before_expiry: 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. + """ + if expire_after is not None: + pulumi.set(__self__, "expire_after", expire_after) + if managed_hsm_key_id is not None: + pulumi.set(__self__, "managed_hsm_key_id", managed_hsm_key_id) + if time_after_creation is not None: + pulumi.set(__self__, "time_after_creation", time_after_creation) + if time_before_expiry is not None: + pulumi.set(__self__, "time_before_expiry", time_before_expiry) + + @property + @pulumi.getter(name="expireAfter") + def expire_after(self) -> Optional[pulumi.Input[str]]: + """ + 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`. + """ + return pulumi.get(self, "expire_after") + + @expire_after.setter + def expire_after(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "expire_after", value) + + @property + @pulumi.getter(name="managedHsmKeyId") + def managed_hsm_key_id(self) -> Optional[pulumi.Input[str]]: + """ + The ID of the Managed HSM Key. Changing this forces a new Managed HSM Key rotation policy to be created. + """ + return pulumi.get(self, "managed_hsm_key_id") + + @managed_hsm_key_id.setter + def managed_hsm_key_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "managed_hsm_key_id", value) + + @property + @pulumi.getter(name="timeAfterCreation") + def time_after_creation(self) -> Optional[pulumi.Input[str]]: + """ + 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. + """ + return pulumi.get(self, "time_after_creation") + + @time_after_creation.setter + def time_after_creation(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "time_after_creation", value) + + @property + @pulumi.getter(name="timeBeforeExpiry") + def time_before_expiry(self) -> Optional[pulumi.Input[str]]: + """ + 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. + """ + return pulumi.get(self, "time_before_expiry") + + @time_before_expiry.setter + def time_before_expiry(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "time_before_expiry", value) + + +class ManagedHardwareSecurityModuleKeyRotationPolicy(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + expire_after: Optional[pulumi.Input[str]] = None, + managed_hsm_key_id: Optional[pulumi.Input[str]] = None, + time_after_creation: Optional[pulumi.Input[str]] = None, + time_before_expiry: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + Manages a Managed HSM Key rotation policy. + + ## Example Usage + + ```python + import pulumi + import pulumi_azure as azure + + example = azure.keyvault.ManagedHardwareSecurityModuleKey("example", + name="example-key", + managed_hsm_id=example_azurerm_key_vault_managed_hardware_security_module["id"], + key_type="EC-HSM", + curve="P-521", + key_opts=["sign"]) + example_managed_hardware_security_module_key_rotation_policy = azure.keyvault.ManagedHardwareSecurityModuleKeyRotationPolicy("example", + managed_hsm_key_id=example.id, + expire_after="P60D", + time_before_expiry="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 + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] expire_after: 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`. + :param pulumi.Input[str] managed_hsm_key_id: The ID of the Managed HSM Key. Changing this forces a new Managed HSM Key rotation policy to be created. + :param pulumi.Input[str] time_after_creation: 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. + :param pulumi.Input[str] time_before_expiry: 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. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: ManagedHardwareSecurityModuleKeyRotationPolicyArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Manages a Managed HSM Key rotation policy. + + ## Example Usage + + ```python + import pulumi + import pulumi_azure as azure + + example = azure.keyvault.ManagedHardwareSecurityModuleKey("example", + name="example-key", + managed_hsm_id=example_azurerm_key_vault_managed_hardware_security_module["id"], + key_type="EC-HSM", + curve="P-521", + key_opts=["sign"]) + example_managed_hardware_security_module_key_rotation_policy = azure.keyvault.ManagedHardwareSecurityModuleKeyRotationPolicy("example", + managed_hsm_key_id=example.id, + expire_after="P60D", + time_before_expiry="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 + ``` + + :param str resource_name: The name of the resource. + :param ManagedHardwareSecurityModuleKeyRotationPolicyArgs args: The arguments to use to populate this resource's properties. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + ... + def __init__(__self__, resource_name: str, *args, **kwargs): + resource_args, opts = _utilities.get_resource_args_opts(ManagedHardwareSecurityModuleKeyRotationPolicyArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + expire_after: Optional[pulumi.Input[str]] = None, + managed_hsm_key_id: Optional[pulumi.Input[str]] = None, + time_after_creation: Optional[pulumi.Input[str]] = None, + time_before_expiry: Optional[pulumi.Input[str]] = None, + __props__=None): + opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) + if not isinstance(opts, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + if opts.id is None: + if __props__ is not None: + raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') + __props__ = ManagedHardwareSecurityModuleKeyRotationPolicyArgs.__new__(ManagedHardwareSecurityModuleKeyRotationPolicyArgs) + + if expire_after is None and not opts.urn: + raise TypeError("Missing required property 'expire_after'") + __props__.__dict__["expire_after"] = expire_after + if managed_hsm_key_id is None and not opts.urn: + raise TypeError("Missing required property 'managed_hsm_key_id'") + __props__.__dict__["managed_hsm_key_id"] = managed_hsm_key_id + __props__.__dict__["time_after_creation"] = time_after_creation + __props__.__dict__["time_before_expiry"] = time_before_expiry + super(ManagedHardwareSecurityModuleKeyRotationPolicy, __self__).__init__( + 'azure:keyvault/managedHardwareSecurityModuleKeyRotationPolicy:ManagedHardwareSecurityModuleKeyRotationPolicy', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + expire_after: Optional[pulumi.Input[str]] = None, + managed_hsm_key_id: Optional[pulumi.Input[str]] = None, + time_after_creation: Optional[pulumi.Input[str]] = None, + time_before_expiry: Optional[pulumi.Input[str]] = None) -> 'ManagedHardwareSecurityModuleKeyRotationPolicy': + """ + Get an existing ManagedHardwareSecurityModuleKeyRotationPolicy resource's state with the given name, id, and optional extra + properties used to qualify the lookup. + + :param str resource_name: The unique name of the resulting resource. + :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] expire_after: 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`. + :param pulumi.Input[str] managed_hsm_key_id: The ID of the Managed HSM Key. Changing this forces a new Managed HSM Key rotation policy to be created. + :param pulumi.Input[str] time_after_creation: 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. + :param pulumi.Input[str] time_before_expiry: 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. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _ManagedHardwareSecurityModuleKeyRotationPolicyState.__new__(_ManagedHardwareSecurityModuleKeyRotationPolicyState) + + __props__.__dict__["expire_after"] = expire_after + __props__.__dict__["managed_hsm_key_id"] = managed_hsm_key_id + __props__.__dict__["time_after_creation"] = time_after_creation + __props__.__dict__["time_before_expiry"] = time_before_expiry + return ManagedHardwareSecurityModuleKeyRotationPolicy(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="expireAfter") + def expire_after(self) -> pulumi.Output[str]: + """ + 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`. + """ + return pulumi.get(self, "expire_after") + + @property + @pulumi.getter(name="managedHsmKeyId") + def managed_hsm_key_id(self) -> pulumi.Output[str]: + """ + The ID of the Managed HSM Key. Changing this forces a new Managed HSM Key rotation policy to be created. + """ + return pulumi.get(self, "managed_hsm_key_id") + + @property + @pulumi.getter(name="timeAfterCreation") + def time_after_creation(self) -> pulumi.Output[Optional[str]]: + """ + 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. + """ + return pulumi.get(self, "time_after_creation") + + @property + @pulumi.getter(name="timeBeforeExpiry") + def time_before_expiry(self) -> pulumi.Output[Optional[str]]: + """ + 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. + """ + return pulumi.get(self, "time_before_expiry") + diff --git a/sdk/python/pulumi_azure/loganalytics/linked_storage_account.py b/sdk/python/pulumi_azure/loganalytics/linked_storage_account.py index c4636349e7..85f750a5f7 100644 --- a/sdk/python/pulumi_azure/loganalytics/linked_storage_account.py +++ b/sdk/python/pulumi_azure/loganalytics/linked_storage_account.py @@ -26,8 +26,6 @@ def __init__(__self__, *, """ The set of arguments for constructing a LinkedStorageAccount resource. :param pulumi.Input[str] data_source_type: 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. :param pulumi.Input[str] resource_group_name: The name of the Resource Group where the Log Analytics Linked Storage Account should exist. Changing this forces a new Log Analytics Linked Storage Account to be created. :param pulumi.Input[Sequence[pulumi.Input[str]]] storage_account_ids: The storage account resource ids to be linked. :param pulumi.Input[str] workspace_resource_id: The resource ID of the Log Analytics Workspace. Changing this forces a new Log Analytics Linked Storage Account to be created. @@ -42,8 +40,6 @@ def __init__(__self__, *, def data_source_type(self) -> pulumi.Input[str]: """ 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. """ return pulumi.get(self, "data_source_type") @@ -98,8 +94,6 @@ def __init__(__self__, *, """ Input properties used for looking up and filtering LinkedStorageAccount resources. :param pulumi.Input[str] data_source_type: 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. :param pulumi.Input[str] resource_group_name: The name of the Resource Group where the Log Analytics Linked Storage Account should exist. Changing this forces a new Log Analytics Linked Storage Account to be created. :param pulumi.Input[Sequence[pulumi.Input[str]]] storage_account_ids: The storage account resource ids to be linked. :param pulumi.Input[str] workspace_resource_id: The resource ID of the Log Analytics Workspace. Changing this forces a new Log Analytics Linked Storage Account to be created. @@ -118,8 +112,6 @@ def __init__(__self__, *, def data_source_type(self) -> Optional[pulumi.Input[str]]: """ 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. """ return pulumi.get(self, "data_source_type") @@ -215,8 +207,6 @@ def __init__(__self__, :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[str] data_source_type: 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. :param pulumi.Input[str] resource_group_name: The name of the Resource Group where the Log Analytics Linked Storage Account should exist. Changing this forces a new Log Analytics Linked Storage Account to be created. :param pulumi.Input[Sequence[pulumi.Input[str]]] storage_account_ids: The storage account resource ids to be linked. :param pulumi.Input[str] workspace_resource_id: The resource ID of the Log Analytics Workspace. Changing this forces a new Log Analytics Linked Storage Account to be created. @@ -327,8 +317,6 @@ def get(resource_name: str, :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[str] data_source_type: 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. :param pulumi.Input[str] resource_group_name: The name of the Resource Group where the Log Analytics Linked Storage Account should exist. Changing this forces a new Log Analytics Linked Storage Account to be created. :param pulumi.Input[Sequence[pulumi.Input[str]]] storage_account_ids: The storage account resource ids to be linked. :param pulumi.Input[str] workspace_resource_id: The resource ID of the Log Analytics Workspace. Changing this forces a new Log Analytics Linked Storage Account to be created. @@ -348,8 +336,6 @@ def get(resource_name: str, def data_source_type(self) -> pulumi.Output[str]: """ 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. """ return pulumi.get(self, "data_source_type") diff --git a/sdk/python/pulumi_azure/monitoring/alert_prometheus_rule_group.py b/sdk/python/pulumi_azure/monitoring/alert_prometheus_rule_group.py index 3c83d21c80..a76bdee2b7 100644 --- a/sdk/python/pulumi_azure/monitoring/alert_prometheus_rule_group.py +++ b/sdk/python/pulumi_azure/monitoring/alert_prometheus_rule_group.py @@ -370,6 +370,81 @@ def __init__(__self__, """ Manages an Alert Management Prometheus Rule Group. + ## Example Usage + + ```python + import pulumi + import pulumi_azure as azure + + example = azure.core.ResourceGroup("example", + name="example-resources", + location="West Europe") + example_action_group = azure.monitoring.ActionGroup("example", + name="example-mag", + resource_group_name=example.name, + short_name="testag") + example_workspace = azure.monitoring.Workspace("example", + name="example-amw", + resource_group_name=example.name, + location=example.location) + example_kubernetes_cluster = azure.containerservice.KubernetesCluster("example", + name="example-cluster", + location=example.location, + resource_group_name=example.name, + dns_prefix="example-aks", + default_node_pool={ + "name": "default", + "node_count": 1, + "vm_size": "Standard_DS2_v2", + "host_encryption_enabled": True, + }, + identity={ + "type": "SystemAssigned", + }) + example_alert_prometheus_rule_group = azure.monitoring.AlertPrometheusRuleGroup("example", + name="example-amprg", + location="West Europe", + resource_group_name=example.name, + cluster_name=example_kubernetes_cluster.name, + description="This is the description of the following rule group", + rule_group_enabled=False, + interval="PT1M", + scopes=[example_workspace.id], + rules=[ + { + "enabled": False, + "expression": "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", + "labels": { + "team": "prod", + }, + }, + { + "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))\\n", + "for_": "PT5M", + "severity": 2, + "actions": [{ + "action_group_id": example_action_group.id, + }], + "alert_resolution": { + "auto_resolved": True, + "time_to_resolve": "PT10M", + }, + "annotations": { + "annotation_name": "annotationValue", + }, + "labels": { + "team": "prod", + }, + }, + ], + tags={ + "key": "value", + }) + ``` + ## Import Alert Management Prometheus Rule Group can be imported using the `resource id`, e.g. @@ -400,6 +475,81 @@ def __init__(__self__, """ Manages an Alert Management Prometheus Rule Group. + ## Example Usage + + ```python + import pulumi + import pulumi_azure as azure + + example = azure.core.ResourceGroup("example", + name="example-resources", + location="West Europe") + example_action_group = azure.monitoring.ActionGroup("example", + name="example-mag", + resource_group_name=example.name, + short_name="testag") + example_workspace = azure.monitoring.Workspace("example", + name="example-amw", + resource_group_name=example.name, + location=example.location) + example_kubernetes_cluster = azure.containerservice.KubernetesCluster("example", + name="example-cluster", + location=example.location, + resource_group_name=example.name, + dns_prefix="example-aks", + default_node_pool={ + "name": "default", + "node_count": 1, + "vm_size": "Standard_DS2_v2", + "host_encryption_enabled": True, + }, + identity={ + "type": "SystemAssigned", + }) + example_alert_prometheus_rule_group = azure.monitoring.AlertPrometheusRuleGroup("example", + name="example-amprg", + location="West Europe", + resource_group_name=example.name, + cluster_name=example_kubernetes_cluster.name, + description="This is the description of the following rule group", + rule_group_enabled=False, + interval="PT1M", + scopes=[example_workspace.id], + rules=[ + { + "enabled": False, + "expression": "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", + "labels": { + "team": "prod", + }, + }, + { + "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))\\n", + "for_": "PT5M", + "severity": 2, + "actions": [{ + "action_group_id": example_action_group.id, + }], + "alert_resolution": { + "auto_resolved": True, + "time_to_resolve": "PT10M", + }, + "annotations": { + "annotation_name": "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/python/pulumi_azure/network/__init__.py b/sdk/python/pulumi_azure/network/__init__.py index c1359a21a6..b03a9fe795 100644 --- a/sdk/python/pulumi_azure/network/__init__.py +++ b/sdk/python/pulumi_azure/network/__init__.py @@ -56,6 +56,7 @@ from .get_virtual_network_gateway import * from .get_virtual_wan import * from .get_vpn_gateway import * +from .get_vpn_server_configuration import * from .ip_group import * from .ip_group_cidr import * from .local_network_gateway import * diff --git a/sdk/python/pulumi_azure/network/get_vpn_server_configuration.py b/sdk/python/pulumi_azure/network/get_vpn_server_configuration.py new file mode 100644 index 0000000000..280882b195 --- /dev/null +++ b/sdk/python/pulumi_azure/network/get_vpn_server_configuration.py @@ -0,0 +1,246 @@ +# coding=utf-8 +# *** 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! *** + +import copy +import warnings +import sys +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias +from .. import _utilities +from . import outputs + +__all__ = [ + 'GetVpnServerConfigurationResult', + 'AwaitableGetVpnServerConfigurationResult', + 'get_vpn_server_configuration', + 'get_vpn_server_configuration_output', +] + +@pulumi.output_type +class GetVpnServerConfigurationResult: + """ + A collection of values returned by getVpnServerConfiguration. + """ + def __init__(__self__, azure_active_directory_authentications=None, client_revoked_certificates=None, client_root_certificates=None, id=None, ipsec_policies=None, location=None, name=None, radii=None, resource_group_name=None, tags=None, vpn_authentication_types=None, vpn_protocols=None): + if azure_active_directory_authentications and not isinstance(azure_active_directory_authentications, list): + raise TypeError("Expected argument 'azure_active_directory_authentications' to be a list") + pulumi.set(__self__, "azure_active_directory_authentications", azure_active_directory_authentications) + if client_revoked_certificates and not isinstance(client_revoked_certificates, list): + raise TypeError("Expected argument 'client_revoked_certificates' to be a list") + pulumi.set(__self__, "client_revoked_certificates", client_revoked_certificates) + if client_root_certificates and not isinstance(client_root_certificates, list): + raise TypeError("Expected argument 'client_root_certificates' to be a list") + pulumi.set(__self__, "client_root_certificates", client_root_certificates) + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if ipsec_policies and not isinstance(ipsec_policies, list): + raise TypeError("Expected argument 'ipsec_policies' to be a list") + pulumi.set(__self__, "ipsec_policies", ipsec_policies) + if location and not isinstance(location, str): + raise TypeError("Expected argument 'location' to be a str") + pulumi.set(__self__, "location", location) + if name and not isinstance(name, str): + raise TypeError("Expected argument 'name' to be a str") + pulumi.set(__self__, "name", name) + if radii and not isinstance(radii, list): + raise TypeError("Expected argument 'radii' to be a list") + pulumi.set(__self__, "radii", radii) + if resource_group_name and not isinstance(resource_group_name, str): + raise TypeError("Expected argument 'resource_group_name' to be a str") + pulumi.set(__self__, "resource_group_name", resource_group_name) + if tags and not isinstance(tags, dict): + raise TypeError("Expected argument 'tags' to be a dict") + pulumi.set(__self__, "tags", tags) + if vpn_authentication_types and not isinstance(vpn_authentication_types, list): + raise TypeError("Expected argument 'vpn_authentication_types' to be a list") + pulumi.set(__self__, "vpn_authentication_types", vpn_authentication_types) + if vpn_protocols and not isinstance(vpn_protocols, list): + raise TypeError("Expected argument 'vpn_protocols' to be a list") + pulumi.set(__self__, "vpn_protocols", vpn_protocols) + + @property + @pulumi.getter(name="azureActiveDirectoryAuthentications") + def azure_active_directory_authentications(self) -> Sequence['outputs.GetVpnServerConfigurationAzureActiveDirectoryAuthenticationResult']: + """ + A `azure_active_directory_authentication` block as defined below. + """ + return pulumi.get(self, "azure_active_directory_authentications") + + @property + @pulumi.getter(name="clientRevokedCertificates") + def client_revoked_certificates(self) -> Sequence['outputs.GetVpnServerConfigurationClientRevokedCertificateResult']: + """ + One or more `client_revoked_certificate` blocks as defined below. + """ + return pulumi.get(self, "client_revoked_certificates") + + @property + @pulumi.getter(name="clientRootCertificates") + def client_root_certificates(self) -> Sequence['outputs.GetVpnServerConfigurationClientRootCertificateResult']: + """ + One or more `client_root_certificate` blocks as defined below. + """ + return pulumi.get(self, "client_root_certificates") + + @property + @pulumi.getter + def id(self) -> str: + """ + The provider-assigned unique ID for this managed resource. + """ + return pulumi.get(self, "id") + + @property + @pulumi.getter(name="ipsecPolicies") + def ipsec_policies(self) -> Sequence['outputs.GetVpnServerConfigurationIpsecPolicyResult']: + """ + The `bgp_settings` block as defined below. + """ + return pulumi.get(self, "ipsec_policies") + + @property + @pulumi.getter + def location(self) -> str: + """ + The Azure Region where the VPN Server Configuration exists. + """ + return pulumi.get(self, "location") + + @property + @pulumi.getter + def name(self) -> str: + """ + The name used to uniquely identify this certificate. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def radii(self) -> Sequence['outputs.GetVpnServerConfigurationRadiusResult']: + """ + A `radius` block as defined below. + """ + return pulumi.get(self, "radii") + + @property + @pulumi.getter(name="resourceGroupName") + def resource_group_name(self) -> str: + return pulumi.get(self, "resource_group_name") + + @property + @pulumi.getter + def tags(self) -> Mapping[str, str]: + """ + A mapping of tags to assign to the VPN Server Configuration. + """ + return pulumi.get(self, "tags") + + @property + @pulumi.getter(name="vpnAuthenticationTypes") + def vpn_authentication_types(self) -> Sequence[str]: + """ + The list of Authentication Types applicable for the VPN Server Configuration. + """ + return pulumi.get(self, "vpn_authentication_types") + + @property + @pulumi.getter(name="vpnProtocols") + def vpn_protocols(self) -> Sequence[str]: + """ + The list of VPN Protocols to use for the VPN Server Configuration. + """ + return pulumi.get(self, "vpn_protocols") + + +class AwaitableGetVpnServerConfigurationResult(GetVpnServerConfigurationResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetVpnServerConfigurationResult( + azure_active_directory_authentications=self.azure_active_directory_authentications, + client_revoked_certificates=self.client_revoked_certificates, + client_root_certificates=self.client_root_certificates, + id=self.id, + ipsec_policies=self.ipsec_policies, + location=self.location, + name=self.name, + radii=self.radii, + resource_group_name=self.resource_group_name, + tags=self.tags, + vpn_authentication_types=self.vpn_authentication_types, + vpn_protocols=self.vpn_protocols) + + +def get_vpn_server_configuration(name: Optional[str] = None, + resource_group_name: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetVpnServerConfigurationResult: + """ + Use this data source to access information about an existing VPN Server Configuration. + + ## Example Usage + + ```python + import pulumi + import pulumi_azure as azure + + example = azure.network.get_vpn_server_configuration(name="existing-local-vpn-server-configuration", + resource_group_name="existing-resource-group") + pulumi.export("azurermVpnServerConfiguration", example.id) + ``` + + + :param str name: The Name of the VPN Server Configuration. + :param str resource_group_name: The name of the Resource Group where the VPN Server Configuration exists. + """ + __args__ = dict() + __args__['name'] = name + __args__['resourceGroupName'] = resource_group_name + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('azure:network/getVpnServerConfiguration:getVpnServerConfiguration', __args__, opts=opts, typ=GetVpnServerConfigurationResult).value + + return AwaitableGetVpnServerConfigurationResult( + azure_active_directory_authentications=pulumi.get(__ret__, 'azure_active_directory_authentications'), + client_revoked_certificates=pulumi.get(__ret__, 'client_revoked_certificates'), + client_root_certificates=pulumi.get(__ret__, 'client_root_certificates'), + id=pulumi.get(__ret__, 'id'), + ipsec_policies=pulumi.get(__ret__, 'ipsec_policies'), + location=pulumi.get(__ret__, 'location'), + name=pulumi.get(__ret__, 'name'), + radii=pulumi.get(__ret__, 'radii'), + resource_group_name=pulumi.get(__ret__, 'resource_group_name'), + tags=pulumi.get(__ret__, 'tags'), + vpn_authentication_types=pulumi.get(__ret__, 'vpn_authentication_types'), + vpn_protocols=pulumi.get(__ret__, 'vpn_protocols')) + + +@_utilities.lift_output_func(get_vpn_server_configuration) +def get_vpn_server_configuration_output(name: Optional[pulumi.Input[str]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetVpnServerConfigurationResult]: + """ + Use this data source to access information about an existing VPN Server Configuration. + + ## Example Usage + + ```python + import pulumi + import pulumi_azure as azure + + example = azure.network.get_vpn_server_configuration(name="existing-local-vpn-server-configuration", + resource_group_name="existing-resource-group") + pulumi.export("azurermVpnServerConfiguration", example.id) + ``` + + + :param str name: The Name of the VPN Server Configuration. + :param str resource_group_name: The name of the Resource Group where the VPN Server Configuration exists. + """ + ... diff --git a/sdk/python/pulumi_azure/network/outputs.py b/sdk/python/pulumi_azure/network/outputs.py index 4646e744df..5e71641e81 100644 --- a/sdk/python/pulumi_azure/network/outputs.py +++ b/sdk/python/pulumi_azure/network/outputs.py @@ -261,6 +261,14 @@ 'GetVpnGatewayBgpSettingResult', 'GetVpnGatewayBgpSettingInstance0BgpPeeringAddressResult', 'GetVpnGatewayBgpSettingInstance1BgpPeeringAddressResult', + 'GetVpnServerConfigurationAzureActiveDirectoryAuthenticationResult', + 'GetVpnServerConfigurationClientRevokedCertificateResult', + 'GetVpnServerConfigurationClientRootCertificateResult', + 'GetVpnServerConfigurationIpsecPolicyResult', + 'GetVpnServerConfigurationRadiusResult', + 'GetVpnServerConfigurationRadiusClientRootCertificateResult', + 'GetVpnServerConfigurationRadiusServerResult', + 'GetVpnServerConfigurationRadiusServerRootCertificateResult', ] @pulumi.output_type @@ -17431,3 +17439,334 @@ def tunnel_ips(self) -> Sequence[str]: return pulumi.get(self, "tunnel_ips") +@pulumi.output_type +class GetVpnServerConfigurationAzureActiveDirectoryAuthenticationResult(dict): + def __init__(__self__, *, + audience: str, + issuer: str, + tenant: str): + """ + :param str audience: The Audience which should be used for authentication. + :param str issuer: The Issuer which should be used for authentication. + :param str tenant: The Tenant which should be used for authentication. + """ + pulumi.set(__self__, "audience", audience) + pulumi.set(__self__, "issuer", issuer) + pulumi.set(__self__, "tenant", tenant) + + @property + @pulumi.getter + def audience(self) -> str: + """ + The Audience which should be used for authentication. + """ + return pulumi.get(self, "audience") + + @property + @pulumi.getter + def issuer(self) -> str: + """ + The Issuer which should be used for authentication. + """ + return pulumi.get(self, "issuer") + + @property + @pulumi.getter + def tenant(self) -> str: + """ + The Tenant which should be used for authentication. + """ + return pulumi.get(self, "tenant") + + +@pulumi.output_type +class GetVpnServerConfigurationClientRevokedCertificateResult(dict): + def __init__(__self__, *, + name: str, + thumbprint: str): + """ + :param str name: The Name of the VPN Server Configuration. + :param str thumbprint: The Thumbprint of the Certificate. + """ + pulumi.set(__self__, "name", name) + pulumi.set(__self__, "thumbprint", thumbprint) + + @property + @pulumi.getter + def name(self) -> str: + """ + The Name of the VPN Server Configuration. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def thumbprint(self) -> str: + """ + The Thumbprint of the Certificate. + """ + return pulumi.get(self, "thumbprint") + + +@pulumi.output_type +class GetVpnServerConfigurationClientRootCertificateResult(dict): + def __init__(__self__, *, + name: str, + public_cert_data: str): + """ + :param str name: The Name of the VPN Server Configuration. + :param str public_cert_data: The Public Key Data associated with the Certificate. + """ + pulumi.set(__self__, "name", name) + pulumi.set(__self__, "public_cert_data", public_cert_data) + + @property + @pulumi.getter + def name(self) -> str: + """ + The Name of the VPN Server Configuration. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="publicCertData") + def public_cert_data(self) -> str: + """ + The Public Key Data associated with the Certificate. + """ + return pulumi.get(self, "public_cert_data") + + +@pulumi.output_type +class GetVpnServerConfigurationIpsecPolicyResult(dict): + def __init__(__self__, *, + dh_group: str, + ike_encryption: str, + ike_integrity: str, + ipsec_encryption: str, + ipsec_integrity: str, + pfs_group: str, + sa_data_size_kilobytes: int, + sa_lifetime_seconds: int): + """ + :param str dh_group: The DH Group, used in IKE Phase 1. + :param str ike_encryption: The IKE encryption algorithm, used for IKE Phase 2. + :param str ike_integrity: The IKE encryption integrity algorithm, used for IKE Phase 2. + :param str ipsec_encryption: The IPSec encryption algorithm, used for IKE phase 1. + :param str ipsec_integrity: The IPSec integrity algorithm, used for IKE phase 1. + :param str pfs_group: The Pfs Group, used in IKE Phase 2. + :param int sa_data_size_kilobytes: The IPSec Security Association payload size in KB for a Site-to-Site VPN tunnel. + :param int sa_lifetime_seconds: The IPSec Security Association lifetime in seconds for a Site-to-Site VPN tunnel. + """ + pulumi.set(__self__, "dh_group", dh_group) + pulumi.set(__self__, "ike_encryption", ike_encryption) + pulumi.set(__self__, "ike_integrity", ike_integrity) + pulumi.set(__self__, "ipsec_encryption", ipsec_encryption) + pulumi.set(__self__, "ipsec_integrity", ipsec_integrity) + pulumi.set(__self__, "pfs_group", pfs_group) + pulumi.set(__self__, "sa_data_size_kilobytes", sa_data_size_kilobytes) + pulumi.set(__self__, "sa_lifetime_seconds", sa_lifetime_seconds) + + @property + @pulumi.getter(name="dhGroup") + def dh_group(self) -> str: + """ + The DH Group, used in IKE Phase 1. + """ + return pulumi.get(self, "dh_group") + + @property + @pulumi.getter(name="ikeEncryption") + def ike_encryption(self) -> str: + """ + The IKE encryption algorithm, used for IKE Phase 2. + """ + return pulumi.get(self, "ike_encryption") + + @property + @pulumi.getter(name="ikeIntegrity") + def ike_integrity(self) -> str: + """ + The IKE encryption integrity algorithm, used for IKE Phase 2. + """ + return pulumi.get(self, "ike_integrity") + + @property + @pulumi.getter(name="ipsecEncryption") + def ipsec_encryption(self) -> str: + """ + The IPSec encryption algorithm, used for IKE phase 1. + """ + return pulumi.get(self, "ipsec_encryption") + + @property + @pulumi.getter(name="ipsecIntegrity") + def ipsec_integrity(self) -> str: + """ + The IPSec integrity algorithm, used for IKE phase 1. + """ + return pulumi.get(self, "ipsec_integrity") + + @property + @pulumi.getter(name="pfsGroup") + def pfs_group(self) -> str: + """ + The Pfs Group, used in IKE Phase 2. + """ + return pulumi.get(self, "pfs_group") + + @property + @pulumi.getter(name="saDataSizeKilobytes") + def sa_data_size_kilobytes(self) -> int: + """ + The IPSec Security Association payload size in KB for a Site-to-Site VPN tunnel. + """ + return pulumi.get(self, "sa_data_size_kilobytes") + + @property + @pulumi.getter(name="saLifetimeSeconds") + def sa_lifetime_seconds(self) -> int: + """ + The IPSec Security Association lifetime in seconds for a Site-to-Site VPN tunnel. + """ + return pulumi.get(self, "sa_lifetime_seconds") + + +@pulumi.output_type +class GetVpnServerConfigurationRadiusResult(dict): + def __init__(__self__, *, + client_root_certificates: Sequence['outputs.GetVpnServerConfigurationRadiusClientRootCertificateResult'], + server_root_certificates: Sequence['outputs.GetVpnServerConfigurationRadiusServerRootCertificateResult'], + servers: Sequence['outputs.GetVpnServerConfigurationRadiusServerResult']): + """ + :param Sequence['GetVpnServerConfigurationRadiusClientRootCertificateArgs'] client_root_certificates: One or more `client_root_certificate` blocks as defined below. + :param Sequence['GetVpnServerConfigurationRadiusServerRootCertificateArgs'] server_root_certificates: One or more `server_root_certificate` blocks as defined below. + :param Sequence['GetVpnServerConfigurationRadiusServerArgs'] servers: One or more `server` blocks as defined below. + """ + pulumi.set(__self__, "client_root_certificates", client_root_certificates) + pulumi.set(__self__, "server_root_certificates", server_root_certificates) + pulumi.set(__self__, "servers", servers) + + @property + @pulumi.getter(name="clientRootCertificates") + def client_root_certificates(self) -> Sequence['outputs.GetVpnServerConfigurationRadiusClientRootCertificateResult']: + """ + One or more `client_root_certificate` blocks as defined below. + """ + return pulumi.get(self, "client_root_certificates") + + @property + @pulumi.getter(name="serverRootCertificates") + def server_root_certificates(self) -> Sequence['outputs.GetVpnServerConfigurationRadiusServerRootCertificateResult']: + """ + One or more `server_root_certificate` blocks as defined below. + """ + return pulumi.get(self, "server_root_certificates") + + @property + @pulumi.getter + def servers(self) -> Sequence['outputs.GetVpnServerConfigurationRadiusServerResult']: + """ + One or more `server` blocks as defined below. + """ + return pulumi.get(self, "servers") + + +@pulumi.output_type +class GetVpnServerConfigurationRadiusClientRootCertificateResult(dict): + def __init__(__self__, *, + name: str, + thumbprint: str): + """ + :param str name: The Name of the VPN Server Configuration. + :param str thumbprint: The Thumbprint of the Certificate. + """ + pulumi.set(__self__, "name", name) + pulumi.set(__self__, "thumbprint", thumbprint) + + @property + @pulumi.getter + def name(self) -> str: + """ + The Name of the VPN Server Configuration. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def thumbprint(self) -> str: + """ + The Thumbprint of the Certificate. + """ + return pulumi.get(self, "thumbprint") + + +@pulumi.output_type +class GetVpnServerConfigurationRadiusServerResult(dict): + def __init__(__self__, *, + address: str, + score: int, + secret: str): + """ + :param str address: The Address of the Radius Server. + :param int score: The Score of the Radius Server determines the priority of the server. + :param str secret: The Secret used to communicate with the Radius Server. + """ + pulumi.set(__self__, "address", address) + pulumi.set(__self__, "score", score) + pulumi.set(__self__, "secret", secret) + + @property + @pulumi.getter + def address(self) -> str: + """ + The Address of the Radius Server. + """ + return pulumi.get(self, "address") + + @property + @pulumi.getter + def score(self) -> int: + """ + The Score of the Radius Server determines the priority of the server. + """ + return pulumi.get(self, "score") + + @property + @pulumi.getter + def secret(self) -> str: + """ + The Secret used to communicate with the Radius Server. + """ + return pulumi.get(self, "secret") + + +@pulumi.output_type +class GetVpnServerConfigurationRadiusServerRootCertificateResult(dict): + def __init__(__self__, *, + name: str, + public_cert_data: str): + """ + :param str name: The Name of the VPN Server Configuration. + :param str public_cert_data: The Public Key Data associated with the Certificate. + """ + pulumi.set(__self__, "name", name) + pulumi.set(__self__, "public_cert_data", public_cert_data) + + @property + @pulumi.getter + def name(self) -> str: + """ + The Name of the VPN Server Configuration. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="publicCertData") + def public_cert_data(self) -> str: + """ + The Public Key Data associated with the Certificate. + """ + return pulumi.get(self, "public_cert_data") + + diff --git a/sdk/python/pulumi_azure/nginx/deployment.py b/sdk/python/pulumi_azure/nginx/deployment.py index 43b66eab65..03fd8117df 100644 --- a/sdk/python/pulumi_azure/nginx/deployment.py +++ b/sdk/python/pulumi_azure/nginx/deployment.py @@ -639,7 +639,7 @@ def __init__(__self__, example_deployment = azure.nginx.Deployment("example", name="example-nginx", resource_group_name=example.name, - sku="standard_Monthly", + sku="standardv2_Monthly", location=example.location, managed_resource_group="example", diagnose_support_enabled=True, @@ -729,7 +729,7 @@ def __init__(__self__, example_deployment = azure.nginx.Deployment("example", name="example-nginx", resource_group_name=example.name, - sku="standard_Monthly", + sku="standardv2_Monthly", location=example.location, managed_resource_group="example", diagnose_support_enabled=True, diff --git a/sdk/python/pulumi_azure/nginx/get_deployment.py b/sdk/python/pulumi_azure/nginx/get_deployment.py index 0dd9d3aea0..7ef3272775 100644 --- a/sdk/python/pulumi_azure/nginx/get_deployment.py +++ b/sdk/python/pulumi_azure/nginx/get_deployment.py @@ -223,7 +223,7 @@ def resource_group_name(self) -> str: @pulumi.getter def sku(self) -> str: """ - The NGINX Deployment SKU. Possible values include `standard_Monthly`. + The NGINX Deployment SKU. """ return pulumi.get(self, "sku") diff --git a/sdk/python/pulumi_azure/pim/get_role_management_policy.py b/sdk/python/pulumi_azure/pim/get_role_management_policy.py index caf16985c7..3ace58db3a 100644 --- a/sdk/python/pulumi_azure/pim/get_role_management_policy.py +++ b/sdk/python/pulumi_azure/pim/get_role_management_policy.py @@ -176,7 +176,7 @@ def get_role_management_policy(role_definition_id: Optional[str] = None, :param str role_definition_id: The scoped Role Definition ID of the role for which this policy applies. - :param str scope: The scope to which this Role Management Policy applies. Can refer to a management group, a subscription or a resource group. + :param str scope: The scope to which this Role Management Policy applies. Can refer to a management group, a subscription, a resource group or a resource. """ __args__ = dict() __args__['roleDefinitionId'] = role_definition_id @@ -233,6 +233,6 @@ def get_role_management_policy_output(role_definition_id: Optional[pulumi.Input[ :param str role_definition_id: The scoped Role Definition ID of the role for which this policy applies. - :param str scope: The scope to which this Role Management Policy applies. Can refer to a management group, a subscription or a resource group. + :param str scope: The scope to which this Role Management Policy applies. Can refer to a management group, a subscription, a resource group or a resource. """ ... diff --git a/sdk/python/pulumi_azure/pim/role_management_policy.py b/sdk/python/pulumi_azure/pim/role_management_policy.py index c1060f408f..73caaff142 100644 --- a/sdk/python/pulumi_azure/pim/role_management_policy.py +++ b/sdk/python/pulumi_azure/pim/role_management_policy.py @@ -30,7 +30,7 @@ def __init__(__self__, *, """ The set of arguments for constructing a RoleManagementPolicy resource. :param pulumi.Input[str] role_definition_id: The scoped Role Definition ID of the role for which this policy will apply. Changing this forces a new resource to be created. - :param pulumi.Input[str] scope: 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. + :param pulumi.Input[str] scope: 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. :param pulumi.Input['RoleManagementPolicyActivationRulesArgs'] activation_rules: An `activation_rules` block as defined below. :param pulumi.Input['RoleManagementPolicyActiveAssignmentRulesArgs'] active_assignment_rules: An `active_assignment_rules` block as defined below. :param pulumi.Input['RoleManagementPolicyEligibleAssignmentRulesArgs'] eligible_assignment_rules: An `eligible_assignment_rules` block as defined below. @@ -63,7 +63,7 @@ def role_definition_id(self, value: pulumi.Input[str]): @pulumi.getter def scope(self) -> pulumi.Input[str]: """ - 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. """ return pulumi.get(self, "scope") @@ -140,7 +140,7 @@ def __init__(__self__, *, :param pulumi.Input[str] name: (String) The name of this policy, which is typically a UUID and may change over time. :param pulumi.Input['RoleManagementPolicyNotificationRulesArgs'] notification_rules: A `notification_rules` block as defined below. :param pulumi.Input[str] role_definition_id: The scoped Role Definition ID of the role for which this policy will apply. Changing this forces a new resource to be created. - :param pulumi.Input[str] scope: 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. + :param pulumi.Input[str] scope: 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. """ if activation_rules is not None: pulumi.set(__self__, "activation_rules", activation_rules) @@ -247,7 +247,7 @@ def role_definition_id(self, value: Optional[pulumi.Input[str]]): @pulumi.getter def scope(self) -> Optional[pulumi.Input[str]]: """ - 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. """ return pulumi.get(self, "scope") @@ -321,7 +321,7 @@ def __init__(__self__, :param pulumi.Input[Union['RoleManagementPolicyEligibleAssignmentRulesArgs', 'RoleManagementPolicyEligibleAssignmentRulesArgsDict']] eligible_assignment_rules: An `eligible_assignment_rules` block as defined below. :param pulumi.Input[Union['RoleManagementPolicyNotificationRulesArgs', 'RoleManagementPolicyNotificationRulesArgsDict']] notification_rules: A `notification_rules` block as defined below. :param pulumi.Input[str] role_definition_id: The scoped Role Definition ID of the role for which this policy will apply. Changing this forces a new resource to be created. - :param pulumi.Input[str] scope: 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. + :param pulumi.Input[str] scope: 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. """ ... @overload @@ -449,7 +449,7 @@ def get(resource_name: str, :param pulumi.Input[str] name: (String) The name of this policy, which is typically a UUID and may change over time. :param pulumi.Input[Union['RoleManagementPolicyNotificationRulesArgs', 'RoleManagementPolicyNotificationRulesArgsDict']] notification_rules: A `notification_rules` block as defined below. :param pulumi.Input[str] role_definition_id: The scoped Role Definition ID of the role for which this policy will apply. Changing this forces a new resource to be created. - :param pulumi.Input[str] scope: 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. + :param pulumi.Input[str] scope: 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. """ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) @@ -525,7 +525,7 @@ def role_definition_id(self) -> pulumi.Output[str]: @pulumi.getter def scope(self) -> pulumi.Output[str]: """ - 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. """ return pulumi.get(self, "scope") diff --git a/sdk/python/pulumi_azure/sentinel/threat_intelligence_indicator.py b/sdk/python/pulumi_azure/sentinel/threat_intelligence_indicator.py index bbd8ffea01..a7de765421 100644 --- a/sdk/python/pulumi_azure/sentinel/threat_intelligence_indicator.py +++ b/sdk/python/pulumi_azure/sentinel/threat_intelligence_indicator.py @@ -825,6 +825,31 @@ def __init__(__self__, """ Manages a Sentinel Threat Intelligence Indicator. + ## Example Usage + + ```python + import pulumi + import pulumi_azure as azure + + example = azure.core.ResourceGroup("example", + name="example-rg", + location="east us") + example_analytics_workspace = azure.operationalinsights.AnalyticsWorkspace("example", + name="example-law", + location=example.location, + resource_group_name=example.name, + sku="PerGB2018", + retention_in_days=30) + example_log_analytics_workspace_onboarding = azure.sentinel.LogAnalyticsWorkspaceOnboarding("example", workspace_id=example_analytics_workspace.id) + example_threat_intelligence_indicator = azure.sentinel.ThreatIntelligenceIndicator("example", + workspace_id=example_log_analytics_workspace_onboarding.workspace_id, + pattern_type="domain-name", + pattern="http://example.com", + source="Microsoft Sentinel", + validate_from_utc="2022-12-14T16:00:00Z", + display_name="example-indicator") + ``` + ## Import Sentinel Threat Intelligence Indicators can be imported using the `resource id`, e.g. @@ -865,6 +890,31 @@ def __init__(__self__, """ Manages a Sentinel Threat Intelligence Indicator. + ## Example Usage + + ```python + import pulumi + import pulumi_azure as azure + + example = azure.core.ResourceGroup("example", + name="example-rg", + location="east us") + example_analytics_workspace = azure.operationalinsights.AnalyticsWorkspace("example", + name="example-law", + location=example.location, + resource_group_name=example.name, + sku="PerGB2018", + retention_in_days=30) + example_log_analytics_workspace_onboarding = azure.sentinel.LogAnalyticsWorkspaceOnboarding("example", workspace_id=example_analytics_workspace.id) + example_threat_intelligence_indicator = azure.sentinel.ThreatIntelligenceIndicator("example", + workspace_id=example_log_analytics_workspace_onboarding.workspace_id, + pattern_type="domain-name", + pattern="http://example.com", + source="Microsoft Sentinel", + validate_from_utc="2022-12-14T16:00:00Z", + display_name="example-indicator") + ``` + ## Import Sentinel Threat Intelligence Indicators can be imported using the `resource id`, e.g. diff --git a/sdk/python/pulumi_azure/stack/__init__.py b/sdk/python/pulumi_azure/stack/__init__.py index a5ccccd8d9..be5f621fcd 100644 --- a/sdk/python/pulumi_azure/stack/__init__.py +++ b/sdk/python/pulumi_azure/stack/__init__.py @@ -7,6 +7,8 @@ # Export this package's modules as members: from .get_hci_cluster import * from .hci_cluster import * +from .hci_deployment_setting import * from .hci_logical_network import * +from .hci_storage_path import * from ._inputs import * from . import outputs diff --git a/sdk/python/pulumi_azure/stack/_inputs.py b/sdk/python/pulumi_azure/stack/_inputs.py index 5e7acdc9a6..30b7823cd3 100644 --- a/sdk/python/pulumi_azure/stack/_inputs.py +++ b/sdk/python/pulumi_azure/stack/_inputs.py @@ -17,6 +17,32 @@ __all__ = [ 'HciClusterIdentityArgs', 'HciClusterIdentityArgsDict', + 'HciDeploymentSettingScaleUnitArgs', + 'HciDeploymentSettingScaleUnitArgsDict', + 'HciDeploymentSettingScaleUnitClusterArgs', + 'HciDeploymentSettingScaleUnitClusterArgsDict', + 'HciDeploymentSettingScaleUnitHostNetworkArgs', + 'HciDeploymentSettingScaleUnitHostNetworkArgsDict', + 'HciDeploymentSettingScaleUnitHostNetworkIntentArgs', + 'HciDeploymentSettingScaleUnitHostNetworkIntentArgsDict', + 'HciDeploymentSettingScaleUnitHostNetworkIntentAdapterPropertyOverrideArgs', + 'HciDeploymentSettingScaleUnitHostNetworkIntentAdapterPropertyOverrideArgsDict', + 'HciDeploymentSettingScaleUnitHostNetworkIntentQosPolicyOverrideArgs', + 'HciDeploymentSettingScaleUnitHostNetworkIntentQosPolicyOverrideArgsDict', + 'HciDeploymentSettingScaleUnitHostNetworkIntentVirtualSwitchConfigurationOverrideArgs', + 'HciDeploymentSettingScaleUnitHostNetworkIntentVirtualSwitchConfigurationOverrideArgsDict', + 'HciDeploymentSettingScaleUnitHostNetworkStorageNetworkArgs', + 'HciDeploymentSettingScaleUnitHostNetworkStorageNetworkArgsDict', + 'HciDeploymentSettingScaleUnitInfrastructureNetworkArgs', + 'HciDeploymentSettingScaleUnitInfrastructureNetworkArgsDict', + 'HciDeploymentSettingScaleUnitInfrastructureNetworkIpPoolArgs', + 'HciDeploymentSettingScaleUnitInfrastructureNetworkIpPoolArgsDict', + 'HciDeploymentSettingScaleUnitOptionalServiceArgs', + 'HciDeploymentSettingScaleUnitOptionalServiceArgsDict', + 'HciDeploymentSettingScaleUnitPhysicalNodeArgs', + 'HciDeploymentSettingScaleUnitPhysicalNodeArgsDict', + 'HciDeploymentSettingScaleUnitStorageArgs', + 'HciDeploymentSettingScaleUnitStorageArgsDict', 'HciLogicalNetworkSubnetArgs', 'HciLogicalNetworkSubnetArgsDict', 'HciLogicalNetworkSubnetIpPoolArgs', @@ -104,6 +130,1395 @@ def tenant_id(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "tenant_id", value) +if not MYPY: + class HciDeploymentSettingScaleUnitArgsDict(TypedDict): + active_directory_organizational_unit_path: pulumi.Input[str] + """ + 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. + """ + cluster: pulumi.Input['HciDeploymentSettingScaleUnitClusterArgsDict'] + """ + A `cluster` block as defined above. Changing this forces a new Stack HCI Deployment Setting to be created. + """ + domain_fqdn: pulumi.Input[str] + """ + Specifies the FQDN for deploying cluster. Changing this forces a new Stack HCI Deployment Setting to be created. + """ + host_network: pulumi.Input['HciDeploymentSettingScaleUnitHostNetworkArgsDict'] + """ + A `host_network` block as defined above. Changing this forces a new Stack HCI Deployment Setting to be created. + """ + infrastructure_networks: pulumi.Input[Sequence[pulumi.Input['HciDeploymentSettingScaleUnitInfrastructureNetworkArgsDict']]] + """ + One or more `infrastructure_network` blocks as defined above. Changing this forces a new Stack HCI Deployment Setting to be created. + """ + name_prefix: pulumi.Input[str] + """ + 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. + """ + optional_service: pulumi.Input['HciDeploymentSettingScaleUnitOptionalServiceArgsDict'] + """ + A `optional_service` block as defined above. Changing this forces a new Stack HCI Deployment Setting to be created. + """ + physical_nodes: pulumi.Input[Sequence[pulumi.Input['HciDeploymentSettingScaleUnitPhysicalNodeArgsDict']]] + """ + One or more `physical_node` blocks as defined above. Changing this forces a new Stack HCI Deployment Setting to be created. + """ + secrets_location: pulumi.Input[str] + """ + The URI to the Key Vault or secret store. Changing this forces a new Stack HCI Deployment Setting to be created. + """ + storage: pulumi.Input['HciDeploymentSettingScaleUnitStorageArgsDict'] + """ + A `storage` block as defined below. Changing this forces a new Stack HCI Deployment Setting to be created. + """ + bitlocker_boot_volume_enabled: NotRequired[pulumi.Input[bool]] + """ + 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. + """ + bitlocker_data_volume_enabled: NotRequired[pulumi.Input[bool]] + """ + 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. + """ + credential_guard_enabled: NotRequired[pulumi.Input[bool]] + """ + 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. + """ + drift_control_enabled: NotRequired[pulumi.Input[bool]] + """ + 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. + """ + drtm_protection_enabled: NotRequired[pulumi.Input[bool]] + """ + 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. + """ + episodic_data_upload_enabled: NotRequired[pulumi.Input[bool]] + """ + 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. + """ + eu_location_enabled: NotRequired[pulumi.Input[bool]] + """ + 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. + """ + hvci_protection_enabled: NotRequired[pulumi.Input[bool]] + """ + 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. + """ + side_channel_mitigation_enabled: NotRequired[pulumi.Input[bool]] + """ + 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. + """ + smb_cluster_encryption_enabled: NotRequired[pulumi.Input[bool]] + """ + 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. + """ + smb_signing_enabled: NotRequired[pulumi.Input[bool]] + """ + 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. + """ + streaming_data_client_enabled: NotRequired[pulumi.Input[bool]] + """ + 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. + """ + wdac_enabled: NotRequired[pulumi.Input[bool]] + """ + 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. + """ +elif False: + HciDeploymentSettingScaleUnitArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class HciDeploymentSettingScaleUnitArgs: + def __init__(__self__, *, + active_directory_organizational_unit_path: pulumi.Input[str], + cluster: pulumi.Input['HciDeploymentSettingScaleUnitClusterArgs'], + domain_fqdn: pulumi.Input[str], + host_network: pulumi.Input['HciDeploymentSettingScaleUnitHostNetworkArgs'], + infrastructure_networks: pulumi.Input[Sequence[pulumi.Input['HciDeploymentSettingScaleUnitInfrastructureNetworkArgs']]], + name_prefix: pulumi.Input[str], + optional_service: pulumi.Input['HciDeploymentSettingScaleUnitOptionalServiceArgs'], + physical_nodes: pulumi.Input[Sequence[pulumi.Input['HciDeploymentSettingScaleUnitPhysicalNodeArgs']]], + secrets_location: pulumi.Input[str], + storage: pulumi.Input['HciDeploymentSettingScaleUnitStorageArgs'], + bitlocker_boot_volume_enabled: Optional[pulumi.Input[bool]] = None, + bitlocker_data_volume_enabled: Optional[pulumi.Input[bool]] = None, + credential_guard_enabled: Optional[pulumi.Input[bool]] = None, + drift_control_enabled: Optional[pulumi.Input[bool]] = None, + drtm_protection_enabled: Optional[pulumi.Input[bool]] = None, + episodic_data_upload_enabled: Optional[pulumi.Input[bool]] = None, + eu_location_enabled: Optional[pulumi.Input[bool]] = None, + hvci_protection_enabled: Optional[pulumi.Input[bool]] = None, + side_channel_mitigation_enabled: Optional[pulumi.Input[bool]] = None, + smb_cluster_encryption_enabled: Optional[pulumi.Input[bool]] = None, + smb_signing_enabled: Optional[pulumi.Input[bool]] = None, + streaming_data_client_enabled: Optional[pulumi.Input[bool]] = None, + wdac_enabled: Optional[pulumi.Input[bool]] = None): + """ + :param pulumi.Input[str] active_directory_organizational_unit_path: 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. + :param pulumi.Input['HciDeploymentSettingScaleUnitClusterArgs'] cluster: A `cluster` block as defined above. Changing this forces a new Stack HCI Deployment Setting to be created. + :param pulumi.Input[str] domain_fqdn: Specifies the FQDN for deploying cluster. Changing this forces a new Stack HCI Deployment Setting to be created. + :param pulumi.Input['HciDeploymentSettingScaleUnitHostNetworkArgs'] host_network: A `host_network` block as defined above. Changing this forces a new Stack HCI Deployment Setting to be created. + :param pulumi.Input[Sequence[pulumi.Input['HciDeploymentSettingScaleUnitInfrastructureNetworkArgs']]] infrastructure_networks: One or more `infrastructure_network` blocks as defined above. Changing this forces a new Stack HCI Deployment Setting to be created. + :param pulumi.Input[str] name_prefix: 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. + :param pulumi.Input['HciDeploymentSettingScaleUnitOptionalServiceArgs'] optional_service: A `optional_service` block as defined above. Changing this forces a new Stack HCI Deployment Setting to be created. + :param pulumi.Input[Sequence[pulumi.Input['HciDeploymentSettingScaleUnitPhysicalNodeArgs']]] physical_nodes: One or more `physical_node` blocks as defined above. Changing this forces a new Stack HCI Deployment Setting to be created. + :param pulumi.Input[str] secrets_location: The URI to the Key Vault or secret store. Changing this forces a new Stack HCI Deployment Setting to be created. + :param pulumi.Input['HciDeploymentSettingScaleUnitStorageArgs'] storage: A `storage` block as defined below. Changing this forces a new Stack HCI Deployment Setting to be created. + :param pulumi.Input[bool] bitlocker_boot_volume_enabled: 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. + :param pulumi.Input[bool] bitlocker_data_volume_enabled: 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. + :param pulumi.Input[bool] credential_guard_enabled: 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. + :param pulumi.Input[bool] drift_control_enabled: 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. + :param pulumi.Input[bool] drtm_protection_enabled: 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. + :param pulumi.Input[bool] episodic_data_upload_enabled: 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. + :param pulumi.Input[bool] eu_location_enabled: 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. + :param pulumi.Input[bool] hvci_protection_enabled: 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. + :param pulumi.Input[bool] side_channel_mitigation_enabled: 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. + :param pulumi.Input[bool] smb_cluster_encryption_enabled: 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. + :param pulumi.Input[bool] smb_signing_enabled: 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. + :param pulumi.Input[bool] streaming_data_client_enabled: 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. + :param pulumi.Input[bool] wdac_enabled: 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. + """ + pulumi.set(__self__, "active_directory_organizational_unit_path", active_directory_organizational_unit_path) + pulumi.set(__self__, "cluster", cluster) + pulumi.set(__self__, "domain_fqdn", domain_fqdn) + pulumi.set(__self__, "host_network", host_network) + pulumi.set(__self__, "infrastructure_networks", infrastructure_networks) + pulumi.set(__self__, "name_prefix", name_prefix) + pulumi.set(__self__, "optional_service", optional_service) + pulumi.set(__self__, "physical_nodes", physical_nodes) + pulumi.set(__self__, "secrets_location", secrets_location) + pulumi.set(__self__, "storage", storage) + if bitlocker_boot_volume_enabled is not None: + pulumi.set(__self__, "bitlocker_boot_volume_enabled", bitlocker_boot_volume_enabled) + if bitlocker_data_volume_enabled is not None: + pulumi.set(__self__, "bitlocker_data_volume_enabled", bitlocker_data_volume_enabled) + if credential_guard_enabled is not None: + pulumi.set(__self__, "credential_guard_enabled", credential_guard_enabled) + if drift_control_enabled is not None: + pulumi.set(__self__, "drift_control_enabled", drift_control_enabled) + if drtm_protection_enabled is not None: + pulumi.set(__self__, "drtm_protection_enabled", drtm_protection_enabled) + if episodic_data_upload_enabled is not None: + pulumi.set(__self__, "episodic_data_upload_enabled", episodic_data_upload_enabled) + if eu_location_enabled is not None: + pulumi.set(__self__, "eu_location_enabled", eu_location_enabled) + if hvci_protection_enabled is not None: + pulumi.set(__self__, "hvci_protection_enabled", hvci_protection_enabled) + if side_channel_mitigation_enabled is not None: + pulumi.set(__self__, "side_channel_mitigation_enabled", side_channel_mitigation_enabled) + if smb_cluster_encryption_enabled is not None: + pulumi.set(__self__, "smb_cluster_encryption_enabled", smb_cluster_encryption_enabled) + if smb_signing_enabled is not None: + pulumi.set(__self__, "smb_signing_enabled", smb_signing_enabled) + if streaming_data_client_enabled is not None: + pulumi.set(__self__, "streaming_data_client_enabled", streaming_data_client_enabled) + if wdac_enabled is not None: + pulumi.set(__self__, "wdac_enabled", wdac_enabled) + + @property + @pulumi.getter(name="activeDirectoryOrganizationalUnitPath") + def active_directory_organizational_unit_path(self) -> pulumi.Input[str]: + """ + 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. + """ + return pulumi.get(self, "active_directory_organizational_unit_path") + + @active_directory_organizational_unit_path.setter + def active_directory_organizational_unit_path(self, value: pulumi.Input[str]): + pulumi.set(self, "active_directory_organizational_unit_path", value) + + @property + @pulumi.getter + def cluster(self) -> pulumi.Input['HciDeploymentSettingScaleUnitClusterArgs']: + """ + A `cluster` block as defined above. Changing this forces a new Stack HCI Deployment Setting to be created. + """ + return pulumi.get(self, "cluster") + + @cluster.setter + def cluster(self, value: pulumi.Input['HciDeploymentSettingScaleUnitClusterArgs']): + pulumi.set(self, "cluster", value) + + @property + @pulumi.getter(name="domainFqdn") + def domain_fqdn(self) -> pulumi.Input[str]: + """ + Specifies the FQDN for deploying cluster. Changing this forces a new Stack HCI Deployment Setting to be created. + """ + return pulumi.get(self, "domain_fqdn") + + @domain_fqdn.setter + def domain_fqdn(self, value: pulumi.Input[str]): + pulumi.set(self, "domain_fqdn", value) + + @property + @pulumi.getter(name="hostNetwork") + def host_network(self) -> pulumi.Input['HciDeploymentSettingScaleUnitHostNetworkArgs']: + """ + A `host_network` block as defined above. Changing this forces a new Stack HCI Deployment Setting to be created. + """ + return pulumi.get(self, "host_network") + + @host_network.setter + def host_network(self, value: pulumi.Input['HciDeploymentSettingScaleUnitHostNetworkArgs']): + pulumi.set(self, "host_network", value) + + @property + @pulumi.getter(name="infrastructureNetworks") + def infrastructure_networks(self) -> pulumi.Input[Sequence[pulumi.Input['HciDeploymentSettingScaleUnitInfrastructureNetworkArgs']]]: + """ + One or more `infrastructure_network` blocks as defined above. Changing this forces a new Stack HCI Deployment Setting to be created. + """ + return pulumi.get(self, "infrastructure_networks") + + @infrastructure_networks.setter + def infrastructure_networks(self, value: pulumi.Input[Sequence[pulumi.Input['HciDeploymentSettingScaleUnitInfrastructureNetworkArgs']]]): + pulumi.set(self, "infrastructure_networks", value) + + @property + @pulumi.getter(name="namePrefix") + def name_prefix(self) -> pulumi.Input[str]: + """ + 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. + """ + return pulumi.get(self, "name_prefix") + + @name_prefix.setter + def name_prefix(self, value: pulumi.Input[str]): + pulumi.set(self, "name_prefix", value) + + @property + @pulumi.getter(name="optionalService") + def optional_service(self) -> pulumi.Input['HciDeploymentSettingScaleUnitOptionalServiceArgs']: + """ + A `optional_service` block as defined above. Changing this forces a new Stack HCI Deployment Setting to be created. + """ + return pulumi.get(self, "optional_service") + + @optional_service.setter + def optional_service(self, value: pulumi.Input['HciDeploymentSettingScaleUnitOptionalServiceArgs']): + pulumi.set(self, "optional_service", value) + + @property + @pulumi.getter(name="physicalNodes") + def physical_nodes(self) -> pulumi.Input[Sequence[pulumi.Input['HciDeploymentSettingScaleUnitPhysicalNodeArgs']]]: + """ + One or more `physical_node` blocks as defined above. Changing this forces a new Stack HCI Deployment Setting to be created. + """ + return pulumi.get(self, "physical_nodes") + + @physical_nodes.setter + def physical_nodes(self, value: pulumi.Input[Sequence[pulumi.Input['HciDeploymentSettingScaleUnitPhysicalNodeArgs']]]): + pulumi.set(self, "physical_nodes", value) + + @property + @pulumi.getter(name="secretsLocation") + def secrets_location(self) -> pulumi.Input[str]: + """ + The URI to the Key Vault or secret store. Changing this forces a new Stack HCI Deployment Setting to be created. + """ + return pulumi.get(self, "secrets_location") + + @secrets_location.setter + def secrets_location(self, value: pulumi.Input[str]): + pulumi.set(self, "secrets_location", value) + + @property + @pulumi.getter + def storage(self) -> pulumi.Input['HciDeploymentSettingScaleUnitStorageArgs']: + """ + A `storage` block as defined below. Changing this forces a new Stack HCI Deployment Setting to be created. + """ + return pulumi.get(self, "storage") + + @storage.setter + def storage(self, value: pulumi.Input['HciDeploymentSettingScaleUnitStorageArgs']): + pulumi.set(self, "storage", value) + + @property + @pulumi.getter(name="bitlockerBootVolumeEnabled") + def bitlocker_boot_volume_enabled(self) -> Optional[pulumi.Input[bool]]: + """ + 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. + """ + return pulumi.get(self, "bitlocker_boot_volume_enabled") + + @bitlocker_boot_volume_enabled.setter + def bitlocker_boot_volume_enabled(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "bitlocker_boot_volume_enabled", value) + + @property + @pulumi.getter(name="bitlockerDataVolumeEnabled") + def bitlocker_data_volume_enabled(self) -> Optional[pulumi.Input[bool]]: + """ + 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. + """ + return pulumi.get(self, "bitlocker_data_volume_enabled") + + @bitlocker_data_volume_enabled.setter + def bitlocker_data_volume_enabled(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "bitlocker_data_volume_enabled", value) + + @property + @pulumi.getter(name="credentialGuardEnabled") + def credential_guard_enabled(self) -> Optional[pulumi.Input[bool]]: + """ + 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. + """ + return pulumi.get(self, "credential_guard_enabled") + + @credential_guard_enabled.setter + def credential_guard_enabled(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "credential_guard_enabled", value) + + @property + @pulumi.getter(name="driftControlEnabled") + def drift_control_enabled(self) -> Optional[pulumi.Input[bool]]: + """ + 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. + """ + return pulumi.get(self, "drift_control_enabled") + + @drift_control_enabled.setter + def drift_control_enabled(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "drift_control_enabled", value) + + @property + @pulumi.getter(name="drtmProtectionEnabled") + def drtm_protection_enabled(self) -> Optional[pulumi.Input[bool]]: + """ + 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. + """ + return pulumi.get(self, "drtm_protection_enabled") + + @drtm_protection_enabled.setter + def drtm_protection_enabled(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "drtm_protection_enabled", value) + + @property + @pulumi.getter(name="episodicDataUploadEnabled") + def episodic_data_upload_enabled(self) -> Optional[pulumi.Input[bool]]: + """ + 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. + """ + return pulumi.get(self, "episodic_data_upload_enabled") + + @episodic_data_upload_enabled.setter + def episodic_data_upload_enabled(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "episodic_data_upload_enabled", value) + + @property + @pulumi.getter(name="euLocationEnabled") + def eu_location_enabled(self) -> Optional[pulumi.Input[bool]]: + """ + 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. + """ + return pulumi.get(self, "eu_location_enabled") + + @eu_location_enabled.setter + def eu_location_enabled(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "eu_location_enabled", value) + + @property + @pulumi.getter(name="hvciProtectionEnabled") + def hvci_protection_enabled(self) -> Optional[pulumi.Input[bool]]: + """ + 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. + """ + return pulumi.get(self, "hvci_protection_enabled") + + @hvci_protection_enabled.setter + def hvci_protection_enabled(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "hvci_protection_enabled", value) + + @property + @pulumi.getter(name="sideChannelMitigationEnabled") + def side_channel_mitigation_enabled(self) -> Optional[pulumi.Input[bool]]: + """ + 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. + """ + return pulumi.get(self, "side_channel_mitigation_enabled") + + @side_channel_mitigation_enabled.setter + def side_channel_mitigation_enabled(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "side_channel_mitigation_enabled", value) + + @property + @pulumi.getter(name="smbClusterEncryptionEnabled") + def smb_cluster_encryption_enabled(self) -> Optional[pulumi.Input[bool]]: + """ + 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. + """ + return pulumi.get(self, "smb_cluster_encryption_enabled") + + @smb_cluster_encryption_enabled.setter + def smb_cluster_encryption_enabled(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "smb_cluster_encryption_enabled", value) + + @property + @pulumi.getter(name="smbSigningEnabled") + def smb_signing_enabled(self) -> Optional[pulumi.Input[bool]]: + """ + 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. + """ + return pulumi.get(self, "smb_signing_enabled") + + @smb_signing_enabled.setter + def smb_signing_enabled(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "smb_signing_enabled", value) + + @property + @pulumi.getter(name="streamingDataClientEnabled") + def streaming_data_client_enabled(self) -> Optional[pulumi.Input[bool]]: + """ + 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. + """ + return pulumi.get(self, "streaming_data_client_enabled") + + @streaming_data_client_enabled.setter + def streaming_data_client_enabled(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "streaming_data_client_enabled", value) + + @property + @pulumi.getter(name="wdacEnabled") + def wdac_enabled(self) -> Optional[pulumi.Input[bool]]: + """ + 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. + """ + return pulumi.get(self, "wdac_enabled") + + @wdac_enabled.setter + def wdac_enabled(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "wdac_enabled", value) + + +if not MYPY: + class HciDeploymentSettingScaleUnitClusterArgsDict(TypedDict): + azure_service_endpoint: pulumi.Input[str] + """ + Specifies the Azure blob service endpoint, for example, `core.windows.net`. Changing this forces a new Stack HCI Deployment Setting to be created. + """ + cloud_account_name: pulumi.Input[str] + """ + 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. + """ + name: pulumi.Input[str] + """ + 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. + """ + witness_path: pulumi.Input[str] + """ + 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. + """ + witness_type: pulumi.Input[str] + """ + Specifies the type of the witness. Possible values are `Cloud`, `FileShare`. Changing this forces a new Stack HCI Deployment Setting to be created. + """ +elif False: + HciDeploymentSettingScaleUnitClusterArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class HciDeploymentSettingScaleUnitClusterArgs: + def __init__(__self__, *, + azure_service_endpoint: pulumi.Input[str], + cloud_account_name: pulumi.Input[str], + name: pulumi.Input[str], + witness_path: pulumi.Input[str], + witness_type: pulumi.Input[str]): + """ + :param pulumi.Input[str] azure_service_endpoint: Specifies the Azure blob service endpoint, for example, `core.windows.net`. Changing this forces a new Stack HCI Deployment Setting to be created. + :param pulumi.Input[str] cloud_account_name: 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. + :param pulumi.Input[str] name: 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. + :param pulumi.Input[str] witness_path: 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. + :param pulumi.Input[str] witness_type: Specifies the type of the witness. Possible values are `Cloud`, `FileShare`. Changing this forces a new Stack HCI Deployment Setting to be created. + """ + pulumi.set(__self__, "azure_service_endpoint", azure_service_endpoint) + pulumi.set(__self__, "cloud_account_name", cloud_account_name) + pulumi.set(__self__, "name", name) + pulumi.set(__self__, "witness_path", witness_path) + pulumi.set(__self__, "witness_type", witness_type) + + @property + @pulumi.getter(name="azureServiceEndpoint") + def azure_service_endpoint(self) -> pulumi.Input[str]: + """ + Specifies the Azure blob service endpoint, for example, `core.windows.net`. Changing this forces a new Stack HCI Deployment Setting to be created. + """ + return pulumi.get(self, "azure_service_endpoint") + + @azure_service_endpoint.setter + def azure_service_endpoint(self, value: pulumi.Input[str]): + pulumi.set(self, "azure_service_endpoint", value) + + @property + @pulumi.getter(name="cloudAccountName") + def cloud_account_name(self) -> pulumi.Input[str]: + """ + 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. + """ + return pulumi.get(self, "cloud_account_name") + + @cloud_account_name.setter + def cloud_account_name(self, value: pulumi.Input[str]): + pulumi.set(self, "cloud_account_name", value) + + @property + @pulumi.getter + def name(self) -> pulumi.Input[str]: + """ + 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. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: pulumi.Input[str]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter(name="witnessPath") + def witness_path(self) -> pulumi.Input[str]: + """ + 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. + """ + return pulumi.get(self, "witness_path") + + @witness_path.setter + def witness_path(self, value: pulumi.Input[str]): + pulumi.set(self, "witness_path", value) + + @property + @pulumi.getter(name="witnessType") + def witness_type(self) -> pulumi.Input[str]: + """ + Specifies the type of the witness. Possible values are `Cloud`, `FileShare`. Changing this forces a new Stack HCI Deployment Setting to be created. + """ + return pulumi.get(self, "witness_type") + + @witness_type.setter + def witness_type(self, value: pulumi.Input[str]): + pulumi.set(self, "witness_type", value) + + +if not MYPY: + class HciDeploymentSettingScaleUnitHostNetworkArgsDict(TypedDict): + intents: pulumi.Input[Sequence[pulumi.Input['HciDeploymentSettingScaleUnitHostNetworkIntentArgsDict']]] + """ + One or more `intent` blocks as defined below. Changing this forces a new Stack HCI Deployment Setting to be created. + """ + storage_networks: pulumi.Input[Sequence[pulumi.Input['HciDeploymentSettingScaleUnitHostNetworkStorageNetworkArgsDict']]] + """ + One or more `storage_network` blocks as defined below. Changing this forces a new Stack HCI Deployment Setting to be created. + """ + storage_auto_ip_enabled: NotRequired[pulumi.Input[bool]] + """ + 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. + """ + storage_connectivity_switchless_enabled: NotRequired[pulumi.Input[bool]] + """ + 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. + """ +elif False: + HciDeploymentSettingScaleUnitHostNetworkArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class HciDeploymentSettingScaleUnitHostNetworkArgs: + def __init__(__self__, *, + intents: pulumi.Input[Sequence[pulumi.Input['HciDeploymentSettingScaleUnitHostNetworkIntentArgs']]], + storage_networks: pulumi.Input[Sequence[pulumi.Input['HciDeploymentSettingScaleUnitHostNetworkStorageNetworkArgs']]], + storage_auto_ip_enabled: Optional[pulumi.Input[bool]] = None, + storage_connectivity_switchless_enabled: Optional[pulumi.Input[bool]] = None): + """ + :param pulumi.Input[Sequence[pulumi.Input['HciDeploymentSettingScaleUnitHostNetworkIntentArgs']]] intents: One or more `intent` blocks as defined below. Changing this forces a new Stack HCI Deployment Setting to be created. + :param pulumi.Input[Sequence[pulumi.Input['HciDeploymentSettingScaleUnitHostNetworkStorageNetworkArgs']]] storage_networks: One or more `storage_network` blocks as defined below. Changing this forces a new Stack HCI Deployment Setting to be created. + :param pulumi.Input[bool] storage_auto_ip_enabled: 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. + :param pulumi.Input[bool] storage_connectivity_switchless_enabled: 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. + """ + pulumi.set(__self__, "intents", intents) + pulumi.set(__self__, "storage_networks", storage_networks) + if storage_auto_ip_enabled is not None: + pulumi.set(__self__, "storage_auto_ip_enabled", storage_auto_ip_enabled) + if storage_connectivity_switchless_enabled is not None: + pulumi.set(__self__, "storage_connectivity_switchless_enabled", storage_connectivity_switchless_enabled) + + @property + @pulumi.getter + def intents(self) -> pulumi.Input[Sequence[pulumi.Input['HciDeploymentSettingScaleUnitHostNetworkIntentArgs']]]: + """ + One or more `intent` blocks as defined below. Changing this forces a new Stack HCI Deployment Setting to be created. + """ + return pulumi.get(self, "intents") + + @intents.setter + def intents(self, value: pulumi.Input[Sequence[pulumi.Input['HciDeploymentSettingScaleUnitHostNetworkIntentArgs']]]): + pulumi.set(self, "intents", value) + + @property + @pulumi.getter(name="storageNetworks") + def storage_networks(self) -> pulumi.Input[Sequence[pulumi.Input['HciDeploymentSettingScaleUnitHostNetworkStorageNetworkArgs']]]: + """ + One or more `storage_network` blocks as defined below. Changing this forces a new Stack HCI Deployment Setting to be created. + """ + return pulumi.get(self, "storage_networks") + + @storage_networks.setter + def storage_networks(self, value: pulumi.Input[Sequence[pulumi.Input['HciDeploymentSettingScaleUnitHostNetworkStorageNetworkArgs']]]): + pulumi.set(self, "storage_networks", value) + + @property + @pulumi.getter(name="storageAutoIpEnabled") + def storage_auto_ip_enabled(self) -> Optional[pulumi.Input[bool]]: + """ + 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. + """ + return pulumi.get(self, "storage_auto_ip_enabled") + + @storage_auto_ip_enabled.setter + def storage_auto_ip_enabled(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "storage_auto_ip_enabled", value) + + @property + @pulumi.getter(name="storageConnectivitySwitchlessEnabled") + def storage_connectivity_switchless_enabled(self) -> Optional[pulumi.Input[bool]]: + """ + 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. + """ + return pulumi.get(self, "storage_connectivity_switchless_enabled") + + @storage_connectivity_switchless_enabled.setter + def storage_connectivity_switchless_enabled(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "storage_connectivity_switchless_enabled", value) + + +if not MYPY: + class HciDeploymentSettingScaleUnitHostNetworkIntentArgsDict(TypedDict): + adapters: pulumi.Input[Sequence[pulumi.Input[str]]] + """ + 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. + """ + name: pulumi.Input[str] + """ + Specifies the name of the intent. Changing this forces a new Stack HCI Deployment Setting to be created. + """ + traffic_types: pulumi.Input[Sequence[pulumi.Input[str]]] + """ + 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. + """ + adapter_property_override: NotRequired[pulumi.Input['HciDeploymentSettingScaleUnitHostNetworkIntentAdapterPropertyOverrideArgsDict']] + """ + A `adapter_property_override` block as defined above. Changing this forces a new Stack HCI Deployment Setting to be created. + """ + adapter_property_override_enabled: NotRequired[pulumi.Input[bool]] + """ + 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. + """ + qos_policy_override: NotRequired[pulumi.Input['HciDeploymentSettingScaleUnitHostNetworkIntentQosPolicyOverrideArgsDict']] + """ + A `qos_policy_override` block as defined below. Changing this forces a new Stack HCI Deployment Setting to be created. + """ + qos_policy_override_enabled: NotRequired[pulumi.Input[bool]] + """ + 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. + """ + virtual_switch_configuration_override: NotRequired[pulumi.Input['HciDeploymentSettingScaleUnitHostNetworkIntentVirtualSwitchConfigurationOverrideArgsDict']] + """ + A `virtual_switch_configuration_override` block as defined below. Changing this forces a new Stack HCI Deployment Setting to be created. + """ + virtual_switch_configuration_override_enabled: NotRequired[pulumi.Input[bool]] + """ + 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. + """ +elif False: + HciDeploymentSettingScaleUnitHostNetworkIntentArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class HciDeploymentSettingScaleUnitHostNetworkIntentArgs: + def __init__(__self__, *, + adapters: pulumi.Input[Sequence[pulumi.Input[str]]], + name: pulumi.Input[str], + traffic_types: pulumi.Input[Sequence[pulumi.Input[str]]], + adapter_property_override: Optional[pulumi.Input['HciDeploymentSettingScaleUnitHostNetworkIntentAdapterPropertyOverrideArgs']] = None, + adapter_property_override_enabled: Optional[pulumi.Input[bool]] = None, + qos_policy_override: Optional[pulumi.Input['HciDeploymentSettingScaleUnitHostNetworkIntentQosPolicyOverrideArgs']] = None, + qos_policy_override_enabled: Optional[pulumi.Input[bool]] = None, + virtual_switch_configuration_override: Optional[pulumi.Input['HciDeploymentSettingScaleUnitHostNetworkIntentVirtualSwitchConfigurationOverrideArgs']] = None, + virtual_switch_configuration_override_enabled: Optional[pulumi.Input[bool]] = None): + """ + :param pulumi.Input[Sequence[pulumi.Input[str]]] adapters: 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. + :param pulumi.Input[str] name: Specifies the name of the intent. Changing this forces a new Stack HCI Deployment Setting to be created. + :param pulumi.Input[Sequence[pulumi.Input[str]]] traffic_types: 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. + :param pulumi.Input['HciDeploymentSettingScaleUnitHostNetworkIntentAdapterPropertyOverrideArgs'] adapter_property_override: A `adapter_property_override` block as defined above. Changing this forces a new Stack HCI Deployment Setting to be created. + :param pulumi.Input[bool] adapter_property_override_enabled: 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. + :param pulumi.Input['HciDeploymentSettingScaleUnitHostNetworkIntentQosPolicyOverrideArgs'] qos_policy_override: A `qos_policy_override` block as defined below. Changing this forces a new Stack HCI Deployment Setting to be created. + :param pulumi.Input[bool] qos_policy_override_enabled: 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. + :param pulumi.Input['HciDeploymentSettingScaleUnitHostNetworkIntentVirtualSwitchConfigurationOverrideArgs'] virtual_switch_configuration_override: A `virtual_switch_configuration_override` block as defined below. Changing this forces a new Stack HCI Deployment Setting to be created. + :param pulumi.Input[bool] virtual_switch_configuration_override_enabled: 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. + """ + pulumi.set(__self__, "adapters", adapters) + pulumi.set(__self__, "name", name) + pulumi.set(__self__, "traffic_types", traffic_types) + if adapter_property_override is not None: + pulumi.set(__self__, "adapter_property_override", adapter_property_override) + if adapter_property_override_enabled is not None: + pulumi.set(__self__, "adapter_property_override_enabled", adapter_property_override_enabled) + if qos_policy_override is not None: + pulumi.set(__self__, "qos_policy_override", qos_policy_override) + if qos_policy_override_enabled is not None: + pulumi.set(__self__, "qos_policy_override_enabled", qos_policy_override_enabled) + if virtual_switch_configuration_override is not None: + pulumi.set(__self__, "virtual_switch_configuration_override", virtual_switch_configuration_override) + if virtual_switch_configuration_override_enabled is not None: + pulumi.set(__self__, "virtual_switch_configuration_override_enabled", virtual_switch_configuration_override_enabled) + + @property + @pulumi.getter + def adapters(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]: + """ + 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. + """ + return pulumi.get(self, "adapters") + + @adapters.setter + def adapters(self, value: pulumi.Input[Sequence[pulumi.Input[str]]]): + pulumi.set(self, "adapters", value) + + @property + @pulumi.getter + def name(self) -> pulumi.Input[str]: + """ + Specifies the name of the intent. Changing this forces a new Stack HCI Deployment Setting to be created. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: pulumi.Input[str]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter(name="trafficTypes") + def traffic_types(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]: + """ + 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. + """ + return pulumi.get(self, "traffic_types") + + @traffic_types.setter + def traffic_types(self, value: pulumi.Input[Sequence[pulumi.Input[str]]]): + pulumi.set(self, "traffic_types", value) + + @property + @pulumi.getter(name="adapterPropertyOverride") + def adapter_property_override(self) -> Optional[pulumi.Input['HciDeploymentSettingScaleUnitHostNetworkIntentAdapterPropertyOverrideArgs']]: + """ + A `adapter_property_override` block as defined above. Changing this forces a new Stack HCI Deployment Setting to be created. + """ + return pulumi.get(self, "adapter_property_override") + + @adapter_property_override.setter + def adapter_property_override(self, value: Optional[pulumi.Input['HciDeploymentSettingScaleUnitHostNetworkIntentAdapterPropertyOverrideArgs']]): + pulumi.set(self, "adapter_property_override", value) + + @property + @pulumi.getter(name="adapterPropertyOverrideEnabled") + def adapter_property_override_enabled(self) -> Optional[pulumi.Input[bool]]: + """ + 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. + """ + return pulumi.get(self, "adapter_property_override_enabled") + + @adapter_property_override_enabled.setter + def adapter_property_override_enabled(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "adapter_property_override_enabled", value) + + @property + @pulumi.getter(name="qosPolicyOverride") + def qos_policy_override(self) -> Optional[pulumi.Input['HciDeploymentSettingScaleUnitHostNetworkIntentQosPolicyOverrideArgs']]: + """ + A `qos_policy_override` block as defined below. Changing this forces a new Stack HCI Deployment Setting to be created. + """ + return pulumi.get(self, "qos_policy_override") + + @qos_policy_override.setter + def qos_policy_override(self, value: Optional[pulumi.Input['HciDeploymentSettingScaleUnitHostNetworkIntentQosPolicyOverrideArgs']]): + pulumi.set(self, "qos_policy_override", value) + + @property + @pulumi.getter(name="qosPolicyOverrideEnabled") + def qos_policy_override_enabled(self) -> Optional[pulumi.Input[bool]]: + """ + 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. + """ + return pulumi.get(self, "qos_policy_override_enabled") + + @qos_policy_override_enabled.setter + def qos_policy_override_enabled(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "qos_policy_override_enabled", value) + + @property + @pulumi.getter(name="virtualSwitchConfigurationOverride") + def virtual_switch_configuration_override(self) -> Optional[pulumi.Input['HciDeploymentSettingScaleUnitHostNetworkIntentVirtualSwitchConfigurationOverrideArgs']]: + """ + A `virtual_switch_configuration_override` block as defined below. Changing this forces a new Stack HCI Deployment Setting to be created. + """ + return pulumi.get(self, "virtual_switch_configuration_override") + + @virtual_switch_configuration_override.setter + def virtual_switch_configuration_override(self, value: Optional[pulumi.Input['HciDeploymentSettingScaleUnitHostNetworkIntentVirtualSwitchConfigurationOverrideArgs']]): + pulumi.set(self, "virtual_switch_configuration_override", value) + + @property + @pulumi.getter(name="virtualSwitchConfigurationOverrideEnabled") + def virtual_switch_configuration_override_enabled(self) -> Optional[pulumi.Input[bool]]: + """ + 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. + """ + return pulumi.get(self, "virtual_switch_configuration_override_enabled") + + @virtual_switch_configuration_override_enabled.setter + def virtual_switch_configuration_override_enabled(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "virtual_switch_configuration_override_enabled", value) + + +if not MYPY: + class HciDeploymentSettingScaleUnitHostNetworkIntentAdapterPropertyOverrideArgsDict(TypedDict): + jumbo_packet: NotRequired[pulumi.Input[str]] + """ + 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. + """ + network_direct: NotRequired[pulumi.Input[str]] + """ + 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. + """ + network_direct_technology: NotRequired[pulumi.Input[str]] + """ + 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. + """ +elif False: + HciDeploymentSettingScaleUnitHostNetworkIntentAdapterPropertyOverrideArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class HciDeploymentSettingScaleUnitHostNetworkIntentAdapterPropertyOverrideArgs: + def __init__(__self__, *, + jumbo_packet: Optional[pulumi.Input[str]] = None, + network_direct: Optional[pulumi.Input[str]] = None, + network_direct_technology: Optional[pulumi.Input[str]] = None): + """ + :param pulumi.Input[str] jumbo_packet: 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. + :param pulumi.Input[str] network_direct: 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. + :param pulumi.Input[str] network_direct_technology: 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. + """ + if jumbo_packet is not None: + pulumi.set(__self__, "jumbo_packet", jumbo_packet) + if network_direct is not None: + pulumi.set(__self__, "network_direct", network_direct) + if network_direct_technology is not None: + pulumi.set(__self__, "network_direct_technology", network_direct_technology) + + @property + @pulumi.getter(name="jumboPacket") + def jumbo_packet(self) -> Optional[pulumi.Input[str]]: + """ + 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. + """ + return pulumi.get(self, "jumbo_packet") + + @jumbo_packet.setter + def jumbo_packet(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "jumbo_packet", value) + + @property + @pulumi.getter(name="networkDirect") + def network_direct(self) -> Optional[pulumi.Input[str]]: + """ + 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. + """ + return pulumi.get(self, "network_direct") + + @network_direct.setter + def network_direct(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "network_direct", value) + + @property + @pulumi.getter(name="networkDirectTechnology") + def network_direct_technology(self) -> Optional[pulumi.Input[str]]: + """ + 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. + """ + return pulumi.get(self, "network_direct_technology") + + @network_direct_technology.setter + def network_direct_technology(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "network_direct_technology", value) + + +if not MYPY: + class HciDeploymentSettingScaleUnitHostNetworkIntentQosPolicyOverrideArgsDict(TypedDict): + bandwidth_percentage_smb: NotRequired[pulumi.Input[str]] + """ + 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. + """ + priority_value8021_action_cluster: NotRequired[pulumi.Input[str]] + """ + 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. + """ + priority_value8021_action_smb: NotRequired[pulumi.Input[str]] + """ + 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. + """ +elif False: + HciDeploymentSettingScaleUnitHostNetworkIntentQosPolicyOverrideArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class HciDeploymentSettingScaleUnitHostNetworkIntentQosPolicyOverrideArgs: + def __init__(__self__, *, + bandwidth_percentage_smb: Optional[pulumi.Input[str]] = None, + priority_value8021_action_cluster: Optional[pulumi.Input[str]] = None, + priority_value8021_action_smb: Optional[pulumi.Input[str]] = None): + """ + :param pulumi.Input[str] bandwidth_percentage_smb: 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. + :param pulumi.Input[str] priority_value8021_action_cluster: 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. + :param pulumi.Input[str] priority_value8021_action_smb: 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. + """ + if bandwidth_percentage_smb is not None: + pulumi.set(__self__, "bandwidth_percentage_smb", bandwidth_percentage_smb) + if priority_value8021_action_cluster is not None: + pulumi.set(__self__, "priority_value8021_action_cluster", priority_value8021_action_cluster) + if priority_value8021_action_smb is not None: + pulumi.set(__self__, "priority_value8021_action_smb", priority_value8021_action_smb) + + @property + @pulumi.getter(name="bandwidthPercentageSmb") + def bandwidth_percentage_smb(self) -> Optional[pulumi.Input[str]]: + """ + 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. + """ + return pulumi.get(self, "bandwidth_percentage_smb") + + @bandwidth_percentage_smb.setter + def bandwidth_percentage_smb(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "bandwidth_percentage_smb", value) + + @property + @pulumi.getter(name="priorityValue8021ActionCluster") + def priority_value8021_action_cluster(self) -> Optional[pulumi.Input[str]]: + """ + 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. + """ + return pulumi.get(self, "priority_value8021_action_cluster") + + @priority_value8021_action_cluster.setter + def priority_value8021_action_cluster(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "priority_value8021_action_cluster", value) + + @property + @pulumi.getter(name="priorityValue8021ActionSmb") + def priority_value8021_action_smb(self) -> Optional[pulumi.Input[str]]: + """ + 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. + """ + return pulumi.get(self, "priority_value8021_action_smb") + + @priority_value8021_action_smb.setter + def priority_value8021_action_smb(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "priority_value8021_action_smb", value) + + +if not MYPY: + class HciDeploymentSettingScaleUnitHostNetworkIntentVirtualSwitchConfigurationOverrideArgsDict(TypedDict): + enable_iov: NotRequired[pulumi.Input[str]] + """ + Specifies the IoV enable status for Virtual Switch. Changing this forces a new Stack HCI Deployment Setting to be created. + """ + load_balancing_algorithm: NotRequired[pulumi.Input[str]] + """ + Specifies the load balancing algorithm for Virtual Switch. Changing this forces a new Stack HCI Deployment Setting to be created. + """ +elif False: + HciDeploymentSettingScaleUnitHostNetworkIntentVirtualSwitchConfigurationOverrideArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class HciDeploymentSettingScaleUnitHostNetworkIntentVirtualSwitchConfigurationOverrideArgs: + def __init__(__self__, *, + enable_iov: Optional[pulumi.Input[str]] = None, + load_balancing_algorithm: Optional[pulumi.Input[str]] = None): + """ + :param pulumi.Input[str] enable_iov: Specifies the IoV enable status for Virtual Switch. Changing this forces a new Stack HCI Deployment Setting to be created. + :param pulumi.Input[str] load_balancing_algorithm: Specifies the load balancing algorithm for Virtual Switch. Changing this forces a new Stack HCI Deployment Setting to be created. + """ + if enable_iov is not None: + pulumi.set(__self__, "enable_iov", enable_iov) + if load_balancing_algorithm is not None: + pulumi.set(__self__, "load_balancing_algorithm", load_balancing_algorithm) + + @property + @pulumi.getter(name="enableIov") + def enable_iov(self) -> Optional[pulumi.Input[str]]: + """ + Specifies the IoV enable status for Virtual Switch. Changing this forces a new Stack HCI Deployment Setting to be created. + """ + return pulumi.get(self, "enable_iov") + + @enable_iov.setter + def enable_iov(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "enable_iov", value) + + @property + @pulumi.getter(name="loadBalancingAlgorithm") + def load_balancing_algorithm(self) -> Optional[pulumi.Input[str]]: + """ + Specifies the load balancing algorithm for Virtual Switch. Changing this forces a new Stack HCI Deployment Setting to be created. + """ + return pulumi.get(self, "load_balancing_algorithm") + + @load_balancing_algorithm.setter + def load_balancing_algorithm(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "load_balancing_algorithm", value) + + +if not MYPY: + class HciDeploymentSettingScaleUnitHostNetworkStorageNetworkArgsDict(TypedDict): + name: pulumi.Input[str] + """ + The name of the storage network. Changing this forces a new Stack HCI Deployment Setting to be created. + """ + network_adapter_name: pulumi.Input[str] + """ + The name of the network adapter. Changing this forces a new Stack HCI Deployment Setting to be created. + """ + vlan_id: pulumi.Input[str] + """ + 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. + """ +elif False: + HciDeploymentSettingScaleUnitHostNetworkStorageNetworkArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class HciDeploymentSettingScaleUnitHostNetworkStorageNetworkArgs: + def __init__(__self__, *, + name: pulumi.Input[str], + network_adapter_name: pulumi.Input[str], + vlan_id: pulumi.Input[str]): + """ + :param pulumi.Input[str] name: The name of the storage network. Changing this forces a new Stack HCI Deployment Setting to be created. + :param pulumi.Input[str] network_adapter_name: The name of the network adapter. Changing this forces a new Stack HCI Deployment Setting to be created. + :param pulumi.Input[str] vlan_id: 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. + """ + pulumi.set(__self__, "name", name) + pulumi.set(__self__, "network_adapter_name", network_adapter_name) + pulumi.set(__self__, "vlan_id", vlan_id) + + @property + @pulumi.getter + def name(self) -> pulumi.Input[str]: + """ + The name of the storage network. Changing this forces a new Stack HCI Deployment Setting to be created. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: pulumi.Input[str]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter(name="networkAdapterName") + def network_adapter_name(self) -> pulumi.Input[str]: + """ + The name of the network adapter. Changing this forces a new Stack HCI Deployment Setting to be created. + """ + return pulumi.get(self, "network_adapter_name") + + @network_adapter_name.setter + def network_adapter_name(self, value: pulumi.Input[str]): + pulumi.set(self, "network_adapter_name", value) + + @property + @pulumi.getter(name="vlanId") + def vlan_id(self) -> pulumi.Input[str]: + """ + 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. + """ + return pulumi.get(self, "vlan_id") + + @vlan_id.setter + def vlan_id(self, value: pulumi.Input[str]): + pulumi.set(self, "vlan_id", value) + + +if not MYPY: + class HciDeploymentSettingScaleUnitInfrastructureNetworkArgsDict(TypedDict): + dns_servers: pulumi.Input[Sequence[pulumi.Input[str]]] + """ + 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. + """ + gateway: pulumi.Input[str] + """ + 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. + """ + ip_pools: pulumi.Input[Sequence[pulumi.Input['HciDeploymentSettingScaleUnitInfrastructureNetworkIpPoolArgsDict']]] + """ + One or more `ip_pool` blocks as defined below. Changing this forces a new Stack HCI Deployment Setting to be created. + """ + subnet_mask: pulumi.Input[str] + """ + Specifies the subnet mask that matches the provided IP address space. Changing this forces a new Stack HCI Deployment Setting to be created. + """ + dhcp_enabled: NotRequired[pulumi.Input[bool]] + """ + 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. + + > **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. + """ +elif False: + HciDeploymentSettingScaleUnitInfrastructureNetworkArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class HciDeploymentSettingScaleUnitInfrastructureNetworkArgs: + def __init__(__self__, *, + dns_servers: pulumi.Input[Sequence[pulumi.Input[str]]], + gateway: pulumi.Input[str], + ip_pools: pulumi.Input[Sequence[pulumi.Input['HciDeploymentSettingScaleUnitInfrastructureNetworkIpPoolArgs']]], + subnet_mask: pulumi.Input[str], + dhcp_enabled: Optional[pulumi.Input[bool]] = None): + """ + :param pulumi.Input[Sequence[pulumi.Input[str]]] dns_servers: 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. + :param pulumi.Input[str] gateway: 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. + :param pulumi.Input[Sequence[pulumi.Input['HciDeploymentSettingScaleUnitInfrastructureNetworkIpPoolArgs']]] ip_pools: One or more `ip_pool` blocks as defined below. Changing this forces a new Stack HCI Deployment Setting to be created. + :param pulumi.Input[str] subnet_mask: Specifies the subnet mask that matches the provided IP address space. Changing this forces a new Stack HCI Deployment Setting to be created. + :param pulumi.Input[bool] dhcp_enabled: 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. + + > **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. + """ + pulumi.set(__self__, "dns_servers", dns_servers) + pulumi.set(__self__, "gateway", gateway) + pulumi.set(__self__, "ip_pools", ip_pools) + pulumi.set(__self__, "subnet_mask", subnet_mask) + if dhcp_enabled is not None: + pulumi.set(__self__, "dhcp_enabled", dhcp_enabled) + + @property + @pulumi.getter(name="dnsServers") + def dns_servers(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]: + """ + 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. + """ + return pulumi.get(self, "dns_servers") + + @dns_servers.setter + def dns_servers(self, value: pulumi.Input[Sequence[pulumi.Input[str]]]): + pulumi.set(self, "dns_servers", value) + + @property + @pulumi.getter + def gateway(self) -> pulumi.Input[str]: + """ + 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. + """ + return pulumi.get(self, "gateway") + + @gateway.setter + def gateway(self, value: pulumi.Input[str]): + pulumi.set(self, "gateway", value) + + @property + @pulumi.getter(name="ipPools") + def ip_pools(self) -> pulumi.Input[Sequence[pulumi.Input['HciDeploymentSettingScaleUnitInfrastructureNetworkIpPoolArgs']]]: + """ + One or more `ip_pool` blocks as defined below. Changing this forces a new Stack HCI Deployment Setting to be created. + """ + return pulumi.get(self, "ip_pools") + + @ip_pools.setter + def ip_pools(self, value: pulumi.Input[Sequence[pulumi.Input['HciDeploymentSettingScaleUnitInfrastructureNetworkIpPoolArgs']]]): + pulumi.set(self, "ip_pools", value) + + @property + @pulumi.getter(name="subnetMask") + def subnet_mask(self) -> pulumi.Input[str]: + """ + Specifies the subnet mask that matches the provided IP address space. Changing this forces a new Stack HCI Deployment Setting to be created. + """ + return pulumi.get(self, "subnet_mask") + + @subnet_mask.setter + def subnet_mask(self, value: pulumi.Input[str]): + pulumi.set(self, "subnet_mask", value) + + @property + @pulumi.getter(name="dhcpEnabled") + def dhcp_enabled(self) -> Optional[pulumi.Input[bool]]: + """ + 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. + + > **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. + """ + return pulumi.get(self, "dhcp_enabled") + + @dhcp_enabled.setter + def dhcp_enabled(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "dhcp_enabled", value) + + +if not MYPY: + class HciDeploymentSettingScaleUnitInfrastructureNetworkIpPoolArgsDict(TypedDict): + ending_address: pulumi.Input[str] + """ + 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. + """ + starting_address: pulumi.Input[str] + """ + 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. + """ +elif False: + HciDeploymentSettingScaleUnitInfrastructureNetworkIpPoolArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class HciDeploymentSettingScaleUnitInfrastructureNetworkIpPoolArgs: + def __init__(__self__, *, + ending_address: pulumi.Input[str], + starting_address: pulumi.Input[str]): + """ + :param pulumi.Input[str] ending_address: 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. + :param pulumi.Input[str] starting_address: 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. + """ + pulumi.set(__self__, "ending_address", ending_address) + pulumi.set(__self__, "starting_address", starting_address) + + @property + @pulumi.getter(name="endingAddress") + def ending_address(self) -> pulumi.Input[str]: + """ + 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. + """ + return pulumi.get(self, "ending_address") + + @ending_address.setter + def ending_address(self, value: pulumi.Input[str]): + pulumi.set(self, "ending_address", value) + + @property + @pulumi.getter(name="startingAddress") + def starting_address(self) -> pulumi.Input[str]: + """ + 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. + """ + return pulumi.get(self, "starting_address") + + @starting_address.setter + def starting_address(self, value: pulumi.Input[str]): + pulumi.set(self, "starting_address", value) + + +if not MYPY: + class HciDeploymentSettingScaleUnitOptionalServiceArgsDict(TypedDict): + custom_location: pulumi.Input[str] + """ + 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. + """ +elif False: + HciDeploymentSettingScaleUnitOptionalServiceArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class HciDeploymentSettingScaleUnitOptionalServiceArgs: + def __init__(__self__, *, + custom_location: pulumi.Input[str]): + """ + :param pulumi.Input[str] custom_location: 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. + """ + pulumi.set(__self__, "custom_location", custom_location) + + @property + @pulumi.getter(name="customLocation") + def custom_location(self) -> pulumi.Input[str]: + """ + 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. + """ + return pulumi.get(self, "custom_location") + + @custom_location.setter + def custom_location(self, value: pulumi.Input[str]): + pulumi.set(self, "custom_location", value) + + +if not MYPY: + class HciDeploymentSettingScaleUnitPhysicalNodeArgsDict(TypedDict): + ipv4_address: pulumi.Input[str] + """ + 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. + """ + name: pulumi.Input[str] + """ + 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. + """ +elif False: + HciDeploymentSettingScaleUnitPhysicalNodeArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class HciDeploymentSettingScaleUnitPhysicalNodeArgs: + def __init__(__self__, *, + ipv4_address: pulumi.Input[str], + name: pulumi.Input[str]): + """ + :param pulumi.Input[str] ipv4_address: 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. + :param pulumi.Input[str] name: 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. + """ + pulumi.set(__self__, "ipv4_address", ipv4_address) + pulumi.set(__self__, "name", name) + + @property + @pulumi.getter(name="ipv4Address") + def ipv4_address(self) -> pulumi.Input[str]: + """ + 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. + """ + return pulumi.get(self, "ipv4_address") + + @ipv4_address.setter + def ipv4_address(self, value: pulumi.Input[str]): + pulumi.set(self, "ipv4_address", value) + + @property + @pulumi.getter + def name(self) -> pulumi.Input[str]: + """ + 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. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: pulumi.Input[str]): + pulumi.set(self, "name", value) + + +if not MYPY: + class HciDeploymentSettingScaleUnitStorageArgsDict(TypedDict): + configuration_mode: pulumi.Input[str] + """ + 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. + """ +elif False: + HciDeploymentSettingScaleUnitStorageArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class HciDeploymentSettingScaleUnitStorageArgs: + def __init__(__self__, *, + configuration_mode: pulumi.Input[str]): + """ + :param pulumi.Input[str] configuration_mode: 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. + """ + pulumi.set(__self__, "configuration_mode", configuration_mode) + + @property + @pulumi.getter(name="configurationMode") + def configuration_mode(self) -> pulumi.Input[str]: + """ + 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. + """ + return pulumi.get(self, "configuration_mode") + + @configuration_mode.setter + def configuration_mode(self, value: pulumi.Input[str]): + pulumi.set(self, "configuration_mode", value) + + if not MYPY: class HciLogicalNetworkSubnetArgsDict(TypedDict): ip_allocation_method: pulumi.Input[str] diff --git a/sdk/python/pulumi_azure/stack/hci_deployment_setting.py b/sdk/python/pulumi_azure/stack/hci_deployment_setting.py new file mode 100644 index 0000000000..ca96359c3a --- /dev/null +++ b/sdk/python/pulumi_azure/stack/hci_deployment_setting.py @@ -0,0 +1,321 @@ +# coding=utf-8 +# *** 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! *** + +import copy +import warnings +import sys +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias +from .. import _utilities +from . import outputs +from ._inputs import * + +__all__ = ['HciDeploymentSettingArgs', 'HciDeploymentSetting'] + +@pulumi.input_type +class HciDeploymentSettingArgs: + def __init__(__self__, *, + arc_resource_ids: pulumi.Input[Sequence[pulumi.Input[str]]], + scale_units: pulumi.Input[Sequence[pulumi.Input['HciDeploymentSettingScaleUnitArgs']]], + stack_hci_cluster_id: pulumi.Input[str], + version: pulumi.Input[str]): + """ + The set of arguments for constructing a HciDeploymentSetting resource. + :param pulumi.Input[Sequence[pulumi.Input[str]]] arc_resource_ids: 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. + :param pulumi.Input[Sequence[pulumi.Input['HciDeploymentSettingScaleUnitArgs']]] scale_units: One or more `scale_unit` blocks as defined below. Changing this forces a new Stack HCI Deployment Setting to be created. + :param pulumi.Input[str] stack_hci_cluster_id: The ID of the Azure Stack HCI cluster. Changing this forces a new Stack HCI Deployment Setting to be created. + :param pulumi.Input[str] version: 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. + """ + pulumi.set(__self__, "arc_resource_ids", arc_resource_ids) + pulumi.set(__self__, "scale_units", scale_units) + pulumi.set(__self__, "stack_hci_cluster_id", stack_hci_cluster_id) + pulumi.set(__self__, "version", version) + + @property + @pulumi.getter(name="arcResourceIds") + def arc_resource_ids(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]: + """ + 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. + """ + return pulumi.get(self, "arc_resource_ids") + + @arc_resource_ids.setter + def arc_resource_ids(self, value: pulumi.Input[Sequence[pulumi.Input[str]]]): + pulumi.set(self, "arc_resource_ids", value) + + @property + @pulumi.getter(name="scaleUnits") + def scale_units(self) -> pulumi.Input[Sequence[pulumi.Input['HciDeploymentSettingScaleUnitArgs']]]: + """ + One or more `scale_unit` blocks as defined below. Changing this forces a new Stack HCI Deployment Setting to be created. + """ + return pulumi.get(self, "scale_units") + + @scale_units.setter + def scale_units(self, value: pulumi.Input[Sequence[pulumi.Input['HciDeploymentSettingScaleUnitArgs']]]): + pulumi.set(self, "scale_units", value) + + @property + @pulumi.getter(name="stackHciClusterId") + def stack_hci_cluster_id(self) -> pulumi.Input[str]: + """ + The ID of the Azure Stack HCI cluster. Changing this forces a new Stack HCI Deployment Setting to be created. + """ + return pulumi.get(self, "stack_hci_cluster_id") + + @stack_hci_cluster_id.setter + def stack_hci_cluster_id(self, value: pulumi.Input[str]): + pulumi.set(self, "stack_hci_cluster_id", value) + + @property + @pulumi.getter + def version(self) -> pulumi.Input[str]: + """ + 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. + """ + return pulumi.get(self, "version") + + @version.setter + def version(self, value: pulumi.Input[str]): + pulumi.set(self, "version", value) + + +@pulumi.input_type +class _HciDeploymentSettingState: + def __init__(__self__, *, + arc_resource_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + scale_units: Optional[pulumi.Input[Sequence[pulumi.Input['HciDeploymentSettingScaleUnitArgs']]]] = None, + stack_hci_cluster_id: Optional[pulumi.Input[str]] = None, + version: Optional[pulumi.Input[str]] = None): + """ + Input properties used for looking up and filtering HciDeploymentSetting resources. + :param pulumi.Input[Sequence[pulumi.Input[str]]] arc_resource_ids: 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. + :param pulumi.Input[Sequence[pulumi.Input['HciDeploymentSettingScaleUnitArgs']]] scale_units: One or more `scale_unit` blocks as defined below. Changing this forces a new Stack HCI Deployment Setting to be created. + :param pulumi.Input[str] stack_hci_cluster_id: The ID of the Azure Stack HCI cluster. Changing this forces a new Stack HCI Deployment Setting to be created. + :param pulumi.Input[str] version: 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. + """ + if arc_resource_ids is not None: + pulumi.set(__self__, "arc_resource_ids", arc_resource_ids) + if scale_units is not None: + pulumi.set(__self__, "scale_units", scale_units) + if stack_hci_cluster_id is not None: + pulumi.set(__self__, "stack_hci_cluster_id", stack_hci_cluster_id) + if version is not None: + pulumi.set(__self__, "version", version) + + @property + @pulumi.getter(name="arcResourceIds") + def arc_resource_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + 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. + """ + return pulumi.get(self, "arc_resource_ids") + + @arc_resource_ids.setter + def arc_resource_ids(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "arc_resource_ids", value) + + @property + @pulumi.getter(name="scaleUnits") + def scale_units(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['HciDeploymentSettingScaleUnitArgs']]]]: + """ + One or more `scale_unit` blocks as defined below. Changing this forces a new Stack HCI Deployment Setting to be created. + """ + return pulumi.get(self, "scale_units") + + @scale_units.setter + def scale_units(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['HciDeploymentSettingScaleUnitArgs']]]]): + pulumi.set(self, "scale_units", value) + + @property + @pulumi.getter(name="stackHciClusterId") + def stack_hci_cluster_id(self) -> Optional[pulumi.Input[str]]: + """ + The ID of the Azure Stack HCI cluster. Changing this forces a new Stack HCI Deployment Setting to be created. + """ + return pulumi.get(self, "stack_hci_cluster_id") + + @stack_hci_cluster_id.setter + def stack_hci_cluster_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "stack_hci_cluster_id", value) + + @property + @pulumi.getter + def version(self) -> Optional[pulumi.Input[str]]: + """ + 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. + """ + return pulumi.get(self, "version") + + @version.setter + def version(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "version", value) + + +class HciDeploymentSetting(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + arc_resource_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + scale_units: Optional[pulumi.Input[Sequence[pulumi.Input[Union['HciDeploymentSettingScaleUnitArgs', 'HciDeploymentSettingScaleUnitArgsDict']]]]] = None, + stack_hci_cluster_id: Optional[pulumi.Input[str]] = None, + version: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + 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 `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 + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[Sequence[pulumi.Input[str]]] arc_resource_ids: 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. + :param pulumi.Input[Sequence[pulumi.Input[Union['HciDeploymentSettingScaleUnitArgs', 'HciDeploymentSettingScaleUnitArgsDict']]]] scale_units: One or more `scale_unit` blocks as defined below. Changing this forces a new Stack HCI Deployment Setting to be created. + :param pulumi.Input[str] stack_hci_cluster_id: The ID of the Azure Stack HCI cluster. Changing this forces a new Stack HCI Deployment Setting to be created. + :param pulumi.Input[str] version: 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. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: HciDeploymentSettingArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + 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 `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 + ``` + + :param str resource_name: The name of the resource. + :param HciDeploymentSettingArgs args: The arguments to use to populate this resource's properties. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + ... + def __init__(__self__, resource_name: str, *args, **kwargs): + resource_args, opts = _utilities.get_resource_args_opts(HciDeploymentSettingArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + arc_resource_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + scale_units: Optional[pulumi.Input[Sequence[pulumi.Input[Union['HciDeploymentSettingScaleUnitArgs', 'HciDeploymentSettingScaleUnitArgsDict']]]]] = None, + stack_hci_cluster_id: Optional[pulumi.Input[str]] = None, + version: Optional[pulumi.Input[str]] = None, + __props__=None): + opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) + if not isinstance(opts, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + if opts.id is None: + if __props__ is not None: + raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') + __props__ = HciDeploymentSettingArgs.__new__(HciDeploymentSettingArgs) + + if arc_resource_ids is None and not opts.urn: + raise TypeError("Missing required property 'arc_resource_ids'") + __props__.__dict__["arc_resource_ids"] = arc_resource_ids + if scale_units is None and not opts.urn: + raise TypeError("Missing required property 'scale_units'") + __props__.__dict__["scale_units"] = scale_units + if stack_hci_cluster_id is None and not opts.urn: + raise TypeError("Missing required property 'stack_hci_cluster_id'") + __props__.__dict__["stack_hci_cluster_id"] = stack_hci_cluster_id + if version is None and not opts.urn: + raise TypeError("Missing required property 'version'") + __props__.__dict__["version"] = version + super(HciDeploymentSetting, __self__).__init__( + 'azure:stack/hciDeploymentSetting:HciDeploymentSetting', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + arc_resource_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + scale_units: Optional[pulumi.Input[Sequence[pulumi.Input[Union['HciDeploymentSettingScaleUnitArgs', 'HciDeploymentSettingScaleUnitArgsDict']]]]] = None, + stack_hci_cluster_id: Optional[pulumi.Input[str]] = None, + version: Optional[pulumi.Input[str]] = None) -> 'HciDeploymentSetting': + """ + Get an existing HciDeploymentSetting resource's state with the given name, id, and optional extra + properties used to qualify the lookup. + + :param str resource_name: The unique name of the resulting resource. + :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[Sequence[pulumi.Input[str]]] arc_resource_ids: 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. + :param pulumi.Input[Sequence[pulumi.Input[Union['HciDeploymentSettingScaleUnitArgs', 'HciDeploymentSettingScaleUnitArgsDict']]]] scale_units: One or more `scale_unit` blocks as defined below. Changing this forces a new Stack HCI Deployment Setting to be created. + :param pulumi.Input[str] stack_hci_cluster_id: The ID of the Azure Stack HCI cluster. Changing this forces a new Stack HCI Deployment Setting to be created. + :param pulumi.Input[str] version: 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. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _HciDeploymentSettingState.__new__(_HciDeploymentSettingState) + + __props__.__dict__["arc_resource_ids"] = arc_resource_ids + __props__.__dict__["scale_units"] = scale_units + __props__.__dict__["stack_hci_cluster_id"] = stack_hci_cluster_id + __props__.__dict__["version"] = version + return HciDeploymentSetting(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="arcResourceIds") + def arc_resource_ids(self) -> pulumi.Output[Sequence[str]]: + """ + 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. + """ + return pulumi.get(self, "arc_resource_ids") + + @property + @pulumi.getter(name="scaleUnits") + def scale_units(self) -> pulumi.Output[Sequence['outputs.HciDeploymentSettingScaleUnit']]: + """ + One or more `scale_unit` blocks as defined below. Changing this forces a new Stack HCI Deployment Setting to be created. + """ + return pulumi.get(self, "scale_units") + + @property + @pulumi.getter(name="stackHciClusterId") + def stack_hci_cluster_id(self) -> pulumi.Output[str]: + """ + The ID of the Azure Stack HCI cluster. Changing this forces a new Stack HCI Deployment Setting to be created. + """ + return pulumi.get(self, "stack_hci_cluster_id") + + @property + @pulumi.getter + def version(self) -> pulumi.Output[str]: + """ + 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. + """ + return pulumi.get(self, "version") + diff --git a/sdk/python/pulumi_azure/stack/hci_storage_path.py b/sdk/python/pulumi_azure/stack/hci_storage_path.py new file mode 100644 index 0000000000..682e4776ec --- /dev/null +++ b/sdk/python/pulumi_azure/stack/hci_storage_path.py @@ -0,0 +1,444 @@ +# coding=utf-8 +# *** 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! *** + +import copy +import warnings +import sys +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias +from .. import _utilities + +__all__ = ['HciStoragePathArgs', 'HciStoragePath'] + +@pulumi.input_type +class HciStoragePathArgs: + def __init__(__self__, *, + custom_location_id: pulumi.Input[str], + path: pulumi.Input[str], + resource_group_name: pulumi.Input[str], + location: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): + """ + The set of arguments for constructing a HciStoragePath resource. + :param pulumi.Input[str] custom_location_id: The ID of Custom Location where the Azure Stack HCI Storage Path should exist. Changing this forces a new resource to be created. + :param pulumi.Input[str] path: The file path on the disk to create the Storage Path. Changing this forces a new resource to be created. + :param pulumi.Input[str] resource_group_name: The name of the Resource Group where the Azure Stack HCI Storage Path should exist. Changing this forces a new resource to be created. + :param pulumi.Input[str] location: The Azure Region where the Azure Stack HCI Storage Path should exist. Changing this forces a new resource to be created. + :param pulumi.Input[str] name: The name which should be used for this Azure Stack HCI Storage Path. Changing this forces a new resource to be created. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A mapping of tags which should be assigned to the Azure Stack HCI Storage Path. + """ + pulumi.set(__self__, "custom_location_id", custom_location_id) + pulumi.set(__self__, "path", path) + pulumi.set(__self__, "resource_group_name", resource_group_name) + if location is not None: + pulumi.set(__self__, "location", location) + if name is not None: + pulumi.set(__self__, "name", name) + if tags is not None: + pulumi.set(__self__, "tags", tags) + + @property + @pulumi.getter(name="customLocationId") + def custom_location_id(self) -> pulumi.Input[str]: + """ + The ID of Custom Location where the Azure Stack HCI Storage Path should exist. Changing this forces a new resource to be created. + """ + return pulumi.get(self, "custom_location_id") + + @custom_location_id.setter + def custom_location_id(self, value: pulumi.Input[str]): + pulumi.set(self, "custom_location_id", value) + + @property + @pulumi.getter + def path(self) -> pulumi.Input[str]: + """ + The file path on the disk to create the Storage Path. Changing this forces a new resource to be created. + """ + return pulumi.get(self, "path") + + @path.setter + def path(self, value: pulumi.Input[str]): + pulumi.set(self, "path", value) + + @property + @pulumi.getter(name="resourceGroupName") + def resource_group_name(self) -> pulumi.Input[str]: + """ + The name of the Resource Group where the Azure Stack HCI Storage Path should exist. Changing this forces a new resource to be created. + """ + return pulumi.get(self, "resource_group_name") + + @resource_group_name.setter + def resource_group_name(self, value: pulumi.Input[str]): + pulumi.set(self, "resource_group_name", value) + + @property + @pulumi.getter + def location(self) -> Optional[pulumi.Input[str]]: + """ + The Azure Region where the Azure Stack HCI Storage Path should exist. Changing this forces a new resource to be created. + """ + return pulumi.get(self, "location") + + @location.setter + def location(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "location", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + The name which should be used for this Azure Stack HCI Storage Path. Changing this forces a new resource to be created. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter + def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + """ + A mapping of tags which should be assigned to the Azure Stack HCI Storage Path. + """ + return pulumi.get(self, "tags") + + @tags.setter + def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "tags", value) + + +@pulumi.input_type +class _HciStoragePathState: + def __init__(__self__, *, + custom_location_id: Optional[pulumi.Input[str]] = None, + location: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + path: Optional[pulumi.Input[str]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): + """ + Input properties used for looking up and filtering HciStoragePath resources. + :param pulumi.Input[str] custom_location_id: The ID of Custom Location where the Azure Stack HCI Storage Path should exist. Changing this forces a new resource to be created. + :param pulumi.Input[str] location: The Azure Region where the Azure Stack HCI Storage Path should exist. Changing this forces a new resource to be created. + :param pulumi.Input[str] name: The name which should be used for this Azure Stack HCI Storage Path. Changing this forces a new resource to be created. + :param pulumi.Input[str] path: The file path on the disk to create the Storage Path. Changing this forces a new resource to be created. + :param pulumi.Input[str] resource_group_name: The name of the Resource Group where the Azure Stack HCI Storage Path should exist. Changing this forces a new resource to be created. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A mapping of tags which should be assigned to the Azure Stack HCI Storage Path. + """ + if custom_location_id is not None: + pulumi.set(__self__, "custom_location_id", custom_location_id) + if location is not None: + pulumi.set(__self__, "location", location) + if name is not None: + pulumi.set(__self__, "name", name) + if path is not None: + pulumi.set(__self__, "path", path) + if resource_group_name is not None: + pulumi.set(__self__, "resource_group_name", resource_group_name) + if tags is not None: + pulumi.set(__self__, "tags", tags) + + @property + @pulumi.getter(name="customLocationId") + def custom_location_id(self) -> Optional[pulumi.Input[str]]: + """ + The ID of Custom Location where the Azure Stack HCI Storage Path should exist. Changing this forces a new resource to be created. + """ + return pulumi.get(self, "custom_location_id") + + @custom_location_id.setter + def custom_location_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "custom_location_id", value) + + @property + @pulumi.getter + def location(self) -> Optional[pulumi.Input[str]]: + """ + The Azure Region where the Azure Stack HCI Storage Path should exist. Changing this forces a new resource to be created. + """ + return pulumi.get(self, "location") + + @location.setter + def location(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "location", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + The name which should be used for this Azure Stack HCI Storage Path. Changing this forces a new resource to be created. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter + def path(self) -> Optional[pulumi.Input[str]]: + """ + The file path on the disk to create the Storage Path. Changing this forces a new resource to be created. + """ + return pulumi.get(self, "path") + + @path.setter + def path(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "path", value) + + @property + @pulumi.getter(name="resourceGroupName") + def resource_group_name(self) -> Optional[pulumi.Input[str]]: + """ + The name of the Resource Group where the Azure Stack HCI Storage Path should exist. Changing this forces a new resource to be created. + """ + return pulumi.get(self, "resource_group_name") + + @resource_group_name.setter + def resource_group_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "resource_group_name", value) + + @property + @pulumi.getter + def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + """ + A mapping of tags which should be assigned to the Azure Stack HCI Storage Path. + """ + return pulumi.get(self, "tags") + + @tags.setter + def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "tags", value) + + +class HciStoragePath(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + custom_location_id: Optional[pulumi.Input[str]] = None, + location: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + path: Optional[pulumi.Input[str]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + __props__=None): + """ + Manages an Azure Stack HCI Storage Path. + + ## Example Usage + + ```python + import pulumi + import pulumi_azure as azure + + example = azure.core.ResourceGroup("example", + name="example-rg", + location="West Europe") + example_hci_storage_path = azure.stack.HciStoragePath("example", + name="example-sp", + resource_group_name=example.name, + location=example.location, + custom_location_id="/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ExtendedLocation/customLocations/cl1", + path="C:\\\\ClusterStorage\\\\UserStorage_2\\\\sp-example", + tags={ + "foo": "bar", + }) + ``` + + ## Import + + Azure Stack HCI Storage Paths can be imported using the `resource id`, e.g. + + ```sh + $ pulumi import azure:stack/hciStoragePath:HciStoragePath example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.AzureStackHCI/storageContainers/storage1 + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] custom_location_id: The ID of Custom Location where the Azure Stack HCI Storage Path should exist. Changing this forces a new resource to be created. + :param pulumi.Input[str] location: The Azure Region where the Azure Stack HCI Storage Path should exist. Changing this forces a new resource to be created. + :param pulumi.Input[str] name: The name which should be used for this Azure Stack HCI Storage Path. Changing this forces a new resource to be created. + :param pulumi.Input[str] path: The file path on the disk to create the Storage Path. Changing this forces a new resource to be created. + :param pulumi.Input[str] resource_group_name: The name of the Resource Group where the Azure Stack HCI Storage Path should exist. Changing this forces a new resource to be created. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A mapping of tags which should be assigned to the Azure Stack HCI Storage Path. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: HciStoragePathArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Manages an Azure Stack HCI Storage Path. + + ## Example Usage + + ```python + import pulumi + import pulumi_azure as azure + + example = azure.core.ResourceGroup("example", + name="example-rg", + location="West Europe") + example_hci_storage_path = azure.stack.HciStoragePath("example", + name="example-sp", + resource_group_name=example.name, + location=example.location, + custom_location_id="/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ExtendedLocation/customLocations/cl1", + path="C:\\\\ClusterStorage\\\\UserStorage_2\\\\sp-example", + tags={ + "foo": "bar", + }) + ``` + + ## Import + + Azure Stack HCI Storage Paths can be imported using the `resource id`, e.g. + + ```sh + $ pulumi import azure:stack/hciStoragePath:HciStoragePath example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.AzureStackHCI/storageContainers/storage1 + ``` + + :param str resource_name: The name of the resource. + :param HciStoragePathArgs args: The arguments to use to populate this resource's properties. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + ... + def __init__(__self__, resource_name: str, *args, **kwargs): + resource_args, opts = _utilities.get_resource_args_opts(HciStoragePathArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + custom_location_id: Optional[pulumi.Input[str]] = None, + location: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + path: Optional[pulumi.Input[str]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + __props__=None): + opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) + if not isinstance(opts, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + if opts.id is None: + if __props__ is not None: + raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') + __props__ = HciStoragePathArgs.__new__(HciStoragePathArgs) + + if custom_location_id is None and not opts.urn: + raise TypeError("Missing required property 'custom_location_id'") + __props__.__dict__["custom_location_id"] = custom_location_id + __props__.__dict__["location"] = location + __props__.__dict__["name"] = name + if path is None and not opts.urn: + raise TypeError("Missing required property 'path'") + __props__.__dict__["path"] = path + if resource_group_name is None and not opts.urn: + raise TypeError("Missing required property 'resource_group_name'") + __props__.__dict__["resource_group_name"] = resource_group_name + __props__.__dict__["tags"] = tags + super(HciStoragePath, __self__).__init__( + 'azure:stack/hciStoragePath:HciStoragePath', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + custom_location_id: Optional[pulumi.Input[str]] = None, + location: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + path: Optional[pulumi.Input[str]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None) -> 'HciStoragePath': + """ + Get an existing HciStoragePath resource's state with the given name, id, and optional extra + properties used to qualify the lookup. + + :param str resource_name: The unique name of the resulting resource. + :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] custom_location_id: The ID of Custom Location where the Azure Stack HCI Storage Path should exist. Changing this forces a new resource to be created. + :param pulumi.Input[str] location: The Azure Region where the Azure Stack HCI Storage Path should exist. Changing this forces a new resource to be created. + :param pulumi.Input[str] name: The name which should be used for this Azure Stack HCI Storage Path. Changing this forces a new resource to be created. + :param pulumi.Input[str] path: The file path on the disk to create the Storage Path. Changing this forces a new resource to be created. + :param pulumi.Input[str] resource_group_name: The name of the Resource Group where the Azure Stack HCI Storage Path should exist. Changing this forces a new resource to be created. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A mapping of tags which should be assigned to the Azure Stack HCI Storage Path. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _HciStoragePathState.__new__(_HciStoragePathState) + + __props__.__dict__["custom_location_id"] = custom_location_id + __props__.__dict__["location"] = location + __props__.__dict__["name"] = name + __props__.__dict__["path"] = path + __props__.__dict__["resource_group_name"] = resource_group_name + __props__.__dict__["tags"] = tags + return HciStoragePath(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="customLocationId") + def custom_location_id(self) -> pulumi.Output[str]: + """ + The ID of Custom Location where the Azure Stack HCI Storage Path should exist. Changing this forces a new resource to be created. + """ + return pulumi.get(self, "custom_location_id") + + @property + @pulumi.getter + def location(self) -> pulumi.Output[str]: + """ + The Azure Region where the Azure Stack HCI Storage Path should exist. Changing this forces a new resource to be created. + """ + return pulumi.get(self, "location") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + The name which should be used for this Azure Stack HCI Storage Path. Changing this forces a new resource to be created. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def path(self) -> pulumi.Output[str]: + """ + The file path on the disk to create the Storage Path. Changing this forces a new resource to be created. + """ + return pulumi.get(self, "path") + + @property + @pulumi.getter(name="resourceGroupName") + def resource_group_name(self) -> pulumi.Output[str]: + """ + The name of the Resource Group where the Azure Stack HCI Storage Path should exist. Changing this forces a new resource to be created. + """ + return pulumi.get(self, "resource_group_name") + + @property + @pulumi.getter + def tags(self) -> pulumi.Output[Optional[Mapping[str, str]]]: + """ + A mapping of tags which should be assigned to the Azure Stack HCI Storage Path. + """ + return pulumi.get(self, "tags") + diff --git a/sdk/python/pulumi_azure/stack/outputs.py b/sdk/python/pulumi_azure/stack/outputs.py index 640429ec81..97aedf9ef6 100644 --- a/sdk/python/pulumi_azure/stack/outputs.py +++ b/sdk/python/pulumi_azure/stack/outputs.py @@ -17,6 +17,19 @@ __all__ = [ 'HciClusterIdentity', + 'HciDeploymentSettingScaleUnit', + 'HciDeploymentSettingScaleUnitCluster', + 'HciDeploymentSettingScaleUnitHostNetwork', + 'HciDeploymentSettingScaleUnitHostNetworkIntent', + 'HciDeploymentSettingScaleUnitHostNetworkIntentAdapterPropertyOverride', + 'HciDeploymentSettingScaleUnitHostNetworkIntentQosPolicyOverride', + 'HciDeploymentSettingScaleUnitHostNetworkIntentVirtualSwitchConfigurationOverride', + 'HciDeploymentSettingScaleUnitHostNetworkStorageNetwork', + 'HciDeploymentSettingScaleUnitInfrastructureNetwork', + 'HciDeploymentSettingScaleUnitInfrastructureNetworkIpPool', + 'HciDeploymentSettingScaleUnitOptionalService', + 'HciDeploymentSettingScaleUnitPhysicalNode', + 'HciDeploymentSettingScaleUnitStorage', 'HciLogicalNetworkSubnet', 'HciLogicalNetworkSubnetIpPool', 'HciLogicalNetworkSubnetRoute', @@ -88,6 +101,1127 @@ def tenant_id(self) -> Optional[str]: return pulumi.get(self, "tenant_id") +@pulumi.output_type +class HciDeploymentSettingScaleUnit(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "activeDirectoryOrganizationalUnitPath": + suggest = "active_directory_organizational_unit_path" + elif key == "domainFqdn": + suggest = "domain_fqdn" + elif key == "hostNetwork": + suggest = "host_network" + elif key == "infrastructureNetworks": + suggest = "infrastructure_networks" + elif key == "namePrefix": + suggest = "name_prefix" + elif key == "optionalService": + suggest = "optional_service" + elif key == "physicalNodes": + suggest = "physical_nodes" + elif key == "secretsLocation": + suggest = "secrets_location" + elif key == "bitlockerBootVolumeEnabled": + suggest = "bitlocker_boot_volume_enabled" + elif key == "bitlockerDataVolumeEnabled": + suggest = "bitlocker_data_volume_enabled" + elif key == "credentialGuardEnabled": + suggest = "credential_guard_enabled" + elif key == "driftControlEnabled": + suggest = "drift_control_enabled" + elif key == "drtmProtectionEnabled": + suggest = "drtm_protection_enabled" + elif key == "episodicDataUploadEnabled": + suggest = "episodic_data_upload_enabled" + elif key == "euLocationEnabled": + suggest = "eu_location_enabled" + elif key == "hvciProtectionEnabled": + suggest = "hvci_protection_enabled" + elif key == "sideChannelMitigationEnabled": + suggest = "side_channel_mitigation_enabled" + elif key == "smbClusterEncryptionEnabled": + suggest = "smb_cluster_encryption_enabled" + elif key == "smbSigningEnabled": + suggest = "smb_signing_enabled" + elif key == "streamingDataClientEnabled": + suggest = "streaming_data_client_enabled" + elif key == "wdacEnabled": + suggest = "wdac_enabled" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in HciDeploymentSettingScaleUnit. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + HciDeploymentSettingScaleUnit.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + HciDeploymentSettingScaleUnit.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + active_directory_organizational_unit_path: str, + cluster: 'outputs.HciDeploymentSettingScaleUnitCluster', + domain_fqdn: str, + host_network: 'outputs.HciDeploymentSettingScaleUnitHostNetwork', + infrastructure_networks: Sequence['outputs.HciDeploymentSettingScaleUnitInfrastructureNetwork'], + name_prefix: str, + optional_service: 'outputs.HciDeploymentSettingScaleUnitOptionalService', + physical_nodes: Sequence['outputs.HciDeploymentSettingScaleUnitPhysicalNode'], + secrets_location: str, + storage: 'outputs.HciDeploymentSettingScaleUnitStorage', + bitlocker_boot_volume_enabled: Optional[bool] = None, + bitlocker_data_volume_enabled: Optional[bool] = None, + credential_guard_enabled: Optional[bool] = None, + drift_control_enabled: Optional[bool] = None, + drtm_protection_enabled: Optional[bool] = None, + episodic_data_upload_enabled: Optional[bool] = None, + eu_location_enabled: Optional[bool] = None, + hvci_protection_enabled: Optional[bool] = None, + side_channel_mitigation_enabled: Optional[bool] = None, + smb_cluster_encryption_enabled: Optional[bool] = None, + smb_signing_enabled: Optional[bool] = None, + streaming_data_client_enabled: Optional[bool] = None, + wdac_enabled: Optional[bool] = None): + """ + :param str active_directory_organizational_unit_path: 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. + :param 'HciDeploymentSettingScaleUnitClusterArgs' cluster: A `cluster` block as defined above. Changing this forces a new Stack HCI Deployment Setting to be created. + :param str domain_fqdn: Specifies the FQDN for deploying cluster. Changing this forces a new Stack HCI Deployment Setting to be created. + :param 'HciDeploymentSettingScaleUnitHostNetworkArgs' host_network: A `host_network` block as defined above. Changing this forces a new Stack HCI Deployment Setting to be created. + :param Sequence['HciDeploymentSettingScaleUnitInfrastructureNetworkArgs'] infrastructure_networks: One or more `infrastructure_network` blocks as defined above. Changing this forces a new Stack HCI Deployment Setting to be created. + :param str name_prefix: 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. + :param 'HciDeploymentSettingScaleUnitOptionalServiceArgs' optional_service: A `optional_service` block as defined above. Changing this forces a new Stack HCI Deployment Setting to be created. + :param Sequence['HciDeploymentSettingScaleUnitPhysicalNodeArgs'] physical_nodes: One or more `physical_node` blocks as defined above. Changing this forces a new Stack HCI Deployment Setting to be created. + :param str secrets_location: The URI to the Key Vault or secret store. Changing this forces a new Stack HCI Deployment Setting to be created. + :param 'HciDeploymentSettingScaleUnitStorageArgs' storage: A `storage` block as defined below. Changing this forces a new Stack HCI Deployment Setting to be created. + :param bool bitlocker_boot_volume_enabled: 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. + :param bool bitlocker_data_volume_enabled: 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. + :param bool credential_guard_enabled: 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. + :param bool drift_control_enabled: 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. + :param bool drtm_protection_enabled: 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. + :param bool episodic_data_upload_enabled: 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. + :param bool eu_location_enabled: 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. + :param bool hvci_protection_enabled: 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. + :param bool side_channel_mitigation_enabled: 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. + :param bool smb_cluster_encryption_enabled: 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. + :param bool smb_signing_enabled: 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. + :param bool streaming_data_client_enabled: 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. + :param bool wdac_enabled: 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. + """ + pulumi.set(__self__, "active_directory_organizational_unit_path", active_directory_organizational_unit_path) + pulumi.set(__self__, "cluster", cluster) + pulumi.set(__self__, "domain_fqdn", domain_fqdn) + pulumi.set(__self__, "host_network", host_network) + pulumi.set(__self__, "infrastructure_networks", infrastructure_networks) + pulumi.set(__self__, "name_prefix", name_prefix) + pulumi.set(__self__, "optional_service", optional_service) + pulumi.set(__self__, "physical_nodes", physical_nodes) + pulumi.set(__self__, "secrets_location", secrets_location) + pulumi.set(__self__, "storage", storage) + if bitlocker_boot_volume_enabled is not None: + pulumi.set(__self__, "bitlocker_boot_volume_enabled", bitlocker_boot_volume_enabled) + if bitlocker_data_volume_enabled is not None: + pulumi.set(__self__, "bitlocker_data_volume_enabled", bitlocker_data_volume_enabled) + if credential_guard_enabled is not None: + pulumi.set(__self__, "credential_guard_enabled", credential_guard_enabled) + if drift_control_enabled is not None: + pulumi.set(__self__, "drift_control_enabled", drift_control_enabled) + if drtm_protection_enabled is not None: + pulumi.set(__self__, "drtm_protection_enabled", drtm_protection_enabled) + if episodic_data_upload_enabled is not None: + pulumi.set(__self__, "episodic_data_upload_enabled", episodic_data_upload_enabled) + if eu_location_enabled is not None: + pulumi.set(__self__, "eu_location_enabled", eu_location_enabled) + if hvci_protection_enabled is not None: + pulumi.set(__self__, "hvci_protection_enabled", hvci_protection_enabled) + if side_channel_mitigation_enabled is not None: + pulumi.set(__self__, "side_channel_mitigation_enabled", side_channel_mitigation_enabled) + if smb_cluster_encryption_enabled is not None: + pulumi.set(__self__, "smb_cluster_encryption_enabled", smb_cluster_encryption_enabled) + if smb_signing_enabled is not None: + pulumi.set(__self__, "smb_signing_enabled", smb_signing_enabled) + if streaming_data_client_enabled is not None: + pulumi.set(__self__, "streaming_data_client_enabled", streaming_data_client_enabled) + if wdac_enabled is not None: + pulumi.set(__self__, "wdac_enabled", wdac_enabled) + + @property + @pulumi.getter(name="activeDirectoryOrganizationalUnitPath") + def active_directory_organizational_unit_path(self) -> str: + """ + 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. + """ + return pulumi.get(self, "active_directory_organizational_unit_path") + + @property + @pulumi.getter + def cluster(self) -> 'outputs.HciDeploymentSettingScaleUnitCluster': + """ + A `cluster` block as defined above. Changing this forces a new Stack HCI Deployment Setting to be created. + """ + return pulumi.get(self, "cluster") + + @property + @pulumi.getter(name="domainFqdn") + def domain_fqdn(self) -> str: + """ + Specifies the FQDN for deploying cluster. Changing this forces a new Stack HCI Deployment Setting to be created. + """ + return pulumi.get(self, "domain_fqdn") + + @property + @pulumi.getter(name="hostNetwork") + def host_network(self) -> 'outputs.HciDeploymentSettingScaleUnitHostNetwork': + """ + A `host_network` block as defined above. Changing this forces a new Stack HCI Deployment Setting to be created. + """ + return pulumi.get(self, "host_network") + + @property + @pulumi.getter(name="infrastructureNetworks") + def infrastructure_networks(self) -> Sequence['outputs.HciDeploymentSettingScaleUnitInfrastructureNetwork']: + """ + One or more `infrastructure_network` blocks as defined above. Changing this forces a new Stack HCI Deployment Setting to be created. + """ + return pulumi.get(self, "infrastructure_networks") + + @property + @pulumi.getter(name="namePrefix") + def name_prefix(self) -> str: + """ + 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. + """ + return pulumi.get(self, "name_prefix") + + @property + @pulumi.getter(name="optionalService") + def optional_service(self) -> 'outputs.HciDeploymentSettingScaleUnitOptionalService': + """ + A `optional_service` block as defined above. Changing this forces a new Stack HCI Deployment Setting to be created. + """ + return pulumi.get(self, "optional_service") + + @property + @pulumi.getter(name="physicalNodes") + def physical_nodes(self) -> Sequence['outputs.HciDeploymentSettingScaleUnitPhysicalNode']: + """ + One or more `physical_node` blocks as defined above. Changing this forces a new Stack HCI Deployment Setting to be created. + """ + return pulumi.get(self, "physical_nodes") + + @property + @pulumi.getter(name="secretsLocation") + def secrets_location(self) -> str: + """ + The URI to the Key Vault or secret store. Changing this forces a new Stack HCI Deployment Setting to be created. + """ + return pulumi.get(self, "secrets_location") + + @property + @pulumi.getter + def storage(self) -> 'outputs.HciDeploymentSettingScaleUnitStorage': + """ + A `storage` block as defined below. Changing this forces a new Stack HCI Deployment Setting to be created. + """ + return pulumi.get(self, "storage") + + @property + @pulumi.getter(name="bitlockerBootVolumeEnabled") + def bitlocker_boot_volume_enabled(self) -> Optional[bool]: + """ + 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. + """ + return pulumi.get(self, "bitlocker_boot_volume_enabled") + + @property + @pulumi.getter(name="bitlockerDataVolumeEnabled") + def bitlocker_data_volume_enabled(self) -> Optional[bool]: + """ + 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. + """ + return pulumi.get(self, "bitlocker_data_volume_enabled") + + @property + @pulumi.getter(name="credentialGuardEnabled") + def credential_guard_enabled(self) -> Optional[bool]: + """ + 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. + """ + return pulumi.get(self, "credential_guard_enabled") + + @property + @pulumi.getter(name="driftControlEnabled") + def drift_control_enabled(self) -> Optional[bool]: + """ + 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. + """ + return pulumi.get(self, "drift_control_enabled") + + @property + @pulumi.getter(name="drtmProtectionEnabled") + def drtm_protection_enabled(self) -> Optional[bool]: + """ + 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. + """ + return pulumi.get(self, "drtm_protection_enabled") + + @property + @pulumi.getter(name="episodicDataUploadEnabled") + def episodic_data_upload_enabled(self) -> Optional[bool]: + """ + 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. + """ + return pulumi.get(self, "episodic_data_upload_enabled") + + @property + @pulumi.getter(name="euLocationEnabled") + def eu_location_enabled(self) -> Optional[bool]: + """ + 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. + """ + return pulumi.get(self, "eu_location_enabled") + + @property + @pulumi.getter(name="hvciProtectionEnabled") + def hvci_protection_enabled(self) -> Optional[bool]: + """ + 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. + """ + return pulumi.get(self, "hvci_protection_enabled") + + @property + @pulumi.getter(name="sideChannelMitigationEnabled") + def side_channel_mitigation_enabled(self) -> Optional[bool]: + """ + 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. + """ + return pulumi.get(self, "side_channel_mitigation_enabled") + + @property + @pulumi.getter(name="smbClusterEncryptionEnabled") + def smb_cluster_encryption_enabled(self) -> Optional[bool]: + """ + 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. + """ + return pulumi.get(self, "smb_cluster_encryption_enabled") + + @property + @pulumi.getter(name="smbSigningEnabled") + def smb_signing_enabled(self) -> Optional[bool]: + """ + 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. + """ + return pulumi.get(self, "smb_signing_enabled") + + @property + @pulumi.getter(name="streamingDataClientEnabled") + def streaming_data_client_enabled(self) -> Optional[bool]: + """ + 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. + """ + return pulumi.get(self, "streaming_data_client_enabled") + + @property + @pulumi.getter(name="wdacEnabled") + def wdac_enabled(self) -> Optional[bool]: + """ + 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. + """ + return pulumi.get(self, "wdac_enabled") + + +@pulumi.output_type +class HciDeploymentSettingScaleUnitCluster(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "azureServiceEndpoint": + suggest = "azure_service_endpoint" + elif key == "cloudAccountName": + suggest = "cloud_account_name" + elif key == "witnessPath": + suggest = "witness_path" + elif key == "witnessType": + suggest = "witness_type" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in HciDeploymentSettingScaleUnitCluster. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + HciDeploymentSettingScaleUnitCluster.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + HciDeploymentSettingScaleUnitCluster.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + azure_service_endpoint: str, + cloud_account_name: str, + name: str, + witness_path: str, + witness_type: str): + """ + :param str azure_service_endpoint: Specifies the Azure blob service endpoint, for example, `core.windows.net`. Changing this forces a new Stack HCI Deployment Setting to be created. + :param str cloud_account_name: 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. + :param str name: 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. + :param str witness_path: 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. + :param str witness_type: Specifies the type of the witness. Possible values are `Cloud`, `FileShare`. Changing this forces a new Stack HCI Deployment Setting to be created. + """ + pulumi.set(__self__, "azure_service_endpoint", azure_service_endpoint) + pulumi.set(__self__, "cloud_account_name", cloud_account_name) + pulumi.set(__self__, "name", name) + pulumi.set(__self__, "witness_path", witness_path) + pulumi.set(__self__, "witness_type", witness_type) + + @property + @pulumi.getter(name="azureServiceEndpoint") + def azure_service_endpoint(self) -> str: + """ + Specifies the Azure blob service endpoint, for example, `core.windows.net`. Changing this forces a new Stack HCI Deployment Setting to be created. + """ + return pulumi.get(self, "azure_service_endpoint") + + @property + @pulumi.getter(name="cloudAccountName") + def cloud_account_name(self) -> str: + """ + 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. + """ + return pulumi.get(self, "cloud_account_name") + + @property + @pulumi.getter + def name(self) -> str: + """ + 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. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="witnessPath") + def witness_path(self) -> str: + """ + 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. + """ + return pulumi.get(self, "witness_path") + + @property + @pulumi.getter(name="witnessType") + def witness_type(self) -> str: + """ + Specifies the type of the witness. Possible values are `Cloud`, `FileShare`. Changing this forces a new Stack HCI Deployment Setting to be created. + """ + return pulumi.get(self, "witness_type") + + +@pulumi.output_type +class HciDeploymentSettingScaleUnitHostNetwork(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "storageNetworks": + suggest = "storage_networks" + elif key == "storageAutoIpEnabled": + suggest = "storage_auto_ip_enabled" + elif key == "storageConnectivitySwitchlessEnabled": + suggest = "storage_connectivity_switchless_enabled" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in HciDeploymentSettingScaleUnitHostNetwork. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + HciDeploymentSettingScaleUnitHostNetwork.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + HciDeploymentSettingScaleUnitHostNetwork.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + intents: Sequence['outputs.HciDeploymentSettingScaleUnitHostNetworkIntent'], + storage_networks: Sequence['outputs.HciDeploymentSettingScaleUnitHostNetworkStorageNetwork'], + storage_auto_ip_enabled: Optional[bool] = None, + storage_connectivity_switchless_enabled: Optional[bool] = None): + """ + :param Sequence['HciDeploymentSettingScaleUnitHostNetworkIntentArgs'] intents: One or more `intent` blocks as defined below. Changing this forces a new Stack HCI Deployment Setting to be created. + :param Sequence['HciDeploymentSettingScaleUnitHostNetworkStorageNetworkArgs'] storage_networks: One or more `storage_network` blocks as defined below. Changing this forces a new Stack HCI Deployment Setting to be created. + :param bool storage_auto_ip_enabled: 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. + :param bool storage_connectivity_switchless_enabled: 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. + """ + pulumi.set(__self__, "intents", intents) + pulumi.set(__self__, "storage_networks", storage_networks) + if storage_auto_ip_enabled is not None: + pulumi.set(__self__, "storage_auto_ip_enabled", storage_auto_ip_enabled) + if storage_connectivity_switchless_enabled is not None: + pulumi.set(__self__, "storage_connectivity_switchless_enabled", storage_connectivity_switchless_enabled) + + @property + @pulumi.getter + def intents(self) -> Sequence['outputs.HciDeploymentSettingScaleUnitHostNetworkIntent']: + """ + One or more `intent` blocks as defined below. Changing this forces a new Stack HCI Deployment Setting to be created. + """ + return pulumi.get(self, "intents") + + @property + @pulumi.getter(name="storageNetworks") + def storage_networks(self) -> Sequence['outputs.HciDeploymentSettingScaleUnitHostNetworkStorageNetwork']: + """ + One or more `storage_network` blocks as defined below. Changing this forces a new Stack HCI Deployment Setting to be created. + """ + return pulumi.get(self, "storage_networks") + + @property + @pulumi.getter(name="storageAutoIpEnabled") + def storage_auto_ip_enabled(self) -> Optional[bool]: + """ + 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. + """ + return pulumi.get(self, "storage_auto_ip_enabled") + + @property + @pulumi.getter(name="storageConnectivitySwitchlessEnabled") + def storage_connectivity_switchless_enabled(self) -> Optional[bool]: + """ + 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. + """ + return pulumi.get(self, "storage_connectivity_switchless_enabled") + + +@pulumi.output_type +class HciDeploymentSettingScaleUnitHostNetworkIntent(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "trafficTypes": + suggest = "traffic_types" + elif key == "adapterPropertyOverride": + suggest = "adapter_property_override" + elif key == "adapterPropertyOverrideEnabled": + suggest = "adapter_property_override_enabled" + elif key == "qosPolicyOverride": + suggest = "qos_policy_override" + elif key == "qosPolicyOverrideEnabled": + suggest = "qos_policy_override_enabled" + elif key == "virtualSwitchConfigurationOverride": + suggest = "virtual_switch_configuration_override" + elif key == "virtualSwitchConfigurationOverrideEnabled": + suggest = "virtual_switch_configuration_override_enabled" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in HciDeploymentSettingScaleUnitHostNetworkIntent. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + HciDeploymentSettingScaleUnitHostNetworkIntent.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + HciDeploymentSettingScaleUnitHostNetworkIntent.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + adapters: Sequence[str], + name: str, + traffic_types: Sequence[str], + adapter_property_override: Optional['outputs.HciDeploymentSettingScaleUnitHostNetworkIntentAdapterPropertyOverride'] = None, + adapter_property_override_enabled: Optional[bool] = None, + qos_policy_override: Optional['outputs.HciDeploymentSettingScaleUnitHostNetworkIntentQosPolicyOverride'] = None, + qos_policy_override_enabled: Optional[bool] = None, + virtual_switch_configuration_override: Optional['outputs.HciDeploymentSettingScaleUnitHostNetworkIntentVirtualSwitchConfigurationOverride'] = None, + virtual_switch_configuration_override_enabled: Optional[bool] = None): + """ + :param Sequence[str] adapters: 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. + :param str name: Specifies the name of the intent. Changing this forces a new Stack HCI Deployment Setting to be created. + :param Sequence[str] traffic_types: 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. + :param 'HciDeploymentSettingScaleUnitHostNetworkIntentAdapterPropertyOverrideArgs' adapter_property_override: A `adapter_property_override` block as defined above. Changing this forces a new Stack HCI Deployment Setting to be created. + :param bool adapter_property_override_enabled: 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. + :param 'HciDeploymentSettingScaleUnitHostNetworkIntentQosPolicyOverrideArgs' qos_policy_override: A `qos_policy_override` block as defined below. Changing this forces a new Stack HCI Deployment Setting to be created. + :param bool qos_policy_override_enabled: 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. + :param 'HciDeploymentSettingScaleUnitHostNetworkIntentVirtualSwitchConfigurationOverrideArgs' virtual_switch_configuration_override: A `virtual_switch_configuration_override` block as defined below. Changing this forces a new Stack HCI Deployment Setting to be created. + :param bool virtual_switch_configuration_override_enabled: 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. + """ + pulumi.set(__self__, "adapters", adapters) + pulumi.set(__self__, "name", name) + pulumi.set(__self__, "traffic_types", traffic_types) + if adapter_property_override is not None: + pulumi.set(__self__, "adapter_property_override", adapter_property_override) + if adapter_property_override_enabled is not None: + pulumi.set(__self__, "adapter_property_override_enabled", adapter_property_override_enabled) + if qos_policy_override is not None: + pulumi.set(__self__, "qos_policy_override", qos_policy_override) + if qos_policy_override_enabled is not None: + pulumi.set(__self__, "qos_policy_override_enabled", qos_policy_override_enabled) + if virtual_switch_configuration_override is not None: + pulumi.set(__self__, "virtual_switch_configuration_override", virtual_switch_configuration_override) + if virtual_switch_configuration_override_enabled is not None: + pulumi.set(__self__, "virtual_switch_configuration_override_enabled", virtual_switch_configuration_override_enabled) + + @property + @pulumi.getter + def adapters(self) -> Sequence[str]: + """ + 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. + """ + return pulumi.get(self, "adapters") + + @property + @pulumi.getter + def name(self) -> str: + """ + Specifies the name of the intent. Changing this forces a new Stack HCI Deployment Setting to be created. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="trafficTypes") + def traffic_types(self) -> Sequence[str]: + """ + 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. + """ + return pulumi.get(self, "traffic_types") + + @property + @pulumi.getter(name="adapterPropertyOverride") + def adapter_property_override(self) -> Optional['outputs.HciDeploymentSettingScaleUnitHostNetworkIntentAdapterPropertyOverride']: + """ + A `adapter_property_override` block as defined above. Changing this forces a new Stack HCI Deployment Setting to be created. + """ + return pulumi.get(self, "adapter_property_override") + + @property + @pulumi.getter(name="adapterPropertyOverrideEnabled") + def adapter_property_override_enabled(self) -> Optional[bool]: + """ + 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. + """ + return pulumi.get(self, "adapter_property_override_enabled") + + @property + @pulumi.getter(name="qosPolicyOverride") + def qos_policy_override(self) -> Optional['outputs.HciDeploymentSettingScaleUnitHostNetworkIntentQosPolicyOverride']: + """ + A `qos_policy_override` block as defined below. Changing this forces a new Stack HCI Deployment Setting to be created. + """ + return pulumi.get(self, "qos_policy_override") + + @property + @pulumi.getter(name="qosPolicyOverrideEnabled") + def qos_policy_override_enabled(self) -> Optional[bool]: + """ + 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. + """ + return pulumi.get(self, "qos_policy_override_enabled") + + @property + @pulumi.getter(name="virtualSwitchConfigurationOverride") + def virtual_switch_configuration_override(self) -> Optional['outputs.HciDeploymentSettingScaleUnitHostNetworkIntentVirtualSwitchConfigurationOverride']: + """ + A `virtual_switch_configuration_override` block as defined below. Changing this forces a new Stack HCI Deployment Setting to be created. + """ + return pulumi.get(self, "virtual_switch_configuration_override") + + @property + @pulumi.getter(name="virtualSwitchConfigurationOverrideEnabled") + def virtual_switch_configuration_override_enabled(self) -> Optional[bool]: + """ + 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. + """ + return pulumi.get(self, "virtual_switch_configuration_override_enabled") + + +@pulumi.output_type +class HciDeploymentSettingScaleUnitHostNetworkIntentAdapterPropertyOverride(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "jumboPacket": + suggest = "jumbo_packet" + elif key == "networkDirect": + suggest = "network_direct" + elif key == "networkDirectTechnology": + suggest = "network_direct_technology" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in HciDeploymentSettingScaleUnitHostNetworkIntentAdapterPropertyOverride. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + HciDeploymentSettingScaleUnitHostNetworkIntentAdapterPropertyOverride.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + HciDeploymentSettingScaleUnitHostNetworkIntentAdapterPropertyOverride.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + jumbo_packet: Optional[str] = None, + network_direct: Optional[str] = None, + network_direct_technology: Optional[str] = None): + """ + :param str jumbo_packet: 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. + :param str network_direct: 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. + :param str network_direct_technology: 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. + """ + if jumbo_packet is not None: + pulumi.set(__self__, "jumbo_packet", jumbo_packet) + if network_direct is not None: + pulumi.set(__self__, "network_direct", network_direct) + if network_direct_technology is not None: + pulumi.set(__self__, "network_direct_technology", network_direct_technology) + + @property + @pulumi.getter(name="jumboPacket") + def jumbo_packet(self) -> Optional[str]: + """ + 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. + """ + return pulumi.get(self, "jumbo_packet") + + @property + @pulumi.getter(name="networkDirect") + def network_direct(self) -> Optional[str]: + """ + 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. + """ + return pulumi.get(self, "network_direct") + + @property + @pulumi.getter(name="networkDirectTechnology") + def network_direct_technology(self) -> Optional[str]: + """ + 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. + """ + return pulumi.get(self, "network_direct_technology") + + +@pulumi.output_type +class HciDeploymentSettingScaleUnitHostNetworkIntentQosPolicyOverride(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "bandwidthPercentageSmb": + suggest = "bandwidth_percentage_smb" + elif key == "priorityValue8021ActionCluster": + suggest = "priority_value8021_action_cluster" + elif key == "priorityValue8021ActionSmb": + suggest = "priority_value8021_action_smb" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in HciDeploymentSettingScaleUnitHostNetworkIntentQosPolicyOverride. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + HciDeploymentSettingScaleUnitHostNetworkIntentQosPolicyOverride.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + HciDeploymentSettingScaleUnitHostNetworkIntentQosPolicyOverride.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + bandwidth_percentage_smb: Optional[str] = None, + priority_value8021_action_cluster: Optional[str] = None, + priority_value8021_action_smb: Optional[str] = None): + """ + :param str bandwidth_percentage_smb: 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. + :param str priority_value8021_action_cluster: 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. + :param str priority_value8021_action_smb: 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. + """ + if bandwidth_percentage_smb is not None: + pulumi.set(__self__, "bandwidth_percentage_smb", bandwidth_percentage_smb) + if priority_value8021_action_cluster is not None: + pulumi.set(__self__, "priority_value8021_action_cluster", priority_value8021_action_cluster) + if priority_value8021_action_smb is not None: + pulumi.set(__self__, "priority_value8021_action_smb", priority_value8021_action_smb) + + @property + @pulumi.getter(name="bandwidthPercentageSmb") + def bandwidth_percentage_smb(self) -> Optional[str]: + """ + 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. + """ + return pulumi.get(self, "bandwidth_percentage_smb") + + @property + @pulumi.getter(name="priorityValue8021ActionCluster") + def priority_value8021_action_cluster(self) -> Optional[str]: + """ + 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. + """ + return pulumi.get(self, "priority_value8021_action_cluster") + + @property + @pulumi.getter(name="priorityValue8021ActionSmb") + def priority_value8021_action_smb(self) -> Optional[str]: + """ + 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. + """ + return pulumi.get(self, "priority_value8021_action_smb") + + +@pulumi.output_type +class HciDeploymentSettingScaleUnitHostNetworkIntentVirtualSwitchConfigurationOverride(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "enableIov": + suggest = "enable_iov" + elif key == "loadBalancingAlgorithm": + suggest = "load_balancing_algorithm" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in HciDeploymentSettingScaleUnitHostNetworkIntentVirtualSwitchConfigurationOverride. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + HciDeploymentSettingScaleUnitHostNetworkIntentVirtualSwitchConfigurationOverride.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + HciDeploymentSettingScaleUnitHostNetworkIntentVirtualSwitchConfigurationOverride.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + enable_iov: Optional[str] = None, + load_balancing_algorithm: Optional[str] = None): + """ + :param str enable_iov: Specifies the IoV enable status for Virtual Switch. Changing this forces a new Stack HCI Deployment Setting to be created. + :param str load_balancing_algorithm: Specifies the load balancing algorithm for Virtual Switch. Changing this forces a new Stack HCI Deployment Setting to be created. + """ + if enable_iov is not None: + pulumi.set(__self__, "enable_iov", enable_iov) + if load_balancing_algorithm is not None: + pulumi.set(__self__, "load_balancing_algorithm", load_balancing_algorithm) + + @property + @pulumi.getter(name="enableIov") + def enable_iov(self) -> Optional[str]: + """ + Specifies the IoV enable status for Virtual Switch. Changing this forces a new Stack HCI Deployment Setting to be created. + """ + return pulumi.get(self, "enable_iov") + + @property + @pulumi.getter(name="loadBalancingAlgorithm") + def load_balancing_algorithm(self) -> Optional[str]: + """ + Specifies the load balancing algorithm for Virtual Switch. Changing this forces a new Stack HCI Deployment Setting to be created. + """ + return pulumi.get(self, "load_balancing_algorithm") + + +@pulumi.output_type +class HciDeploymentSettingScaleUnitHostNetworkStorageNetwork(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "networkAdapterName": + suggest = "network_adapter_name" + elif key == "vlanId": + suggest = "vlan_id" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in HciDeploymentSettingScaleUnitHostNetworkStorageNetwork. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + HciDeploymentSettingScaleUnitHostNetworkStorageNetwork.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + HciDeploymentSettingScaleUnitHostNetworkStorageNetwork.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + name: str, + network_adapter_name: str, + vlan_id: str): + """ + :param str name: The name of the storage network. Changing this forces a new Stack HCI Deployment Setting to be created. + :param str network_adapter_name: The name of the network adapter. Changing this forces a new Stack HCI Deployment Setting to be created. + :param str vlan_id: 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. + """ + pulumi.set(__self__, "name", name) + pulumi.set(__self__, "network_adapter_name", network_adapter_name) + pulumi.set(__self__, "vlan_id", vlan_id) + + @property + @pulumi.getter + def name(self) -> str: + """ + The name of the storage network. Changing this forces a new Stack HCI Deployment Setting to be created. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="networkAdapterName") + def network_adapter_name(self) -> str: + """ + The name of the network adapter. Changing this forces a new Stack HCI Deployment Setting to be created. + """ + return pulumi.get(self, "network_adapter_name") + + @property + @pulumi.getter(name="vlanId") + def vlan_id(self) -> str: + """ + 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. + """ + return pulumi.get(self, "vlan_id") + + +@pulumi.output_type +class HciDeploymentSettingScaleUnitInfrastructureNetwork(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "dnsServers": + suggest = "dns_servers" + elif key == "ipPools": + suggest = "ip_pools" + elif key == "subnetMask": + suggest = "subnet_mask" + elif key == "dhcpEnabled": + suggest = "dhcp_enabled" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in HciDeploymentSettingScaleUnitInfrastructureNetwork. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + HciDeploymentSettingScaleUnitInfrastructureNetwork.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + HciDeploymentSettingScaleUnitInfrastructureNetwork.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + dns_servers: Sequence[str], + gateway: str, + ip_pools: Sequence['outputs.HciDeploymentSettingScaleUnitInfrastructureNetworkIpPool'], + subnet_mask: str, + dhcp_enabled: Optional[bool] = None): + """ + :param Sequence[str] dns_servers: 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. + :param str gateway: 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. + :param Sequence['HciDeploymentSettingScaleUnitInfrastructureNetworkIpPoolArgs'] ip_pools: One or more `ip_pool` blocks as defined below. Changing this forces a new Stack HCI Deployment Setting to be created. + :param str subnet_mask: Specifies the subnet mask that matches the provided IP address space. Changing this forces a new Stack HCI Deployment Setting to be created. + :param bool dhcp_enabled: 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. + + > **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. + """ + pulumi.set(__self__, "dns_servers", dns_servers) + pulumi.set(__self__, "gateway", gateway) + pulumi.set(__self__, "ip_pools", ip_pools) + pulumi.set(__self__, "subnet_mask", subnet_mask) + if dhcp_enabled is not None: + pulumi.set(__self__, "dhcp_enabled", dhcp_enabled) + + @property + @pulumi.getter(name="dnsServers") + def dns_servers(self) -> Sequence[str]: + """ + 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. + """ + return pulumi.get(self, "dns_servers") + + @property + @pulumi.getter + def gateway(self) -> str: + """ + 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. + """ + return pulumi.get(self, "gateway") + + @property + @pulumi.getter(name="ipPools") + def ip_pools(self) -> Sequence['outputs.HciDeploymentSettingScaleUnitInfrastructureNetworkIpPool']: + """ + One or more `ip_pool` blocks as defined below. Changing this forces a new Stack HCI Deployment Setting to be created. + """ + return pulumi.get(self, "ip_pools") + + @property + @pulumi.getter(name="subnetMask") + def subnet_mask(self) -> str: + """ + Specifies the subnet mask that matches the provided IP address space. Changing this forces a new Stack HCI Deployment Setting to be created. + """ + return pulumi.get(self, "subnet_mask") + + @property + @pulumi.getter(name="dhcpEnabled") + def dhcp_enabled(self) -> Optional[bool]: + """ + 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. + + > **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. + """ + return pulumi.get(self, "dhcp_enabled") + + +@pulumi.output_type +class HciDeploymentSettingScaleUnitInfrastructureNetworkIpPool(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "endingAddress": + suggest = "ending_address" + elif key == "startingAddress": + suggest = "starting_address" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in HciDeploymentSettingScaleUnitInfrastructureNetworkIpPool. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + HciDeploymentSettingScaleUnitInfrastructureNetworkIpPool.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + HciDeploymentSettingScaleUnitInfrastructureNetworkIpPool.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + ending_address: str, + starting_address: str): + """ + :param str ending_address: 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. + :param str starting_address: 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. + """ + pulumi.set(__self__, "ending_address", ending_address) + pulumi.set(__self__, "starting_address", starting_address) + + @property + @pulumi.getter(name="endingAddress") + def ending_address(self) -> str: + """ + 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. + """ + return pulumi.get(self, "ending_address") + + @property + @pulumi.getter(name="startingAddress") + def starting_address(self) -> str: + """ + 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. + """ + return pulumi.get(self, "starting_address") + + +@pulumi.output_type +class HciDeploymentSettingScaleUnitOptionalService(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "customLocation": + suggest = "custom_location" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in HciDeploymentSettingScaleUnitOptionalService. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + HciDeploymentSettingScaleUnitOptionalService.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + HciDeploymentSettingScaleUnitOptionalService.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + custom_location: str): + """ + :param str custom_location: 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. + """ + pulumi.set(__self__, "custom_location", custom_location) + + @property + @pulumi.getter(name="customLocation") + def custom_location(self) -> str: + """ + 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. + """ + return pulumi.get(self, "custom_location") + + +@pulumi.output_type +class HciDeploymentSettingScaleUnitPhysicalNode(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "ipv4Address": + suggest = "ipv4_address" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in HciDeploymentSettingScaleUnitPhysicalNode. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + HciDeploymentSettingScaleUnitPhysicalNode.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + HciDeploymentSettingScaleUnitPhysicalNode.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + ipv4_address: str, + name: str): + """ + :param str ipv4_address: 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. + :param str name: 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. + """ + pulumi.set(__self__, "ipv4_address", ipv4_address) + pulumi.set(__self__, "name", name) + + @property + @pulumi.getter(name="ipv4Address") + def ipv4_address(self) -> str: + """ + 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. + """ + return pulumi.get(self, "ipv4_address") + + @property + @pulumi.getter + def name(self) -> str: + """ + 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. + """ + return pulumi.get(self, "name") + + +@pulumi.output_type +class HciDeploymentSettingScaleUnitStorage(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "configurationMode": + suggest = "configuration_mode" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in HciDeploymentSettingScaleUnitStorage. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + HciDeploymentSettingScaleUnitStorage.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + HciDeploymentSettingScaleUnitStorage.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + configuration_mode: str): + """ + :param str configuration_mode: 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. + """ + pulumi.set(__self__, "configuration_mode", configuration_mode) + + @property + @pulumi.getter(name="configurationMode") + def configuration_mode(self) -> str: + """ + 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. + """ + return pulumi.get(self, "configuration_mode") + + @pulumi.output_type class HciLogicalNetworkSubnet(dict): @staticmethod diff --git a/sdk/python/pulumi_azure/storage/_inputs.py b/sdk/python/pulumi_azure/storage/_inputs.py index fd74d538af..e6be57d84e 100644 --- a/sdk/python/pulumi_azure/storage/_inputs.py +++ b/sdk/python/pulumi_azure/storage/_inputs.py @@ -3884,11 +3884,11 @@ def operation(self, value: Optional[pulumi.Input[str]]): class ObjectReplicationRuleArgsDict(TypedDict): destination_container_name: pulumi.Input[str] """ - The destination storage container name. Changing this forces a new Storage Object Replication to be created. + The destination storage container name. """ source_container_name: pulumi.Input[str] """ - The source storage container name. Changing this forces a new Storage Object Replication to be created. + The source storage container name. """ copy_blobs_created_after: NotRequired[pulumi.Input[str]] """ @@ -3911,8 +3911,8 @@ def __init__(__self__, *, filter_out_blobs_with_prefixes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, name: Optional[pulumi.Input[str]] = None): """ - :param pulumi.Input[str] destination_container_name: The destination storage container name. Changing this forces a new Storage Object Replication to be created. - :param pulumi.Input[str] source_container_name: The source storage container name. Changing this forces a new Storage Object Replication to be created. + :param pulumi.Input[str] destination_container_name: The destination storage container name. + :param pulumi.Input[str] source_container_name: The source storage container name. :param pulumi.Input[str] copy_blobs_created_after: The time after which the Block Blobs created will be copies to the destination. Possible values are `OnlyNewObjects`, `Everything` and time in RFC3339 format: `2006-01-02T15:04:00Z`. Defaults to `OnlyNewObjects`. :param pulumi.Input[Sequence[pulumi.Input[str]]] filter_out_blobs_with_prefixes: Specifies a list of filters prefixes, the blobs whose names begin with which will be replicated. """ @@ -3929,7 +3929,7 @@ def __init__(__self__, *, @pulumi.getter(name="destinationContainerName") def destination_container_name(self) -> pulumi.Input[str]: """ - The destination storage container name. Changing this forces a new Storage Object Replication to be created. + The destination storage container name. """ return pulumi.get(self, "destination_container_name") @@ -3941,7 +3941,7 @@ def destination_container_name(self, value: pulumi.Input[str]): @pulumi.getter(name="sourceContainerName") def source_container_name(self) -> pulumi.Input[str]: """ - The source storage container name. Changing this forces a new Storage Object Replication to be created. + The source storage container name. """ return pulumi.get(self, "source_container_name") diff --git a/sdk/python/pulumi_azure/storage/blob.py b/sdk/python/pulumi_azure/storage/blob.py index b2d6462cc9..699b16c308 100644 --- a/sdk/python/pulumi_azure/storage/blob.py +++ b/sdk/python/pulumi_azure/storage/blob.py @@ -52,7 +52,7 @@ def __init__(__self__, *, :param pulumi.Input[int] size: Used only for `page` blobs to specify the size in bytes of the blob to be created. Must be a multiple of 512. Defaults to `0`. Changing this forces a new resource to be created. > **Note:** `size` is required if `source_uri` is not set. - :param pulumi.Input[Union[pulumi.Asset, pulumi.Archive]] source: 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. + :param pulumi.Input[Union[pulumi.Asset, pulumi.Archive]] source: 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. :param pulumi.Input[str] source_content: 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. :param pulumi.Input[str] source_uri: The URI of an existing blob, or a file in the Azure File service, to use as the source contents for the blob to be created. Changing this forces a new resource to be created. This field cannot be specified for Append blobs and cannot be specified if `source` or `source_content` is specified. """ @@ -236,7 +236,7 @@ def size(self, value: Optional[pulumi.Input[int]]): @pulumi.getter def source(self) -> Optional[pulumi.Input[Union[pulumi.Asset, pulumi.Archive]]]: """ - 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. + 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. """ return pulumi.get(self, "source") @@ -303,7 +303,7 @@ def __init__(__self__, *, :param pulumi.Input[int] size: Used only for `page` blobs to specify the size in bytes of the blob to be created. Must be a multiple of 512. Defaults to `0`. Changing this forces a new resource to be created. > **Note:** `size` is required if `source_uri` is not set. - :param pulumi.Input[Union[pulumi.Asset, pulumi.Archive]] source: 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. + :param pulumi.Input[Union[pulumi.Asset, pulumi.Archive]] source: 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. :param pulumi.Input[str] source_content: 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. :param pulumi.Input[str] source_uri: The URI of an existing blob, or a file in the Azure File service, to use as the source contents for the blob to be created. Changing this forces a new resource to be created. This field cannot be specified for Append blobs and cannot be specified if `source` or `source_content` is specified. :param pulumi.Input[str] storage_account_name: Specifies the storage account in which to create the storage container. Changing this forces a new resource to be created. @@ -460,7 +460,7 @@ def size(self, value: Optional[pulumi.Input[int]]): @pulumi.getter def source(self) -> Optional[pulumi.Input[Union[pulumi.Asset, pulumi.Archive]]]: """ - 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. + 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. """ return pulumi.get(self, "source") @@ -615,7 +615,7 @@ def __init__(__self__, :param pulumi.Input[int] size: Used only for `page` blobs to specify the size in bytes of the blob to be created. Must be a multiple of 512. Defaults to `0`. Changing this forces a new resource to be created. > **Note:** `size` is required if `source_uri` is not set. - :param pulumi.Input[Union[pulumi.Asset, pulumi.Archive]] source: 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. + :param pulumi.Input[Union[pulumi.Asset, pulumi.Archive]] source: 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. :param pulumi.Input[str] source_content: 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. :param pulumi.Input[str] source_uri: The URI of an existing blob, or a file in the Azure File service, to use as the source contents for the blob to be created. Changing this forces a new resource to be created. This field cannot be specified for Append blobs and cannot be specified if `source` or `source_content` is specified. :param pulumi.Input[str] storage_account_name: Specifies the storage account in which to create the storage container. Changing this forces a new resource to be created. @@ -773,7 +773,7 @@ def get(resource_name: str, :param pulumi.Input[int] size: Used only for `page` blobs to specify the size in bytes of the blob to be created. Must be a multiple of 512. Defaults to `0`. Changing this forces a new resource to be created. > **Note:** `size` is required if `source_uri` is not set. - :param pulumi.Input[Union[pulumi.Asset, pulumi.Archive]] source: 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. + :param pulumi.Input[Union[pulumi.Asset, pulumi.Archive]] source: 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. :param pulumi.Input[str] source_content: 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. :param pulumi.Input[str] source_uri: The URI of an existing blob, or a file in the Azure File service, to use as the source contents for the blob to be created. Changing this forces a new resource to be created. This field cannot be specified for Append blobs and cannot be specified if `source` or `source_content` is specified. :param pulumi.Input[str] storage_account_name: Specifies the storage account in which to create the storage container. Changing this forces a new resource to be created. @@ -883,7 +883,7 @@ def size(self) -> pulumi.Output[Optional[int]]: @pulumi.getter def source(self) -> pulumi.Output[Optional[Union[pulumi.Asset, pulumi.Archive]]]: """ - 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. + 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. """ return pulumi.get(self, "source") diff --git a/sdk/python/pulumi_azure/storage/outputs.py b/sdk/python/pulumi_azure/storage/outputs.py index d34d9adf9f..75992aa82e 100644 --- a/sdk/python/pulumi_azure/storage/outputs.py +++ b/sdk/python/pulumi_azure/storage/outputs.py @@ -3032,8 +3032,8 @@ def __init__(__self__, *, filter_out_blobs_with_prefixes: Optional[Sequence[str]] = None, name: Optional[str] = None): """ - :param str destination_container_name: The destination storage container name. Changing this forces a new Storage Object Replication to be created. - :param str source_container_name: The source storage container name. Changing this forces a new Storage Object Replication to be created. + :param str destination_container_name: The destination storage container name. + :param str source_container_name: The source storage container name. :param str copy_blobs_created_after: The time after which the Block Blobs created will be copies to the destination. Possible values are `OnlyNewObjects`, `Everything` and time in RFC3339 format: `2006-01-02T15:04:00Z`. Defaults to `OnlyNewObjects`. :param Sequence[str] filter_out_blobs_with_prefixes: Specifies a list of filters prefixes, the blobs whose names begin with which will be replicated. """ @@ -3050,7 +3050,7 @@ def __init__(__self__, *, @pulumi.getter(name="destinationContainerName") def destination_container_name(self) -> str: """ - The destination storage container name. Changing this forces a new Storage Object Replication to be created. + The destination storage container name. """ return pulumi.get(self, "destination_container_name") @@ -3058,7 +3058,7 @@ def destination_container_name(self) -> str: @pulumi.getter(name="sourceContainerName") def source_container_name(self) -> str: """ - The source storage container name. Changing this forces a new Storage Object Replication to be created. + The source storage container name. """ return pulumi.get(self, "source_container_name") diff --git a/upstream b/upstream index b0dd4f834a..6ede5df815 160000 --- a/upstream +++ b/upstream @@ -1 +1 @@ -Subproject commit b0dd4f834a7cd8030acee5d2da774c53892f6905 +Subproject commit 6ede5df8150553717c0cacf810bbf4e4a5da4fd4