diff --git a/.ci-mgmt.yaml b/.ci-mgmt.yaml index cdba1aa20a..e78f97122e 100644 --- a/.ci-mgmt.yaml +++ b/.ci-mgmt.yaml @@ -43,11 +43,19 @@ plugins: goBuildParallelism: 2 actions: preTest: - + - name: Free Disk Space (Ubuntu) + uses: jlumbroso/free-disk-space@main + with: + tool-cache: false + swap-storage: false + - name: Setup DotNet + if: ${{ matrix.language == 'dotnet' }} + uses: actions/setup-dotnet@v4 + with: + dotnet-version: ${{ env.DOTNETVERSION }} - name: make upstream run: | make upstream - - name: Run provider tests run: | cd provider && go test -v -json -count=1 -cover -timeout 2h -tags=${{ matrix.language }} -parallel 4 . 2>&1 | tee /tmp/gotest.log | gotestfmt diff --git a/.github/workflows/master.yml b/.github/workflows/master.yml index a39af3055a..3bab138c57 100644 --- a/.github/workflows/master.yml +++ b/.github/workflows/master.yml @@ -471,6 +471,16 @@ jobs: with: token: ${{ secrets.GITHUB_TOKEN }} version: v2.5.0 + - name: Free Disk Space (Ubuntu) + uses: jlumbroso/free-disk-space@main + with: + swap-storage: false + tool-cache: false + - if: ${{ matrix.language == 'dotnet' }} + name: Setup DotNet + uses: actions/setup-dotnet@v4 + with: + dotnet-version: ${{ env.DOTNETVERSION }} - name: make upstream run: | make upstream diff --git a/.github/workflows/nightly-test.yml b/.github/workflows/nightly-test.yml index cd104dff73..767c532548 100644 --- a/.github/workflows/nightly-test.yml +++ b/.github/workflows/nightly-test.yml @@ -306,6 +306,16 @@ jobs: with: token: ${{ secrets.GITHUB_TOKEN }} version: v2.5.0 + - name: Free Disk Space (Ubuntu) + uses: jlumbroso/free-disk-space@main + with: + swap-storage: false + tool-cache: false + - if: ${{ matrix.language == 'dotnet' }} + name: Setup DotNet + uses: actions/setup-dotnet@v4 + with: + dotnet-version: ${{ env.DOTNETVERSION }} - name: make upstream run: | make upstream diff --git a/.github/workflows/prerelease.yml b/.github/workflows/prerelease.yml index bb247c9f17..d40d520e56 100644 --- a/.github/workflows/prerelease.yml +++ b/.github/workflows/prerelease.yml @@ -391,6 +391,16 @@ jobs: with: token: ${{ secrets.GITHUB_TOKEN }} version: v2.5.0 + - name: Free Disk Space (Ubuntu) + uses: jlumbroso/free-disk-space@main + with: + swap-storage: false + tool-cache: false + - if: ${{ matrix.language == 'dotnet' }} + name: Setup DotNet + uses: actions/setup-dotnet@v4 + with: + dotnet-version: ${{ env.DOTNETVERSION }} - name: make upstream run: | make upstream diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index b01faf8c11..8f45cc6c30 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -439,6 +439,16 @@ jobs: with: token: ${{ secrets.GITHUB_TOKEN }} version: v2.5.0 + - name: Free Disk Space (Ubuntu) + uses: jlumbroso/free-disk-space@main + with: + swap-storage: false + tool-cache: false + - if: ${{ matrix.language == 'dotnet' }} + name: Setup DotNet + uses: actions/setup-dotnet@v4 + with: + dotnet-version: ${{ env.DOTNETVERSION }} - name: make upstream run: | make upstream diff --git a/.github/workflows/run-acceptance-tests.yml b/.github/workflows/run-acceptance-tests.yml index f7674d8b8a..66b6dd8ea6 100644 --- a/.github/workflows/run-acceptance-tests.yml +++ b/.github/workflows/run-acceptance-tests.yml @@ -388,6 +388,16 @@ jobs: with: token: ${{ secrets.GITHUB_TOKEN }} version: v2.5.0 + - name: Free Disk Space (Ubuntu) + uses: jlumbroso/free-disk-space@main + with: + swap-storage: false + tool-cache: false + - if: ${{ matrix.language == 'dotnet' }} + name: Setup DotNet + uses: actions/setup-dotnet@v4 + with: + dotnet-version: ${{ env.DOTNETVERSION }} - name: make upstream run: | make upstream diff --git a/patches/0002-Shared-features.patch b/patches/0002-Shared-features.patch index 917674995d..5889c71e42 100644 --- a/patches/0002-Shared-features.patch +++ b/patches/0002-Shared-features.patch @@ -19,10 +19,10 @@ index 423a527f65..8bd6f0c754 100644 + return true +} diff --git a/internal/provider/features.go b/internal/provider/features.go -index c6a416af55..38477f2b2e 100644 +index e16c7d6c1a..4999412db2 100644 --- a/internal/provider/features.go +++ b/internal/provider/features.go -@@ -300,7 +300,7 @@ func schemaFeatures(supportLegacyTestSuite bool) *pluginsdk.Schema { +@@ -320,7 +320,7 @@ func schemaFeatures(supportLegacyTestSuite bool) *pluginsdk.Schema { return &pluginsdk.Schema{ Type: pluginsdk.TypeList, diff --git a/patches/0005-Modify-resources.patch b/patches/0005-Modify-resources.patch index 6417a58de4..f2945fe9fe 100644 --- a/patches/0005-Modify-resources.patch +++ b/patches/0005-Modify-resources.patch @@ -1,7 +1,7 @@ From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Anton Tayanovskyy Date: Wed, 7 Feb 2024 13:53:37 -0500 -Subject: [PATCH 5/5] Modify resources +Subject: [PATCH 5/9] Modify resources diff --git a/internal/services/advisor/advisor_recommendations_data_source.go b/internal/services/advisor/advisor_recommendations_data_source.go @@ -292,10 +292,10 @@ index d1de175cb8..d18589669e 100644 "size_gb": { diff --git a/internal/services/compute/linux_virtual_machine_resource.go b/internal/services/compute/linux_virtual_machine_resource.go -index 1493cb62df..c7d6007942 100644 +index b79956b57d..4b1be52dcc 100644 --- a/internal/services/compute/linux_virtual_machine_resource.go +++ b/internal/services/compute/linux_virtual_machine_resource.go -@@ -344,11 +344,11 @@ func resourceLinuxVirtualMachine() *pluginsdk.Resource { +@@ -359,11 +359,11 @@ func resourceLinuxVirtualMachine() *pluginsdk.Resource { }, "platform_fault_domain": { @@ -370,10 +370,10 @@ index 4852606790..219bed8e64 100644 "write_accelerator_enabled": { diff --git a/internal/services/compute/windows_virtual_machine_resource.go b/internal/services/compute/windows_virtual_machine_resource.go -index b05a7ccb2d..3389a0c6c6 100644 +index 9d8cafbd14..9ad34c43b4 100644 --- a/internal/services/compute/windows_virtual_machine_resource.go +++ b/internal/services/compute/windows_virtual_machine_resource.go -@@ -367,11 +367,11 @@ func resourceWindowsVirtualMachine() *pluginsdk.Resource { +@@ -384,11 +384,11 @@ func resourceWindowsVirtualMachine() *pluginsdk.Resource { }, "platform_fault_domain": { @@ -457,10 +457,10 @@ index a506d9b4e3..bf48597849 100644 return nil diff --git a/internal/services/containers/kubernetes_cluster_resource.go b/internal/services/containers/kubernetes_cluster_resource.go -index 5f0c7dc20a..859e6bc666 100644 +index cf81c00711..6f89ae788e 100644 --- a/internal/services/containers/kubernetes_cluster_resource.go +++ b/internal/services/containers/kubernetes_cluster_resource.go -@@ -1129,7 +1129,7 @@ func resourceKubernetesCluster() *pluginsdk.Resource { +@@ -1130,7 +1130,7 @@ func resourceKubernetesCluster() *pluginsdk.Resource { ValidateFunc: validation.StringInSlice([]string{ string(managedclusters.LoadBalancerSkuBasic), string(managedclusters.LoadBalancerSkuStandard), @@ -488,7 +488,7 @@ index b141d14cfd..0e3d2fd1b2 100644 string(documentdb.IndexingModeConsistent), string(documentdb.IndexingModeNone), diff --git a/internal/services/cosmos/cosmosdb_account_resource.go b/internal/services/cosmos/cosmosdb_account_resource.go -index fb5df793e4..f73358c274 100644 +index 4001cad641..835aecb2d8 100644 --- a/internal/services/cosmos/cosmosdb_account_resource.go +++ b/internal/services/cosmos/cosmosdb_account_resource.go @@ -13,6 +13,8 @@ import ( @@ -509,7 +509,7 @@ index fb5df793e4..f73358c274 100644 }, "analytical_storage": { -@@ -277,7 +279,7 @@ func resourceCosmosDbAccount() *pluginsdk.Resource { +@@ -286,7 +288,7 @@ func resourceCosmosDbAccount() *pluginsdk.Resource { string(cosmosdb.DatabaseAccountKindGlobalDocumentDB), string(cosmosdb.DatabaseAccountKindMongoDB), string(cosmosdb.DatabaseAccountKindParse), @@ -518,7 +518,7 @@ index fb5df793e4..f73358c274 100644 }, "ip_range_filter": func() *schema.Schema { -@@ -351,7 +353,7 @@ func resourceCosmosDbAccount() *pluginsdk.Resource { +@@ -360,7 +362,7 @@ func resourceCosmosDbAccount() *pluginsdk.Resource { string(cosmosdb.DefaultConsistencyLevelEventual), string(cosmosdb.DefaultConsistencyLevelSession), string(cosmosdb.DefaultConsistencyLevelStrong), @@ -526,8 +526,8 @@ index fb5df793e4..f73358c274 100644 + }, features.CaseInsensitive()), }, - "max_interval_in_seconds": { -@@ -408,8 +410,9 @@ func resourceCosmosDbAccount() *pluginsdk.Resource { + // This value can only change if the 'consistency_level' is set to 'BoundedStaleness' +@@ -419,8 +421,9 @@ func resourceCosmosDbAccount() *pluginsdk.Resource { Elem: &pluginsdk.Resource{ Schema: map[string]*pluginsdk.Schema{ "name": { @@ -753,7 +753,7 @@ index e15c10ac79..ebcdb70c0b 100644 }, "template": { diff --git a/internal/services/iothub/iothub_resource.go b/internal/services/iothub/iothub_resource.go -index fe0f2a2c40..5ba993084d 100644 +index c14cb45e16..debc0e57fa 100644 --- a/internal/services/iothub/iothub_resource.go +++ b/internal/services/iothub/iothub_resource.go @@ -30,6 +30,7 @@ import ( @@ -764,7 +764,7 @@ index fe0f2a2c40..5ba993084d 100644 "github.com/hashicorp/terraform-provider-azurerm/internal/tf/validation" "github.com/hashicorp/terraform-provider-azurerm/internal/timeouts" "github.com/hashicorp/terraform-provider-azurerm/utils" -@@ -352,11 +353,13 @@ func resourceIotHub() *pluginsdk.Resource { +@@ -343,11 +344,13 @@ func resourceIotHub() *pluginsdk.Resource { }, "encoding": { @@ -784,7 +784,7 @@ index fe0f2a2c40..5ba993084d 100644 string(devices.EncodingAvro), string(devices.EncodingAvroDeflate), diff --git a/internal/services/keyvault/key_vault_certificate_resource.go b/internal/services/keyvault/key_vault_certificate_resource.go -index 7bb4ed0809..eab4c819de 100644 +index 90e02d8080..8970530193 100644 --- a/internal/services/keyvault/key_vault_certificate_resource.go +++ b/internal/services/keyvault/key_vault_certificate_resource.go @@ -9,6 +9,8 @@ import ( @@ -796,7 +796,7 @@ index 7bb4ed0809..eab4c819de 100644 "log" "math" "strings" -@@ -156,7 +158,8 @@ func resourceKeyVaultCertificate() *pluginsdk.Resource { +@@ -157,7 +159,8 @@ func resourceKeyVaultCertificate() *pluginsdk.Resource { string(keyvault.JSONWebKeyTypeRSA), string(keyvault.JSONWebKeyTypeRSAHSM), string(keyvault.JSONWebKeyTypeOct), @@ -1014,7 +1014,7 @@ index ea0a79b9a6..addfe7d710 100644 "port": { diff --git a/internal/services/loadbalancer/rule_resource.go b/internal/services/loadbalancer/rule_resource.go -index 74365aa972..792b8a2f9c 100644 +index 5d3a526959..efecebe015 100644 --- a/internal/services/loadbalancer/rule_resource.go +++ b/internal/services/loadbalancer/rule_resource.go @@ -5,6 +5,7 @@ package loadbalancer @@ -1057,7 +1057,7 @@ index dbbf9132fb..2e56c94e0e 100644 }, }, diff --git a/internal/services/loganalytics/log_analytics_workspace_resource.go b/internal/services/loganalytics/log_analytics_workspace_resource.go -index 3c79c1330b..f89e448a8a 100644 +index 6cb3af7347..7b36437f13 100644 --- a/internal/services/loganalytics/log_analytics_workspace_resource.go +++ b/internal/services/loganalytics/log_analytics_workspace_resource.go @@ -6,6 +6,8 @@ package loganalytics @@ -1264,7 +1264,7 @@ index 2766565528..b7af892e01 100644 }, "hours": { diff --git a/internal/services/mssql/mssql_database_resource.go b/internal/services/mssql/mssql_database_resource.go -index c8d0a4a7a7..801b4793d7 100644 +index 2b93ab80aa..eed5cf97f2 100644 --- a/internal/services/mssql/mssql_database_resource.go +++ b/internal/services/mssql/mssql_database_resource.go @@ -6,6 +6,7 @@ package mssql @@ -1275,7 +1275,7 @@ index c8d0a4a7a7..801b4793d7 100644 "log" "strings" "time" -@@ -1596,7 +1597,8 @@ func resourceMsSqlDatabaseSchema() map[string]*pluginsdk.Schema { +@@ -1629,7 +1630,8 @@ func resourceMsSqlDatabaseSchema() map[string]*pluginsdk.Schema { "Sql_Injection", "Sql_Injection_Vulnerability", "Access_Anomaly", @@ -1285,7 +1285,7 @@ index c8d0a4a7a7..801b4793d7 100644 }, }, -@@ -1607,7 +1609,7 @@ func resourceMsSqlDatabaseSchema() map[string]*pluginsdk.Schema { +@@ -1640,7 +1642,7 @@ func resourceMsSqlDatabaseSchema() map[string]*pluginsdk.Schema { Optional: true, Default: EmailAccountAdminsStatusDisabled, ValidateFunc: validation.StringInSlice(PossibleValuesForEmailAccountAdminsStatus(), @@ -1294,7 +1294,7 @@ index c8d0a4a7a7..801b4793d7 100644 }, "email_addresses": { -@@ -1635,7 +1637,7 @@ func resourceMsSqlDatabaseSchema() map[string]*pluginsdk.Schema { +@@ -1668,7 +1670,7 @@ func resourceMsSqlDatabaseSchema() map[string]*pluginsdk.Schema { Optional: true, Default: string(serversecurityalertpolicies.SecurityAlertsPolicyStateDisabled), ValidateFunc: validation.StringInSlice(serversecurityalertpolicies.PossibleValuesForSecurityAlertsPolicyState(), @@ -1929,7 +1929,7 @@ index d2434c6189..200bc2d5a6 100644 func (r VirtualNetworkResource) tagCount(data acceptance.TestData) string { tags := "" diff --git a/internal/services/notificationhub/notification_hub_namespace_resource.go b/internal/services/notificationhub/notification_hub_namespace_resource.go -index 18b18d4675..b094b7aa61 100644 +index abd8c6b3f6..55bc1b0b1d 100644 --- a/internal/services/notificationhub/notification_hub_namespace_resource.go +++ b/internal/services/notificationhub/notification_hub_namespace_resource.go @@ -6,6 +6,7 @@ package notificationhub @@ -1940,7 +1940,7 @@ index 18b18d4675..b094b7aa61 100644 "log" "strconv" "time" -@@ -82,7 +83,7 @@ func resourceNotificationHubNamespace() *pluginsdk.Resource { +@@ -83,7 +84,7 @@ func resourceNotificationHubNamespace() *pluginsdk.Resource { ValidateFunc: validation.StringInSlice([]string{ string(namespaces.NamespaceTypeMessaging), string(namespaces.NamespaceTypeNotificationHub), @@ -2036,7 +2036,7 @@ index d68d5963fa..5da4ee2bdc 100644 "administrator_login": { diff --git a/internal/services/recoveryservices/recovery_services_vault_resource.go b/internal/services/recoveryservices/recovery_services_vault_resource.go -index 8938f9d1b2..c0fba3c5a8 100644 +index 29bc9d2710..5ae5f25686 100644 --- a/internal/services/recoveryservices/recovery_services_vault_resource.go +++ b/internal/services/recoveryservices/recovery_services_vault_resource.go @@ -10,6 +10,8 @@ import ( @@ -2080,7 +2080,7 @@ index 3c73bae3bc..41759ee1ea 100644 "target_disk_encryption_set_id": { diff --git a/internal/services/redis/redis_cache_resource.go b/internal/services/redis/redis_cache_resource.go -index 5480f47ac6..63c521fe60 100644 +index 3914c1ae20..c52a8fc9d6 100644 --- a/internal/services/redis/redis_cache_resource.go +++ b/internal/services/redis/redis_cache_resource.go @@ -6,6 +6,7 @@ package redis @@ -2208,7 +2208,7 @@ index 693259db60..fa44554cd1 100644 return &pluginsdk.Resource{ Create: resourceServerVulnerabilityAssessmentCreate, diff --git a/internal/services/servicebus/servicebus_namespace_resource.go b/internal/services/servicebus/servicebus_namespace_resource.go -index 96c932b7a2..5c3563db24 100644 +index 56fa2647cb..b03bdc1fa8 100644 --- a/internal/services/servicebus/servicebus_namespace_resource.go +++ b/internal/services/servicebus/servicebus_namespace_resource.go @@ -87,7 +87,8 @@ func resourceServiceBusNamespace() *pluginsdk.Resource { @@ -2526,7 +2526,7 @@ index b215edff58..af572b05db 100644 if !ok { return fmt.Errorf("could not determine Storage domain suffix for environment %q", meta.(*clients.Client).Account.Environment.Name) diff --git a/internal/services/storage/storage_account_resource.go b/internal/services/storage/storage_account_resource.go -index 49eb2adb75..19b2813c15 100644 +index b83c2a837e..eab0631cc1 100644 --- a/internal/services/storage/storage_account_resource.go +++ b/internal/services/storage/storage_account_resource.go @@ -6,6 +6,8 @@ package storage @@ -2538,7 +2538,7 @@ index 49eb2adb75..19b2813c15 100644 "log" "net/http" "net/url" -@@ -138,8 +140,9 @@ func resourceStorageAccount() *pluginsdk.Resource { +@@ -139,8 +141,9 @@ func resourceStorageAccount() *pluginsdk.Resource { string(storage.KindBlockBlobStorage), string(storage.KindFileStorage), string(storage.KindStorageV2), @@ -2550,7 +2550,7 @@ index 49eb2adb75..19b2813c15 100644 }, "account_tier": { -@@ -149,7 +152,8 @@ func resourceStorageAccount() *pluginsdk.Resource { +@@ -150,7 +153,8 @@ func resourceStorageAccount() *pluginsdk.Resource { ValidateFunc: validation.StringInSlice([]string{ "Standard", "Premium", @@ -2560,7 +2560,7 @@ index 49eb2adb75..19b2813c15 100644 }, "account_replication_type": { -@@ -162,7 +166,8 @@ func resourceStorageAccount() *pluginsdk.Resource { +@@ -163,7 +167,8 @@ func resourceStorageAccount() *pluginsdk.Resource { "RAGRS", "GZRS", "RAGZRS", @@ -2570,7 +2570,7 @@ index 49eb2adb75..19b2813c15 100644 }, // Only valid for FileStorage, BlobStorage & StorageV2 accounts, defaults to "Hot" in create function -@@ -173,7 +178,8 @@ func resourceStorageAccount() *pluginsdk.Resource { +@@ -174,7 +179,8 @@ func resourceStorageAccount() *pluginsdk.Resource { ValidateFunc: validation.StringInSlice([]string{ string(storage.AccessTierCool), string(storage.AccessTierHot), @@ -2580,7 +2580,7 @@ index 49eb2adb75..19b2813c15 100644 }, "azure_files_authentication": { -@@ -391,7 +397,8 @@ func resourceStorageAccount() *pluginsdk.Resource { +@@ -392,7 +398,8 @@ func resourceStorageAccount() *pluginsdk.Resource { string(storage.BypassLogging), string(storage.BypassMetrics), string(storage.BypassNone), @@ -2655,7 +2655,7 @@ index c928831ac4..0fae0d312c 100644 "storage_account_access_key": { diff --git a/internal/services/trafficmanager/traffic_manager_profile_resource.go b/internal/services/trafficmanager/traffic_manager_profile_resource.go -index a2e7c8201a..31096a3c5e 100644 +index 88fa114d68..0e395b4046 100644 --- a/internal/services/trafficmanager/traffic_manager_profile_resource.go +++ b/internal/services/trafficmanager/traffic_manager_profile_resource.go @@ -5,6 +5,8 @@ package trafficmanager diff --git a/patches/0007-Update-documentation.patch b/patches/0007-Update-documentation.patch index 017acac7c0..af3ef6e2ee 100644 --- a/patches/0007-Update-documentation.patch +++ b/patches/0007-Update-documentation.patch @@ -1,6 +1,6 @@ From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: aq17 -Date: Thu, 25 May 2023 10:33:39 -0700 +From: Venelin +Date: Fri, 1 Mar 2024 16:55:56 +0000 Subject: [PATCH 7/9] Update-documentation @@ -74,7 +74,7 @@ index 5dbdb7d11e..2f4f4c2ff9 100644 ```hcl diff --git a/website/docs/d/kubernetes_cluster.html.markdown b/website/docs/d/kubernetes_cluster.html.markdown -index 0f3f465ce6..061d3a67b0 100644 +index c3d65c12e7..061d3a67b0 100644 --- a/website/docs/d/kubernetes_cluster.html.markdown +++ b/website/docs/d/kubernetes_cluster.html.markdown @@ -10,9 +10,6 @@ description: |- @@ -95,12 +95,12 @@ index 0f3f465ce6..061d3a67b0 100644 - -```hcl -provider "kubernetes" { -- host = data.azurerm_kubernetes_cluster.main.kube_config.0.host -- username = data.azurerm_kubernetes_cluster.main.kube_config.0.username -- password = data.azurerm_kubernetes_cluster.main.kube_config.0.password -- client_certificate = base64decode(data.azurerm_kubernetes_cluster.main.kube_config.0.client_certificate) -- client_key = base64decode(data.azurerm_kubernetes_cluster.main.kube_config.0.client_key) -- cluster_ca_certificate = base64decode(data.azurerm_kubernetes_cluster.main.kube_config.0.cluster_ca_certificate) +- host = data.azurerm_kubernetes_cluster.main.kube_config[0].host +- username = data.azurerm_kubernetes_cluster.main.kube_config[0].username +- password = data.azurerm_kubernetes_cluster.main.kube_config[0].password +- client_certificate = base64decode(data.azurerm_kubernetes_cluster.main.kube_config[0].client_certificate) +- client_key = base64decode(data.azurerm_kubernetes_cluster.main.kube_config[0].client_key) +- cluster_ca_certificate = base64decode(data.azurerm_kubernetes_cluster.main.kube_config[0].cluster_ca_certificate) -} -``` - @@ -203,7 +203,7 @@ index d9f34055f6..df3d50e65f 100644 The `timeouts` block allows you to specify [timeouts](https://www.terraform.io/language/resources/syntax#operation-timeouts) for certain actions: diff --git a/website/docs/d/storage_account_blob_container_sas.html.markdown b/website/docs/d/storage_account_blob_container_sas.html.markdown -index fe351b7ba4..4e89e00f49 100644 +index dfd7e805a5..9d33203dbb 100644 --- a/website/docs/d/storage_account_blob_container_sas.html.markdown +++ b/website/docs/d/storage_account_blob_container_sas.html.markdown @@ -68,7 +68,7 @@ output "sas_url_query_string" { @@ -229,7 +229,7 @@ index a078984a7b..1dff00245c 100644 * `ip_addresses` - (Optional) IP address, or a range of IP addresses, from which to accept requests. When specifying a range, note that the range is inclusive. * `signed_version` - (Optional) Specifies the signed storage service version to use to authorize requests made with this account SAS. Defaults to `2017-07-29`. diff --git a/website/docs/guides/3.0-upgrade-guide.html.markdown b/website/docs/guides/3.0-upgrade-guide.html.markdown -index 4cc96679d7..510129c9ff 100644 +index a6e28af30a..d1804e780b 100644 --- a/website/docs/guides/3.0-upgrade-guide.html.markdown +++ b/website/docs/guides/3.0-upgrade-guide.html.markdown @@ -222,6 +222,7 @@ The `azurerm_app_service` data source has been superseded by the `azurerm_linux_ @@ -332,7 +332,7 @@ index ed8cf79b66..2eee7160e6 100644 sku_name = "Developer_1" } diff --git a/website/docs/r/api_management_certificate.html.markdown b/website/docs/r/api_management_certificate.html.markdown -index 8c9040b2e3..598c6a5b9b 100644 +index d14161fd00..18b0cbad0e 100644 --- a/website/docs/r/api_management_certificate.html.markdown +++ b/website/docs/r/api_management_certificate.html.markdown @@ -27,7 +27,7 @@ resource "azurerm_api_management" "example" { @@ -532,7 +532,7 @@ index 95dac2d863..22f89d3199 100644 } ``` diff --git a/website/docs/r/app_service.html.markdown b/website/docs/r/app_service.html.markdown -index bf42433205..f894d24ca5 100644 +index 25e53059a0..b2f7684482 100644 --- a/website/docs/r/app_service.html.markdown +++ b/website/docs/r/app_service.html.markdown @@ -17,7 +17,7 @@ Manages an App Service (within an App Service Plan). @@ -603,7 +603,7 @@ index 716b583a3f..944b7ec8aa 100644 ```hcl data "azuread_service_principal" "MicrosoftWebApp" { diff --git a/website/docs/r/app_service_slot.html.markdown b/website/docs/r/app_service_slot.html.markdown -index e41190f45b..bfe9bfeed6 100644 +index 4d2a801464..90f4a28915 100644 --- a/website/docs/r/app_service_slot.html.markdown +++ b/website/docs/r/app_service_slot.html.markdown @@ -235,7 +235,7 @@ A `site_config` block supports the following: @@ -997,7 +997,7 @@ index 8777a8e41d..43db0332c3 100644 --- diff --git a/website/docs/r/container_registry.html.markdown b/website/docs/r/container_registry.html.markdown -index 328b67fb87..2f2c859f4e 100644 +index aeaa4514d6..0c02bc4313 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 328b67fb87..2f2c859f4e 100644 ```hcl diff --git a/website/docs/r/cosmosdb_account.html.markdown b/website/docs/r/cosmosdb_account.html.markdown -index 3c30ec3a95..e37e719dd4 100644 +index 0970ddbe7e..51f934438d 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. @@ -1494,7 +1494,7 @@ index 9a4f9eaea8..e03e765433 100644 ## Example Usage diff --git a/website/docs/r/disk_encryption_set.html.markdown b/website/docs/r/disk_encryption_set.html.markdown -index 744e5e6c2a..fd9a42539c 100644 +index 66a285981b..fdc3624b3b 100644 --- a/website/docs/r/disk_encryption_set.html.markdown +++ b/website/docs/r/disk_encryption_set.html.markdown @@ -10,6 +10,8 @@ description: |- @@ -1537,7 +1537,7 @@ index 6b06ca628f..a2e544d3ef 100644 ```hcl diff --git a/website/docs/r/function_app.html.markdown b/website/docs/r/function_app.html.markdown -index 59a4f10b41..2cefa94c23 100644 +index 4fad99cea6..ec393da25c 100644 --- a/website/docs/r/function_app.html.markdown +++ b/website/docs/r/function_app.html.markdown @@ -237,7 +237,7 @@ The following arguments are supported: @@ -1755,7 +1755,7 @@ index 84fbd56f53..e46bf51e6c 100644 --> **NOTE:** Both Identifiers are unique to Terraform and don't map to an existing object within Azure. +-> **NOTE:** Both Identifiers are unique to this provider and don't map to an existing object within Azure. diff --git a/website/docs/r/key_vault_certificate.html.markdown b/website/docs/r/key_vault_certificate.html.markdown -index 7763cf626a..13d85b0d31 100644 +index 89198d584b..d2c3bee09a 100644 --- a/website/docs/r/key_vault_certificate.html.markdown +++ b/website/docs/r/key_vault_certificate.html.markdown @@ -11,8 +11,11 @@ description: |- @@ -1799,7 +1799,7 @@ index c6387f8e37..10ac1d0ad4 100644 ```hcl diff --git a/website/docs/r/kubernetes_cluster.html.markdown b/website/docs/r/kubernetes_cluster.html.markdown -index db93f3bc05..9e8b86ca29 100644 +index f7534ac9d8..6f6e8ab542 100644 --- a/website/docs/r/kubernetes_cluster.html.markdown +++ b/website/docs/r/kubernetes_cluster.html.markdown @@ -10,15 +10,9 @@ description: |- @@ -1846,7 +1846,7 @@ index db93f3bc05..9e8b86ca29 100644 -> **Note:** If `enable_auto_scaling` is set to `false` both `min_count` and `max_count` fields need to be set to `null` or omitted from the configuration. -@@ -701,8 +695,6 @@ A `network_profile` block supports the following: +@@ -715,8 +709,6 @@ A `network_profile` block supports the following: ~> **Note:** This range should not be used by any network element on or connected to this VNet. Service address CIDR must be smaller than /12. `docker_bridge_cidr`, `dns_service_ip` and `service_cidr` should all be empty or all should be set. @@ -1855,7 +1855,7 @@ index db93f3bc05..9e8b86ca29 100644 * `ip_versions` - (Optional) Specifies a list of IP versions the Kubernetes Cluster will use to assign IP addresses to its nodes and pods. Possible values are `IPv4` and/or `IPv6`. `IPv4` must always be specified. Changing this forces a new resource to be created. ->**Note:** To configure dual-stack networking `ip_versions` should be set to `["IPv4", "IPv6"]`. -@@ -1035,19 +1027,6 @@ The `kube_admin_config` and `kube_config` blocks export the following: +@@ -1061,19 +1053,6 @@ The `kube_admin_config` and `kube_config` blocks export the following: * `password` - A password or token used to authenticate to the Kubernetes cluster. @@ -1863,12 +1863,12 @@ index db93f3bc05..9e8b86ca29 100644 - -```hcl -provider "kubernetes" { -- host = azurerm_kubernetes_cluster.main.kube_config.0.host -- username = azurerm_kubernetes_cluster.main.kube_config.0.username -- password = azurerm_kubernetes_cluster.main.kube_config.0.password -- client_certificate = base64decode(azurerm_kubernetes_cluster.main.kube_config.0.client_certificate) -- client_key = base64decode(azurerm_kubernetes_cluster.main.kube_config.0.client_key) -- cluster_ca_certificate = base64decode(azurerm_kubernetes_cluster.main.kube_config.0.cluster_ca_certificate) +- host = azurerm_kubernetes_cluster.main.kube_config[0].host +- username = azurerm_kubernetes_cluster.main.kube_config[0].username +- password = azurerm_kubernetes_cluster.main.kube_config[0].password +- client_certificate = base64decode(azurerm_kubernetes_cluster.main.kube_config[0].client_certificate) +- client_key = base64decode(azurerm_kubernetes_cluster.main.kube_config[0].client_key) +- cluster_ca_certificate = base64decode(azurerm_kubernetes_cluster.main.kube_config[0].cluster_ca_certificate) -} -``` - @@ -1876,7 +1876,7 @@ index db93f3bc05..9e8b86ca29 100644 The `ingress_application_gateway` block exports the following: diff --git a/website/docs/r/kubernetes_cluster_node_pool.html.markdown b/website/docs/r/kubernetes_cluster_node_pool.html.markdown -index 8089d0dac8..e5dcd3b76a 100644 +index 0332c256cc..15836121d0 100644 --- a/website/docs/r/kubernetes_cluster_node_pool.html.markdown +++ b/website/docs/r/kubernetes_cluster_node_pool.html.markdown @@ -10,13 +10,11 @@ description: |- @@ -1926,7 +1926,7 @@ index 656e81119f..b9a4cae44f 100644 scope = "/subscriptions/00000000-0000-0000-0000-000000000000" diff --git a/website/docs/r/linux_virtual_machine.html.markdown b/website/docs/r/linux_virtual_machine.html.markdown -index c6e638189d..54fcbc24a1 100644 +index 6f49ac6c7c..bfddf6471c 100644 --- a/website/docs/r/linux_virtual_machine.html.markdown +++ b/website/docs/r/linux_virtual_machine.html.markdown @@ -12,9 +12,9 @@ Manages a Linux Virtual Machine. @@ -2145,7 +2145,7 @@ index 03f2f27deb..f48028f10c 100644 --> **NOTE:** This is a Terraform specific Resource ID which uses the format `{resourceId}|{diagnosticSettingName}` +-> **NOTE:** This is an ID specific to this resource provider which uses the format `{resourceId}|{diagnosticSettingName}` diff --git a/website/docs/r/mssql_server.html.markdown b/website/docs/r/mssql_server.html.markdown -index b38cae631a..a552d77504 100644 +index b5bb0103f7..323bde9cfc 100644 --- a/website/docs/r/mssql_server.html.markdown +++ b/website/docs/r/mssql_server.html.markdown @@ -11,9 +11,6 @@ description: |- @@ -2369,7 +2369,7 @@ index 06e3f57418..0ac142e857 100644 * `key_id` - (Required) The Apple Push Notifications Service (APNS) Key. diff --git a/website/docs/r/private_endpoint.html.markdown b/website/docs/r/private_endpoint.html.markdown -index 1762024cb4..bb0647ffff 100644 +index 047927201e..8784371603 100644 --- a/website/docs/r/private_endpoint.html.markdown +++ b/website/docs/r/private_endpoint.html.markdown @@ -340,7 +340,7 @@ A `record_sets` block exports: @@ -2395,7 +2395,7 @@ index 51e7e1da87..a0da5028ed 100644 * `fqdn` - Fully qualified domain name of the A DNS record associated with the public IP. `domain_name_label` must be specified to get the `fqdn`. This is the concatenation of the `domain_name_label` and the regionalized DNS zone diff --git a/website/docs/r/recovery_services_vault.html.markdown b/website/docs/r/recovery_services_vault.html.markdown -index 1172703ca4..39ddc88e77 100644 +index c82917be5a..131701e1d9 100644 --- a/website/docs/r/recovery_services_vault.html.markdown +++ b/website/docs/r/recovery_services_vault.html.markdown @@ -51,6 +51,7 @@ The following arguments are supported: @@ -2407,7 +2407,7 @@ index 1172703ca4..39ddc88e77 100644 * `cross_region_restore_enabled` - (Optional) Is cross region restore enabled for this Vault? Only can be `true`, when `storage_mode_type` is `GeoRedundant`. Defaults to `false`. diff --git a/website/docs/r/redis_cache.html.markdown b/website/docs/r/redis_cache.html.markdown -index 858fed9239..88800f0aba 100644 +index 348ef2cbfa..c7bfd1b5b2 100644 --- a/website/docs/r/redis_cache.html.markdown +++ b/website/docs/r/redis_cache.html.markdown @@ -15,7 +15,7 @@ Manages a Redis Cache. @@ -2419,7 +2419,7 @@ index 858fed9239..88800f0aba 100644 ```hcl resource "azurerm_resource_group" "example" { -@@ -156,7 +156,7 @@ redis_configuration { +@@ -158,7 +158,7 @@ redis_configuration { * `rdb_backup_max_snapshot_count` - (Optional) The maximum number of snapshots to create as a backup. Only supported for Premium SKUs. * `rdb_storage_connection_string` - (Optional) The Connection String to the Storage Account. Only supported for Premium SKUs. In the format: `DefaultEndpointsProtocol=https;BlobEndpoint=${azurerm_storage_account.example.primary_blob_endpoint};AccountName=${azurerm_storage_account.example.name};AccountKey=${azurerm_storage_account.example.primary_access_key}`. @@ -2545,7 +2545,7 @@ index 2536411881..dd2916c58c 100644 -> **NOTE** Since `route` can be configured both inline and via the separate `azurerm_route` resource, we have to explicitly set it to empty slice (`[]`) to remove it. diff --git a/website/docs/r/servicebus_namespace.html.markdown b/website/docs/r/servicebus_namespace.html.markdown -index 045d6698fa..2ad58ddbeb 100644 +index 434956c562..e1bc546188 100644 --- a/website/docs/r/servicebus_namespace.html.markdown +++ b/website/docs/r/servicebus_namespace.html.markdown @@ -18,7 +18,7 @@ provider "azurerm" { @@ -2672,7 +2672,7 @@ index 6d9c021a59..194133d93b 100644 } diff --git a/website/docs/r/servicebus_topic.html.markdown b/website/docs/r/servicebus_topic.html.markdown -index db6d8b17af..16eec408a6 100644 +index bba0acba5e..28e07f7e10 100644 --- a/website/docs/r/servicebus_topic.html.markdown +++ b/website/docs/r/servicebus_topic.html.markdown @@ -27,7 +27,7 @@ resource "azurerm_servicebus_namespace" "example" { @@ -2739,7 +2739,7 @@ index 840b9c5189..bb0a73467b 100644 * `partner_servers` - (Required) A list of `partner_servers` blocks as documented below. diff --git a/website/docs/r/sql_server.html.markdown b/website/docs/r/sql_server.html.markdown -index f36a05a175..a6ce114850 100644 +index 8f57c91d06..e08781fa67 100644 --- a/website/docs/r/sql_server.html.markdown +++ b/website/docs/r/sql_server.html.markdown @@ -11,10 +11,6 @@ description: |- @@ -2754,10 +2754,10 @@ index f36a05a175..a6ce114850 100644 ```hcl diff --git a/website/docs/r/storage_blob.html.markdown b/website/docs/r/storage_blob.html.markdown -index a5e627762b..22cc099131 100644 +index 04ca0f76e5..f0d311a601 100644 --- a/website/docs/r/storage_blob.html.markdown +++ b/website/docs/r/storage_blob.html.markdown -@@ -66,8 +66,6 @@ The following arguments are supported: +@@ -65,8 +65,6 @@ The following arguments are supported: * `content_md5` - (Optional) The MD5 sum of the blob contents. Cannot be defined if `source_uri` is defined, or if blob type is Append or Page. Changing this forces a new resource to be created. @@ -2917,7 +2917,7 @@ index a77a466231..a4c7275acf 100644 --> **NOTE:** This ID is specific to Terraform - and is of the format `{virtualDesktopWorkspaceID}|{virtualDesktopApplicationGroupID}`. +-> **NOTE:** This ID is specific to this provider - and is of the format `{virtualDesktopWorkspaceID}|{virtualDesktopApplicationGroupID}`. diff --git a/website/docs/r/virtual_machine.html.markdown b/website/docs/r/virtual_machine.html.markdown -index cbe0c221ae..9a2f1fc7f4 100644 +index 20ddbcdb28..79bf235222 100644 --- a/website/docs/r/virtual_machine.html.markdown +++ b/website/docs/r/virtual_machine.html.markdown @@ -12,13 +12,13 @@ Manages a Virtual Machine. @@ -3042,7 +3042,7 @@ index 3efa150d43..2029b1f009 100644 ## Example Usage diff --git a/website/docs/r/windows_virtual_machine.html.markdown b/website/docs/r/windows_virtual_machine.html.markdown -index d7465ead24..e8c1cde1e8 100644 +index 1aa2daca46..5782ed68c1 100644 --- a/website/docs/r/windows_virtual_machine.html.markdown +++ b/website/docs/r/windows_virtual_machine.html.markdown @@ -12,9 +12,9 @@ Manages a Windows Virtual Machine. diff --git a/provider/cmd/pulumi-resource-azure/bridge-metadata.json b/provider/cmd/pulumi-resource-azure/bridge-metadata.json index facbb36fee..670a39c466 100644 --- a/provider/cmd/pulumi-resource-azure/bridge-metadata.json +++ b/provider/cmd/pulumi-resource-azure/bridge-metadata.json @@ -6095,6 +6095,18 @@ } } }, + "azurerm_dev_center_catalog": { + "current": "azure:devcenter/catalog:Catalog", + "majorVersion": 5, + "fields": { + "catalog_adogit": { + "maxItemsOne": true + }, + "catalog_github": { + "maxItemsOne": true + } + } + }, "azurerm_dev_center_gallery": { "current": "azure:devcenter/gallery:Gallery", "majorVersion": 5 @@ -10125,6 +10137,35 @@ "current": "azure:containerservice/fleetMember:FleetMember", "majorVersion": 5 }, + "azurerm_kubernetes_fleet_update_run": { + "current": "azure:containerservice/fleetUpdateRun:FleetUpdateRun", + "majorVersion": 5, + "fields": { + "managed_cluster_update": { + "maxItemsOne": true, + "elem": { + "fields": { + "node_image_selection": { + "maxItemsOne": true + }, + "upgrade": { + "maxItemsOne": true + } + } + } + }, + "stage": { + "maxItemsOne": false, + "elem": { + "fields": { + "group": { + "maxItemsOne": false + } + } + } + } + } + }, "azurerm_kubernetes_fleet_update_strategy": { "current": "azure:containerservice/fleetUpdateStrategy:FleetUpdateStrategy", "majorVersion": 5, @@ -11175,6 +11216,9 @@ } } }, + "os_image_notification": { + "maxItemsOne": true + }, "plan": { "maxItemsOne": true }, @@ -12660,6 +12704,9 @@ } } } + }, + "managed_network": { + "maxItemsOne": true } } }, @@ -19104,6 +19151,9 @@ "api_metadata": { "maxItemsOne": true }, + "application_performance_monitoring_ids": { + "maxItemsOne": false + }, "application_performance_monitoring_types": { "maxItemsOne": false }, @@ -20422,6 +20472,10 @@ } } }, + "azurerm_system_center_virtual_machine_manager_server": { + "current": "azure:systemcenter/virtualMachineManagerServer:VirtualMachineManagerServer", + "majorVersion": 5 + }, "azurerm_template_deployment": { "current": "azure:core/templateDeployment:TemplateDeployment", "majorVersion": 5 @@ -22320,6 +22374,9 @@ } } }, + "os_image_notification": { + "maxItemsOne": true + }, "plan": { "maxItemsOne": true }, @@ -25218,6 +25275,10 @@ } } }, + "azurerm_express_route_circuit_peering": { + "current": "azure:expressroute/getCircuitPeering:getCircuitPeering", + "majorVersion": 5 + }, "azurerm_extended_locations": { "current": "azure:core/getExtendedLocations:getExtendedLocations", "majorVersion": 5, @@ -29053,6 +29114,18 @@ "current": "azure:storage/getSyncGroup:getSyncGroup", "majorVersion": 5 }, + "azurerm_storage_table_entities": { + "current": "azure:storage/getTableEntities:getTableEntities", + "majorVersion": 5, + "fields": { + "items": { + "maxItemsOne": false + }, + "select": { + "maxItemsOne": false + } + } + }, "azurerm_storage_table_entity": { "current": "azure:storage/getTableEntity:getTableEntity", "majorVersion": 5 diff --git a/provider/cmd/pulumi-resource-azure/schema.json b/provider/cmd/pulumi-resource-azure/schema.json index 4911094b5d..577a49aa1e 100644 --- a/provider/cmd/pulumi-resource-azure/schema.json +++ b/provider/cmd/pulumi-resource-azure/schema.json @@ -73,6 +73,7 @@ "elasticsan": "ElasticSan", "eventgrid": "EventGrid", "eventhub": "EventHub", + "expressroute": "ExpressRoute", "fluidrelay": "FluidRelay", "frontdoor": "FrontDoor", "graph": "Graph", @@ -144,6 +145,7 @@ "storage": "Storage", "streamanalytics": "StreamAnalytics", "synapse": "Synapse", + "systemcenter": "SystemCenter", "trafficmanager": "TrafficManager", "videoanalyzer": "VideoAnalyzer", "voice": "Voice", @@ -4517,7 +4519,7 @@ "properties": { "basicAuth": { "$ref": "#/types/azure:appplatform/SpringCloudCustomizedAcceleratorGitRepositoryBasicAuth:SpringCloudCustomizedAcceleratorGitRepositoryBasicAuth", - "description": "A `basic_auth` block as defined below. Conflicts with `git_repository.0.ssh_auth`. Changing this forces a new Spring Cloud Customized Accelerator to be created.\n", + "description": "A `basic_auth` block as defined below. Conflicts with `git_repository[0].ssh_auth`. Changing this forces a new Spring Cloud Customized Accelerator to be created.\n", "willReplaceOnChanges": true }, "branch": { @@ -4546,7 +4548,7 @@ }, "sshAuth": { "$ref": "#/types/azure:appplatform/SpringCloudCustomizedAcceleratorGitRepositorySshAuth:SpringCloudCustomizedAcceleratorGitRepositorySshAuth", - "description": "A `ssh_auth` block as defined below. Conflicts with `git_repository.0.basic_auth`. Changing this forces a new Spring Cloud Customized Accelerator to be created.\n", + "description": "A `ssh_auth` block as defined below. Conflicts with `git_repository[0].basic_auth`. Changing this forces a new Spring Cloud Customized Accelerator to be created.\n", "willReplaceOnChanges": true }, "url": { @@ -11576,7 +11578,7 @@ }, "rubyVersion": { "type": "string", - "description": "Te version of Ruby to run. Possible values include `2.6` and `2.7`.\n" + "description": "The version of Ruby to run. Possible values include `2.6` and `2.7`.\n" } }, "type": "object", @@ -13093,7 +13095,7 @@ }, "rubyVersion": { "type": "string", - "description": "Te version of Ruby to run. Possible values include `2.6` and `2.7`.\n" + "description": "The version of Ruby to run. Possible values include `2.6` and `2.7`.\n" } }, "type": "object", @@ -31645,7 +31647,7 @@ }, "protectedSettings": { "type": "string", - "description": "The extension can contain either `protected_settings` or `provision_after_extensions` or no protected settings at all.\n", + "description": "JSON formatted protected settings for the extension, the value should be encoded with `jsonencode` function. The extension can contain either `protected_settings` or `provision_after_extensions` or no protected settings at all.\n", "secret": true }, "provisionAfterExtensions": { @@ -31661,7 +31663,7 @@ }, "settingsJson": { "type": "string", - "description": "JSON formatted public settings for the extension.\n" + "description": "JSON formatted public settings for the extension, the value should be encoded with `jsonencode` function.\n" }, "type": { "type": "string", @@ -36447,6 +36449,10 @@ }, "azure:compute/LinuxVirtualMachineGalleryApplication:LinuxVirtualMachineGalleryApplication": { "properties": { + "automaticUpgradeEnabled": { + "type": "boolean", + "description": "Specifies whether the version will be automatically updated for the VM when a new Gallery Application version is available in PIR/SIG. Defaults to `false`.\n" + }, "configurationBlobUri": { "type": "string", "description": "Specifies the URI to an Azure Blob that will replace the default configuration for the package if provided.\n" @@ -36459,6 +36465,10 @@ "type": "string", "description": "Specifies a passthrough value for more generic context. This field can be any valid `string` value.\n" }, + "treatFailureAsDeploymentFailureEnabled": { + "type": "boolean", + "description": "Specifies whether any failure for any operation in the VmApplication will fail the deployment of the VM. Defaults to `false`.\n" + }, "versionId": { "type": "string", "description": "Specifies the Gallery Application Version resource ID.\n" @@ -36583,6 +36593,15 @@ "option" ] }, + "azure:compute/LinuxVirtualMachineOsImageNotification:LinuxVirtualMachineOsImageNotification": { + "properties": { + "timeout": { + "type": "string", + "description": "Length of time a notification to be sent to the VM on the instance metadata server till the VM gets OS upgraded. The only possible value is `PT15M`. Defaults to `PT15M`.\n" + } + }, + "type": "object" + }, "azure:compute/LinuxVirtualMachinePlan:LinuxVirtualMachinePlan": { "properties": { "name": { @@ -37485,11 +37504,11 @@ }, "diskSizeGb": { "type": "integer", - "description": "The size of the Data Disk which should be created.\n" + "description": "The size of the Data Disk which should be created. Required if `create_option` is specified as `Empty`.\n" }, "lun": { "type": "integer", - "description": "The Logical Unit Number of the Data Disk, which must be unique within the Virtual Machine.\n" + "description": "The Logical Unit Number of the Data Disk, which must be unique within the Virtual Machine. Required if `create_option` is specified as `Empty`.\n" }, "storageAccountType": { "type": "string", @@ -37511,8 +37530,6 @@ "type": "object", "required": [ "caching", - "diskSizeGb", - "lun", "storageAccountType" ], "language": { @@ -39762,6 +39779,10 @@ }, "azure:compute/WindowsVirtualMachineGalleryApplication:WindowsVirtualMachineGalleryApplication": { "properties": { + "automaticUpgradeEnabled": { + "type": "boolean", + "description": "Specifies whether the version will be automatically updated for the VM when a new Gallery Application version is available in PIR/SIG. Defaults to `false`.\n" + }, "configurationBlobUri": { "type": "string", "description": "Specifies the URI to an Azure Blob that will replace the default configuration for the package if provided.\n" @@ -39774,6 +39795,10 @@ "type": "string", "description": "Specifies a passthrough value for more generic context. This field can be any valid `string` value.\n" }, + "treatFailureAsDeploymentFailureEnabled": { + "type": "boolean", + "description": "Specifies whether any failure for any operation in the VmApplication will fail the deployment of the VM. Defaults to `false`.\n" + }, "versionId": { "type": "string", "description": "Specifies the Gallery Application Version resource ID.\n" @@ -39898,6 +39923,15 @@ "option" ] }, + "azure:compute/WindowsVirtualMachineOsImageNotification:WindowsVirtualMachineOsImageNotification": { + "properties": { + "timeout": { + "type": "string", + "description": "Length of time a notification to be sent to the VM on the instance metadata server till the VM gets OS upgraded. The only possible value is `PT15M`. Defaults to `PT15M`.\n" + } + }, + "type": "object" + }, "azure:compute/WindowsVirtualMachinePlan:WindowsVirtualMachinePlan": { "properties": { "name": { @@ -42166,6 +42200,9 @@ "forceDelete": { "type": "boolean" }, + "reimageOnManualUpgrade": { + "type": "boolean" + }, "rollInstancesWhenRequired": { "type": "boolean" }, @@ -45446,6 +45483,86 @@ "name" ] }, + "azure:containerservice/FleetUpdateRunManagedClusterUpdate:FleetUpdateRunManagedClusterUpdate": { + "properties": { + "nodeImageSelection": { + "$ref": "#/types/azure:containerservice/FleetUpdateRunManagedClusterUpdateNodeImageSelection:FleetUpdateRunManagedClusterUpdateNodeImageSelection", + "description": "A `node_image_selection` block as defined below.\n" + }, + "upgrade": { + "$ref": "#/types/azure:containerservice/FleetUpdateRunManagedClusterUpdateUpgrade:FleetUpdateRunManagedClusterUpdateUpgrade", + "description": "A `upgrade` block as defined below.\n" + } + }, + "type": "object", + "required": [ + "upgrade" + ] + }, + "azure:containerservice/FleetUpdateRunManagedClusterUpdateNodeImageSelection:FleetUpdateRunManagedClusterUpdateNodeImageSelection": { + "properties": { + "type": { + "type": "string", + "description": "Specifies the node image upgrade type. Possible values are `Latest` and `Consistent`.\n" + } + }, + "type": "object", + "required": [ + "type" + ] + }, + "azure:containerservice/FleetUpdateRunManagedClusterUpdateUpgrade:FleetUpdateRunManagedClusterUpdateUpgrade": { + "properties": { + "kubernetesVersion": { + "type": "string", + "description": "Specifies the Kubernetes version to upgrade the member clusters to. This is required if `type` is set to `Full`.\n" + }, + "type": { + "type": "string", + "description": "Specifies the type of upgrade to perform. Possible values are `Full` and `NodeImageOnly`.\n" + } + }, + "type": "object", + "required": [ + "type" + ] + }, + "azure:containerservice/FleetUpdateRunStage:FleetUpdateRunStage": { + "properties": { + "afterStageWaitInSeconds": { + "type": "integer", + "description": "Specifies the time in seconds to wait at the end of this stage before starting the next one.\n" + }, + "groups": { + "type": "array", + "items": { + "$ref": "#/types/azure:containerservice/FleetUpdateRunStageGroup:FleetUpdateRunStageGroup" + }, + "description": "One or more `group` blocks as defined below.\n" + }, + "name": { + "type": "string", + "description": "The name which should be used for this stage.\n" + } + }, + "type": "object", + "required": [ + "groups", + "name" + ] + }, + "azure:containerservice/FleetUpdateRunStageGroup:FleetUpdateRunStageGroup": { + "properties": { + "name": { + "type": "string", + "description": "The name which should be used for this group.\n" + } + }, + "type": "object", + "required": [ + "name" + ] + }, "azure:containerservice/FleetUpdateStrategyStage:FleetUpdateStrategyStage": { "properties": { "afterStageWaitInSeconds": { @@ -46781,7 +46898,7 @@ }, "osSku": { "type": "string", - "description": "Specifies the OS SKU used by the agent pool. Possible values are `AzureLinux`, `CBLMariner`, `Mariner`, `Ubuntu`, `Windows2019` and `Windows2022`. If not specified, the default is `Ubuntu` if OSType=Linux or `Windows2019` if OSType=Windows. And the default Windows OSSKU will be changed to `Windows2022` after Windows2019 is deprecated. `temporary_name_for_rotation` must be specified when attempting a change.\n" + "description": "Specifies the OS SKU used by the agent pool. Possible values are `AzureLinux`, `Ubuntu`, `Windows2019` and `Windows2022`. If not specified, the default is `Ubuntu` if OSType=Linux or `Windows2019` if OSType=Windows. And the default Windows OSSKU will be changed to `Windows2022` after Windows2019 is deprecated. `temporary_name_for_rotation` must be specified when attempting a change.\n" }, "podSubnetId": { "type": "string", @@ -47303,7 +47420,7 @@ "properties": { "keyVaultKeyId": { "type": "string", - "description": "Identifier of Azure Key Vault key. See [key identifier format](https://learn.microsoft.com/en-us/azure/key-vault/general/about-keys-secrets-certificates#vault-name-and-object-name) for more details. When Azure Key Vault key management service is enabled, this field is required and must be a valid key identifier. When `enabled` is `false`, leave the field empty.\n" + "description": "Identifier of Azure Key Vault key. See [key identifier format](https://learn.microsoft.com/en-us/azure/key-vault/general/about-keys-secrets-certificates#vault-name-and-object-name) for more details.\n" }, "keyVaultNetworkAccess": { "type": "string", @@ -47822,8 +47939,7 @@ }, "outboundType": { "type": "string", - "description": "The outbound (egress) routing method which should be used for this Kubernetes Cluster. Possible values are `loadBalancer`, `userDefinedRouting`, `managedNATGateway` and `userAssignedNATGateway`. Defaults to `loadBalancer`. Changing this forces a new resource to be created.\n", - "willReplaceOnChanges": true + "description": "The outbound (egress) routing method which should be used for this Kubernetes Cluster. Possible values are `loadBalancer`, `userDefinedRouting`, `managedNATGateway` and `userAssignedNATGateway`. Defaults to `loadBalancer`. More information on supported migration paths for `outbound_type` can be found in [this documentation](https://learn.microsoft.com/azure/aks/egress-outboundtype#updating-outboundtype-after-cluster-creation).\n" }, "podCidr": { "type": "string", @@ -49075,7 +49191,7 @@ "properties": { "expiry": { "type": "string", - "description": "The expiration date of the password in RFC3339 format. Changing this forces a new resource to be created.\n", + "description": "The expiration date of the password in RFC3339 format. If not specified, the password never expires. Changing this forces a new resource to be created.\n", "willReplaceOnChanges": true }, "value": { @@ -49097,7 +49213,7 @@ "properties": { "expiry": { "type": "string", - "description": "The expiration date of the password in RFC3339 format. Changing this forces a new resource to be created.\n", + "description": "The expiration date of the password in RFC3339 format. If not specified, the password never expires. Changing this forces a new resource to be created.\n", "willReplaceOnChanges": true }, "value": { @@ -51035,6 +51151,10 @@ "type": "string", "description": "The storage redundancy is used to indicate the type of backup residency. Possible values are `Geo`, `Local` and `Zone`. Defaults to `Geo`.\n\n\u003e **Note:** You can only configure `interval_in_minutes`, `retention_in_hours` and `storage_redundancy` when the `type` field is set to `Periodic`.\n" }, + "tier": { + "type": "string", + "description": "The continuous backup tier. Possible values are `Continuous7Days` and `Continuous30Days`.\n" + }, "type": { "type": "string", "description": "The type of the `backup`. Possible values are `Continuous` and `Periodic`. \n\n\u003e **Note:** Migration of `Periodic` to `Continuous` is one-way, changing `Continuous` to `Periodic` forces a new resource to be created.\n" @@ -51050,6 +51170,7 @@ "intervalInMinutes", "retentionInHours", "storageRedundancy", + "tier", "type" ] } @@ -56262,6 +56383,52 @@ } } }, + "azure:devcenter/CatalogCatalogAdogit:CatalogCatalogAdogit": { + "properties": { + "branch": { + "type": "string" + }, + "keyVaultKeyUrl": { + "type": "string" + }, + "path": { + "type": "string" + }, + "uri": { + "type": "string" + } + }, + "type": "object", + "required": [ + "branch", + "keyVaultKeyUrl", + "path", + "uri" + ] + }, + "azure:devcenter/CatalogCatalogGithub:CatalogCatalogGithub": { + "properties": { + "branch": { + "type": "string" + }, + "keyVaultKeyUrl": { + "type": "string" + }, + "path": { + "type": "string" + }, + "uri": { + "type": "string" + } + }, + "type": "object", + "required": [ + "branch", + "keyVaultKeyUrl", + "path", + "uri" + ] + }, "azure:devcenter/DevCenterIdentity:DevCenterIdentity": { "properties": { "identityIds": { @@ -66268,6 +66435,9 @@ "forceDelete": { "type": "boolean" }, + "reimageOnManualUpgrade": { + "type": "boolean" + }, "rollInstancesWhenRequired": { "type": "boolean" }, @@ -70665,27 +70835,27 @@ "properties": { "cert": { "type": "string", - "description": "The certificate for the SSL configuration.Conflicts with `ssl.0.leaf_domain_label`,`ssl.0.overwrite_existing_domain`. Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `\"\"`.\n", + "description": "The certificate for the SSL configuration.Conflicts with `ssl[0].leaf_domain_label`,`ssl[0].overwrite_existing_domain`. Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `\"\"`.\n", "willReplaceOnChanges": true }, "cname": { "type": "string", - "description": "The cname of the SSL configuration.Conflicts with `ssl.0.leaf_domain_label`,`ssl.0.overwrite_existing_domain`. Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `\"\"`.\n", + "description": "The cname of the SSL configuration.Conflicts with `ssl[0].leaf_domain_label`,`ssl[0].overwrite_existing_domain`. Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `\"\"`.\n", "willReplaceOnChanges": true }, "key": { "type": "string", - "description": "The key content for the SSL configuration.Conflicts with `ssl.0.leaf_domain_label`,`ssl.0.overwrite_existing_domain`. Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `\"\"`.\n", + "description": "The key content for the SSL configuration.Conflicts with `ssl[0].leaf_domain_label`,`ssl[0].overwrite_existing_domain`. Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `\"\"`.\n", "willReplaceOnChanges": true }, "leafDomainLabel": { "type": "string", - "description": "The leaf domain label for the SSL configuration. Conflicts with `ssl.0.cert`,`ssl.0.key`,`ssl.0.cname`. Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `\"\"`.\n", + "description": "The leaf domain label for the SSL configuration. Conflicts with `ssl[0].cert`,`ssl[0].key`,`ssl[0].cname`. Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `\"\"`.\n", "willReplaceOnChanges": true }, "overwriteExistingDomain": { "type": "boolean", - "description": "Whether or not to overwrite existing leaf domain. Conflicts with `ssl.0.cert`,`ssl.0.key`,`ssl.0.cname` Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `\"\"`.\n", + "description": "Whether or not to overwrite existing leaf domain. Conflicts with `ssl[0].cert`,`ssl[0].key`,`ssl[0].cname` Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `\"\"`.\n", "willReplaceOnChanges": true } }, @@ -70803,6 +70973,22 @@ } } }, + "azure:machinelearning/WorkspaceManagedNetwork:WorkspaceManagedNetwork": { + "properties": { + "isolationMode": { + "type": "string", + "description": "The isolation mode of the Machine Learning Workspace. Possible values are `Disabled`, `AllowOnlyApprovedOutbound`, and `AllowInternetOutbound`\n" + } + }, + "type": "object", + "language": { + "nodejs": { + "requiredOutputs": [ + "isolationMode" + ] + } + } + }, "azure:machinelearning/getWorkspaceIdentity:getWorkspaceIdentity": { "properties": { "identityIds": { @@ -80445,7 +80631,7 @@ "properties": { "azureadAuthenticationOnly": { "type": "boolean", - "description": "Specifies whether only AD Users and administrators (e.g. `azuread_administrator.0.login_username`) can be used to login, or also local database users (e.g. `administrator_login`). When `true`, the `administrator_login` and `administrator_login_password` properties can be omitted.\n" + "description": "Specifies whether only AD Users and administrators (e.g. `azuread_administrator[0].login_username`) can be used to login, or also local database users (e.g. `administrator_login`). When `true`, the `administrator_login` and `administrator_login_password` properties can be omitted.\n" }, "loginUsername": { "type": "string", @@ -81179,7 +81365,7 @@ "properties": { "mode": { "type": "string", - "description": "The high availability mode for the MySQL Flexible Server. Possibles values are `SameZone` and `ZoneRedundant`.\n\n\u003e **NOTE:** `storage.0.auto_grow_enabled` must be enabled when `high_availability` is enabled. To change the `high_availability` for a MySQL Flexible Server created with `high_availability` disabled during creation, the resource has to be recreated.\n" + "description": "The high availability mode for the MySQL Flexible Server. Possibles values are `SameZone` and `ZoneRedundant`.\n\n\u003e **NOTE:** `storage[0].auto_grow_enabled` must be enabled when `high_availability` is enabled. To change the `high_availability` for a MySQL Flexible Server created with `high_availability` disabled during creation, the resource has to be recreated.\n" }, "standbyAvailabilityZone": { "type": "string" @@ -83142,7 +83328,7 @@ }, "priority": { "type": "integer", - "description": "Rule evaluation order can be dictated by specifying an integer value from `1` to `20000` with `1` being the highest priority and `20000` being the lowest priority.\n\n\u003e **NOTE:** `priority` is required when `sku.0.tier` is set to `*_v2`.\n" + "description": "Rule evaluation order can be dictated by specifying an integer value from `1` to `20000` with `1` being the highest priority and `20000` being the lowest priority.\n\n\u003e **NOTE:** `priority` is required when `sku[0].tier` is set to `*_v2`.\n" }, "redirectConfigurationId": { "type": "string", @@ -86613,7 +86799,7 @@ }, "privateIpAddressAllocation": { "type": "string", - "description": "Defines how the private IP address of the gateways virtual interface is assigned. Valid options are `Static` or `Dynamic`. Defaults to `Dynamic`.\n" + "description": "Defines how the private IP address of the gateways virtual interface is assigned. The only valid value is `Dynamic` for Virtual Network Gateway (`Static` is not supported by the service yet). Defaults to `Dynamic`.\n" }, "publicIpAddressId": { "type": "string", @@ -91737,11 +91923,11 @@ "items": { "type": "string" }, - "description": "Specifies a list of DNS servers to use. Conflicts with `dns_settings.0.use_azure_dns`.\n" + "description": "Specifies a list of DNS servers to use. Conflicts with `dns_settings[0].use_azure_dns`.\n" }, "useAzureDns": { "type": "boolean", - "description": "Should the Firewall use Azure Supplied DNS servers. Conflicts with `dns_settings.0.dns_servers`. Defaults to `false`.\n" + "description": "Should the Firewall use Azure Supplied DNS servers. Conflicts with `dns_settings[0].dns_servers`. Defaults to `false`.\n" } }, "type": "object", @@ -91912,11 +92098,11 @@ "items": { "type": "string" }, - "description": "Specifies a list of DNS servers to use. Conflicts with `dns_settings.0.use_azure_dns`.\n" + "description": "Specifies a list of DNS servers to use. Conflicts with `dns_settings[0].use_azure_dns`.\n" }, "useAzureDns": { "type": "boolean", - "description": "Should the Firewall use Azure Supplied DNS servers. Conflicts with `dns_settings.0.dns_servers`. Defaults to `false`.\n" + "description": "Should the Firewall use Azure Supplied DNS servers. Conflicts with `dns_settings[0].dns_servers`. Defaults to `false`.\n" } }, "type": "object", @@ -92087,17 +92273,17 @@ "properties": { "durationDays": { "type": "integer", - "description": "The duration of the role assignment in days. Conflicts with `schedule.0.expiration.0.duration_hours`,`schedule.0.expiration.0.end_date_time` Changing this forces a new Pim Active Role Assignment to be created.\n", + "description": "The duration of the role assignment in days. Conflicts with `schedule[0].expiration[0].duration_hours`,`schedule[0].expiration[0].end_date_time` Changing this forces a new Pim Active Role Assignment to be created.\n", "willReplaceOnChanges": true }, "durationHours": { "type": "integer", - "description": "The duration of the role assignment in hours. Conflicts with `schedule.0.expiration.0.duration_days`,`schedule.0.expiration.0.end_date_time` Changing this forces a new Pim Active Role Assignment to be created.\n", + "description": "The duration of the role assignment in hours. Conflicts with `schedule[0].expiration[0].duration_days`,`schedule[0].expiration[0].end_date_time` Changing this forces a new Pim Active Role Assignment to be created.\n", "willReplaceOnChanges": true }, "endDateTime": { "type": "string", - "description": "The end date time of the role assignment. Conflicts with `schedule.0.expiration.0.duration_days`,`schedule.0.expiration.0.duration_hours` Changing this forces a new Pim Active Role Assignment to be created.\n", + "description": "The end date time of the role assignment. Conflicts with `schedule[0].expiration[0].duration_days`,`schedule[0].expiration[0].duration_hours` Changing this forces a new Pim Active Role Assignment to be created.\n", "willReplaceOnChanges": true } }, @@ -92150,17 +92336,17 @@ "properties": { "durationDays": { "type": "integer", - "description": "The duration of the role assignment in days. Conflicts with `schedule.0.expiration.0.duration_hours`,`schedule.0.expiration.0.end_date_time` Changing this forces a new Pim Eligible Role Assignment to be created.\n", + "description": "The duration of the role assignment in days. Conflicts with `schedule[0].expiration[0].duration_hours`,`schedule[0].expiration[0].end_date_time` Changing this forces a new Pim Eligible Role Assignment to be created.\n", "willReplaceOnChanges": true }, "durationHours": { "type": "integer", - "description": "The duration of the role assignment in hours. Conflicts with `schedule.0.expiration.0.duration_days`,`schedule.0.expiration.0.end_date_time` Changing this forces a new Pim Eligible Role Assignment to be created.\n", + "description": "The duration of the role assignment in hours. Conflicts with `schedule[0].expiration[0].duration_days`,`schedule[0].expiration[0].end_date_time` Changing this forces a new Pim Eligible Role Assignment to be created.\n", "willReplaceOnChanges": true }, "endDateTime": { "type": "string", - "description": "The end date time of the role assignment. Conflicts with `schedule.0.expiration.0.duration_days`,`schedule.0.expiration.0.duration_hours` Changing this forces a new Pim Eligible Role Assignment to be created.\n", + "description": "The end date time of the role assignment. Conflicts with `schedule[0].expiration[0].duration_days`,`schedule[0].expiration[0].duration_hours` Changing this forces a new Pim Eligible Role Assignment to be created.\n", "willReplaceOnChanges": true } }, @@ -92466,7 +92652,7 @@ }, "geoBackupUserAssignedIdentityId": { "type": "string", - "description": "The geo backup user managed identity id for a Customer Managed Key. Should be added with `identity_ids`. It can't cross region and need identity in same region as geo backup.\n\n\u003e **NOTE:** `primary_user_assigned_identity_id` or `geo_backup_user_assigned_identity_id` is required when `type` is set to `UserAssigned`.\n" + "description": "The geo backup user managed identity id for a Customer Managed Key. Should be added with `identity_ids`. It can't cross region and need identity in same region as geo backup.\n\n\u003e **Note:** `primary_user_assigned_identity_id` or `geo_backup_user_assigned_identity_id` is required when `type` is set to `UserAssigned`.\n" }, "keyVaultKeyId": { "type": "string", @@ -92477,7 +92663,10 @@ "description": "Specifies the primary user managed identity id for a Customer Managed Key. Should be added with `identity_ids`.\n" } }, - "type": "object" + "type": "object", + "required": [ + "keyVaultKeyId" + ] }, "azure:postgresql/FlexibleServerHighAvailability:FlexibleServerHighAvailability": { "properties": { @@ -92700,7 +92889,7 @@ }, "privateIpAllocationMethod": { "type": "string", - "description": "Private IP address allocation method. Allowed value is `Dynamic`. Defaults to `Dynamic`.\n" + "description": "Private IP address allocation method. Allowed value is `Dynamic` and `Static`. Defaults to `Dynamic`.\n" }, "subnetId": { "type": "string", @@ -93395,7 +93584,7 @@ }, "useSystemAssignedIdentity": { "type": "boolean", - "description": "Indicate that system assigned identity should be used or not. Defaults to `true`.\n\n!\u003e **Note:** `use_system_assigned_identity` only be able to set to `false` for **new** vaults. Any vaults containing existing items registered or attempted to be registered to it are not supported. Details can be found in [the document](https://learn.microsoft.com/en-us/azure/backup/encryption-at-rest-with-cmk?tabs=portal#before-you-start)\n\n!\u003e **Note:** Once `infrastructure_encryption_enabled` has been set it's not possible to change it.\n" + "description": "Indicate that system assigned identity should be used or not. Defaults to `true`. Must be set to `false` when `user_assigned_identity_id` is set.\n\n!\u003e **Note:** `use_system_assigned_identity` only be able to set to `false` for **new** vaults. Any vaults containing existing items registered or attempted to be registered to it are not supported. Details can be found in [the document](https://learn.microsoft.com/en-us/azure/backup/encryption-at-rest-with-cmk?tabs=portal#before-you-start)\n\n!\u003e **Note:** Once `infrastructure_encryption_enabled` has been set it's not possible to change it.\n" }, "userAssignedIdentityId": { "type": "string", @@ -93746,6 +93935,10 @@ "description": "Second Storage Account connection string for AOF persistence.\n\nExample usage:\n\n", "secret": true }, + "dataPersistenceAuthenticationMethod": { + "type": "string", + "description": "Preferred auth method to communicate to storage account used for data persistence. Possible values are `SAS` and `ManagedIdentity`. Defaults to `SAS`.\n" + }, "enableAuthentication": { "type": "boolean", "description": "If set to `false`, the Redis instance will be accessible without authentication. Defaults to `true`.\n\n\u003e **NOTE:** `enable_authentication` can only be set to `false` if a `subnet_id` is specified; and only works if there aren't existing instances within the subnet with `enable_authentication` set to `true`.\n" @@ -93877,6 +94070,9 @@ "type": "string", "secret": true }, + "dataPersistenceAuthenticationMethod": { + "type": "string" + }, "enableAuthentication": { "type": "boolean", "description": "Specifies if authentication is enabled\n" @@ -93930,6 +94126,7 @@ "aofBackupEnabled", "aofStorageConnectionString0", "aofStorageConnectionString1", + "dataPersistenceAuthenticationMethod", "enableAuthentication", "maxclients", "maxfragmentationmemoryReserved", @@ -99769,6 +99966,36 @@ } } }, + "azure:storage/getTableEntitiesItem:getTableEntitiesItem": { + "properties": { + "partitionKey": { + "type": "string", + "description": "Partition Key of the Entity.\n" + }, + "properties": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "A map of any additional properties in key-value format.\n" + }, + "rowKey": { + "type": "string", + "description": "Row Key of the Entity.\n" + } + }, + "type": "object", + "required": [ + "partitionKey", + "properties", + "rowKey" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, "azure:streamanalytics/FunctionJavaScriptUDFInput:FunctionJavaScriptUDFInput": { "properties": { "configurationParameter": { @@ -100333,6 +100560,10 @@ "keyVersionlessId": { "type": "string", "description": "The Azure Key Vault Key Versionless ID to be used as the Customer Managed Key (CMK) for double encryption (e.g. `https://example-keyvault.vault.azure.net/type/cmk/`).\n" + }, + "userAssignedIdentityId": { + "type": "string", + "description": "The User Assigned Identity ID to be used for accessing the Customer Managed Key for encryption.\n" } }, "type": "object", @@ -111552,6 +111783,10 @@ "type": "string", "description": "The name which should be used for this Spring Cloud Configuration Service. The only possible value is `default`. Changing this forces a new Spring Cloud Configuration Service to be created.\n" }, + "refreshIntervalInSeconds": { + "type": "integer", + "description": "Specifies how often to check repository updates. Minimum value is 0.\n" + }, "repositories": { "type": "array", "items": { @@ -111578,6 +111813,10 @@ "description": "The name which should be used for this Spring Cloud Configuration Service. The only possible value is `default`. Changing this forces a new Spring Cloud Configuration Service to be created.\n", "willReplaceOnChanges": true }, + "refreshIntervalInSeconds": { + "type": "integer", + "description": "Specifies how often to check repository updates. Minimum value is 0.\n" + }, "repositories": { "type": "array", "items": { @@ -111606,6 +111845,10 @@ "description": "The name which should be used for this Spring Cloud Configuration Service. The only possible value is `default`. Changing this forces a new Spring Cloud Configuration Service to be created.\n", "willReplaceOnChanges": true }, + "refreshIntervalInSeconds": { + "type": "integer", + "description": "Specifies how often to check repository updates. Minimum value is 0.\n" + }, "repositories": { "type": "array", "items": { @@ -112514,6 +112757,13 @@ "$ref": "#/types/azure:appplatform/SpringCloudGatewayApiMetadata:SpringCloudGatewayApiMetadata", "description": "A `api_metadata` block as defined below.\n" }, + "applicationPerformanceMonitoringIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Specifies a list of Spring Cloud Application Performance Monitoring IDs.\n" + }, "applicationPerformanceMonitoringTypes": { "type": "array", "items": { @@ -112596,6 +112846,13 @@ "$ref": "#/types/azure:appplatform/SpringCloudGatewayApiMetadata:SpringCloudGatewayApiMetadata", "description": "A `api_metadata` block as defined below.\n" }, + "applicationPerformanceMonitoringIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Specifies a list of Spring Cloud Application Performance Monitoring IDs.\n" + }, "applicationPerformanceMonitoringTypes": { "type": "array", "items": { @@ -112677,6 +112934,13 @@ "$ref": "#/types/azure:appplatform/SpringCloudGatewayApiMetadata:SpringCloudGatewayApiMetadata", "description": "A `api_metadata` block as defined below.\n" }, + "applicationPerformanceMonitoringIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Specifies a list of Spring Cloud Application Performance Monitoring IDs.\n" + }, "applicationPerformanceMonitoringTypes": { "type": "array", "items": { @@ -123815,15 +124079,15 @@ "properties": { "audience": { "type": "string", - "description": "Specifies the audience for this Federated Identity Credential. Changing this forces a new Federated Identity Credential to be created.\n" + "description": "Specifies the audience for this Federated Identity Credential.\n" }, "issuer": { "type": "string", - "description": "Specifies the issuer of this Federated Identity Credential. Changing this forces a new Federated Identity Credential to be created.\n" + "description": "Specifies the issuer of this Federated Identity Credential.\n" }, "name": { "type": "string", - "description": "Specifies the name of this Federated Identity Credential. Changing this forces a new Federated Identity Credential to be created.\n" + "description": "Specifies the name of this Federated Identity Credential.\n" }, "parentId": { "type": "string", @@ -123835,7 +124099,7 @@ }, "subject": { "type": "string", - "description": "Specifies the subject for this Federated Identity Credential. Changing this forces a new Federated Identity Credential to be created.\n" + "description": "Specifies the subject for this Federated Identity Credential.\n" } }, "required": [ @@ -123849,17 +124113,15 @@ "inputProperties": { "audience": { "type": "string", - "description": "Specifies the audience for this Federated Identity Credential. Changing this forces a new Federated Identity Credential to be created.\n", - "willReplaceOnChanges": true + "description": "Specifies the audience for this Federated Identity Credential.\n" }, "issuer": { "type": "string", - "description": "Specifies the issuer of this Federated Identity Credential. Changing this forces a new Federated Identity Credential to be created.\n", - "willReplaceOnChanges": true + "description": "Specifies the issuer of this Federated Identity Credential.\n" }, "name": { "type": "string", - "description": "Specifies the name of this Federated Identity Credential. Changing this forces a new Federated Identity Credential to be created.\n", + "description": "Specifies the name of this Federated Identity Credential.\n", "willReplaceOnChanges": true }, "parentId": { @@ -123874,8 +124136,7 @@ }, "subject": { "type": "string", - "description": "Specifies the subject for this Federated Identity Credential. Changing this forces a new Federated Identity Credential to be created.\n", - "willReplaceOnChanges": true + "description": "Specifies the subject for this Federated Identity Credential.\n" } }, "requiredInputs": [ @@ -123890,17 +124151,15 @@ "properties": { "audience": { "type": "string", - "description": "Specifies the audience for this Federated Identity Credential. Changing this forces a new Federated Identity Credential to be created.\n", - "willReplaceOnChanges": true + "description": "Specifies the audience for this Federated Identity Credential.\n" }, "issuer": { "type": "string", - "description": "Specifies the issuer of this Federated Identity Credential. Changing this forces a new Federated Identity Credential to be created.\n", - "willReplaceOnChanges": true + "description": "Specifies the issuer of this Federated Identity Credential.\n" }, "name": { "type": "string", - "description": "Specifies the name of this Federated Identity Credential. Changing this forces a new Federated Identity Credential to be created.\n", + "description": "Specifies the name of this Federated Identity Credential.\n", "willReplaceOnChanges": true }, "parentId": { @@ -123915,8 +124174,7 @@ }, "subject": { "type": "string", - "description": "Specifies the subject for this Federated Identity Credential. Changing this forces a new Federated Identity Credential to be created.\n", - "willReplaceOnChanges": true + "description": "Specifies the subject for this Federated Identity Credential.\n" } }, "type": "object" @@ -128517,7 +128775,7 @@ }, "internetConnectionEnabled": { "type": "boolean", - "description": "Is the Private Cluster connected to the internet? This field can not updated with `management_cluster.0.size` together.\n\u003e **NOTE :** `internet_connection_enabled` and `management_cluster.0.size` cannot be updated at the same time.\n" + "description": "Is the Private Cluster connected to the internet? This field can not updated with `management_cluster[0].size` together.\n\u003e **NOTE :** `internet_connection_enabled` and `management_cluster[0].size` cannot be updated at the same time.\n" }, "location": { "type": "string", @@ -128525,7 +128783,7 @@ }, "managementCluster": { "$ref": "#/types/azure:avs/PrivateCloudManagementCluster:PrivateCloudManagementCluster", - "description": "A `management_cluster` block as defined below.\n\u003e **NOTE :** `internet_connection_enabled` and `management_cluster.0.size` cannot be updated at the same time.\n" + "description": "A `management_cluster` block as defined below.\n\u003e **NOTE :** `internet_connection_enabled` and `management_cluster[0].size` cannot be updated at the same time.\n" }, "managementSubnetCidr": { "type": "string", @@ -128609,7 +128867,7 @@ "inputProperties": { "internetConnectionEnabled": { "type": "boolean", - "description": "Is the Private Cluster connected to the internet? This field can not updated with `management_cluster.0.size` together.\n\u003e **NOTE :** `internet_connection_enabled` and `management_cluster.0.size` cannot be updated at the same time.\n" + "description": "Is the Private Cluster connected to the internet? This field can not updated with `management_cluster[0].size` together.\n\u003e **NOTE :** `internet_connection_enabled` and `management_cluster[0].size` cannot be updated at the same time.\n" }, "location": { "type": "string", @@ -128618,7 +128876,7 @@ }, "managementCluster": { "$ref": "#/types/azure:avs/PrivateCloudManagementCluster:PrivateCloudManagementCluster", - "description": "A `management_cluster` block as defined below.\n\u003e **NOTE :** `internet_connection_enabled` and `management_cluster.0.size` cannot be updated at the same time.\n" + "description": "A `management_cluster` block as defined below.\n\u003e **NOTE :** `internet_connection_enabled` and `management_cluster[0].size` cannot be updated at the same time.\n" }, "name": { "type": "string", @@ -128682,7 +128940,7 @@ }, "internetConnectionEnabled": { "type": "boolean", - "description": "Is the Private Cluster connected to the internet? This field can not updated with `management_cluster.0.size` together.\n\u003e **NOTE :** `internet_connection_enabled` and `management_cluster.0.size` cannot be updated at the same time.\n" + "description": "Is the Private Cluster connected to the internet? This field can not updated with `management_cluster[0].size` together.\n\u003e **NOTE :** `internet_connection_enabled` and `management_cluster[0].size` cannot be updated at the same time.\n" }, "location": { "type": "string", @@ -128691,7 +128949,7 @@ }, "managementCluster": { "$ref": "#/types/azure:avs/PrivateCloudManagementCluster:PrivateCloudManagementCluster", - "description": "A `management_cluster` block as defined below.\n\u003e **NOTE :** `internet_connection_enabled` and `management_cluster.0.size` cannot be updated at the same time.\n" + "description": "A `management_cluster` block as defined below.\n\u003e **NOTE :** `internet_connection_enabled` and `management_cluster[0].size` cannot be updated at the same time.\n" }, "managementSubnetCidr": { "type": "string", @@ -135725,7 +135983,7 @@ }, "versionUpgradeOption": { "type": "string", - "description": "Deployment model version upgrade option. Possible values are `OnceNewDefaultVersionAvailable`, `OnceCurrentVersionExpired`, and `NoAutoUpgrade`. Defaults to `OnceNewDefaultVersionAvailable`. Changing this forces a new resource to be created.\n" + "description": "Deployment model version upgrade option. Possible values are `OnceNewDefaultVersionAvailable`, `OnceCurrentVersionExpired`, and `NoAutoUpgrade`. Defaults to `OnceNewDefaultVersionAvailable`.\n" } }, "required": [ @@ -135760,8 +136018,7 @@ }, "versionUpgradeOption": { "type": "string", - "description": "Deployment model version upgrade option. Possible values are `OnceNewDefaultVersionAvailable`, `OnceCurrentVersionExpired`, and `NoAutoUpgrade`. Defaults to `OnceNewDefaultVersionAvailable`. Changing this forces a new resource to be created.\n", - "willReplaceOnChanges": true + "description": "Deployment model version upgrade option. Possible values are `OnceNewDefaultVersionAvailable`, `OnceCurrentVersionExpired`, and `NoAutoUpgrade`. Defaults to `OnceNewDefaultVersionAvailable`.\n" } }, "requiredInputs": [ @@ -135797,8 +136054,7 @@ }, "versionUpgradeOption": { "type": "string", - "description": "Deployment model version upgrade option. Possible values are `OnceNewDefaultVersionAvailable`, `OnceCurrentVersionExpired`, and `NoAutoUpgrade`. Defaults to `OnceNewDefaultVersionAvailable`. Changing this forces a new resource to be created.\n", - "willReplaceOnChanges": true + "description": "Deployment model version upgrade option. Possible values are `OnceNewDefaultVersionAvailable`, `OnceCurrentVersionExpired`, and `NoAutoUpgrade`. Defaults to `OnceNewDefaultVersionAvailable`.\n" } }, "type": "object" @@ -138314,6 +138570,10 @@ "type": "boolean", "description": "Should Password Authentication be disabled on this Virtual Machine? Defaults to `true`. Changing this forces a new resource to be created.\n\n\u003e In general we'd recommend using SSH Keys for authentication rather than Passwords - but there's tradeoff's to each - please [see this thread for more information](https://security.stackexchange.com/questions/69407/why-is-using-an-ssh-key-more-secure-than-using-passwords).\n\n\u003e **NOTE:** When an `admin_password` is specified `disable_password_authentication` must be set to `false`.\n" }, + "diskControllerType": { + "type": "string", + "description": "Specifies the Disk Controller Type used for this Virtual Machine. Possible values are `SCSI` and `NVMe`.\n" + }, "edgeZone": { "type": "string", "description": "Specifies the Edge Zone within the Azure Region where this Linux Virtual Machine should exist. Changing this forces a new Linux Virtual Machine to be created.\n" @@ -138368,6 +138628,10 @@ "$ref": "#/types/azure:compute/LinuxVirtualMachineOsDisk:LinuxVirtualMachineOsDisk", "description": "A `os_disk` block as defined below.\n" }, + "osImageNotification": { + "$ref": "#/types/azure:compute/LinuxVirtualMachineOsImageNotification:LinuxVirtualMachineOsImageNotification", + "description": "A `os_image_notification` block as defined below.\n" + }, "patchAssessmentMode": { "type": "string", "description": "Specifies the mode of VM Guest Patching for the Virtual Machine. Possible values are `AutomaticByPlatform` or `ImageDefault`. Defaults to `ImageDefault`.\n\n\u003e **NOTE:** If the `patch_assessment_mode` is set to `AutomaticByPlatform` then the `provision_vm_agent` field must be set to `true`.\n" @@ -138470,7 +138734,11 @@ }, "virtualMachineScaleSetId": { "type": "string", - "description": "Specifies the Orchestrated Virtual Machine Scale Set that this Virtual Machine should be created within. Changing this forces a new resource to be created.\n\n\u003e **NOTE:** Orchestrated Virtual Machine Scale Sets can be provisioned using [the `azure.compute.OrchestratedVirtualMachineScaleSet` resource](https://www.terraform.io/docs/providers/azurerm/r/orchestrated_virtual_machine_scale_set.html).\n" + "description": "Specifies the Orchestrated Virtual Machine Scale Set that this Virtual Machine should be created within.\n\n\u003e **NOTE:** To update `virtual_machine_scale_set_id` the Preview Feature `Microsoft.Compute/SingleFDAttachDetachVMToVmss` needs to be enabled, see [the documentation](https://review.learn.microsoft.com/azure/virtual-machine-scale-sets/virtual-machine-scale-sets-attach-detach-vm#enroll-in-the-preview) for more information.\n\n\u003e **NOTE:** Orchestrated Virtual Machine Scale Sets can be provisioned using [the `azure.compute.OrchestratedVirtualMachineScaleSet` resource](https://www.terraform.io/docs/providers/azurerm/r/orchestrated_virtual_machine_scale_set.html).\n" + }, + "vmAgentPlatformUpdatesEnabled": { + "type": "boolean", + "description": "Specifies whether VMAgent Platform Updates is enabled. Defaults to `false`.\n" }, "vtpmEnabled": { "type": "boolean", @@ -138484,6 +138752,7 @@ "required": [ "adminUsername", "computerName", + "diskControllerType", "location", "name", "networkInterfaceIds", @@ -138566,6 +138835,10 @@ "description": "Should Password Authentication be disabled on this Virtual Machine? Defaults to `true`. Changing this forces a new resource to be created.\n\n\u003e In general we'd recommend using SSH Keys for authentication rather than Passwords - but there's tradeoff's to each - please [see this thread for more information](https://security.stackexchange.com/questions/69407/why-is-using-an-ssh-key-more-secure-than-using-passwords).\n\n\u003e **NOTE:** When an `admin_password` is specified `disable_password_authentication` must be set to `false`.\n", "willReplaceOnChanges": true }, + "diskControllerType": { + "type": "string", + "description": "Specifies the Disk Controller Type used for this Virtual Machine. Possible values are `SCSI` and `NVMe`.\n" + }, "edgeZone": { "type": "string", "description": "Specifies the Edge Zone within the Azure Region where this Linux Virtual Machine should exist. Changing this forces a new Linux Virtual Machine to be created.\n", @@ -138624,6 +138897,10 @@ "$ref": "#/types/azure:compute/LinuxVirtualMachineOsDisk:LinuxVirtualMachineOsDisk", "description": "A `os_disk` block as defined below.\n" }, + "osImageNotification": { + "$ref": "#/types/azure:compute/LinuxVirtualMachineOsImageNotification:LinuxVirtualMachineOsImageNotification", + "description": "A `os_image_notification` block as defined below.\n" + }, "patchAssessmentMode": { "type": "string", "description": "Specifies the mode of VM Guest Patching for the Virtual Machine. Possible values are `AutomaticByPlatform` or `ImageDefault`. Defaults to `ImageDefault`.\n\n\u003e **NOTE:** If the `patch_assessment_mode` is set to `AutomaticByPlatform` then the `provision_vm_agent` field must be set to `true`.\n" @@ -138708,8 +138985,11 @@ }, "virtualMachineScaleSetId": { "type": "string", - "description": "Specifies the Orchestrated Virtual Machine Scale Set that this Virtual Machine should be created within. Changing this forces a new resource to be created.\n\n\u003e **NOTE:** Orchestrated Virtual Machine Scale Sets can be provisioned using [the `azure.compute.OrchestratedVirtualMachineScaleSet` resource](https://www.terraform.io/docs/providers/azurerm/r/orchestrated_virtual_machine_scale_set.html).\n", - "willReplaceOnChanges": true + "description": "Specifies the Orchestrated Virtual Machine Scale Set that this Virtual Machine should be created within.\n\n\u003e **NOTE:** To update `virtual_machine_scale_set_id` the Preview Feature `Microsoft.Compute/SingleFDAttachDetachVMToVmss` needs to be enabled, see [the documentation](https://review.learn.microsoft.com/azure/virtual-machine-scale-sets/virtual-machine-scale-sets-attach-detach-vm#enroll-in-the-preview) for more information.\n\n\u003e **NOTE:** Orchestrated Virtual Machine Scale Sets can be provisioned using [the `azure.compute.OrchestratedVirtualMachineScaleSet` resource](https://www.terraform.io/docs/providers/azurerm/r/orchestrated_virtual_machine_scale_set.html).\n" + }, + "vmAgentPlatformUpdatesEnabled": { + "type": "boolean", + "description": "Specifies whether VMAgent Platform Updates is enabled. Defaults to `false`.\n" }, "vtpmEnabled": { "type": "boolean", @@ -138800,6 +139080,10 @@ "description": "Should Password Authentication be disabled on this Virtual Machine? Defaults to `true`. Changing this forces a new resource to be created.\n\n\u003e In general we'd recommend using SSH Keys for authentication rather than Passwords - but there's tradeoff's to each - please [see this thread for more information](https://security.stackexchange.com/questions/69407/why-is-using-an-ssh-key-more-secure-than-using-passwords).\n\n\u003e **NOTE:** When an `admin_password` is specified `disable_password_authentication` must be set to `false`.\n", "willReplaceOnChanges": true }, + "diskControllerType": { + "type": "string", + "description": "Specifies the Disk Controller Type used for this Virtual Machine. Possible values are `SCSI` and `NVMe`.\n" + }, "edgeZone": { "type": "string", "description": "Specifies the Edge Zone within the Azure Region where this Linux Virtual Machine should exist. Changing this forces a new Linux Virtual Machine to be created.\n", @@ -138858,6 +139142,10 @@ "$ref": "#/types/azure:compute/LinuxVirtualMachineOsDisk:LinuxVirtualMachineOsDisk", "description": "A `os_disk` block as defined below.\n" }, + "osImageNotification": { + "$ref": "#/types/azure:compute/LinuxVirtualMachineOsImageNotification:LinuxVirtualMachineOsImageNotification", + "description": "A `os_image_notification` block as defined below.\n" + }, "patchAssessmentMode": { "type": "string", "description": "Specifies the mode of VM Guest Patching for the Virtual Machine. Possible values are `AutomaticByPlatform` or `ImageDefault`. Defaults to `ImageDefault`.\n\n\u003e **NOTE:** If the `patch_assessment_mode` is set to `AutomaticByPlatform` then the `provision_vm_agent` field must be set to `true`.\n" @@ -138968,8 +139256,11 @@ }, "virtualMachineScaleSetId": { "type": "string", - "description": "Specifies the Orchestrated Virtual Machine Scale Set that this Virtual Machine should be created within. Changing this forces a new resource to be created.\n\n\u003e **NOTE:** Orchestrated Virtual Machine Scale Sets can be provisioned using [the `azure.compute.OrchestratedVirtualMachineScaleSet` resource](https://www.terraform.io/docs/providers/azurerm/r/orchestrated_virtual_machine_scale_set.html).\n", - "willReplaceOnChanges": true + "description": "Specifies the Orchestrated Virtual Machine Scale Set that this Virtual Machine should be created within.\n\n\u003e **NOTE:** To update `virtual_machine_scale_set_id` the Preview Feature `Microsoft.Compute/SingleFDAttachDetachVMToVmss` needs to be enabled, see [the documentation](https://review.learn.microsoft.com/azure/virtual-machine-scale-sets/virtual-machine-scale-sets-attach-detach-vm#enroll-in-the-preview) for more information.\n\n\u003e **NOTE:** Orchestrated Virtual Machine Scale Sets can be provisioned using [the `azure.compute.OrchestratedVirtualMachineScaleSet` resource](https://www.terraform.io/docs/providers/azurerm/r/orchestrated_virtual_machine_scale_set.html).\n" + }, + "vmAgentPlatformUpdatesEnabled": { + "type": "boolean", + "description": "Specifies whether VMAgent Platform Updates is enabled. Defaults to `false`.\n" }, "vtpmEnabled": { "type": "boolean", @@ -140427,7 +140718,7 @@ }, "evictionPolicy": { "type": "string", - "description": "The Policy which should be used Virtual Machines are Evicted from the Scale Set. Possible values are `Deallocate` and `Delete`. Changing this forces a new resource to be created.\n" + "description": "The Policy which should be used by Spot Virtual Machines that are Evicted from the Scale Set. Possible values are `Deallocate` and `Delete`. Changing this forces a new resource to be created.\n" }, "extensionOperationsEnabled": { "type": "boolean", @@ -140599,7 +140890,7 @@ }, "evictionPolicy": { "type": "string", - "description": "The Policy which should be used Virtual Machines are Evicted from the Scale Set. Possible values are `Deallocate` and `Delete`. Changing this forces a new resource to be created.\n", + "description": "The Policy which should be used by Spot Virtual Machines that are Evicted from the Scale Set. Possible values are `Deallocate` and `Delete`. Changing this forces a new resource to be created.\n", "willReplaceOnChanges": true }, "extensionOperationsEnabled": { @@ -140771,7 +141062,7 @@ }, "evictionPolicy": { "type": "string", - "description": "The Policy which should be used Virtual Machines are Evicted from the Scale Set. Possible values are `Deallocate` and `Delete`. Changing this forces a new resource to be created.\n", + "description": "The Policy which should be used by Spot Virtual Machines that are Evicted from the Scale Set. Possible values are `Deallocate` and `Delete`. Changing this forces a new resource to be created.\n", "willReplaceOnChanges": true }, "extensionOperationsEnabled": { @@ -143566,6 +143857,10 @@ "type": "string", "description": "The ID of a Dedicated Host where this machine should be run on. Conflicts with `dedicated_host_group_id`.\n" }, + "diskControllerType": { + "type": "string", + "description": "Specifies the Disk Controller Type used for this Virtual Machine. Possible values are `SCSI` and `NVMe`.\n" + }, "edgeZone": { "type": "string", "description": "Specifies the Edge Zone within the Azure Region where this Windows Virtual Machine should exist. Changing this forces a new Windows Virtual Machine to be created.\n" @@ -143628,6 +143923,10 @@ "$ref": "#/types/azure:compute/WindowsVirtualMachineOsDisk:WindowsVirtualMachineOsDisk", "description": "A `os_disk` block as defined below.\n" }, + "osImageNotification": { + "$ref": "#/types/azure:compute/WindowsVirtualMachineOsImageNotification:WindowsVirtualMachineOsImageNotification", + "description": "A `os_image_notification` block as defined below.\n" + }, "patchAssessmentMode": { "type": "string", "description": "Specifies the mode of VM Guest Patching for the Virtual Machine. Possible values are `AutomaticByPlatform` or `ImageDefault`. Defaults to `ImageDefault`.\n\n\u003e **NOTE:** If the `patch_assessment_mode` is set to `AutomaticByPlatform` then the `provision_vm_agent` field must be set to `true`.\n" @@ -143734,7 +144033,11 @@ }, "virtualMachineScaleSetId": { "type": "string", - "description": "Specifies the Orchestrated Virtual Machine Scale Set that this Virtual Machine should be created within. Changing this forces a new resource to be created.\n\n\u003e **NOTE:** Orchestrated Virtual Machine Scale Sets can be provisioned using [the `azure.compute.OrchestratedVirtualMachineScaleSet` resource](https://www.terraform.io/docs/providers/azurerm/r/orchestrated_virtual_machine_scale_set.html).\n" + "description": "Specifies the Orchestrated Virtual Machine Scale Set that this Virtual Machine should be created within.\n\n\u003e **NOTE:** To update `virtual_machine_scale_set_id` the Preview Feature `Microsoft.Compute/SingleFDAttachDetachVMToVmss` needs to be enabled, see [the documentation](https://review.learn.microsoft.com/azure/virtual-machine-scale-sets/virtual-machine-scale-sets-attach-detach-vm#enroll-in-the-preview) for more information.\n\n\u003e **NOTE:** Orchestrated Virtual Machine Scale Sets can be provisioned using [the `azure.compute.OrchestratedVirtualMachineScaleSet` resource](https://www.terraform.io/docs/providers/azurerm/r/orchestrated_virtual_machine_scale_set.html).\n" + }, + "vmAgentPlatformUpdatesEnabled": { + "type": "boolean", + "description": "Specifies whether VMAgent Platform Updates is enabled. Defaults to `false`.\n" }, "vtpmEnabled": { "type": "boolean", @@ -143756,6 +144059,7 @@ "adminPassword", "adminUsername", "computerName", + "diskControllerType", "location", "name", "networkInterfaceIds", @@ -143833,6 +144137,10 @@ "type": "string", "description": "The ID of a Dedicated Host where this machine should be run on. Conflicts with `dedicated_host_group_id`.\n" }, + "diskControllerType": { + "type": "string", + "description": "Specifies the Disk Controller Type used for this Virtual Machine. Possible values are `SCSI` and `NVMe`.\n" + }, "edgeZone": { "type": "string", "description": "Specifies the Edge Zone within the Azure Region where this Windows Virtual Machine should exist. Changing this forces a new Windows Virtual Machine to be created.\n", @@ -143900,6 +144208,10 @@ "$ref": "#/types/azure:compute/WindowsVirtualMachineOsDisk:WindowsVirtualMachineOsDisk", "description": "A `os_disk` block as defined below.\n" }, + "osImageNotification": { + "$ref": "#/types/azure:compute/WindowsVirtualMachineOsImageNotification:WindowsVirtualMachineOsImageNotification", + "description": "A `os_image_notification` block as defined below.\n" + }, "patchAssessmentMode": { "type": "string", "description": "Specifies the mode of VM Guest Patching for the Virtual Machine. Possible values are `AutomaticByPlatform` or `ImageDefault`. Defaults to `ImageDefault`.\n\n\u003e **NOTE:** If the `patch_assessment_mode` is set to `AutomaticByPlatform` then the `provision_vm_agent` field must be set to `true`.\n" @@ -143989,8 +144301,11 @@ }, "virtualMachineScaleSetId": { "type": "string", - "description": "Specifies the Orchestrated Virtual Machine Scale Set that this Virtual Machine should be created within. Changing this forces a new resource to be created.\n\n\u003e **NOTE:** Orchestrated Virtual Machine Scale Sets can be provisioned using [the `azure.compute.OrchestratedVirtualMachineScaleSet` resource](https://www.terraform.io/docs/providers/azurerm/r/orchestrated_virtual_machine_scale_set.html).\n", - "willReplaceOnChanges": true + "description": "Specifies the Orchestrated Virtual Machine Scale Set that this Virtual Machine should be created within.\n\n\u003e **NOTE:** To update `virtual_machine_scale_set_id` the Preview Feature `Microsoft.Compute/SingleFDAttachDetachVMToVmss` needs to be enabled, see [the documentation](https://review.learn.microsoft.com/azure/virtual-machine-scale-sets/virtual-machine-scale-sets-attach-detach-vm#enroll-in-the-preview) for more information.\n\n\u003e **NOTE:** Orchestrated Virtual Machine Scale Sets can be provisioned using [the `azure.compute.OrchestratedVirtualMachineScaleSet` resource](https://www.terraform.io/docs/providers/azurerm/r/orchestrated_virtual_machine_scale_set.html).\n" + }, + "vmAgentPlatformUpdatesEnabled": { + "type": "boolean", + "description": "Specifies whether VMAgent Platform Updates is enabled. Defaults to `false`.\n" }, "vtpmEnabled": { "type": "boolean", @@ -144085,6 +144400,10 @@ "type": "string", "description": "The ID of a Dedicated Host where this machine should be run on. Conflicts with `dedicated_host_group_id`.\n" }, + "diskControllerType": { + "type": "string", + "description": "Specifies the Disk Controller Type used for this Virtual Machine. Possible values are `SCSI` and `NVMe`.\n" + }, "edgeZone": { "type": "string", "description": "Specifies the Edge Zone within the Azure Region where this Windows Virtual Machine should exist. Changing this forces a new Windows Virtual Machine to be created.\n", @@ -144152,6 +144471,10 @@ "$ref": "#/types/azure:compute/WindowsVirtualMachineOsDisk:WindowsVirtualMachineOsDisk", "description": "A `os_disk` block as defined below.\n" }, + "osImageNotification": { + "$ref": "#/types/azure:compute/WindowsVirtualMachineOsImageNotification:WindowsVirtualMachineOsImageNotification", + "description": "A `os_image_notification` block as defined below.\n" + }, "patchAssessmentMode": { "type": "string", "description": "Specifies the mode of VM Guest Patching for the Virtual Machine. Possible values are `AutomaticByPlatform` or `ImageDefault`. Defaults to `ImageDefault`.\n\n\u003e **NOTE:** If the `patch_assessment_mode` is set to `AutomaticByPlatform` then the `provision_vm_agent` field must be set to `true`.\n" @@ -144267,8 +144590,11 @@ }, "virtualMachineScaleSetId": { "type": "string", - "description": "Specifies the Orchestrated Virtual Machine Scale Set that this Virtual Machine should be created within. Changing this forces a new resource to be created.\n\n\u003e **NOTE:** Orchestrated Virtual Machine Scale Sets can be provisioned using [the `azure.compute.OrchestratedVirtualMachineScaleSet` resource](https://www.terraform.io/docs/providers/azurerm/r/orchestrated_virtual_machine_scale_set.html).\n", - "willReplaceOnChanges": true + "description": "Specifies the Orchestrated Virtual Machine Scale Set that this Virtual Machine should be created within.\n\n\u003e **NOTE:** To update `virtual_machine_scale_set_id` the Preview Feature `Microsoft.Compute/SingleFDAttachDetachVMToVmss` needs to be enabled, see [the documentation](https://review.learn.microsoft.com/azure/virtual-machine-scale-sets/virtual-machine-scale-sets-attach-detach-vm#enroll-in-the-preview) for more information.\n\n\u003e **NOTE:** Orchestrated Virtual Machine Scale Sets can be provisioned using [the `azure.compute.OrchestratedVirtualMachineScaleSet` resource](https://www.terraform.io/docs/providers/azurerm/r/orchestrated_virtual_machine_scale_set.html).\n" + }, + "vmAgentPlatformUpdatesEnabled": { + "type": "boolean", + "description": "Specifies whether VMAgent Platform Updates is enabled. Defaults to `false`.\n" }, "vtpmEnabled": { "type": "boolean", @@ -147166,6 +147492,101 @@ "type": "object" } }, + "azure:containerservice/fleetUpdateRun:FleetUpdateRun": { + "description": "Manages a Kubernetes Fleet Update Run.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\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: \"westeurope\",\n});\nconst exampleKubernetesFleetManager = new azure.containerservice.KubernetesFleetManager(\"example\", {\n location: example.location,\n name: \"example\",\n resourceGroupName: example.name,\n hubProfile: {\n dnsPrefix: \"example-dns-prefix\",\n },\n});\nconst exampleKubernetesCluster = new azure.containerservice.KubernetesCluster(\"example\", {\n name: \"example\",\n location: example.location,\n resourceGroupName: example.name,\n dnsPrefix: \"example\",\n defaultNodePool: {\n name: \"default\",\n nodeCount: 1,\n vmSize: \"Standard_DS2_v2\",\n },\n identity: {\n type: \"SystemAssigned\",\n },\n});\nconst exampleFleetMember = new azure.containerservice.FleetMember(\"example\", {\n name: \"example\",\n kubernetesFleetId: exampleKubernetesFleetManager.id,\n kubernetesClusterId: exampleKubernetesCluster.id,\n group: \"example-group\",\n});\nconst exampleFleetUpdateRun = new azure.containerservice.FleetUpdateRun(\"example\", {\n name: \"example\",\n kubernetesFleetManagerId: exampleKubernetesFleetManager.id,\n managedClusterUpdate: {\n upgrade: {\n type: \"Full\",\n kubernetesVersion: \"1.27\",\n },\n nodeImageSelection: {\n type: \"Latest\",\n },\n },\n stages: [{\n name: \"example\",\n groups: [{\n name: \"example-group\",\n }],\n afterStageWaitInSeconds: 21,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n name=\"example-rg\",\n location=\"westeurope\")\nexample_kubernetes_fleet_manager = azure.containerservice.KubernetesFleetManager(\"example\",\n location=example.location,\n name=\"example\",\n resource_group_name=example.name,\n hub_profile=azure.containerservice.KubernetesFleetManagerHubProfileArgs(\n dns_prefix=\"example-dns-prefix\",\n ))\nexample_kubernetes_cluster = azure.containerservice.KubernetesCluster(\"example\",\n name=\"example\",\n location=example.location,\n resource_group_name=example.name,\n dns_prefix=\"example\",\n default_node_pool=azure.containerservice.KubernetesClusterDefaultNodePoolArgs(\n name=\"default\",\n node_count=1,\n vm_size=\"Standard_DS2_v2\",\n ),\n identity=azure.containerservice.KubernetesClusterIdentityArgs(\n type=\"SystemAssigned\",\n ))\nexample_fleet_member = azure.containerservice.FleetMember(\"example\",\n name=\"example\",\n kubernetes_fleet_id=example_kubernetes_fleet_manager.id,\n kubernetes_cluster_id=example_kubernetes_cluster.id,\n group=\"example-group\")\nexample_fleet_update_run = azure.containerservice.FleetUpdateRun(\"example\",\n name=\"example\",\n kubernetes_fleet_manager_id=example_kubernetes_fleet_manager.id,\n managed_cluster_update=azure.containerservice.FleetUpdateRunManagedClusterUpdateArgs(\n upgrade=azure.containerservice.FleetUpdateRunManagedClusterUpdateUpgradeArgs(\n type=\"Full\",\n kubernetes_version=\"1.27\",\n ),\n node_image_selection=azure.containerservice.FleetUpdateRunManagedClusterUpdateNodeImageSelectionArgs(\n type=\"Latest\",\n ),\n ),\n stages=[azure.containerservice.FleetUpdateRunStageArgs(\n name=\"example\",\n groups=[azure.containerservice.FleetUpdateRunStageGroupArgs(\n name=\"example-group\",\n )],\n after_stage_wait_in_seconds=21,\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 = \"westeurope\",\n });\n\n var exampleKubernetesFleetManager = new Azure.ContainerService.KubernetesFleetManager(\"example\", new()\n {\n Location = example.Location,\n Name = \"example\",\n ResourceGroupName = example.Name,\n HubProfile = new Azure.ContainerService.Inputs.KubernetesFleetManagerHubProfileArgs\n {\n DnsPrefix = \"example-dns-prefix\",\n },\n });\n\n var exampleKubernetesCluster = new Azure.ContainerService.KubernetesCluster(\"example\", new()\n {\n Name = \"example\",\n Location = example.Location,\n ResourceGroupName = example.Name,\n DnsPrefix = \"example\",\n DefaultNodePool = new Azure.ContainerService.Inputs.KubernetesClusterDefaultNodePoolArgs\n {\n Name = \"default\",\n NodeCount = 1,\n VmSize = \"Standard_DS2_v2\",\n },\n Identity = new Azure.ContainerService.Inputs.KubernetesClusterIdentityArgs\n {\n Type = \"SystemAssigned\",\n },\n });\n\n var exampleFleetMember = new Azure.ContainerService.FleetMember(\"example\", new()\n {\n Name = \"example\",\n KubernetesFleetId = exampleKubernetesFleetManager.Id,\n KubernetesClusterId = exampleKubernetesCluster.Id,\n Group = \"example-group\",\n });\n\n var exampleFleetUpdateRun = new Azure.ContainerService.FleetUpdateRun(\"example\", new()\n {\n Name = \"example\",\n KubernetesFleetManagerId = exampleKubernetesFleetManager.Id,\n ManagedClusterUpdate = new Azure.ContainerService.Inputs.FleetUpdateRunManagedClusterUpdateArgs\n {\n Upgrade = new Azure.ContainerService.Inputs.FleetUpdateRunManagedClusterUpdateUpgradeArgs\n {\n Type = \"Full\",\n KubernetesVersion = \"1.27\",\n },\n NodeImageSelection = new Azure.ContainerService.Inputs.FleetUpdateRunManagedClusterUpdateNodeImageSelectionArgs\n {\n Type = \"Latest\",\n },\n },\n Stages = new[]\n {\n new Azure.ContainerService.Inputs.FleetUpdateRunStageArgs\n {\n Name = \"example\",\n Groups = new[]\n {\n new Azure.ContainerService.Inputs.FleetUpdateRunStageGroupArgs\n {\n Name = \"example-group\",\n },\n },\n AfterStageWaitInSeconds = 21,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/containerservice\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v5/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(\"example-rg\"),\n\t\t\tLocation: pulumi.String(\"westeurope\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleKubernetesFleetManager, err := containerservice.NewKubernetesFleetManager(ctx, \"example\", \u0026containerservice.KubernetesFleetManagerArgs{\n\t\t\tLocation: example.Location,\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tHubProfile: \u0026containerservice.KubernetesFleetManagerHubProfileArgs{\n\t\t\t\tDnsPrefix: pulumi.String(\"example-dns-prefix\"),\n\t\t\t},\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\"),\n\t\t\tLocation: example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tDnsPrefix: pulumi.String(\"example\"),\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},\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 = containerservice.NewFleetMember(ctx, \"example\", \u0026containerservice.FleetMemberArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tKubernetesFleetId: exampleKubernetesFleetManager.ID(),\n\t\t\tKubernetesClusterId: exampleKubernetesCluster.ID(),\n\t\t\tGroup: pulumi.String(\"example-group\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = containerservice.NewFleetUpdateRun(ctx, \"example\", \u0026containerservice.FleetUpdateRunArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tKubernetesFleetManagerId: exampleKubernetesFleetManager.ID(),\n\t\t\tManagedClusterUpdate: \u0026containerservice.FleetUpdateRunManagedClusterUpdateArgs{\n\t\t\t\tUpgrade: \u0026containerservice.FleetUpdateRunManagedClusterUpdateUpgradeArgs{\n\t\t\t\t\tType: pulumi.String(\"Full\"),\n\t\t\t\t\tKubernetesVersion: pulumi.String(\"1.27\"),\n\t\t\t\t},\n\t\t\t\tNodeImageSelection: \u0026containerservice.FleetUpdateRunManagedClusterUpdateNodeImageSelectionArgs{\n\t\t\t\t\tType: pulumi.String(\"Latest\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tStages: containerservice.FleetUpdateRunStageArray{\n\t\t\t\t\u0026containerservice.FleetUpdateRunStageArgs{\n\t\t\t\t\tName: pulumi.String(\"example\"),\n\t\t\t\t\tGroups: containerservice.FleetUpdateRunStageGroupArray{\n\t\t\t\t\t\t\u0026containerservice.FleetUpdateRunStageGroupArgs{\n\t\t\t\t\t\t\tName: pulumi.String(\"example-group\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tAfterStageWaitInSeconds: pulumi.Int(21),\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.containerservice.KubernetesFleetManager;\nimport com.pulumi.azure.containerservice.KubernetesFleetManagerArgs;\nimport com.pulumi.azure.containerservice.inputs.KubernetesFleetManagerHubProfileArgs;\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.containerservice.FleetMember;\nimport com.pulumi.azure.containerservice.FleetMemberArgs;\nimport com.pulumi.azure.containerservice.FleetUpdateRun;\nimport com.pulumi.azure.containerservice.FleetUpdateRunArgs;\nimport com.pulumi.azure.containerservice.inputs.FleetUpdateRunManagedClusterUpdateArgs;\nimport com.pulumi.azure.containerservice.inputs.FleetUpdateRunManagedClusterUpdateUpgradeArgs;\nimport com.pulumi.azure.containerservice.inputs.FleetUpdateRunManagedClusterUpdateNodeImageSelectionArgs;\nimport com.pulumi.azure.containerservice.inputs.FleetUpdateRunStageArgs;\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(\"westeurope\")\n .build());\n\n var exampleKubernetesFleetManager = new KubernetesFleetManager(\"exampleKubernetesFleetManager\", KubernetesFleetManagerArgs.builder() \n .location(example.location())\n .name(\"example\")\n .resourceGroupName(example.name())\n .hubProfile(KubernetesFleetManagerHubProfileArgs.builder()\n .dnsPrefix(\"example-dns-prefix\")\n .build())\n .build());\n\n var exampleKubernetesCluster = new KubernetesCluster(\"exampleKubernetesCluster\", KubernetesClusterArgs.builder() \n .name(\"example\")\n .location(example.location())\n .resourceGroupName(example.name())\n .dnsPrefix(\"example\")\n .defaultNodePool(KubernetesClusterDefaultNodePoolArgs.builder()\n .name(\"default\")\n .nodeCount(1)\n .vmSize(\"Standard_DS2_v2\")\n .build())\n .identity(KubernetesClusterIdentityArgs.builder()\n .type(\"SystemAssigned\")\n .build())\n .build());\n\n var exampleFleetMember = new FleetMember(\"exampleFleetMember\", FleetMemberArgs.builder() \n .name(\"example\")\n .kubernetesFleetId(exampleKubernetesFleetManager.id())\n .kubernetesClusterId(exampleKubernetesCluster.id())\n .group(\"example-group\")\n .build());\n\n var exampleFleetUpdateRun = new FleetUpdateRun(\"exampleFleetUpdateRun\", FleetUpdateRunArgs.builder() \n .name(\"example\")\n .kubernetesFleetManagerId(exampleKubernetesFleetManager.id())\n .managedClusterUpdate(FleetUpdateRunManagedClusterUpdateArgs.builder()\n .upgrade(FleetUpdateRunManagedClusterUpdateUpgradeArgs.builder()\n .type(\"Full\")\n .kubernetesVersion(\"1.27\")\n .build())\n .nodeImageSelection(FleetUpdateRunManagedClusterUpdateNodeImageSelectionArgs.builder()\n .type(\"Latest\")\n .build())\n .build())\n .stages(FleetUpdateRunStageArgs.builder()\n .name(\"example\")\n .groups(FleetUpdateRunStageGroupArgs.builder()\n .name(\"example-group\")\n .build())\n .afterStageWaitInSeconds(21)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: azure:core:ResourceGroup\n properties:\n name: example-rg\n location: westeurope\n exampleKubernetesFleetManager:\n type: azure:containerservice:KubernetesFleetManager\n name: example\n properties:\n location: ${example.location}\n name: example\n resourceGroupName: ${example.name}\n hubProfile:\n dnsPrefix: example-dns-prefix\n exampleKubernetesCluster:\n type: azure:containerservice:KubernetesCluster\n name: example\n properties:\n name: example\n location: ${example.location}\n resourceGroupName: ${example.name}\n dnsPrefix: example\n defaultNodePool:\n name: default\n nodeCount: 1\n vmSize: Standard_DS2_v2\n identity:\n type: SystemAssigned\n exampleFleetMember:\n type: azure:containerservice:FleetMember\n name: example\n properties:\n name: example\n kubernetesFleetId: ${exampleKubernetesFleetManager.id}\n kubernetesClusterId: ${exampleKubernetesCluster.id}\n group: example-group\n exampleFleetUpdateRun:\n type: azure:containerservice:FleetUpdateRun\n name: example\n properties:\n name: example\n kubernetesFleetManagerId: ${exampleKubernetesFleetManager.id}\n managedClusterUpdate:\n upgrade:\n type: Full\n kubernetesVersion: '1.27'\n nodeImageSelection:\n type: Latest\n stages:\n - name: example\n groups:\n - name: example-group\n afterStageWaitInSeconds: 21\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nKubernetes Fleet Update Runs can be imported using the `resource id`, e.g.\n\n ```sh\n $ pulumi import azure:containerservice/fleetUpdateRun:FleetUpdateRun example /subscriptions/12345678-1234-9876-4563-123456789012/resourceGroups/resourceGroup1/providers/Microsoft.ContainerService/fleets/fleet1/updateRuns/updateRun1\n```\n\n ", + "properties": { + "fleetUpdateStrategyId": { + "type": "string", + "description": "The ID of the Fleet Update Strategy. Only one of `fleet_update_strategy_id` or `stage` can be specified.\n" + }, + "kubernetesFleetManagerId": { + "type": "string", + "description": "The ID of the Fleet Manager. Changing this forces a new Kubernetes Fleet Update Run to be created.\n" + }, + "managedClusterUpdate": { + "$ref": "#/types/azure:containerservice/FleetUpdateRunManagedClusterUpdate:FleetUpdateRunManagedClusterUpdate", + "description": "A `managed_cluster_update` block as defined below.\n" + }, + "name": { + "type": "string", + "description": "The name which should be used for this Kubernetes Fleet Update Run. Changing this forces a new Kubernetes Fleet Update Run to be created.\n" + }, + "stages": { + "type": "array", + "items": { + "$ref": "#/types/azure:containerservice/FleetUpdateRunStage:FleetUpdateRunStage" + }, + "description": "One or more `stage` blocks as defined below. Only one of `stage` or `fleet_update_strategy_id` can be specified.\n" + } + }, + "required": [ + "kubernetesFleetManagerId", + "managedClusterUpdate", + "name" + ], + "inputProperties": { + "fleetUpdateStrategyId": { + "type": "string", + "description": "The ID of the Fleet Update Strategy. Only one of `fleet_update_strategy_id` or `stage` can be specified.\n" + }, + "kubernetesFleetManagerId": { + "type": "string", + "description": "The ID of the Fleet Manager. Changing this forces a new Kubernetes Fleet Update Run to be created.\n", + "willReplaceOnChanges": true + }, + "managedClusterUpdate": { + "$ref": "#/types/azure:containerservice/FleetUpdateRunManagedClusterUpdate:FleetUpdateRunManagedClusterUpdate", + "description": "A `managed_cluster_update` block as defined below.\n" + }, + "name": { + "type": "string", + "description": "The name which should be used for this Kubernetes Fleet Update Run. Changing this forces a new Kubernetes Fleet Update Run to be created.\n", + "willReplaceOnChanges": true + }, + "stages": { + "type": "array", + "items": { + "$ref": "#/types/azure:containerservice/FleetUpdateRunStage:FleetUpdateRunStage" + }, + "description": "One or more `stage` blocks as defined below. Only one of `stage` or `fleet_update_strategy_id` can be specified.\n" + } + }, + "requiredInputs": [ + "kubernetesFleetManagerId", + "managedClusterUpdate" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering FleetUpdateRun resources.\n", + "properties": { + "fleetUpdateStrategyId": { + "type": "string", + "description": "The ID of the Fleet Update Strategy. Only one of `fleet_update_strategy_id` or `stage` can be specified.\n" + }, + "kubernetesFleetManagerId": { + "type": "string", + "description": "The ID of the Fleet Manager. Changing this forces a new Kubernetes Fleet Update Run to be created.\n", + "willReplaceOnChanges": true + }, + "managedClusterUpdate": { + "$ref": "#/types/azure:containerservice/FleetUpdateRunManagedClusterUpdate:FleetUpdateRunManagedClusterUpdate", + "description": "A `managed_cluster_update` block as defined below.\n" + }, + "name": { + "type": "string", + "description": "The name which should be used for this Kubernetes Fleet Update Run. Changing this forces a new Kubernetes Fleet Update Run to be created.\n", + "willReplaceOnChanges": true + }, + "stages": { + "type": "array", + "items": { + "$ref": "#/types/azure:containerservice/FleetUpdateRunStage:FleetUpdateRunStage" + }, + "description": "One or more `stage` blocks as defined below. Only one of `stage` or `fleet_update_strategy_id` can be specified.\n" + } + }, + "type": "object" + } + }, "azure:containerservice/fleetUpdateStrategy:FleetUpdateStrategy": { "description": "Manages a Kubernetes Fleet Update Strategy.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\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: \"westeurope\",\n});\nconst exampleKubernetesFleetManager = new azure.containerservice.KubernetesFleetManager(\"example\", {\n location: example.location,\n name: \"example\",\n resourceGroupName: example.name,\n hubProfile: {\n dnsPrefix: \"example-dns-prefix\",\n },\n});\nconst exampleFleetUpdateStrategy = new azure.containerservice.FleetUpdateStrategy(\"example\", {\n name: \"example\",\n kubernetesFleetManagerId: exampleKubernetesFleetManager.id,\n stages: [{\n name: \"example-stage-1\",\n groups: [{\n name: \"example-group-1\",\n }],\n afterStageWaitInSeconds: 21,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.core.ResourceGroup(\"example\",\n name=\"example-rg\",\n location=\"westeurope\")\nexample_kubernetes_fleet_manager = azure.containerservice.KubernetesFleetManager(\"example\",\n location=example.location,\n name=\"example\",\n resource_group_name=example.name,\n hub_profile=azure.containerservice.KubernetesFleetManagerHubProfileArgs(\n dns_prefix=\"example-dns-prefix\",\n ))\nexample_fleet_update_strategy = azure.containerservice.FleetUpdateStrategy(\"example\",\n name=\"example\",\n kubernetes_fleet_manager_id=example_kubernetes_fleet_manager.id,\n stages=[azure.containerservice.FleetUpdateStrategyStageArgs(\n name=\"example-stage-1\",\n groups=[azure.containerservice.FleetUpdateStrategyStageGroupArgs(\n name=\"example-group-1\",\n )],\n after_stage_wait_in_seconds=21,\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 = \"westeurope\",\n });\n\n var exampleKubernetesFleetManager = new Azure.ContainerService.KubernetesFleetManager(\"example\", new()\n {\n Location = example.Location,\n Name = \"example\",\n ResourceGroupName = example.Name,\n HubProfile = new Azure.ContainerService.Inputs.KubernetesFleetManagerHubProfileArgs\n {\n DnsPrefix = \"example-dns-prefix\",\n },\n });\n\n var exampleFleetUpdateStrategy = new Azure.ContainerService.FleetUpdateStrategy(\"example\", new()\n {\n Name = \"example\",\n KubernetesFleetManagerId = exampleKubernetesFleetManager.Id,\n Stages = new[]\n {\n new Azure.ContainerService.Inputs.FleetUpdateStrategyStageArgs\n {\n Name = \"example-stage-1\",\n Groups = new[]\n {\n new Azure.ContainerService.Inputs.FleetUpdateStrategyStageGroupArgs\n {\n Name = \"example-group-1\",\n },\n },\n AfterStageWaitInSeconds = 21,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/containerservice\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v5/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(\"example-rg\"),\n\t\t\tLocation: pulumi.String(\"westeurope\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleKubernetesFleetManager, err := containerservice.NewKubernetesFleetManager(ctx, \"example\", \u0026containerservice.KubernetesFleetManagerArgs{\n\t\t\tLocation: example.Location,\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tHubProfile: \u0026containerservice.KubernetesFleetManagerHubProfileArgs{\n\t\t\t\tDnsPrefix: pulumi.String(\"example-dns-prefix\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = containerservice.NewFleetUpdateStrategy(ctx, \"example\", \u0026containerservice.FleetUpdateStrategyArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tKubernetesFleetManagerId: exampleKubernetesFleetManager.ID(),\n\t\t\tStages: containerservice.FleetUpdateStrategyStageArray{\n\t\t\t\t\u0026containerservice.FleetUpdateStrategyStageArgs{\n\t\t\t\t\tName: pulumi.String(\"example-stage-1\"),\n\t\t\t\t\tGroups: containerservice.FleetUpdateStrategyStageGroupArray{\n\t\t\t\t\t\t\u0026containerservice.FleetUpdateStrategyStageGroupArgs{\n\t\t\t\t\t\t\tName: pulumi.String(\"example-group-1\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tAfterStageWaitInSeconds: pulumi.Int(21),\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.containerservice.KubernetesFleetManager;\nimport com.pulumi.azure.containerservice.KubernetesFleetManagerArgs;\nimport com.pulumi.azure.containerservice.inputs.KubernetesFleetManagerHubProfileArgs;\nimport com.pulumi.azure.containerservice.FleetUpdateStrategy;\nimport com.pulumi.azure.containerservice.FleetUpdateStrategyArgs;\nimport com.pulumi.azure.containerservice.inputs.FleetUpdateStrategyStageArgs;\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(\"westeurope\")\n .build());\n\n var exampleKubernetesFleetManager = new KubernetesFleetManager(\"exampleKubernetesFleetManager\", KubernetesFleetManagerArgs.builder() \n .location(example.location())\n .name(\"example\")\n .resourceGroupName(example.name())\n .hubProfile(KubernetesFleetManagerHubProfileArgs.builder()\n .dnsPrefix(\"example-dns-prefix\")\n .build())\n .build());\n\n var exampleFleetUpdateStrategy = new FleetUpdateStrategy(\"exampleFleetUpdateStrategy\", FleetUpdateStrategyArgs.builder() \n .name(\"example\")\n .kubernetesFleetManagerId(exampleKubernetesFleetManager.id())\n .stages(FleetUpdateStrategyStageArgs.builder()\n .name(\"example-stage-1\")\n .groups(FleetUpdateStrategyStageGroupArgs.builder()\n .name(\"example-group-1\")\n .build())\n .afterStageWaitInSeconds(21)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: azure:core:ResourceGroup\n properties:\n name: example-rg\n location: westeurope\n exampleKubernetesFleetManager:\n type: azure:containerservice:KubernetesFleetManager\n name: example\n properties:\n location: ${example.location}\n name: example\n resourceGroupName: ${example.name}\n hubProfile:\n dnsPrefix: example-dns-prefix\n exampleFleetUpdateStrategy:\n type: azure:containerservice:FleetUpdateStrategy\n name: example\n properties:\n name: example\n kubernetesFleetManagerId: ${exampleKubernetesFleetManager.id}\n stages:\n - name: example-stage-1\n groups:\n - name: example-group-1\n afterStageWaitInSeconds: 21\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nKubernetes Fleet Update Strategies can be imported using the `resource id`, e.g.\n\n ```sh\n $ pulumi import azure:containerservice/fleetUpdateStrategy:FleetUpdateStrategy example /subscriptions/12345678-1234-9876-4563-123456789012/resourceGroups/resourceGroup1/providers/Microsoft.ContainerService/fleets/fleet1/updateStrategies/updateStrategy1\n```\n\n ", "properties": { @@ -147835,6 +148256,10 @@ "$ref": "#/types/azure:containerservice/KubernetesClusterConfidentialComputing:KubernetesClusterConfidentialComputing", "description": "A `confidential_computing` block as defined below. For more details please [the documentation](https://learn.microsoft.com/en-us/azure/confidential-computing/confidential-nodes-aks-overview)\n" }, + "currentKubernetesVersion": { + "type": "string", + "description": "The current version running on the Azure Kubernetes Managed Cluster.\n" + }, "customCaTrustCertificatesBase64s": { "type": "array", "items": { @@ -148093,6 +148518,7 @@ "apiServerAccessProfile", "apiServerAuthorizedIpRanges", "autoScalerProfile", + "currentKubernetesVersion", "defaultNodePool", "fqdn", "httpApplicationRoutingZoneName", @@ -148408,6 +148834,10 @@ "$ref": "#/types/azure:containerservice/KubernetesClusterConfidentialComputing:KubernetesClusterConfidentialComputing", "description": "A `confidential_computing` block as defined below. For more details please [the documentation](https://learn.microsoft.com/en-us/azure/confidential-computing/confidential-nodes-aks-overview)\n" }, + "currentKubernetesVersion": { + "type": "string", + "description": "The current version running on the Azure Kubernetes Managed Cluster.\n" + }, "customCaTrustCertificatesBase64s": { "type": "array", "items": { @@ -148999,7 +149429,7 @@ }, "osSku": { "type": "string", - "description": "Specifies the OS SKU used by the agent pool. Possible values are `AzureLinux`, `CBLMariner`, `Mariner`, `Ubuntu`, `Windows2019` and `Windows2022`. If not specified, the default is `Ubuntu` if OSType=Linux or `Windows2019` if OSType=Windows. And the default Windows OSSKU will be changed to `Windows2022` after Windows2019 is deprecated. Changing this forces a new resource to be created.\n" + "description": "Specifies the OS SKU used by the agent pool. Possible values are `AzureLinux`, `Ubuntu`, `Windows2019` and `Windows2022`. If not specified, the default is `Ubuntu` if OSType=Linux or `Windows2019` if OSType=Windows. And the default Windows OSSKU will be changed to `Windows2022` after Windows2019 is deprecated. Changing this forces a new resource to be created.\n" }, "osType": { "type": "string", @@ -149213,7 +149643,7 @@ }, "osSku": { "type": "string", - "description": "Specifies the OS SKU used by the agent pool. Possible values are `AzureLinux`, `CBLMariner`, `Mariner`, `Ubuntu`, `Windows2019` and `Windows2022`. If not specified, the default is `Ubuntu` if OSType=Linux or `Windows2019` if OSType=Windows. And the default Windows OSSKU will be changed to `Windows2022` after Windows2019 is deprecated. Changing this forces a new resource to be created.\n", + "description": "Specifies the OS SKU used by the agent pool. Possible values are `AzureLinux`, `Ubuntu`, `Windows2019` and `Windows2022`. If not specified, the default is `Ubuntu` if OSType=Linux or `Windows2019` if OSType=Windows. And the default Windows OSSKU will be changed to `Windows2022` after Windows2019 is deprecated. Changing this forces a new resource to be created.\n", "willReplaceOnChanges": true }, "osType": { @@ -149433,7 +149863,7 @@ }, "osSku": { "type": "string", - "description": "Specifies the OS SKU used by the agent pool. Possible values are `AzureLinux`, `CBLMariner`, `Mariner`, `Ubuntu`, `Windows2019` and `Windows2022`. If not specified, the default is `Ubuntu` if OSType=Linux or `Windows2019` if OSType=Windows. And the default Windows OSSKU will be changed to `Windows2022` after Windows2019 is deprecated. Changing this forces a new resource to be created.\n", + "description": "Specifies the OS SKU used by the agent pool. Possible values are `AzureLinux`, `Ubuntu`, `Windows2019` and `Windows2022`. If not specified, the default is `Ubuntu` if OSType=Linux or `Windows2019` if OSType=Windows. And the default Windows OSSKU will be changed to `Windows2022` after Windows2019 is deprecated. Changing this forces a new resource to be created.\n", "willReplaceOnChanges": true }, "osType": { @@ -154860,6 +155290,10 @@ "type": "string", "description": "Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n" }, + "minimalTlsVersion": { + "type": "string", + "description": "Specifies the minimal TLS version for the CosmosDB account. Possible values are: `Tls`, `Tls11`, and `Tls12`. Defaults to `Tls12`.\n" + }, "mongoServerVersion": { "type": "string", "description": "The Server Version of a MongoDB account. Possible values are `4.2`, `4.0`, `3.6`, and `3.2`.\n" @@ -154999,6 +155433,7 @@ "endpoint", "geoLocations", "location", + "minimalTlsVersion", "mongoServerVersion", "name", "offerType", @@ -155114,6 +155549,10 @@ "description": "Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n", "willReplaceOnChanges": true }, + "minimalTlsVersion": { + "type": "string", + "description": "Specifies the minimal TLS version for the CosmosDB account. Possible values are: `Tls`, `Tls11`, and `Tls12`. Defaults to `Tls12`.\n" + }, "mongoServerVersion": { "type": "string", "description": "The Server Version of a MongoDB account. Possible values are `4.2`, `4.0`, `3.6`, and `3.2`.\n" @@ -155286,6 +155725,10 @@ "description": "Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n", "willReplaceOnChanges": true }, + "minimalTlsVersion": { + "type": "string", + "description": "Specifies the minimal TLS version for the CosmosDB account. Possible values are: `Tls`, `Tls11`, and `Tls12`. Defaults to `Tls12`.\n" + }, "mongoServerVersion": { "type": "string", "description": "The Server Version of a MongoDB account. Possible values are `4.2`, `4.0`, `3.6`, and `3.2`.\n" @@ -170867,6 +171310,14 @@ "type": "string", "description": "The name of the Resource Group where the Backup Vault should exist. Changing this forces a new Backup Vault to be created.\n" }, + "retentionDurationInDays": { + "type": "number", + "description": "The soft delete retention duration for this Backup Vault. Possible values are between `14` and `180`. Defaults to `14`.\n\n\u003e **Note:** The `retention_duration_in_days` is the number of days for which deleted data is retained before being permanently deleted. Retention period till 14 days are free of cost, however, retention beyond 14 days may incur additional charges. The `retention_duration_in_days` is required when the `soft_delete` is set to `On`.\n" + }, + "softDelete": { + "type": "string", + "description": "The state of soft delete for this Backup Vault. Possible values are `AlwaysOn`, `Off` and `On`. Defaults to `On`.\n\n\u003e **Note:** Once the `soft_delete` is set to `AlwaysOn`, the setting cannot be changed.\n" + }, "tags": { "type": "object", "additionalProperties": { @@ -170912,6 +171363,14 @@ "description": "The name of the Resource Group where the Backup Vault should exist. Changing this forces a new Backup Vault to be created.\n", "willReplaceOnChanges": true }, + "retentionDurationInDays": { + "type": "number", + "description": "The soft delete retention duration for this Backup Vault. Possible values are between `14` and `180`. Defaults to `14`.\n\n\u003e **Note:** The `retention_duration_in_days` is the number of days for which deleted data is retained before being permanently deleted. Retention period till 14 days are free of cost, however, retention beyond 14 days may incur additional charges. The `retention_duration_in_days` is required when the `soft_delete` is set to `On`.\n" + }, + "softDelete": { + "type": "string", + "description": "The state of soft delete for this Backup Vault. Possible values are `AlwaysOn`, `Off` and `On`. Defaults to `On`.\n\n\u003e **Note:** Once the `soft_delete` is set to `AlwaysOn`, the setting cannot be changed.\n" + }, "tags": { "type": "object", "additionalProperties": { @@ -170957,6 +171416,14 @@ "description": "The name of the Resource Group where the Backup Vault should exist. Changing this forces a new Backup Vault to be created.\n", "willReplaceOnChanges": true }, + "retentionDurationInDays": { + "type": "number", + "description": "The soft delete retention duration for this Backup Vault. Possible values are between `14` and `180`. Defaults to `14`.\n\n\u003e **Note:** The `retention_duration_in_days` is the number of days for which deleted data is retained before being permanently deleted. Retention period till 14 days are free of cost, however, retention beyond 14 days may incur additional charges. The `retention_duration_in_days` is required when the `soft_delete` is set to `On`.\n" + }, + "softDelete": { + "type": "string", + "description": "The state of soft delete for this Backup Vault. Possible values are `AlwaysOn`, `Off` and `On`. Defaults to `On`.\n\n\u003e **Note:** Once the `soft_delete` is set to `AlwaysOn`, the setting cannot be changed.\n" + }, "tags": { "type": "object", "additionalProperties": { @@ -172616,6 +173083,78 @@ "type": "object" } }, + "azure:devcenter/catalog:Catalog": { + "properties": { + "catalogAdogit": { + "$ref": "#/types/azure:devcenter/CatalogCatalogAdogit:CatalogCatalogAdogit" + }, + "catalogGithub": { + "$ref": "#/types/azure:devcenter/CatalogCatalogGithub:CatalogCatalogGithub" + }, + "devCenterId": { + "type": "string" + }, + "name": { + "type": "string" + }, + "resourceGroupName": { + "type": "string" + } + }, + "required": [ + "devCenterId", + "name", + "resourceGroupName" + ], + "inputProperties": { + "catalogAdogit": { + "$ref": "#/types/azure:devcenter/CatalogCatalogAdogit:CatalogCatalogAdogit" + }, + "catalogGithub": { + "$ref": "#/types/azure:devcenter/CatalogCatalogGithub:CatalogCatalogGithub" + }, + "devCenterId": { + "type": "string", + "willReplaceOnChanges": true + }, + "name": { + "type": "string", + "willReplaceOnChanges": true + }, + "resourceGroupName": { + "type": "string", + "willReplaceOnChanges": true + } + }, + "requiredInputs": [ + "devCenterId", + "resourceGroupName" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering Catalog resources.\n", + "properties": { + "catalogAdogit": { + "$ref": "#/types/azure:devcenter/CatalogCatalogAdogit:CatalogCatalogAdogit" + }, + "catalogGithub": { + "$ref": "#/types/azure:devcenter/CatalogCatalogGithub:CatalogCatalogGithub" + }, + "devCenterId": { + "type": "string", + "willReplaceOnChanges": true + }, + "name": { + "type": "string", + "willReplaceOnChanges": true + }, + "resourceGroupName": { + "type": "string", + "willReplaceOnChanges": true + } + }, + "type": "object" + } + }, "azure:devcenter/devCenter:DevCenter": { "description": "\u003c!-- Note: This documentation is generated. Any manual changes will be overwritten --\u003e\n\nManages a Dev Center.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\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 exampleUserAssignedIdentity = new azure.authorization.UserAssignedIdentity(\"example\", {\n name: \"example\",\n resourceGroupName: example.name,\n location: example.location,\n});\nconst exampleDevCenter = new azure.devcenter.DevCenter(\"example\", {\n location: example.location,\n name: \"example\",\n resourceGroupName: example.name,\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_user_assigned_identity = azure.authorization.UserAssignedIdentity(\"example\",\n name=\"example\",\n resource_group_name=example.name,\n location=example.location)\nexample_dev_center = azure.devcenter.DevCenter(\"example\",\n location=example.location,\n name=\"example\",\n resource_group_name=example.name)\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 exampleUserAssignedIdentity = new Azure.Authorization.UserAssignedIdentity(\"example\", new()\n {\n Name = \"example\",\n ResourceGroupName = example.Name,\n Location = example.Location,\n });\n\n var exampleDevCenter = new Azure.DevCenter.DevCenter(\"example\", new()\n {\n Location = example.Location,\n Name = \"example\",\n ResourceGroupName = example.Name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/authorization\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/devcenter\"\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 = authorization.NewUserAssignedIdentity(ctx, \"example\", \u0026authorization.UserAssignedIdentityArgs{\n\t\t\tName: pulumi.String(\"example\"),\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\t_, err = devcenter.NewDevCenter(ctx, \"example\", \u0026devcenter.DevCenterArgs{\n\t\t\tLocation: example.Location,\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tResourceGroupName: example.Name,\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.authorization.UserAssignedIdentity;\nimport com.pulumi.azure.authorization.UserAssignedIdentityArgs;\nimport com.pulumi.azure.devcenter.DevCenter;\nimport com.pulumi.azure.devcenter.DevCenterArgs;\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 exampleUserAssignedIdentity = new UserAssignedIdentity(\"exampleUserAssignedIdentity\", UserAssignedIdentityArgs.builder() \n .name(\"example\")\n .resourceGroupName(example.name())\n .location(example.location())\n .build());\n\n var exampleDevCenter = new DevCenter(\"exampleDevCenter\", DevCenterArgs.builder() \n .location(example.location())\n .name(\"example\")\n .resourceGroupName(example.name())\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 exampleUserAssignedIdentity:\n type: azure:authorization:UserAssignedIdentity\n name: example\n properties:\n name: example\n resourceGroupName: ${example.name}\n location: ${example.location}\n exampleDevCenter:\n type: azure:devcenter:DevCenter\n name: example\n properties:\n location: ${example.location}\n name: example\n resourceGroupName: ${example.name}\n```\n{{% /example %}}\n{{% /examples %}}\n## Blocks Reference\n\n### `identity` Block\n\n\nThe `identity` block supports the following arguments:\n\n* `type` - (Required) Specifies the type of Managed Identity that should be assigned to this Dev Center. Possible values are `SystemAssigned`, `SystemAssigned, UserAssigned` and `UserAssigned`.\n* `identity_ids` - (Optional) A list of the User Assigned Identity IDs that should be assigned to this Dev Center.\n\n\nIn addition to the arguments defined above, the `identity` block exports the following attributes:\n\n* `principal_id` - The Principal ID for the System-Assigned Managed Identity assigned to this Dev Center.\n* `tenant_id` - The Tenant ID for the System-Assigned Managed Identity assigned to this Dev Center.\n\n\n## Import\n\nAn existing Dev Center can be imported into Terraform using the `resource id`, e.g.\n\n ```sh\n $ pulumi import azure:devcenter/devCenter:DevCenter example /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/devCenters/{devCenterName}\n```\n\n * Where `{subscriptionId}` is the ID of the Azure Subscription where the Dev Center exists. For example `12345678-1234-9876-4563-123456789012`.\n\n * Where `{resourceGroupName}` is the name of Resource Group where this Dev Center exists. For example `example-resource-group`.\n\n * Where `{devCenterName}` is the name of the Dev Center. For example `devCenterValue`.\n\n ", "properties": { @@ -180531,6 +181070,10 @@ "$ref": "#/types/azure:eventhub/NamespaceNetworkRuleSet:NamespaceNetworkRuleSet", "description": "An `network_rule_set` block as defined below.\n" }, + "premiumMessagingPartitions": { + "type": "integer", + "description": "Specifies the number messaging partitions. Only valid when `sku` is `Premium` and the minimum number is `1`. Possible values include `0`, `1`, `2`, and `4`. Defaults to `0` for Standard, Basic namespace. Changing this forces a new resource to be created.\n\n\u003e **Note:** It's not possible to change the partitioning option on any existing namespace. The number of partitions can only be set during namespace creation. Please check the doc https://learn.microsoft.com/en-us/azure/service-bus-messaging/enable-partitions-premium for more feature restrictions.\n" + }, "publicNetworkAccessEnabled": { "type": "boolean", "description": "Is public network access enabled for the Service Bus Namespace? Defaults to `true`.\n" @@ -180603,6 +181146,11 @@ "$ref": "#/types/azure:eventhub/NamespaceNetworkRuleSet:NamespaceNetworkRuleSet", "description": "An `network_rule_set` block as defined below.\n" }, + "premiumMessagingPartitions": { + "type": "integer", + "description": "Specifies the number messaging partitions. Only valid when `sku` is `Premium` and the minimum number is `1`. Possible values include `0`, `1`, `2`, and `4`. Defaults to `0` for Standard, Basic namespace. Changing this forces a new resource to be created.\n\n\u003e **Note:** It's not possible to change the partitioning option on any existing namespace. The number of partitions can only be set during namespace creation. Please check the doc https://learn.microsoft.com/en-us/azure/service-bus-messaging/enable-partitions-premium for more feature restrictions.\n", + "willReplaceOnChanges": true + }, "publicNetworkAccessEnabled": { "type": "boolean", "description": "Is public network access enabled for the Service Bus Namespace? Defaults to `true`.\n" @@ -180694,6 +181242,11 @@ "$ref": "#/types/azure:eventhub/NamespaceNetworkRuleSet:NamespaceNetworkRuleSet", "description": "An `network_rule_set` block as defined below.\n" }, + "premiumMessagingPartitions": { + "type": "integer", + "description": "Specifies the number messaging partitions. Only valid when `sku` is `Premium` and the minimum number is `1`. Possible values include `0`, `1`, `2`, and `4`. Defaults to `0` for Standard, Basic namespace. Changing this forces a new resource to be created.\n\n\u003e **Note:** It's not possible to change the partitioning option on any existing namespace. The number of partitions can only be set during namespace creation. Please check the doc https://learn.microsoft.com/en-us/azure/service-bus-messaging/enable-partitions-premium for more feature restrictions.\n", + "willReplaceOnChanges": true + }, "publicNetworkAccessEnabled": { "type": "boolean", "description": "Is public network access enabled for the Service Bus Namespace? Defaults to `true`.\n" @@ -181821,7 +182374,7 @@ }, "requiresDuplicateDetection": { "type": "boolean", - "description": "Boolean flag which controls whether Changing this forces a new resource to be created.\nthe Topic requires duplicate detection. Defaults to false. Changing this forces\na new resource to be created.\n" + "description": "Boolean flag which controls whether the Topic requires duplicate detection. Defaults to false. Changing this forcesa new resource to be created.\n" }, "resourceGroupName": { "type": "string" @@ -181892,7 +182445,7 @@ }, "requiresDuplicateDetection": { "type": "boolean", - "description": "Boolean flag which controls whether Changing this forces a new resource to be created.\nthe Topic requires duplicate detection. Defaults to false. Changing this forces\na new resource to be created.\n", + "description": "Boolean flag which controls whether the Topic requires duplicate detection. Defaults to false. Changing this forcesa new resource to be created.\n", "willReplaceOnChanges": true }, "status": { @@ -181958,7 +182511,7 @@ }, "requiresDuplicateDetection": { "type": "boolean", - "description": "Boolean flag which controls whether Changing this forces a new resource to be created.\nthe Topic requires duplicate detection. Defaults to false. Changing this forces\na new resource to be created.\n", + "description": "Boolean flag which controls whether the Topic requires duplicate detection. Defaults to false. Changing this forcesa new resource to be created.\n", "willReplaceOnChanges": true }, "resourceGroupName": { @@ -191046,7 +191599,7 @@ }, "certificatePolicy": { "$ref": "#/types/azure:keyvault/CertifiateCertificatePolicy:CertifiateCertificatePolicy", - "description": "A `certificate_policy` block as defined below. Changing this will create a new version of the Key Vault Certificate.\n\n\u003e **NOTE:** When creating a Key Vault Certificate, at least one of `certificate` or `certificate_policy` is required. Provide `certificate` to import an existing certificate, `certificate_policy` to generate a new certificate.\n" + "description": "A `certificate_policy` block as defined below. Changing this (except the `lifetime_action` field) will create a new version of the Key Vault Certificate.\n\n\u003e **NOTE:** When creating a Key Vault Certificate, at least one of `certificate` or `certificate_policy` is required. Provide `certificate` to import an existing certificate, `certificate_policy` to generate a new certificate.\n" }, "keyVaultId": { "type": "string", @@ -191119,7 +191672,7 @@ }, "certificatePolicy": { "$ref": "#/types/azure:keyvault/CertifiateCertificatePolicy:CertifiateCertificatePolicy", - "description": "A `certificate_policy` block as defined below. Changing this will create a new version of the Key Vault Certificate.\n\n\u003e **NOTE:** When creating a Key Vault Certificate, at least one of `certificate` or `certificate_policy` is required. Provide `certificate` to import an existing certificate, `certificate_policy` to generate a new certificate.\n" + "description": "A `certificate_policy` block as defined below. Changing this (except the `lifetime_action` field) will create a new version of the Key Vault Certificate.\n\n\u003e **NOTE:** When creating a Key Vault Certificate, at least one of `certificate` or `certificate_policy` is required. Provide `certificate` to import an existing certificate, `certificate_policy` to generate a new certificate.\n" }, "keyVaultId": { "type": "string", @@ -191171,7 +191724,7 @@ }, "certificatePolicy": { "$ref": "#/types/azure:keyvault/CertifiateCertificatePolicy:CertifiateCertificatePolicy", - "description": "A `certificate_policy` block as defined below. Changing this will create a new version of the Key Vault Certificate.\n\n\u003e **NOTE:** When creating a Key Vault Certificate, at least one of `certificate` or `certificate_policy` is required. Provide `certificate` to import an existing certificate, `certificate_policy` to generate a new certificate.\n" + "description": "A `certificate_policy` block as defined below. Changing this (except the `lifetime_action` field) will create a new version of the Key Vault Certificate.\n\n\u003e **NOTE:** When creating a Key Vault Certificate, at least one of `certificate` or `certificate_policy` is required. Provide `certificate` to import an existing certificate, `certificate_policy` to generate a new certificate.\n" }, "keyVaultId": { "type": "string", @@ -191252,7 +191805,7 @@ }, "certificatePolicy": { "$ref": "#/types/azure:keyvault/CertificateCertificatePolicy:CertificateCertificatePolicy", - "description": "A `certificate_policy` block as defined below. Changing this will create a new version of the Key Vault Certificate.\n\n\u003e **NOTE:** When creating a Key Vault Certificate, at least one of `certificate` or `certificate_policy` is required. Provide `certificate` to import an existing certificate, `certificate_policy` to generate a new certificate.\n" + "description": "A `certificate_policy` block as defined below. Changing this (except the `lifetime_action` field) will create a new version of the Key Vault Certificate.\n\n\u003e **NOTE:** When creating a Key Vault Certificate, at least one of `certificate` or `certificate_policy` is required. Provide `certificate` to import an existing certificate, `certificate_policy` to generate a new certificate.\n" }, "keyVaultId": { "type": "string", @@ -191325,7 +191878,7 @@ }, "certificatePolicy": { "$ref": "#/types/azure:keyvault/CertificateCertificatePolicy:CertificateCertificatePolicy", - "description": "A `certificate_policy` block as defined below. Changing this will create a new version of the Key Vault Certificate.\n\n\u003e **NOTE:** When creating a Key Vault Certificate, at least one of `certificate` or `certificate_policy` is required. Provide `certificate` to import an existing certificate, `certificate_policy` to generate a new certificate.\n" + "description": "A `certificate_policy` block as defined below. Changing this (except the `lifetime_action` field) will create a new version of the Key Vault Certificate.\n\n\u003e **NOTE:** When creating a Key Vault Certificate, at least one of `certificate` or `certificate_policy` is required. Provide `certificate` to import an existing certificate, `certificate_policy` to generate a new certificate.\n" }, "keyVaultId": { "type": "string", @@ -191377,7 +191930,7 @@ }, "certificatePolicy": { "$ref": "#/types/azure:keyvault/CertificateCertificatePolicy:CertificateCertificatePolicy", - "description": "A `certificate_policy` block as defined below. Changing this will create a new version of the Key Vault Certificate.\n\n\u003e **NOTE:** When creating a Key Vault Certificate, at least one of `certificate` or `certificate_policy` is required. Provide `certificate` to import an existing certificate, `certificate_policy` to generate a new certificate.\n" + "description": "A `certificate_policy` block as defined below. Changing this (except the `lifetime_action` field) will create a new version of the Key Vault Certificate.\n\n\u003e **NOTE:** When creating a Key Vault Certificate, at least one of `certificate` or `certificate_policy` is required. Provide `certificate` to import an existing certificate, `certificate_policy` to generate a new certificate.\n" }, "keyVaultId": { "type": "string", @@ -191624,7 +192177,7 @@ }, "expirationDate": { "type": "string", - "description": "Expiration UTC datetime (Y-m-d'T'H:M:S'Z').\n" + "description": "Expiration UTC datetime (Y-m-d'T'H:M:S'Z'). When this parameter gets changed on reruns, if newer date is ahead of current date, an update is performed. If the newer date is before the current date, resource will be force created.\n" }, "keyOpts": { "type": "array", @@ -191655,7 +192208,7 @@ }, "notBeforeDate": { "type": "string", - "description": "Key not usable before the provided UTC datetime (Y-m-d'T'H:M:S'Z').\n" + "description": "Key not usable before the provided UTC datetime (Y-m-d'T'H:M:S'Z').\n\n\u003e **Note:** Once `expiration_date` is set, it's not possible to unset the key even if it is deleted \u0026 recreated as underlying Azure API uses the restore of the purged key.\n" }, "publicKeyOpenssh": { "type": "string", @@ -191726,7 +192279,7 @@ }, "expirationDate": { "type": "string", - "description": "Expiration UTC datetime (Y-m-d'T'H:M:S'Z').\n" + "description": "Expiration UTC datetime (Y-m-d'T'H:M:S'Z'). When this parameter gets changed on reruns, if newer date is ahead of current date, an update is performed. If the newer date is before the current date, resource will be force created.\n" }, "keyOpts": { "type": "array", @@ -191757,7 +192310,7 @@ }, "notBeforeDate": { "type": "string", - "description": "Key not usable before the provided UTC datetime (Y-m-d'T'H:M:S'Z').\n" + "description": "Key not usable before the provided UTC datetime (Y-m-d'T'H:M:S'Z').\n\n\u003e **Note:** Once `expiration_date` is set, it's not possible to unset the key even if it is deleted \u0026 recreated as underlying Azure API uses the restore of the purged key.\n" }, "rotationPolicy": { "$ref": "#/types/azure:keyvault/KeyRotationPolicy:KeyRotationPolicy", @@ -191790,7 +192343,7 @@ }, "expirationDate": { "type": "string", - "description": "Expiration UTC datetime (Y-m-d'T'H:M:S'Z').\n" + "description": "Expiration UTC datetime (Y-m-d'T'H:M:S'Z'). When this parameter gets changed on reruns, if newer date is ahead of current date, an update is performed. If the newer date is before the current date, resource will be force created.\n" }, "keyOpts": { "type": "array", @@ -191825,7 +192378,7 @@ }, "notBeforeDate": { "type": "string", - "description": "Key not usable before the provided UTC datetime (Y-m-d'T'H:M:S'Z').\n" + "description": "Key not usable before the provided UTC datetime (Y-m-d'T'H:M:S'Z').\n\n\u003e **Note:** Once `expiration_date` is set, it's not possible to unset the key even if it is deleted \u0026 recreated as underlying Azure API uses the restore of the purged key.\n" }, "publicKeyOpenssh": { "type": "string", @@ -202022,6 +202575,10 @@ "type": "string", "description": "Specifies the supported Azure location where the Machine Learning Workspace should exist. Changing this forces a new resource to be created.\n" }, + "managedNetwork": { + "$ref": "#/types/azure:machinelearning/WorkspaceManagedNetwork:WorkspaceManagedNetwork", + "description": "A `managed_network` block as defined below.\n" + }, "name": { "type": "string", "description": "Specifies the name of the Machine Learning Workspace. Changing this forces a new resource to be created.\n" @@ -202045,7 +202602,7 @@ }, "skuName": { "type": "string", - "description": "SKU/edition of the Machine Learning Workspace, possible values are `Basic`. Defaults to `Basic`.\n" + "description": "SKU/edition of the Machine Learning Workspace, possible values are `Free`, `Basic`, `Standard` and `Premium`. Defaults to `Basic`.\n" }, "storageAccountId": { "type": "string", @@ -202073,6 +202630,7 @@ "identity", "keyVaultId", "location", + "managedNetwork", "name", "publicNetworkAccessEnabled", "resourceGroupName", @@ -202134,6 +202692,10 @@ "description": "Specifies the supported Azure location where the Machine Learning Workspace should exist. Changing this forces a new resource to be created.\n", "willReplaceOnChanges": true }, + "managedNetwork": { + "$ref": "#/types/azure:machinelearning/WorkspaceManagedNetwork:WorkspaceManagedNetwork", + "description": "A `managed_network` block as defined below.\n" + }, "name": { "type": "string", "description": "Specifies the name of the Machine Learning Workspace. Changing this forces a new resource to be created.\n", @@ -202160,7 +202722,7 @@ }, "skuName": { "type": "string", - "description": "SKU/edition of the Machine Learning Workspace, possible values are `Basic`. Defaults to `Basic`.\n" + "description": "SKU/edition of the Machine Learning Workspace, possible values are `Free`, `Basic`, `Standard` and `Premium`. Defaults to `Basic`.\n" }, "storageAccountId": { "type": "string", @@ -202247,6 +202809,10 @@ "description": "Specifies the supported Azure location where the Machine Learning Workspace should exist. Changing this forces a new resource to be created.\n", "willReplaceOnChanges": true }, + "managedNetwork": { + "$ref": "#/types/azure:machinelearning/WorkspaceManagedNetwork:WorkspaceManagedNetwork", + "description": "A `managed_network` block as defined below.\n" + }, "name": { "type": "string", "description": "Specifies the name of the Machine Learning Workspace. Changing this forces a new resource to be created.\n", @@ -202273,7 +202839,7 @@ }, "skuName": { "type": "string", - "description": "SKU/edition of the Machine Learning Workspace, possible values are `Basic`. Defaults to `Basic`.\n" + "description": "SKU/edition of the Machine Learning Workspace, possible values are `Free`, `Basic`, `Standard` and `Premium`. Defaults to `Basic`.\n" }, "storageAccountId": { "type": "string", @@ -213620,10 +214186,18 @@ "type": "string", "description": "The ID of the database to be recovered. This property is only applicable when the `create_mode` is `Recovery`.\n" }, + "recoveryPointId": { + "type": "string", + "description": "The ID of the Recovery Services Recovery Point Id to be restored. This property is only applicable when the `create_mode` is `Recovery`.\n" + }, "restoreDroppedDatabaseId": { "type": "string", "description": "The ID of the database to be restored. This property is only applicable when the `create_mode` is `Restore`.\n" }, + "restoreLongTermRetentionBackupId": { + "type": "string", + "description": "The ID of the long term retention backup to be restored. This property is only applicable when the `create_mode` is `RestoreLongTermRetentionBackup`.\n" + }, "restorePointInTime": { "type": "string", "description": "Specifies the point in time (ISO8601 format) of the source database that will be restored to create the new database. This property is only settable for `create_mode`= `PointInTimeRestore` databases.\n" @@ -213779,10 +214353,18 @@ "type": "string", "description": "The ID of the database to be recovered. This property is only applicable when the `create_mode` is `Recovery`.\n" }, + "recoveryPointId": { + "type": "string", + "description": "The ID of the Recovery Services Recovery Point Id to be restored. This property is only applicable when the `create_mode` is `Recovery`.\n" + }, "restoreDroppedDatabaseId": { "type": "string", "description": "The ID of the database to be restored. This property is only applicable when the `create_mode` is `Restore`.\n" }, + "restoreLongTermRetentionBackupId": { + "type": "string", + "description": "The ID of the long term retention backup to be restored. This property is only applicable when the `create_mode` is `RestoreLongTermRetentionBackup`.\n" + }, "restorePointInTime": { "type": "string", "description": "Specifies the point in time (ISO8601 format) of the source database that will be restored to create the new database. This property is only settable for `create_mode`= `PointInTimeRestore` databases.\n" @@ -213923,10 +214505,18 @@ "type": "string", "description": "The ID of the database to be recovered. This property is only applicable when the `create_mode` is `Recovery`.\n" }, + "recoveryPointId": { + "type": "string", + "description": "The ID of the Recovery Services Recovery Point Id to be restored. This property is only applicable when the `create_mode` is `Recovery`.\n" + }, "restoreDroppedDatabaseId": { "type": "string", "description": "The ID of the database to be restored. This property is only applicable when the `create_mode` is `Restore`.\n" }, + "restoreLongTermRetentionBackupId": { + "type": "string", + "description": "The ID of the long term retention backup to be restored. This property is only applicable when the `create_mode` is `RestoreLongTermRetentionBackup`.\n" + }, "restorePointInTime": { "type": "string", "description": "Specifies the point in time (ISO8601 format) of the source database that will be restored to create the new database. This property is only settable for `create_mode`= `PointInTimeRestore` databases.\n" @@ -214956,6 +215546,9 @@ "vcores": { "type": "integer", "description": "Number of cores that should be assigned to the SQL Managed Instance. Values can be `8`, `16`, or `24` for Gen4 SKUs, or `4`, `6`, `8`, `10`, `12`, `16`, `20`, `24`, `32`, `40`, `48`, `56`, `64`, `80`, `96` or `128` for Gen5 SKUs.\n" + }, + "zoneRedundantEnabled": { + "type": "boolean" } }, "required": [ @@ -215064,6 +215657,9 @@ "vcores": { "type": "integer", "description": "Number of cores that should be assigned to the SQL Managed Instance. Values can be `8`, `16`, or `24` for Gen4 SKUs, or `4`, `6`, `8`, `10`, `12`, `16`, `20`, `24`, `32`, `40`, `48`, `56`, `64`, `80`, `96` or `128` for Gen5 SKUs.\n" + }, + "zoneRedundantEnabled": { + "type": "boolean" } }, "requiredInputs": [ @@ -215178,6 +215774,9 @@ "vcores": { "type": "integer", "description": "Number of cores that should be assigned to the SQL Managed Instance. Values can be `8`, `16`, or `24` for Gen4 SKUs, or `4`, `6`, `8`, `10`, `12`, `16`, `20`, `24`, `32`, `40`, `48`, `56`, `64`, `80`, `96` or `128` for Gen5 SKUs.\n" + }, + "zoneRedundantEnabled": { + "type": "boolean" } }, "type": "object" @@ -216492,7 +217091,7 @@ } }, "azure:mssql/serverVulnerabilityAssessment:ServerVulnerabilityAssessment": { - "description": "Manages the Vulnerability Assessment for a MS SQL Server.\n\n\u003e **NOTE** Vulnerability Assessment is currently only available for MS SQL databases.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\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 exampleSqlServer = new azure.sql.SqlServer(\"example\", {\n name: \"mysqlserver\",\n resourceGroupName: example.name,\n location: example.location,\n version: \"12.0\",\n administratorLogin: \"4dm1n157r470r\",\n administratorLoginPassword: \"4-v3ry-53cr37-p455w0rd\",\n});\nconst exampleAccount = new azure.storage.Account(\"example\", {\n name: \"accteststorageaccount\",\n resourceGroupName: example.name,\n location: example.location,\n accountTier: \"Standard\",\n accountReplicationType: \"GRS\",\n});\nconst exampleContainer = new azure.storage.Container(\"example\", {\n name: \"accteststoragecontainer\",\n storageAccountName: exampleAccount.name,\n containerAccessType: \"private\",\n});\nconst exampleServerSecurityAlertPolicy = new azure.mssql.ServerSecurityAlertPolicy(\"example\", {\n resourceGroupName: example.name,\n serverName: exampleSqlServer.name,\n state: \"Enabled\",\n});\nconst exampleServerVulnerabilityAssessment = new azure.mssql.ServerVulnerabilityAssessment(\"example\", {\n serverSecurityAlertPolicyId: exampleServerSecurityAlertPolicy.id,\n storageContainerPath: pulumi.interpolate`${exampleAccount.primaryBlobEndpoint}${exampleContainer.name}/`,\n storageAccountAccessKey: exampleAccount.primaryAccessKey,\n recurringScans: {\n enabled: true,\n emailSubscriptionAdmins: true,\n emails: [\n \"email@example1.com\",\n \"email@example2.com\",\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_sql_server = azure.sql.SqlServer(\"example\",\n name=\"mysqlserver\",\n resource_group_name=example.name,\n location=example.location,\n version=\"12.0\",\n administrator_login=\"4dm1n157r470r\",\n administrator_login_password=\"4-v3ry-53cr37-p455w0rd\")\nexample_account = azure.storage.Account(\"example\",\n name=\"accteststorageaccount\",\n resource_group_name=example.name,\n location=example.location,\n account_tier=\"Standard\",\n account_replication_type=\"GRS\")\nexample_container = azure.storage.Container(\"example\",\n name=\"accteststoragecontainer\",\n storage_account_name=example_account.name,\n container_access_type=\"private\")\nexample_server_security_alert_policy = azure.mssql.ServerSecurityAlertPolicy(\"example\",\n resource_group_name=example.name,\n server_name=example_sql_server.name,\n state=\"Enabled\")\nexample_server_vulnerability_assessment = azure.mssql.ServerVulnerabilityAssessment(\"example\",\n server_security_alert_policy_id=example_server_security_alert_policy.id,\n storage_container_path=pulumi.Output.all(example_account.primary_blob_endpoint, example_container.name).apply(lambda primary_blob_endpoint, name: f\"{primary_blob_endpoint}{name}/\"),\n storage_account_access_key=example_account.primary_access_key,\n recurring_scans=azure.mssql.ServerVulnerabilityAssessmentRecurringScansArgs(\n enabled=True,\n email_subscription_admins=True,\n emails=[\n \"email@example1.com\",\n \"email@example2.com\",\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 exampleSqlServer = new Azure.Sql.SqlServer(\"example\", new()\n {\n Name = \"mysqlserver\",\n ResourceGroupName = example.Name,\n Location = example.Location,\n Version = \"12.0\",\n AdministratorLogin = \"4dm1n157r470r\",\n AdministratorLoginPassword = \"4-v3ry-53cr37-p455w0rd\",\n });\n\n var exampleAccount = new Azure.Storage.Account(\"example\", new()\n {\n Name = \"accteststorageaccount\",\n ResourceGroupName = example.Name,\n Location = example.Location,\n AccountTier = \"Standard\",\n AccountReplicationType = \"GRS\",\n });\n\n var exampleContainer = new Azure.Storage.Container(\"example\", new()\n {\n Name = \"accteststoragecontainer\",\n StorageAccountName = exampleAccount.Name,\n ContainerAccessType = \"private\",\n });\n\n var exampleServerSecurityAlertPolicy = new Azure.MSSql.ServerSecurityAlertPolicy(\"example\", new()\n {\n ResourceGroupName = example.Name,\n ServerName = exampleSqlServer.Name,\n State = \"Enabled\",\n });\n\n var exampleServerVulnerabilityAssessment = new Azure.MSSql.ServerVulnerabilityAssessment(\"example\", new()\n {\n ServerSecurityAlertPolicyId = exampleServerSecurityAlertPolicy.Id,\n StorageContainerPath = Output.Tuple(exampleAccount.PrimaryBlobEndpoint, exampleContainer.Name).Apply(values =\u003e\n {\n var primaryBlobEndpoint = values.Item1;\n var name = values.Item2;\n return $\"{primaryBlobEndpoint}{name}/\";\n }),\n StorageAccountAccessKey = exampleAccount.PrimaryAccessKey,\n RecurringScans = new Azure.MSSql.Inputs.ServerVulnerabilityAssessmentRecurringScansArgs\n {\n Enabled = true,\n EmailSubscriptionAdmins = true,\n Emails = new[]\n {\n \"email@example1.com\",\n \"email@example2.com\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/mssql\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/sql\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v5/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\texampleSqlServer, err := sql.NewSqlServer(ctx, \"example\", \u0026sql.SqlServerArgs{\n\t\t\tName: pulumi.String(\"mysqlserver\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation: example.Location,\n\t\t\tVersion: pulumi.String(\"12.0\"),\n\t\t\tAdministratorLogin: pulumi.String(\"4dm1n157r470r\"),\n\t\t\tAdministratorLoginPassword: pulumi.String(\"4-v3ry-53cr37-p455w0rd\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := storage.NewAccount(ctx, \"example\", \u0026storage.AccountArgs{\n\t\t\tName: pulumi.String(\"accteststorageaccount\"),\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})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleContainer, err := storage.NewContainer(ctx, \"example\", \u0026storage.ContainerArgs{\n\t\t\tName: pulumi.String(\"accteststoragecontainer\"),\n\t\t\tStorageAccountName: exampleAccount.Name,\n\t\t\tContainerAccessType: pulumi.String(\"private\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleServerSecurityAlertPolicy, err := mssql.NewServerSecurityAlertPolicy(ctx, \"example\", \u0026mssql.ServerSecurityAlertPolicyArgs{\n\t\t\tResourceGroupName: example.Name,\n\t\t\tServerName: exampleSqlServer.Name,\n\t\t\tState: pulumi.String(\"Enabled\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = mssql.NewServerVulnerabilityAssessment(ctx, \"example\", \u0026mssql.ServerVulnerabilityAssessmentArgs{\n\t\t\tServerSecurityAlertPolicyId: exampleServerSecurityAlertPolicy.ID(),\n\t\t\tStorageContainerPath: pulumi.All(exampleAccount.PrimaryBlobEndpoint, exampleContainer.Name).ApplyT(func(_args []interface{}) (string, error) {\n\t\t\t\tprimaryBlobEndpoint := _args[0].(string)\n\t\t\t\tname := _args[1].(string)\n\t\t\t\treturn fmt.Sprintf(\"%v%v/\", primaryBlobEndpoint, name), nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t\tStorageAccountAccessKey: exampleAccount.PrimaryAccessKey,\n\t\t\tRecurringScans: \u0026mssql.ServerVulnerabilityAssessmentRecurringScansArgs{\n\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\tEmailSubscriptionAdmins: pulumi.Bool(true),\n\t\t\t\tEmails: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"email@example1.com\"),\n\t\t\t\t\tpulumi.String(\"email@example2.com\"),\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.sql.SqlServer;\nimport com.pulumi.azure.sql.SqlServerArgs;\nimport com.pulumi.azure.storage.Account;\nimport com.pulumi.azure.storage.AccountArgs;\nimport com.pulumi.azure.storage.Container;\nimport com.pulumi.azure.storage.ContainerArgs;\nimport com.pulumi.azure.mssql.ServerSecurityAlertPolicy;\nimport com.pulumi.azure.mssql.ServerSecurityAlertPolicyArgs;\nimport com.pulumi.azure.mssql.ServerVulnerabilityAssessment;\nimport com.pulumi.azure.mssql.ServerVulnerabilityAssessmentArgs;\nimport com.pulumi.azure.mssql.inputs.ServerVulnerabilityAssessmentRecurringScansArgs;\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 exampleSqlServer = new SqlServer(\"exampleSqlServer\", SqlServerArgs.builder() \n .name(\"mysqlserver\")\n .resourceGroupName(example.name())\n .location(example.location())\n .version(\"12.0\")\n .administratorLogin(\"4dm1n157r470r\")\n .administratorLoginPassword(\"4-v3ry-53cr37-p455w0rd\")\n .build());\n\n var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder() \n .name(\"accteststorageaccount\")\n .resourceGroupName(example.name())\n .location(example.location())\n .accountTier(\"Standard\")\n .accountReplicationType(\"GRS\")\n .build());\n\n var exampleContainer = new Container(\"exampleContainer\", ContainerArgs.builder() \n .name(\"accteststoragecontainer\")\n .storageAccountName(exampleAccount.name())\n .containerAccessType(\"private\")\n .build());\n\n var exampleServerSecurityAlertPolicy = new ServerSecurityAlertPolicy(\"exampleServerSecurityAlertPolicy\", ServerSecurityAlertPolicyArgs.builder() \n .resourceGroupName(example.name())\n .serverName(exampleSqlServer.name())\n .state(\"Enabled\")\n .build());\n\n var exampleServerVulnerabilityAssessment = new ServerVulnerabilityAssessment(\"exampleServerVulnerabilityAssessment\", ServerVulnerabilityAssessmentArgs.builder() \n .serverSecurityAlertPolicyId(exampleServerSecurityAlertPolicy.id())\n .storageContainerPath(Output.tuple(exampleAccount.primaryBlobEndpoint(), exampleContainer.name()).applyValue(values -\u003e {\n var primaryBlobEndpoint = values.t1;\n var name = values.t2;\n return String.format(\"%s%s/\", primaryBlobEndpoint,name);\n }))\n .storageAccountAccessKey(exampleAccount.primaryAccessKey())\n .recurringScans(ServerVulnerabilityAssessmentRecurringScansArgs.builder()\n .enabled(true)\n .emailSubscriptionAdmins(true)\n .emails( \n \"email@example1.com\",\n \"email@example2.com\")\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 exampleSqlServer:\n type: azure:sql:SqlServer\n name: example\n properties:\n name: mysqlserver\n resourceGroupName: ${example.name}\n location: ${example.location}\n version: '12.0'\n administratorLogin: 4dm1n157r470r\n administratorLoginPassword: 4-v3ry-53cr37-p455w0rd\n exampleAccount:\n type: azure:storage:Account\n name: example\n properties:\n name: accteststorageaccount\n resourceGroupName: ${example.name}\n location: ${example.location}\n accountTier: Standard\n accountReplicationType: GRS\n exampleContainer:\n type: azure:storage:Container\n name: example\n properties:\n name: accteststoragecontainer\n storageAccountName: ${exampleAccount.name}\n containerAccessType: private\n exampleServerSecurityAlertPolicy:\n type: azure:mssql:ServerSecurityAlertPolicy\n name: example\n properties:\n resourceGroupName: ${example.name}\n serverName: ${exampleSqlServer.name}\n state: Enabled\n exampleServerVulnerabilityAssessment:\n type: azure:mssql:ServerVulnerabilityAssessment\n name: example\n properties:\n serverSecurityAlertPolicyId: ${exampleServerSecurityAlertPolicy.id}\n storageContainerPath: ${exampleAccount.primaryBlobEndpoint}${exampleContainer.name}/\n storageAccountAccessKey: ${exampleAccount.primaryAccessKey}\n recurringScans:\n enabled: true\n emailSubscriptionAdmins: true\n emails:\n - email@example1.com\n - email@example2.com\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nMS SQL Server Vulnerability Assessment can be imported using the `resource id`, e.g.\n\n ```sh\n $ pulumi import azure:mssql/serverVulnerabilityAssessment:ServerVulnerabilityAssessment example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/acceptanceTestResourceGroup1/providers/Microsoft.Sql/servers/mssqlserver/vulnerabilityAssessments/Default\n```\n\n ", + "description": "Manages the Vulnerability Assessment for a MS SQL Server.\n\n\u003e **NOTE** Vulnerability Assessment is currently only available for MS SQL databases.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\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 exampleServer = new azure.mssql.Server(\"example\", {\n name: \"mysqlserver\",\n resourceGroupName: example.name,\n location: example.location,\n version: \"12.0\",\n administratorLogin: \"4dm1n157r470r\",\n administratorLoginPassword: \"4-v3ry-53cr37-p455w0rd\",\n});\nconst exampleAccount = new azure.storage.Account(\"example\", {\n name: \"accteststorageaccount\",\n resourceGroupName: example.name,\n location: example.location,\n accountTier: \"Standard\",\n accountReplicationType: \"GRS\",\n});\nconst exampleContainer = new azure.storage.Container(\"example\", {\n name: \"accteststoragecontainer\",\n storageAccountName: exampleAccount.name,\n containerAccessType: \"private\",\n});\nconst exampleServerSecurityAlertPolicy = new azure.mssql.ServerSecurityAlertPolicy(\"example\", {\n resourceGroupName: example.name,\n serverName: exampleServer.name,\n state: \"Enabled\",\n});\nconst exampleServerVulnerabilityAssessment = new azure.mssql.ServerVulnerabilityAssessment(\"example\", {\n serverSecurityAlertPolicyId: exampleServerSecurityAlertPolicy.id,\n storageContainerPath: pulumi.interpolate`${exampleAccount.primaryBlobEndpoint}${exampleContainer.name}/`,\n storageAccountAccessKey: exampleAccount.primaryAccessKey,\n recurringScans: {\n enabled: true,\n emailSubscriptionAdmins: true,\n emails: [\n \"email@example1.com\",\n \"email@example2.com\",\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_server = azure.mssql.Server(\"example\",\n name=\"mysqlserver\",\n resource_group_name=example.name,\n location=example.location,\n version=\"12.0\",\n administrator_login=\"4dm1n157r470r\",\n administrator_login_password=\"4-v3ry-53cr37-p455w0rd\")\nexample_account = azure.storage.Account(\"example\",\n name=\"accteststorageaccount\",\n resource_group_name=example.name,\n location=example.location,\n account_tier=\"Standard\",\n account_replication_type=\"GRS\")\nexample_container = azure.storage.Container(\"example\",\n name=\"accteststoragecontainer\",\n storage_account_name=example_account.name,\n container_access_type=\"private\")\nexample_server_security_alert_policy = azure.mssql.ServerSecurityAlertPolicy(\"example\",\n resource_group_name=example.name,\n server_name=example_server.name,\n state=\"Enabled\")\nexample_server_vulnerability_assessment = azure.mssql.ServerVulnerabilityAssessment(\"example\",\n server_security_alert_policy_id=example_server_security_alert_policy.id,\n storage_container_path=pulumi.Output.all(example_account.primary_blob_endpoint, example_container.name).apply(lambda primary_blob_endpoint, name: f\"{primary_blob_endpoint}{name}/\"),\n storage_account_access_key=example_account.primary_access_key,\n recurring_scans=azure.mssql.ServerVulnerabilityAssessmentRecurringScansArgs(\n enabled=True,\n email_subscription_admins=True,\n emails=[\n \"email@example1.com\",\n \"email@example2.com\",\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 exampleServer = new Azure.MSSql.Server(\"example\", new()\n {\n Name = \"mysqlserver\",\n ResourceGroupName = example.Name,\n Location = example.Location,\n Version = \"12.0\",\n AdministratorLogin = \"4dm1n157r470r\",\n AdministratorLoginPassword = \"4-v3ry-53cr37-p455w0rd\",\n });\n\n var exampleAccount = new Azure.Storage.Account(\"example\", new()\n {\n Name = \"accteststorageaccount\",\n ResourceGroupName = example.Name,\n Location = example.Location,\n AccountTier = \"Standard\",\n AccountReplicationType = \"GRS\",\n });\n\n var exampleContainer = new Azure.Storage.Container(\"example\", new()\n {\n Name = \"accteststoragecontainer\",\n StorageAccountName = exampleAccount.Name,\n ContainerAccessType = \"private\",\n });\n\n var exampleServerSecurityAlertPolicy = new Azure.MSSql.ServerSecurityAlertPolicy(\"example\", new()\n {\n ResourceGroupName = example.Name,\n ServerName = exampleServer.Name,\n State = \"Enabled\",\n });\n\n var exampleServerVulnerabilityAssessment = new Azure.MSSql.ServerVulnerabilityAssessment(\"example\", new()\n {\n ServerSecurityAlertPolicyId = exampleServerSecurityAlertPolicy.Id,\n StorageContainerPath = Output.Tuple(exampleAccount.PrimaryBlobEndpoint, exampleContainer.Name).Apply(values =\u003e\n {\n var primaryBlobEndpoint = values.Item1;\n var name = values.Item2;\n return $\"{primaryBlobEndpoint}{name}/\";\n }),\n StorageAccountAccessKey = exampleAccount.PrimaryAccessKey,\n RecurringScans = new Azure.MSSql.Inputs.ServerVulnerabilityAssessmentRecurringScansArgs\n {\n Enabled = true,\n EmailSubscriptionAdmins = true,\n Emails = new[]\n {\n \"email@example1.com\",\n \"email@example2.com\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/mssql\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v5/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\texampleServer, err := mssql.NewServer(ctx, \"example\", \u0026mssql.ServerArgs{\n\t\t\tName: pulumi.String(\"mysqlserver\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation: example.Location,\n\t\t\tVersion: pulumi.String(\"12.0\"),\n\t\t\tAdministratorLogin: pulumi.String(\"4dm1n157r470r\"),\n\t\t\tAdministratorLoginPassword: pulumi.String(\"4-v3ry-53cr37-p455w0rd\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAccount, err := storage.NewAccount(ctx, \"example\", \u0026storage.AccountArgs{\n\t\t\tName: pulumi.String(\"accteststorageaccount\"),\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})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleContainer, err := storage.NewContainer(ctx, \"example\", \u0026storage.ContainerArgs{\n\t\t\tName: pulumi.String(\"accteststoragecontainer\"),\n\t\t\tStorageAccountName: exampleAccount.Name,\n\t\t\tContainerAccessType: pulumi.String(\"private\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleServerSecurityAlertPolicy, err := mssql.NewServerSecurityAlertPolicy(ctx, \"example\", \u0026mssql.ServerSecurityAlertPolicyArgs{\n\t\t\tResourceGroupName: example.Name,\n\t\t\tServerName: exampleServer.Name,\n\t\t\tState: pulumi.String(\"Enabled\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = mssql.NewServerVulnerabilityAssessment(ctx, \"example\", \u0026mssql.ServerVulnerabilityAssessmentArgs{\n\t\t\tServerSecurityAlertPolicyId: exampleServerSecurityAlertPolicy.ID(),\n\t\t\tStorageContainerPath: pulumi.All(exampleAccount.PrimaryBlobEndpoint, exampleContainer.Name).ApplyT(func(_args []interface{}) (string, error) {\n\t\t\t\tprimaryBlobEndpoint := _args[0].(string)\n\t\t\t\tname := _args[1].(string)\n\t\t\t\treturn fmt.Sprintf(\"%v%v/\", primaryBlobEndpoint, name), nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t\tStorageAccountAccessKey: exampleAccount.PrimaryAccessKey,\n\t\t\tRecurringScans: \u0026mssql.ServerVulnerabilityAssessmentRecurringScansArgs{\n\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\tEmailSubscriptionAdmins: pulumi.Bool(true),\n\t\t\t\tEmails: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"email@example1.com\"),\n\t\t\t\t\tpulumi.String(\"email@example2.com\"),\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.mssql.Server;\nimport com.pulumi.azure.mssql.ServerArgs;\nimport com.pulumi.azure.storage.Account;\nimport com.pulumi.azure.storage.AccountArgs;\nimport com.pulumi.azure.storage.Container;\nimport com.pulumi.azure.storage.ContainerArgs;\nimport com.pulumi.azure.mssql.ServerSecurityAlertPolicy;\nimport com.pulumi.azure.mssql.ServerSecurityAlertPolicyArgs;\nimport com.pulumi.azure.mssql.ServerVulnerabilityAssessment;\nimport com.pulumi.azure.mssql.ServerVulnerabilityAssessmentArgs;\nimport com.pulumi.azure.mssql.inputs.ServerVulnerabilityAssessmentRecurringScansArgs;\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 exampleServer = new Server(\"exampleServer\", ServerArgs.builder() \n .name(\"mysqlserver\")\n .resourceGroupName(example.name())\n .location(example.location())\n .version(\"12.0\")\n .administratorLogin(\"4dm1n157r470r\")\n .administratorLoginPassword(\"4-v3ry-53cr37-p455w0rd\")\n .build());\n\n var exampleAccount = new Account(\"exampleAccount\", AccountArgs.builder() \n .name(\"accteststorageaccount\")\n .resourceGroupName(example.name())\n .location(example.location())\n .accountTier(\"Standard\")\n .accountReplicationType(\"GRS\")\n .build());\n\n var exampleContainer = new Container(\"exampleContainer\", ContainerArgs.builder() \n .name(\"accteststoragecontainer\")\n .storageAccountName(exampleAccount.name())\n .containerAccessType(\"private\")\n .build());\n\n var exampleServerSecurityAlertPolicy = new ServerSecurityAlertPolicy(\"exampleServerSecurityAlertPolicy\", ServerSecurityAlertPolicyArgs.builder() \n .resourceGroupName(example.name())\n .serverName(exampleServer.name())\n .state(\"Enabled\")\n .build());\n\n var exampleServerVulnerabilityAssessment = new ServerVulnerabilityAssessment(\"exampleServerVulnerabilityAssessment\", ServerVulnerabilityAssessmentArgs.builder() \n .serverSecurityAlertPolicyId(exampleServerSecurityAlertPolicy.id())\n .storageContainerPath(Output.tuple(exampleAccount.primaryBlobEndpoint(), exampleContainer.name()).applyValue(values -\u003e {\n var primaryBlobEndpoint = values.t1;\n var name = values.t2;\n return String.format(\"%s%s/\", primaryBlobEndpoint,name);\n }))\n .storageAccountAccessKey(exampleAccount.primaryAccessKey())\n .recurringScans(ServerVulnerabilityAssessmentRecurringScansArgs.builder()\n .enabled(true)\n .emailSubscriptionAdmins(true)\n .emails( \n \"email@example1.com\",\n \"email@example2.com\")\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 exampleServer:\n type: azure:mssql:Server\n name: example\n properties:\n name: mysqlserver\n resourceGroupName: ${example.name}\n location: ${example.location}\n version: '12.0'\n administratorLogin: 4dm1n157r470r\n administratorLoginPassword: 4-v3ry-53cr37-p455w0rd\n exampleAccount:\n type: azure:storage:Account\n name: example\n properties:\n name: accteststorageaccount\n resourceGroupName: ${example.name}\n location: ${example.location}\n accountTier: Standard\n accountReplicationType: GRS\n exampleContainer:\n type: azure:storage:Container\n name: example\n properties:\n name: accteststoragecontainer\n storageAccountName: ${exampleAccount.name}\n containerAccessType: private\n exampleServerSecurityAlertPolicy:\n type: azure:mssql:ServerSecurityAlertPolicy\n name: example\n properties:\n resourceGroupName: ${example.name}\n serverName: ${exampleServer.name}\n state: Enabled\n exampleServerVulnerabilityAssessment:\n type: azure:mssql:ServerVulnerabilityAssessment\n name: example\n properties:\n serverSecurityAlertPolicyId: ${exampleServerSecurityAlertPolicy.id}\n storageContainerPath: ${exampleAccount.primaryBlobEndpoint}${exampleContainer.name}/\n storageAccountAccessKey: ${exampleAccount.primaryAccessKey}\n recurringScans:\n enabled: true\n emailSubscriptionAdmins: true\n emails:\n - email@example1.com\n - email@example2.com\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nMS SQL Server Vulnerability Assessment can be imported using the `resource id`, e.g.\n\n ```sh\n $ pulumi import azure:mssql/serverVulnerabilityAssessment:ServerVulnerabilityAssessment example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/acceptanceTestResourceGroup1/providers/Microsoft.Sql/servers/mssqlserver/vulnerabilityAssessments/Default\n```\n\n ", "properties": { "recurringScans": { "$ref": "#/types/azure:mssql/ServerVulnerabilityAssessmentRecurringScans:ServerVulnerabilityAssessmentRecurringScans", @@ -218902,6 +219501,10 @@ "type": "string", "description": "The name of the NetApp account in which the NetApp Pool should be created. Changing this forces a new resource to be created.\n" }, + "encryptionType": { + "type": "string", + "description": "The encryption type of the pool. Valid values include `Single`, and `Double`. Defaults to `Single`. Changing this forces a new resource to be created.\n" + }, "location": { "type": "string", "description": "Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n" @@ -218920,7 +219523,7 @@ }, "serviceLevel": { "type": "string", - "description": "The service level of the file system. Valid values include `Premium`, `Standard`, or `Ultra`. Changing this forces a new resource to be created.\n" + "description": "The service level of the file system. Valid values include `Premium`, `Standard`, and `Ultra`. Changing this forces a new resource to be created.\n" }, "sizeInTb": { "type": "integer", @@ -218949,6 +219552,11 @@ "description": "The name of the NetApp account in which the NetApp Pool should be created. Changing this forces a new resource to be created.\n", "willReplaceOnChanges": true }, + "encryptionType": { + "type": "string", + "description": "The encryption type of the pool. Valid values include `Single`, and `Double`. Defaults to `Single`. Changing this forces a new resource to be created.\n", + "willReplaceOnChanges": true + }, "location": { "type": "string", "description": "Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n", @@ -218970,7 +219578,7 @@ }, "serviceLevel": { "type": "string", - "description": "The service level of the file system. Valid values include `Premium`, `Standard`, or `Ultra`. Changing this forces a new resource to be created.\n", + "description": "The service level of the file system. Valid values include `Premium`, `Standard`, and `Ultra`. Changing this forces a new resource to be created.\n", "willReplaceOnChanges": true }, "sizeInTb": { @@ -218999,6 +219607,11 @@ "description": "The name of the NetApp account in which the NetApp Pool should be created. Changing this forces a new resource to be created.\n", "willReplaceOnChanges": true }, + "encryptionType": { + "type": "string", + "description": "The encryption type of the pool. Valid values include `Single`, and `Double`. Defaults to `Single`. Changing this forces a new resource to be created.\n", + "willReplaceOnChanges": true + }, "location": { "type": "string", "description": "Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.\n", @@ -219020,7 +219633,7 @@ }, "serviceLevel": { "type": "string", - "description": "The service level of the file system. Valid values include `Premium`, `Standard`, or `Ultra`. Changing this forces a new resource to be created.\n", + "description": "The service level of the file system. Valid values include `Premium`, `Standard`, and `Ultra`. Changing this forces a new resource to be created.\n", "willReplaceOnChanges": true }, "sizeInTb": { @@ -219395,6 +220008,14 @@ "type": "string", "description": "The target performance of the file system. Valid values include `Premium`, `Standard`, or `Ultra`. Changing this forces a new resource to be created.\n" }, + "smbAccessBasedEnumerationEnabled": { + "type": "boolean", + "description": "Limits enumeration of files and folders (that is, listing the contents) in SMB only to users with allowed access on the share. For instance, if a user doesn't have access to read a file or folder in a share with access-based enumeration enabled, then the file or folder doesn't show up in directory listings. Defaults to `false`. For more information, please refer to [Understand NAS share permissions in Azure NetApp Files](https://learn.microsoft.com/en-us/azure/azure-netapp-files/network-attached-storage-permissions#:~:text=security%20for%20administrators.-,Access%2Dbased%20enumeration,in%20an%20Azure%20NetApp%20Files%20SMB%20volume.%20Only%20contosoadmin%20has%20access.,-In%20the%20below)\n" + }, + "smbNonBrowsableEnabled": { + "type": "boolean", + "description": "Limits clients from browsing for an SMB share by hiding the share from view in Windows Explorer or when listing shares in \"net view.\" Only end users that know the absolute paths to the share are able to find the share. Defaults to `false`. For more information, please refer to [Understand NAS share permissions in Azure NetApp Files](https://learn.microsoft.com/en-us/azure/azure-netapp-files/network-attached-storage-permissions#:~:text=Non%2Dbrowsable%20shares,find%20the%20share.)\n" + }, "snapshotDirectoryVisible": { "type": "boolean", "description": "Specifies whether the .snapshot (NFS clients) or ~snapshot (SMB clients) path of a volume is visible, default value is true.\n" @@ -219531,6 +220152,14 @@ "description": "The target performance of the file system. Valid values include `Premium`, `Standard`, or `Ultra`. Changing this forces a new resource to be created.\n", "willReplaceOnChanges": true }, + "smbAccessBasedEnumerationEnabled": { + "type": "boolean", + "description": "Limits enumeration of files and folders (that is, listing the contents) in SMB only to users with allowed access on the share. For instance, if a user doesn't have access to read a file or folder in a share with access-based enumeration enabled, then the file or folder doesn't show up in directory listings. Defaults to `false`. For more information, please refer to [Understand NAS share permissions in Azure NetApp Files](https://learn.microsoft.com/en-us/azure/azure-netapp-files/network-attached-storage-permissions#:~:text=security%20for%20administrators.-,Access%2Dbased%20enumeration,in%20an%20Azure%20NetApp%20Files%20SMB%20volume.%20Only%20contosoadmin%20has%20access.,-In%20the%20below)\n" + }, + "smbNonBrowsableEnabled": { + "type": "boolean", + "description": "Limits clients from browsing for an SMB share by hiding the share from view in Windows Explorer or when listing shares in \"net view.\" Only end users that know the absolute paths to the share are able to find the share. Defaults to `false`. For more information, please refer to [Understand NAS share permissions in Azure NetApp Files](https://learn.microsoft.com/en-us/azure/azure-netapp-files/network-attached-storage-permissions#:~:text=Non%2Dbrowsable%20shares,find%20the%20share.)\n" + }, "snapshotDirectoryVisible": { "type": "boolean", "description": "Specifies whether the .snapshot (NFS clients) or ~snapshot (SMB clients) path of a volume is visible, default value is true.\n" @@ -219668,6 +220297,14 @@ "description": "The target performance of the file system. Valid values include `Premium`, `Standard`, or `Ultra`. Changing this forces a new resource to be created.\n", "willReplaceOnChanges": true }, + "smbAccessBasedEnumerationEnabled": { + "type": "boolean", + "description": "Limits enumeration of files and folders (that is, listing the contents) in SMB only to users with allowed access on the share. For instance, if a user doesn't have access to read a file or folder in a share with access-based enumeration enabled, then the file or folder doesn't show up in directory listings. Defaults to `false`. For more information, please refer to [Understand NAS share permissions in Azure NetApp Files](https://learn.microsoft.com/en-us/azure/azure-netapp-files/network-attached-storage-permissions#:~:text=security%20for%20administrators.-,Access%2Dbased%20enumeration,in%20an%20Azure%20NetApp%20Files%20SMB%20volume.%20Only%20contosoadmin%20has%20access.,-In%20the%20below)\n" + }, + "smbNonBrowsableEnabled": { + "type": "boolean", + "description": "Limits clients from browsing for an SMB share by hiding the share from view in Windows Explorer or when listing shares in \"net view.\" Only end users that know the absolute paths to the share are able to find the share. Defaults to `false`. For more information, please refer to [Understand NAS share permissions in Azure NetApp Files](https://learn.microsoft.com/en-us/azure/azure-netapp-files/network-attached-storage-permissions#:~:text=Non%2Dbrowsable%20shares,find%20the%20share.)\n" + }, "snapshotDirectoryVisible": { "type": "boolean", "description": "Specifies whether the .snapshot (NFS clients) or ~snapshot (SMB clients) path of a volume is visible, default value is true.\n" @@ -232821,8 +233458,12 @@ } }, "azure:nginx/deployment:Deployment": { - "description": "Manages a Nginx Deployment.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\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: \"publicpreview_Monthly_gmz7xq9ge3py\",\n location: example.location,\n managedResourceGroup: \"example\",\n diagnoseSupportEnabled: true,\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=[azure.network.SubnetDelegationArgs(\n name=\"delegation\",\n service_delegation=azure.network.SubnetDelegationServiceDelegationArgs(\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=\"publicpreview_Monthly_gmz7xq9ge3py\",\n location=example.location,\n managed_resource_group=\"example\",\n diagnose_support_enabled=True,\n frontend_public=azure.nginx.DeploymentFrontendPublicArgs(\n ip_addresses=[example_public_ip.id],\n ),\n network_interfaces=[azure.nginx.DeploymentNetworkInterfaceArgs(\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 = \"publicpreview_Monthly_gmz7xq9ge3py\",\n Location = example.Location,\n ManagedResourceGroup = \"example\",\n DiagnoseSupportEnabled = true,\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/v5/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/network\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v5/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(\"publicpreview_Monthly_gmz7xq9ge3py\"),\n\t\t\tLocation: example.Location,\n\t\t\tManagedResourceGroup: pulumi.String(\"example\"),\n\t\t\tDiagnoseSupportEnabled: pulumi.Bool(true),\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(\"publicpreview_Monthly_gmz7xq9ge3py\")\n .location(example.location())\n .managedResourceGroup(\"example\")\n .diagnoseSupportEnabled(true)\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: publicpreview_Monthly_gmz7xq9ge3py\n location: ${example.location}\n managedResourceGroup: example\n diagnoseSupportEnabled: true\n frontendPublic:\n ipAddresses:\n - ${examplePublicIp.id}\n networkInterfaces:\n - subnetId: ${exampleSubnet.id}\n capacity: 20\n email: user@test.com\n```\n{{% /example %}}\n{{% /examples %}}\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 a Nginx Deployment.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\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: \"publicpreview_Monthly_gmz7xq9ge3py\",\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=[azure.network.SubnetDelegationArgs(\n name=\"delegation\",\n service_delegation=azure.network.SubnetDelegationServiceDelegationArgs(\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=\"publicpreview_Monthly_gmz7xq9ge3py\",\n location=example.location,\n managed_resource_group=\"example\",\n diagnose_support_enabled=True,\n automatic_upgrade_channel=\"stable\",\n frontend_public=azure.nginx.DeploymentFrontendPublicArgs(\n ip_addresses=[example_public_ip.id],\n ),\n network_interfaces=[azure.nginx.DeploymentNetworkInterfaceArgs(\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 = \"publicpreview_Monthly_gmz7xq9ge3py\",\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/v5/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/network\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v5/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(\"publicpreview_Monthly_gmz7xq9ge3py\"),\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(\"publicpreview_Monthly_gmz7xq9ge3py\")\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: publicpreview_Monthly_gmz7xq9ge3py\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{{% /example %}}\n{{% /examples %}}\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": { + "automaticUpgradeChannel": { + "type": "string", + "description": "Specify the automatic upgrade channel for the NGINX deployment. Defaults to `stable`. The possible values are `stable` and `preview`.\n" + }, "capacity": { "type": "integer", "description": "Specify the number of NGINX capacity units for this NGINX deployment. Defaults to `20`.\n\n\u003e **Note** For more information on NGINX capacity units, please refer to the [NGINX scaling guidance documentation](https://docs.nginx.com/nginxaas/azure/quickstart/scaling/)\n" @@ -232890,7 +233531,7 @@ }, "sku": { "type": "string", - "description": "Specify the Name of Nginx deployment SKU. The possible value are `publicpreview_Monthly_gmz7xq9ge3py` and `standard_Monthly`.\n" + "description": "Specify the Name of Nginx deployment SKU. The possible value are `publicpreview_Monthly_gmz7xq9ge3py` and `standard_Monthly`. Changing this forces a new Nginx Deployment to be created.\n" }, "tags": { "type": "object", @@ -232910,6 +233551,10 @@ "sku" ], "inputProperties": { + "automaticUpgradeChannel": { + "type": "string", + "description": "Specify the automatic upgrade channel for the NGINX deployment. Defaults to `stable`. The possible values are `stable` and `preview`.\n" + }, "capacity": { "type": "integer", "description": "Specify the number of NGINX capacity units for this NGINX deployment. Defaults to `20`.\n\n\u003e **Note** For more information on NGINX capacity units, please refer to the [NGINX scaling guidance documentation](https://docs.nginx.com/nginxaas/azure/quickstart/scaling/)\n" @@ -232976,7 +233621,8 @@ }, "sku": { "type": "string", - "description": "Specify the Name of Nginx deployment SKU. The possible value are `publicpreview_Monthly_gmz7xq9ge3py` and `standard_Monthly`.\n" + "description": "Specify the Name of Nginx deployment SKU. The possible value are `publicpreview_Monthly_gmz7xq9ge3py` and `standard_Monthly`. Changing this forces a new Nginx Deployment to be created.\n", + "willReplaceOnChanges": true }, "tags": { "type": "object", @@ -232993,6 +233639,10 @@ "stateInputs": { "description": "Input properties used for looking up and filtering Deployment resources.\n", "properties": { + "automaticUpgradeChannel": { + "type": "string", + "description": "Specify the automatic upgrade channel for the NGINX deployment. Defaults to `stable`. The possible values are `stable` and `preview`.\n" + }, "capacity": { "type": "integer", "description": "Specify the number of NGINX capacity units for this NGINX deployment. Defaults to `20`.\n\n\u003e **Note** For more information on NGINX capacity units, please refer to the [NGINX scaling guidance documentation](https://docs.nginx.com/nginxaas/azure/quickstart/scaling/)\n" @@ -233067,7 +233717,8 @@ }, "sku": { "type": "string", - "description": "Specify the Name of Nginx deployment SKU. The possible value are `publicpreview_Monthly_gmz7xq9ge3py` and `standard_Monthly`.\n" + "description": "Specify the Name of Nginx deployment SKU. The possible value are `publicpreview_Monthly_gmz7xq9ge3py` and `standard_Monthly`. Changing this forces a new Nginx Deployment to be created.\n", + "willReplaceOnChanges": true }, "tags": { "type": "object", @@ -237041,7 +237692,7 @@ } }, "azure:postgresql/flexibleServer:FlexibleServer": { - "description": "Manages a PostgreSQL Flexible Server.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\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: \"example-vn\",\n location: example.location,\n resourceGroupName: example.name,\n addressSpaces: [\"10.0.0.0/16\"],\n});\nconst exampleSubnet = new azure.network.Subnet(\"example\", {\n name: \"example-sn\",\n resourceGroupName: example.name,\n virtualNetworkName: exampleVirtualNetwork.name,\n addressPrefixes: [\"10.0.2.0/24\"],\n serviceEndpoints: [\"Microsoft.Storage\"],\n delegations: [{\n name: \"fs\",\n serviceDelegation: {\n name: \"Microsoft.DBforPostgreSQL/flexibleServers\",\n actions: [\"Microsoft.Network/virtualNetworks/subnets/join/action\"],\n },\n }],\n});\nconst exampleZone = new azure.privatedns.Zone(\"example\", {\n name: \"example.postgres.database.azure.com\",\n resourceGroupName: example.name,\n});\nconst exampleZoneVirtualNetworkLink = new azure.privatedns.ZoneVirtualNetworkLink(\"example\", {\n name: \"exampleVnetZone.com\",\n privateDnsZoneName: exampleZone.name,\n virtualNetworkId: exampleVirtualNetwork.id,\n resourceGroupName: example.name,\n});\nconst exampleFlexibleServer = new azure.postgresql.FlexibleServer(\"example\", {\n name: \"example-psqlflexibleserver\",\n resourceGroupName: example.name,\n location: example.location,\n version: \"12\",\n delegatedSubnetId: exampleSubnet.id,\n privateDnsZoneId: exampleZone.id,\n administratorLogin: \"psqladmin\",\n administratorPassword: \"H@Sh1CoR3!\",\n zone: \"1\",\n storageMb: 32768,\n skuName: \"GP_Standard_D4s_v3\",\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=\"example-vn\",\n location=example.location,\n resource_group_name=example.name,\n address_spaces=[\"10.0.0.0/16\"])\nexample_subnet = azure.network.Subnet(\"example\",\n name=\"example-sn\",\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=[\"Microsoft.Storage\"],\n delegations=[azure.network.SubnetDelegationArgs(\n name=\"fs\",\n service_delegation=azure.network.SubnetDelegationServiceDelegationArgs(\n name=\"Microsoft.DBforPostgreSQL/flexibleServers\",\n actions=[\"Microsoft.Network/virtualNetworks/subnets/join/action\"],\n ),\n )])\nexample_zone = azure.privatedns.Zone(\"example\",\n name=\"example.postgres.database.azure.com\",\n resource_group_name=example.name)\nexample_zone_virtual_network_link = azure.privatedns.ZoneVirtualNetworkLink(\"example\",\n name=\"exampleVnetZone.com\",\n private_dns_zone_name=example_zone.name,\n virtual_network_id=example_virtual_network.id,\n resource_group_name=example.name)\nexample_flexible_server = azure.postgresql.FlexibleServer(\"example\",\n name=\"example-psqlflexibleserver\",\n resource_group_name=example.name,\n location=example.location,\n version=\"12\",\n delegated_subnet_id=example_subnet.id,\n private_dns_zone_id=example_zone.id,\n administrator_login=\"psqladmin\",\n administrator_password=\"H@Sh1CoR3!\",\n zone=\"1\",\n storage_mb=32768,\n sku_name=\"GP_Standard_D4s_v3\")\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 = \"example-vn\",\n Location = example.Location,\n ResourceGroupName = example.Name,\n AddressSpaces = new[]\n {\n \"10.0.0.0/16\",\n },\n });\n\n var exampleSubnet = new Azure.Network.Subnet(\"example\", new()\n {\n Name = \"example-sn\",\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.Storage\",\n },\n Delegations = new[]\n {\n new Azure.Network.Inputs.SubnetDelegationArgs\n {\n Name = \"fs\",\n ServiceDelegation = new Azure.Network.Inputs.SubnetDelegationServiceDelegationArgs\n {\n Name = \"Microsoft.DBforPostgreSQL/flexibleServers\",\n Actions = new[]\n {\n \"Microsoft.Network/virtualNetworks/subnets/join/action\",\n },\n },\n },\n },\n });\n\n var exampleZone = new Azure.PrivateDns.Zone(\"example\", new()\n {\n Name = \"example.postgres.database.azure.com\",\n ResourceGroupName = example.Name,\n });\n\n var exampleZoneVirtualNetworkLink = new Azure.PrivateDns.ZoneVirtualNetworkLink(\"example\", new()\n {\n Name = \"exampleVnetZone.com\",\n PrivateDnsZoneName = exampleZone.Name,\n VirtualNetworkId = exampleVirtualNetwork.Id,\n ResourceGroupName = example.Name,\n });\n\n var exampleFlexibleServer = new Azure.PostgreSql.FlexibleServer(\"example\", new()\n {\n Name = \"example-psqlflexibleserver\",\n ResourceGroupName = example.Name,\n Location = example.Location,\n Version = \"12\",\n DelegatedSubnetId = exampleSubnet.Id,\n PrivateDnsZoneId = exampleZone.Id,\n AdministratorLogin = \"psqladmin\",\n AdministratorPassword = \"H@Sh1CoR3!\",\n Zone = \"1\",\n StorageMb = 32768,\n SkuName = \"GP_Standard_D4s_v3\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/network\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/postgresql\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/privatedns\"\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(\"example-vn\"),\n\t\t\tLocation: example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tAddressSpaces: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.0.0/16\"),\n\t\t\t},\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-sn\"),\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.Storage\"),\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(\"fs\"),\n\t\t\t\t\tServiceDelegation: \u0026network.SubnetDelegationServiceDelegationArgs{\n\t\t\t\t\t\tName: pulumi.String(\"Microsoft.DBforPostgreSQL/flexibleServers\"),\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\texampleZone, err := privatedns.NewZone(ctx, \"example\", \u0026privatedns.ZoneArgs{\n\t\t\tName: pulumi.String(\"example.postgres.database.azure.com\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = privatedns.NewZoneVirtualNetworkLink(ctx, \"example\", \u0026privatedns.ZoneVirtualNetworkLinkArgs{\n\t\t\tName: pulumi.String(\"exampleVnetZone.com\"),\n\t\t\tPrivateDnsZoneName: exampleZone.Name,\n\t\t\tVirtualNetworkId: exampleVirtualNetwork.ID(),\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = postgresql.NewFlexibleServer(ctx, \"example\", \u0026postgresql.FlexibleServerArgs{\n\t\t\tName: pulumi.String(\"example-psqlflexibleserver\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation: example.Location,\n\t\t\tVersion: pulumi.String(\"12\"),\n\t\t\tDelegatedSubnetId: exampleSubnet.ID(),\n\t\t\tPrivateDnsZoneId: exampleZone.ID(),\n\t\t\tAdministratorLogin: pulumi.String(\"psqladmin\"),\n\t\t\tAdministratorPassword: pulumi.String(\"H@Sh1CoR3!\"),\n\t\t\tZone: pulumi.String(\"1\"),\n\t\t\tStorageMb: pulumi.Int(32768),\n\t\t\tSkuName: pulumi.String(\"GP_Standard_D4s_v3\"),\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.network.inputs.SubnetDelegationArgs;\nimport com.pulumi.azure.network.inputs.SubnetDelegationServiceDelegationArgs;\nimport com.pulumi.azure.privatedns.Zone;\nimport com.pulumi.azure.privatedns.ZoneArgs;\nimport com.pulumi.azure.privatedns.ZoneVirtualNetworkLink;\nimport com.pulumi.azure.privatedns.ZoneVirtualNetworkLinkArgs;\nimport com.pulumi.azure.postgresql.FlexibleServer;\nimport com.pulumi.azure.postgresql.FlexibleServerArgs;\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(\"example-vn\")\n .location(example.location())\n .resourceGroupName(example.name())\n .addressSpaces(\"10.0.0.0/16\")\n .build());\n\n var exampleSubnet = new Subnet(\"exampleSubnet\", SubnetArgs.builder() \n .name(\"example-sn\")\n .resourceGroupName(example.name())\n .virtualNetworkName(exampleVirtualNetwork.name())\n .addressPrefixes(\"10.0.2.0/24\")\n .serviceEndpoints(\"Microsoft.Storage\")\n .delegations(SubnetDelegationArgs.builder()\n .name(\"fs\")\n .serviceDelegation(SubnetDelegationServiceDelegationArgs.builder()\n .name(\"Microsoft.DBforPostgreSQL/flexibleServers\")\n .actions(\"Microsoft.Network/virtualNetworks/subnets/join/action\")\n .build())\n .build())\n .build());\n\n var exampleZone = new Zone(\"exampleZone\", ZoneArgs.builder() \n .name(\"example.postgres.database.azure.com\")\n .resourceGroupName(example.name())\n .build());\n\n var exampleZoneVirtualNetworkLink = new ZoneVirtualNetworkLink(\"exampleZoneVirtualNetworkLink\", ZoneVirtualNetworkLinkArgs.builder() \n .name(\"exampleVnetZone.com\")\n .privateDnsZoneName(exampleZone.name())\n .virtualNetworkId(exampleVirtualNetwork.id())\n .resourceGroupName(example.name())\n .build());\n\n var exampleFlexibleServer = new FlexibleServer(\"exampleFlexibleServer\", FlexibleServerArgs.builder() \n .name(\"example-psqlflexibleserver\")\n .resourceGroupName(example.name())\n .location(example.location())\n .version(\"12\")\n .delegatedSubnetId(exampleSubnet.id())\n .privateDnsZoneId(exampleZone.id())\n .administratorLogin(\"psqladmin\")\n .administratorPassword(\"H@Sh1CoR3!\")\n .zone(\"1\")\n .storageMb(32768)\n .skuName(\"GP_Standard_D4s_v3\")\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: example-vn\n location: ${example.location}\n resourceGroupName: ${example.name}\n addressSpaces:\n - 10.0.0.0/16\n exampleSubnet:\n type: azure:network:Subnet\n name: example\n properties:\n name: example-sn\n resourceGroupName: ${example.name}\n virtualNetworkName: ${exampleVirtualNetwork.name}\n addressPrefixes:\n - 10.0.2.0/24\n serviceEndpoints:\n - Microsoft.Storage\n delegations:\n - name: fs\n serviceDelegation:\n name: Microsoft.DBforPostgreSQL/flexibleServers\n actions:\n - Microsoft.Network/virtualNetworks/subnets/join/action\n exampleZone:\n type: azure:privatedns:Zone\n name: example\n properties:\n name: example.postgres.database.azure.com\n resourceGroupName: ${example.name}\n exampleZoneVirtualNetworkLink:\n type: azure:privatedns:ZoneVirtualNetworkLink\n name: example\n properties:\n name: exampleVnetZone.com\n privateDnsZoneName: ${exampleZone.name}\n virtualNetworkId: ${exampleVirtualNetwork.id}\n resourceGroupName: ${example.name}\n exampleFlexibleServer:\n type: azure:postgresql:FlexibleServer\n name: example\n properties:\n name: example-psqlflexibleserver\n resourceGroupName: ${example.name}\n location: ${example.location}\n version: '12'\n delegatedSubnetId: ${exampleSubnet.id}\n privateDnsZoneId: ${exampleZone.id}\n administratorLogin: psqladmin\n administratorPassword: H@Sh1CoR3!\n zone: '1'\n storageMb: 32768\n skuName: GP_Standard_D4s_v3\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nPostgreSQL Flexible Servers can be imported using the `resource id`, e.g.\n\n ```sh\n $ pulumi import azure:postgresql/flexibleServer:FlexibleServer example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.DBforPostgreSQL/flexibleServers/server1\n```\n\n ", + "description": "Manages a PostgreSQL Flexible Server.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\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: \"example-vn\",\n location: example.location,\n resourceGroupName: example.name,\n addressSpaces: [\"10.0.0.0/16\"],\n});\nconst exampleSubnet = new azure.network.Subnet(\"example\", {\n name: \"example-sn\",\n resourceGroupName: example.name,\n virtualNetworkName: exampleVirtualNetwork.name,\n addressPrefixes: [\"10.0.2.0/24\"],\n serviceEndpoints: [\"Microsoft.Storage\"],\n delegations: [{\n name: \"fs\",\n serviceDelegation: {\n name: \"Microsoft.DBforPostgreSQL/flexibleServers\",\n actions: [\"Microsoft.Network/virtualNetworks/subnets/join/action\"],\n },\n }],\n});\nconst exampleZone = new azure.privatedns.Zone(\"example\", {\n name: \"example.postgres.database.azure.com\",\n resourceGroupName: example.name,\n});\nconst exampleZoneVirtualNetworkLink = new azure.privatedns.ZoneVirtualNetworkLink(\"example\", {\n name: \"exampleVnetZone.com\",\n privateDnsZoneName: exampleZone.name,\n virtualNetworkId: exampleVirtualNetwork.id,\n resourceGroupName: example.name,\n});\nconst exampleFlexibleServer = new azure.postgresql.FlexibleServer(\"example\", {\n name: \"example-psqlflexibleserver\",\n resourceGroupName: example.name,\n location: example.location,\n version: \"12\",\n delegatedSubnetId: exampleSubnet.id,\n privateDnsZoneId: exampleZone.id,\n administratorLogin: \"psqladmin\",\n administratorPassword: \"H@Sh1CoR3!\",\n zone: \"1\",\n storageMb: 32768,\n storageTier: \"P30\",\n skuName: \"GP_Standard_D4s_v3\",\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=\"example-vn\",\n location=example.location,\n resource_group_name=example.name,\n address_spaces=[\"10.0.0.0/16\"])\nexample_subnet = azure.network.Subnet(\"example\",\n name=\"example-sn\",\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=[\"Microsoft.Storage\"],\n delegations=[azure.network.SubnetDelegationArgs(\n name=\"fs\",\n service_delegation=azure.network.SubnetDelegationServiceDelegationArgs(\n name=\"Microsoft.DBforPostgreSQL/flexibleServers\",\n actions=[\"Microsoft.Network/virtualNetworks/subnets/join/action\"],\n ),\n )])\nexample_zone = azure.privatedns.Zone(\"example\",\n name=\"example.postgres.database.azure.com\",\n resource_group_name=example.name)\nexample_zone_virtual_network_link = azure.privatedns.ZoneVirtualNetworkLink(\"example\",\n name=\"exampleVnetZone.com\",\n private_dns_zone_name=example_zone.name,\n virtual_network_id=example_virtual_network.id,\n resource_group_name=example.name)\nexample_flexible_server = azure.postgresql.FlexibleServer(\"example\",\n name=\"example-psqlflexibleserver\",\n resource_group_name=example.name,\n location=example.location,\n version=\"12\",\n delegated_subnet_id=example_subnet.id,\n private_dns_zone_id=example_zone.id,\n administrator_login=\"psqladmin\",\n administrator_password=\"H@Sh1CoR3!\",\n zone=\"1\",\n storage_mb=32768,\n storage_tier=\"P30\",\n sku_name=\"GP_Standard_D4s_v3\")\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 = \"example-vn\",\n Location = example.Location,\n ResourceGroupName = example.Name,\n AddressSpaces = new[]\n {\n \"10.0.0.0/16\",\n },\n });\n\n var exampleSubnet = new Azure.Network.Subnet(\"example\", new()\n {\n Name = \"example-sn\",\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.Storage\",\n },\n Delegations = new[]\n {\n new Azure.Network.Inputs.SubnetDelegationArgs\n {\n Name = \"fs\",\n ServiceDelegation = new Azure.Network.Inputs.SubnetDelegationServiceDelegationArgs\n {\n Name = \"Microsoft.DBforPostgreSQL/flexibleServers\",\n Actions = new[]\n {\n \"Microsoft.Network/virtualNetworks/subnets/join/action\",\n },\n },\n },\n },\n });\n\n var exampleZone = new Azure.PrivateDns.Zone(\"example\", new()\n {\n Name = \"example.postgres.database.azure.com\",\n ResourceGroupName = example.Name,\n });\n\n var exampleZoneVirtualNetworkLink = new Azure.PrivateDns.ZoneVirtualNetworkLink(\"example\", new()\n {\n Name = \"exampleVnetZone.com\",\n PrivateDnsZoneName = exampleZone.Name,\n VirtualNetworkId = exampleVirtualNetwork.Id,\n ResourceGroupName = example.Name,\n });\n\n var exampleFlexibleServer = new Azure.PostgreSql.FlexibleServer(\"example\", new()\n {\n Name = \"example-psqlflexibleserver\",\n ResourceGroupName = example.Name,\n Location = example.Location,\n Version = \"12\",\n DelegatedSubnetId = exampleSubnet.Id,\n PrivateDnsZoneId = exampleZone.Id,\n AdministratorLogin = \"psqladmin\",\n AdministratorPassword = \"H@Sh1CoR3!\",\n Zone = \"1\",\n StorageMb = 32768,\n StorageTier = \"P30\",\n SkuName = \"GP_Standard_D4s_v3\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/network\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/postgresql\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/privatedns\"\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(\"example-vn\"),\n\t\t\tLocation: example.Location,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tAddressSpaces: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.0.0/16\"),\n\t\t\t},\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-sn\"),\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.Storage\"),\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(\"fs\"),\n\t\t\t\t\tServiceDelegation: \u0026network.SubnetDelegationServiceDelegationArgs{\n\t\t\t\t\t\tName: pulumi.String(\"Microsoft.DBforPostgreSQL/flexibleServers\"),\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\texampleZone, err := privatedns.NewZone(ctx, \"example\", \u0026privatedns.ZoneArgs{\n\t\t\tName: pulumi.String(\"example.postgres.database.azure.com\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = privatedns.NewZoneVirtualNetworkLink(ctx, \"example\", \u0026privatedns.ZoneVirtualNetworkLinkArgs{\n\t\t\tName: pulumi.String(\"exampleVnetZone.com\"),\n\t\t\tPrivateDnsZoneName: exampleZone.Name,\n\t\t\tVirtualNetworkId: exampleVirtualNetwork.ID(),\n\t\t\tResourceGroupName: example.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = postgresql.NewFlexibleServer(ctx, \"example\", \u0026postgresql.FlexibleServerArgs{\n\t\t\tName: pulumi.String(\"example-psqlflexibleserver\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation: example.Location,\n\t\t\tVersion: pulumi.String(\"12\"),\n\t\t\tDelegatedSubnetId: exampleSubnet.ID(),\n\t\t\tPrivateDnsZoneId: exampleZone.ID(),\n\t\t\tAdministratorLogin: pulumi.String(\"psqladmin\"),\n\t\t\tAdministratorPassword: pulumi.String(\"H@Sh1CoR3!\"),\n\t\t\tZone: pulumi.String(\"1\"),\n\t\t\tStorageMb: pulumi.Int(32768),\n\t\t\tStorageTier: pulumi.String(\"P30\"),\n\t\t\tSkuName: pulumi.String(\"GP_Standard_D4s_v3\"),\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.network.inputs.SubnetDelegationArgs;\nimport com.pulumi.azure.network.inputs.SubnetDelegationServiceDelegationArgs;\nimport com.pulumi.azure.privatedns.Zone;\nimport com.pulumi.azure.privatedns.ZoneArgs;\nimport com.pulumi.azure.privatedns.ZoneVirtualNetworkLink;\nimport com.pulumi.azure.privatedns.ZoneVirtualNetworkLinkArgs;\nimport com.pulumi.azure.postgresql.FlexibleServer;\nimport com.pulumi.azure.postgresql.FlexibleServerArgs;\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(\"example-vn\")\n .location(example.location())\n .resourceGroupName(example.name())\n .addressSpaces(\"10.0.0.0/16\")\n .build());\n\n var exampleSubnet = new Subnet(\"exampleSubnet\", SubnetArgs.builder() \n .name(\"example-sn\")\n .resourceGroupName(example.name())\n .virtualNetworkName(exampleVirtualNetwork.name())\n .addressPrefixes(\"10.0.2.0/24\")\n .serviceEndpoints(\"Microsoft.Storage\")\n .delegations(SubnetDelegationArgs.builder()\n .name(\"fs\")\n .serviceDelegation(SubnetDelegationServiceDelegationArgs.builder()\n .name(\"Microsoft.DBforPostgreSQL/flexibleServers\")\n .actions(\"Microsoft.Network/virtualNetworks/subnets/join/action\")\n .build())\n .build())\n .build());\n\n var exampleZone = new Zone(\"exampleZone\", ZoneArgs.builder() \n .name(\"example.postgres.database.azure.com\")\n .resourceGroupName(example.name())\n .build());\n\n var exampleZoneVirtualNetworkLink = new ZoneVirtualNetworkLink(\"exampleZoneVirtualNetworkLink\", ZoneVirtualNetworkLinkArgs.builder() \n .name(\"exampleVnetZone.com\")\n .privateDnsZoneName(exampleZone.name())\n .virtualNetworkId(exampleVirtualNetwork.id())\n .resourceGroupName(example.name())\n .build());\n\n var exampleFlexibleServer = new FlexibleServer(\"exampleFlexibleServer\", FlexibleServerArgs.builder() \n .name(\"example-psqlflexibleserver\")\n .resourceGroupName(example.name())\n .location(example.location())\n .version(\"12\")\n .delegatedSubnetId(exampleSubnet.id())\n .privateDnsZoneId(exampleZone.id())\n .administratorLogin(\"psqladmin\")\n .administratorPassword(\"H@Sh1CoR3!\")\n .zone(\"1\")\n .storageMb(32768)\n .storageTier(\"P30\")\n .skuName(\"GP_Standard_D4s_v3\")\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: example-vn\n location: ${example.location}\n resourceGroupName: ${example.name}\n addressSpaces:\n - 10.0.0.0/16\n exampleSubnet:\n type: azure:network:Subnet\n name: example\n properties:\n name: example-sn\n resourceGroupName: ${example.name}\n virtualNetworkName: ${exampleVirtualNetwork.name}\n addressPrefixes:\n - 10.0.2.0/24\n serviceEndpoints:\n - Microsoft.Storage\n delegations:\n - name: fs\n serviceDelegation:\n name: Microsoft.DBforPostgreSQL/flexibleServers\n actions:\n - Microsoft.Network/virtualNetworks/subnets/join/action\n exampleZone:\n type: azure:privatedns:Zone\n name: example\n properties:\n name: example.postgres.database.azure.com\n resourceGroupName: ${example.name}\n exampleZoneVirtualNetworkLink:\n type: azure:privatedns:ZoneVirtualNetworkLink\n name: example\n properties:\n name: exampleVnetZone.com\n privateDnsZoneName: ${exampleZone.name}\n virtualNetworkId: ${exampleVirtualNetwork.id}\n resourceGroupName: ${example.name}\n exampleFlexibleServer:\n type: azure:postgresql:FlexibleServer\n name: example\n properties:\n name: example-psqlflexibleserver\n resourceGroupName: ${example.name}\n location: ${example.location}\n version: '12'\n delegatedSubnetId: ${exampleSubnet.id}\n privateDnsZoneId: ${exampleZone.id}\n administratorLogin: psqladmin\n administratorPassword: H@Sh1CoR3!\n zone: '1'\n storageMb: 32768\n storageTier: P30\n skuName: GP_Standard_D4s_v3\n```\n{{% /example %}}\n{{% /examples %}}\n## `storage_tier` defaults based on `storage_mb`\n\n| `storage_mb` | GiB | TiB | Default | Supported `storage_tier`'s | Provisioned `IOPS` |\n|:------------:|:-----:|:---:|:-------:|:------------------------------------:|:-------------------:|\n| 32768 | 32 | - | P4 | P4, P6, P10, P15, P20, P30, P40, P50 | 120 |\n| 65536 | 64 | - | P6 | P6, P10, P15, P20, P30, P40, P50 | 240 |\n| 131072 | 128 | - | P10 | P10, P15, P20, P30, P40, P50 | 500 |\n| 262144 | 256 | - | P15 | P15, P20, P30, P40, P50 | 1,100 |\n| 524288 | 512 | - | P20 | P20, P30, P40, P50 | 2,300 |\n| 1048576 | 1024 | 1 | P30 | P30, P40, P50 | 5,000 |\n| 2097152 | 2048 | 2 | P40 | P40, P50 | 7,500 |\n| 4193280 | 4095 | 4 | P50 | P50 | 7,500 |\n| 4194304 | 4096 | 4 | P50 | P50 | 7,500 |\n| 8388608 | 8192 | 8 | P60 | P60, P70 | 16,000 |\n| 16777216 | 16384 | 16 | P70 | P70, P80 | 18,000 |\n| 33553408 | 32767 | 32 | P80 | P80 | 20,000 |\n\n\u003e **Note:** Host Caching (ReadOnly and Read/Write) is supported on disk sizes less than 4194304 MiB. This means any disk that is provisioned up to 4193280 MiB can take advantage of Host Caching. Host caching is not supported for disk sizes larger than 4193280 MiB. For example, a P50 premium disk provisioned at 4193280 GiB can take advantage of Host caching while a P50 disk provisioned at 4194304 MiB cannot. Moving from a smaller disk size to a larger disk size, greater than 4193280 MiB, will cause the disk to lose the disk caching ability.\n\n---\n\n\n## Import\n\nPostgreSQL Flexible Servers can be imported using the `resource id`, e.g.\n\n ```sh\n $ pulumi import azure:postgresql/flexibleServer:FlexibleServer example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.DBforPostgreSQL/flexibleServers/server1\n```\n\n ", "properties": { "administratorLogin": { "type": "string", @@ -237110,7 +237761,7 @@ }, "privateDnsZoneId": { "type": "string", - "description": "The ID of the private DNS zone to create the PostgreSQL Flexible Server.\n\n\u003e **NOTE:** There will be a breaking change from upstream service at 15th July 2021, the `private_dns_zone_id` will be required when setting a `delegated_subnet_id`. For existing flexible servers who don't want to be recreated, you need to provide the `private_dns_zone_id` to the service team to manually migrate to the specified private DNS zone. The `azure.privatedns.Zone` should end with suffix `.postgres.database.azure.com`.\n" + "description": "The ID of the private DNS zone to create the PostgreSQL Flexible Server.\n\n\u003e **Note:** There will be a breaking change from upstream service at 15th July 2021, the `private_dns_zone_id` will be required when setting a `delegated_subnet_id`. For existing flexible servers who don't want to be recreated, you need to provide the `private_dns_zone_id` to the service team to manually migrate to the specified private DNS zone. The `azure.privatedns.Zone` should end with suffix `.postgres.database.azure.com`.\n" }, "publicNetworkAccessEnabled": { "type": "boolean", @@ -237118,7 +237769,7 @@ }, "replicationRole": { "type": "string", - "description": "The replication role for the PostgreSQL Flexible Server. Possible value is `None`.\n\n\u003e **NOTE:** The `replication_role` cannot be set while creating and only can be updated to `None` for replica server.\n" + "description": "The replication role for the PostgreSQL Flexible Server. Possible value is `None`.\n\n\u003e **Note:** The `replication_role` cannot be set while creating and only can be updated to `None` for replica server.\n" }, "resourceGroupName": { "type": "string", @@ -237134,7 +237785,11 @@ }, "storageMb": { "type": "integer", - "description": "The max storage allowed for the PostgreSQL Flexible Server. Possible values are `32768`, `65536`, `131072`, `262144`, `524288`, `1048576`, `2097152`, `4193280`, `4194304`, `8388608`, `16777216` and `33553408`.\n" + "description": "The max storage allowed for the PostgreSQL Flexible Server. Possible values are `32768`, `65536`, `131072`, `262144`, `524288`, `1048576`, `2097152`, `4193280`, `4194304`, `8388608`, `16777216` and `33553408`.\n\n\u003e **Note:** If the `storage_mb` field is undefined on the initial deployment of the PostgreSQL Flexible Server resource it will default to `32768`. If the `storage_mb` field has been defined and then removed, the `storage_mb` field will retain the previously defined value.\n\n\u003e **Note:** The `storage_mb` can only be scaled up, for example, you can scale the `storage_mb` from `32768` to `65536`, but not from `65536` to `32768`.\n" + }, + "storageTier": { + "type": "string", + "description": "The name of storage performance tier for IOPS of the PostgreSQL Flexible Server. Possible values are `P4`, `P6`, `P10`, `P15`,`P20`, `P30`,`P40`, `P50`,`P60`, `P70` or `P80`. Default value is dependant on the `storage_mb` value. Please see the `storage_tier` defaults based on `storage_mb` table below.\n\n\u003e **Note:** The `storage_tier` can be scaled once every 12 hours, this restriction is in place to ensure stability and performance after any changes to your PostgreSQL Flexible Server's configuration.\n" }, "tags": { "type": "object", @@ -237163,6 +237818,7 @@ "resourceGroupName", "skuName", "storageMb", + "storageTier", "version" ], "inputProperties": { @@ -237235,11 +237891,11 @@ }, "privateDnsZoneId": { "type": "string", - "description": "The ID of the private DNS zone to create the PostgreSQL Flexible Server.\n\n\u003e **NOTE:** There will be a breaking change from upstream service at 15th July 2021, the `private_dns_zone_id` will be required when setting a `delegated_subnet_id`. For existing flexible servers who don't want to be recreated, you need to provide the `private_dns_zone_id` to the service team to manually migrate to the specified private DNS zone. The `azure.privatedns.Zone` should end with suffix `.postgres.database.azure.com`.\n" + "description": "The ID of the private DNS zone to create the PostgreSQL Flexible Server.\n\n\u003e **Note:** There will be a breaking change from upstream service at 15th July 2021, the `private_dns_zone_id` will be required when setting a `delegated_subnet_id`. For existing flexible servers who don't want to be recreated, you need to provide the `private_dns_zone_id` to the service team to manually migrate to the specified private DNS zone. The `azure.privatedns.Zone` should end with suffix `.postgres.database.azure.com`.\n" }, "replicationRole": { "type": "string", - "description": "The replication role for the PostgreSQL Flexible Server. Possible value is `None`.\n\n\u003e **NOTE:** The `replication_role` cannot be set while creating and only can be updated to `None` for replica server.\n" + "description": "The replication role for the PostgreSQL Flexible Server. Possible value is `None`.\n\n\u003e **Note:** The `replication_role` cannot be set while creating and only can be updated to `None` for replica server.\n" }, "resourceGroupName": { "type": "string", @@ -237257,7 +237913,11 @@ }, "storageMb": { "type": "integer", - "description": "The max storage allowed for the PostgreSQL Flexible Server. Possible values are `32768`, `65536`, `131072`, `262144`, `524288`, `1048576`, `2097152`, `4193280`, `4194304`, `8388608`, `16777216` and `33553408`.\n" + "description": "The max storage allowed for the PostgreSQL Flexible Server. Possible values are `32768`, `65536`, `131072`, `262144`, `524288`, `1048576`, `2097152`, `4193280`, `4194304`, `8388608`, `16777216` and `33553408`.\n\n\u003e **Note:** If the `storage_mb` field is undefined on the initial deployment of the PostgreSQL Flexible Server resource it will default to `32768`. If the `storage_mb` field has been defined and then removed, the `storage_mb` field will retain the previously defined value.\n\n\u003e **Note:** The `storage_mb` can only be scaled up, for example, you can scale the `storage_mb` from `32768` to `65536`, but not from `65536` to `32768`.\n" + }, + "storageTier": { + "type": "string", + "description": "The name of storage performance tier for IOPS of the PostgreSQL Flexible Server. Possible values are `P4`, `P6`, `P10`, `P15`,`P20`, `P30`,`P40`, `P50`,`P60`, `P70` or `P80`. Default value is dependant on the `storage_mb` value. Please see the `storage_tier` defaults based on `storage_mb` table below.\n\n\u003e **Note:** The `storage_tier` can be scaled once every 12 hours, this restriction is in place to ensure stability and performance after any changes to your PostgreSQL Flexible Server's configuration.\n" }, "tags": { "type": "object", @@ -237353,7 +238013,7 @@ }, "privateDnsZoneId": { "type": "string", - "description": "The ID of the private DNS zone to create the PostgreSQL Flexible Server.\n\n\u003e **NOTE:** There will be a breaking change from upstream service at 15th July 2021, the `private_dns_zone_id` will be required when setting a `delegated_subnet_id`. For existing flexible servers who don't want to be recreated, you need to provide the `private_dns_zone_id` to the service team to manually migrate to the specified private DNS zone. The `azure.privatedns.Zone` should end with suffix `.postgres.database.azure.com`.\n" + "description": "The ID of the private DNS zone to create the PostgreSQL Flexible Server.\n\n\u003e **Note:** There will be a breaking change from upstream service at 15th July 2021, the `private_dns_zone_id` will be required when setting a `delegated_subnet_id`. For existing flexible servers who don't want to be recreated, you need to provide the `private_dns_zone_id` to the service team to manually migrate to the specified private DNS zone. The `azure.privatedns.Zone` should end with suffix `.postgres.database.azure.com`.\n" }, "publicNetworkAccessEnabled": { "type": "boolean", @@ -237361,7 +238021,7 @@ }, "replicationRole": { "type": "string", - "description": "The replication role for the PostgreSQL Flexible Server. Possible value is `None`.\n\n\u003e **NOTE:** The `replication_role` cannot be set while creating and only can be updated to `None` for replica server.\n" + "description": "The replication role for the PostgreSQL Flexible Server. Possible value is `None`.\n\n\u003e **Note:** The `replication_role` cannot be set while creating and only can be updated to `None` for replica server.\n" }, "resourceGroupName": { "type": "string", @@ -237379,7 +238039,11 @@ }, "storageMb": { "type": "integer", - "description": "The max storage allowed for the PostgreSQL Flexible Server. Possible values are `32768`, `65536`, `131072`, `262144`, `524288`, `1048576`, `2097152`, `4193280`, `4194304`, `8388608`, `16777216` and `33553408`.\n" + "description": "The max storage allowed for the PostgreSQL Flexible Server. Possible values are `32768`, `65536`, `131072`, `262144`, `524288`, `1048576`, `2097152`, `4193280`, `4194304`, `8388608`, `16777216` and `33553408`.\n\n\u003e **Note:** If the `storage_mb` field is undefined on the initial deployment of the PostgreSQL Flexible Server resource it will default to `32768`. If the `storage_mb` field has been defined and then removed, the `storage_mb` field will retain the previously defined value.\n\n\u003e **Note:** The `storage_mb` can only be scaled up, for example, you can scale the `storage_mb` from `32768` to `65536`, but not from `65536` to `32768`.\n" + }, + "storageTier": { + "type": "string", + "description": "The name of storage performance tier for IOPS of the PostgreSQL Flexible Server. Possible values are `P4`, `P6`, `P10`, `P15`,`P20`, `P30`,`P40`, `P50`,`P60`, `P70` or `P80`. Default value is dependant on the `storage_mb` value. Please see the `storage_tier` defaults based on `storage_mb` table below.\n\n\u003e **Note:** The `storage_tier` can be scaled once every 12 hours, this restriction is in place to ensure stability and performance after any changes to your PostgreSQL Flexible Server's configuration.\n" }, "tags": { "type": "object", @@ -237575,7 +238239,7 @@ } }, "azure:postgresql/flexibleServerDatabase:FlexibleServerDatabase": { - "description": "{{% examples %}}\n## Example Usage\n{{% example %}}\n\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 exampleFlexibleServer = new azure.postgresql.FlexibleServer(\"example\", {\n name: \"example-psqlflexibleserver\",\n resourceGroupName: example.name,\n location: example.location,\n version: \"12\",\n administratorLogin: \"psqladmin\",\n administratorPassword: \"H@Sh1CoR3!\",\n storageMb: 32768,\n skuName: \"GP_Standard_D4s_v3\",\n});\nconst exampleFlexibleServerDatabase = new azure.postgresql.FlexibleServerDatabase(\"example\", {\n name: \"example-db\",\n serverId: exampleFlexibleServer.id,\n collation: \"en_US.utf8\",\n charset: \"utf8\",\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_flexible_server = azure.postgresql.FlexibleServer(\"example\",\n name=\"example-psqlflexibleserver\",\n resource_group_name=example.name,\n location=example.location,\n version=\"12\",\n administrator_login=\"psqladmin\",\n administrator_password=\"H@Sh1CoR3!\",\n storage_mb=32768,\n sku_name=\"GP_Standard_D4s_v3\")\nexample_flexible_server_database = azure.postgresql.FlexibleServerDatabase(\"example\",\n name=\"example-db\",\n server_id=example_flexible_server.id,\n collation=\"en_US.utf8\",\n charset=\"utf8\")\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 exampleFlexibleServer = new Azure.PostgreSql.FlexibleServer(\"example\", new()\n {\n Name = \"example-psqlflexibleserver\",\n ResourceGroupName = example.Name,\n Location = example.Location,\n Version = \"12\",\n AdministratorLogin = \"psqladmin\",\n AdministratorPassword = \"H@Sh1CoR3!\",\n StorageMb = 32768,\n SkuName = \"GP_Standard_D4s_v3\",\n });\n\n var exampleFlexibleServerDatabase = new Azure.PostgreSql.FlexibleServerDatabase(\"example\", new()\n {\n Name = \"example-db\",\n ServerId = exampleFlexibleServer.Id,\n Collation = \"en_US.utf8\",\n Charset = \"utf8\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/postgresql\"\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\texampleFlexibleServer, err := postgresql.NewFlexibleServer(ctx, \"example\", \u0026postgresql.FlexibleServerArgs{\n\t\t\tName: pulumi.String(\"example-psqlflexibleserver\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation: example.Location,\n\t\t\tVersion: pulumi.String(\"12\"),\n\t\t\tAdministratorLogin: pulumi.String(\"psqladmin\"),\n\t\t\tAdministratorPassword: pulumi.String(\"H@Sh1CoR3!\"),\n\t\t\tStorageMb: pulumi.Int(32768),\n\t\t\tSkuName: pulumi.String(\"GP_Standard_D4s_v3\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = postgresql.NewFlexibleServerDatabase(ctx, \"example\", \u0026postgresql.FlexibleServerDatabaseArgs{\n\t\t\tName: pulumi.String(\"example-db\"),\n\t\t\tServerId: exampleFlexibleServer.ID(),\n\t\t\tCollation: pulumi.String(\"en_US.utf8\"),\n\t\t\tCharset: pulumi.String(\"utf8\"),\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.postgresql.FlexibleServer;\nimport com.pulumi.azure.postgresql.FlexibleServerArgs;\nimport com.pulumi.azure.postgresql.FlexibleServerDatabase;\nimport com.pulumi.azure.postgresql.FlexibleServerDatabaseArgs;\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 exampleFlexibleServer = new FlexibleServer(\"exampleFlexibleServer\", FlexibleServerArgs.builder() \n .name(\"example-psqlflexibleserver\")\n .resourceGroupName(example.name())\n .location(example.location())\n .version(\"12\")\n .administratorLogin(\"psqladmin\")\n .administratorPassword(\"H@Sh1CoR3!\")\n .storageMb(32768)\n .skuName(\"GP_Standard_D4s_v3\")\n .build());\n\n var exampleFlexibleServerDatabase = new FlexibleServerDatabase(\"exampleFlexibleServerDatabase\", FlexibleServerDatabaseArgs.builder() \n .name(\"example-db\")\n .serverId(exampleFlexibleServer.id())\n .collation(\"en_US.utf8\")\n .charset(\"utf8\")\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 exampleFlexibleServer:\n type: azure:postgresql:FlexibleServer\n name: example\n properties:\n name: example-psqlflexibleserver\n resourceGroupName: ${example.name}\n location: ${example.location}\n version: '12'\n administratorLogin: psqladmin\n administratorPassword: H@Sh1CoR3!\n storageMb: 32768\n skuName: GP_Standard_D4s_v3\n exampleFlexibleServerDatabase:\n type: azure:postgresql:FlexibleServerDatabase\n name: example\n properties:\n name: example-db\n serverId: ${exampleFlexibleServer.id}\n collation: en_US.utf8\n charset: utf8\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nAzure PostgreSQL Flexible Server Database can be imported using the `resource id`, e.g.\n\n ```sh\n $ pulumi import azure:postgresql/flexibleServerDatabase:FlexibleServerDatabase example /subscriptions/12345678-1234-9876-4563-123456789012/resourceGroups/resGroup1/providers/Microsoft.DBforPostgreSQL/flexibleServers/flexibleServer1/databases/database1\n```\n\n ", + "description": "{{% examples %}}\n## Example Usage\n{{% example %}}\n\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 exampleFlexibleServer = new azure.postgresql.FlexibleServer(\"example\", {\n name: \"example-psqlflexibleserver\",\n resourceGroupName: example.name,\n location: example.location,\n version: \"12\",\n administratorLogin: \"psqladmin\",\n administratorPassword: \"H@Sh1CoR3!\",\n storageMb: 32768,\n skuName: \"GP_Standard_D4s_v3\",\n});\nconst exampleFlexibleServerDatabase = new azure.postgresql.FlexibleServerDatabase(\"example\", {\n name: \"exampledb\",\n serverId: exampleFlexibleServer.id,\n collation: \"en_US.utf8\",\n charset: \"utf8\",\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_flexible_server = azure.postgresql.FlexibleServer(\"example\",\n name=\"example-psqlflexibleserver\",\n resource_group_name=example.name,\n location=example.location,\n version=\"12\",\n administrator_login=\"psqladmin\",\n administrator_password=\"H@Sh1CoR3!\",\n storage_mb=32768,\n sku_name=\"GP_Standard_D4s_v3\")\nexample_flexible_server_database = azure.postgresql.FlexibleServerDatabase(\"example\",\n name=\"exampledb\",\n server_id=example_flexible_server.id,\n collation=\"en_US.utf8\",\n charset=\"utf8\")\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 exampleFlexibleServer = new Azure.PostgreSql.FlexibleServer(\"example\", new()\n {\n Name = \"example-psqlflexibleserver\",\n ResourceGroupName = example.Name,\n Location = example.Location,\n Version = \"12\",\n AdministratorLogin = \"psqladmin\",\n AdministratorPassword = \"H@Sh1CoR3!\",\n StorageMb = 32768,\n SkuName = \"GP_Standard_D4s_v3\",\n });\n\n var exampleFlexibleServerDatabase = new Azure.PostgreSql.FlexibleServerDatabase(\"example\", new()\n {\n Name = \"exampledb\",\n ServerId = exampleFlexibleServer.Id,\n Collation = \"en_US.utf8\",\n Charset = \"utf8\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/postgresql\"\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\texampleFlexibleServer, err := postgresql.NewFlexibleServer(ctx, \"example\", \u0026postgresql.FlexibleServerArgs{\n\t\t\tName: pulumi.String(\"example-psqlflexibleserver\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation: example.Location,\n\t\t\tVersion: pulumi.String(\"12\"),\n\t\t\tAdministratorLogin: pulumi.String(\"psqladmin\"),\n\t\t\tAdministratorPassword: pulumi.String(\"H@Sh1CoR3!\"),\n\t\t\tStorageMb: pulumi.Int(32768),\n\t\t\tSkuName: pulumi.String(\"GP_Standard_D4s_v3\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = postgresql.NewFlexibleServerDatabase(ctx, \"example\", \u0026postgresql.FlexibleServerDatabaseArgs{\n\t\t\tName: pulumi.String(\"exampledb\"),\n\t\t\tServerId: exampleFlexibleServer.ID(),\n\t\t\tCollation: pulumi.String(\"en_US.utf8\"),\n\t\t\tCharset: pulumi.String(\"utf8\"),\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.postgresql.FlexibleServer;\nimport com.pulumi.azure.postgresql.FlexibleServerArgs;\nimport com.pulumi.azure.postgresql.FlexibleServerDatabase;\nimport com.pulumi.azure.postgresql.FlexibleServerDatabaseArgs;\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 exampleFlexibleServer = new FlexibleServer(\"exampleFlexibleServer\", FlexibleServerArgs.builder() \n .name(\"example-psqlflexibleserver\")\n .resourceGroupName(example.name())\n .location(example.location())\n .version(\"12\")\n .administratorLogin(\"psqladmin\")\n .administratorPassword(\"H@Sh1CoR3!\")\n .storageMb(32768)\n .skuName(\"GP_Standard_D4s_v3\")\n .build());\n\n var exampleFlexibleServerDatabase = new FlexibleServerDatabase(\"exampleFlexibleServerDatabase\", FlexibleServerDatabaseArgs.builder() \n .name(\"exampledb\")\n .serverId(exampleFlexibleServer.id())\n .collation(\"en_US.utf8\")\n .charset(\"utf8\")\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 exampleFlexibleServer:\n type: azure:postgresql:FlexibleServer\n name: example\n properties:\n name: example-psqlflexibleserver\n resourceGroupName: ${example.name}\n location: ${example.location}\n version: '12'\n administratorLogin: psqladmin\n administratorPassword: H@Sh1CoR3!\n storageMb: 32768\n skuName: GP_Standard_D4s_v3\n exampleFlexibleServerDatabase:\n type: azure:postgresql:FlexibleServerDatabase\n name: example\n properties:\n name: exampledb\n serverId: ${exampleFlexibleServer.id}\n collation: en_US.utf8\n charset: utf8\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nAzure PostgreSQL Flexible Server Database can be imported using the `resource id`, e.g.\n\n ```sh\n $ pulumi import azure:postgresql/flexibleServerDatabase:FlexibleServerDatabase example /subscriptions/12345678-1234-9876-4563-123456789012/resourceGroups/resGroup1/providers/Microsoft.DBforPostgreSQL/flexibleServers/flexibleServer1/databases/database1\n```\n\n ", "properties": { "charset": { "type": "string", @@ -237587,7 +238251,7 @@ }, "name": { "type": "string", - "description": "The name which should be used for this Azure PostgreSQL Flexible Server Database. Changing this forces a new Azure PostgreSQL Flexible Server Database to be created.\n" + "description": "Specifies the name of the PostgreSQL Database, which needs [to be a valid PostgreSQL identifier](https://www.postgresql.org/docs/current/sql-syntax-lexical.html#SQL-SYNTAX-IDENTIFIERS). Changing this forces a new Azure PostgreSQL Flexible Server Database to be created.\n" }, "serverId": { "type": "string", @@ -237611,7 +238275,7 @@ }, "name": { "type": "string", - "description": "The name which should be used for this Azure PostgreSQL Flexible Server Database. Changing this forces a new Azure PostgreSQL Flexible Server Database to be created.\n", + "description": "Specifies the name of the PostgreSQL Database, which needs [to be a valid PostgreSQL identifier](https://www.postgresql.org/docs/current/sql-syntax-lexical.html#SQL-SYNTAX-IDENTIFIERS). Changing this forces a new Azure PostgreSQL Flexible Server Database to be created.\n", "willReplaceOnChanges": true }, "serverId": { @@ -237638,7 +238302,7 @@ }, "name": { "type": "string", - "description": "The name which should be used for this Azure PostgreSQL Flexible Server Database. Changing this forces a new Azure PostgreSQL Flexible Server Database to be created.\n", + "description": "Specifies the name of the PostgreSQL Database, which needs [to be a valid PostgreSQL identifier](https://www.postgresql.org/docs/current/sql-syntax-lexical.html#SQL-SYNTAX-IDENTIFIERS). Changing this forces a new Azure PostgreSQL Flexible Server Database to be created.\n", "willReplaceOnChanges": true }, "serverId": { @@ -248930,6 +249594,10 @@ "$ref": "#/types/azure:servicebus/NamespaceNetworkRuleSet:NamespaceNetworkRuleSet", "description": "An `network_rule_set` block as defined below.\n" }, + "premiumMessagingPartitions": { + "type": "integer", + "description": "Specifies the number messaging partitions. Only valid when `sku` is `Premium` and the minimum number is `1`. Possible values include `0`, `1`, `2`, and `4`. Defaults to `0` for Standard, Basic namespace. Changing this forces a new resource to be created.\n\n\u003e **Note:** It's not possible to change the partitioning option on any existing namespace. The number of partitions can only be set during namespace creation. Please check the doc https://learn.microsoft.com/en-us/azure/service-bus-messaging/enable-partitions-premium for more feature restrictions.\n" + }, "publicNetworkAccessEnabled": { "type": "boolean", "description": "Is public network access enabled for the Service Bus Namespace? Defaults to `true`.\n" @@ -249002,6 +249670,11 @@ "$ref": "#/types/azure:servicebus/NamespaceNetworkRuleSet:NamespaceNetworkRuleSet", "description": "An `network_rule_set` block as defined below.\n" }, + "premiumMessagingPartitions": { + "type": "integer", + "description": "Specifies the number messaging partitions. Only valid when `sku` is `Premium` and the minimum number is `1`. Possible values include `0`, `1`, `2`, and `4`. Defaults to `0` for Standard, Basic namespace. Changing this forces a new resource to be created.\n\n\u003e **Note:** It's not possible to change the partitioning option on any existing namespace. The number of partitions can only be set during namespace creation. Please check the doc https://learn.microsoft.com/en-us/azure/service-bus-messaging/enable-partitions-premium for more feature restrictions.\n", + "willReplaceOnChanges": true + }, "publicNetworkAccessEnabled": { "type": "boolean", "description": "Is public network access enabled for the Service Bus Namespace? Defaults to `true`.\n" @@ -249093,6 +249766,11 @@ "$ref": "#/types/azure:servicebus/NamespaceNetworkRuleSet:NamespaceNetworkRuleSet", "description": "An `network_rule_set` block as defined below.\n" }, + "premiumMessagingPartitions": { + "type": "integer", + "description": "Specifies the number messaging partitions. Only valid when `sku` is `Premium` and the minimum number is `1`. Possible values include `0`, `1`, `2`, and `4`. Defaults to `0` for Standard, Basic namespace. Changing this forces a new resource to be created.\n\n\u003e **Note:** It's not possible to change the partitioning option on any existing namespace. The number of partitions can only be set during namespace creation. Please check the doc https://learn.microsoft.com/en-us/azure/service-bus-messaging/enable-partitions-premium for more feature restrictions.\n", + "willReplaceOnChanges": true + }, "publicNetworkAccessEnabled": { "type": "boolean", "description": "Is public network access enabled for the Service Bus Namespace? Defaults to `true`.\n" @@ -250311,7 +250989,7 @@ }, "requiresDuplicateDetection": { "type": "boolean", - "description": "Boolean flag which controls whether Changing this forces a new resource to be created.\nthe Topic requires duplicate detection. Defaults to false. Changing this forces\na new resource to be created.\n" + "description": "Boolean flag which controls whether the Topic requires duplicate detection. Defaults to false. Changing this forcesa new resource to be created.\n" }, "resourceGroupName": { "type": "string" @@ -250382,7 +251060,7 @@ }, "requiresDuplicateDetection": { "type": "boolean", - "description": "Boolean flag which controls whether Changing this forces a new resource to be created.\nthe Topic requires duplicate detection. Defaults to false. Changing this forces\na new resource to be created.\n", + "description": "Boolean flag which controls whether the Topic requires duplicate detection. Defaults to false. Changing this forcesa new resource to be created.\n", "willReplaceOnChanges": true }, "status": { @@ -250448,7 +251126,7 @@ }, "requiresDuplicateDetection": { "type": "boolean", - "description": "Boolean flag which controls whether Changing this forces a new resource to be created.\nthe Topic requires duplicate detection. Defaults to false. Changing this forces\na new resource to be created.\n", + "description": "Boolean flag which controls whether the Topic requires duplicate detection. Defaults to false. Changing this forcesa new resource to be created.\n", "willReplaceOnChanges": true }, "resourceGroupName": { @@ -264926,7 +265604,7 @@ "properties": { "aadAdmin": { "$ref": "#/types/azure:synapse/WorkspaceAadAdmin:WorkspaceAadAdmin", - "description": "An `aad_admin` block as defined below. Conflicts with `customer_managed_key`.\n" + "description": "An `aad_admin` block as defined below.\n" }, "azureDevopsRepo": { "$ref": "#/types/azure:synapse/WorkspaceAzureDevopsRepo:WorkspaceAzureDevopsRepo", @@ -264949,7 +265627,7 @@ }, "customerManagedKey": { "$ref": "#/types/azure:synapse/WorkspaceCustomerManagedKey:WorkspaceCustomerManagedKey", - "description": "A `customer_managed_key` block as defined below. Conflicts with `aad_admin`.\n" + "description": "A `customer_managed_key` block as defined below.\n" }, "dataExfiltrationProtectionEnabled": { "type": "boolean", @@ -265040,7 +265718,7 @@ "inputProperties": { "aadAdmin": { "$ref": "#/types/azure:synapse/WorkspaceAadAdmin:WorkspaceAadAdmin", - "description": "An `aad_admin` block as defined below. Conflicts with `customer_managed_key`.\n" + "description": "An `aad_admin` block as defined below.\n" }, "azureDevopsRepo": { "$ref": "#/types/azure:synapse/WorkspaceAzureDevopsRepo:WorkspaceAzureDevopsRepo", @@ -265057,7 +265735,7 @@ }, "customerManagedKey": { "$ref": "#/types/azure:synapse/WorkspaceCustomerManagedKey:WorkspaceCustomerManagedKey", - "description": "A `customer_managed_key` block as defined below. Conflicts with `aad_admin`.\n" + "description": "A `customer_managed_key` block as defined below.\n" }, "dataExfiltrationProtectionEnabled": { "type": "boolean", @@ -265152,7 +265830,7 @@ "properties": { "aadAdmin": { "$ref": "#/types/azure:synapse/WorkspaceAadAdmin:WorkspaceAadAdmin", - "description": "An `aad_admin` block as defined below. Conflicts with `customer_managed_key`.\n" + "description": "An `aad_admin` block as defined below.\n" }, "azureDevopsRepo": { "$ref": "#/types/azure:synapse/WorkspaceAzureDevopsRepo:WorkspaceAzureDevopsRepo", @@ -265176,7 +265854,7 @@ }, "customerManagedKey": { "$ref": "#/types/azure:synapse/WorkspaceCustomerManagedKey:WorkspaceCustomerManagedKey", - "description": "A `customer_managed_key` block as defined below. Conflicts with `aad_admin`.\n" + "description": "A `customer_managed_key` block as defined below.\n" }, "dataExfiltrationProtectionEnabled": { "type": "boolean", @@ -265808,6 +266486,171 @@ "type": "object" } }, + "azure:systemcenter/virtualMachineManagerServer:VirtualMachineManagerServer": { + "description": "Manages a System Center Virtual Machine Manager Server.\n\n\u003e **Note:** By request of the service team the provider no longer automatically registering the `Microsoft.ScVmm` Resource Provider for this resource. To register it you can run `az provider register --namespace Microsoft.ScVmm`.\n\n\u003e **Note:** This resource depends on an existing `System Center Virtual Machine Manager Host Machine`, `Arc Resource Bridge` and `Custom Location`. Installing and configuring these dependencies is outside the scope of this document. See [Virtual Machine Manager documentation](https://learn.microsoft.com/en-us/system-center/vmm/?view=sc-vmm-2022) and [Install VMM](https://learn.microsoft.com/en-us/system-center/vmm/install?view=sc-vmm-2022) for more details of `System Center Virtual Machine Manager Host Machine`. See [What is Azure Arc resource bridge](https://learn.microsoft.com/en-us/azure/azure-arc/resource-bridge/overview) and [Overview of Arc-enabled System Center Virtual Machine Manager](https://learn.microsoft.com/en-us/azure/azure-arc/system-center-virtual-machine-manager/overview) for more details of `Arc Resource Bridge/Appliance`. See [Create and manage custom locations on Azure Arc-enabled Kubernetes](https://learn.microsoft.com/en-us/azure/azure-arc/kubernetes/custom-locations) for more details of `Custom Location`. If you encounter issues while configuring, we'd recommend opening a ticket with Microsoft Support.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\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 exampleVirtualMachineManagerServer = new azure.systemcenter.VirtualMachineManagerServer(\"example\", {\n name: \"example-scvmmms\",\n resourceGroupName: example.name,\n location: example.location,\n customLocationId: \"/subscriptions/12345678-1234-9876-4563-123456789012/resourceGroups/resGroup1/providers/Microsoft.ExtendedLocation/customLocations/customLocation1\",\n fqdn: \"example.labtest\",\n username: \"testUser\",\n password: \"H@Sh1CoR3!\",\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_machine_manager_server = azure.systemcenter.VirtualMachineManagerServer(\"example\",\n name=\"example-scvmmms\",\n resource_group_name=example.name,\n location=example.location,\n custom_location_id=\"/subscriptions/12345678-1234-9876-4563-123456789012/resourceGroups/resGroup1/providers/Microsoft.ExtendedLocation/customLocations/customLocation1\",\n fqdn=\"example.labtest\",\n username=\"testUser\",\n password=\"H@Sh1CoR3!\")\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 exampleVirtualMachineManagerServer = new Azure.SystemCenter.VirtualMachineManagerServer(\"example\", new()\n {\n Name = \"example-scvmmms\",\n ResourceGroupName = example.Name,\n Location = example.Location,\n CustomLocationId = \"/subscriptions/12345678-1234-9876-4563-123456789012/resourceGroups/resGroup1/providers/Microsoft.ExtendedLocation/customLocations/customLocation1\",\n Fqdn = \"example.labtest\",\n Username = \"testUser\",\n Password = \"H@Sh1CoR3!\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/systemcenter\"\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 = systemcenter.NewVirtualMachineManagerServer(ctx, \"example\", \u0026systemcenter.VirtualMachineManagerServerArgs{\n\t\t\tName: pulumi.String(\"example-scvmmms\"),\n\t\t\tResourceGroupName: example.Name,\n\t\t\tLocation: example.Location,\n\t\t\tCustomLocationId: pulumi.String(\"/subscriptions/12345678-1234-9876-4563-123456789012/resourceGroups/resGroup1/providers/Microsoft.ExtendedLocation/customLocations/customLocation1\"),\n\t\t\tFqdn: pulumi.String(\"example.labtest\"),\n\t\t\tUsername: pulumi.String(\"testUser\"),\n\t\t\tPassword: pulumi.String(\"H@Sh1CoR3!\"),\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.systemcenter.VirtualMachineManagerServer;\nimport com.pulumi.azure.systemcenter.VirtualMachineManagerServerArgs;\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 exampleVirtualMachineManagerServer = new VirtualMachineManagerServer(\"exampleVirtualMachineManagerServer\", VirtualMachineManagerServerArgs.builder() \n .name(\"example-scvmmms\")\n .resourceGroupName(example.name())\n .location(example.location())\n .customLocationId(\"/subscriptions/12345678-1234-9876-4563-123456789012/resourceGroups/resGroup1/providers/Microsoft.ExtendedLocation/customLocations/customLocation1\")\n .fqdn(\"example.labtest\")\n .username(\"testUser\")\n .password(\"H@Sh1CoR3!\")\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 exampleVirtualMachineManagerServer:\n type: azure:systemcenter:VirtualMachineManagerServer\n name: example\n properties:\n name: example-scvmmms\n resourceGroupName: ${example.name}\n location: ${example.location}\n customLocationId: /subscriptions/12345678-1234-9876-4563-123456789012/resourceGroups/resGroup1/providers/Microsoft.ExtendedLocation/customLocations/customLocation1\n fqdn: example.labtest\n username: testUser\n password: H@Sh1CoR3!\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nSystem Center Virtual Machine Manager Servers can be imported using the `resource id`, e.g.\n\n ```sh\n $ pulumi import azure:systemcenter/virtualMachineManagerServer:VirtualMachineManagerServer example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup1/providers/Microsoft.ScVmm/vmmServers/vmmServer1\n```\n\n ", + "properties": { + "customLocationId": { + "type": "string", + "description": "The ID of the Custom Location for the System Center Virtual Machine Manager Server. Changing this forces a new resource to be created.\n" + }, + "fqdn": { + "type": "string", + "description": "The FQDN of the System Center Virtual Machine Manager Server. Changing this forces a new resource to be created.\n" + }, + "location": { + "type": "string", + "description": "The Azure Region where the System Center Virtual Machine Manager Server should exist. Changing this forces a new resource to be created.\n" + }, + "name": { + "type": "string", + "description": "The name of the System Center Virtual Machine Manager Server. Changing this forces a new resource to be created.\n" + }, + "password": { + "type": "string", + "description": "The password that is used to connect to the System Center Virtual Machine Manager Server. Changing this forces a new resource to be created.\n", + "secret": true + }, + "port": { + "type": "integer", + "description": "The port on which the System Center Virtual Machine Manager Server is listening. Possible values are between `1` and `65535`. Changing this forces a new resource to be created.\n" + }, + "resourceGroupName": { + "type": "string", + "description": "The name of the Resource Group where the System Center Virtual Machine Manager 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 System Center Virtual Machine Manager Server.\n" + }, + "username": { + "type": "string", + "description": "The username that is used to connect to the System Center Virtual Machine Manager Server. Changing this forces a new resource to be created.\n" + } + }, + "required": [ + "customLocationId", + "fqdn", + "location", + "name", + "password", + "resourceGroupName", + "username" + ], + "inputProperties": { + "customLocationId": { + "type": "string", + "description": "The ID of the Custom Location for the System Center Virtual Machine Manager Server. Changing this forces a new resource to be created.\n", + "willReplaceOnChanges": true + }, + "fqdn": { + "type": "string", + "description": "The FQDN of the System Center Virtual Machine Manager Server. Changing this forces a new resource to be created.\n", + "willReplaceOnChanges": true + }, + "location": { + "type": "string", + "description": "The Azure Region where the System Center Virtual Machine Manager Server should exist. Changing this forces a new resource to be created.\n", + "willReplaceOnChanges": true + }, + "name": { + "type": "string", + "description": "The name of the System Center Virtual Machine Manager Server. Changing this forces a new resource to be created.\n", + "willReplaceOnChanges": true + }, + "password": { + "type": "string", + "description": "The password that is used to connect to the System Center Virtual Machine Manager Server. Changing this forces a new resource to be created.\n", + "secret": true, + "willReplaceOnChanges": true + }, + "port": { + "type": "integer", + "description": "The port on which the System Center Virtual Machine Manager Server is listening. Possible values are between `1` and `65535`. Changing this forces a new resource to be created.\n", + "willReplaceOnChanges": true + }, + "resourceGroupName": { + "type": "string", + "description": "The name of the Resource Group where the System Center Virtual Machine Manager 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 System Center Virtual Machine Manager Server.\n" + }, + "username": { + "type": "string", + "description": "The username that is used to connect to the System Center Virtual Machine Manager Server. Changing this forces a new resource to be created.\n", + "willReplaceOnChanges": true + } + }, + "requiredInputs": [ + "customLocationId", + "fqdn", + "password", + "resourceGroupName", + "username" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering VirtualMachineManagerServer resources.\n", + "properties": { + "customLocationId": { + "type": "string", + "description": "The ID of the Custom Location for the System Center Virtual Machine Manager Server. Changing this forces a new resource to be created.\n", + "willReplaceOnChanges": true + }, + "fqdn": { + "type": "string", + "description": "The FQDN of the System Center Virtual Machine Manager Server. Changing this forces a new resource to be created.\n", + "willReplaceOnChanges": true + }, + "location": { + "type": "string", + "description": "The Azure Region where the System Center Virtual Machine Manager Server should exist. Changing this forces a new resource to be created.\n", + "willReplaceOnChanges": true + }, + "name": { + "type": "string", + "description": "The name of the System Center Virtual Machine Manager Server. Changing this forces a new resource to be created.\n", + "willReplaceOnChanges": true + }, + "password": { + "type": "string", + "description": "The password that is used to connect to the System Center Virtual Machine Manager Server. Changing this forces a new resource to be created.\n", + "secret": true, + "willReplaceOnChanges": true + }, + "port": { + "type": "integer", + "description": "The port on which the System Center Virtual Machine Manager Server is listening. Possible values are between `1` and `65535`. Changing this forces a new resource to be created.\n", + "willReplaceOnChanges": true + }, + "resourceGroupName": { + "type": "string", + "description": "The name of the Resource Group where the System Center Virtual Machine Manager 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 System Center Virtual Machine Manager Server.\n" + }, + "username": { + "type": "string", + "description": "The username that is used to connect to the System Center Virtual Machine Manager Server. Changing this forces a new resource to be created.\n", + "willReplaceOnChanges": true + } + }, + "type": "object" + } + }, "azure:trafficmanager/profile:Profile": { "description": "Manages a Traffic Manager Profile to which multiple endpoints can be attached.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\nimport * as random from \"@pulumi/random\";\n\nconst server = new random.RandomId(\"server\", {\n keepers: {\n azi_id: \"1\",\n },\n byteLength: 8,\n});\nconst example = new azure.core.ResourceGroup(\"example\", {\n name: \"trafficmanagerProfile\",\n location: \"West Europe\",\n});\nconst exampleTrafficManagerProfile = new azure.network.TrafficManagerProfile(\"example\", {\n name: server.hex,\n resourceGroupName: example.name,\n trafficRoutingMethod: \"Weighted\",\n dnsConfig: {\n relativeName: server.hex,\n ttl: 100,\n },\n monitorConfig: {\n protocol: \"HTTP\",\n port: 80,\n path: \"/\",\n intervalInSeconds: 30,\n timeoutInSeconds: 9,\n toleratedNumberOfFailures: 3,\n },\n tags: {\n environment: \"Production\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\nimport pulumi_random as random\n\nserver = random.RandomId(\"server\",\n keepers={\n \"azi_id\": \"1\",\n },\n byte_length=8)\nexample = azure.core.ResourceGroup(\"example\",\n name=\"trafficmanagerProfile\",\n location=\"West Europe\")\nexample_traffic_manager_profile = azure.network.TrafficManagerProfile(\"example\",\n name=server.hex,\n resource_group_name=example.name,\n traffic_routing_method=\"Weighted\",\n dns_config=azure.network.TrafficManagerProfileDnsConfigArgs(\n relative_name=server.hex,\n ttl=100,\n ),\n monitor_config=azure.network.TrafficManagerProfileMonitorConfigArgs(\n protocol=\"HTTP\",\n port=80,\n path=\"/\",\n interval_in_seconds=30,\n timeout_in_seconds=9,\n tolerated_number_of_failures=3,\n ),\n tags={\n \"environment\": \"Production\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azure = Pulumi.Azure;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var server = new Random.RandomId(\"server\", new()\n {\n Keepers = \n {\n { \"azi_id\", \"1\" },\n },\n ByteLength = 8,\n });\n\n var example = new Azure.Core.ResourceGroup(\"example\", new()\n {\n Name = \"trafficmanagerProfile\",\n Location = \"West Europe\",\n });\n\n var exampleTrafficManagerProfile = new Azure.Network.TrafficManagerProfile(\"example\", new()\n {\n Name = server.Hex,\n ResourceGroupName = example.Name,\n TrafficRoutingMethod = \"Weighted\",\n DnsConfig = new Azure.Network.Inputs.TrafficManagerProfileDnsConfigArgs\n {\n RelativeName = server.Hex,\n Ttl = 100,\n },\n MonitorConfig = new Azure.Network.Inputs.TrafficManagerProfileMonitorConfigArgs\n {\n Protocol = \"HTTP\",\n Port = 80,\n Path = \"/\",\n IntervalInSeconds = 30,\n TimeoutInSeconds = 9,\n ToleratedNumberOfFailures = 3,\n },\n Tags = \n {\n { \"environment\", \"Production\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/core\"\n\t\"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/network\"\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tserver, err := random.NewRandomId(ctx, \"server\", \u0026random.RandomIdArgs{\n\t\t\tKeepers: pulumi.StringMap{\n\t\t\t\t\"azi_id\": pulumi.String(\"1\"),\n\t\t\t},\n\t\t\tByteLength: pulumi.Int(8),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := core.NewResourceGroup(ctx, \"example\", \u0026core.ResourceGroupArgs{\n\t\t\tName: pulumi.String(\"trafficmanagerProfile\"),\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 = network.NewTrafficManagerProfile(ctx, \"example\", \u0026network.TrafficManagerProfileArgs{\n\t\t\tName: server.Hex,\n\t\t\tResourceGroupName: example.Name,\n\t\t\tTrafficRoutingMethod: pulumi.String(\"Weighted\"),\n\t\t\tDnsConfig: \u0026network.TrafficManagerProfileDnsConfigArgs{\n\t\t\t\tRelativeName: server.Hex,\n\t\t\t\tTtl: pulumi.Int(100),\n\t\t\t},\n\t\t\tMonitorConfig: \u0026network.TrafficManagerProfileMonitorConfigArgs{\n\t\t\t\tProtocol: pulumi.String(\"HTTP\"),\n\t\t\t\tPort: pulumi.Int(80),\n\t\t\t\tPath: pulumi.String(\"/\"),\n\t\t\t\tIntervalInSeconds: pulumi.Int(30),\n\t\t\t\tTimeoutInSeconds: pulumi.Int(9),\n\t\t\t\tToleratedNumberOfFailures: pulumi.Int(3),\n\t\t\t},\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\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.random.RandomId;\nimport com.pulumi.random.RandomIdArgs;\nimport com.pulumi.azure.core.ResourceGroup;\nimport com.pulumi.azure.core.ResourceGroupArgs;\nimport com.pulumi.azure.network.TrafficManagerProfile;\nimport com.pulumi.azure.network.TrafficManagerProfileArgs;\nimport com.pulumi.azure.network.inputs.TrafficManagerProfileDnsConfigArgs;\nimport com.pulumi.azure.network.inputs.TrafficManagerProfileMonitorConfigArgs;\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 server = new RandomId(\"server\", RandomIdArgs.builder() \n .keepers(Map.of(\"azi_id\", 1))\n .byteLength(8)\n .build());\n\n var example = new ResourceGroup(\"example\", ResourceGroupArgs.builder() \n .name(\"trafficmanagerProfile\")\n .location(\"West Europe\")\n .build());\n\n var exampleTrafficManagerProfile = new TrafficManagerProfile(\"exampleTrafficManagerProfile\", TrafficManagerProfileArgs.builder() \n .name(server.hex())\n .resourceGroupName(example.name())\n .trafficRoutingMethod(\"Weighted\")\n .dnsConfig(TrafficManagerProfileDnsConfigArgs.builder()\n .relativeName(server.hex())\n .ttl(100)\n .build())\n .monitorConfig(TrafficManagerProfileMonitorConfigArgs.builder()\n .protocol(\"HTTP\")\n .port(80)\n .path(\"/\")\n .intervalInSeconds(30)\n .timeoutInSeconds(9)\n .toleratedNumberOfFailures(3)\n .build())\n .tags(Map.of(\"environment\", \"Production\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n server:\n type: random:RandomId\n properties:\n keepers:\n azi_id: 1\n byteLength: 8\n example:\n type: azure:core:ResourceGroup\n properties:\n name: trafficmanagerProfile\n location: West Europe\n exampleTrafficManagerProfile:\n type: azure:network:TrafficManagerProfile\n name: example\n properties:\n name: ${server.hex}\n resourceGroupName: ${example.name}\n trafficRoutingMethod: Weighted\n dnsConfig:\n relativeName: ${server.hex}\n ttl: 100\n monitorConfig:\n protocol: HTTP\n port: 80\n path: /\n intervalInSeconds: 30\n timeoutInSeconds: 9\n toleratedNumberOfFailures: 3\n tags:\n environment: Production\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nTraffic Manager Profiles can be imported using the `resource id`, e.g.\n\n ```sh\n $ pulumi import azure:trafficmanager/profile:Profile exampleProfile /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Network/trafficManagerProfiles/mytrafficmanagerprofile1\n```\n\n ", "properties": { @@ -281687,6 +282530,10 @@ "name": { "type": "string" }, + "premiumMessagingPartitions": { + "description": "The messaging partitions of the ServiceBus Namespace.\n", + "type": "integer" + }, "resourceGroupName": { "type": "string" }, @@ -281715,6 +282562,7 @@ "endpoint", "location", "name", + "premiumMessagingPartitions", "resourceGroupName", "sku", "tags", @@ -281724,6 +282572,109 @@ "type": "object" } }, + "azure:expressroute/getCircuitPeering:getCircuitPeering": { + "description": "Manages an ExpressRoute Circuit Peering.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### Creating A Microsoft Peering)\n\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azure.expressroute.ExpressrouteFunctions;\nimport com.pulumi.azure.expressroute.inputs.GetCircuitPeeringArgs;\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 = ExpressrouteFunctions.getCircuitPeering(GetCircuitPeeringArgs.builder()\n .name(\"example-peering\")\n .expressRouteCircuitName(\"example-expressroute\")\n .resourceGroupName(\"example-resources\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: azure:expressroute:getCircuitPeering\n Arguments:\n name: example-peering\n expressRouteCircuitName: example-expressroute\n resourceGroupName: example-resources\n```\n{{% /example %}}\n{{% /examples %}}", + "inputs": { + "description": "A collection of arguments for invoking getCircuitPeering.\n", + "properties": { + "expressRouteCircuitName": { + "type": "string", + "description": "The name of the ExpressRoute Circuit in which to create the Peering. Changing this forces a new resource to be created.\n" + }, + "peeringType": { + "type": "string", + "description": "The type of the ExpressRoute Circuit Peering. Acceptable values include `AzurePrivatePeering`, `AzurePublicPeering` and `MicrosoftPeering`.\n" + }, + "resourceGroupName": { + "type": "string", + "description": "The name of the resource group in which to create the Express Route Circuit Peering. Changing this forces a new resource to be created.\n" + } + }, + "type": "object", + "required": [ + "expressRouteCircuitName", + "peeringType", + "resourceGroupName" + ] + }, + "outputs": { + "description": "A collection of values returned by getCircuitPeering.\n", + "properties": { + "azureAsn": { + "description": "The ASN used by Azure for the peering.\n", + "type": "integer" + }, + "expressRouteCircuitName": { + "type": "string" + }, + "gatewayManagerEtag": { + "type": "string" + }, + "id": { + "description": "The provider-assigned unique ID for this managed resource.\n", + "type": "string" + }, + "ipv4Enabled": { + "description": "Indicates if IPv4 is enabled.\n", + "type": "boolean" + }, + "peerAsn": { + "type": "integer" + }, + "peeringType": { + "description": "The type of the ExpressRoute Circuit Peering.\n", + "type": "string" + }, + "primaryAzurePort": { + "description": "The primary port used by Azure for this peering.\n", + "type": "string" + }, + "primaryPeerAddressPrefix": { + "description": "The primary peer address prefix.\n", + "type": "string" + }, + "resourceGroupName": { + "type": "string" + }, + "routeFilterId": { + "type": "string" + }, + "secondaryAzurePort": { + "description": "The secondary port used by Azure for this peering.\n", + "type": "string" + }, + "secondaryPeerAddressPrefix": { + "description": "The secondary peer address prefix.\n", + "type": "string" + }, + "sharedKey": { + "type": "string" + }, + "vlanId": { + "description": "The VLAN ID used for this peering.\n", + "type": "integer" + } + }, + "required": [ + "azureAsn", + "expressRouteCircuitName", + "gatewayManagerEtag", + "ipv4Enabled", + "peerAsn", + "peeringType", + "primaryAzurePort", + "primaryPeerAddressPrefix", + "resourceGroupName", + "routeFilterId", + "secondaryAzurePort", + "secondaryPeerAddressPrefix", + "sharedKey", + "vlanId", + "id" + ], + "type": "object" + } + }, "azure:hdinsight/getCluster:getCluster": { "description": "Use this data source to access information about an existing HDInsight Cluster.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.hdinsight.getCluster({\n name: \"example\",\n resourceGroupName: \"example-resources\",\n});\nexport const httpsEndpoint = example.then(example =\u003e example.httpsEndpoint);\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.hdinsight.get_cluster(name=\"example\",\n resource_group_name=\"example-resources\")\npulumi.export(\"httpsEndpoint\", example.https_endpoint)\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.HDInsight.GetCluster.Invoke(new()\n {\n Name = \"example\",\n ResourceGroupName = \"example-resources\",\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"httpsEndpoint\"] = example.Apply(getClusterResult =\u003e getClusterResult.HttpsEndpoint),\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/hdinsight\"\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 := hdinsight.GetCluster(ctx, \u0026hdinsight.GetClusterArgs{\n\t\t\tName: \"example\",\n\t\t\tResourceGroupName: \"example-resources\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"httpsEndpoint\", example.HttpsEndpoint)\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.hdinsight.HdinsightFunctions;\nimport com.pulumi.azure.hdinsight.inputs.GetClusterArgs;\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 = HdinsightFunctions.getCluster(GetClusterArgs.builder()\n .name(\"example\")\n .resourceGroupName(\"example-resources\")\n .build());\n\n ctx.export(\"httpsEndpoint\", example.applyValue(getClusterResult -\u003e getClusterResult.httpsEndpoint()));\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: azure:hdinsight:getCluster\n Arguments:\n name: example\n resourceGroupName: example-resources\noutputs:\n httpsEndpoint: ${example.httpsEndpoint}\n```\n{{% /example %}}\n{{% /examples %}}", "inputs": { @@ -287857,6 +288808,10 @@ "accountName": { "type": "string" }, + "encryptionType": { + "description": "The encryption type of the pool.\n", + "type": "string" + }, "id": { "description": "The provider-assigned unique ID for this managed resource.\n", "type": "string" @@ -287882,6 +288837,7 @@ }, "required": [ "accountName", + "encryptionType", "location", "name", "resourceGroupName", @@ -288165,6 +289121,14 @@ "description": "The service level of the file system.\n", "type": "string" }, + "smbAccessBasedEnumerationEnabled": { + "description": "Limits enumeration of files and folders (that is, listing the contents) in SMB only to users with allowed access on the share.\n---\n", + "type": "boolean" + }, + "smbNonBrowsableEnabled": { + "description": "Limits clients from browsing for an SMB share.\n", + "type": "boolean" + }, "storageQuotaInGb": { "description": "The maximum Storage Quota in Gigabytes allowed for a file system.\n", "type": "integer" @@ -288195,6 +289159,8 @@ "protocols", "resourceGroupName", "serviceLevel", + "smbAccessBasedEnumerationEnabled", + "smbNonBrowsableEnabled", "storageQuotaInGb", "subnetId", "volumePath", @@ -291359,6 +292325,10 @@ "outputs": { "description": "A collection of values returned by getDeployment.\n", "properties": { + "automaticUpgradeChannel": { + "description": "The automatic upgrade channel for this NGINX deployment.\n", + "type": "string" + }, "capacity": { "description": "The number of NGINX capacity units for this Nginx Deployment.\n", "type": "integer" @@ -291446,6 +292416,7 @@ } }, "required": [ + "automaticUpgradeChannel", "capacity", "diagnoseSupportEnabled", "email", @@ -294683,6 +295654,10 @@ "name": { "type": "string" }, + "premiumMessagingPartitions": { + "description": "The messaging partitions of the ServiceBus Namespace.\n", + "type": "integer" + }, "resourceGroupName": { "type": "string" }, @@ -294711,6 +295686,7 @@ "endpoint", "location", "name", + "premiumMessagingPartitions", "resourceGroupName", "sku", "tags", @@ -297471,6 +298447,78 @@ "type": "object" } }, + "azure:storage/getTableEntities:getTableEntities": { + "description": "Use this data source to access information about an existing Storage Table Entity.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.storage.getTableEntities({\n tableName: \"example-table-name\",\n storageAccountName: \"example-storage-account-name\",\n filter: \"PartitionKey eq 'example'\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.storage.get_table_entities(table_name=\"example-table-name\",\n storage_account_name=\"example-storage-account-name\",\n filter=\"PartitionKey eq 'example'\")\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.Storage.GetTableEntities.Invoke(new()\n {\n TableName = \"example-table-name\",\n StorageAccountName = \"example-storage-account-name\",\n Filter = \"PartitionKey eq 'example'\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v5/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\t_, err := storage.GetTableEntities(ctx, \u0026storage.GetTableEntitiesArgs{\n\t\t\tTableName: \"example-table-name\",\n\t\t\tStorageAccountName: \"example-storage-account-name\",\n\t\t\tFilter: \"PartitionKey eq 'example'\",\n\t\t}, nil)\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.storage.StorageFunctions;\nimport com.pulumi.azure.storage.inputs.GetTableEntitiesArgs;\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 = StorageFunctions.getTableEntities(GetTableEntitiesArgs.builder()\n .tableName(\"example-table-name\")\n .storageAccountName(\"example-storage-account-name\")\n .filter(\"PartitionKey eq 'example'\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: azure:storage:getTableEntities\n Arguments:\n tableName: example-table-name\n storageAccountName: example-storage-account-name\n filter: PartitionKey eq 'example'\n```\n{{% /example %}}\n{{% /examples %}}", + "inputs": { + "description": "A collection of arguments for invoking getTableEntities.\n", + "properties": { + "filter": { + "type": "string", + "description": "The filter used to retrieve the entities.\n" + }, + "selects": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A list of properties to select from the returned Storage Table Entities.\n" + }, + "storageAccountName": { + "type": "string", + "description": "The name of the Storage Account where the Table exists.\n" + }, + "tableName": { + "type": "string", + "description": "The name of the Table.\n" + } + }, + "type": "object", + "required": [ + "filter", + "storageAccountName", + "tableName" + ] + }, + "outputs": { + "description": "A collection of values returned by getTableEntities.\n", + "properties": { + "filter": { + "type": "string" + }, + "id": { + "description": "The provider-assigned unique ID for this managed resource.\n", + "type": "string" + }, + "items": { + "description": "A list of `items` blocks as defined below.\n", + "items": { + "$ref": "#/types/azure:storage/getTableEntitiesItem:getTableEntitiesItem" + }, + "type": "array" + }, + "selects": { + "items": { + "type": "string" + }, + "type": "array" + }, + "storageAccountName": { + "type": "string" + }, + "tableName": { + "type": "string" + } + }, + "required": [ + "filter", + "items", + "storageAccountName", + "tableName", + "id" + ], + "type": "object" + } + }, "azure:storage/getTableEntity:getTableEntity": { "description": "Use this data source to access information about an existing Storage Table Entity.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure from \"@pulumi/azure\";\n\nconst example = azure.storage.getTableEntity({\n tableName: \"example-table-name\",\n storageAccountName: \"example-storage-account-name\",\n partitionKey: \"example-partition-key\",\n rowKey: \"example-row-key\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azure as azure\n\nexample = azure.storage.get_table_entity(table_name=\"example-table-name\",\n storage_account_name=\"example-storage-account-name\",\n partition_key=\"example-partition-key\",\n row_key=\"example-row-key\")\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.Storage.GetTableEntity.Invoke(new()\n {\n TableName = \"example-table-name\",\n StorageAccountName = \"example-storage-account-name\",\n PartitionKey = \"example-partition-key\",\n RowKey = \"example-row-key\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure/sdk/v5/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\t_, err := storage.LookupTableEntity(ctx, \u0026storage.LookupTableEntityArgs{\n\t\t\tTableName: \"example-table-name\",\n\t\t\tStorageAccountName: \"example-storage-account-name\",\n\t\t\tPartitionKey: \"example-partition-key\",\n\t\t\tRowKey: \"example-row-key\",\n\t\t}, nil)\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.storage.StorageFunctions;\nimport com.pulumi.azure.storage.inputs.GetTableEntityArgs;\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 = StorageFunctions.getTableEntity(GetTableEntityArgs.builder()\n .tableName(\"example-table-name\")\n .storageAccountName(\"example-storage-account-name\")\n .partitionKey(\"example-partition-key\")\n .rowKey(\"example-row-key\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: azure:storage:getTableEntity\n Arguments:\n tableName: example-table-name\n storageAccountName: example-storage-account-name\n partitionKey: example-partition-key\n rowKey: example-row-key\n```\n{{% /example %}}\n{{% /examples %}}", "inputs": { diff --git a/provider/go.mod b/provider/go.mod index 2c98ebc384..14e2bd676a 100644 --- a/provider/go.mod +++ b/provider/go.mod @@ -6,7 +6,7 @@ toolchain go1.21.3 require ( github.com/Azure/go-autorest/autorest/azure/cli v0.4.6 - github.com/hashicorp/go-azure-sdk/sdk v0.20240214.1142753 + github.com/hashicorp/go-azure-sdk/sdk v0.20240228.1142829 github.com/hashicorp/terraform-plugin-sdk/v2 v2.29.0 github.com/hashicorp/terraform-provider-azurerm v1.44.1-0.20220923005104-eaa801c358ff github.com/pulumi/providertest v0.0.10 @@ -124,7 +124,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.66.2 // indirect - github.com/hashicorp/go-azure-sdk/resource-manager v0.20240214.1142753 // indirect + github.com/hashicorp/go-azure-sdk/resource-manager v0.20240228.1142829 // 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 ad17bf2ace..78695b0961 100644 --- a/provider/go.sum +++ b/provider/go.sum @@ -1617,10 +1617,10 @@ github.com/hashicorp/errwrap v1.1.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brv github.com/hashicorp/go-azure-helpers v0.12.0/go.mod h1:Zc3v4DNeX6PDdy7NljlYpnrdac1++qNW0I4U+ofGwpg= github.com/hashicorp/go-azure-helpers v0.66.2 h1:+Pzuo7pdKl0hBXXr5ymmhs4Q40tHAo2nAvHq4WgSjx8= github.com/hashicorp/go-azure-helpers v0.66.2/go.mod h1:kJxXrFtJKJdOEqvad8pllAe7dhP4DbN8J6sqFZe47+4= -github.com/hashicorp/go-azure-sdk/resource-manager v0.20240214.1142753 h1:UjUwuHNaUWOJjudR9rzAnvrU6vv1FSNTjDK0RZdgRZ0= -github.com/hashicorp/go-azure-sdk/resource-manager v0.20240214.1142753/go.mod h1:Sh6keCMqwZSMyffG6/R9FTDrGWG0R3ke8vhchORZe3A= -github.com/hashicorp/go-azure-sdk/sdk v0.20240214.1142753 h1:nXVucAaGJh+pzi8c00MhTb9zQh2azCDQCwrbdDJch3U= -github.com/hashicorp/go-azure-sdk/sdk v0.20240214.1142753/go.mod h1:IKIPyL+hfFWBHABKT0NOWlIEzlusiUBG0SxIfaiv278= +github.com/hashicorp/go-azure-sdk/resource-manager v0.20240228.1142829 h1:hvfN48POr1yZXJSzW71ynTVGfMQgLmX4NDJ3lPkiwgs= +github.com/hashicorp/go-azure-sdk/resource-manager v0.20240228.1142829/go.mod h1:89N0LAkz404ZWWJfW1RVl/x8Xv8RdUAuc2rqkNo7za8= +github.com/hashicorp/go-azure-sdk/sdk v0.20240228.1142829 h1:eRWPAvNi95VOZBKJYY9yikyorCLMgFpQnJZOpCZAzj4= +github.com/hashicorp/go-azure-sdk/sdk v0.20240228.1142829/go.mod h1:IKIPyL+hfFWBHABKT0NOWlIEzlusiUBG0SxIfaiv278= 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 7331623213..75139a8f55 100644 --- a/provider/resources.go +++ b/provider/resources.go @@ -106,6 +106,7 @@ const ( azureDNS = "Dns" // DNS azureDomainServices = "DomainServices" // DomainServices azureElasticCloud = "ElasticCloud" // Elastic Cloud + azureExpressRoute = "ExpressRoute" // ExpressRoute azureFluidRelay = "FluidRelay" // Fluid Relay azureFrontdoor = "FrontDoor" // Frontdoor azureGraph = "Graph" // Graph @@ -173,6 +174,7 @@ const ( azureStorage = "Storage" // Storage azureStreamAnalytics = "StreamAnalytics" // StreamAnalytics azureSynapse = "Synapse" // Synapse + azureSystemCenter = "SystemCenter" // SystemCenter azureVideoAnalyzer = "VideoAnalyzer" // Video Analyzer azureVoice = "Voice" // Voice azureWaf = "Waf" // WAF @@ -345,6 +347,8 @@ var moduleMap = map[string]string{ "network_function": azureNetworkFunction, "chaos_studio": azureChaosStudio, "redhat_openshift": azureRedHatOpenShift, + "system_center": azureSystemCenter, + "express_route": azureExpressRoute, // We don't apply mappings to legacy roles, so they are omitted here. } @@ -2613,6 +2617,9 @@ func Provider() tfbridge.ProviderInfo { "urn": {Name: "capabilityUrn"}, }, }, + "azurerm_dev_center_catalog": { + Docs: &tfbridge.DocInfo{AllowMissing: true}, + }, }, DataSources: map[string]*tfbridge.DataSourceInfo{ "azurerm_location": {Tok: azureDataSource(azureCore, "getLocation")}, diff --git a/sdk/dotnet/AppPlatform/Inputs/SpringCloudCustomizedAcceleratorGitRepositoryArgs.cs b/sdk/dotnet/AppPlatform/Inputs/SpringCloudCustomizedAcceleratorGitRepositoryArgs.cs index 82dc110a48..44fca2b315 100644 --- a/sdk/dotnet/AppPlatform/Inputs/SpringCloudCustomizedAcceleratorGitRepositoryArgs.cs +++ b/sdk/dotnet/AppPlatform/Inputs/SpringCloudCustomizedAcceleratorGitRepositoryArgs.cs @@ -13,7 +13,7 @@ namespace Pulumi.Azure.AppPlatform.Inputs public sealed class SpringCloudCustomizedAcceleratorGitRepositoryArgs : global::Pulumi.ResourceArgs { /// - /// A `basic_auth` block as defined below. Conflicts with `git_repository.0.ssh_auth`. Changing this forces a new Spring Cloud Customized Accelerator to be created. + /// A `basic_auth` block as defined below. Conflicts with `git_repository[0].ssh_auth`. Changing this forces a new Spring Cloud Customized Accelerator to be created. /// [Input("basicAuth")] public Input? BasicAuth { get; set; } @@ -55,7 +55,7 @@ public sealed class SpringCloudCustomizedAcceleratorGitRepositoryArgs : global:: public Input? Path { get; set; } /// - /// A `ssh_auth` block as defined below. Conflicts with `git_repository.0.basic_auth`. Changing this forces a new Spring Cloud Customized Accelerator to be created. + /// A `ssh_auth` block as defined below. Conflicts with `git_repository[0].basic_auth`. Changing this forces a new Spring Cloud Customized Accelerator to be created. /// [Input("sshAuth")] public Input? SshAuth { get; set; } diff --git a/sdk/dotnet/AppPlatform/Inputs/SpringCloudCustomizedAcceleratorGitRepositoryGetArgs.cs b/sdk/dotnet/AppPlatform/Inputs/SpringCloudCustomizedAcceleratorGitRepositoryGetArgs.cs index bac02aeefd..26a3b724d4 100644 --- a/sdk/dotnet/AppPlatform/Inputs/SpringCloudCustomizedAcceleratorGitRepositoryGetArgs.cs +++ b/sdk/dotnet/AppPlatform/Inputs/SpringCloudCustomizedAcceleratorGitRepositoryGetArgs.cs @@ -13,7 +13,7 @@ namespace Pulumi.Azure.AppPlatform.Inputs public sealed class SpringCloudCustomizedAcceleratorGitRepositoryGetArgs : global::Pulumi.ResourceArgs { /// - /// A `basic_auth` block as defined below. Conflicts with `git_repository.0.ssh_auth`. Changing this forces a new Spring Cloud Customized Accelerator to be created. + /// A `basic_auth` block as defined below. Conflicts with `git_repository[0].ssh_auth`. Changing this forces a new Spring Cloud Customized Accelerator to be created. /// [Input("basicAuth")] public Input? BasicAuth { get; set; } @@ -55,7 +55,7 @@ public sealed class SpringCloudCustomizedAcceleratorGitRepositoryGetArgs : globa public Input? Path { get; set; } /// - /// A `ssh_auth` block as defined below. Conflicts with `git_repository.0.basic_auth`. Changing this forces a new Spring Cloud Customized Accelerator to be created. + /// A `ssh_auth` block as defined below. Conflicts with `git_repository[0].basic_auth`. Changing this forces a new Spring Cloud Customized Accelerator to be created. /// [Input("sshAuth")] public Input? SshAuth { get; set; } diff --git a/sdk/dotnet/AppPlatform/Outputs/SpringCloudCustomizedAcceleratorGitRepository.cs b/sdk/dotnet/AppPlatform/Outputs/SpringCloudCustomizedAcceleratorGitRepository.cs index 55818904da..c30a51a15f 100644 --- a/sdk/dotnet/AppPlatform/Outputs/SpringCloudCustomizedAcceleratorGitRepository.cs +++ b/sdk/dotnet/AppPlatform/Outputs/SpringCloudCustomizedAcceleratorGitRepository.cs @@ -14,7 +14,7 @@ namespace Pulumi.Azure.AppPlatform.Outputs public sealed class SpringCloudCustomizedAcceleratorGitRepository { /// - /// A `basic_auth` block as defined below. Conflicts with `git_repository.0.ssh_auth`. Changing this forces a new Spring Cloud Customized Accelerator to be created. + /// A `basic_auth` block as defined below. Conflicts with `git_repository[0].ssh_auth`. Changing this forces a new Spring Cloud Customized Accelerator to be created. /// public readonly Outputs.SpringCloudCustomizedAcceleratorGitRepositoryBasicAuth? BasicAuth; /// @@ -42,7 +42,7 @@ public sealed class SpringCloudCustomizedAcceleratorGitRepository /// public readonly string? Path; /// - /// A `ssh_auth` block as defined below. Conflicts with `git_repository.0.basic_auth`. Changing this forces a new Spring Cloud Customized Accelerator to be created. + /// A `ssh_auth` block as defined below. Conflicts with `git_repository[0].basic_auth`. Changing this forces a new Spring Cloud Customized Accelerator to be created. /// public readonly Outputs.SpringCloudCustomizedAcceleratorGitRepositorySshAuth? SshAuth; /// diff --git a/sdk/dotnet/AppPlatform/SpringCloudConfigurationService.cs b/sdk/dotnet/AppPlatform/SpringCloudConfigurationService.cs index 000d76b5df..4758eee7de 100644 --- a/sdk/dotnet/AppPlatform/SpringCloudConfigurationService.cs +++ b/sdk/dotnet/AppPlatform/SpringCloudConfigurationService.cs @@ -91,6 +91,12 @@ public partial class SpringCloudConfigurationService : global::Pulumi.CustomReso [Output("name")] public Output Name { get; private set; } = null!; + /// + /// Specifies how often to check repository updates. Minimum value is 0. + /// + [Output("refreshIntervalInSeconds")] + public Output RefreshIntervalInSeconds { get; private set; } = null!; + /// /// One or more `repository` blocks as defined below. /// @@ -161,6 +167,12 @@ public sealed class SpringCloudConfigurationServiceArgs : global::Pulumi.Resourc [Input("name")] public Input? Name { get; set; } + /// + /// Specifies how often to check repository updates. Minimum value is 0. + /// + [Input("refreshIntervalInSeconds")] + public Input? RefreshIntervalInSeconds { get; set; } + [Input("repositories")] private InputList? _repositories; @@ -199,6 +211,12 @@ public sealed class SpringCloudConfigurationServiceState : global::Pulumi.Resour [Input("name")] public Input? Name { get; set; } + /// + /// Specifies how often to check repository updates. Minimum value is 0. + /// + [Input("refreshIntervalInSeconds")] + public Input? RefreshIntervalInSeconds { get; set; } + [Input("repositories")] private InputList? _repositories; diff --git a/sdk/dotnet/AppPlatform/SpringCloudGateway.cs b/sdk/dotnet/AppPlatform/SpringCloudGateway.cs index 31029dac0f..3e49efe797 100644 --- a/sdk/dotnet/AppPlatform/SpringCloudGateway.cs +++ b/sdk/dotnet/AppPlatform/SpringCloudGateway.cs @@ -116,6 +116,12 @@ public partial class SpringCloudGateway : global::Pulumi.CustomResource [Output("apiMetadata")] public Output ApiMetadata { get; private set; } = null!; + /// + /// Specifies a list of Spring Cloud Application Performance Monitoring IDs. + /// + [Output("applicationPerformanceMonitoringIds")] + public Output> ApplicationPerformanceMonitoringIds { get; private set; } = null!; + /// /// Specifies a list of application performance monitoring types used in the Spring Cloud Gateway. The allowed values are `AppDynamics`, `ApplicationInsights`, `Dynatrace`, `ElasticAPM` and `NewRelic`. /// @@ -262,6 +268,18 @@ public sealed class SpringCloudGatewayArgs : global::Pulumi.ResourceArgs [Input("apiMetadata")] public Input? ApiMetadata { get; set; } + [Input("applicationPerformanceMonitoringIds")] + private InputList? _applicationPerformanceMonitoringIds; + + /// + /// Specifies a list of Spring Cloud Application Performance Monitoring IDs. + /// + public InputList ApplicationPerformanceMonitoringIds + { + get => _applicationPerformanceMonitoringIds ?? (_applicationPerformanceMonitoringIds = new InputList()); + set => _applicationPerformanceMonitoringIds = value; + } + [Input("applicationPerformanceMonitoringTypes")] private InputList? _applicationPerformanceMonitoringTypes; @@ -382,6 +400,18 @@ public sealed class SpringCloudGatewayState : global::Pulumi.ResourceArgs [Input("apiMetadata")] public Input? ApiMetadata { get; set; } + [Input("applicationPerformanceMonitoringIds")] + private InputList? _applicationPerformanceMonitoringIds; + + /// + /// Specifies a list of Spring Cloud Application Performance Monitoring IDs. + /// + public InputList ApplicationPerformanceMonitoringIds + { + get => _applicationPerformanceMonitoringIds ?? (_applicationPerformanceMonitoringIds = new InputList()); + set => _applicationPerformanceMonitoringIds = value; + } + [Input("applicationPerformanceMonitoringTypes")] private InputList? _applicationPerformanceMonitoringTypes; diff --git a/sdk/dotnet/AppService/Inputs/LinuxWebAppSiteConfigApplicationStackArgs.cs b/sdk/dotnet/AppService/Inputs/LinuxWebAppSiteConfigApplicationStackArgs.cs index b0c390fa3f..bea2a39eb8 100644 --- a/sdk/dotnet/AppService/Inputs/LinuxWebAppSiteConfigApplicationStackArgs.cs +++ b/sdk/dotnet/AppService/Inputs/LinuxWebAppSiteConfigApplicationStackArgs.cs @@ -111,7 +111,7 @@ public Input? DockerRegistryPassword public Input? PythonVersion { get; set; } /// - /// Te version of Ruby to run. Possible values include `2.6` and `2.7`. + /// The version of Ruby to run. Possible values include `2.6` and `2.7`. /// [Input("rubyVersion")] public Input? RubyVersion { get; set; } diff --git a/sdk/dotnet/AppService/Inputs/LinuxWebAppSiteConfigApplicationStackGetArgs.cs b/sdk/dotnet/AppService/Inputs/LinuxWebAppSiteConfigApplicationStackGetArgs.cs index 46684d8374..6f4adf32e1 100644 --- a/sdk/dotnet/AppService/Inputs/LinuxWebAppSiteConfigApplicationStackGetArgs.cs +++ b/sdk/dotnet/AppService/Inputs/LinuxWebAppSiteConfigApplicationStackGetArgs.cs @@ -111,7 +111,7 @@ public Input? DockerRegistryPassword public Input? PythonVersion { get; set; } /// - /// Te version of Ruby to run. Possible values include `2.6` and `2.7`. + /// The version of Ruby to run. Possible values include `2.6` and `2.7`. /// [Input("rubyVersion")] public Input? RubyVersion { get; set; } diff --git a/sdk/dotnet/AppService/Inputs/LinuxWebAppSlotSiteConfigApplicationStackArgs.cs b/sdk/dotnet/AppService/Inputs/LinuxWebAppSlotSiteConfigApplicationStackArgs.cs index 8fa37259ec..c4a7eaf938 100644 --- a/sdk/dotnet/AppService/Inputs/LinuxWebAppSlotSiteConfigApplicationStackArgs.cs +++ b/sdk/dotnet/AppService/Inputs/LinuxWebAppSlotSiteConfigApplicationStackArgs.cs @@ -111,7 +111,7 @@ public Input? DockerRegistryPassword public Input? PythonVersion { get; set; } /// - /// Te version of Ruby to run. Possible values include `2.6` and `2.7`. + /// The version of Ruby to run. Possible values include `2.6` and `2.7`. /// [Input("rubyVersion")] public Input? RubyVersion { get; set; } diff --git a/sdk/dotnet/AppService/Inputs/LinuxWebAppSlotSiteConfigApplicationStackGetArgs.cs b/sdk/dotnet/AppService/Inputs/LinuxWebAppSlotSiteConfigApplicationStackGetArgs.cs index 313601853b..6cf43f6552 100644 --- a/sdk/dotnet/AppService/Inputs/LinuxWebAppSlotSiteConfigApplicationStackGetArgs.cs +++ b/sdk/dotnet/AppService/Inputs/LinuxWebAppSlotSiteConfigApplicationStackGetArgs.cs @@ -111,7 +111,7 @@ public Input? DockerRegistryPassword public Input? PythonVersion { get; set; } /// - /// Te version of Ruby to run. Possible values include `2.6` and `2.7`. + /// The version of Ruby to run. Possible values include `2.6` and `2.7`. /// [Input("rubyVersion")] public Input? RubyVersion { get; set; } diff --git a/sdk/dotnet/AppService/Outputs/LinuxWebAppSiteConfigApplicationStack.cs b/sdk/dotnet/AppService/Outputs/LinuxWebAppSiteConfigApplicationStack.cs index 9f0591b06f..6b3f122ecc 100644 --- a/sdk/dotnet/AppService/Outputs/LinuxWebAppSiteConfigApplicationStack.cs +++ b/sdk/dotnet/AppService/Outputs/LinuxWebAppSiteConfigApplicationStack.cs @@ -74,7 +74,7 @@ public sealed class LinuxWebAppSiteConfigApplicationStack /// public readonly string? PythonVersion; /// - /// Te version of Ruby to run. Possible values include `2.6` and `2.7`. + /// The version of Ruby to run. Possible values include `2.6` and `2.7`. /// public readonly string? RubyVersion; diff --git a/sdk/dotnet/AppService/Outputs/LinuxWebAppSlotSiteConfigApplicationStack.cs b/sdk/dotnet/AppService/Outputs/LinuxWebAppSlotSiteConfigApplicationStack.cs index 07ba3e88b0..3e373442bb 100644 --- a/sdk/dotnet/AppService/Outputs/LinuxWebAppSlotSiteConfigApplicationStack.cs +++ b/sdk/dotnet/AppService/Outputs/LinuxWebAppSlotSiteConfigApplicationStack.cs @@ -74,7 +74,7 @@ public sealed class LinuxWebAppSlotSiteConfigApplicationStack /// public readonly string? PythonVersion; /// - /// Te version of Ruby to run. Possible values include `2.6` and `2.7`. + /// The version of Ruby to run. Possible values include `2.6` and `2.7`. /// public readonly string? RubyVersion; diff --git a/sdk/dotnet/ArmMsi/FederatedIdentityCredential.cs b/sdk/dotnet/ArmMsi/FederatedIdentityCredential.cs index f82706e0d3..0d4845bbcc 100644 --- a/sdk/dotnet/ArmMsi/FederatedIdentityCredential.cs +++ b/sdk/dotnet/ArmMsi/FederatedIdentityCredential.cs @@ -60,19 +60,19 @@ namespace Pulumi.Azure.ArmMsi public partial class FederatedIdentityCredential : global::Pulumi.CustomResource { /// - /// Specifies the audience for this Federated Identity Credential. Changing this forces a new Federated Identity Credential to be created. + /// Specifies the audience for this Federated Identity Credential. /// [Output("audience")] public Output Audience { get; private set; } = null!; /// - /// Specifies the issuer of this Federated Identity Credential. Changing this forces a new Federated Identity Credential to be created. + /// Specifies the issuer of this Federated Identity Credential. /// [Output("issuer")] public Output Issuer { get; private set; } = null!; /// - /// Specifies the name of this Federated Identity Credential. Changing this forces a new Federated Identity Credential to be created. + /// Specifies the name of this Federated Identity Credential. /// [Output("name")] public Output Name { get; private set; } = null!; @@ -90,7 +90,7 @@ public partial class FederatedIdentityCredential : global::Pulumi.CustomResource public Output ResourceGroupName { get; private set; } = null!; /// - /// Specifies the subject for this Federated Identity Credential. Changing this forces a new Federated Identity Credential to be created. + /// Specifies the subject for this Federated Identity Credential. /// [Output("subject")] public Output Subject { get; private set; } = null!; @@ -142,19 +142,19 @@ public static FederatedIdentityCredential Get(string name, Input id, Fed public sealed class FederatedIdentityCredentialArgs : global::Pulumi.ResourceArgs { /// - /// Specifies the audience for this Federated Identity Credential. Changing this forces a new Federated Identity Credential to be created. + /// Specifies the audience for this Federated Identity Credential. /// [Input("audience", required: true)] public Input Audience { get; set; } = null!; /// - /// Specifies the issuer of this Federated Identity Credential. Changing this forces a new Federated Identity Credential to be created. + /// Specifies the issuer of this Federated Identity Credential. /// [Input("issuer", required: true)] public Input Issuer { get; set; } = null!; /// - /// Specifies the name of this Federated Identity Credential. Changing this forces a new Federated Identity Credential to be created. + /// Specifies the name of this Federated Identity Credential. /// [Input("name")] public Input? Name { get; set; } @@ -172,7 +172,7 @@ public sealed class FederatedIdentityCredentialArgs : global::Pulumi.ResourceArg public Input ResourceGroupName { get; set; } = null!; /// - /// Specifies the subject for this Federated Identity Credential. Changing this forces a new Federated Identity Credential to be created. + /// Specifies the subject for this Federated Identity Credential. /// [Input("subject", required: true)] public Input Subject { get; set; } = null!; @@ -186,19 +186,19 @@ public FederatedIdentityCredentialArgs() public sealed class FederatedIdentityCredentialState : global::Pulumi.ResourceArgs { /// - /// Specifies the audience for this Federated Identity Credential. Changing this forces a new Federated Identity Credential to be created. + /// Specifies the audience for this Federated Identity Credential. /// [Input("audience")] public Input? Audience { get; set; } /// - /// Specifies the issuer of this Federated Identity Credential. Changing this forces a new Federated Identity Credential to be created. + /// Specifies the issuer of this Federated Identity Credential. /// [Input("issuer")] public Input? Issuer { get; set; } /// - /// Specifies the name of this Federated Identity Credential. Changing this forces a new Federated Identity Credential to be created. + /// Specifies the name of this Federated Identity Credential. /// [Input("name")] public Input? Name { get; set; } @@ -216,7 +216,7 @@ public sealed class FederatedIdentityCredentialState : global::Pulumi.ResourceAr public Input? ResourceGroupName { get; set; } /// - /// Specifies the subject for this Federated Identity Credential. Changing this forces a new Federated Identity Credential to be created. + /// Specifies the subject for this Federated Identity Credential. /// [Input("subject")] public Input? Subject { get; set; } diff --git a/sdk/dotnet/Avs/PrivateCloud.cs b/sdk/dotnet/Avs/PrivateCloud.cs index 2bfa8739b3..aaaf9d7256 100644 --- a/sdk/dotnet/Avs/PrivateCloud.cs +++ b/sdk/dotnet/Avs/PrivateCloud.cs @@ -73,8 +73,8 @@ public partial class PrivateCloud : global::Pulumi.CustomResource public Output HcxCloudManagerEndpoint { get; private set; } = null!; /// - /// Is the Private Cluster connected to the internet? This field can not updated with `management_cluster.0.size` together. - /// > **NOTE :** `internet_connection_enabled` and `management_cluster.0.size` cannot be updated at the same time. + /// Is the Private Cluster connected to the internet? This field can not updated with `management_cluster[0].size` together. + /// > **NOTE :** `internet_connection_enabled` and `management_cluster[0].size` cannot be updated at the same time. /// [Output("internetConnectionEnabled")] public Output InternetConnectionEnabled { get; private set; } = null!; @@ -87,7 +87,7 @@ public partial class PrivateCloud : global::Pulumi.CustomResource /// /// A `management_cluster` block as defined below. - /// > **NOTE :** `internet_connection_enabled` and `management_cluster.0.size` cannot be updated at the same time. + /// > **NOTE :** `internet_connection_enabled` and `management_cluster[0].size` cannot be updated at the same time. /// [Output("managementCluster")] public Output ManagementCluster { get; private set; } = null!; @@ -228,8 +228,8 @@ public static PrivateCloud Get(string name, Input id, PrivateCloudState? public sealed class PrivateCloudArgs : global::Pulumi.ResourceArgs { /// - /// Is the Private Cluster connected to the internet? This field can not updated with `management_cluster.0.size` together. - /// > **NOTE :** `internet_connection_enabled` and `management_cluster.0.size` cannot be updated at the same time. + /// Is the Private Cluster connected to the internet? This field can not updated with `management_cluster[0].size` together. + /// > **NOTE :** `internet_connection_enabled` and `management_cluster[0].size` cannot be updated at the same time. /// [Input("internetConnectionEnabled")] public Input? InternetConnectionEnabled { get; set; } @@ -242,7 +242,7 @@ public sealed class PrivateCloudArgs : global::Pulumi.ResourceArgs /// /// A `management_cluster` block as defined below. - /// > **NOTE :** `internet_connection_enabled` and `management_cluster.0.size` cannot be updated at the same time. + /// > **NOTE :** `internet_connection_enabled` and `management_cluster[0].size` cannot be updated at the same time. /// [Input("managementCluster", required: true)] public Input ManagementCluster { get; set; } = null!; @@ -342,8 +342,8 @@ public InputList Circuits public Input? HcxCloudManagerEndpoint { get; set; } /// - /// Is the Private Cluster connected to the internet? This field can not updated with `management_cluster.0.size` together. - /// > **NOTE :** `internet_connection_enabled` and `management_cluster.0.size` cannot be updated at the same time. + /// Is the Private Cluster connected to the internet? This field can not updated with `management_cluster[0].size` together. + /// > **NOTE :** `internet_connection_enabled` and `management_cluster[0].size` cannot be updated at the same time. /// [Input("internetConnectionEnabled")] public Input? InternetConnectionEnabled { get; set; } @@ -356,7 +356,7 @@ public InputList Circuits /// /// A `management_cluster` block as defined below. - /// > **NOTE :** `internet_connection_enabled` and `management_cluster.0.size` cannot be updated at the same time. + /// > **NOTE :** `internet_connection_enabled` and `management_cluster[0].size` cannot be updated at the same time. /// [Input("managementCluster")] public Input? ManagementCluster { get; set; } diff --git a/sdk/dotnet/Batch/Inputs/PoolExtensionArgs.cs b/sdk/dotnet/Batch/Inputs/PoolExtensionArgs.cs index 9debefde9a..f633368fe5 100644 --- a/sdk/dotnet/Batch/Inputs/PoolExtensionArgs.cs +++ b/sdk/dotnet/Batch/Inputs/PoolExtensionArgs.cs @@ -36,7 +36,7 @@ public sealed class PoolExtensionArgs : global::Pulumi.ResourceArgs private Input? _protectedSettings; /// - /// The extension can contain either `protected_settings` or `provision_after_extensions` or no protected settings at all. + /// JSON formatted protected settings for the extension, the value should be encoded with `jsonencode` function. The extension can contain either `protected_settings` or `provision_after_extensions` or no protected settings at all. /// public Input? ProtectedSettings { @@ -67,7 +67,7 @@ public InputList ProvisionAfterExtensions public Input Publisher { get; set; } = null!; /// - /// JSON formatted public settings for the extension. + /// JSON formatted public settings for the extension, the value should be encoded with `jsonencode` function. /// [Input("settingsJson")] public Input? SettingsJson { get; set; } diff --git a/sdk/dotnet/Batch/Inputs/PoolExtensionGetArgs.cs b/sdk/dotnet/Batch/Inputs/PoolExtensionGetArgs.cs index fef4572030..ecd8e34219 100644 --- a/sdk/dotnet/Batch/Inputs/PoolExtensionGetArgs.cs +++ b/sdk/dotnet/Batch/Inputs/PoolExtensionGetArgs.cs @@ -36,7 +36,7 @@ public sealed class PoolExtensionGetArgs : global::Pulumi.ResourceArgs private Input? _protectedSettings; /// - /// The extension can contain either `protected_settings` or `provision_after_extensions` or no protected settings at all. + /// JSON formatted protected settings for the extension, the value should be encoded with `jsonencode` function. The extension can contain either `protected_settings` or `provision_after_extensions` or no protected settings at all. /// public Input? ProtectedSettings { @@ -67,7 +67,7 @@ public InputList ProvisionAfterExtensions public Input Publisher { get; set; } = null!; /// - /// JSON formatted public settings for the extension. + /// JSON formatted public settings for the extension, the value should be encoded with `jsonencode` function. /// [Input("settingsJson")] public Input? SettingsJson { get; set; } diff --git a/sdk/dotnet/Batch/Outputs/PoolExtension.cs b/sdk/dotnet/Batch/Outputs/PoolExtension.cs index 91ea8aebc3..adee4afc10 100644 --- a/sdk/dotnet/Batch/Outputs/PoolExtension.cs +++ b/sdk/dotnet/Batch/Outputs/PoolExtension.cs @@ -28,7 +28,7 @@ public sealed class PoolExtension /// public readonly string Name; /// - /// The extension can contain either `protected_settings` or `provision_after_extensions` or no protected settings at all. + /// JSON formatted protected settings for the extension, the value should be encoded with `jsonencode` function. The extension can contain either `protected_settings` or `provision_after_extensions` or no protected settings at all. /// public readonly string? ProtectedSettings; /// @@ -40,7 +40,7 @@ public sealed class PoolExtension /// public readonly string Publisher; /// - /// JSON formatted public settings for the extension. + /// JSON formatted public settings for the extension, the value should be encoded with `jsonencode` function. /// public readonly string? SettingsJson; /// diff --git a/sdk/dotnet/Cognitive/Deployment.cs b/sdk/dotnet/Cognitive/Deployment.cs index 1d2d44da02..b02687f0fe 100644 --- a/sdk/dotnet/Cognitive/Deployment.cs +++ b/sdk/dotnet/Cognitive/Deployment.cs @@ -98,7 +98,7 @@ public partial class Deployment : global::Pulumi.CustomResource public Output Scale { get; private set; } = null!; /// - /// Deployment model version upgrade option. Possible values are `OnceNewDefaultVersionAvailable`, `OnceCurrentVersionExpired`, and `NoAutoUpgrade`. Defaults to `OnceNewDefaultVersionAvailable`. Changing this forces a new resource to be created. + /// Deployment model version upgrade option. Possible values are `OnceNewDefaultVersionAvailable`, `OnceCurrentVersionExpired`, and `NoAutoUpgrade`. Defaults to `OnceNewDefaultVersionAvailable`. /// [Output("versionUpgradeOption")] public Output VersionUpgradeOption { get; private set; } = null!; @@ -180,7 +180,7 @@ public sealed class DeploymentArgs : global::Pulumi.ResourceArgs public Input Scale { get; set; } = null!; /// - /// Deployment model version upgrade option. Possible values are `OnceNewDefaultVersionAvailable`, `OnceCurrentVersionExpired`, and `NoAutoUpgrade`. Defaults to `OnceNewDefaultVersionAvailable`. Changing this forces a new resource to be created. + /// Deployment model version upgrade option. Possible values are `OnceNewDefaultVersionAvailable`, `OnceCurrentVersionExpired`, and `NoAutoUpgrade`. Defaults to `OnceNewDefaultVersionAvailable`. /// [Input("versionUpgradeOption")] public Input? VersionUpgradeOption { get; set; } @@ -224,7 +224,7 @@ public sealed class DeploymentState : global::Pulumi.ResourceArgs public Input? Scale { get; set; } /// - /// Deployment model version upgrade option. Possible values are `OnceNewDefaultVersionAvailable`, `OnceCurrentVersionExpired`, and `NoAutoUpgrade`. Defaults to `OnceNewDefaultVersionAvailable`. Changing this forces a new resource to be created. + /// Deployment model version upgrade option. Possible values are `OnceNewDefaultVersionAvailable`, `OnceCurrentVersionExpired`, and `NoAutoUpgrade`. Defaults to `OnceNewDefaultVersionAvailable`. /// [Input("versionUpgradeOption")] public Input? VersionUpgradeOption { get; set; } diff --git a/sdk/dotnet/Compute/Inputs/LinuxVirtualMachineGalleryApplicationArgs.cs b/sdk/dotnet/Compute/Inputs/LinuxVirtualMachineGalleryApplicationArgs.cs index 83a6838924..c052093c1c 100644 --- a/sdk/dotnet/Compute/Inputs/LinuxVirtualMachineGalleryApplicationArgs.cs +++ b/sdk/dotnet/Compute/Inputs/LinuxVirtualMachineGalleryApplicationArgs.cs @@ -12,6 +12,12 @@ namespace Pulumi.Azure.Compute.Inputs public sealed class LinuxVirtualMachineGalleryApplicationArgs : global::Pulumi.ResourceArgs { + /// + /// Specifies whether the version will be automatically updated for the VM when a new Gallery Application version is available in PIR/SIG. Defaults to `false`. + /// + [Input("automaticUpgradeEnabled")] + public Input? AutomaticUpgradeEnabled { get; set; } + /// /// Specifies the URI to an Azure Blob that will replace the default configuration for the package if provided. /// @@ -30,6 +36,12 @@ public sealed class LinuxVirtualMachineGalleryApplicationArgs : global::Pulumi.R [Input("tag")] public Input? Tag { get; set; } + /// + /// Specifies whether any failure for any operation in the VmApplication will fail the deployment of the VM. Defaults to `false`. + /// + [Input("treatFailureAsDeploymentFailureEnabled")] + public Input? TreatFailureAsDeploymentFailureEnabled { get; set; } + /// /// Specifies the Gallery Application Version resource ID. /// diff --git a/sdk/dotnet/Compute/Inputs/LinuxVirtualMachineGalleryApplicationGetArgs.cs b/sdk/dotnet/Compute/Inputs/LinuxVirtualMachineGalleryApplicationGetArgs.cs index a2dd26d332..7f1547f712 100644 --- a/sdk/dotnet/Compute/Inputs/LinuxVirtualMachineGalleryApplicationGetArgs.cs +++ b/sdk/dotnet/Compute/Inputs/LinuxVirtualMachineGalleryApplicationGetArgs.cs @@ -12,6 +12,12 @@ namespace Pulumi.Azure.Compute.Inputs public sealed class LinuxVirtualMachineGalleryApplicationGetArgs : global::Pulumi.ResourceArgs { + /// + /// Specifies whether the version will be automatically updated for the VM when a new Gallery Application version is available in PIR/SIG. Defaults to `false`. + /// + [Input("automaticUpgradeEnabled")] + public Input? AutomaticUpgradeEnabled { get; set; } + /// /// Specifies the URI to an Azure Blob that will replace the default configuration for the package if provided. /// @@ -30,6 +36,12 @@ public sealed class LinuxVirtualMachineGalleryApplicationGetArgs : global::Pulum [Input("tag")] public Input? Tag { get; set; } + /// + /// Specifies whether any failure for any operation in the VmApplication will fail the deployment of the VM. Defaults to `false`. + /// + [Input("treatFailureAsDeploymentFailureEnabled")] + public Input? TreatFailureAsDeploymentFailureEnabled { get; set; } + /// /// Specifies the Gallery Application Version resource ID. /// diff --git a/sdk/dotnet/Compute/Inputs/LinuxVirtualMachineOsImageNotificationArgs.cs b/sdk/dotnet/Compute/Inputs/LinuxVirtualMachineOsImageNotificationArgs.cs new file mode 100644 index 0000000000..a4a254c6fc --- /dev/null +++ b/sdk/dotnet/Compute/Inputs/LinuxVirtualMachineOsImageNotificationArgs.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.Compute.Inputs +{ + + public sealed class LinuxVirtualMachineOsImageNotificationArgs : global::Pulumi.ResourceArgs + { + /// + /// Length of time a notification to be sent to the VM on the instance metadata server till the VM gets OS upgraded. The only possible value is `PT15M`. Defaults to `PT15M`. + /// + [Input("timeout")] + public Input? Timeout { get; set; } + + public LinuxVirtualMachineOsImageNotificationArgs() + { + } + public static new LinuxVirtualMachineOsImageNotificationArgs Empty => new LinuxVirtualMachineOsImageNotificationArgs(); + } +} diff --git a/sdk/dotnet/Compute/Inputs/LinuxVirtualMachineOsImageNotificationGetArgs.cs b/sdk/dotnet/Compute/Inputs/LinuxVirtualMachineOsImageNotificationGetArgs.cs new file mode 100644 index 0000000000..8f0070de8d --- /dev/null +++ b/sdk/dotnet/Compute/Inputs/LinuxVirtualMachineOsImageNotificationGetArgs.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.Compute.Inputs +{ + + public sealed class LinuxVirtualMachineOsImageNotificationGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Length of time a notification to be sent to the VM on the instance metadata server till the VM gets OS upgraded. The only possible value is `PT15M`. Defaults to `PT15M`. + /// + [Input("timeout")] + public Input? Timeout { get; set; } + + public LinuxVirtualMachineOsImageNotificationGetArgs() + { + } + public static new LinuxVirtualMachineOsImageNotificationGetArgs Empty => new LinuxVirtualMachineOsImageNotificationGetArgs(); + } +} diff --git a/sdk/dotnet/Compute/Inputs/OrchestratedVirtualMachineScaleSetDataDiskArgs.cs b/sdk/dotnet/Compute/Inputs/OrchestratedVirtualMachineScaleSetDataDiskArgs.cs index dd2ef4f260..f3a6365dc8 100644 --- a/sdk/dotnet/Compute/Inputs/OrchestratedVirtualMachineScaleSetDataDiskArgs.cs +++ b/sdk/dotnet/Compute/Inputs/OrchestratedVirtualMachineScaleSetDataDiskArgs.cs @@ -31,16 +31,16 @@ public sealed class OrchestratedVirtualMachineScaleSetDataDiskArgs : global::Pul public Input? DiskEncryptionSetId { get; set; } /// - /// The size of the Data Disk which should be created. + /// The size of the Data Disk which should be created. Required if `create_option` is specified as `Empty`. /// - [Input("diskSizeGb", required: true)] - public Input DiskSizeGb { get; set; } = null!; + [Input("diskSizeGb")] + public Input? DiskSizeGb { get; set; } /// - /// The Logical Unit Number of the Data Disk, which must be unique within the Virtual Machine. + /// The Logical Unit Number of the Data Disk, which must be unique within the Virtual Machine. Required if `create_option` is specified as `Empty`. /// - [Input("lun", required: true)] - public Input Lun { get; set; } = null!; + [Input("lun")] + public Input? Lun { get; set; } /// /// The Type of Storage Account which should back this Data Disk. Possible values include `Standard_LRS`, `StandardSSD_LRS`, `StandardSSD_ZRS`, `Premium_LRS`, `PremiumV2_LRS`, `Premium_ZRS` and `UltraSSD_LRS`. diff --git a/sdk/dotnet/Compute/Inputs/OrchestratedVirtualMachineScaleSetDataDiskGetArgs.cs b/sdk/dotnet/Compute/Inputs/OrchestratedVirtualMachineScaleSetDataDiskGetArgs.cs index e443266fc4..b42ad7d127 100644 --- a/sdk/dotnet/Compute/Inputs/OrchestratedVirtualMachineScaleSetDataDiskGetArgs.cs +++ b/sdk/dotnet/Compute/Inputs/OrchestratedVirtualMachineScaleSetDataDiskGetArgs.cs @@ -31,16 +31,16 @@ public sealed class OrchestratedVirtualMachineScaleSetDataDiskGetArgs : global:: public Input? DiskEncryptionSetId { get; set; } /// - /// The size of the Data Disk which should be created. + /// The size of the Data Disk which should be created. Required if `create_option` is specified as `Empty`. /// - [Input("diskSizeGb", required: true)] - public Input DiskSizeGb { get; set; } = null!; + [Input("diskSizeGb")] + public Input? DiskSizeGb { get; set; } /// - /// The Logical Unit Number of the Data Disk, which must be unique within the Virtual Machine. + /// The Logical Unit Number of the Data Disk, which must be unique within the Virtual Machine. Required if `create_option` is specified as `Empty`. /// - [Input("lun", required: true)] - public Input Lun { get; set; } = null!; + [Input("lun")] + public Input? Lun { get; set; } /// /// The Type of Storage Account which should back this Data Disk. Possible values include `Standard_LRS`, `StandardSSD_LRS`, `StandardSSD_ZRS`, `Premium_LRS`, `PremiumV2_LRS`, `Premium_ZRS` and `UltraSSD_LRS`. diff --git a/sdk/dotnet/Compute/Inputs/WindowsVirtualMachineGalleryApplicationArgs.cs b/sdk/dotnet/Compute/Inputs/WindowsVirtualMachineGalleryApplicationArgs.cs index 0d7e9663d6..34cda3c0f1 100644 --- a/sdk/dotnet/Compute/Inputs/WindowsVirtualMachineGalleryApplicationArgs.cs +++ b/sdk/dotnet/Compute/Inputs/WindowsVirtualMachineGalleryApplicationArgs.cs @@ -12,6 +12,12 @@ namespace Pulumi.Azure.Compute.Inputs public sealed class WindowsVirtualMachineGalleryApplicationArgs : global::Pulumi.ResourceArgs { + /// + /// Specifies whether the version will be automatically updated for the VM when a new Gallery Application version is available in PIR/SIG. Defaults to `false`. + /// + [Input("automaticUpgradeEnabled")] + public Input? AutomaticUpgradeEnabled { get; set; } + /// /// Specifies the URI to an Azure Blob that will replace the default configuration for the package if provided. /// @@ -30,6 +36,12 @@ public sealed class WindowsVirtualMachineGalleryApplicationArgs : global::Pulumi [Input("tag")] public Input? Tag { get; set; } + /// + /// Specifies whether any failure for any operation in the VmApplication will fail the deployment of the VM. Defaults to `false`. + /// + [Input("treatFailureAsDeploymentFailureEnabled")] + public Input? TreatFailureAsDeploymentFailureEnabled { get; set; } + /// /// Specifies the Gallery Application Version resource ID. /// diff --git a/sdk/dotnet/Compute/Inputs/WindowsVirtualMachineGalleryApplicationGetArgs.cs b/sdk/dotnet/Compute/Inputs/WindowsVirtualMachineGalleryApplicationGetArgs.cs index f5a53582b9..5b8df2f950 100644 --- a/sdk/dotnet/Compute/Inputs/WindowsVirtualMachineGalleryApplicationGetArgs.cs +++ b/sdk/dotnet/Compute/Inputs/WindowsVirtualMachineGalleryApplicationGetArgs.cs @@ -12,6 +12,12 @@ namespace Pulumi.Azure.Compute.Inputs public sealed class WindowsVirtualMachineGalleryApplicationGetArgs : global::Pulumi.ResourceArgs { + /// + /// Specifies whether the version will be automatically updated for the VM when a new Gallery Application version is available in PIR/SIG. Defaults to `false`. + /// + [Input("automaticUpgradeEnabled")] + public Input? AutomaticUpgradeEnabled { get; set; } + /// /// Specifies the URI to an Azure Blob that will replace the default configuration for the package if provided. /// @@ -30,6 +36,12 @@ public sealed class WindowsVirtualMachineGalleryApplicationGetArgs : global::Pul [Input("tag")] public Input? Tag { get; set; } + /// + /// Specifies whether any failure for any operation in the VmApplication will fail the deployment of the VM. Defaults to `false`. + /// + [Input("treatFailureAsDeploymentFailureEnabled")] + public Input? TreatFailureAsDeploymentFailureEnabled { get; set; } + /// /// Specifies the Gallery Application Version resource ID. /// diff --git a/sdk/dotnet/Compute/Inputs/WindowsVirtualMachineOsImageNotificationArgs.cs b/sdk/dotnet/Compute/Inputs/WindowsVirtualMachineOsImageNotificationArgs.cs new file mode 100644 index 0000000000..262e34ca50 --- /dev/null +++ b/sdk/dotnet/Compute/Inputs/WindowsVirtualMachineOsImageNotificationArgs.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.Compute.Inputs +{ + + public sealed class WindowsVirtualMachineOsImageNotificationArgs : global::Pulumi.ResourceArgs + { + /// + /// Length of time a notification to be sent to the VM on the instance metadata server till the VM gets OS upgraded. The only possible value is `PT15M`. Defaults to `PT15M`. + /// + [Input("timeout")] + public Input? Timeout { get; set; } + + public WindowsVirtualMachineOsImageNotificationArgs() + { + } + public static new WindowsVirtualMachineOsImageNotificationArgs Empty => new WindowsVirtualMachineOsImageNotificationArgs(); + } +} diff --git a/sdk/dotnet/Compute/Inputs/WindowsVirtualMachineOsImageNotificationGetArgs.cs b/sdk/dotnet/Compute/Inputs/WindowsVirtualMachineOsImageNotificationGetArgs.cs new file mode 100644 index 0000000000..786990156d --- /dev/null +++ b/sdk/dotnet/Compute/Inputs/WindowsVirtualMachineOsImageNotificationGetArgs.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.Compute.Inputs +{ + + public sealed class WindowsVirtualMachineOsImageNotificationGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Length of time a notification to be sent to the VM on the instance metadata server till the VM gets OS upgraded. The only possible value is `PT15M`. Defaults to `PT15M`. + /// + [Input("timeout")] + public Input? Timeout { get; set; } + + public WindowsVirtualMachineOsImageNotificationGetArgs() + { + } + public static new WindowsVirtualMachineOsImageNotificationGetArgs Empty => new WindowsVirtualMachineOsImageNotificationGetArgs(); + } +} diff --git a/sdk/dotnet/Compute/LinuxVirtualMachine.cs b/sdk/dotnet/Compute/LinuxVirtualMachine.cs index bf476ed38a..a04ca0a8ff 100644 --- a/sdk/dotnet/Compute/LinuxVirtualMachine.cs +++ b/sdk/dotnet/Compute/LinuxVirtualMachine.cs @@ -228,6 +228,12 @@ public partial class LinuxVirtualMachine : global::Pulumi.CustomResource [Output("disablePasswordAuthentication")] public Output DisablePasswordAuthentication { get; private set; } = null!; + /// + /// Specifies the Disk Controller Type used for this Virtual Machine. Possible values are `SCSI` and `NVMe`. + /// + [Output("diskControllerType")] + public Output DiskControllerType { get; private set; } = null!; + /// /// Specifies the Edge Zone within the Azure Region where this Linux Virtual Machine should exist. Changing this forces a new Linux Virtual Machine to be created. /// @@ -304,6 +310,12 @@ public partial class LinuxVirtualMachine : global::Pulumi.CustomResource [Output("osDisk")] public Output OsDisk { get; private set; } = null!; + /// + /// A `os_image_notification` block as defined below. + /// + [Output("osImageNotification")] + public Output OsImageNotification { get; private set; } = null!; + /// /// Specifies the mode of VM Guest Patching for the Virtual Machine. Possible values are `AutomaticByPlatform` or `ImageDefault`. Defaults to `ImageDefault`. /// @@ -449,13 +461,21 @@ public partial class LinuxVirtualMachine : global::Pulumi.CustomResource public Output VirtualMachineId { get; private set; } = null!; /// - /// Specifies the Orchestrated Virtual Machine Scale Set that this Virtual Machine should be created within. Changing this forces a new resource to be created. + /// Specifies the Orchestrated Virtual Machine Scale Set that this Virtual Machine should be created within. + /// + /// > **NOTE:** To update `virtual_machine_scale_set_id` the Preview Feature `Microsoft.Compute/SingleFDAttachDetachVMToVmss` needs to be enabled, see [the documentation](https://review.learn.microsoft.com/azure/virtual-machine-scale-sets/virtual-machine-scale-sets-attach-detach-vm#enroll-in-the-preview) for more information. /// /// > **NOTE:** Orchestrated Virtual Machine Scale Sets can be provisioned using [the `azure.compute.OrchestratedVirtualMachineScaleSet` resource](https://www.terraform.io/docs/providers/azurerm/r/orchestrated_virtual_machine_scale_set.html). /// [Output("virtualMachineScaleSetId")] public Output VirtualMachineScaleSetId { get; private set; } = null!; + /// + /// Specifies whether VMAgent Platform Updates is enabled. Defaults to `false`. + /// + [Output("vmAgentPlatformUpdatesEnabled")] + public Output VmAgentPlatformUpdatesEnabled { get; private set; } = null!; + /// /// Specifies whether vTPM should be enabled on the virtual machine. Changing this forces a new resource to be created. /// @@ -642,6 +662,12 @@ public Input? CustomData [Input("disablePasswordAuthentication")] public Input? DisablePasswordAuthentication { get; set; } + /// + /// Specifies the Disk Controller Type used for this Virtual Machine. Possible values are `SCSI` and `NVMe`. + /// + [Input("diskControllerType")] + public Input? DiskControllerType { get; set; } + /// /// Specifies the Edge Zone within the Azure Region where this Linux Virtual Machine should exist. Changing this forces a new Linux Virtual Machine to be created. /// @@ -730,6 +756,12 @@ public InputList NetworkInterfaceIds [Input("osDisk", required: true)] public Input OsDisk { get; set; } = null!; + /// + /// A `os_image_notification` block as defined below. + /// + [Input("osImageNotification")] + public Input? OsImageNotification { get; set; } + /// /// Specifies the mode of VM Guest Patching for the Virtual Machine. Possible values are `AutomaticByPlatform` or `ImageDefault`. Defaults to `ImageDefault`. /// @@ -857,13 +889,21 @@ public InputMap Tags public Input? UserData { get; set; } /// - /// Specifies the Orchestrated Virtual Machine Scale Set that this Virtual Machine should be created within. Changing this forces a new resource to be created. + /// Specifies the Orchestrated Virtual Machine Scale Set that this Virtual Machine should be created within. + /// + /// > **NOTE:** To update `virtual_machine_scale_set_id` the Preview Feature `Microsoft.Compute/SingleFDAttachDetachVMToVmss` needs to be enabled, see [the documentation](https://review.learn.microsoft.com/azure/virtual-machine-scale-sets/virtual-machine-scale-sets-attach-detach-vm#enroll-in-the-preview) for more information. /// /// > **NOTE:** Orchestrated Virtual Machine Scale Sets can be provisioned using [the `azure.compute.OrchestratedVirtualMachineScaleSet` resource](https://www.terraform.io/docs/providers/azurerm/r/orchestrated_virtual_machine_scale_set.html). /// [Input("virtualMachineScaleSetId")] public Input? VirtualMachineScaleSetId { get; set; } + /// + /// Specifies whether VMAgent Platform Updates is enabled. Defaults to `false`. + /// + [Input("vmAgentPlatformUpdatesEnabled")] + public Input? VmAgentPlatformUpdatesEnabled { get; set; } + /// /// Specifies whether vTPM should be enabled on the virtual machine. Changing this forces a new resource to be created. /// @@ -1007,6 +1047,12 @@ public Input? CustomData [Input("disablePasswordAuthentication")] public Input? DisablePasswordAuthentication { get; set; } + /// + /// Specifies the Disk Controller Type used for this Virtual Machine. Possible values are `SCSI` and `NVMe`. + /// + [Input("diskControllerType")] + public Input? DiskControllerType { get; set; } + /// /// Specifies the Edge Zone within the Azure Region where this Linux Virtual Machine should exist. Changing this forces a new Linux Virtual Machine to be created. /// @@ -1095,6 +1141,12 @@ public InputList NetworkInterfaceIds [Input("osDisk")] public Input? OsDisk { get; set; } + /// + /// A `os_image_notification` block as defined below. + /// + [Input("osImageNotification")] + public Input? OsImageNotification { get; set; } + /// /// Specifies the mode of VM Guest Patching for the Virtual Machine. Possible values are `AutomaticByPlatform` or `ImageDefault`. Defaults to `ImageDefault`. /// @@ -1264,13 +1316,21 @@ public InputMap Tags public Input? VirtualMachineId { get; set; } /// - /// Specifies the Orchestrated Virtual Machine Scale Set that this Virtual Machine should be created within. Changing this forces a new resource to be created. + /// Specifies the Orchestrated Virtual Machine Scale Set that this Virtual Machine should be created within. + /// + /// > **NOTE:** To update `virtual_machine_scale_set_id` the Preview Feature `Microsoft.Compute/SingleFDAttachDetachVMToVmss` needs to be enabled, see [the documentation](https://review.learn.microsoft.com/azure/virtual-machine-scale-sets/virtual-machine-scale-sets-attach-detach-vm#enroll-in-the-preview) for more information. /// /// > **NOTE:** Orchestrated Virtual Machine Scale Sets can be provisioned using [the `azure.compute.OrchestratedVirtualMachineScaleSet` resource](https://www.terraform.io/docs/providers/azurerm/r/orchestrated_virtual_machine_scale_set.html). /// [Input("virtualMachineScaleSetId")] public Input? VirtualMachineScaleSetId { get; set; } + /// + /// Specifies whether VMAgent Platform Updates is enabled. Defaults to `false`. + /// + [Input("vmAgentPlatformUpdatesEnabled")] + public Input? VmAgentPlatformUpdatesEnabled { get; set; } + /// /// Specifies whether vTPM should be enabled on the virtual machine. Changing this forces a new resource to be created. /// diff --git a/sdk/dotnet/Compute/OrchestratedVirtualMachineScaleSet.cs b/sdk/dotnet/Compute/OrchestratedVirtualMachineScaleSet.cs index 515c3bf3ee..8a46efb7da 100644 --- a/sdk/dotnet/Compute/OrchestratedVirtualMachineScaleSet.cs +++ b/sdk/dotnet/Compute/OrchestratedVirtualMachineScaleSet.cs @@ -103,7 +103,7 @@ public partial class OrchestratedVirtualMachineScaleSet : global::Pulumi.CustomR public Output EncryptionAtHostEnabled { get; private set; } = null!; /// - /// The Policy which should be used Virtual Machines are Evicted from the Scale Set. Possible values are `Deallocate` and `Delete`. Changing this forces a new resource to be created. + /// The Policy which should be used by Spot Virtual Machines that are Evicted from the Scale Set. Possible values are `Deallocate` and `Delete`. Changing this forces a new resource to be created. /// [Output("evictionPolicy")] public Output EvictionPolicy { get; private set; } = null!; @@ -385,7 +385,7 @@ public InputList DataDisk public Input? EncryptionAtHostEnabled { get; set; } /// - /// The Policy which should be used Virtual Machines are Evicted from the Scale Set. Possible values are `Deallocate` and `Delete`. Changing this forces a new resource to be created. + /// The Policy which should be used by Spot Virtual Machines that are Evicted from the Scale Set. Possible values are `Deallocate` and `Delete`. Changing this forces a new resource to be created. /// [Input("evictionPolicy")] public Input? EvictionPolicy { get; set; } @@ -653,7 +653,7 @@ public InputList DataD public Input? EncryptionAtHostEnabled { get; set; } /// - /// The Policy which should be used Virtual Machines are Evicted from the Scale Set. Possible values are `Deallocate` and `Delete`. Changing this forces a new resource to be created. + /// The Policy which should be used by Spot Virtual Machines that are Evicted from the Scale Set. Possible values are `Deallocate` and `Delete`. Changing this forces a new resource to be created. /// [Input("evictionPolicy")] public Input? EvictionPolicy { get; set; } diff --git a/sdk/dotnet/Compute/Outputs/LinuxVirtualMachineGalleryApplication.cs b/sdk/dotnet/Compute/Outputs/LinuxVirtualMachineGalleryApplication.cs index 34c0f3c3d3..0932f067de 100644 --- a/sdk/dotnet/Compute/Outputs/LinuxVirtualMachineGalleryApplication.cs +++ b/sdk/dotnet/Compute/Outputs/LinuxVirtualMachineGalleryApplication.cs @@ -13,6 +13,10 @@ namespace Pulumi.Azure.Compute.Outputs [OutputType] public sealed class LinuxVirtualMachineGalleryApplication { + /// + /// Specifies whether the version will be automatically updated for the VM when a new Gallery Application version is available in PIR/SIG. Defaults to `false`. + /// + public readonly bool? AutomaticUpgradeEnabled; /// /// Specifies the URI to an Azure Blob that will replace the default configuration for the package if provided. /// @@ -26,23 +30,33 @@ public sealed class LinuxVirtualMachineGalleryApplication /// public readonly string? Tag; /// + /// Specifies whether any failure for any operation in the VmApplication will fail the deployment of the VM. Defaults to `false`. + /// + public readonly bool? TreatFailureAsDeploymentFailureEnabled; + /// /// Specifies the Gallery Application Version resource ID. /// public readonly string VersionId; [OutputConstructor] private LinuxVirtualMachineGalleryApplication( + bool? automaticUpgradeEnabled, + string? configurationBlobUri, int? order, string? tag, + bool? treatFailureAsDeploymentFailureEnabled, + string versionId) { + AutomaticUpgradeEnabled = automaticUpgradeEnabled; ConfigurationBlobUri = configurationBlobUri; Order = order; Tag = tag; + TreatFailureAsDeploymentFailureEnabled = treatFailureAsDeploymentFailureEnabled; VersionId = versionId; } } diff --git a/sdk/dotnet/Compute/Outputs/LinuxVirtualMachineOsImageNotification.cs b/sdk/dotnet/Compute/Outputs/LinuxVirtualMachineOsImageNotification.cs new file mode 100644 index 0000000000..056f852b01 --- /dev/null +++ b/sdk/dotnet/Compute/Outputs/LinuxVirtualMachineOsImageNotification.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.Compute.Outputs +{ + + [OutputType] + public sealed class LinuxVirtualMachineOsImageNotification + { + /// + /// Length of time a notification to be sent to the VM on the instance metadata server till the VM gets OS upgraded. The only possible value is `PT15M`. Defaults to `PT15M`. + /// + public readonly string? Timeout; + + [OutputConstructor] + private LinuxVirtualMachineOsImageNotification(string? timeout) + { + Timeout = timeout; + } + } +} diff --git a/sdk/dotnet/Compute/Outputs/OrchestratedVirtualMachineScaleSetDataDisk.cs b/sdk/dotnet/Compute/Outputs/OrchestratedVirtualMachineScaleSetDataDisk.cs index 837e279988..37efbf356b 100644 --- a/sdk/dotnet/Compute/Outputs/OrchestratedVirtualMachineScaleSetDataDisk.cs +++ b/sdk/dotnet/Compute/Outputs/OrchestratedVirtualMachineScaleSetDataDisk.cs @@ -26,13 +26,13 @@ public sealed class OrchestratedVirtualMachineScaleSetDataDisk /// public readonly string? DiskEncryptionSetId; /// - /// The size of the Data Disk which should be created. + /// The size of the Data Disk which should be created. Required if `create_option` is specified as `Empty`. /// - public readonly int DiskSizeGb; + public readonly int? DiskSizeGb; /// - /// The Logical Unit Number of the Data Disk, which must be unique within the Virtual Machine. + /// The Logical Unit Number of the Data Disk, which must be unique within the Virtual Machine. Required if `create_option` is specified as `Empty`. /// - public readonly int Lun; + public readonly int? Lun; /// /// The Type of Storage Account which should back this Data Disk. Possible values include `Standard_LRS`, `StandardSSD_LRS`, `StandardSSD_ZRS`, `Premium_LRS`, `PremiumV2_LRS`, `Premium_ZRS` and `UltraSSD_LRS`. /// @@ -58,9 +58,9 @@ private OrchestratedVirtualMachineScaleSetDataDisk( string? diskEncryptionSetId, - int diskSizeGb, + int? diskSizeGb, - int lun, + int? lun, string storageAccountType, diff --git a/sdk/dotnet/Compute/Outputs/WindowsVirtualMachineGalleryApplication.cs b/sdk/dotnet/Compute/Outputs/WindowsVirtualMachineGalleryApplication.cs index 99d2142512..31781d6bd8 100644 --- a/sdk/dotnet/Compute/Outputs/WindowsVirtualMachineGalleryApplication.cs +++ b/sdk/dotnet/Compute/Outputs/WindowsVirtualMachineGalleryApplication.cs @@ -13,6 +13,10 @@ namespace Pulumi.Azure.Compute.Outputs [OutputType] public sealed class WindowsVirtualMachineGalleryApplication { + /// + /// Specifies whether the version will be automatically updated for the VM when a new Gallery Application version is available in PIR/SIG. Defaults to `false`. + /// + public readonly bool? AutomaticUpgradeEnabled; /// /// Specifies the URI to an Azure Blob that will replace the default configuration for the package if provided. /// @@ -26,23 +30,33 @@ public sealed class WindowsVirtualMachineGalleryApplication /// public readonly string? Tag; /// + /// Specifies whether any failure for any operation in the VmApplication will fail the deployment of the VM. Defaults to `false`. + /// + public readonly bool? TreatFailureAsDeploymentFailureEnabled; + /// /// Specifies the Gallery Application Version resource ID. /// public readonly string VersionId; [OutputConstructor] private WindowsVirtualMachineGalleryApplication( + bool? automaticUpgradeEnabled, + string? configurationBlobUri, int? order, string? tag, + bool? treatFailureAsDeploymentFailureEnabled, + string versionId) { + AutomaticUpgradeEnabled = automaticUpgradeEnabled; ConfigurationBlobUri = configurationBlobUri; Order = order; Tag = tag; + TreatFailureAsDeploymentFailureEnabled = treatFailureAsDeploymentFailureEnabled; VersionId = versionId; } } diff --git a/sdk/dotnet/Compute/Outputs/WindowsVirtualMachineOsImageNotification.cs b/sdk/dotnet/Compute/Outputs/WindowsVirtualMachineOsImageNotification.cs new file mode 100644 index 0000000000..35da952ccb --- /dev/null +++ b/sdk/dotnet/Compute/Outputs/WindowsVirtualMachineOsImageNotification.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.Compute.Outputs +{ + + [OutputType] + public sealed class WindowsVirtualMachineOsImageNotification + { + /// + /// Length of time a notification to be sent to the VM on the instance metadata server till the VM gets OS upgraded. The only possible value is `PT15M`. Defaults to `PT15M`. + /// + public readonly string? Timeout; + + [OutputConstructor] + private WindowsVirtualMachineOsImageNotification(string? timeout) + { + Timeout = timeout; + } + } +} diff --git a/sdk/dotnet/Compute/WindowsVirtualMachine.cs b/sdk/dotnet/Compute/WindowsVirtualMachine.cs index e713b60fc2..d211e58c3f 100644 --- a/sdk/dotnet/Compute/WindowsVirtualMachine.cs +++ b/sdk/dotnet/Compute/WindowsVirtualMachine.cs @@ -202,6 +202,12 @@ public partial class WindowsVirtualMachine : global::Pulumi.CustomResource [Output("dedicatedHostId")] public Output DedicatedHostId { get; private set; } = null!; + /// + /// Specifies the Disk Controller Type used for this Virtual Machine. Possible values are `SCSI` and `NVMe`. + /// + [Output("diskControllerType")] + public Output DiskControllerType { get; private set; } = null!; + /// /// Specifies the Edge Zone within the Azure Region where this Windows Virtual Machine should exist. Changing this forces a new Windows Virtual Machine to be created. /// @@ -292,6 +298,12 @@ public partial class WindowsVirtualMachine : global::Pulumi.CustomResource [Output("osDisk")] public Output OsDisk { get; private set; } = null!; + /// + /// A `os_image_notification` block as defined below. + /// + [Output("osImageNotification")] + public Output OsImageNotification { get; private set; } = null!; + /// /// Specifies the mode of VM Guest Patching for the Virtual Machine. Possible values are `AutomaticByPlatform` or `ImageDefault`. Defaults to `ImageDefault`. /// @@ -443,13 +455,21 @@ public partial class WindowsVirtualMachine : global::Pulumi.CustomResource public Output VirtualMachineId { get; private set; } = null!; /// - /// Specifies the Orchestrated Virtual Machine Scale Set that this Virtual Machine should be created within. Changing this forces a new resource to be created. + /// Specifies the Orchestrated Virtual Machine Scale Set that this Virtual Machine should be created within. + /// + /// > **NOTE:** To update `virtual_machine_scale_set_id` the Preview Feature `Microsoft.Compute/SingleFDAttachDetachVMToVmss` needs to be enabled, see [the documentation](https://review.learn.microsoft.com/azure/virtual-machine-scale-sets/virtual-machine-scale-sets-attach-detach-vm#enroll-in-the-preview) for more information. /// /// > **NOTE:** Orchestrated Virtual Machine Scale Sets can be provisioned using [the `azure.compute.OrchestratedVirtualMachineScaleSet` resource](https://www.terraform.io/docs/providers/azurerm/r/orchestrated_virtual_machine_scale_set.html). /// [Output("virtualMachineScaleSetId")] public Output VirtualMachineScaleSetId { get; private set; } = null!; + /// + /// Specifies whether VMAgent Platform Updates is enabled. Defaults to `false`. + /// + [Output("vmAgentPlatformUpdatesEnabled")] + public Output VmAgentPlatformUpdatesEnabled { get; private set; } = null!; + /// /// Specifies if vTPM (virtual Trusted Platform Module) and Trusted Launch is enabled for the Virtual Machine. Changing this forces a new resource to be created. /// @@ -627,6 +647,12 @@ public Input? CustomData [Input("dedicatedHostId")] public Input? DedicatedHostId { get; set; } + /// + /// Specifies the Disk Controller Type used for this Virtual Machine. Possible values are `SCSI` and `NVMe`. + /// + [Input("diskControllerType")] + public Input? DiskControllerType { get; set; } + /// /// Specifies the Edge Zone within the Azure Region where this Windows Virtual Machine should exist. Changing this forces a new Windows Virtual Machine to be created. /// @@ -729,6 +755,12 @@ public InputList NetworkInterfaceIds [Input("osDisk", required: true)] public Input OsDisk { get; set; } = null!; + /// + /// A `os_image_notification` block as defined below. + /// + [Input("osImageNotification")] + public Input? OsImageNotification { get; set; } + /// /// Specifies the mode of VM Guest Patching for the Virtual Machine. Possible values are `AutomaticByPlatform` or `ImageDefault`. Defaults to `ImageDefault`. /// @@ -862,13 +894,21 @@ public InputMap Tags public Input? UserData { get; set; } /// - /// Specifies the Orchestrated Virtual Machine Scale Set that this Virtual Machine should be created within. Changing this forces a new resource to be created. + /// Specifies the Orchestrated Virtual Machine Scale Set that this Virtual Machine should be created within. + /// + /// > **NOTE:** To update `virtual_machine_scale_set_id` the Preview Feature `Microsoft.Compute/SingleFDAttachDetachVMToVmss` needs to be enabled, see [the documentation](https://review.learn.microsoft.com/azure/virtual-machine-scale-sets/virtual-machine-scale-sets-attach-detach-vm#enroll-in-the-preview) for more information. /// /// > **NOTE:** Orchestrated Virtual Machine Scale Sets can be provisioned using [the `azure.compute.OrchestratedVirtualMachineScaleSet` resource](https://www.terraform.io/docs/providers/azurerm/r/orchestrated_virtual_machine_scale_set.html). /// [Input("virtualMachineScaleSetId")] public Input? VirtualMachineScaleSetId { get; set; } + /// + /// Specifies whether VMAgent Platform Updates is enabled. Defaults to `false`. + /// + [Input("vmAgentPlatformUpdatesEnabled")] + public Input? VmAgentPlatformUpdatesEnabled { get; set; } + /// /// Specifies if vTPM (virtual Trusted Platform Module) and Trusted Launch is enabled for the Virtual Machine. Changing this forces a new resource to be created. /// @@ -1009,6 +1049,12 @@ public Input? CustomData [Input("dedicatedHostId")] public Input? DedicatedHostId { get; set; } + /// + /// Specifies the Disk Controller Type used for this Virtual Machine. Possible values are `SCSI` and `NVMe`. + /// + [Input("diskControllerType")] + public Input? DiskControllerType { get; set; } + /// /// Specifies the Edge Zone within the Azure Region where this Windows Virtual Machine should exist. Changing this forces a new Windows Virtual Machine to be created. /// @@ -1111,6 +1157,12 @@ public InputList NetworkInterfaceIds [Input("osDisk")] public Input? OsDisk { get; set; } + /// + /// A `os_image_notification` block as defined below. + /// + [Input("osImageNotification")] + public Input? OsImageNotification { get; set; } + /// /// Specifies the mode of VM Guest Patching for the Virtual Machine. Possible values are `AutomaticByPlatform` or `ImageDefault`. Defaults to `ImageDefault`. /// @@ -1286,13 +1338,21 @@ public InputMap Tags public Input? VirtualMachineId { get; set; } /// - /// Specifies the Orchestrated Virtual Machine Scale Set that this Virtual Machine should be created within. Changing this forces a new resource to be created. + /// Specifies the Orchestrated Virtual Machine Scale Set that this Virtual Machine should be created within. + /// + /// > **NOTE:** To update `virtual_machine_scale_set_id` the Preview Feature `Microsoft.Compute/SingleFDAttachDetachVMToVmss` needs to be enabled, see [the documentation](https://review.learn.microsoft.com/azure/virtual-machine-scale-sets/virtual-machine-scale-sets-attach-detach-vm#enroll-in-the-preview) for more information. /// /// > **NOTE:** Orchestrated Virtual Machine Scale Sets can be provisioned using [the `azure.compute.OrchestratedVirtualMachineScaleSet` resource](https://www.terraform.io/docs/providers/azurerm/r/orchestrated_virtual_machine_scale_set.html). /// [Input("virtualMachineScaleSetId")] public Input? VirtualMachineScaleSetId { get; set; } + /// + /// Specifies whether VMAgent Platform Updates is enabled. Defaults to `false`. + /// + [Input("vmAgentPlatformUpdatesEnabled")] + public Input? VmAgentPlatformUpdatesEnabled { get; set; } + /// /// Specifies if vTPM (virtual Trusted Platform Module) and Trusted Launch is enabled for the Virtual Machine. Changing this forces a new resource to be created. /// diff --git a/sdk/dotnet/Config/Config.cs b/sdk/dotnet/Config/Config.cs index dd0ac20ebb..8f367bb650 100644 --- a/sdk/dotnet/Config/Config.cs +++ b/sdk/dotnet/Config/Config.cs @@ -429,6 +429,7 @@ public class FeaturesVirtualMachine public class FeaturesVirtualMachineScaleSet { public bool? ForceDelete { get; set; } + public bool? ReimageOnManualUpgrade { get; set; } public bool? RollInstancesWhenRequired { get; set; } public bool? ScaleToZeroBeforeDeletion { get; set; } } diff --git a/sdk/dotnet/ContainerService/FleetUpdateRun.cs b/sdk/dotnet/ContainerService/FleetUpdateRun.cs new file mode 100644 index 0000000000..10eb68dd3b --- /dev/null +++ b/sdk/dotnet/ContainerService/FleetUpdateRun.cs @@ -0,0 +1,276 @@ +// *** 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.ContainerService +{ + /// + /// Manages a Kubernetes Fleet Update Run. + /// + /// ## 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 = "westeurope", + /// }); + /// + /// var exampleKubernetesFleetManager = new Azure.ContainerService.KubernetesFleetManager("example", new() + /// { + /// Location = example.Location, + /// Name = "example", + /// ResourceGroupName = example.Name, + /// HubProfile = new Azure.ContainerService.Inputs.KubernetesFleetManagerHubProfileArgs + /// { + /// DnsPrefix = "example-dns-prefix", + /// }, + /// }); + /// + /// var exampleKubernetesCluster = new Azure.ContainerService.KubernetesCluster("example", new() + /// { + /// Name = "example", + /// Location = example.Location, + /// ResourceGroupName = example.Name, + /// DnsPrefix = "example", + /// DefaultNodePool = new Azure.ContainerService.Inputs.KubernetesClusterDefaultNodePoolArgs + /// { + /// Name = "default", + /// NodeCount = 1, + /// VmSize = "Standard_DS2_v2", + /// }, + /// Identity = new Azure.ContainerService.Inputs.KubernetesClusterIdentityArgs + /// { + /// Type = "SystemAssigned", + /// }, + /// }); + /// + /// var exampleFleetMember = new Azure.ContainerService.FleetMember("example", new() + /// { + /// Name = "example", + /// KubernetesFleetId = exampleKubernetesFleetManager.Id, + /// KubernetesClusterId = exampleKubernetesCluster.Id, + /// Group = "example-group", + /// }); + /// + /// var exampleFleetUpdateRun = new Azure.ContainerService.FleetUpdateRun("example", new() + /// { + /// Name = "example", + /// KubernetesFleetManagerId = exampleKubernetesFleetManager.Id, + /// ManagedClusterUpdate = new Azure.ContainerService.Inputs.FleetUpdateRunManagedClusterUpdateArgs + /// { + /// Upgrade = new Azure.ContainerService.Inputs.FleetUpdateRunManagedClusterUpdateUpgradeArgs + /// { + /// Type = "Full", + /// KubernetesVersion = "1.27", + /// }, + /// NodeImageSelection = new Azure.ContainerService.Inputs.FleetUpdateRunManagedClusterUpdateNodeImageSelectionArgs + /// { + /// Type = "Latest", + /// }, + /// }, + /// Stages = new[] + /// { + /// new Azure.ContainerService.Inputs.FleetUpdateRunStageArgs + /// { + /// Name = "example", + /// Groups = new[] + /// { + /// new Azure.ContainerService.Inputs.FleetUpdateRunStageGroupArgs + /// { + /// Name = "example-group", + /// }, + /// }, + /// AfterStageWaitInSeconds = 21, + /// }, + /// }, + /// }); + /// + /// }); + /// ``` + /// + /// ## Import + /// + /// Kubernetes Fleet Update Runs can be imported using the `resource id`, e.g. + /// + /// ```sh + /// $ pulumi import azure:containerservice/fleetUpdateRun:FleetUpdateRun example /subscriptions/12345678-1234-9876-4563-123456789012/resourceGroups/resourceGroup1/providers/Microsoft.ContainerService/fleets/fleet1/updateRuns/updateRun1 + /// ``` + /// + [AzureResourceType("azure:containerservice/fleetUpdateRun:FleetUpdateRun")] + public partial class FleetUpdateRun : global::Pulumi.CustomResource + { + /// + /// The ID of the Fleet Update Strategy. Only one of `fleet_update_strategy_id` or `stage` can be specified. + /// + [Output("fleetUpdateStrategyId")] + public Output FleetUpdateStrategyId { get; private set; } = null!; + + /// + /// The ID of the Fleet Manager. Changing this forces a new Kubernetes Fleet Update Run to be created. + /// + [Output("kubernetesFleetManagerId")] + public Output KubernetesFleetManagerId { get; private set; } = null!; + + /// + /// A `managed_cluster_update` block as defined below. + /// + [Output("managedClusterUpdate")] + public Output ManagedClusterUpdate { get; private set; } = null!; + + /// + /// The name which should be used for this Kubernetes Fleet Update Run. Changing this forces a new Kubernetes Fleet Update Run to be created. + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + /// + /// One or more `stage` blocks as defined below. Only one of `stage` or `fleet_update_strategy_id` can be specified. + /// + [Output("stages")] + public Output> Stages { get; private set; } = null!; + + + /// + /// Create a FleetUpdateRun 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 FleetUpdateRun(string name, FleetUpdateRunArgs args, CustomResourceOptions? options = null) + : base("azure:containerservice/fleetUpdateRun:FleetUpdateRun", name, args ?? new FleetUpdateRunArgs(), MakeResourceOptions(options, "")) + { + } + + private FleetUpdateRun(string name, Input id, FleetUpdateRunState? state = null, CustomResourceOptions? options = null) + : base("azure:containerservice/fleetUpdateRun:FleetUpdateRun", 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 FleetUpdateRun 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 FleetUpdateRun Get(string name, Input id, FleetUpdateRunState? state = null, CustomResourceOptions? options = null) + { + return new FleetUpdateRun(name, id, state, options); + } + } + + public sealed class FleetUpdateRunArgs : global::Pulumi.ResourceArgs + { + /// + /// The ID of the Fleet Update Strategy. Only one of `fleet_update_strategy_id` or `stage` can be specified. + /// + [Input("fleetUpdateStrategyId")] + public Input? FleetUpdateStrategyId { get; set; } + + /// + /// The ID of the Fleet Manager. Changing this forces a new Kubernetes Fleet Update Run to be created. + /// + [Input("kubernetesFleetManagerId", required: true)] + public Input KubernetesFleetManagerId { get; set; } = null!; + + /// + /// A `managed_cluster_update` block as defined below. + /// + [Input("managedClusterUpdate", required: true)] + public Input ManagedClusterUpdate { get; set; } = null!; + + /// + /// The name which should be used for this Kubernetes Fleet Update Run. Changing this forces a new Kubernetes Fleet Update Run to be created. + /// + [Input("name")] + public Input? Name { get; set; } + + [Input("stages")] + private InputList? _stages; + + /// + /// One or more `stage` blocks as defined below. Only one of `stage` or `fleet_update_strategy_id` can be specified. + /// + public InputList Stages + { + get => _stages ?? (_stages = new InputList()); + set => _stages = value; + } + + public FleetUpdateRunArgs() + { + } + public static new FleetUpdateRunArgs Empty => new FleetUpdateRunArgs(); + } + + public sealed class FleetUpdateRunState : global::Pulumi.ResourceArgs + { + /// + /// The ID of the Fleet Update Strategy. Only one of `fleet_update_strategy_id` or `stage` can be specified. + /// + [Input("fleetUpdateStrategyId")] + public Input? FleetUpdateStrategyId { get; set; } + + /// + /// The ID of the Fleet Manager. Changing this forces a new Kubernetes Fleet Update Run to be created. + /// + [Input("kubernetesFleetManagerId")] + public Input? KubernetesFleetManagerId { get; set; } + + /// + /// A `managed_cluster_update` block as defined below. + /// + [Input("managedClusterUpdate")] + public Input? ManagedClusterUpdate { get; set; } + + /// + /// The name which should be used for this Kubernetes Fleet Update Run. Changing this forces a new Kubernetes Fleet Update Run to be created. + /// + [Input("name")] + public Input? Name { get; set; } + + [Input("stages")] + private InputList? _stages; + + /// + /// One or more `stage` blocks as defined below. Only one of `stage` or `fleet_update_strategy_id` can be specified. + /// + public InputList Stages + { + get => _stages ?? (_stages = new InputList()); + set => _stages = value; + } + + public FleetUpdateRunState() + { + } + public static new FleetUpdateRunState Empty => new FleetUpdateRunState(); + } +} diff --git a/sdk/dotnet/ContainerService/Inputs/FleetUpdateRunManagedClusterUpdateArgs.cs b/sdk/dotnet/ContainerService/Inputs/FleetUpdateRunManagedClusterUpdateArgs.cs new file mode 100644 index 0000000000..74a5864644 --- /dev/null +++ b/sdk/dotnet/ContainerService/Inputs/FleetUpdateRunManagedClusterUpdateArgs.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.ContainerService.Inputs +{ + + public sealed class FleetUpdateRunManagedClusterUpdateArgs : global::Pulumi.ResourceArgs + { + /// + /// A `node_image_selection` block as defined below. + /// + [Input("nodeImageSelection")] + public Input? NodeImageSelection { get; set; } + + /// + /// A `upgrade` block as defined below. + /// + [Input("upgrade", required: true)] + public Input Upgrade { get; set; } = null!; + + public FleetUpdateRunManagedClusterUpdateArgs() + { + } + public static new FleetUpdateRunManagedClusterUpdateArgs Empty => new FleetUpdateRunManagedClusterUpdateArgs(); + } +} diff --git a/sdk/dotnet/ContainerService/Inputs/FleetUpdateRunManagedClusterUpdateGetArgs.cs b/sdk/dotnet/ContainerService/Inputs/FleetUpdateRunManagedClusterUpdateGetArgs.cs new file mode 100644 index 0000000000..9fa6ce8619 --- /dev/null +++ b/sdk/dotnet/ContainerService/Inputs/FleetUpdateRunManagedClusterUpdateGetArgs.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.ContainerService.Inputs +{ + + public sealed class FleetUpdateRunManagedClusterUpdateGetArgs : global::Pulumi.ResourceArgs + { + /// + /// A `node_image_selection` block as defined below. + /// + [Input("nodeImageSelection")] + public Input? NodeImageSelection { get; set; } + + /// + /// A `upgrade` block as defined below. + /// + [Input("upgrade", required: true)] + public Input Upgrade { get; set; } = null!; + + public FleetUpdateRunManagedClusterUpdateGetArgs() + { + } + public static new FleetUpdateRunManagedClusterUpdateGetArgs Empty => new FleetUpdateRunManagedClusterUpdateGetArgs(); + } +} diff --git a/sdk/dotnet/ContainerService/Inputs/FleetUpdateRunManagedClusterUpdateNodeImageSelectionArgs.cs b/sdk/dotnet/ContainerService/Inputs/FleetUpdateRunManagedClusterUpdateNodeImageSelectionArgs.cs new file mode 100644 index 0000000000..ef2c91b7da --- /dev/null +++ b/sdk/dotnet/ContainerService/Inputs/FleetUpdateRunManagedClusterUpdateNodeImageSelectionArgs.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.ContainerService.Inputs +{ + + public sealed class FleetUpdateRunManagedClusterUpdateNodeImageSelectionArgs : global::Pulumi.ResourceArgs + { + /// + /// Specifies the node image upgrade type. Possible values are `Latest` and `Consistent`. + /// + [Input("type", required: true)] + public Input Type { get; set; } = null!; + + public FleetUpdateRunManagedClusterUpdateNodeImageSelectionArgs() + { + } + public static new FleetUpdateRunManagedClusterUpdateNodeImageSelectionArgs Empty => new FleetUpdateRunManagedClusterUpdateNodeImageSelectionArgs(); + } +} diff --git a/sdk/dotnet/ContainerService/Inputs/FleetUpdateRunManagedClusterUpdateNodeImageSelectionGetArgs.cs b/sdk/dotnet/ContainerService/Inputs/FleetUpdateRunManagedClusterUpdateNodeImageSelectionGetArgs.cs new file mode 100644 index 0000000000..79eb42c855 --- /dev/null +++ b/sdk/dotnet/ContainerService/Inputs/FleetUpdateRunManagedClusterUpdateNodeImageSelectionGetArgs.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.ContainerService.Inputs +{ + + public sealed class FleetUpdateRunManagedClusterUpdateNodeImageSelectionGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Specifies the node image upgrade type. Possible values are `Latest` and `Consistent`. + /// + [Input("type", required: true)] + public Input Type { get; set; } = null!; + + public FleetUpdateRunManagedClusterUpdateNodeImageSelectionGetArgs() + { + } + public static new FleetUpdateRunManagedClusterUpdateNodeImageSelectionGetArgs Empty => new FleetUpdateRunManagedClusterUpdateNodeImageSelectionGetArgs(); + } +} diff --git a/sdk/dotnet/ContainerService/Inputs/FleetUpdateRunManagedClusterUpdateUpgradeArgs.cs b/sdk/dotnet/ContainerService/Inputs/FleetUpdateRunManagedClusterUpdateUpgradeArgs.cs new file mode 100644 index 0000000000..f06f151507 --- /dev/null +++ b/sdk/dotnet/ContainerService/Inputs/FleetUpdateRunManagedClusterUpdateUpgradeArgs.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.ContainerService.Inputs +{ + + public sealed class FleetUpdateRunManagedClusterUpdateUpgradeArgs : global::Pulumi.ResourceArgs + { + /// + /// Specifies the Kubernetes version to upgrade the member clusters to. This is required if `type` is set to `Full`. + /// + [Input("kubernetesVersion")] + public Input? KubernetesVersion { get; set; } + + /// + /// Specifies the type of upgrade to perform. Possible values are `Full` and `NodeImageOnly`. + /// + [Input("type", required: true)] + public Input Type { get; set; } = null!; + + public FleetUpdateRunManagedClusterUpdateUpgradeArgs() + { + } + public static new FleetUpdateRunManagedClusterUpdateUpgradeArgs Empty => new FleetUpdateRunManagedClusterUpdateUpgradeArgs(); + } +} diff --git a/sdk/dotnet/ContainerService/Inputs/FleetUpdateRunManagedClusterUpdateUpgradeGetArgs.cs b/sdk/dotnet/ContainerService/Inputs/FleetUpdateRunManagedClusterUpdateUpgradeGetArgs.cs new file mode 100644 index 0000000000..6e307e9a04 --- /dev/null +++ b/sdk/dotnet/ContainerService/Inputs/FleetUpdateRunManagedClusterUpdateUpgradeGetArgs.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.ContainerService.Inputs +{ + + public sealed class FleetUpdateRunManagedClusterUpdateUpgradeGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Specifies the Kubernetes version to upgrade the member clusters to. This is required if `type` is set to `Full`. + /// + [Input("kubernetesVersion")] + public Input? KubernetesVersion { get; set; } + + /// + /// Specifies the type of upgrade to perform. Possible values are `Full` and `NodeImageOnly`. + /// + [Input("type", required: true)] + public Input Type { get; set; } = null!; + + public FleetUpdateRunManagedClusterUpdateUpgradeGetArgs() + { + } + public static new FleetUpdateRunManagedClusterUpdateUpgradeGetArgs Empty => new FleetUpdateRunManagedClusterUpdateUpgradeGetArgs(); + } +} diff --git a/sdk/dotnet/ContainerService/Inputs/FleetUpdateRunStageArgs.cs b/sdk/dotnet/ContainerService/Inputs/FleetUpdateRunStageArgs.cs new file mode 100644 index 0000000000..4aa3cf76a5 --- /dev/null +++ b/sdk/dotnet/ContainerService/Inputs/FleetUpdateRunStageArgs.cs @@ -0,0 +1,44 @@ +// *** 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.ContainerService.Inputs +{ + + public sealed class FleetUpdateRunStageArgs : global::Pulumi.ResourceArgs + { + /// + /// Specifies the time in seconds to wait at the end of this stage before starting the next one. + /// + [Input("afterStageWaitInSeconds")] + public Input? AfterStageWaitInSeconds { get; set; } + + [Input("groups", required: true)] + private InputList? _groups; + + /// + /// One or more `group` blocks as defined below. + /// + public InputList Groups + { + get => _groups ?? (_groups = new InputList()); + set => _groups = value; + } + + /// + /// The name which should be used for this stage. + /// + [Input("name", required: true)] + public Input Name { get; set; } = null!; + + public FleetUpdateRunStageArgs() + { + } + public static new FleetUpdateRunStageArgs Empty => new FleetUpdateRunStageArgs(); + } +} diff --git a/sdk/dotnet/ContainerService/Inputs/FleetUpdateRunStageGetArgs.cs b/sdk/dotnet/ContainerService/Inputs/FleetUpdateRunStageGetArgs.cs new file mode 100644 index 0000000000..56561cf10b --- /dev/null +++ b/sdk/dotnet/ContainerService/Inputs/FleetUpdateRunStageGetArgs.cs @@ -0,0 +1,44 @@ +// *** 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.ContainerService.Inputs +{ + + public sealed class FleetUpdateRunStageGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Specifies the time in seconds to wait at the end of this stage before starting the next one. + /// + [Input("afterStageWaitInSeconds")] + public Input? AfterStageWaitInSeconds { get; set; } + + [Input("groups", required: true)] + private InputList? _groups; + + /// + /// One or more `group` blocks as defined below. + /// + public InputList Groups + { + get => _groups ?? (_groups = new InputList()); + set => _groups = value; + } + + /// + /// The name which should be used for this stage. + /// + [Input("name", required: true)] + public Input Name { get; set; } = null!; + + public FleetUpdateRunStageGetArgs() + { + } + public static new FleetUpdateRunStageGetArgs Empty => new FleetUpdateRunStageGetArgs(); + } +} diff --git a/sdk/dotnet/ContainerService/Inputs/FleetUpdateRunStageGroupArgs.cs b/sdk/dotnet/ContainerService/Inputs/FleetUpdateRunStageGroupArgs.cs new file mode 100644 index 0000000000..fc434160d1 --- /dev/null +++ b/sdk/dotnet/ContainerService/Inputs/FleetUpdateRunStageGroupArgs.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.ContainerService.Inputs +{ + + public sealed class FleetUpdateRunStageGroupArgs : global::Pulumi.ResourceArgs + { + /// + /// The name which should be used for this group. + /// + [Input("name", required: true)] + public Input Name { get; set; } = null!; + + public FleetUpdateRunStageGroupArgs() + { + } + public static new FleetUpdateRunStageGroupArgs Empty => new FleetUpdateRunStageGroupArgs(); + } +} diff --git a/sdk/dotnet/ContainerService/Inputs/FleetUpdateRunStageGroupGetArgs.cs b/sdk/dotnet/ContainerService/Inputs/FleetUpdateRunStageGroupGetArgs.cs new file mode 100644 index 0000000000..48b0a46628 --- /dev/null +++ b/sdk/dotnet/ContainerService/Inputs/FleetUpdateRunStageGroupGetArgs.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.ContainerService.Inputs +{ + + public sealed class FleetUpdateRunStageGroupGetArgs : global::Pulumi.ResourceArgs + { + /// + /// The name which should be used for this group. + /// + [Input("name", required: true)] + public Input Name { get; set; } = null!; + + public FleetUpdateRunStageGroupGetArgs() + { + } + public static new FleetUpdateRunStageGroupGetArgs Empty => new FleetUpdateRunStageGroupGetArgs(); + } +} diff --git a/sdk/dotnet/ContainerService/Inputs/KubernetesClusterDefaultNodePoolArgs.cs b/sdk/dotnet/ContainerService/Inputs/KubernetesClusterDefaultNodePoolArgs.cs index 9a63cc7461..1c3117743c 100644 --- a/sdk/dotnet/ContainerService/Inputs/KubernetesClusterDefaultNodePoolArgs.cs +++ b/sdk/dotnet/ContainerService/Inputs/KubernetesClusterDefaultNodePoolArgs.cs @@ -186,7 +186,7 @@ public InputList NodeTaints public Input? OsDiskType { get; set; } /// - /// Specifies the OS SKU used by the agent pool. Possible values are `AzureLinux`, `CBLMariner`, `Mariner`, `Ubuntu`, `Windows2019` and `Windows2022`. If not specified, the default is `Ubuntu` if OSType=Linux or `Windows2019` if OSType=Windows. And the default Windows OSSKU will be changed to `Windows2022` after Windows2019 is deprecated. `temporary_name_for_rotation` must be specified when attempting a change. + /// Specifies the OS SKU used by the agent pool. Possible values are `AzureLinux`, `Ubuntu`, `Windows2019` and `Windows2022`. If not specified, the default is `Ubuntu` if OSType=Linux or `Windows2019` if OSType=Windows. And the default Windows OSSKU will be changed to `Windows2022` after Windows2019 is deprecated. `temporary_name_for_rotation` must be specified when attempting a change. /// [Input("osSku")] public Input? OsSku { get; set; } diff --git a/sdk/dotnet/ContainerService/Inputs/KubernetesClusterDefaultNodePoolGetArgs.cs b/sdk/dotnet/ContainerService/Inputs/KubernetesClusterDefaultNodePoolGetArgs.cs index 471ae4da04..29a2dfdeb6 100644 --- a/sdk/dotnet/ContainerService/Inputs/KubernetesClusterDefaultNodePoolGetArgs.cs +++ b/sdk/dotnet/ContainerService/Inputs/KubernetesClusterDefaultNodePoolGetArgs.cs @@ -186,7 +186,7 @@ public InputList NodeTaints public Input? OsDiskType { get; set; } /// - /// Specifies the OS SKU used by the agent pool. Possible values are `AzureLinux`, `CBLMariner`, `Mariner`, `Ubuntu`, `Windows2019` and `Windows2022`. If not specified, the default is `Ubuntu` if OSType=Linux or `Windows2019` if OSType=Windows. And the default Windows OSSKU will be changed to `Windows2022` after Windows2019 is deprecated. `temporary_name_for_rotation` must be specified when attempting a change. + /// Specifies the OS SKU used by the agent pool. Possible values are `AzureLinux`, `Ubuntu`, `Windows2019` and `Windows2022`. If not specified, the default is `Ubuntu` if OSType=Linux or `Windows2019` if OSType=Windows. And the default Windows OSSKU will be changed to `Windows2022` after Windows2019 is deprecated. `temporary_name_for_rotation` must be specified when attempting a change. /// [Input("osSku")] public Input? OsSku { get; set; } diff --git a/sdk/dotnet/ContainerService/Inputs/KubernetesClusterKeyManagementServiceArgs.cs b/sdk/dotnet/ContainerService/Inputs/KubernetesClusterKeyManagementServiceArgs.cs index e8b65755a1..951859cb0a 100644 --- a/sdk/dotnet/ContainerService/Inputs/KubernetesClusterKeyManagementServiceArgs.cs +++ b/sdk/dotnet/ContainerService/Inputs/KubernetesClusterKeyManagementServiceArgs.cs @@ -13,7 +13,7 @@ namespace Pulumi.Azure.ContainerService.Inputs public sealed class KubernetesClusterKeyManagementServiceArgs : global::Pulumi.ResourceArgs { /// - /// Identifier of Azure Key Vault key. See [key identifier format](https://learn.microsoft.com/en-us/azure/key-vault/general/about-keys-secrets-certificates#vault-name-and-object-name) for more details. When Azure Key Vault key management service is enabled, this field is required and must be a valid key identifier. When `enabled` is `false`, leave the field empty. + /// Identifier of Azure Key Vault key. See [key identifier format](https://learn.microsoft.com/en-us/azure/key-vault/general/about-keys-secrets-certificates#vault-name-and-object-name) for more details. /// [Input("keyVaultKeyId", required: true)] public Input KeyVaultKeyId { get; set; } = null!; diff --git a/sdk/dotnet/ContainerService/Inputs/KubernetesClusterKeyManagementServiceGetArgs.cs b/sdk/dotnet/ContainerService/Inputs/KubernetesClusterKeyManagementServiceGetArgs.cs index 680b209e22..4b9c301284 100644 --- a/sdk/dotnet/ContainerService/Inputs/KubernetesClusterKeyManagementServiceGetArgs.cs +++ b/sdk/dotnet/ContainerService/Inputs/KubernetesClusterKeyManagementServiceGetArgs.cs @@ -13,7 +13,7 @@ namespace Pulumi.Azure.ContainerService.Inputs public sealed class KubernetesClusterKeyManagementServiceGetArgs : global::Pulumi.ResourceArgs { /// - /// Identifier of Azure Key Vault key. See [key identifier format](https://learn.microsoft.com/en-us/azure/key-vault/general/about-keys-secrets-certificates#vault-name-and-object-name) for more details. When Azure Key Vault key management service is enabled, this field is required and must be a valid key identifier. When `enabled` is `false`, leave the field empty. + /// Identifier of Azure Key Vault key. See [key identifier format](https://learn.microsoft.com/en-us/azure/key-vault/general/about-keys-secrets-certificates#vault-name-and-object-name) for more details. /// [Input("keyVaultKeyId", required: true)] public Input KeyVaultKeyId { get; set; } = null!; diff --git a/sdk/dotnet/ContainerService/Inputs/KubernetesClusterNetworkProfileArgs.cs b/sdk/dotnet/ContainerService/Inputs/KubernetesClusterNetworkProfileArgs.cs index 3771bec852..e92ef50705 100644 --- a/sdk/dotnet/ContainerService/Inputs/KubernetesClusterNetworkProfileArgs.cs +++ b/sdk/dotnet/ContainerService/Inputs/KubernetesClusterNetworkProfileArgs.cs @@ -109,7 +109,7 @@ public InputList IpVersions public Input? NetworkPolicy { get; set; } /// - /// The outbound (egress) routing method which should be used for this Kubernetes Cluster. Possible values are `loadBalancer`, `userDefinedRouting`, `managedNATGateway` and `userAssignedNATGateway`. Defaults to `loadBalancer`. Changing this forces a new resource to be created. + /// The outbound (egress) routing method which should be used for this Kubernetes Cluster. Possible values are `loadBalancer`, `userDefinedRouting`, `managedNATGateway` and `userAssignedNATGateway`. Defaults to `loadBalancer`. More information on supported migration paths for `outbound_type` can be found in [this documentation](https://learn.microsoft.com/azure/aks/egress-outboundtype#updating-outboundtype-after-cluster-creation). /// [Input("outboundType")] public Input? OutboundType { get; set; } diff --git a/sdk/dotnet/ContainerService/Inputs/KubernetesClusterNetworkProfileGetArgs.cs b/sdk/dotnet/ContainerService/Inputs/KubernetesClusterNetworkProfileGetArgs.cs index cae566b9c0..f2a4ad5539 100644 --- a/sdk/dotnet/ContainerService/Inputs/KubernetesClusterNetworkProfileGetArgs.cs +++ b/sdk/dotnet/ContainerService/Inputs/KubernetesClusterNetworkProfileGetArgs.cs @@ -109,7 +109,7 @@ public InputList IpVersions public Input? NetworkPolicy { get; set; } /// - /// The outbound (egress) routing method which should be used for this Kubernetes Cluster. Possible values are `loadBalancer`, `userDefinedRouting`, `managedNATGateway` and `userAssignedNATGateway`. Defaults to `loadBalancer`. Changing this forces a new resource to be created. + /// The outbound (egress) routing method which should be used for this Kubernetes Cluster. Possible values are `loadBalancer`, `userDefinedRouting`, `managedNATGateway` and `userAssignedNATGateway`. Defaults to `loadBalancer`. More information on supported migration paths for `outbound_type` can be found in [this documentation](https://learn.microsoft.com/azure/aks/egress-outboundtype#updating-outboundtype-after-cluster-creation). /// [Input("outboundType")] public Input? OutboundType { get; set; } diff --git a/sdk/dotnet/ContainerService/Inputs/TokenPasswordPassword1Args.cs b/sdk/dotnet/ContainerService/Inputs/TokenPasswordPassword1Args.cs index a980581bbe..75649a6e9f 100644 --- a/sdk/dotnet/ContainerService/Inputs/TokenPasswordPassword1Args.cs +++ b/sdk/dotnet/ContainerService/Inputs/TokenPasswordPassword1Args.cs @@ -13,7 +13,7 @@ namespace Pulumi.Azure.ContainerService.Inputs public sealed class TokenPasswordPassword1Args : global::Pulumi.ResourceArgs { /// - /// The expiration date of the password in RFC3339 format. Changing this forces a new resource to be created. + /// The expiration date of the password in RFC3339 format. If not specified, the password never expires. Changing this forces a new resource to be created. /// [Input("expiry")] public Input? Expiry { get; set; } diff --git a/sdk/dotnet/ContainerService/Inputs/TokenPasswordPassword1GetArgs.cs b/sdk/dotnet/ContainerService/Inputs/TokenPasswordPassword1GetArgs.cs index 29b9b5e48d..12eba39787 100644 --- a/sdk/dotnet/ContainerService/Inputs/TokenPasswordPassword1GetArgs.cs +++ b/sdk/dotnet/ContainerService/Inputs/TokenPasswordPassword1GetArgs.cs @@ -13,7 +13,7 @@ namespace Pulumi.Azure.ContainerService.Inputs public sealed class TokenPasswordPassword1GetArgs : global::Pulumi.ResourceArgs { /// - /// The expiration date of the password in RFC3339 format. Changing this forces a new resource to be created. + /// The expiration date of the password in RFC3339 format. If not specified, the password never expires. Changing this forces a new resource to be created. /// [Input("expiry")] public Input? Expiry { get; set; } diff --git a/sdk/dotnet/ContainerService/Inputs/TokenPasswordPassword2Args.cs b/sdk/dotnet/ContainerService/Inputs/TokenPasswordPassword2Args.cs index f47a5a5ca0..056345e7d0 100644 --- a/sdk/dotnet/ContainerService/Inputs/TokenPasswordPassword2Args.cs +++ b/sdk/dotnet/ContainerService/Inputs/TokenPasswordPassword2Args.cs @@ -13,7 +13,7 @@ namespace Pulumi.Azure.ContainerService.Inputs public sealed class TokenPasswordPassword2Args : global::Pulumi.ResourceArgs { /// - /// The expiration date of the password in RFC3339 format. Changing this forces a new resource to be created. + /// The expiration date of the password in RFC3339 format. If not specified, the password never expires. Changing this forces a new resource to be created. /// [Input("expiry")] public Input? Expiry { get; set; } diff --git a/sdk/dotnet/ContainerService/Inputs/TokenPasswordPassword2GetArgs.cs b/sdk/dotnet/ContainerService/Inputs/TokenPasswordPassword2GetArgs.cs index 065cbdac01..8db842dd92 100644 --- a/sdk/dotnet/ContainerService/Inputs/TokenPasswordPassword2GetArgs.cs +++ b/sdk/dotnet/ContainerService/Inputs/TokenPasswordPassword2GetArgs.cs @@ -13,7 +13,7 @@ namespace Pulumi.Azure.ContainerService.Inputs public sealed class TokenPasswordPassword2GetArgs : global::Pulumi.ResourceArgs { /// - /// The expiration date of the password in RFC3339 format. Changing this forces a new resource to be created. + /// The expiration date of the password in RFC3339 format. If not specified, the password never expires. Changing this forces a new resource to be created. /// [Input("expiry")] public Input? Expiry { get; set; } diff --git a/sdk/dotnet/ContainerService/KubernetesCluster.cs b/sdk/dotnet/ContainerService/KubernetesCluster.cs index 3988e781fe..986a58caf0 100644 --- a/sdk/dotnet/ContainerService/KubernetesCluster.cs +++ b/sdk/dotnet/ContainerService/KubernetesCluster.cs @@ -120,6 +120,12 @@ public partial class KubernetesCluster : global::Pulumi.CustomResource [Output("confidentialComputing")] public Output ConfidentialComputing { get; private set; } = null!; + /// + /// The current version running on the Azure Kubernetes Managed Cluster. + /// + [Output("currentKubernetesVersion")] + public Output CurrentKubernetesVersion { get; private set; } = null!; + /// /// A list of up to 10 base64 encoded CAs that will be added to the trust store on nodes with the `custom_ca_trust_enabled` feature enabled. /// @@ -1119,6 +1125,12 @@ public InputList ApiServerAuthorizedIpRanges [Input("confidentialComputing")] public Input? ConfidentialComputing { get; set; } + /// + /// The current version running on the Azure Kubernetes Managed Cluster. + /// + [Input("currentKubernetesVersion")] + public Input? CurrentKubernetesVersion { get; set; } + [Input("customCaTrustCertificatesBase64s")] private InputList? _customCaTrustCertificatesBase64s; diff --git a/sdk/dotnet/ContainerService/KubernetesClusterNodePool.cs b/sdk/dotnet/ContainerService/KubernetesClusterNodePool.cs index ef25ec6cfa..adf2dc12b1 100644 --- a/sdk/dotnet/ContainerService/KubernetesClusterNodePool.cs +++ b/sdk/dotnet/ContainerService/KubernetesClusterNodePool.cs @@ -254,7 +254,7 @@ public partial class KubernetesClusterNodePool : global::Pulumi.CustomResource public Output OsDiskType { get; private set; } = null!; /// - /// Specifies the OS SKU used by the agent pool. Possible values are `AzureLinux`, `CBLMariner`, `Mariner`, `Ubuntu`, `Windows2019` and `Windows2022`. If not specified, the default is `Ubuntu` if OSType=Linux or `Windows2019` if OSType=Windows. And the default Windows OSSKU will be changed to `Windows2022` after Windows2019 is deprecated. Changing this forces a new resource to be created. + /// Specifies the OS SKU used by the agent pool. Possible values are `AzureLinux`, `Ubuntu`, `Windows2019` and `Windows2022`. If not specified, the default is `Ubuntu` if OSType=Linux or `Windows2019` if OSType=Windows. And the default Windows OSSKU will be changed to `Windows2022` after Windows2019 is deprecated. Changing this forces a new resource to be created. /// [Output("osSku")] public Output OsSku { get; private set; } = null!; @@ -596,7 +596,7 @@ public InputList NodeTaints public Input? OsDiskType { get; set; } /// - /// Specifies the OS SKU used by the agent pool. Possible values are `AzureLinux`, `CBLMariner`, `Mariner`, `Ubuntu`, `Windows2019` and `Windows2022`. If not specified, the default is `Ubuntu` if OSType=Linux or `Windows2019` if OSType=Windows. And the default Windows OSSKU will be changed to `Windows2022` after Windows2019 is deprecated. Changing this forces a new resource to be created. + /// Specifies the OS SKU used by the agent pool. Possible values are `AzureLinux`, `Ubuntu`, `Windows2019` and `Windows2022`. If not specified, the default is `Ubuntu` if OSType=Linux or `Windows2019` if OSType=Windows. And the default Windows OSSKU will be changed to `Windows2022` after Windows2019 is deprecated. Changing this forces a new resource to be created. /// [Input("osSku")] public Input? OsSku { get; set; } @@ -912,7 +912,7 @@ public InputList NodeTaints public Input? OsDiskType { get; set; } /// - /// Specifies the OS SKU used by the agent pool. Possible values are `AzureLinux`, `CBLMariner`, `Mariner`, `Ubuntu`, `Windows2019` and `Windows2022`. If not specified, the default is `Ubuntu` if OSType=Linux or `Windows2019` if OSType=Windows. And the default Windows OSSKU will be changed to `Windows2022` after Windows2019 is deprecated. Changing this forces a new resource to be created. + /// Specifies the OS SKU used by the agent pool. Possible values are `AzureLinux`, `Ubuntu`, `Windows2019` and `Windows2022`. If not specified, the default is `Ubuntu` if OSType=Linux or `Windows2019` if OSType=Windows. And the default Windows OSSKU will be changed to `Windows2022` after Windows2019 is deprecated. Changing this forces a new resource to be created. /// [Input("osSku")] public Input? OsSku { get; set; } diff --git a/sdk/dotnet/ContainerService/Outputs/FleetUpdateRunManagedClusterUpdate.cs b/sdk/dotnet/ContainerService/Outputs/FleetUpdateRunManagedClusterUpdate.cs new file mode 100644 index 0000000000..ac1a70095c --- /dev/null +++ b/sdk/dotnet/ContainerService/Outputs/FleetUpdateRunManagedClusterUpdate.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.ContainerService.Outputs +{ + + [OutputType] + public sealed class FleetUpdateRunManagedClusterUpdate + { + /// + /// A `node_image_selection` block as defined below. + /// + public readonly Outputs.FleetUpdateRunManagedClusterUpdateNodeImageSelection? NodeImageSelection; + /// + /// A `upgrade` block as defined below. + /// + public readonly Outputs.FleetUpdateRunManagedClusterUpdateUpgrade Upgrade; + + [OutputConstructor] + private FleetUpdateRunManagedClusterUpdate( + Outputs.FleetUpdateRunManagedClusterUpdateNodeImageSelection? nodeImageSelection, + + Outputs.FleetUpdateRunManagedClusterUpdateUpgrade upgrade) + { + NodeImageSelection = nodeImageSelection; + Upgrade = upgrade; + } + } +} diff --git a/sdk/dotnet/ContainerService/Outputs/FleetUpdateRunManagedClusterUpdateNodeImageSelection.cs b/sdk/dotnet/ContainerService/Outputs/FleetUpdateRunManagedClusterUpdateNodeImageSelection.cs new file mode 100644 index 0000000000..677a89035c --- /dev/null +++ b/sdk/dotnet/ContainerService/Outputs/FleetUpdateRunManagedClusterUpdateNodeImageSelection.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.ContainerService.Outputs +{ + + [OutputType] + public sealed class FleetUpdateRunManagedClusterUpdateNodeImageSelection + { + /// + /// Specifies the node image upgrade type. Possible values are `Latest` and `Consistent`. + /// + public readonly string Type; + + [OutputConstructor] + private FleetUpdateRunManagedClusterUpdateNodeImageSelection(string type) + { + Type = type; + } + } +} diff --git a/sdk/dotnet/ContainerService/Outputs/FleetUpdateRunManagedClusterUpdateUpgrade.cs b/sdk/dotnet/ContainerService/Outputs/FleetUpdateRunManagedClusterUpdateUpgrade.cs new file mode 100644 index 0000000000..cf4b3b202e --- /dev/null +++ b/sdk/dotnet/ContainerService/Outputs/FleetUpdateRunManagedClusterUpdateUpgrade.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.ContainerService.Outputs +{ + + [OutputType] + public sealed class FleetUpdateRunManagedClusterUpdateUpgrade + { + /// + /// Specifies the Kubernetes version to upgrade the member clusters to. This is required if `type` is set to `Full`. + /// + public readonly string? KubernetesVersion; + /// + /// Specifies the type of upgrade to perform. Possible values are `Full` and `NodeImageOnly`. + /// + public readonly string Type; + + [OutputConstructor] + private FleetUpdateRunManagedClusterUpdateUpgrade( + string? kubernetesVersion, + + string type) + { + KubernetesVersion = kubernetesVersion; + Type = type; + } + } +} diff --git a/sdk/dotnet/ContainerService/Outputs/FleetUpdateRunStage.cs b/sdk/dotnet/ContainerService/Outputs/FleetUpdateRunStage.cs new file mode 100644 index 0000000000..e429d00bcb --- /dev/null +++ b/sdk/dotnet/ContainerService/Outputs/FleetUpdateRunStage.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.ContainerService.Outputs +{ + + [OutputType] + public sealed class FleetUpdateRunStage + { + /// + /// Specifies the time in seconds to wait at the end of this stage before starting the next one. + /// + public readonly int? AfterStageWaitInSeconds; + /// + /// One or more `group` blocks as defined below. + /// + public readonly ImmutableArray Groups; + /// + /// The name which should be used for this stage. + /// + public readonly string Name; + + [OutputConstructor] + private FleetUpdateRunStage( + int? afterStageWaitInSeconds, + + ImmutableArray groups, + + string name) + { + AfterStageWaitInSeconds = afterStageWaitInSeconds; + Groups = groups; + Name = name; + } + } +} diff --git a/sdk/dotnet/ContainerService/Outputs/FleetUpdateRunStageGroup.cs b/sdk/dotnet/ContainerService/Outputs/FleetUpdateRunStageGroup.cs new file mode 100644 index 0000000000..5604118b85 --- /dev/null +++ b/sdk/dotnet/ContainerService/Outputs/FleetUpdateRunStageGroup.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.ContainerService.Outputs +{ + + [OutputType] + public sealed class FleetUpdateRunStageGroup + { + /// + /// The name which should be used for this group. + /// + public readonly string Name; + + [OutputConstructor] + private FleetUpdateRunStageGroup(string name) + { + Name = name; + } + } +} diff --git a/sdk/dotnet/ContainerService/Outputs/KubernetesClusterDefaultNodePool.cs b/sdk/dotnet/ContainerService/Outputs/KubernetesClusterDefaultNodePool.cs index 48ba94056e..d0697e5eae 100644 --- a/sdk/dotnet/ContainerService/Outputs/KubernetesClusterDefaultNodePool.cs +++ b/sdk/dotnet/ContainerService/Outputs/KubernetesClusterDefaultNodePool.cs @@ -125,7 +125,7 @@ public sealed class KubernetesClusterDefaultNodePool /// public readonly string? OsDiskType; /// - /// Specifies the OS SKU used by the agent pool. Possible values are `AzureLinux`, `CBLMariner`, `Mariner`, `Ubuntu`, `Windows2019` and `Windows2022`. If not specified, the default is `Ubuntu` if OSType=Linux or `Windows2019` if OSType=Windows. And the default Windows OSSKU will be changed to `Windows2022` after Windows2019 is deprecated. `temporary_name_for_rotation` must be specified when attempting a change. + /// Specifies the OS SKU used by the agent pool. Possible values are `AzureLinux`, `Ubuntu`, `Windows2019` and `Windows2022`. If not specified, the default is `Ubuntu` if OSType=Linux or `Windows2019` if OSType=Windows. And the default Windows OSSKU will be changed to `Windows2022` after Windows2019 is deprecated. `temporary_name_for_rotation` must be specified when attempting a change. /// public readonly string? OsSku; /// diff --git a/sdk/dotnet/ContainerService/Outputs/KubernetesClusterKeyManagementService.cs b/sdk/dotnet/ContainerService/Outputs/KubernetesClusterKeyManagementService.cs index 09bcd41c8c..ee8c747545 100644 --- a/sdk/dotnet/ContainerService/Outputs/KubernetesClusterKeyManagementService.cs +++ b/sdk/dotnet/ContainerService/Outputs/KubernetesClusterKeyManagementService.cs @@ -14,7 +14,7 @@ namespace Pulumi.Azure.ContainerService.Outputs public sealed class KubernetesClusterKeyManagementService { /// - /// Identifier of Azure Key Vault key. See [key identifier format](https://learn.microsoft.com/en-us/azure/key-vault/general/about-keys-secrets-certificates#vault-name-and-object-name) for more details. When Azure Key Vault key management service is enabled, this field is required and must be a valid key identifier. When `enabled` is `false`, leave the field empty. + /// Identifier of Azure Key Vault key. See [key identifier format](https://learn.microsoft.com/en-us/azure/key-vault/general/about-keys-secrets-certificates#vault-name-and-object-name) for more details. /// public readonly string KeyVaultKeyId; /// diff --git a/sdk/dotnet/ContainerService/Outputs/KubernetesClusterNetworkProfile.cs b/sdk/dotnet/ContainerService/Outputs/KubernetesClusterNetworkProfile.cs index 61ad9c4a04..beae08f8a1 100644 --- a/sdk/dotnet/ContainerService/Outputs/KubernetesClusterNetworkProfile.cs +++ b/sdk/dotnet/ContainerService/Outputs/KubernetesClusterNetworkProfile.cs @@ -82,7 +82,7 @@ public sealed class KubernetesClusterNetworkProfile /// public readonly string? NetworkPolicy; /// - /// The outbound (egress) routing method which should be used for this Kubernetes Cluster. Possible values are `loadBalancer`, `userDefinedRouting`, `managedNATGateway` and `userAssignedNATGateway`. Defaults to `loadBalancer`. Changing this forces a new resource to be created. + /// The outbound (egress) routing method which should be used for this Kubernetes Cluster. Possible values are `loadBalancer`, `userDefinedRouting`, `managedNATGateway` and `userAssignedNATGateway`. Defaults to `loadBalancer`. More information on supported migration paths for `outbound_type` can be found in [this documentation](https://learn.microsoft.com/azure/aks/egress-outboundtype#updating-outboundtype-after-cluster-creation). /// public readonly string? OutboundType; /// diff --git a/sdk/dotnet/ContainerService/Outputs/TokenPasswordPassword1.cs b/sdk/dotnet/ContainerService/Outputs/TokenPasswordPassword1.cs index da7cff932e..ac10c26985 100644 --- a/sdk/dotnet/ContainerService/Outputs/TokenPasswordPassword1.cs +++ b/sdk/dotnet/ContainerService/Outputs/TokenPasswordPassword1.cs @@ -14,7 +14,7 @@ namespace Pulumi.Azure.ContainerService.Outputs public sealed class TokenPasswordPassword1 { /// - /// The expiration date of the password in RFC3339 format. Changing this forces a new resource to be created. + /// The expiration date of the password in RFC3339 format. If not specified, the password never expires. Changing this forces a new resource to be created. /// public readonly string? Expiry; /// diff --git a/sdk/dotnet/ContainerService/Outputs/TokenPasswordPassword2.cs b/sdk/dotnet/ContainerService/Outputs/TokenPasswordPassword2.cs index 0662218905..8dff3df107 100644 --- a/sdk/dotnet/ContainerService/Outputs/TokenPasswordPassword2.cs +++ b/sdk/dotnet/ContainerService/Outputs/TokenPasswordPassword2.cs @@ -14,7 +14,7 @@ namespace Pulumi.Azure.ContainerService.Outputs public sealed class TokenPasswordPassword2 { /// - /// The expiration date of the password in RFC3339 format. Changing this forces a new resource to be created. + /// The expiration date of the password in RFC3339 format. If not specified, the password never expires. Changing this forces a new resource to be created. /// public readonly string? Expiry; /// diff --git a/sdk/dotnet/CosmosDB/Account.cs b/sdk/dotnet/CosmosDB/Account.cs index fb0d3bf763..d04f235c73 100644 --- a/sdk/dotnet/CosmosDB/Account.cs +++ b/sdk/dotnet/CosmosDB/Account.cs @@ -310,6 +310,12 @@ public partial class Account : global::Pulumi.CustomResource [Output("location")] public Output Location { get; private set; } = null!; + /// + /// Specifies the minimal TLS version for the CosmosDB account. Possible values are: `Tls`, `Tls11`, and `Tls12`. Defaults to `Tls12`. + /// + [Output("minimalTlsVersion")] + public Output MinimalTlsVersion { get; private set; } = null!; + /// /// The Server Version of a MongoDB account. Possible values are `4.2`, `4.0`, `3.6`, and `3.2`. /// @@ -672,6 +678,12 @@ public InputList GeoLocations [Input("location")] public Input? Location { get; set; } + /// + /// Specifies the minimal TLS version for the CosmosDB account. Possible values are: `Tls`, `Tls11`, and `Tls12`. Defaults to `Tls12`. + /// + [Input("minimalTlsVersion")] + public Input? MinimalTlsVersion { get; set; } + /// /// The Server Version of a MongoDB account. Possible values are `4.2`, `4.0`, `3.6`, and `3.2`. /// @@ -936,6 +948,12 @@ public InputList GeoLocations [Input("location")] public Input? Location { get; set; } + /// + /// Specifies the minimal TLS version for the CosmosDB account. Possible values are: `Tls`, `Tls11`, and `Tls12`. Defaults to `Tls12`. + /// + [Input("minimalTlsVersion")] + public Input? MinimalTlsVersion { get; set; } + /// /// The Server Version of a MongoDB account. Possible values are `4.2`, `4.0`, `3.6`, and `3.2`. /// diff --git a/sdk/dotnet/CosmosDB/Inputs/AccountBackupArgs.cs b/sdk/dotnet/CosmosDB/Inputs/AccountBackupArgs.cs index 7bb03ba45d..51e4b04908 100644 --- a/sdk/dotnet/CosmosDB/Inputs/AccountBackupArgs.cs +++ b/sdk/dotnet/CosmosDB/Inputs/AccountBackupArgs.cs @@ -32,6 +32,12 @@ public sealed class AccountBackupArgs : global::Pulumi.ResourceArgs [Input("storageRedundancy")] public Input? StorageRedundancy { get; set; } + /// + /// The continuous backup tier. Possible values are `Continuous7Days` and `Continuous30Days`. + /// + [Input("tier")] + public Input? Tier { get; set; } + /// /// The type of the `backup`. Possible values are `Continuous` and `Periodic`. /// diff --git a/sdk/dotnet/CosmosDB/Inputs/AccountBackupGetArgs.cs b/sdk/dotnet/CosmosDB/Inputs/AccountBackupGetArgs.cs index 8029522481..d1b60794c5 100644 --- a/sdk/dotnet/CosmosDB/Inputs/AccountBackupGetArgs.cs +++ b/sdk/dotnet/CosmosDB/Inputs/AccountBackupGetArgs.cs @@ -32,6 +32,12 @@ public sealed class AccountBackupGetArgs : global::Pulumi.ResourceArgs [Input("storageRedundancy")] public Input? StorageRedundancy { get; set; } + /// + /// The continuous backup tier. Possible values are `Continuous7Days` and `Continuous30Days`. + /// + [Input("tier")] + public Input? Tier { get; set; } + /// /// The type of the `backup`. Possible values are `Continuous` and `Periodic`. /// diff --git a/sdk/dotnet/CosmosDB/Outputs/AccountBackup.cs b/sdk/dotnet/CosmosDB/Outputs/AccountBackup.cs index 714eca7f51..7a83a6d2bb 100644 --- a/sdk/dotnet/CosmosDB/Outputs/AccountBackup.cs +++ b/sdk/dotnet/CosmosDB/Outputs/AccountBackup.cs @@ -28,6 +28,10 @@ public sealed class AccountBackup /// public readonly string? StorageRedundancy; /// + /// The continuous backup tier. Possible values are `Continuous7Days` and `Continuous30Days`. + /// + public readonly string? Tier; + /// /// The type of the `backup`. Possible values are `Continuous` and `Periodic`. /// /// > **Note:** Migration of `Periodic` to `Continuous` is one-way, changing `Continuous` to `Periodic` forces a new resource to be created. @@ -42,11 +46,14 @@ private AccountBackup( string? storageRedundancy, + string? tier, + string type) { IntervalInMinutes = intervalInMinutes; RetentionInHours = retentionInHours; StorageRedundancy = storageRedundancy; + Tier = tier; Type = type; } } diff --git a/sdk/dotnet/DataProtection/BackupVault.cs b/sdk/dotnet/DataProtection/BackupVault.cs index 5b84eec963..c2814e2a5a 100644 --- a/sdk/dotnet/DataProtection/BackupVault.cs +++ b/sdk/dotnet/DataProtection/BackupVault.cs @@ -89,6 +89,22 @@ public partial class BackupVault : global::Pulumi.CustomResource [Output("resourceGroupName")] public Output ResourceGroupName { get; private set; } = null!; + /// + /// The soft delete retention duration for this Backup Vault. Possible values are between `14` and `180`. Defaults to `14`. + /// + /// > **Note:** The `retention_duration_in_days` is the number of days for which deleted data is retained before being permanently deleted. Retention period till 14 days are free of cost, however, retention beyond 14 days may incur additional charges. The `retention_duration_in_days` is required when the `soft_delete` is set to `On`. + /// + [Output("retentionDurationInDays")] + public Output RetentionDurationInDays { get; private set; } = null!; + + /// + /// The state of soft delete for this Backup Vault. Possible values are `AlwaysOn`, `Off` and `On`. Defaults to `On`. + /// + /// > **Note:** Once the `soft_delete` is set to `AlwaysOn`, the setting cannot be changed. + /// + [Output("softDelete")] + public Output SoftDelete { get; private set; } = null!; + /// /// A mapping of tags which should be assigned to the Backup Vault. /// @@ -179,6 +195,22 @@ public sealed class BackupVaultArgs : global::Pulumi.ResourceArgs [Input("resourceGroupName", required: true)] public Input ResourceGroupName { get; set; } = null!; + /// + /// The soft delete retention duration for this Backup Vault. Possible values are between `14` and `180`. Defaults to `14`. + /// + /// > **Note:** The `retention_duration_in_days` is the number of days for which deleted data is retained before being permanently deleted. Retention period till 14 days are free of cost, however, retention beyond 14 days may incur additional charges. The `retention_duration_in_days` is required when the `soft_delete` is set to `On`. + /// + [Input("retentionDurationInDays")] + public Input? RetentionDurationInDays { get; set; } + + /// + /// The state of soft delete for this Backup Vault. Possible values are `AlwaysOn`, `Off` and `On`. Defaults to `On`. + /// + /// > **Note:** Once the `soft_delete` is set to `AlwaysOn`, the setting cannot be changed. + /// + [Input("softDelete")] + public Input? SoftDelete { get; set; } + [Input("tags")] private InputMap? _tags; @@ -237,6 +269,22 @@ public sealed class BackupVaultState : global::Pulumi.ResourceArgs [Input("resourceGroupName")] public Input? ResourceGroupName { get; set; } + /// + /// The soft delete retention duration for this Backup Vault. Possible values are between `14` and `180`. Defaults to `14`. + /// + /// > **Note:** The `retention_duration_in_days` is the number of days for which deleted data is retained before being permanently deleted. Retention period till 14 days are free of cost, however, retention beyond 14 days may incur additional charges. The `retention_duration_in_days` is required when the `soft_delete` is set to `On`. + /// + [Input("retentionDurationInDays")] + public Input? RetentionDurationInDays { get; set; } + + /// + /// The state of soft delete for this Backup Vault. Possible values are `AlwaysOn`, `Off` and `On`. Defaults to `On`. + /// + /// > **Note:** Once the `soft_delete` is set to `AlwaysOn`, the setting cannot be changed. + /// + [Input("softDelete")] + public Input? SoftDelete { get; set; } + [Input("tags")] private InputMap? _tags; diff --git a/sdk/dotnet/DevCenter/Catalog.cs b/sdk/dotnet/DevCenter/Catalog.cs new file mode 100644 index 0000000000..5e5b1c991f --- /dev/null +++ b/sdk/dotnet/DevCenter/Catalog.cs @@ -0,0 +1,119 @@ +// *** 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.DevCenter +{ + [AzureResourceType("azure:devcenter/catalog:Catalog")] + public partial class Catalog : global::Pulumi.CustomResource + { + [Output("catalogAdogit")] + public Output CatalogAdogit { get; private set; } = null!; + + [Output("catalogGithub")] + public Output CatalogGithub { get; private set; } = null!; + + [Output("devCenterId")] + public Output DevCenterId { get; private set; } = null!; + + [Output("name")] + public Output Name { get; private set; } = null!; + + [Output("resourceGroupName")] + public Output ResourceGroupName { get; private set; } = null!; + + + /// + /// Create a Catalog 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 Catalog(string name, CatalogArgs args, CustomResourceOptions? options = null) + : base("azure:devcenter/catalog:Catalog", name, args ?? new CatalogArgs(), MakeResourceOptions(options, "")) + { + } + + private Catalog(string name, Input id, CatalogState? state = null, CustomResourceOptions? options = null) + : base("azure:devcenter/catalog:Catalog", 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 Catalog 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 Catalog Get(string name, Input id, CatalogState? state = null, CustomResourceOptions? options = null) + { + return new Catalog(name, id, state, options); + } + } + + public sealed class CatalogArgs : global::Pulumi.ResourceArgs + { + [Input("catalogAdogit")] + public Input? CatalogAdogit { get; set; } + + [Input("catalogGithub")] + public Input? CatalogGithub { get; set; } + + [Input("devCenterId", required: true)] + public Input DevCenterId { get; set; } = null!; + + [Input("name")] + public Input? Name { get; set; } + + [Input("resourceGroupName", required: true)] + public Input ResourceGroupName { get; set; } = null!; + + public CatalogArgs() + { + } + public static new CatalogArgs Empty => new CatalogArgs(); + } + + public sealed class CatalogState : global::Pulumi.ResourceArgs + { + [Input("catalogAdogit")] + public Input? CatalogAdogit { get; set; } + + [Input("catalogGithub")] + public Input? CatalogGithub { get; set; } + + [Input("devCenterId")] + public Input? DevCenterId { get; set; } + + [Input("name")] + public Input? Name { get; set; } + + [Input("resourceGroupName")] + public Input? ResourceGroupName { get; set; } + + public CatalogState() + { + } + public static new CatalogState Empty => new CatalogState(); + } +} diff --git a/sdk/dotnet/DevCenter/Inputs/CatalogCatalogAdogitArgs.cs b/sdk/dotnet/DevCenter/Inputs/CatalogCatalogAdogitArgs.cs new file mode 100644 index 0000000000..bdeea128ac --- /dev/null +++ b/sdk/dotnet/DevCenter/Inputs/CatalogCatalogAdogitArgs.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.DevCenter.Inputs +{ + + public sealed class CatalogCatalogAdogitArgs : global::Pulumi.ResourceArgs + { + [Input("branch", required: true)] + public Input Branch { get; set; } = null!; + + [Input("keyVaultKeyUrl", required: true)] + public Input KeyVaultKeyUrl { get; set; } = null!; + + [Input("path", required: true)] + public Input Path { get; set; } = null!; + + [Input("uri", required: true)] + public Input Uri { get; set; } = null!; + + public CatalogCatalogAdogitArgs() + { + } + public static new CatalogCatalogAdogitArgs Empty => new CatalogCatalogAdogitArgs(); + } +} diff --git a/sdk/dotnet/DevCenter/Inputs/CatalogCatalogAdogitGetArgs.cs b/sdk/dotnet/DevCenter/Inputs/CatalogCatalogAdogitGetArgs.cs new file mode 100644 index 0000000000..14446d37c1 --- /dev/null +++ b/sdk/dotnet/DevCenter/Inputs/CatalogCatalogAdogitGetArgs.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.DevCenter.Inputs +{ + + public sealed class CatalogCatalogAdogitGetArgs : global::Pulumi.ResourceArgs + { + [Input("branch", required: true)] + public Input Branch { get; set; } = null!; + + [Input("keyVaultKeyUrl", required: true)] + public Input KeyVaultKeyUrl { get; set; } = null!; + + [Input("path", required: true)] + public Input Path { get; set; } = null!; + + [Input("uri", required: true)] + public Input Uri { get; set; } = null!; + + public CatalogCatalogAdogitGetArgs() + { + } + public static new CatalogCatalogAdogitGetArgs Empty => new CatalogCatalogAdogitGetArgs(); + } +} diff --git a/sdk/dotnet/DevCenter/Inputs/CatalogCatalogGithubArgs.cs b/sdk/dotnet/DevCenter/Inputs/CatalogCatalogGithubArgs.cs new file mode 100644 index 0000000000..2bc9dad9e5 --- /dev/null +++ b/sdk/dotnet/DevCenter/Inputs/CatalogCatalogGithubArgs.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.DevCenter.Inputs +{ + + public sealed class CatalogCatalogGithubArgs : global::Pulumi.ResourceArgs + { + [Input("branch", required: true)] + public Input Branch { get; set; } = null!; + + [Input("keyVaultKeyUrl", required: true)] + public Input KeyVaultKeyUrl { get; set; } = null!; + + [Input("path", required: true)] + public Input Path { get; set; } = null!; + + [Input("uri", required: true)] + public Input Uri { get; set; } = null!; + + public CatalogCatalogGithubArgs() + { + } + public static new CatalogCatalogGithubArgs Empty => new CatalogCatalogGithubArgs(); + } +} diff --git a/sdk/dotnet/DevCenter/Inputs/CatalogCatalogGithubGetArgs.cs b/sdk/dotnet/DevCenter/Inputs/CatalogCatalogGithubGetArgs.cs new file mode 100644 index 0000000000..4dd1b8b500 --- /dev/null +++ b/sdk/dotnet/DevCenter/Inputs/CatalogCatalogGithubGetArgs.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.DevCenter.Inputs +{ + + public sealed class CatalogCatalogGithubGetArgs : global::Pulumi.ResourceArgs + { + [Input("branch", required: true)] + public Input Branch { get; set; } = null!; + + [Input("keyVaultKeyUrl", required: true)] + public Input KeyVaultKeyUrl { get; set; } = null!; + + [Input("path", required: true)] + public Input Path { get; set; } = null!; + + [Input("uri", required: true)] + public Input Uri { get; set; } = null!; + + public CatalogCatalogGithubGetArgs() + { + } + public static new CatalogCatalogGithubGetArgs Empty => new CatalogCatalogGithubGetArgs(); + } +} diff --git a/sdk/dotnet/DevCenter/Outputs/CatalogCatalogAdogit.cs b/sdk/dotnet/DevCenter/Outputs/CatalogCatalogAdogit.cs new file mode 100644 index 0000000000..c7c3eb26b1 --- /dev/null +++ b/sdk/dotnet/DevCenter/Outputs/CatalogCatalogAdogit.cs @@ -0,0 +1,37 @@ +// *** 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.DevCenter.Outputs +{ + + [OutputType] + public sealed class CatalogCatalogAdogit + { + public readonly string Branch; + public readonly string KeyVaultKeyUrl; + public readonly string Path; + public readonly string Uri; + + [OutputConstructor] + private CatalogCatalogAdogit( + string branch, + + string keyVaultKeyUrl, + + string path, + + string uri) + { + Branch = branch; + KeyVaultKeyUrl = keyVaultKeyUrl; + Path = path; + Uri = uri; + } + } +} diff --git a/sdk/dotnet/DevCenter/Outputs/CatalogCatalogGithub.cs b/sdk/dotnet/DevCenter/Outputs/CatalogCatalogGithub.cs new file mode 100644 index 0000000000..6ec99b7db4 --- /dev/null +++ b/sdk/dotnet/DevCenter/Outputs/CatalogCatalogGithub.cs @@ -0,0 +1,37 @@ +// *** 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.DevCenter.Outputs +{ + + [OutputType] + public sealed class CatalogCatalogGithub + { + public readonly string Branch; + public readonly string KeyVaultKeyUrl; + public readonly string Path; + public readonly string Uri; + + [OutputConstructor] + private CatalogCatalogGithub( + string branch, + + string keyVaultKeyUrl, + + string path, + + string uri) + { + Branch = branch; + KeyVaultKeyUrl = keyVaultKeyUrl; + Path = path; + Uri = uri; + } + } +} diff --git a/sdk/dotnet/EventHub/GetServiceBusNamespace.cs b/sdk/dotnet/EventHub/GetServiceBusNamespace.cs index b9ed640be1..d3a70a8111 100644 --- a/sdk/dotnet/EventHub/GetServiceBusNamespace.cs +++ b/sdk/dotnet/EventHub/GetServiceBusNamespace.cs @@ -159,6 +159,10 @@ public sealed class GetServiceBusNamespaceResult /// public readonly string Location; public readonly string Name; + /// + /// The messaging partitions of the ServiceBus Namespace. + /// + public readonly int PremiumMessagingPartitions; public readonly string ResourceGroupName; /// /// The Tier used for the ServiceBus Namespace. @@ -193,6 +197,8 @@ private GetServiceBusNamespaceResult( string name, + int premiumMessagingPartitions, + string resourceGroupName, string sku, @@ -210,6 +216,7 @@ private GetServiceBusNamespaceResult( Id = id; Location = location; Name = name; + PremiumMessagingPartitions = premiumMessagingPartitions; ResourceGroupName = resourceGroupName; Sku = sku; Tags = tags; diff --git a/sdk/dotnet/EventHub/Namespace.cs b/sdk/dotnet/EventHub/Namespace.cs index ace3612c80..3aa715e081 100644 --- a/sdk/dotnet/EventHub/Namespace.cs +++ b/sdk/dotnet/EventHub/Namespace.cs @@ -133,6 +133,14 @@ public partial class Namespace : global::Pulumi.CustomResource [Output("networkRuleSet")] public Output NetworkRuleSet { get; private set; } = null!; + /// + /// Specifies the number messaging partitions. Only valid when `sku` is `Premium` and the minimum number is `1`. Possible values include `0`, `1`, `2`, and `4`. Defaults to `0` for Standard, Basic namespace. Changing this forces a new resource to be created. + /// + /// > **Note:** It's not possible to change the partitioning option on any existing namespace. The number of partitions can only be set during namespace creation. Please check the doc https://learn.microsoft.com/en-us/azure/service-bus-messaging/enable-partitions-premium for more feature restrictions. + /// + [Output("premiumMessagingPartitions")] + public Output PremiumMessagingPartitions { get; private set; } = null!; + /// /// Is public network access enabled for the Service Bus Namespace? Defaults to `true`. /// @@ -265,6 +273,14 @@ public sealed class NamespaceArgs : global::Pulumi.ResourceArgs [Input("networkRuleSet")] public Input? NetworkRuleSet { get; set; } + /// + /// Specifies the number messaging partitions. Only valid when `sku` is `Premium` and the minimum number is `1`. Possible values include `0`, `1`, `2`, and `4`. Defaults to `0` for Standard, Basic namespace. Changing this forces a new resource to be created. + /// + /// > **Note:** It's not possible to change the partitioning option on any existing namespace. The number of partitions can only be set during namespace creation. Please check the doc https://learn.microsoft.com/en-us/azure/service-bus-messaging/enable-partitions-premium for more feature restrictions. + /// + [Input("premiumMessagingPartitions")] + public Input? PremiumMessagingPartitions { get; set; } + /// /// Is public network access enabled for the Service Bus Namespace? Defaults to `true`. /// @@ -428,6 +444,14 @@ public Input? DefaultSecondaryKey [Input("networkRuleSet")] public Input? NetworkRuleSet { get; set; } + /// + /// Specifies the number messaging partitions. Only valid when `sku` is `Premium` and the minimum number is `1`. Possible values include `0`, `1`, `2`, and `4`. Defaults to `0` for Standard, Basic namespace. Changing this forces a new resource to be created. + /// + /// > **Note:** It's not possible to change the partitioning option on any existing namespace. The number of partitions can only be set during namespace creation. Please check the doc https://learn.microsoft.com/en-us/azure/service-bus-messaging/enable-partitions-premium for more feature restrictions. + /// + [Input("premiumMessagingPartitions")] + public Input? PremiumMessagingPartitions { get; set; } + /// /// Is public network access enabled for the Service Bus Namespace? Defaults to `true`. /// diff --git a/sdk/dotnet/EventHub/Topic.cs b/sdk/dotnet/EventHub/Topic.cs index 4e7090102a..c45bed0a2d 100644 --- a/sdk/dotnet/EventHub/Topic.cs +++ b/sdk/dotnet/EventHub/Topic.cs @@ -130,9 +130,7 @@ public partial class Topic : global::Pulumi.CustomResource public Output NamespaceName { get; private set; } = null!; /// - /// Boolean flag which controls whether Changing this forces a new resource to be created. - /// the Topic requires duplicate detection. Defaults to false. Changing this forces - /// a new resource to be created. + /// Boolean flag which controls whether the Topic requires duplicate detection. Defaults to false. Changing this forcesa new resource to be created. /// [Output("requiresDuplicateDetection")] public Output RequiresDuplicateDetection { get; private set; } = null!; @@ -261,9 +259,7 @@ public sealed class TopicArgs : global::Pulumi.ResourceArgs public Input NamespaceId { get; set; } = null!; /// - /// Boolean flag which controls whether Changing this forces a new resource to be created. - /// the Topic requires duplicate detection. Defaults to false. Changing this forces - /// a new resource to be created. + /// Boolean flag which controls whether the Topic requires duplicate detection. Defaults to false. Changing this forcesa new resource to be created. /// [Input("requiresDuplicateDetection")] public Input? RequiresDuplicateDetection { get; set; } @@ -354,9 +350,7 @@ public sealed class TopicState : global::Pulumi.ResourceArgs public Input? NamespaceName { get; set; } /// - /// Boolean flag which controls whether Changing this forces a new resource to be created. - /// the Topic requires duplicate detection. Defaults to false. Changing this forces - /// a new resource to be created. + /// Boolean flag which controls whether the Topic requires duplicate detection. Defaults to false. Changing this forcesa new resource to be created. /// [Input("requiresDuplicateDetection")] public Input? RequiresDuplicateDetection { get; set; } diff --git a/sdk/dotnet/ExpressRoute/GetCircuitPeering.cs b/sdk/dotnet/ExpressRoute/GetCircuitPeering.cs new file mode 100644 index 0000000000..541f0c0a3e --- /dev/null +++ b/sdk/dotnet/ExpressRoute/GetCircuitPeering.cs @@ -0,0 +1,184 @@ +// *** 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.ExpressRoute +{ + public static class GetCircuitPeering + { + /// + /// Manages an ExpressRoute Circuit Peering. + /// + /// {{% examples %}} + /// ## Example Usage + /// {{% /examples %}} + /// + public static Task InvokeAsync(GetCircuitPeeringArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("azure:expressroute/getCircuitPeering:getCircuitPeering", args ?? new GetCircuitPeeringArgs(), options.WithDefaults()); + + /// + /// Manages an ExpressRoute Circuit Peering. + /// + /// {{% examples %}} + /// ## Example Usage + /// {{% /examples %}} + /// + public static Output Invoke(GetCircuitPeeringInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("azure:expressroute/getCircuitPeering:getCircuitPeering", args ?? new GetCircuitPeeringInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetCircuitPeeringArgs : global::Pulumi.InvokeArgs + { + /// + /// The name of the ExpressRoute Circuit in which to create the Peering. Changing this forces a new resource to be created. + /// + [Input("expressRouteCircuitName", required: true)] + public string ExpressRouteCircuitName { get; set; } = null!; + + /// + /// The type of the ExpressRoute Circuit Peering. Acceptable values include `AzurePrivatePeering`, `AzurePublicPeering` and `MicrosoftPeering`. + /// + [Input("peeringType", required: true)] + public string PeeringType { get; set; } = null!; + + /// + /// The name of the resource group in which to create the Express Route Circuit Peering. Changing this forces a new resource to be created. + /// + [Input("resourceGroupName", required: true)] + public string ResourceGroupName { get; set; } = null!; + + public GetCircuitPeeringArgs() + { + } + public static new GetCircuitPeeringArgs Empty => new GetCircuitPeeringArgs(); + } + + public sealed class GetCircuitPeeringInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// The name of the ExpressRoute Circuit in which to create the Peering. Changing this forces a new resource to be created. + /// + [Input("expressRouteCircuitName", required: true)] + public Input ExpressRouteCircuitName { get; set; } = null!; + + /// + /// The type of the ExpressRoute Circuit Peering. Acceptable values include `AzurePrivatePeering`, `AzurePublicPeering` and `MicrosoftPeering`. + /// + [Input("peeringType", required: true)] + public Input PeeringType { get; set; } = null!; + + /// + /// The name of the resource group in which to create the Express Route Circuit Peering. Changing this forces a new resource to be created. + /// + [Input("resourceGroupName", required: true)] + public Input ResourceGroupName { get; set; } = null!; + + public GetCircuitPeeringInvokeArgs() + { + } + public static new GetCircuitPeeringInvokeArgs Empty => new GetCircuitPeeringInvokeArgs(); + } + + + [OutputType] + public sealed class GetCircuitPeeringResult + { + /// + /// The ASN used by Azure for the peering. + /// + public readonly int AzureAsn; + public readonly string ExpressRouteCircuitName; + public readonly string GatewayManagerEtag; + /// + /// The provider-assigned unique ID for this managed resource. + /// + public readonly string Id; + /// + /// Indicates if IPv4 is enabled. + /// + public readonly bool Ipv4Enabled; + public readonly int PeerAsn; + /// + /// The type of the ExpressRoute Circuit Peering. + /// + public readonly string PeeringType; + /// + /// The primary port used by Azure for this peering. + /// + public readonly string PrimaryAzurePort; + /// + /// The primary peer address prefix. + /// + public readonly string PrimaryPeerAddressPrefix; + public readonly string ResourceGroupName; + public readonly string RouteFilterId; + /// + /// The secondary port used by Azure for this peering. + /// + public readonly string SecondaryAzurePort; + /// + /// The secondary peer address prefix. + /// + public readonly string SecondaryPeerAddressPrefix; + public readonly string SharedKey; + /// + /// The VLAN ID used for this peering. + /// + public readonly int VlanId; + + [OutputConstructor] + private GetCircuitPeeringResult( + int azureAsn, + + string expressRouteCircuitName, + + string gatewayManagerEtag, + + string id, + + bool ipv4Enabled, + + int peerAsn, + + string peeringType, + + string primaryAzurePort, + + string primaryPeerAddressPrefix, + + string resourceGroupName, + + string routeFilterId, + + string secondaryAzurePort, + + string secondaryPeerAddressPrefix, + + string sharedKey, + + int vlanId) + { + AzureAsn = azureAsn; + ExpressRouteCircuitName = expressRouteCircuitName; + GatewayManagerEtag = gatewayManagerEtag; + Id = id; + Ipv4Enabled = ipv4Enabled; + PeerAsn = peerAsn; + PeeringType = peeringType; + PrimaryAzurePort = primaryAzurePort; + PrimaryPeerAddressPrefix = primaryPeerAddressPrefix; + ResourceGroupName = resourceGroupName; + RouteFilterId = routeFilterId; + SecondaryAzurePort = secondaryAzurePort; + SecondaryPeerAddressPrefix = secondaryPeerAddressPrefix; + SharedKey = sharedKey; + VlanId = vlanId; + } + } +} diff --git a/sdk/dotnet/ExpressRoute/README.md b/sdk/dotnet/ExpressRoute/README.md new file mode 100644 index 0000000000..286e13b248 --- /dev/null +++ b/sdk/dotnet/ExpressRoute/README.md @@ -0,0 +1 @@ +A Pulumi package for creating and managing Microsoft Azure cloud resources, based on the Terraform azurerm provider. We recommend using the [Azure Native provider](https://github.com/pulumi/pulumi-azure-native) to provision Azure infrastructure. Azure Native provides complete coverage of Azure resources and same-day access to new resources and resource updates. diff --git a/sdk/dotnet/Inputs/ProviderFeaturesVirtualMachineScaleSetArgs.cs b/sdk/dotnet/Inputs/ProviderFeaturesVirtualMachineScaleSetArgs.cs index d958616ab2..2d197bebb6 100644 --- a/sdk/dotnet/Inputs/ProviderFeaturesVirtualMachineScaleSetArgs.cs +++ b/sdk/dotnet/Inputs/ProviderFeaturesVirtualMachineScaleSetArgs.cs @@ -15,6 +15,9 @@ public sealed class ProviderFeaturesVirtualMachineScaleSetArgs : global::Pulumi. [Input("forceDelete")] public Input? ForceDelete { get; set; } + [Input("reimageOnManualUpgrade")] + public Input? ReimageOnManualUpgrade { get; set; } + [Input("rollInstancesWhenRequired")] public Input? RollInstancesWhenRequired { get; set; } diff --git a/sdk/dotnet/KeyVault/Certifiate.cs b/sdk/dotnet/KeyVault/Certifiate.cs index afe9a1be8f..cf8be62169 100644 --- a/sdk/dotnet/KeyVault/Certifiate.cs +++ b/sdk/dotnet/KeyVault/Certifiate.cs @@ -303,7 +303,7 @@ public partial class Certifiate : global::Pulumi.CustomResource public Output CertificateDataBase64 { get; private set; } = null!; /// - /// A `certificate_policy` block as defined below. Changing this will create a new version of the Key Vault Certificate. + /// A `certificate_policy` block as defined below. Changing this (except the `lifetime_action` field) will create a new version of the Key Vault Certificate. /// /// > **NOTE:** When creating a Key Vault Certificate, at least one of `certificate` or `certificate_policy` is required. Provide `certificate` to import an existing certificate, `certificate_policy` to generate a new certificate. /// @@ -423,7 +423,7 @@ public sealed class CertifiateArgs : global::Pulumi.ResourceArgs public Input? KeyVaultCertificate { get; set; } /// - /// A `certificate_policy` block as defined below. Changing this will create a new version of the Key Vault Certificate. + /// A `certificate_policy` block as defined below. Changing this (except the `lifetime_action` field) will create a new version of the Key Vault Certificate. /// /// > **NOTE:** When creating a Key Vault Certificate, at least one of `certificate` or `certificate_policy` is required. Provide `certificate` to import an existing certificate, `certificate_policy` to generate a new certificate. /// @@ -493,7 +493,7 @@ public InputList CertificateAttrib public Input? CertificateDataBase64 { get; set; } /// - /// A `certificate_policy` block as defined below. Changing this will create a new version of the Key Vault Certificate. + /// A `certificate_policy` block as defined below. Changing this (except the `lifetime_action` field) will create a new version of the Key Vault Certificate. /// /// > **NOTE:** When creating a Key Vault Certificate, at least one of `certificate` or `certificate_policy` is required. Provide `certificate` to import an existing certificate, `certificate_policy` to generate a new certificate. /// diff --git a/sdk/dotnet/KeyVault/Certificate.cs b/sdk/dotnet/KeyVault/Certificate.cs index e0d8ddeb72..a147b13911 100644 --- a/sdk/dotnet/KeyVault/Certificate.cs +++ b/sdk/dotnet/KeyVault/Certificate.cs @@ -302,7 +302,7 @@ public partial class Certificate : global::Pulumi.CustomResource public Output CertificateDataBase64 { get; private set; } = null!; /// - /// A `certificate_policy` block as defined below. Changing this will create a new version of the Key Vault Certificate. + /// A `certificate_policy` block as defined below. Changing this (except the `lifetime_action` field) will create a new version of the Key Vault Certificate. /// /// > **NOTE:** When creating a Key Vault Certificate, at least one of `certificate` or `certificate_policy` is required. Provide `certificate` to import an existing certificate, `certificate_policy` to generate a new certificate. /// @@ -426,7 +426,7 @@ public sealed class CertificateArgs : global::Pulumi.ResourceArgs public Input? KeyVaultCertificate { get; set; } /// - /// A `certificate_policy` block as defined below. Changing this will create a new version of the Key Vault Certificate. + /// A `certificate_policy` block as defined below. Changing this (except the `lifetime_action` field) will create a new version of the Key Vault Certificate. /// /// > **NOTE:** When creating a Key Vault Certificate, at least one of `certificate` or `certificate_policy` is required. Provide `certificate` to import an existing certificate, `certificate_policy` to generate a new certificate. /// @@ -496,7 +496,7 @@ public InputList CertificateAttri public Input? CertificateDataBase64 { get; set; } /// - /// A `certificate_policy` block as defined below. Changing this will create a new version of the Key Vault Certificate. + /// A `certificate_policy` block as defined below. Changing this (except the `lifetime_action` field) will create a new version of the Key Vault Certificate. /// /// > **NOTE:** When creating a Key Vault Certificate, at least one of `certificate` or `certificate_policy` is required. Provide `certificate` to import an existing certificate, `certificate_policy` to generate a new certificate. /// diff --git a/sdk/dotnet/KeyVault/Key.cs b/sdk/dotnet/KeyVault/Key.cs index 80d4431a59..4f66c8e0ad 100644 --- a/sdk/dotnet/KeyVault/Key.cs +++ b/sdk/dotnet/KeyVault/Key.cs @@ -121,7 +121,7 @@ public partial class Key : global::Pulumi.CustomResource public Output E { get; private set; } = null!; /// - /// Expiration UTC datetime (Y-m-d'T'H:M:S'Z'). + /// Expiration UTC datetime (Y-m-d'T'H:M:S'Z'). When this parameter gets changed on reruns, if newer date is ahead of current date, an update is performed. If the newer date is before the current date, resource will be force created. /// [Output("expirationDate")] public Output ExpirationDate { get; private set; } = null!; @@ -164,6 +164,8 @@ public partial class Key : global::Pulumi.CustomResource /// /// Key not usable before the provided UTC datetime (Y-m-d'T'H:M:S'Z'). + /// + /// > **Note:** Once `expiration_date` is set, it's not possible to unset the key even if it is deleted & recreated as underlying Azure API uses the restore of the purged key. /// [Output("notBeforeDate")] public Output NotBeforeDate { get; private set; } = null!; @@ -281,7 +283,7 @@ public sealed class KeyArgs : global::Pulumi.ResourceArgs public Input? Curve { get; set; } /// - /// Expiration UTC datetime (Y-m-d'T'H:M:S'Z'). + /// Expiration UTC datetime (Y-m-d'T'H:M:S'Z'). When this parameter gets changed on reruns, if newer date is ahead of current date, an update is performed. If the newer date is before the current date, resource will be force created. /// [Input("expirationDate")] public Input? ExpirationDate { get; set; } @@ -324,6 +326,8 @@ public InputList KeyOpts /// /// Key not usable before the provided UTC datetime (Y-m-d'T'H:M:S'Z'). + /// + /// > **Note:** Once `expiration_date` is set, it's not possible to unset the key even if it is deleted & recreated as underlying Azure API uses the restore of the purged key. /// [Input("notBeforeDate")] public Input? NotBeforeDate { get; set; } @@ -367,7 +371,7 @@ public sealed class KeyState : global::Pulumi.ResourceArgs public Input? E { get; set; } /// - /// Expiration UTC datetime (Y-m-d'T'H:M:S'Z'). + /// Expiration UTC datetime (Y-m-d'T'H:M:S'Z'). When this parameter gets changed on reruns, if newer date is ahead of current date, an update is performed. If the newer date is before the current date, resource will be force created. /// [Input("expirationDate")] public Input? ExpirationDate { get; set; } @@ -416,6 +420,8 @@ public InputList KeyOpts /// /// Key not usable before the provided UTC datetime (Y-m-d'T'H:M:S'Z'). + /// + /// > **Note:** Once `expiration_date` is set, it's not possible to unset the key even if it is deleted & recreated as underlying Azure API uses the restore of the purged key. /// [Input("notBeforeDate")] public Input? NotBeforeDate { get; set; } diff --git a/sdk/dotnet/MSSql/Database.cs b/sdk/dotnet/MSSql/Database.cs index 1d5ec24d96..32feaa627b 100644 --- a/sdk/dotnet/MSSql/Database.cs +++ b/sdk/dotnet/MSSql/Database.cs @@ -327,12 +327,24 @@ public partial class Database : global::Pulumi.CustomResource [Output("recoverDatabaseId")] public Output RecoverDatabaseId { get; private set; } = null!; + /// + /// The ID of the Recovery Services Recovery Point Id to be restored. This property is only applicable when the `create_mode` is `Recovery`. + /// + [Output("recoveryPointId")] + public Output RecoveryPointId { get; private set; } = null!; + /// /// The ID of the database to be restored. This property is only applicable when the `create_mode` is `Restore`. /// [Output("restoreDroppedDatabaseId")] public Output RestoreDroppedDatabaseId { get; private set; } = null!; + /// + /// The ID of the long term retention backup to be restored. This property is only applicable when the `create_mode` is `RestoreLongTermRetentionBackup`. + /// + [Output("restoreLongTermRetentionBackupId")] + public Output RestoreLongTermRetentionBackupId { get; private set; } = null!; + /// /// Specifies the point in time (ISO8601 format) of the source database that will be restored to create the new database. This property is only settable for `create_mode`= `PointInTimeRestore` databases. /// @@ -585,12 +597,24 @@ public sealed class DatabaseArgs : global::Pulumi.ResourceArgs [Input("recoverDatabaseId")] public Input? RecoverDatabaseId { get; set; } + /// + /// The ID of the Recovery Services Recovery Point Id to be restored. This property is only applicable when the `create_mode` is `Recovery`. + /// + [Input("recoveryPointId")] + public Input? RecoveryPointId { get; set; } + /// /// The ID of the database to be restored. This property is only applicable when the `create_mode` is `Restore`. /// [Input("restoreDroppedDatabaseId")] public Input? RestoreDroppedDatabaseId { get; set; } + /// + /// The ID of the long term retention backup to be restored. This property is only applicable when the `create_mode` is `RestoreLongTermRetentionBackup`. + /// + [Input("restoreLongTermRetentionBackupId")] + public Input? RestoreLongTermRetentionBackupId { get; set; } + /// /// Specifies the point in time (ISO8601 format) of the source database that will be restored to create the new database. This property is only settable for `create_mode`= `PointInTimeRestore` databases. /// @@ -811,12 +835,24 @@ public sealed class DatabaseState : global::Pulumi.ResourceArgs [Input("recoverDatabaseId")] public Input? RecoverDatabaseId { get; set; } + /// + /// The ID of the Recovery Services Recovery Point Id to be restored. This property is only applicable when the `create_mode` is `Recovery`. + /// + [Input("recoveryPointId")] + public Input? RecoveryPointId { get; set; } + /// /// The ID of the database to be restored. This property is only applicable when the `create_mode` is `Restore`. /// [Input("restoreDroppedDatabaseId")] public Input? RestoreDroppedDatabaseId { get; set; } + /// + /// The ID of the long term retention backup to be restored. This property is only applicable when the `create_mode` is `RestoreLongTermRetentionBackup`. + /// + [Input("restoreLongTermRetentionBackupId")] + public Input? RestoreLongTermRetentionBackupId { get; set; } + /// /// Specifies the point in time (ISO8601 format) of the source database that will be restored to create the new database. This property is only settable for `create_mode`= `PointInTimeRestore` databases. /// diff --git a/sdk/dotnet/MSSql/Inputs/ServerAzureadAdministratorArgs.cs b/sdk/dotnet/MSSql/Inputs/ServerAzureadAdministratorArgs.cs index 867a039cc7..556b13364e 100644 --- a/sdk/dotnet/MSSql/Inputs/ServerAzureadAdministratorArgs.cs +++ b/sdk/dotnet/MSSql/Inputs/ServerAzureadAdministratorArgs.cs @@ -13,7 +13,7 @@ namespace Pulumi.Azure.MSSql.Inputs public sealed class ServerAzureadAdministratorArgs : global::Pulumi.ResourceArgs { /// - /// Specifies whether only AD Users and administrators (e.g. `azuread_administrator.0.login_username`) can be used to login, or also local database users (e.g. `administrator_login`). When `true`, the `administrator_login` and `administrator_login_password` properties can be omitted. + /// Specifies whether only AD Users and administrators (e.g. `azuread_administrator[0].login_username`) can be used to login, or also local database users (e.g. `administrator_login`). When `true`, the `administrator_login` and `administrator_login_password` properties can be omitted. /// [Input("azureadAuthenticationOnly")] public Input? AzureadAuthenticationOnly { get; set; } diff --git a/sdk/dotnet/MSSql/Inputs/ServerAzureadAdministratorGetArgs.cs b/sdk/dotnet/MSSql/Inputs/ServerAzureadAdministratorGetArgs.cs index 72abc16b40..9d64924dc1 100644 --- a/sdk/dotnet/MSSql/Inputs/ServerAzureadAdministratorGetArgs.cs +++ b/sdk/dotnet/MSSql/Inputs/ServerAzureadAdministratorGetArgs.cs @@ -13,7 +13,7 @@ namespace Pulumi.Azure.MSSql.Inputs public sealed class ServerAzureadAdministratorGetArgs : global::Pulumi.ResourceArgs { /// - /// Specifies whether only AD Users and administrators (e.g. `azuread_administrator.0.login_username`) can be used to login, or also local database users (e.g. `administrator_login`). When `true`, the `administrator_login` and `administrator_login_password` properties can be omitted. + /// Specifies whether only AD Users and administrators (e.g. `azuread_administrator[0].login_username`) can be used to login, or also local database users (e.g. `administrator_login`). When `true`, the `administrator_login` and `administrator_login_password` properties can be omitted. /// [Input("azureadAuthenticationOnly")] public Input? AzureadAuthenticationOnly { get; set; } diff --git a/sdk/dotnet/MSSql/ManagedInstance.cs b/sdk/dotnet/MSSql/ManagedInstance.cs index 3dcf2f816c..4ec0a928f8 100644 --- a/sdk/dotnet/MSSql/ManagedInstance.cs +++ b/sdk/dotnet/MSSql/ManagedInstance.cs @@ -388,6 +388,9 @@ public partial class ManagedInstance : global::Pulumi.CustomResource [Output("vcores")] public Output Vcores { get; private set; } = null!; + [Output("zoneRedundantEnabled")] + public Output ZoneRedundantEnabled { get; private set; } = null!; + /// /// Create a ManagedInstance resource with the given unique name, arguments, and options. @@ -574,6 +577,9 @@ public InputMap Tags [Input("vcores", required: true)] public Input Vcores { get; set; } = null!; + [Input("zoneRedundantEnabled")] + public Input? ZoneRedundantEnabled { get; set; } + public ManagedInstanceArgs() { } @@ -730,6 +736,9 @@ public InputMap Tags [Input("vcores")] public Input? Vcores { get; set; } + [Input("zoneRedundantEnabled")] + public Input? ZoneRedundantEnabled { get; set; } + public ManagedInstanceState() { } diff --git a/sdk/dotnet/MSSql/Outputs/ServerAzureadAdministrator.cs b/sdk/dotnet/MSSql/Outputs/ServerAzureadAdministrator.cs index 6c1877f89f..127c8b693a 100644 --- a/sdk/dotnet/MSSql/Outputs/ServerAzureadAdministrator.cs +++ b/sdk/dotnet/MSSql/Outputs/ServerAzureadAdministrator.cs @@ -14,7 +14,7 @@ namespace Pulumi.Azure.MSSql.Outputs public sealed class ServerAzureadAdministrator { /// - /// Specifies whether only AD Users and administrators (e.g. `azuread_administrator.0.login_username`) can be used to login, or also local database users (e.g. `administrator_login`). When `true`, the `administrator_login` and `administrator_login_password` properties can be omitted. + /// Specifies whether only AD Users and administrators (e.g. `azuread_administrator[0].login_username`) can be used to login, or also local database users (e.g. `administrator_login`). When `true`, the `administrator_login` and `administrator_login_password` properties can be omitted. /// public readonly bool? AzureadAuthenticationOnly; /// diff --git a/sdk/dotnet/MSSql/ServerVulnerabilityAssessment.cs b/sdk/dotnet/MSSql/ServerVulnerabilityAssessment.cs index 79da371d93..44c4418e19 100644 --- a/sdk/dotnet/MSSql/ServerVulnerabilityAssessment.cs +++ b/sdk/dotnet/MSSql/ServerVulnerabilityAssessment.cs @@ -30,7 +30,7 @@ namespace Pulumi.Azure.MSSql /// Location = "West Europe", /// }); /// - /// var exampleSqlServer = new Azure.Sql.SqlServer("example", new() + /// var exampleServer = new Azure.MSSql.Server("example", new() /// { /// Name = "mysqlserver", /// ResourceGroupName = example.Name, @@ -59,7 +59,7 @@ namespace Pulumi.Azure.MSSql /// var exampleServerSecurityAlertPolicy = new Azure.MSSql.ServerSecurityAlertPolicy("example", new() /// { /// ResourceGroupName = example.Name, - /// ServerName = exampleSqlServer.Name, + /// ServerName = exampleServer.Name, /// State = "Enabled", /// }); /// diff --git a/sdk/dotnet/MachineLearning/Inputs/InferenceClusterSslArgs.cs b/sdk/dotnet/MachineLearning/Inputs/InferenceClusterSslArgs.cs index 143b06bad8..54684d6ffb 100644 --- a/sdk/dotnet/MachineLearning/Inputs/InferenceClusterSslArgs.cs +++ b/sdk/dotnet/MachineLearning/Inputs/InferenceClusterSslArgs.cs @@ -13,31 +13,31 @@ namespace Pulumi.Azure.MachineLearning.Inputs public sealed class InferenceClusterSslArgs : global::Pulumi.ResourceArgs { /// - /// The certificate for the SSL configuration.Conflicts with `ssl.0.leaf_domain_label`,`ssl.0.overwrite_existing_domain`. Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `""`. + /// The certificate for the SSL configuration.Conflicts with `ssl[0].leaf_domain_label`,`ssl[0].overwrite_existing_domain`. Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `""`. /// [Input("cert")] public Input? Cert { get; set; } /// - /// The cname of the SSL configuration.Conflicts with `ssl.0.leaf_domain_label`,`ssl.0.overwrite_existing_domain`. Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `""`. + /// The cname of the SSL configuration.Conflicts with `ssl[0].leaf_domain_label`,`ssl[0].overwrite_existing_domain`. Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `""`. /// [Input("cname")] public Input? Cname { get; set; } /// - /// The key content for the SSL configuration.Conflicts with `ssl.0.leaf_domain_label`,`ssl.0.overwrite_existing_domain`. Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `""`. + /// The key content for the SSL configuration.Conflicts with `ssl[0].leaf_domain_label`,`ssl[0].overwrite_existing_domain`. Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `""`. /// [Input("key")] public Input? Key { get; set; } /// - /// The leaf domain label for the SSL configuration. Conflicts with `ssl.0.cert`,`ssl.0.key`,`ssl.0.cname`. Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `""`. + /// The leaf domain label for the SSL configuration. Conflicts with `ssl[0].cert`,`ssl[0].key`,`ssl[0].cname`. Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `""`. /// [Input("leafDomainLabel")] public Input? LeafDomainLabel { get; set; } /// - /// Whether or not to overwrite existing leaf domain. Conflicts with `ssl.0.cert`,`ssl.0.key`,`ssl.0.cname` Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `""`. + /// Whether or not to overwrite existing leaf domain. Conflicts with `ssl[0].cert`,`ssl[0].key`,`ssl[0].cname` Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `""`. /// [Input("overwriteExistingDomain")] public Input? OverwriteExistingDomain { get; set; } diff --git a/sdk/dotnet/MachineLearning/Inputs/InferenceClusterSslGetArgs.cs b/sdk/dotnet/MachineLearning/Inputs/InferenceClusterSslGetArgs.cs index f44ca14d93..490c2723a7 100644 --- a/sdk/dotnet/MachineLearning/Inputs/InferenceClusterSslGetArgs.cs +++ b/sdk/dotnet/MachineLearning/Inputs/InferenceClusterSslGetArgs.cs @@ -13,31 +13,31 @@ namespace Pulumi.Azure.MachineLearning.Inputs public sealed class InferenceClusterSslGetArgs : global::Pulumi.ResourceArgs { /// - /// The certificate for the SSL configuration.Conflicts with `ssl.0.leaf_domain_label`,`ssl.0.overwrite_existing_domain`. Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `""`. + /// The certificate for the SSL configuration.Conflicts with `ssl[0].leaf_domain_label`,`ssl[0].overwrite_existing_domain`. Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `""`. /// [Input("cert")] public Input? Cert { get; set; } /// - /// The cname of the SSL configuration.Conflicts with `ssl.0.leaf_domain_label`,`ssl.0.overwrite_existing_domain`. Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `""`. + /// The cname of the SSL configuration.Conflicts with `ssl[0].leaf_domain_label`,`ssl[0].overwrite_existing_domain`. Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `""`. /// [Input("cname")] public Input? Cname { get; set; } /// - /// The key content for the SSL configuration.Conflicts with `ssl.0.leaf_domain_label`,`ssl.0.overwrite_existing_domain`. Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `""`. + /// The key content for the SSL configuration.Conflicts with `ssl[0].leaf_domain_label`,`ssl[0].overwrite_existing_domain`. Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `""`. /// [Input("key")] public Input? Key { get; set; } /// - /// The leaf domain label for the SSL configuration. Conflicts with `ssl.0.cert`,`ssl.0.key`,`ssl.0.cname`. Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `""`. + /// The leaf domain label for the SSL configuration. Conflicts with `ssl[0].cert`,`ssl[0].key`,`ssl[0].cname`. Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `""`. /// [Input("leafDomainLabel")] public Input? LeafDomainLabel { get; set; } /// - /// Whether or not to overwrite existing leaf domain. Conflicts with `ssl.0.cert`,`ssl.0.key`,`ssl.0.cname` Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `""`. + /// Whether or not to overwrite existing leaf domain. Conflicts with `ssl[0].cert`,`ssl[0].key`,`ssl[0].cname` Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `""`. /// [Input("overwriteExistingDomain")] public Input? OverwriteExistingDomain { get; set; } diff --git a/sdk/dotnet/MachineLearning/Inputs/WorkspaceManagedNetworkArgs.cs b/sdk/dotnet/MachineLearning/Inputs/WorkspaceManagedNetworkArgs.cs new file mode 100644 index 0000000000..85c713242e --- /dev/null +++ b/sdk/dotnet/MachineLearning/Inputs/WorkspaceManagedNetworkArgs.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.MachineLearning.Inputs +{ + + public sealed class WorkspaceManagedNetworkArgs : global::Pulumi.ResourceArgs + { + /// + /// The isolation mode of the Machine Learning Workspace. Possible values are `Disabled`, `AllowOnlyApprovedOutbound`, and `AllowInternetOutbound` + /// + [Input("isolationMode")] + public Input? IsolationMode { get; set; } + + public WorkspaceManagedNetworkArgs() + { + } + public static new WorkspaceManagedNetworkArgs Empty => new WorkspaceManagedNetworkArgs(); + } +} diff --git a/sdk/dotnet/MachineLearning/Inputs/WorkspaceManagedNetworkGetArgs.cs b/sdk/dotnet/MachineLearning/Inputs/WorkspaceManagedNetworkGetArgs.cs new file mode 100644 index 0000000000..4dda1fa5f5 --- /dev/null +++ b/sdk/dotnet/MachineLearning/Inputs/WorkspaceManagedNetworkGetArgs.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.MachineLearning.Inputs +{ + + public sealed class WorkspaceManagedNetworkGetArgs : global::Pulumi.ResourceArgs + { + /// + /// The isolation mode of the Machine Learning Workspace. Possible values are `Disabled`, `AllowOnlyApprovedOutbound`, and `AllowInternetOutbound` + /// + [Input("isolationMode")] + public Input? IsolationMode { get; set; } + + public WorkspaceManagedNetworkGetArgs() + { + } + public static new WorkspaceManagedNetworkGetArgs Empty => new WorkspaceManagedNetworkGetArgs(); + } +} diff --git a/sdk/dotnet/MachineLearning/Outputs/InferenceClusterSsl.cs b/sdk/dotnet/MachineLearning/Outputs/InferenceClusterSsl.cs index e72761ff82..121f999409 100644 --- a/sdk/dotnet/MachineLearning/Outputs/InferenceClusterSsl.cs +++ b/sdk/dotnet/MachineLearning/Outputs/InferenceClusterSsl.cs @@ -14,23 +14,23 @@ namespace Pulumi.Azure.MachineLearning.Outputs public sealed class InferenceClusterSsl { /// - /// The certificate for the SSL configuration.Conflicts with `ssl.0.leaf_domain_label`,`ssl.0.overwrite_existing_domain`. Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `""`. + /// The certificate for the SSL configuration.Conflicts with `ssl[0].leaf_domain_label`,`ssl[0].overwrite_existing_domain`. Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `""`. /// public readonly string? Cert; /// - /// The cname of the SSL configuration.Conflicts with `ssl.0.leaf_domain_label`,`ssl.0.overwrite_existing_domain`. Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `""`. + /// The cname of the SSL configuration.Conflicts with `ssl[0].leaf_domain_label`,`ssl[0].overwrite_existing_domain`. Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `""`. /// public readonly string? Cname; /// - /// The key content for the SSL configuration.Conflicts with `ssl.0.leaf_domain_label`,`ssl.0.overwrite_existing_domain`. Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `""`. + /// The key content for the SSL configuration.Conflicts with `ssl[0].leaf_domain_label`,`ssl[0].overwrite_existing_domain`. Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `""`. /// public readonly string? Key; /// - /// The leaf domain label for the SSL configuration. Conflicts with `ssl.0.cert`,`ssl.0.key`,`ssl.0.cname`. Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `""`. + /// The leaf domain label for the SSL configuration. Conflicts with `ssl[0].cert`,`ssl[0].key`,`ssl[0].cname`. Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `""`. /// public readonly string? LeafDomainLabel; /// - /// Whether or not to overwrite existing leaf domain. Conflicts with `ssl.0.cert`,`ssl.0.key`,`ssl.0.cname` Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `""`. + /// Whether or not to overwrite existing leaf domain. Conflicts with `ssl[0].cert`,`ssl[0].key`,`ssl[0].cname` Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `""`. /// public readonly bool? OverwriteExistingDomain; diff --git a/sdk/dotnet/MachineLearning/Outputs/WorkspaceManagedNetwork.cs b/sdk/dotnet/MachineLearning/Outputs/WorkspaceManagedNetwork.cs new file mode 100644 index 0000000000..76b353d821 --- /dev/null +++ b/sdk/dotnet/MachineLearning/Outputs/WorkspaceManagedNetwork.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.MachineLearning.Outputs +{ + + [OutputType] + public sealed class WorkspaceManagedNetwork + { + /// + /// The isolation mode of the Machine Learning Workspace. Possible values are `Disabled`, `AllowOnlyApprovedOutbound`, and `AllowInternetOutbound` + /// + public readonly string? IsolationMode; + + [OutputConstructor] + private WorkspaceManagedNetwork(string? isolationMode) + { + IsolationMode = isolationMode; + } + } +} diff --git a/sdk/dotnet/MachineLearning/Workspace.cs b/sdk/dotnet/MachineLearning/Workspace.cs index 45538f9f17..fc97756eba 100644 --- a/sdk/dotnet/MachineLearning/Workspace.cs +++ b/sdk/dotnet/MachineLearning/Workspace.cs @@ -449,6 +449,12 @@ public partial class Workspace : global::Pulumi.CustomResource [Output("location")] public Output Location { get; private set; } = null!; + /// + /// A `managed_network` block as defined below. + /// + [Output("managedNetwork")] + public Output ManagedNetwork { get; private set; } = null!; + /// /// Specifies the name of the Machine Learning Workspace. Changing this forces a new resource to be created. /// @@ -482,7 +488,7 @@ public partial class Workspace : global::Pulumi.CustomResource public Output ResourceGroupName { get; private set; } = null!; /// - /// SKU/edition of the Machine Learning Workspace, possible values are `Basic`. Defaults to `Basic`. + /// SKU/edition of the Machine Learning Workspace, possible values are `Free`, `Basic`, `Standard` and `Premium`. Defaults to `Basic`. /// [Output("skuName")] public Output SkuName { get; private set; } = null!; @@ -633,6 +639,12 @@ public sealed class WorkspaceArgs : global::Pulumi.ResourceArgs [Input("location")] public Input? Location { get; set; } + /// + /// A `managed_network` block as defined below. + /// + [Input("managedNetwork")] + public Input? ManagedNetwork { get; set; } + /// /// Specifies the name of the Machine Learning Workspace. Changing this forces a new resource to be created. /// @@ -666,7 +678,7 @@ public sealed class WorkspaceArgs : global::Pulumi.ResourceArgs public Input ResourceGroupName { get; set; } = null!; /// - /// SKU/edition of the Machine Learning Workspace, possible values are `Basic`. Defaults to `Basic`. + /// SKU/edition of the Machine Learning Workspace, possible values are `Free`, `Basic`, `Standard` and `Premium`. Defaults to `Basic`. /// [Input("skuName")] public Input? SkuName { get; set; } @@ -785,6 +797,12 @@ public sealed class WorkspaceState : global::Pulumi.ResourceArgs [Input("location")] public Input? Location { get; set; } + /// + /// A `managed_network` block as defined below. + /// + [Input("managedNetwork")] + public Input? ManagedNetwork { get; set; } + /// /// Specifies the name of the Machine Learning Workspace. Changing this forces a new resource to be created. /// @@ -818,7 +836,7 @@ public sealed class WorkspaceState : global::Pulumi.ResourceArgs public Input? ResourceGroupName { get; set; } /// - /// SKU/edition of the Machine Learning Workspace, possible values are `Basic`. Defaults to `Basic`. + /// SKU/edition of the Machine Learning Workspace, possible values are `Free`, `Basic`, `Standard` and `Premium`. Defaults to `Basic`. /// [Input("skuName")] public Input? SkuName { get; set; } diff --git a/sdk/dotnet/MySql/Inputs/FlexibleServerHighAvailabilityArgs.cs b/sdk/dotnet/MySql/Inputs/FlexibleServerHighAvailabilityArgs.cs index 77528b1220..db5c8e5455 100644 --- a/sdk/dotnet/MySql/Inputs/FlexibleServerHighAvailabilityArgs.cs +++ b/sdk/dotnet/MySql/Inputs/FlexibleServerHighAvailabilityArgs.cs @@ -15,7 +15,7 @@ public sealed class FlexibleServerHighAvailabilityArgs : global::Pulumi.Resource /// /// The high availability mode for the MySQL Flexible Server. Possibles values are `SameZone` and `ZoneRedundant`. /// - /// > **NOTE:** `storage.0.auto_grow_enabled` must be enabled when `high_availability` is enabled. To change the `high_availability` for a MySQL Flexible Server created with `high_availability` disabled during creation, the resource has to be recreated. + /// > **NOTE:** `storage[0].auto_grow_enabled` must be enabled when `high_availability` is enabled. To change the `high_availability` for a MySQL Flexible Server created with `high_availability` disabled during creation, the resource has to be recreated. /// [Input("mode", required: true)] public Input Mode { get; set; } = null!; diff --git a/sdk/dotnet/MySql/Inputs/FlexibleServerHighAvailabilityGetArgs.cs b/sdk/dotnet/MySql/Inputs/FlexibleServerHighAvailabilityGetArgs.cs index c93ffcb871..93314d0e2a 100644 --- a/sdk/dotnet/MySql/Inputs/FlexibleServerHighAvailabilityGetArgs.cs +++ b/sdk/dotnet/MySql/Inputs/FlexibleServerHighAvailabilityGetArgs.cs @@ -15,7 +15,7 @@ public sealed class FlexibleServerHighAvailabilityGetArgs : global::Pulumi.Resou /// /// The high availability mode for the MySQL Flexible Server. Possibles values are `SameZone` and `ZoneRedundant`. /// - /// > **NOTE:** `storage.0.auto_grow_enabled` must be enabled when `high_availability` is enabled. To change the `high_availability` for a MySQL Flexible Server created with `high_availability` disabled during creation, the resource has to be recreated. + /// > **NOTE:** `storage[0].auto_grow_enabled` must be enabled when `high_availability` is enabled. To change the `high_availability` for a MySQL Flexible Server created with `high_availability` disabled during creation, the resource has to be recreated. /// [Input("mode", required: true)] public Input Mode { get; set; } = null!; diff --git a/sdk/dotnet/MySql/Outputs/FlexibleServerHighAvailability.cs b/sdk/dotnet/MySql/Outputs/FlexibleServerHighAvailability.cs index e9b57d6fb6..4a891bd89f 100644 --- a/sdk/dotnet/MySql/Outputs/FlexibleServerHighAvailability.cs +++ b/sdk/dotnet/MySql/Outputs/FlexibleServerHighAvailability.cs @@ -16,7 +16,7 @@ public sealed class FlexibleServerHighAvailability /// /// The high availability mode for the MySQL Flexible Server. Possibles values are `SameZone` and `ZoneRedundant`. /// - /// > **NOTE:** `storage.0.auto_grow_enabled` must be enabled when `high_availability` is enabled. To change the `high_availability` for a MySQL Flexible Server created with `high_availability` disabled during creation, the resource has to be recreated. + /// > **NOTE:** `storage[0].auto_grow_enabled` must be enabled when `high_availability` is enabled. To change the `high_availability` for a MySQL Flexible Server created with `high_availability` disabled during creation, the resource has to be recreated. /// public readonly string Mode; public readonly string? StandbyAvailabilityZone; diff --git a/sdk/dotnet/NetApp/GetPool.cs b/sdk/dotnet/NetApp/GetPool.cs index 56d2be2625..57763e10a0 100644 --- a/sdk/dotnet/NetApp/GetPool.cs +++ b/sdk/dotnet/NetApp/GetPool.cs @@ -131,6 +131,10 @@ public sealed class GetPoolResult { public readonly string AccountName; /// + /// The encryption type of the pool. + /// + public readonly string EncryptionType; + /// /// The provider-assigned unique ID for this managed resource. /// public readonly string Id; @@ -153,6 +157,8 @@ public sealed class GetPoolResult private GetPoolResult( string accountName, + string encryptionType, + string id, string location, @@ -166,6 +172,7 @@ private GetPoolResult( int sizeInTb) { AccountName = accountName; + EncryptionType = encryptionType; Id = id; Location = location; Name = name; diff --git a/sdk/dotnet/NetApp/GetVolume.cs b/sdk/dotnet/NetApp/GetVolume.cs index 4de5e58b72..2d9511e252 100644 --- a/sdk/dotnet/NetApp/GetVolume.cs +++ b/sdk/dotnet/NetApp/GetVolume.cs @@ -194,6 +194,15 @@ public sealed class GetVolumeResult /// public readonly string ServiceLevel; /// + /// Limits enumeration of files and folders (that is, listing the contents) in SMB only to users with allowed access on the share. + /// --- + /// + public readonly bool SmbAccessBasedEnumerationEnabled; + /// + /// Limits clients from browsing for an SMB share. + /// + public readonly bool SmbNonBrowsableEnabled; + /// /// The maximum Storage Quota in Gigabytes allowed for a file system. /// public readonly int StorageQuotaInGb; @@ -240,6 +249,10 @@ private GetVolumeResult( string serviceLevel, + bool smbAccessBasedEnumerationEnabled, + + bool smbNonBrowsableEnabled, + int storageQuotaInGb, string subnetId, @@ -262,6 +275,8 @@ private GetVolumeResult( ResourceGroupName = resourceGroupName; SecurityStyle = securityStyle; ServiceLevel = serviceLevel; + SmbAccessBasedEnumerationEnabled = smbAccessBasedEnumerationEnabled; + SmbNonBrowsableEnabled = smbNonBrowsableEnabled; StorageQuotaInGb = storageQuotaInGb; SubnetId = subnetId; VolumePath = volumePath; diff --git a/sdk/dotnet/NetApp/Pool.cs b/sdk/dotnet/NetApp/Pool.cs index 3af143cec9..59a4094254 100644 --- a/sdk/dotnet/NetApp/Pool.cs +++ b/sdk/dotnet/NetApp/Pool.cs @@ -65,6 +65,12 @@ public partial class Pool : global::Pulumi.CustomResource [Output("accountName")] public Output AccountName { get; private set; } = null!; + /// + /// The encryption type of the pool. Valid values include `Single`, and `Double`. Defaults to `Single`. Changing this forces a new resource to be created. + /// + [Output("encryptionType")] + public Output EncryptionType { get; private set; } = null!; + /// /// Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created. /// @@ -90,7 +96,7 @@ public partial class Pool : global::Pulumi.CustomResource public Output ResourceGroupName { get; private set; } = null!; /// - /// The service level of the file system. Valid values include `Premium`, `Standard`, or `Ultra`. Changing this forces a new resource to be created. + /// The service level of the file system. Valid values include `Premium`, `Standard`, and `Ultra`. Changing this forces a new resource to be created. /// [Output("serviceLevel")] public Output ServiceLevel { get; private set; } = null!; @@ -161,6 +167,12 @@ public sealed class PoolArgs : global::Pulumi.ResourceArgs [Input("accountName", required: true)] public Input AccountName { get; set; } = null!; + /// + /// The encryption type of the pool. Valid values include `Single`, and `Double`. Defaults to `Single`. Changing this forces a new resource to be created. + /// + [Input("encryptionType")] + public Input? EncryptionType { get; set; } + /// /// Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created. /// @@ -186,7 +198,7 @@ public sealed class PoolArgs : global::Pulumi.ResourceArgs public Input ResourceGroupName { get; set; } = null!; /// - /// The service level of the file system. Valid values include `Premium`, `Standard`, or `Ultra`. Changing this forces a new resource to be created. + /// The service level of the file system. Valid values include `Premium`, `Standard`, and `Ultra`. Changing this forces a new resource to be created. /// [Input("serviceLevel", required: true)] public Input ServiceLevel { get; set; } = null!; @@ -225,6 +237,12 @@ public sealed class PoolState : global::Pulumi.ResourceArgs [Input("accountName")] public Input? AccountName { get; set; } + /// + /// The encryption type of the pool. Valid values include `Single`, and `Double`. Defaults to `Single`. Changing this forces a new resource to be created. + /// + [Input("encryptionType")] + public Input? EncryptionType { get; set; } + /// /// Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created. /// @@ -250,7 +268,7 @@ public sealed class PoolState : global::Pulumi.ResourceArgs public Input? ResourceGroupName { get; set; } /// - /// The service level of the file system. Valid values include `Premium`, `Standard`, or `Ultra`. Changing this forces a new resource to be created. + /// The service level of the file system. Valid values include `Premium`, `Standard`, and `Ultra`. Changing this forces a new resource to be created. /// [Input("serviceLevel")] public Input? ServiceLevel { get; set; } diff --git a/sdk/dotnet/NetApp/Volume.cs b/sdk/dotnet/NetApp/Volume.cs index 30312769c8..2109c82e4a 100644 --- a/sdk/dotnet/NetApp/Volume.cs +++ b/sdk/dotnet/NetApp/Volume.cs @@ -123,6 +123,18 @@ public partial class Volume : global::Pulumi.CustomResource [Output("serviceLevel")] public Output ServiceLevel { get; private set; } = null!; + /// + /// Limits enumeration of files and folders (that is, listing the contents) in SMB only to users with allowed access on the share. For instance, if a user doesn't have access to read a file or folder in a share with access-based enumeration enabled, then the file or folder doesn't show up in directory listings. Defaults to `false`. For more information, please refer to [Understand NAS share permissions in Azure NetApp Files](https://learn.microsoft.com/en-us/azure/azure-netapp-files/network-attached-storage-permissions#:~:text=security%20for%20administrators.-,Access%2Dbased%20enumeration,in%20an%20Azure%20NetApp%20Files%20SMB%20volume.%20Only%20contosoadmin%20has%20access.,-In%20the%20below) + /// + [Output("smbAccessBasedEnumerationEnabled")] + public Output SmbAccessBasedEnumerationEnabled { get; private set; } = null!; + + /// + /// Limits clients from browsing for an SMB share by hiding the share from view in Windows Explorer or when listing shares in "net view." Only end users that know the absolute paths to the share are able to find the share. Defaults to `false`. For more information, please refer to [Understand NAS share permissions in Azure NetApp Files](https://learn.microsoft.com/en-us/azure/azure-netapp-files/network-attached-storage-permissions#:~:text=Non%2Dbrowsable%20shares,find%20the%20share.) + /// + [Output("smbNonBrowsableEnabled")] + public Output SmbNonBrowsableEnabled { get; private set; } = null!; + /// /// Specifies whether the .snapshot (NFS clients) or ~snapshot (SMB clients) path of a volume is visible, default value is true. /// @@ -321,6 +333,18 @@ public InputList Protocols [Input("serviceLevel", required: true)] public Input ServiceLevel { get; set; } = null!; + /// + /// Limits enumeration of files and folders (that is, listing the contents) in SMB only to users with allowed access on the share. For instance, if a user doesn't have access to read a file or folder in a share with access-based enumeration enabled, then the file or folder doesn't show up in directory listings. Defaults to `false`. For more information, please refer to [Understand NAS share permissions in Azure NetApp Files](https://learn.microsoft.com/en-us/azure/azure-netapp-files/network-attached-storage-permissions#:~:text=security%20for%20administrators.-,Access%2Dbased%20enumeration,in%20an%20Azure%20NetApp%20Files%20SMB%20volume.%20Only%20contosoadmin%20has%20access.,-In%20the%20below) + /// + [Input("smbAccessBasedEnumerationEnabled")] + public Input? SmbAccessBasedEnumerationEnabled { get; set; } + + /// + /// Limits clients from browsing for an SMB share by hiding the share from view in Windows Explorer or when listing shares in "net view." Only end users that know the absolute paths to the share are able to find the share. Defaults to `false`. For more information, please refer to [Understand NAS share permissions in Azure NetApp Files](https://learn.microsoft.com/en-us/azure/azure-netapp-files/network-attached-storage-permissions#:~:text=Non%2Dbrowsable%20shares,find%20the%20share.) + /// + [Input("smbNonBrowsableEnabled")] + public Input? SmbNonBrowsableEnabled { get; set; } + /// /// Specifies whether the .snapshot (NFS clients) or ~snapshot (SMB clients) path of a volume is visible, default value is true. /// @@ -499,6 +523,18 @@ public InputList Protocols [Input("serviceLevel")] public Input? ServiceLevel { get; set; } + /// + /// Limits enumeration of files and folders (that is, listing the contents) in SMB only to users with allowed access on the share. For instance, if a user doesn't have access to read a file or folder in a share with access-based enumeration enabled, then the file or folder doesn't show up in directory listings. Defaults to `false`. For more information, please refer to [Understand NAS share permissions in Azure NetApp Files](https://learn.microsoft.com/en-us/azure/azure-netapp-files/network-attached-storage-permissions#:~:text=security%20for%20administrators.-,Access%2Dbased%20enumeration,in%20an%20Azure%20NetApp%20Files%20SMB%20volume.%20Only%20contosoadmin%20has%20access.,-In%20the%20below) + /// + [Input("smbAccessBasedEnumerationEnabled")] + public Input? SmbAccessBasedEnumerationEnabled { get; set; } + + /// + /// Limits clients from browsing for an SMB share by hiding the share from view in Windows Explorer or when listing shares in "net view." Only end users that know the absolute paths to the share are able to find the share. Defaults to `false`. For more information, please refer to [Understand NAS share permissions in Azure NetApp Files](https://learn.microsoft.com/en-us/azure/azure-netapp-files/network-attached-storage-permissions#:~:text=Non%2Dbrowsable%20shares,find%20the%20share.) + /// + [Input("smbNonBrowsableEnabled")] + public Input? SmbNonBrowsableEnabled { get; set; } + /// /// Specifies whether the .snapshot (NFS clients) or ~snapshot (SMB clients) path of a volume is visible, default value is true. /// diff --git a/sdk/dotnet/Network/Inputs/ApplicationGatewayRequestRoutingRuleArgs.cs b/sdk/dotnet/Network/Inputs/ApplicationGatewayRequestRoutingRuleArgs.cs index bc02d9a72d..b43da4f9ff 100644 --- a/sdk/dotnet/Network/Inputs/ApplicationGatewayRequestRoutingRuleArgs.cs +++ b/sdk/dotnet/Network/Inputs/ApplicationGatewayRequestRoutingRuleArgs.cs @@ -63,7 +63,7 @@ public sealed class ApplicationGatewayRequestRoutingRuleArgs : global::Pulumi.Re /// /// Rule evaluation order can be dictated by specifying an integer value from `1` to `20000` with `1` being the highest priority and `20000` being the lowest priority. /// - /// > **NOTE:** `priority` is required when `sku.0.tier` is set to `*_v2`. + /// > **NOTE:** `priority` is required when `sku[0].tier` is set to `*_v2`. /// [Input("priority")] public Input? Priority { get; set; } diff --git a/sdk/dotnet/Network/Inputs/ApplicationGatewayRequestRoutingRuleGetArgs.cs b/sdk/dotnet/Network/Inputs/ApplicationGatewayRequestRoutingRuleGetArgs.cs index 6db9565ccd..51cc89cc76 100644 --- a/sdk/dotnet/Network/Inputs/ApplicationGatewayRequestRoutingRuleGetArgs.cs +++ b/sdk/dotnet/Network/Inputs/ApplicationGatewayRequestRoutingRuleGetArgs.cs @@ -63,7 +63,7 @@ public sealed class ApplicationGatewayRequestRoutingRuleGetArgs : global::Pulumi /// /// Rule evaluation order can be dictated by specifying an integer value from `1` to `20000` with `1` being the highest priority and `20000` being the lowest priority. /// - /// > **NOTE:** `priority` is required when `sku.0.tier` is set to `*_v2`. + /// > **NOTE:** `priority` is required when `sku[0].tier` is set to `*_v2`. /// [Input("priority")] public Input? Priority { get; set; } diff --git a/sdk/dotnet/Network/Inputs/VirtualNetworkGatewayIpConfigurationArgs.cs b/sdk/dotnet/Network/Inputs/VirtualNetworkGatewayIpConfigurationArgs.cs index 607eb6717d..be1b2d4fd3 100644 --- a/sdk/dotnet/Network/Inputs/VirtualNetworkGatewayIpConfigurationArgs.cs +++ b/sdk/dotnet/Network/Inputs/VirtualNetworkGatewayIpConfigurationArgs.cs @@ -19,7 +19,7 @@ public sealed class VirtualNetworkGatewayIpConfigurationArgs : global::Pulumi.Re public Input? Name { get; set; } /// - /// Defines how the private IP address of the gateways virtual interface is assigned. Valid options are `Static` or `Dynamic`. Defaults to `Dynamic`. + /// Defines how the private IP address of the gateways virtual interface is assigned. The only valid value is `Dynamic` for Virtual Network Gateway (`Static` is not supported by the service yet). Defaults to `Dynamic`. /// [Input("privateIpAddressAllocation")] public Input? PrivateIpAddressAllocation { get; set; } diff --git a/sdk/dotnet/Network/Inputs/VirtualNetworkGatewayIpConfigurationGetArgs.cs b/sdk/dotnet/Network/Inputs/VirtualNetworkGatewayIpConfigurationGetArgs.cs index 113ffef244..29421df162 100644 --- a/sdk/dotnet/Network/Inputs/VirtualNetworkGatewayIpConfigurationGetArgs.cs +++ b/sdk/dotnet/Network/Inputs/VirtualNetworkGatewayIpConfigurationGetArgs.cs @@ -19,7 +19,7 @@ public sealed class VirtualNetworkGatewayIpConfigurationGetArgs : global::Pulumi public Input? Name { get; set; } /// - /// Defines how the private IP address of the gateways virtual interface is assigned. Valid options are `Static` or `Dynamic`. Defaults to `Dynamic`. + /// Defines how the private IP address of the gateways virtual interface is assigned. The only valid value is `Dynamic` for Virtual Network Gateway (`Static` is not supported by the service yet). Defaults to `Dynamic`. /// [Input("privateIpAddressAllocation")] public Input? PrivateIpAddressAllocation { get; set; } diff --git a/sdk/dotnet/Network/Outputs/ApplicationGatewayRequestRoutingRule.cs b/sdk/dotnet/Network/Outputs/ApplicationGatewayRequestRoutingRule.cs index f51dfaf3fe..625aa500f2 100644 --- a/sdk/dotnet/Network/Outputs/ApplicationGatewayRequestRoutingRule.cs +++ b/sdk/dotnet/Network/Outputs/ApplicationGatewayRequestRoutingRule.cs @@ -48,7 +48,7 @@ public sealed class ApplicationGatewayRequestRoutingRule /// /// Rule evaluation order can be dictated by specifying an integer value from `1` to `20000` with `1` being the highest priority and `20000` being the lowest priority. /// - /// > **NOTE:** `priority` is required when `sku.0.tier` is set to `*_v2`. + /// > **NOTE:** `priority` is required when `sku[0].tier` is set to `*_v2`. /// public readonly int? Priority; /// diff --git a/sdk/dotnet/Network/Outputs/VirtualNetworkGatewayIpConfiguration.cs b/sdk/dotnet/Network/Outputs/VirtualNetworkGatewayIpConfiguration.cs index 7294796de9..648768fe50 100644 --- a/sdk/dotnet/Network/Outputs/VirtualNetworkGatewayIpConfiguration.cs +++ b/sdk/dotnet/Network/Outputs/VirtualNetworkGatewayIpConfiguration.cs @@ -18,7 +18,7 @@ public sealed class VirtualNetworkGatewayIpConfiguration /// public readonly string? Name; /// - /// Defines how the private IP address of the gateways virtual interface is assigned. Valid options are `Static` or `Dynamic`. Defaults to `Dynamic`. + /// Defines how the private IP address of the gateways virtual interface is assigned. The only valid value is `Dynamic` for Virtual Network Gateway (`Static` is not supported by the service yet). Defaults to `Dynamic`. /// public readonly string? PrivateIpAddressAllocation; /// diff --git a/sdk/dotnet/Nginx/Deployment.cs b/sdk/dotnet/Nginx/Deployment.cs index 4b2d35e18a..331428084a 100644 --- a/sdk/dotnet/Nginx/Deployment.cs +++ b/sdk/dotnet/Nginx/Deployment.cs @@ -86,6 +86,7 @@ namespace Pulumi.Azure.Nginx /// Location = example.Location, /// ManagedResourceGroup = "example", /// DiagnoseSupportEnabled = true, + /// AutomaticUpgradeChannel = "stable", /// FrontendPublic = new Azure.Nginx.Inputs.DeploymentFrontendPublicArgs /// { /// IpAddresses = new[] @@ -118,6 +119,12 @@ namespace Pulumi.Azure.Nginx [AzureResourceType("azure:nginx/deployment:Deployment")] public partial class Deployment : global::Pulumi.CustomResource { + /// + /// Specify the automatic upgrade channel for the NGINX deployment. Defaults to `stable`. The possible values are `stable` and `preview`. + /// + [Output("automaticUpgradeChannel")] + public Output AutomaticUpgradeChannel { get; private set; } = null!; + /// /// Specify the number of NGINX capacity units for this NGINX deployment. Defaults to `20`. /// @@ -205,7 +212,7 @@ public partial class Deployment : global::Pulumi.CustomResource public Output ResourceGroupName { get; private set; } = null!; /// - /// Specify the Name of Nginx deployment SKU. The possible value are `publicpreview_Monthly_gmz7xq9ge3py` and `standard_Monthly`. + /// Specify the Name of Nginx deployment SKU. The possible value are `publicpreview_Monthly_gmz7xq9ge3py` and `standard_Monthly`. Changing this forces a new Nginx Deployment to be created. /// [Output("sku")] public Output Sku { get; private set; } = null!; @@ -262,6 +269,12 @@ public static Deployment Get(string name, Input id, DeploymentState? sta public sealed class DeploymentArgs : global::Pulumi.ResourceArgs { + /// + /// Specify the automatic upgrade channel for the NGINX deployment. Defaults to `stable`. The possible values are `stable` and `preview`. + /// + [Input("automaticUpgradeChannel")] + public Input? AutomaticUpgradeChannel { get; set; } + /// /// Specify the number of NGINX capacity units for this NGINX deployment. Defaults to `20`. /// @@ -355,7 +368,7 @@ public InputList NetworkInterfaces public Input ResourceGroupName { get; set; } = null!; /// - /// Specify the Name of Nginx deployment SKU. The possible value are `publicpreview_Monthly_gmz7xq9ge3py` and `standard_Monthly`. + /// Specify the Name of Nginx deployment SKU. The possible value are `publicpreview_Monthly_gmz7xq9ge3py` and `standard_Monthly`. Changing this forces a new Nginx Deployment to be created. /// [Input("sku", required: true)] public Input Sku { get; set; } = null!; @@ -380,6 +393,12 @@ public DeploymentArgs() public sealed class DeploymentState : global::Pulumi.ResourceArgs { + /// + /// Specify the automatic upgrade channel for the NGINX deployment. Defaults to `stable`. The possible values are `stable` and `preview`. + /// + [Input("automaticUpgradeChannel")] + public Input? AutomaticUpgradeChannel { get; set; } + /// /// Specify the number of NGINX capacity units for this NGINX deployment. Defaults to `20`. /// @@ -485,7 +504,7 @@ public InputList NetworkInterfaces public Input? ResourceGroupName { get; set; } /// - /// Specify the Name of Nginx deployment SKU. The possible value are `publicpreview_Monthly_gmz7xq9ge3py` and `standard_Monthly`. + /// Specify the Name of Nginx deployment SKU. The possible value are `publicpreview_Monthly_gmz7xq9ge3py` and `standard_Monthly`. Changing this forces a new Nginx Deployment to be created. /// [Input("sku")] public Input? Sku { get; set; } diff --git a/sdk/dotnet/Nginx/GetDeployment.cs b/sdk/dotnet/Nginx/GetDeployment.cs index 00e66b91bc..5a7b013c8a 100644 --- a/sdk/dotnet/Nginx/GetDeployment.cs +++ b/sdk/dotnet/Nginx/GetDeployment.cs @@ -123,6 +123,10 @@ public GetDeploymentInvokeArgs() [OutputType] public sealed class GetDeploymentResult { + /// + /// The automatic upgrade channel for this NGINX deployment. + /// + public readonly string AutomaticUpgradeChannel; /// /// The number of NGINX capacity units for this Nginx Deployment. /// @@ -191,6 +195,8 @@ public sealed class GetDeploymentResult [OutputConstructor] private GetDeploymentResult( + string automaticUpgradeChannel, + int capacity, bool diagnoseSupportEnabled, @@ -225,6 +231,7 @@ private GetDeploymentResult( ImmutableDictionary tags) { + AutomaticUpgradeChannel = automaticUpgradeChannel; Capacity = capacity; DiagnoseSupportEnabled = diagnoseSupportEnabled; Email = email; diff --git a/sdk/dotnet/PaloAlto/Inputs/NextGenerationFirewallVirtualNetworkLocalRulestackDnsSettingsArgs.cs b/sdk/dotnet/PaloAlto/Inputs/NextGenerationFirewallVirtualNetworkLocalRulestackDnsSettingsArgs.cs index b63a36bbf6..fbed7e8959 100644 --- a/sdk/dotnet/PaloAlto/Inputs/NextGenerationFirewallVirtualNetworkLocalRulestackDnsSettingsArgs.cs +++ b/sdk/dotnet/PaloAlto/Inputs/NextGenerationFirewallVirtualNetworkLocalRulestackDnsSettingsArgs.cs @@ -24,7 +24,7 @@ public InputList AzureDnsServers private InputList? _dnsServers; /// - /// Specifies a list of DNS servers to use. Conflicts with `dns_settings.0.use_azure_dns`. + /// Specifies a list of DNS servers to use. Conflicts with `dns_settings[0].use_azure_dns`. /// public InputList DnsServers { @@ -33,7 +33,7 @@ public InputList DnsServers } /// - /// Should the Firewall use Azure Supplied DNS servers. Conflicts with `dns_settings.0.dns_servers`. Defaults to `false`. + /// Should the Firewall use Azure Supplied DNS servers. Conflicts with `dns_settings[0].dns_servers`. Defaults to `false`. /// [Input("useAzureDns")] public Input? UseAzureDns { get; set; } diff --git a/sdk/dotnet/PaloAlto/Inputs/NextGenerationFirewallVirtualNetworkLocalRulestackDnsSettingsGetArgs.cs b/sdk/dotnet/PaloAlto/Inputs/NextGenerationFirewallVirtualNetworkLocalRulestackDnsSettingsGetArgs.cs index fd4b5061d6..a9072c8f92 100644 --- a/sdk/dotnet/PaloAlto/Inputs/NextGenerationFirewallVirtualNetworkLocalRulestackDnsSettingsGetArgs.cs +++ b/sdk/dotnet/PaloAlto/Inputs/NextGenerationFirewallVirtualNetworkLocalRulestackDnsSettingsGetArgs.cs @@ -24,7 +24,7 @@ public InputList AzureDnsServers private InputList? _dnsServers; /// - /// Specifies a list of DNS servers to use. Conflicts with `dns_settings.0.use_azure_dns`. + /// Specifies a list of DNS servers to use. Conflicts with `dns_settings[0].use_azure_dns`. /// public InputList DnsServers { @@ -33,7 +33,7 @@ public InputList DnsServers } /// - /// Should the Firewall use Azure Supplied DNS servers. Conflicts with `dns_settings.0.dns_servers`. Defaults to `false`. + /// Should the Firewall use Azure Supplied DNS servers. Conflicts with `dns_settings[0].dns_servers`. Defaults to `false`. /// [Input("useAzureDns")] public Input? UseAzureDns { get; set; } diff --git a/sdk/dotnet/PaloAlto/Inputs/NextGenerationFirewallVirtualNetworkPanoramaDnsSettingsArgs.cs b/sdk/dotnet/PaloAlto/Inputs/NextGenerationFirewallVirtualNetworkPanoramaDnsSettingsArgs.cs index 392638d996..787c54635a 100644 --- a/sdk/dotnet/PaloAlto/Inputs/NextGenerationFirewallVirtualNetworkPanoramaDnsSettingsArgs.cs +++ b/sdk/dotnet/PaloAlto/Inputs/NextGenerationFirewallVirtualNetworkPanoramaDnsSettingsArgs.cs @@ -24,7 +24,7 @@ public InputList AzureDnsServers private InputList? _dnsServers; /// - /// Specifies a list of DNS servers to use. Conflicts with `dns_settings.0.use_azure_dns`. + /// Specifies a list of DNS servers to use. Conflicts with `dns_settings[0].use_azure_dns`. /// public InputList DnsServers { @@ -33,7 +33,7 @@ public InputList DnsServers } /// - /// Should the Firewall use Azure Supplied DNS servers. Conflicts with `dns_settings.0.dns_servers`. Defaults to `false`. + /// Should the Firewall use Azure Supplied DNS servers. Conflicts with `dns_settings[0].dns_servers`. Defaults to `false`. /// [Input("useAzureDns")] public Input? UseAzureDns { get; set; } diff --git a/sdk/dotnet/PaloAlto/Inputs/NextGenerationFirewallVirtualNetworkPanoramaDnsSettingsGetArgs.cs b/sdk/dotnet/PaloAlto/Inputs/NextGenerationFirewallVirtualNetworkPanoramaDnsSettingsGetArgs.cs index 5577a579a3..c8af051060 100644 --- a/sdk/dotnet/PaloAlto/Inputs/NextGenerationFirewallVirtualNetworkPanoramaDnsSettingsGetArgs.cs +++ b/sdk/dotnet/PaloAlto/Inputs/NextGenerationFirewallVirtualNetworkPanoramaDnsSettingsGetArgs.cs @@ -24,7 +24,7 @@ public InputList AzureDnsServers private InputList? _dnsServers; /// - /// Specifies a list of DNS servers to use. Conflicts with `dns_settings.0.use_azure_dns`. + /// Specifies a list of DNS servers to use. Conflicts with `dns_settings[0].use_azure_dns`. /// public InputList DnsServers { @@ -33,7 +33,7 @@ public InputList DnsServers } /// - /// Should the Firewall use Azure Supplied DNS servers. Conflicts with `dns_settings.0.dns_servers`. Defaults to `false`. + /// Should the Firewall use Azure Supplied DNS servers. Conflicts with `dns_settings[0].dns_servers`. Defaults to `false`. /// [Input("useAzureDns")] public Input? UseAzureDns { get; set; } diff --git a/sdk/dotnet/PaloAlto/Outputs/NextGenerationFirewallVirtualNetworkLocalRulestackDnsSettings.cs b/sdk/dotnet/PaloAlto/Outputs/NextGenerationFirewallVirtualNetworkLocalRulestackDnsSettings.cs index 4be2b638a3..574d522131 100644 --- a/sdk/dotnet/PaloAlto/Outputs/NextGenerationFirewallVirtualNetworkLocalRulestackDnsSettings.cs +++ b/sdk/dotnet/PaloAlto/Outputs/NextGenerationFirewallVirtualNetworkLocalRulestackDnsSettings.cs @@ -15,11 +15,11 @@ public sealed class NextGenerationFirewallVirtualNetworkLocalRulestackDnsSetting { public readonly ImmutableArray AzureDnsServers; /// - /// Specifies a list of DNS servers to use. Conflicts with `dns_settings.0.use_azure_dns`. + /// Specifies a list of DNS servers to use. Conflicts with `dns_settings[0].use_azure_dns`. /// public readonly ImmutableArray DnsServers; /// - /// Should the Firewall use Azure Supplied DNS servers. Conflicts with `dns_settings.0.dns_servers`. Defaults to `false`. + /// Should the Firewall use Azure Supplied DNS servers. Conflicts with `dns_settings[0].dns_servers`. Defaults to `false`. /// public readonly bool? UseAzureDns; diff --git a/sdk/dotnet/PaloAlto/Outputs/NextGenerationFirewallVirtualNetworkPanoramaDnsSettings.cs b/sdk/dotnet/PaloAlto/Outputs/NextGenerationFirewallVirtualNetworkPanoramaDnsSettings.cs index 1a749cf6e3..e8c9ef0ac5 100644 --- a/sdk/dotnet/PaloAlto/Outputs/NextGenerationFirewallVirtualNetworkPanoramaDnsSettings.cs +++ b/sdk/dotnet/PaloAlto/Outputs/NextGenerationFirewallVirtualNetworkPanoramaDnsSettings.cs @@ -15,11 +15,11 @@ public sealed class NextGenerationFirewallVirtualNetworkPanoramaDnsSettings { public readonly ImmutableArray AzureDnsServers; /// - /// Specifies a list of DNS servers to use. Conflicts with `dns_settings.0.use_azure_dns`. + /// Specifies a list of DNS servers to use. Conflicts with `dns_settings[0].use_azure_dns`. /// public readonly ImmutableArray DnsServers; /// - /// Should the Firewall use Azure Supplied DNS servers. Conflicts with `dns_settings.0.dns_servers`. Defaults to `false`. + /// Should the Firewall use Azure Supplied DNS servers. Conflicts with `dns_settings[0].dns_servers`. Defaults to `false`. /// public readonly bool? UseAzureDns; diff --git a/sdk/dotnet/Pim/Inputs/ActiveRoleAssignmentScheduleExpirationArgs.cs b/sdk/dotnet/Pim/Inputs/ActiveRoleAssignmentScheduleExpirationArgs.cs index 81994b4032..95579d9d32 100644 --- a/sdk/dotnet/Pim/Inputs/ActiveRoleAssignmentScheduleExpirationArgs.cs +++ b/sdk/dotnet/Pim/Inputs/ActiveRoleAssignmentScheduleExpirationArgs.cs @@ -13,19 +13,19 @@ namespace Pulumi.Azure.Pim.Inputs public sealed class ActiveRoleAssignmentScheduleExpirationArgs : global::Pulumi.ResourceArgs { /// - /// The duration of the role assignment in days. Conflicts with `schedule.0.expiration.0.duration_hours`,`schedule.0.expiration.0.end_date_time` Changing this forces a new Pim Active Role Assignment to be created. + /// The duration of the role assignment in days. Conflicts with `schedule[0].expiration[0].duration_hours`,`schedule[0].expiration[0].end_date_time` Changing this forces a new Pim Active Role Assignment to be created. /// [Input("durationDays")] public Input? DurationDays { get; set; } /// - /// The duration of the role assignment in hours. Conflicts with `schedule.0.expiration.0.duration_days`,`schedule.0.expiration.0.end_date_time` Changing this forces a new Pim Active Role Assignment to be created. + /// The duration of the role assignment in hours. Conflicts with `schedule[0].expiration[0].duration_days`,`schedule[0].expiration[0].end_date_time` Changing this forces a new Pim Active Role Assignment to be created. /// [Input("durationHours")] public Input? DurationHours { get; set; } /// - /// The end date time of the role assignment. Conflicts with `schedule.0.expiration.0.duration_days`,`schedule.0.expiration.0.duration_hours` Changing this forces a new Pim Active Role Assignment to be created. + /// The end date time of the role assignment. Conflicts with `schedule[0].expiration[0].duration_days`,`schedule[0].expiration[0].duration_hours` Changing this forces a new Pim Active Role Assignment to be created. /// [Input("endDateTime")] public Input? EndDateTime { get; set; } diff --git a/sdk/dotnet/Pim/Inputs/ActiveRoleAssignmentScheduleExpirationGetArgs.cs b/sdk/dotnet/Pim/Inputs/ActiveRoleAssignmentScheduleExpirationGetArgs.cs index ca61de8f7d..2b911adfbf 100644 --- a/sdk/dotnet/Pim/Inputs/ActiveRoleAssignmentScheduleExpirationGetArgs.cs +++ b/sdk/dotnet/Pim/Inputs/ActiveRoleAssignmentScheduleExpirationGetArgs.cs @@ -13,19 +13,19 @@ namespace Pulumi.Azure.Pim.Inputs public sealed class ActiveRoleAssignmentScheduleExpirationGetArgs : global::Pulumi.ResourceArgs { /// - /// The duration of the role assignment in days. Conflicts with `schedule.0.expiration.0.duration_hours`,`schedule.0.expiration.0.end_date_time` Changing this forces a new Pim Active Role Assignment to be created. + /// The duration of the role assignment in days. Conflicts with `schedule[0].expiration[0].duration_hours`,`schedule[0].expiration[0].end_date_time` Changing this forces a new Pim Active Role Assignment to be created. /// [Input("durationDays")] public Input? DurationDays { get; set; } /// - /// The duration of the role assignment in hours. Conflicts with `schedule.0.expiration.0.duration_days`,`schedule.0.expiration.0.end_date_time` Changing this forces a new Pim Active Role Assignment to be created. + /// The duration of the role assignment in hours. Conflicts with `schedule[0].expiration[0].duration_days`,`schedule[0].expiration[0].end_date_time` Changing this forces a new Pim Active Role Assignment to be created. /// [Input("durationHours")] public Input? DurationHours { get; set; } /// - /// The end date time of the role assignment. Conflicts with `schedule.0.expiration.0.duration_days`,`schedule.0.expiration.0.duration_hours` Changing this forces a new Pim Active Role Assignment to be created. + /// The end date time of the role assignment. Conflicts with `schedule[0].expiration[0].duration_days`,`schedule[0].expiration[0].duration_hours` Changing this forces a new Pim Active Role Assignment to be created. /// [Input("endDateTime")] public Input? EndDateTime { get; set; } diff --git a/sdk/dotnet/Pim/Inputs/EligibleRoleAssignmentScheduleExpirationArgs.cs b/sdk/dotnet/Pim/Inputs/EligibleRoleAssignmentScheduleExpirationArgs.cs index 09701192a1..04c2b0aec0 100644 --- a/sdk/dotnet/Pim/Inputs/EligibleRoleAssignmentScheduleExpirationArgs.cs +++ b/sdk/dotnet/Pim/Inputs/EligibleRoleAssignmentScheduleExpirationArgs.cs @@ -13,19 +13,19 @@ namespace Pulumi.Azure.Pim.Inputs public sealed class EligibleRoleAssignmentScheduleExpirationArgs : global::Pulumi.ResourceArgs { /// - /// The duration of the role assignment in days. Conflicts with `schedule.0.expiration.0.duration_hours`,`schedule.0.expiration.0.end_date_time` Changing this forces a new Pim Eligible Role Assignment to be created. + /// The duration of the role assignment in days. Conflicts with `schedule[0].expiration[0].duration_hours`,`schedule[0].expiration[0].end_date_time` Changing this forces a new Pim Eligible Role Assignment to be created. /// [Input("durationDays")] public Input? DurationDays { get; set; } /// - /// The duration of the role assignment in hours. Conflicts with `schedule.0.expiration.0.duration_days`,`schedule.0.expiration.0.end_date_time` Changing this forces a new Pim Eligible Role Assignment to be created. + /// The duration of the role assignment in hours. Conflicts with `schedule[0].expiration[0].duration_days`,`schedule[0].expiration[0].end_date_time` Changing this forces a new Pim Eligible Role Assignment to be created. /// [Input("durationHours")] public Input? DurationHours { get; set; } /// - /// The end date time of the role assignment. Conflicts with `schedule.0.expiration.0.duration_days`,`schedule.0.expiration.0.duration_hours` Changing this forces a new Pim Eligible Role Assignment to be created. + /// The end date time of the role assignment. Conflicts with `schedule[0].expiration[0].duration_days`,`schedule[0].expiration[0].duration_hours` Changing this forces a new Pim Eligible Role Assignment to be created. /// [Input("endDateTime")] public Input? EndDateTime { get; set; } diff --git a/sdk/dotnet/Pim/Inputs/EligibleRoleAssignmentScheduleExpirationGetArgs.cs b/sdk/dotnet/Pim/Inputs/EligibleRoleAssignmentScheduleExpirationGetArgs.cs index ede006a8ea..3e85a5a6c5 100644 --- a/sdk/dotnet/Pim/Inputs/EligibleRoleAssignmentScheduleExpirationGetArgs.cs +++ b/sdk/dotnet/Pim/Inputs/EligibleRoleAssignmentScheduleExpirationGetArgs.cs @@ -13,19 +13,19 @@ namespace Pulumi.Azure.Pim.Inputs public sealed class EligibleRoleAssignmentScheduleExpirationGetArgs : global::Pulumi.ResourceArgs { /// - /// The duration of the role assignment in days. Conflicts with `schedule.0.expiration.0.duration_hours`,`schedule.0.expiration.0.end_date_time` Changing this forces a new Pim Eligible Role Assignment to be created. + /// The duration of the role assignment in days. Conflicts with `schedule[0].expiration[0].duration_hours`,`schedule[0].expiration[0].end_date_time` Changing this forces a new Pim Eligible Role Assignment to be created. /// [Input("durationDays")] public Input? DurationDays { get; set; } /// - /// The duration of the role assignment in hours. Conflicts with `schedule.0.expiration.0.duration_days`,`schedule.0.expiration.0.end_date_time` Changing this forces a new Pim Eligible Role Assignment to be created. + /// The duration of the role assignment in hours. Conflicts with `schedule[0].expiration[0].duration_days`,`schedule[0].expiration[0].end_date_time` Changing this forces a new Pim Eligible Role Assignment to be created. /// [Input("durationHours")] public Input? DurationHours { get; set; } /// - /// The end date time of the role assignment. Conflicts with `schedule.0.expiration.0.duration_days`,`schedule.0.expiration.0.duration_hours` Changing this forces a new Pim Eligible Role Assignment to be created. + /// The end date time of the role assignment. Conflicts with `schedule[0].expiration[0].duration_days`,`schedule[0].expiration[0].duration_hours` Changing this forces a new Pim Eligible Role Assignment to be created. /// [Input("endDateTime")] public Input? EndDateTime { get; set; } diff --git a/sdk/dotnet/Pim/Outputs/ActiveRoleAssignmentScheduleExpiration.cs b/sdk/dotnet/Pim/Outputs/ActiveRoleAssignmentScheduleExpiration.cs index fac6418e04..ecba32ca56 100644 --- a/sdk/dotnet/Pim/Outputs/ActiveRoleAssignmentScheduleExpiration.cs +++ b/sdk/dotnet/Pim/Outputs/ActiveRoleAssignmentScheduleExpiration.cs @@ -14,15 +14,15 @@ namespace Pulumi.Azure.Pim.Outputs public sealed class ActiveRoleAssignmentScheduleExpiration { /// - /// The duration of the role assignment in days. Conflicts with `schedule.0.expiration.0.duration_hours`,`schedule.0.expiration.0.end_date_time` Changing this forces a new Pim Active Role Assignment to be created. + /// The duration of the role assignment in days. Conflicts with `schedule[0].expiration[0].duration_hours`,`schedule[0].expiration[0].end_date_time` Changing this forces a new Pim Active Role Assignment to be created. /// public readonly int? DurationDays; /// - /// The duration of the role assignment in hours. Conflicts with `schedule.0.expiration.0.duration_days`,`schedule.0.expiration.0.end_date_time` Changing this forces a new Pim Active Role Assignment to be created. + /// The duration of the role assignment in hours. Conflicts with `schedule[0].expiration[0].duration_days`,`schedule[0].expiration[0].end_date_time` Changing this forces a new Pim Active Role Assignment to be created. /// public readonly int? DurationHours; /// - /// The end date time of the role assignment. Conflicts with `schedule.0.expiration.0.duration_days`,`schedule.0.expiration.0.duration_hours` Changing this forces a new Pim Active Role Assignment to be created. + /// The end date time of the role assignment. Conflicts with `schedule[0].expiration[0].duration_days`,`schedule[0].expiration[0].duration_hours` Changing this forces a new Pim Active Role Assignment to be created. /// public readonly string? EndDateTime; diff --git a/sdk/dotnet/Pim/Outputs/EligibleRoleAssignmentScheduleExpiration.cs b/sdk/dotnet/Pim/Outputs/EligibleRoleAssignmentScheduleExpiration.cs index 9895eca9a7..ccccebe7ca 100644 --- a/sdk/dotnet/Pim/Outputs/EligibleRoleAssignmentScheduleExpiration.cs +++ b/sdk/dotnet/Pim/Outputs/EligibleRoleAssignmentScheduleExpiration.cs @@ -14,15 +14,15 @@ namespace Pulumi.Azure.Pim.Outputs public sealed class EligibleRoleAssignmentScheduleExpiration { /// - /// The duration of the role assignment in days. Conflicts with `schedule.0.expiration.0.duration_hours`,`schedule.0.expiration.0.end_date_time` Changing this forces a new Pim Eligible Role Assignment to be created. + /// The duration of the role assignment in days. Conflicts with `schedule[0].expiration[0].duration_hours`,`schedule[0].expiration[0].end_date_time` Changing this forces a new Pim Eligible Role Assignment to be created. /// public readonly int? DurationDays; /// - /// The duration of the role assignment in hours. Conflicts with `schedule.0.expiration.0.duration_days`,`schedule.0.expiration.0.end_date_time` Changing this forces a new Pim Eligible Role Assignment to be created. + /// The duration of the role assignment in hours. Conflicts with `schedule[0].expiration[0].duration_days`,`schedule[0].expiration[0].end_date_time` Changing this forces a new Pim Eligible Role Assignment to be created. /// public readonly int? DurationHours; /// - /// The end date time of the role assignment. Conflicts with `schedule.0.expiration.0.duration_days`,`schedule.0.expiration.0.duration_hours` Changing this forces a new Pim Eligible Role Assignment to be created. + /// The end date time of the role assignment. Conflicts with `schedule[0].expiration[0].duration_days`,`schedule[0].expiration[0].duration_hours` Changing this forces a new Pim Eligible Role Assignment to be created. /// public readonly string? EndDateTime; diff --git a/sdk/dotnet/PostgreSql/FlexibleServer.cs b/sdk/dotnet/PostgreSql/FlexibleServer.cs index a3217a7201..a9d8a8f6e0 100644 --- a/sdk/dotnet/PostgreSql/FlexibleServer.cs +++ b/sdk/dotnet/PostgreSql/FlexibleServer.cs @@ -95,11 +95,32 @@ namespace Pulumi.Azure.PostgreSql /// AdministratorPassword = "H@Sh1CoR3!", /// Zone = "1", /// StorageMb = 32768, + /// StorageTier = "P30", /// SkuName = "GP_Standard_D4s_v3", /// }); /// /// }); /// ``` + /// ## `storage_tier` defaults based on `storage_mb` + /// + /// | `storage_mb` | GiB | TiB | Default | Supported `storage_tier`'s | Provisioned `IOPS` | + /// |:------------:|:-----:|:---:|:-------:|:------------------------------------:|:-------------------:| + /// | 32768 | 32 | - | P4 | P4, P6, P10, P15, P20, P30, P40, P50 | 120 | + /// | 65536 | 64 | - | P6 | P6, P10, P15, P20, P30, P40, P50 | 240 | + /// | 131072 | 128 | - | P10 | P10, P15, P20, P30, P40, P50 | 500 | + /// | 262144 | 256 | - | P15 | P15, P20, P30, P40, P50 | 1,100 | + /// | 524288 | 512 | - | P20 | P20, P30, P40, P50 | 2,300 | + /// | 1048576 | 1024 | 1 | P30 | P30, P40, P50 | 5,000 | + /// | 2097152 | 2048 | 2 | P40 | P40, P50 | 7,500 | + /// | 4193280 | 4095 | 4 | P50 | P50 | 7,500 | + /// | 4194304 | 4096 | 4 | P50 | P50 | 7,500 | + /// | 8388608 | 8192 | 8 | P60 | P60, P70 | 16,000 | + /// | 16777216 | 16384 | 16 | P70 | P70, P80 | 18,000 | + /// | 33553408 | 32767 | 32 | P80 | P80 | 20,000 | + /// + /// > **Note:** Host Caching (ReadOnly and Read/Write) is supported on disk sizes less than 4194304 MiB. This means any disk that is provisioned up to 4193280 MiB can take advantage of Host Caching. Host caching is not supported for disk sizes larger than 4193280 MiB. For example, a P50 premium disk provisioned at 4193280 GiB can take advantage of Host caching while a P50 disk provisioned at 4194304 MiB cannot. Moving from a smaller disk size to a larger disk size, greater than 4193280 MiB, will cause the disk to lose the disk caching ability. + /// + /// *** /// /// ## Import /// @@ -219,7 +240,7 @@ public partial class FlexibleServer : global::Pulumi.CustomResource /// /// The ID of the private DNS zone to create the PostgreSQL Flexible Server. /// - /// > **NOTE:** There will be a breaking change from upstream service at 15th July 2021, the `private_dns_zone_id` will be required when setting a `delegated_subnet_id`. For existing flexible servers who don't want to be recreated, you need to provide the `private_dns_zone_id` to the service team to manually migrate to the specified private DNS zone. The `azure.privatedns.Zone` should end with suffix `.postgres.database.azure.com`. + /// > **Note:** There will be a breaking change from upstream service at 15th July 2021, the `private_dns_zone_id` will be required when setting a `delegated_subnet_id`. For existing flexible servers who don't want to be recreated, you need to provide the `private_dns_zone_id` to the service team to manually migrate to the specified private DNS zone. The `azure.privatedns.Zone` should end with suffix `.postgres.database.azure.com`. /// [Output("privateDnsZoneId")] public Output PrivateDnsZoneId { get; private set; } = null!; @@ -233,7 +254,7 @@ public partial class FlexibleServer : global::Pulumi.CustomResource /// /// The replication role for the PostgreSQL Flexible Server. Possible value is `None`. /// - /// > **NOTE:** The `replication_role` cannot be set while creating and only can be updated to `None` for replica server. + /// > **Note:** The `replication_role` cannot be set while creating and only can be updated to `None` for replica server. /// [Output("replicationRole")] public Output ReplicationRole { get; private set; } = null!; @@ -258,10 +279,22 @@ public partial class FlexibleServer : global::Pulumi.CustomResource /// /// The max storage allowed for the PostgreSQL Flexible Server. Possible values are `32768`, `65536`, `131072`, `262144`, `524288`, `1048576`, `2097152`, `4193280`, `4194304`, `8388608`, `16777216` and `33553408`. + /// + /// > **Note:** If the `storage_mb` field is undefined on the initial deployment of the PostgreSQL Flexible Server resource it will default to `32768`. If the `storage_mb` field has been defined and then removed, the `storage_mb` field will retain the previously defined value. + /// + /// > **Note:** The `storage_mb` can only be scaled up, for example, you can scale the `storage_mb` from `32768` to `65536`, but not from `65536` to `32768`. /// [Output("storageMb")] public Output StorageMb { get; private set; } = null!; + /// + /// The name of storage performance tier for IOPS of the PostgreSQL Flexible Server. Possible values are `P4`, `P6`, `P10`, `P15`,`P20`, `P30`,`P40`, `P50`,`P60`, `P70` or `P80`. Default value is dependant on the `storage_mb` value. Please see the `storage_tier` defaults based on `storage_mb` table below. + /// + /// > **Note:** The `storage_tier` can be scaled once every 12 hours, this restriction is in place to ensure stability and performance after any changes to your PostgreSQL Flexible Server's configuration. + /// + [Output("storageTier")] + public Output StorageTier { get; private set; } = null!; + /// /// A mapping of tags which should be assigned to the PostgreSQL Flexible Server. /// @@ -440,7 +473,7 @@ public Input? AdministratorPassword /// /// The ID of the private DNS zone to create the PostgreSQL Flexible Server. /// - /// > **NOTE:** There will be a breaking change from upstream service at 15th July 2021, the `private_dns_zone_id` will be required when setting a `delegated_subnet_id`. For existing flexible servers who don't want to be recreated, you need to provide the `private_dns_zone_id` to the service team to manually migrate to the specified private DNS zone. The `azure.privatedns.Zone` should end with suffix `.postgres.database.azure.com`. + /// > **Note:** There will be a breaking change from upstream service at 15th July 2021, the `private_dns_zone_id` will be required when setting a `delegated_subnet_id`. For existing flexible servers who don't want to be recreated, you need to provide the `private_dns_zone_id` to the service team to manually migrate to the specified private DNS zone. The `azure.privatedns.Zone` should end with suffix `.postgres.database.azure.com`. /// [Input("privateDnsZoneId")] public Input? PrivateDnsZoneId { get; set; } @@ -448,7 +481,7 @@ public Input? AdministratorPassword /// /// The replication role for the PostgreSQL Flexible Server. Possible value is `None`. /// - /// > **NOTE:** The `replication_role` cannot be set while creating and only can be updated to `None` for replica server. + /// > **Note:** The `replication_role` cannot be set while creating and only can be updated to `None` for replica server. /// [Input("replicationRole")] public Input? ReplicationRole { get; set; } @@ -473,10 +506,22 @@ public Input? AdministratorPassword /// /// The max storage allowed for the PostgreSQL Flexible Server. Possible values are `32768`, `65536`, `131072`, `262144`, `524288`, `1048576`, `2097152`, `4193280`, `4194304`, `8388608`, `16777216` and `33553408`. + /// + /// > **Note:** If the `storage_mb` field is undefined on the initial deployment of the PostgreSQL Flexible Server resource it will default to `32768`. If the `storage_mb` field has been defined and then removed, the `storage_mb` field will retain the previously defined value. + /// + /// > **Note:** The `storage_mb` can only be scaled up, for example, you can scale the `storage_mb` from `32768` to `65536`, but not from `65536` to `32768`. /// [Input("storageMb")] public Input? StorageMb { get; set; } + /// + /// The name of storage performance tier for IOPS of the PostgreSQL Flexible Server. Possible values are `P4`, `P6`, `P10`, `P15`,`P20`, `P30`,`P40`, `P50`,`P60`, `P70` or `P80`. Default value is dependant on the `storage_mb` value. Please see the `storage_tier` defaults based on `storage_mb` table below. + /// + /// > **Note:** The `storage_tier` can be scaled once every 12 hours, this restriction is in place to ensure stability and performance after any changes to your PostgreSQL Flexible Server's configuration. + /// + [Input("storageTier")] + public Input? StorageTier { get; set; } + [Input("tags")] private InputMap? _tags; @@ -625,7 +670,7 @@ public Input? AdministratorPassword /// /// The ID of the private DNS zone to create the PostgreSQL Flexible Server. /// - /// > **NOTE:** There will be a breaking change from upstream service at 15th July 2021, the `private_dns_zone_id` will be required when setting a `delegated_subnet_id`. For existing flexible servers who don't want to be recreated, you need to provide the `private_dns_zone_id` to the service team to manually migrate to the specified private DNS zone. The `azure.privatedns.Zone` should end with suffix `.postgres.database.azure.com`. + /// > **Note:** There will be a breaking change from upstream service at 15th July 2021, the `private_dns_zone_id` will be required when setting a `delegated_subnet_id`. For existing flexible servers who don't want to be recreated, you need to provide the `private_dns_zone_id` to the service team to manually migrate to the specified private DNS zone. The `azure.privatedns.Zone` should end with suffix `.postgres.database.azure.com`. /// [Input("privateDnsZoneId")] public Input? PrivateDnsZoneId { get; set; } @@ -639,7 +684,7 @@ public Input? AdministratorPassword /// /// The replication role for the PostgreSQL Flexible Server. Possible value is `None`. /// - /// > **NOTE:** The `replication_role` cannot be set while creating and only can be updated to `None` for replica server. + /// > **Note:** The `replication_role` cannot be set while creating and only can be updated to `None` for replica server. /// [Input("replicationRole")] public Input? ReplicationRole { get; set; } @@ -664,10 +709,22 @@ public Input? AdministratorPassword /// /// The max storage allowed for the PostgreSQL Flexible Server. Possible values are `32768`, `65536`, `131072`, `262144`, `524288`, `1048576`, `2097152`, `4193280`, `4194304`, `8388608`, `16777216` and `33553408`. + /// + /// > **Note:** If the `storage_mb` field is undefined on the initial deployment of the PostgreSQL Flexible Server resource it will default to `32768`. If the `storage_mb` field has been defined and then removed, the `storage_mb` field will retain the previously defined value. + /// + /// > **Note:** The `storage_mb` can only be scaled up, for example, you can scale the `storage_mb` from `32768` to `65536`, but not from `65536` to `32768`. /// [Input("storageMb")] public Input? StorageMb { get; set; } + /// + /// The name of storage performance tier for IOPS of the PostgreSQL Flexible Server. Possible values are `P4`, `P6`, `P10`, `P15`,`P20`, `P30`,`P40`, `P50`,`P60`, `P70` or `P80`. Default value is dependant on the `storage_mb` value. Please see the `storage_tier` defaults based on `storage_mb` table below. + /// + /// > **Note:** The `storage_tier` can be scaled once every 12 hours, this restriction is in place to ensure stability and performance after any changes to your PostgreSQL Flexible Server's configuration. + /// + [Input("storageTier")] + public Input? StorageTier { get; set; } + [Input("tags")] private InputMap? _tags; diff --git a/sdk/dotnet/PostgreSql/FlexibleServerDatabase.cs b/sdk/dotnet/PostgreSql/FlexibleServerDatabase.cs index e4953643b0..7355ce732d 100644 --- a/sdk/dotnet/PostgreSql/FlexibleServerDatabase.cs +++ b/sdk/dotnet/PostgreSql/FlexibleServerDatabase.cs @@ -40,7 +40,7 @@ namespace Pulumi.Azure.PostgreSql /// /// var exampleFlexibleServerDatabase = new Azure.PostgreSql.FlexibleServerDatabase("example", new() /// { - /// Name = "example-db", + /// Name = "exampledb", /// ServerId = exampleFlexibleServer.Id, /// Collation = "en_US.utf8", /// Charset = "utf8", @@ -73,7 +73,7 @@ public partial class FlexibleServerDatabase : global::Pulumi.CustomResource public Output Collation { get; private set; } = null!; /// - /// The name which should be used for this Azure PostgreSQL Flexible Server Database. Changing this forces a new Azure PostgreSQL Flexible Server Database to be created. + /// Specifies the name of the PostgreSQL Database, which needs [to be a valid PostgreSQL identifier](https://www.postgresql.org/docs/current/sql-syntax-lexical.html#SQL-SYNTAX-IDENTIFIERS). Changing this forces a new Azure PostgreSQL Flexible Server Database to be created. /// [Output("name")] public Output Name { get; private set; } = null!; @@ -143,7 +143,7 @@ public sealed class FlexibleServerDatabaseArgs : global::Pulumi.ResourceArgs public Input? Collation { get; set; } /// - /// The name which should be used for this Azure PostgreSQL Flexible Server Database. Changing this forces a new Azure PostgreSQL Flexible Server Database to be created. + /// Specifies the name of the PostgreSQL Database, which needs [to be a valid PostgreSQL identifier](https://www.postgresql.org/docs/current/sql-syntax-lexical.html#SQL-SYNTAX-IDENTIFIERS). Changing this forces a new Azure PostgreSQL Flexible Server Database to be created. /// [Input("name")] public Input? Name { get; set; } @@ -175,7 +175,7 @@ public sealed class FlexibleServerDatabaseState : global::Pulumi.ResourceArgs public Input? Collation { get; set; } /// - /// The name which should be used for this Azure PostgreSQL Flexible Server Database. Changing this forces a new Azure PostgreSQL Flexible Server Database to be created. + /// Specifies the name of the PostgreSQL Database, which needs [to be a valid PostgreSQL identifier](https://www.postgresql.org/docs/current/sql-syntax-lexical.html#SQL-SYNTAX-IDENTIFIERS). Changing this forces a new Azure PostgreSQL Flexible Server Database to be created. /// [Input("name")] public Input? Name { get; set; } diff --git a/sdk/dotnet/PostgreSql/Inputs/FlexibleServerCustomerManagedKeyArgs.cs b/sdk/dotnet/PostgreSql/Inputs/FlexibleServerCustomerManagedKeyArgs.cs index 0bef3dbda0..e235d9d7ed 100644 --- a/sdk/dotnet/PostgreSql/Inputs/FlexibleServerCustomerManagedKeyArgs.cs +++ b/sdk/dotnet/PostgreSql/Inputs/FlexibleServerCustomerManagedKeyArgs.cs @@ -21,7 +21,7 @@ public sealed class FlexibleServerCustomerManagedKeyArgs : global::Pulumi.Resour /// /// The geo backup user managed identity id for a Customer Managed Key. Should be added with `identity_ids`. It can't cross region and need identity in same region as geo backup. /// - /// > **NOTE:** `primary_user_assigned_identity_id` or `geo_backup_user_assigned_identity_id` is required when `type` is set to `UserAssigned`. + /// > **Note:** `primary_user_assigned_identity_id` or `geo_backup_user_assigned_identity_id` is required when `type` is set to `UserAssigned`. /// [Input("geoBackupUserAssignedIdentityId")] public Input? GeoBackupUserAssignedIdentityId { get; set; } @@ -29,8 +29,8 @@ public sealed class FlexibleServerCustomerManagedKeyArgs : global::Pulumi.Resour /// /// The ID of the Key Vault Key. /// - [Input("keyVaultKeyId")] - public Input? KeyVaultKeyId { get; set; } + [Input("keyVaultKeyId", required: true)] + public Input KeyVaultKeyId { get; set; } = null!; /// /// Specifies the primary user managed identity id for a Customer Managed Key. Should be added with `identity_ids`. diff --git a/sdk/dotnet/PostgreSql/Inputs/FlexibleServerCustomerManagedKeyGetArgs.cs b/sdk/dotnet/PostgreSql/Inputs/FlexibleServerCustomerManagedKeyGetArgs.cs index e65d7c0bff..d6b15f531d 100644 --- a/sdk/dotnet/PostgreSql/Inputs/FlexibleServerCustomerManagedKeyGetArgs.cs +++ b/sdk/dotnet/PostgreSql/Inputs/FlexibleServerCustomerManagedKeyGetArgs.cs @@ -21,7 +21,7 @@ public sealed class FlexibleServerCustomerManagedKeyGetArgs : global::Pulumi.Res /// /// The geo backup user managed identity id for a Customer Managed Key. Should be added with `identity_ids`. It can't cross region and need identity in same region as geo backup. /// - /// > **NOTE:** `primary_user_assigned_identity_id` or `geo_backup_user_assigned_identity_id` is required when `type` is set to `UserAssigned`. + /// > **Note:** `primary_user_assigned_identity_id` or `geo_backup_user_assigned_identity_id` is required when `type` is set to `UserAssigned`. /// [Input("geoBackupUserAssignedIdentityId")] public Input? GeoBackupUserAssignedIdentityId { get; set; } @@ -29,8 +29,8 @@ public sealed class FlexibleServerCustomerManagedKeyGetArgs : global::Pulumi.Res /// /// The ID of the Key Vault Key. /// - [Input("keyVaultKeyId")] - public Input? KeyVaultKeyId { get; set; } + [Input("keyVaultKeyId", required: true)] + public Input KeyVaultKeyId { get; set; } = null!; /// /// Specifies the primary user managed identity id for a Customer Managed Key. Should be added with `identity_ids`. diff --git a/sdk/dotnet/PostgreSql/Outputs/FlexibleServerCustomerManagedKey.cs b/sdk/dotnet/PostgreSql/Outputs/FlexibleServerCustomerManagedKey.cs index 661781e52d..2e73da01e0 100644 --- a/sdk/dotnet/PostgreSql/Outputs/FlexibleServerCustomerManagedKey.cs +++ b/sdk/dotnet/PostgreSql/Outputs/FlexibleServerCustomerManagedKey.cs @@ -20,13 +20,13 @@ public sealed class FlexibleServerCustomerManagedKey /// /// The geo backup user managed identity id for a Customer Managed Key. Should be added with `identity_ids`. It can't cross region and need identity in same region as geo backup. /// - /// > **NOTE:** `primary_user_assigned_identity_id` or `geo_backup_user_assigned_identity_id` is required when `type` is set to `UserAssigned`. + /// > **Note:** `primary_user_assigned_identity_id` or `geo_backup_user_assigned_identity_id` is required when `type` is set to `UserAssigned`. /// public readonly string? GeoBackupUserAssignedIdentityId; /// /// The ID of the Key Vault Key. /// - public readonly string? KeyVaultKeyId; + public readonly string KeyVaultKeyId; /// /// Specifies the primary user managed identity id for a Customer Managed Key. Should be added with `identity_ids`. /// @@ -38,7 +38,7 @@ private FlexibleServerCustomerManagedKey( string? geoBackupUserAssignedIdentityId, - string? keyVaultKeyId, + string keyVaultKeyId, string? primaryUserAssignedIdentityId) { diff --git a/sdk/dotnet/PrivateDns/Inputs/ResolverInboundEndpointIpConfigurationArgs.cs b/sdk/dotnet/PrivateDns/Inputs/ResolverInboundEndpointIpConfigurationArgs.cs index 290bf98080..63c1e24574 100644 --- a/sdk/dotnet/PrivateDns/Inputs/ResolverInboundEndpointIpConfigurationArgs.cs +++ b/sdk/dotnet/PrivateDns/Inputs/ResolverInboundEndpointIpConfigurationArgs.cs @@ -19,7 +19,7 @@ public sealed class ResolverInboundEndpointIpConfigurationArgs : global::Pulumi. public Input? PrivateIpAddress { get; set; } /// - /// Private IP address allocation method. Allowed value is `Dynamic`. Defaults to `Dynamic`. + /// Private IP address allocation method. Allowed value is `Dynamic` and `Static`. Defaults to `Dynamic`. /// [Input("privateIpAllocationMethod")] public Input? PrivateIpAllocationMethod { get; set; } diff --git a/sdk/dotnet/PrivateDns/Inputs/ResolverInboundEndpointIpConfigurationGetArgs.cs b/sdk/dotnet/PrivateDns/Inputs/ResolverInboundEndpointIpConfigurationGetArgs.cs index b22e527c63..bf7ceba75f 100644 --- a/sdk/dotnet/PrivateDns/Inputs/ResolverInboundEndpointIpConfigurationGetArgs.cs +++ b/sdk/dotnet/PrivateDns/Inputs/ResolverInboundEndpointIpConfigurationGetArgs.cs @@ -19,7 +19,7 @@ public sealed class ResolverInboundEndpointIpConfigurationGetArgs : global::Pulu public Input? PrivateIpAddress { get; set; } /// - /// Private IP address allocation method. Allowed value is `Dynamic`. Defaults to `Dynamic`. + /// Private IP address allocation method. Allowed value is `Dynamic` and `Static`. Defaults to `Dynamic`. /// [Input("privateIpAllocationMethod")] public Input? PrivateIpAllocationMethod { get; set; } diff --git a/sdk/dotnet/PrivateDns/Outputs/ResolverInboundEndpointIpConfiguration.cs b/sdk/dotnet/PrivateDns/Outputs/ResolverInboundEndpointIpConfiguration.cs index b4ff00cb90..4940e7ea08 100644 --- a/sdk/dotnet/PrivateDns/Outputs/ResolverInboundEndpointIpConfiguration.cs +++ b/sdk/dotnet/PrivateDns/Outputs/ResolverInboundEndpointIpConfiguration.cs @@ -18,7 +18,7 @@ public sealed class ResolverInboundEndpointIpConfiguration /// public readonly string? PrivateIpAddress; /// - /// Private IP address allocation method. Allowed value is `Dynamic`. Defaults to `Dynamic`. + /// Private IP address allocation method. Allowed value is `Dynamic` and `Static`. Defaults to `Dynamic`. /// public readonly string? PrivateIpAllocationMethod; /// diff --git a/sdk/dotnet/RecoveryServices/Inputs/VaultEncryptionArgs.cs b/sdk/dotnet/RecoveryServices/Inputs/VaultEncryptionArgs.cs index ad87b47e5f..503e6dd277 100644 --- a/sdk/dotnet/RecoveryServices/Inputs/VaultEncryptionArgs.cs +++ b/sdk/dotnet/RecoveryServices/Inputs/VaultEncryptionArgs.cs @@ -25,7 +25,7 @@ public sealed class VaultEncryptionArgs : global::Pulumi.ResourceArgs public Input KeyId { get; set; } = null!; /// - /// Indicate that system assigned identity should be used or not. Defaults to `true`. + /// Indicate that system assigned identity should be used or not. Defaults to `true`. Must be set to `false` when `user_assigned_identity_id` is set. /// /// !> **Note:** `use_system_assigned_identity` only be able to set to `false` for **new** vaults. Any vaults containing existing items registered or attempted to be registered to it are not supported. Details can be found in [the document](https://learn.microsoft.com/en-us/azure/backup/encryption-at-rest-with-cmk?tabs=portal#before-you-start) /// diff --git a/sdk/dotnet/RecoveryServices/Inputs/VaultEncryptionGetArgs.cs b/sdk/dotnet/RecoveryServices/Inputs/VaultEncryptionGetArgs.cs index c6dacee270..919cc67a11 100644 --- a/sdk/dotnet/RecoveryServices/Inputs/VaultEncryptionGetArgs.cs +++ b/sdk/dotnet/RecoveryServices/Inputs/VaultEncryptionGetArgs.cs @@ -25,7 +25,7 @@ public sealed class VaultEncryptionGetArgs : global::Pulumi.ResourceArgs public Input KeyId { get; set; } = null!; /// - /// Indicate that system assigned identity should be used or not. Defaults to `true`. + /// Indicate that system assigned identity should be used or not. Defaults to `true`. Must be set to `false` when `user_assigned_identity_id` is set. /// /// !> **Note:** `use_system_assigned_identity` only be able to set to `false` for **new** vaults. Any vaults containing existing items registered or attempted to be registered to it are not supported. Details can be found in [the document](https://learn.microsoft.com/en-us/azure/backup/encryption-at-rest-with-cmk?tabs=portal#before-you-start) /// diff --git a/sdk/dotnet/RecoveryServices/Outputs/VaultEncryption.cs b/sdk/dotnet/RecoveryServices/Outputs/VaultEncryption.cs index 40aa3b203b..c99eae0cde 100644 --- a/sdk/dotnet/RecoveryServices/Outputs/VaultEncryption.cs +++ b/sdk/dotnet/RecoveryServices/Outputs/VaultEncryption.cs @@ -22,7 +22,7 @@ public sealed class VaultEncryption /// public readonly string KeyId; /// - /// Indicate that system assigned identity should be used or not. Defaults to `true`. + /// Indicate that system assigned identity should be used or not. Defaults to `true`. Must be set to `false` when `user_assigned_identity_id` is set. /// /// !> **Note:** `use_system_assigned_identity` only be able to set to `false` for **new** vaults. Any vaults containing existing items registered or attempted to be registered to it are not supported. Details can be found in [the document](https://learn.microsoft.com/en-us/azure/backup/encryption-at-rest-with-cmk?tabs=portal#before-you-start) /// diff --git a/sdk/dotnet/Redis/Inputs/CacheRedisConfigurationArgs.cs b/sdk/dotnet/Redis/Inputs/CacheRedisConfigurationArgs.cs index e0a5e3f6d7..fd7291583f 100644 --- a/sdk/dotnet/Redis/Inputs/CacheRedisConfigurationArgs.cs +++ b/sdk/dotnet/Redis/Inputs/CacheRedisConfigurationArgs.cs @@ -60,6 +60,12 @@ public Input? AofStorageConnectionString1 } } + /// + /// Preferred auth method to communicate to storage account used for data persistence. Possible values are `SAS` and `ManagedIdentity`. Defaults to `SAS`. + /// + [Input("dataPersistenceAuthenticationMethod")] + public Input? DataPersistenceAuthenticationMethod { get; set; } + /// /// If set to `false`, the Redis instance will be accessible without authentication. Defaults to `true`. /// diff --git a/sdk/dotnet/Redis/Inputs/CacheRedisConfigurationGetArgs.cs b/sdk/dotnet/Redis/Inputs/CacheRedisConfigurationGetArgs.cs index 04e46b2217..c83d51e8c9 100644 --- a/sdk/dotnet/Redis/Inputs/CacheRedisConfigurationGetArgs.cs +++ b/sdk/dotnet/Redis/Inputs/CacheRedisConfigurationGetArgs.cs @@ -60,6 +60,12 @@ public Input? AofStorageConnectionString1 } } + /// + /// Preferred auth method to communicate to storage account used for data persistence. Possible values are `SAS` and `ManagedIdentity`. Defaults to `SAS`. + /// + [Input("dataPersistenceAuthenticationMethod")] + public Input? DataPersistenceAuthenticationMethod { get; set; } + /// /// If set to `false`, the Redis instance will be accessible without authentication. Defaults to `true`. /// diff --git a/sdk/dotnet/Redis/Outputs/CacheRedisConfiguration.cs b/sdk/dotnet/Redis/Outputs/CacheRedisConfiguration.cs index ef83c38148..2c3ef400a5 100644 --- a/sdk/dotnet/Redis/Outputs/CacheRedisConfiguration.cs +++ b/sdk/dotnet/Redis/Outputs/CacheRedisConfiguration.cs @@ -34,6 +34,10 @@ public sealed class CacheRedisConfiguration /// public readonly string? AofStorageConnectionString1; /// + /// Preferred auth method to communicate to storage account used for data persistence. Possible values are `SAS` and `ManagedIdentity`. Defaults to `SAS`. + /// + public readonly string? DataPersistenceAuthenticationMethod; + /// /// If set to `false`, the Redis instance will be accessible without authentication. Defaults to `true`. /// /// > **NOTE:** `enable_authentication` can only be set to `false` if a `subnet_id` is specified; and only works if there aren't existing instances within the subnet with `enable_authentication` set to `true`. @@ -98,6 +102,8 @@ private CacheRedisConfiguration( string? aofStorageConnectionString1, + string? dataPersistenceAuthenticationMethod, + bool? enableAuthentication, int? maxclients, @@ -126,6 +132,7 @@ private CacheRedisConfiguration( AofBackupEnabled = aofBackupEnabled; AofStorageConnectionString0 = aofStorageConnectionString0; AofStorageConnectionString1 = aofStorageConnectionString1; + DataPersistenceAuthenticationMethod = dataPersistenceAuthenticationMethod; EnableAuthentication = enableAuthentication; Maxclients = maxclients; MaxfragmentationmemoryReserved = maxfragmentationmemoryReserved; diff --git a/sdk/dotnet/Redis/Outputs/GetCacheRedisConfigurationResult.cs b/sdk/dotnet/Redis/Outputs/GetCacheRedisConfigurationResult.cs index 1f0d00932a..8f929ee8f6 100644 --- a/sdk/dotnet/Redis/Outputs/GetCacheRedisConfigurationResult.cs +++ b/sdk/dotnet/Redis/Outputs/GetCacheRedisConfigurationResult.cs @@ -16,6 +16,7 @@ public sealed class GetCacheRedisConfigurationResult public readonly bool AofBackupEnabled; public readonly string AofStorageConnectionString0; public readonly string AofStorageConnectionString1; + public readonly string DataPersistenceAuthenticationMethod; /// /// Specifies if authentication is enabled /// @@ -67,6 +68,8 @@ private GetCacheRedisConfigurationResult( string aofStorageConnectionString1, + string dataPersistenceAuthenticationMethod, + bool enableAuthentication, int maxclients, @@ -94,6 +97,7 @@ private GetCacheRedisConfigurationResult( AofBackupEnabled = aofBackupEnabled; AofStorageConnectionString0 = aofStorageConnectionString0; AofStorageConnectionString1 = aofStorageConnectionString1; + DataPersistenceAuthenticationMethod = dataPersistenceAuthenticationMethod; EnableAuthentication = enableAuthentication; Maxclients = maxclients; MaxfragmentationmemoryReserved = maxfragmentationmemoryReserved; diff --git a/sdk/dotnet/ServiceBus/GetNamespace.cs b/sdk/dotnet/ServiceBus/GetNamespace.cs index 6be9844d72..847723517e 100644 --- a/sdk/dotnet/ServiceBus/GetNamespace.cs +++ b/sdk/dotnet/ServiceBus/GetNamespace.cs @@ -158,6 +158,10 @@ public sealed class GetNamespaceResult /// public readonly string Location; public readonly string Name; + /// + /// The messaging partitions of the ServiceBus Namespace. + /// + public readonly int PremiumMessagingPartitions; public readonly string ResourceGroupName; /// /// The Tier used for the ServiceBus Namespace. @@ -192,6 +196,8 @@ private GetNamespaceResult( string name, + int premiumMessagingPartitions, + string resourceGroupName, string sku, @@ -209,6 +215,7 @@ private GetNamespaceResult( Id = id; Location = location; Name = name; + PremiumMessagingPartitions = premiumMessagingPartitions; ResourceGroupName = resourceGroupName; Sku = sku; Tags = tags; diff --git a/sdk/dotnet/ServiceBus/Namespace.cs b/sdk/dotnet/ServiceBus/Namespace.cs index 464cfa81b4..135ed74899 100644 --- a/sdk/dotnet/ServiceBus/Namespace.cs +++ b/sdk/dotnet/ServiceBus/Namespace.cs @@ -132,6 +132,14 @@ public partial class Namespace : global::Pulumi.CustomResource [Output("networkRuleSet")] public Output NetworkRuleSet { get; private set; } = null!; + /// + /// Specifies the number messaging partitions. Only valid when `sku` is `Premium` and the minimum number is `1`. Possible values include `0`, `1`, `2`, and `4`. Defaults to `0` for Standard, Basic namespace. Changing this forces a new resource to be created. + /// + /// > **Note:** It's not possible to change the partitioning option on any existing namespace. The number of partitions can only be set during namespace creation. Please check the doc https://learn.microsoft.com/en-us/azure/service-bus-messaging/enable-partitions-premium for more feature restrictions. + /// + [Output("premiumMessagingPartitions")] + public Output PremiumMessagingPartitions { get; private set; } = null!; + /// /// Is public network access enabled for the Service Bus Namespace? Defaults to `true`. /// @@ -268,6 +276,14 @@ public sealed class NamespaceArgs : global::Pulumi.ResourceArgs [Input("networkRuleSet")] public Input? NetworkRuleSet { get; set; } + /// + /// Specifies the number messaging partitions. Only valid when `sku` is `Premium` and the minimum number is `1`. Possible values include `0`, `1`, `2`, and `4`. Defaults to `0` for Standard, Basic namespace. Changing this forces a new resource to be created. + /// + /// > **Note:** It's not possible to change the partitioning option on any existing namespace. The number of partitions can only be set during namespace creation. Please check the doc https://learn.microsoft.com/en-us/azure/service-bus-messaging/enable-partitions-premium for more feature restrictions. + /// + [Input("premiumMessagingPartitions")] + public Input? PremiumMessagingPartitions { get; set; } + /// /// Is public network access enabled for the Service Bus Namespace? Defaults to `true`. /// @@ -431,6 +447,14 @@ public Input? DefaultSecondaryKey [Input("networkRuleSet")] public Input? NetworkRuleSet { get; set; } + /// + /// Specifies the number messaging partitions. Only valid when `sku` is `Premium` and the minimum number is `1`. Possible values include `0`, `1`, `2`, and `4`. Defaults to `0` for Standard, Basic namespace. Changing this forces a new resource to be created. + /// + /// > **Note:** It's not possible to change the partitioning option on any existing namespace. The number of partitions can only be set during namespace creation. Please check the doc https://learn.microsoft.com/en-us/azure/service-bus-messaging/enable-partitions-premium for more feature restrictions. + /// + [Input("premiumMessagingPartitions")] + public Input? PremiumMessagingPartitions { get; set; } + /// /// Is public network access enabled for the Service Bus Namespace? Defaults to `true`. /// diff --git a/sdk/dotnet/ServiceBus/Topic.cs b/sdk/dotnet/ServiceBus/Topic.cs index b681b48856..a0a421d0d7 100644 --- a/sdk/dotnet/ServiceBus/Topic.cs +++ b/sdk/dotnet/ServiceBus/Topic.cs @@ -129,9 +129,7 @@ public partial class Topic : global::Pulumi.CustomResource public Output NamespaceName { get; private set; } = null!; /// - /// Boolean flag which controls whether Changing this forces a new resource to be created. - /// the Topic requires duplicate detection. Defaults to false. Changing this forces - /// a new resource to be created. + /// Boolean flag which controls whether the Topic requires duplicate detection. Defaults to false. Changing this forcesa new resource to be created. /// [Output("requiresDuplicateDetection")] public Output RequiresDuplicateDetection { get; private set; } = null!; @@ -264,9 +262,7 @@ public sealed class TopicArgs : global::Pulumi.ResourceArgs public Input NamespaceId { get; set; } = null!; /// - /// Boolean flag which controls whether Changing this forces a new resource to be created. - /// the Topic requires duplicate detection. Defaults to false. Changing this forces - /// a new resource to be created. + /// Boolean flag which controls whether the Topic requires duplicate detection. Defaults to false. Changing this forcesa new resource to be created. /// [Input("requiresDuplicateDetection")] public Input? RequiresDuplicateDetection { get; set; } @@ -357,9 +353,7 @@ public sealed class TopicState : global::Pulumi.ResourceArgs public Input? NamespaceName { get; set; } /// - /// Boolean flag which controls whether Changing this forces a new resource to be created. - /// the Topic requires duplicate detection. Defaults to false. Changing this forces - /// a new resource to be created. + /// Boolean flag which controls whether the Topic requires duplicate detection. Defaults to false. Changing this forcesa new resource to be created. /// [Input("requiresDuplicateDetection")] public Input? RequiresDuplicateDetection { get; set; } diff --git a/sdk/dotnet/Storage/GetTableEntities.cs b/sdk/dotnet/Storage/GetTableEntities.cs new file mode 100644 index 0000000000..259da596f6 --- /dev/null +++ b/sdk/dotnet/Storage/GetTableEntities.cs @@ -0,0 +1,191 @@ +// *** 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.Storage +{ + public static class GetTableEntities + { + /// + /// Use this data source to access information about an existing Storage Table Entity. + /// + /// {{% examples %}} + /// ## Example Usage + /// {{% example %}} + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Azure = Pulumi.Azure; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var example = Azure.Storage.GetTableEntities.Invoke(new() + /// { + /// TableName = "example-table-name", + /// StorageAccountName = "example-storage-account-name", + /// Filter = "PartitionKey eq 'example'", + /// }); + /// + /// }); + /// ``` + /// {{% /example %}} + /// {{% /examples %}} + /// + public static Task InvokeAsync(GetTableEntitiesArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("azure:storage/getTableEntities:getTableEntities", args ?? new GetTableEntitiesArgs(), options.WithDefaults()); + + /// + /// Use this data source to access information about an existing Storage Table Entity. + /// + /// {{% examples %}} + /// ## Example Usage + /// {{% example %}} + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Azure = Pulumi.Azure; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var example = Azure.Storage.GetTableEntities.Invoke(new() + /// { + /// TableName = "example-table-name", + /// StorageAccountName = "example-storage-account-name", + /// Filter = "PartitionKey eq 'example'", + /// }); + /// + /// }); + /// ``` + /// {{% /example %}} + /// {{% /examples %}} + /// + public static Output Invoke(GetTableEntitiesInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("azure:storage/getTableEntities:getTableEntities", args ?? new GetTableEntitiesInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetTableEntitiesArgs : global::Pulumi.InvokeArgs + { + /// + /// The filter used to retrieve the entities. + /// + [Input("filter", required: true)] + public string Filter { get; set; } = null!; + + [Input("selects")] + private List? _selects; + + /// + /// A list of properties to select from the returned Storage Table Entities. + /// + public List Selects + { + get => _selects ?? (_selects = new List()); + set => _selects = value; + } + + /// + /// The name of the Storage Account where the Table exists. + /// + [Input("storageAccountName", required: true)] + public string StorageAccountName { get; set; } = null!; + + /// + /// The name of the Table. + /// + [Input("tableName", required: true)] + public string TableName { get; set; } = null!; + + public GetTableEntitiesArgs() + { + } + public static new GetTableEntitiesArgs Empty => new GetTableEntitiesArgs(); + } + + public sealed class GetTableEntitiesInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// The filter used to retrieve the entities. + /// + [Input("filter", required: true)] + public Input Filter { get; set; } = null!; + + [Input("selects")] + private InputList? _selects; + + /// + /// A list of properties to select from the returned Storage Table Entities. + /// + public InputList Selects + { + get => _selects ?? (_selects = new InputList()); + set => _selects = value; + } + + /// + /// The name of the Storage Account where the Table exists. + /// + [Input("storageAccountName", required: true)] + public Input StorageAccountName { get; set; } = null!; + + /// + /// The name of the Table. + /// + [Input("tableName", required: true)] + public Input TableName { get; set; } = null!; + + public GetTableEntitiesInvokeArgs() + { + } + public static new GetTableEntitiesInvokeArgs Empty => new GetTableEntitiesInvokeArgs(); + } + + + [OutputType] + public sealed class GetTableEntitiesResult + { + public readonly string Filter; + /// + /// The provider-assigned unique ID for this managed resource. + /// + public readonly string Id; + /// + /// A list of `items` blocks as defined below. + /// + public readonly ImmutableArray Items; + public readonly ImmutableArray Selects; + public readonly string StorageAccountName; + public readonly string TableName; + + [OutputConstructor] + private GetTableEntitiesResult( + string filter, + + string id, + + ImmutableArray items, + + ImmutableArray selects, + + string storageAccountName, + + string tableName) + { + Filter = filter; + Id = id; + Items = items; + Selects = selects; + StorageAccountName = storageAccountName; + TableName = tableName; + } + } +} diff --git a/sdk/dotnet/Storage/Outputs/GetTableEntitiesItemResult.cs b/sdk/dotnet/Storage/Outputs/GetTableEntitiesItemResult.cs new file mode 100644 index 0000000000..405ac16bc5 --- /dev/null +++ b/sdk/dotnet/Storage/Outputs/GetTableEntitiesItemResult.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.Storage.Outputs +{ + + [OutputType] + public sealed class GetTableEntitiesItemResult + { + /// + /// Partition Key of the Entity. + /// + public readonly string PartitionKey; + /// + /// A map of any additional properties in key-value format. + /// + public readonly ImmutableDictionary Properties; + /// + /// Row Key of the Entity. + /// + public readonly string RowKey; + + [OutputConstructor] + private GetTableEntitiesItemResult( + string partitionKey, + + ImmutableDictionary properties, + + string rowKey) + { + PartitionKey = partitionKey; + Properties = properties; + RowKey = rowKey; + } + } +} diff --git a/sdk/dotnet/Synapse/Inputs/WorkspaceCustomerManagedKeyArgs.cs b/sdk/dotnet/Synapse/Inputs/WorkspaceCustomerManagedKeyArgs.cs index 192dd612fb..2ebcf2b2f9 100644 --- a/sdk/dotnet/Synapse/Inputs/WorkspaceCustomerManagedKeyArgs.cs +++ b/sdk/dotnet/Synapse/Inputs/WorkspaceCustomerManagedKeyArgs.cs @@ -24,6 +24,12 @@ public sealed class WorkspaceCustomerManagedKeyArgs : global::Pulumi.ResourceArg [Input("keyVersionlessId", required: true)] public Input KeyVersionlessId { get; set; } = null!; + /// + /// The User Assigned Identity ID to be used for accessing the Customer Managed Key for encryption. + /// + [Input("userAssignedIdentityId")] + public Input? UserAssignedIdentityId { get; set; } + public WorkspaceCustomerManagedKeyArgs() { } diff --git a/sdk/dotnet/Synapse/Inputs/WorkspaceCustomerManagedKeyGetArgs.cs b/sdk/dotnet/Synapse/Inputs/WorkspaceCustomerManagedKeyGetArgs.cs index 7301e469b9..f8ce57c5f7 100644 --- a/sdk/dotnet/Synapse/Inputs/WorkspaceCustomerManagedKeyGetArgs.cs +++ b/sdk/dotnet/Synapse/Inputs/WorkspaceCustomerManagedKeyGetArgs.cs @@ -24,6 +24,12 @@ public sealed class WorkspaceCustomerManagedKeyGetArgs : global::Pulumi.Resource [Input("keyVersionlessId", required: true)] public Input KeyVersionlessId { get; set; } = null!; + /// + /// The User Assigned Identity ID to be used for accessing the Customer Managed Key for encryption. + /// + [Input("userAssignedIdentityId")] + public Input? UserAssignedIdentityId { get; set; } + public WorkspaceCustomerManagedKeyGetArgs() { } diff --git a/sdk/dotnet/Synapse/Outputs/WorkspaceCustomerManagedKey.cs b/sdk/dotnet/Synapse/Outputs/WorkspaceCustomerManagedKey.cs index 17f1133773..2798512e01 100644 --- a/sdk/dotnet/Synapse/Outputs/WorkspaceCustomerManagedKey.cs +++ b/sdk/dotnet/Synapse/Outputs/WorkspaceCustomerManagedKey.cs @@ -21,15 +21,22 @@ public sealed class WorkspaceCustomerManagedKey /// The Azure Key Vault Key Versionless ID to be used as the Customer Managed Key (CMK) for double encryption (e.g. `https://example-keyvault.vault.azure.net/type/cmk/`). /// public readonly string KeyVersionlessId; + /// + /// The User Assigned Identity ID to be used for accessing the Customer Managed Key for encryption. + /// + public readonly string? UserAssignedIdentityId; [OutputConstructor] private WorkspaceCustomerManagedKey( string? keyName, - string keyVersionlessId) + string keyVersionlessId, + + string? userAssignedIdentityId) { KeyName = keyName; KeyVersionlessId = keyVersionlessId; + UserAssignedIdentityId = userAssignedIdentityId; } } } diff --git a/sdk/dotnet/Synapse/Workspace.cs b/sdk/dotnet/Synapse/Workspace.cs index 945b21298a..29c2ee19f6 100644 --- a/sdk/dotnet/Synapse/Workspace.cs +++ b/sdk/dotnet/Synapse/Workspace.cs @@ -211,7 +211,7 @@ namespace Pulumi.Azure.Synapse public partial class Workspace : global::Pulumi.CustomResource { /// - /// An `aad_admin` block as defined below. Conflicts with `customer_managed_key`. + /// An `aad_admin` block as defined below. /// [Output("aadAdmin")] public Output AadAdmin { get; private set; } = null!; @@ -241,7 +241,7 @@ public partial class Workspace : global::Pulumi.CustomResource public Output> ConnectivityEndpoints { get; private set; } = null!; /// - /// A `customer_managed_key` block as defined below. Conflicts with `aad_admin`. + /// A `customer_managed_key` block as defined below. /// [Output("customerManagedKey")] public Output CustomerManagedKey { get; private set; } = null!; @@ -399,7 +399,7 @@ public static Workspace Get(string name, Input id, WorkspaceState? state public sealed class WorkspaceArgs : global::Pulumi.ResourceArgs { /// - /// An `aad_admin` block as defined below. Conflicts with `customer_managed_key`. + /// An `aad_admin` block as defined below. /// [Input("aadAdmin")] public Input? AadAdmin { get; set; } @@ -423,7 +423,7 @@ public sealed class WorkspaceArgs : global::Pulumi.ResourceArgs public Input? ComputeSubnetId { get; set; } /// - /// A `customer_managed_key` block as defined below. Conflicts with `aad_admin`. + /// A `customer_managed_key` block as defined below. /// [Input("customerManagedKey")] public Input? CustomerManagedKey { get; set; } @@ -561,7 +561,7 @@ public WorkspaceArgs() public sealed class WorkspaceState : global::Pulumi.ResourceArgs { /// - /// An `aad_admin` block as defined below. Conflicts with `customer_managed_key`. + /// An `aad_admin` block as defined below. /// [Input("aadAdmin")] public Input? AadAdmin { get; set; } @@ -597,7 +597,7 @@ public InputMap ConnectivityEndpoints } /// - /// A `customer_managed_key` block as defined below. Conflicts with `aad_admin`. + /// A `customer_managed_key` block as defined below. /// [Input("customerManagedKey")] public Input? CustomerManagedKey { get; set; } diff --git a/sdk/dotnet/SystemCenter/README.md b/sdk/dotnet/SystemCenter/README.md new file mode 100644 index 0000000000..286e13b248 --- /dev/null +++ b/sdk/dotnet/SystemCenter/README.md @@ -0,0 +1 @@ +A Pulumi package for creating and managing Microsoft Azure cloud resources, based on the Terraform azurerm provider. We recommend using the [Azure Native provider](https://github.com/pulumi/pulumi-azure-native) to provision Azure infrastructure. Azure Native provides complete coverage of Azure resources and same-day access to new resources and resource updates. diff --git a/sdk/dotnet/SystemCenter/VirtualMachineManagerServer.cs b/sdk/dotnet/SystemCenter/VirtualMachineManagerServer.cs new file mode 100644 index 0000000000..d850e46035 --- /dev/null +++ b/sdk/dotnet/SystemCenter/VirtualMachineManagerServer.cs @@ -0,0 +1,317 @@ +// *** 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.SystemCenter +{ + /// + /// Manages a System Center Virtual Machine Manager Server. + /// + /// > **Note:** By request of the service team the provider no longer automatically registering the `Microsoft.ScVmm` Resource Provider for this resource. To register it you can run `az provider register --namespace Microsoft.ScVmm`. + /// + /// > **Note:** This resource depends on an existing `System Center Virtual Machine Manager Host Machine`, `Arc Resource Bridge` and `Custom Location`. Installing and configuring these dependencies is outside the scope of this document. See [Virtual Machine Manager documentation](https://learn.microsoft.com/en-us/system-center/vmm/?view=sc-vmm-2022) and [Install VMM](https://learn.microsoft.com/en-us/system-center/vmm/install?view=sc-vmm-2022) for more details of `System Center Virtual Machine Manager Host Machine`. See [What is Azure Arc resource bridge](https://learn.microsoft.com/en-us/azure/azure-arc/resource-bridge/overview) and [Overview of Arc-enabled System Center Virtual Machine Manager](https://learn.microsoft.com/en-us/azure/azure-arc/system-center-virtual-machine-manager/overview) for more details of `Arc Resource Bridge/Appliance`. See [Create and manage custom locations on Azure Arc-enabled Kubernetes](https://learn.microsoft.com/en-us/azure/azure-arc/kubernetes/custom-locations) for more details of `Custom Location`. If you encounter issues while configuring, we'd recommend opening a ticket with Microsoft Support. + /// + /// ## 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 exampleVirtualMachineManagerServer = new Azure.SystemCenter.VirtualMachineManagerServer("example", new() + /// { + /// Name = "example-scvmmms", + /// ResourceGroupName = example.Name, + /// Location = example.Location, + /// CustomLocationId = "/subscriptions/12345678-1234-9876-4563-123456789012/resourceGroups/resGroup1/providers/Microsoft.ExtendedLocation/customLocations/customLocation1", + /// Fqdn = "example.labtest", + /// Username = "testUser", + /// Password = "H@Sh1CoR3!", + /// }); + /// + /// }); + /// ``` + /// + /// ## Import + /// + /// System Center Virtual Machine Manager Servers can be imported using the `resource id`, e.g. + /// + /// ```sh + /// $ pulumi import azure:systemcenter/virtualMachineManagerServer:VirtualMachineManagerServer example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup1/providers/Microsoft.ScVmm/vmmServers/vmmServer1 + /// ``` + /// + [AzureResourceType("azure:systemcenter/virtualMachineManagerServer:VirtualMachineManagerServer")] + public partial class VirtualMachineManagerServer : global::Pulumi.CustomResource + { + /// + /// The ID of the Custom Location for the System Center Virtual Machine Manager Server. Changing this forces a new resource to be created. + /// + [Output("customLocationId")] + public Output CustomLocationId { get; private set; } = null!; + + /// + /// The FQDN of the System Center Virtual Machine Manager Server. Changing this forces a new resource to be created. + /// + [Output("fqdn")] + public Output Fqdn { get; private set; } = null!; + + /// + /// The Azure Region where the System Center Virtual Machine Manager Server should exist. Changing this forces a new resource to be created. + /// + [Output("location")] + public Output Location { get; private set; } = null!; + + /// + /// The name of the System Center Virtual Machine Manager Server. Changing this forces a new resource to be created. + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + /// + /// The password that is used to connect to the System Center Virtual Machine Manager Server. Changing this forces a new resource to be created. + /// + [Output("password")] + public Output Password { get; private set; } = null!; + + /// + /// The port on which the System Center Virtual Machine Manager Server is listening. Possible values are between `1` and `65535`. Changing this forces a new resource to be created. + /// + [Output("port")] + public Output Port { get; private set; } = null!; + + /// + /// The name of the Resource Group where the System Center Virtual Machine Manager 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 System Center Virtual Machine Manager Server. + /// + [Output("tags")] + public Output?> Tags { get; private set; } = null!; + + /// + /// The username that is used to connect to the System Center Virtual Machine Manager Server. Changing this forces a new resource to be created. + /// + [Output("username")] + public Output Username { get; private set; } = null!; + + + /// + /// Create a VirtualMachineManagerServer 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 VirtualMachineManagerServer(string name, VirtualMachineManagerServerArgs args, CustomResourceOptions? options = null) + : base("azure:systemcenter/virtualMachineManagerServer:VirtualMachineManagerServer", name, args ?? new VirtualMachineManagerServerArgs(), MakeResourceOptions(options, "")) + { + } + + private VirtualMachineManagerServer(string name, Input id, VirtualMachineManagerServerState? state = null, CustomResourceOptions? options = null) + : base("azure:systemcenter/virtualMachineManagerServer:VirtualMachineManagerServer", name, state, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + AdditionalSecretOutputs = + { + "password", + }, + }; + 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 VirtualMachineManagerServer 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 VirtualMachineManagerServer Get(string name, Input id, VirtualMachineManagerServerState? state = null, CustomResourceOptions? options = null) + { + return new VirtualMachineManagerServer(name, id, state, options); + } + } + + public sealed class VirtualMachineManagerServerArgs : global::Pulumi.ResourceArgs + { + /// + /// The ID of the Custom Location for the System Center Virtual Machine Manager Server. Changing this forces a new resource to be created. + /// + [Input("customLocationId", required: true)] + public Input CustomLocationId { get; set; } = null!; + + /// + /// The FQDN of the System Center Virtual Machine Manager Server. Changing this forces a new resource to be created. + /// + [Input("fqdn", required: true)] + public Input Fqdn { get; set; } = null!; + + /// + /// The Azure Region where the System Center Virtual Machine Manager Server should exist. Changing this forces a new resource to be created. + /// + [Input("location")] + public Input? Location { get; set; } + + /// + /// The name of the System Center Virtual Machine Manager Server. Changing this forces a new resource to be created. + /// + [Input("name")] + public Input? Name { get; set; } + + [Input("password", required: true)] + private Input? _password; + + /// + /// The password that is used to connect to the System Center Virtual Machine Manager Server. Changing this forces a new resource to be created. + /// + public Input? Password + { + get => _password; + set + { + var emptySecret = Output.CreateSecret(0); + _password = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1); + } + } + + /// + /// The port on which the System Center Virtual Machine Manager Server is listening. Possible values are between `1` and `65535`. Changing this forces a new resource to be created. + /// + [Input("port")] + public Input? Port { get; set; } + + /// + /// The name of the Resource Group where the System Center Virtual Machine Manager 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 System Center Virtual Machine Manager Server. + /// + public InputMap Tags + { + get => _tags ?? (_tags = new InputMap()); + set => _tags = value; + } + + /// + /// The username that is used to connect to the System Center Virtual Machine Manager Server. Changing this forces a new resource to be created. + /// + [Input("username", required: true)] + public Input Username { get; set; } = null!; + + public VirtualMachineManagerServerArgs() + { + } + public static new VirtualMachineManagerServerArgs Empty => new VirtualMachineManagerServerArgs(); + } + + public sealed class VirtualMachineManagerServerState : global::Pulumi.ResourceArgs + { + /// + /// The ID of the Custom Location for the System Center Virtual Machine Manager Server. Changing this forces a new resource to be created. + /// + [Input("customLocationId")] + public Input? CustomLocationId { get; set; } + + /// + /// The FQDN of the System Center Virtual Machine Manager Server. Changing this forces a new resource to be created. + /// + [Input("fqdn")] + public Input? Fqdn { get; set; } + + /// + /// The Azure Region where the System Center Virtual Machine Manager Server should exist. Changing this forces a new resource to be created. + /// + [Input("location")] + public Input? Location { get; set; } + + /// + /// The name of the System Center Virtual Machine Manager Server. Changing this forces a new resource to be created. + /// + [Input("name")] + public Input? Name { get; set; } + + [Input("password")] + private Input? _password; + + /// + /// The password that is used to connect to the System Center Virtual Machine Manager Server. Changing this forces a new resource to be created. + /// + public Input? Password + { + get => _password; + set + { + var emptySecret = Output.CreateSecret(0); + _password = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1); + } + } + + /// + /// The port on which the System Center Virtual Machine Manager Server is listening. Possible values are between `1` and `65535`. Changing this forces a new resource to be created. + /// + [Input("port")] + public Input? Port { get; set; } + + /// + /// The name of the Resource Group where the System Center Virtual Machine Manager 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 System Center Virtual Machine Manager Server. + /// + public InputMap Tags + { + get => _tags ?? (_tags = new InputMap()); + set => _tags = value; + } + + /// + /// The username that is used to connect to the System Center Virtual Machine Manager Server. Changing this forces a new resource to be created. + /// + [Input("username")] + public Input? Username { get; set; } + + public VirtualMachineManagerServerState() + { + } + public static new VirtualMachineManagerServerState Empty => new VirtualMachineManagerServerState(); + } +} diff --git a/sdk/go/azure/appplatform/pulumiTypes.go b/sdk/go/azure/appplatform/pulumiTypes.go index ee62bc63c8..2cfded3309 100644 --- a/sdk/go/azure/appplatform/pulumiTypes.go +++ b/sdk/go/azure/appplatform/pulumiTypes.go @@ -2258,7 +2258,7 @@ func (o SpringCloudContainerDeploymentQuotaPtrOutput) Memory() pulumi.StringPtrO } type SpringCloudCustomizedAcceleratorGitRepository struct { - // A `basicAuth` block as defined below. Conflicts with `git_repository.0.ssh_auth`. Changing this forces a new Spring Cloud Customized Accelerator to be created. + // A `basicAuth` block as defined below. Conflicts with `git_repository[0].ssh_auth`. Changing this forces a new Spring Cloud Customized Accelerator to be created. BasicAuth *SpringCloudCustomizedAcceleratorGitRepositoryBasicAuth `pulumi:"basicAuth"` // Specifies the Git repository branch to be used. Branch *string `pulumi:"branch"` @@ -2272,7 +2272,7 @@ type SpringCloudCustomizedAcceleratorGitRepository struct { IntervalInSeconds *int `pulumi:"intervalInSeconds"` // Specifies the path under the git repository to be treated as the root directory of the accelerator or the fragment (depending on `acceleratorType`). Path *string `pulumi:"path"` - // A `sshAuth` block as defined below. Conflicts with `git_repository.0.basic_auth`. Changing this forces a new Spring Cloud Customized Accelerator to be created. + // A `sshAuth` block as defined below. Conflicts with `git_repository[0].basic_auth`. Changing this forces a new Spring Cloud Customized Accelerator to be created. SshAuth *SpringCloudCustomizedAcceleratorGitRepositorySshAuth `pulumi:"sshAuth"` // Specifies Git repository URL for the accelerator. Url string `pulumi:"url"` @@ -2290,7 +2290,7 @@ type SpringCloudCustomizedAcceleratorGitRepositoryInput interface { } type SpringCloudCustomizedAcceleratorGitRepositoryArgs struct { - // A `basicAuth` block as defined below. Conflicts with `git_repository.0.ssh_auth`. Changing this forces a new Spring Cloud Customized Accelerator to be created. + // A `basicAuth` block as defined below. Conflicts with `git_repository[0].ssh_auth`. Changing this forces a new Spring Cloud Customized Accelerator to be created. BasicAuth SpringCloudCustomizedAcceleratorGitRepositoryBasicAuthPtrInput `pulumi:"basicAuth"` // Specifies the Git repository branch to be used. Branch pulumi.StringPtrInput `pulumi:"branch"` @@ -2304,7 +2304,7 @@ type SpringCloudCustomizedAcceleratorGitRepositoryArgs struct { IntervalInSeconds pulumi.IntPtrInput `pulumi:"intervalInSeconds"` // Specifies the path under the git repository to be treated as the root directory of the accelerator or the fragment (depending on `acceleratorType`). Path pulumi.StringPtrInput `pulumi:"path"` - // A `sshAuth` block as defined below. Conflicts with `git_repository.0.basic_auth`. Changing this forces a new Spring Cloud Customized Accelerator to be created. + // A `sshAuth` block as defined below. Conflicts with `git_repository[0].basic_auth`. Changing this forces a new Spring Cloud Customized Accelerator to be created. SshAuth SpringCloudCustomizedAcceleratorGitRepositorySshAuthPtrInput `pulumi:"sshAuth"` // Specifies Git repository URL for the accelerator. Url pulumi.StringInput `pulumi:"url"` @@ -2387,7 +2387,7 @@ func (o SpringCloudCustomizedAcceleratorGitRepositoryOutput) ToSpringCloudCustom }).(SpringCloudCustomizedAcceleratorGitRepositoryPtrOutput) } -// A `basicAuth` block as defined below. Conflicts with `git_repository.0.ssh_auth`. Changing this forces a new Spring Cloud Customized Accelerator to be created. +// A `basicAuth` block as defined below. Conflicts with `git_repository[0].ssh_auth`. Changing this forces a new Spring Cloud Customized Accelerator to be created. func (o SpringCloudCustomizedAcceleratorGitRepositoryOutput) BasicAuth() SpringCloudCustomizedAcceleratorGitRepositoryBasicAuthPtrOutput { return o.ApplyT(func(v SpringCloudCustomizedAcceleratorGitRepository) *SpringCloudCustomizedAcceleratorGitRepositoryBasicAuth { return v.BasicAuth @@ -2424,7 +2424,7 @@ func (o SpringCloudCustomizedAcceleratorGitRepositoryOutput) Path() pulumi.Strin return o.ApplyT(func(v SpringCloudCustomizedAcceleratorGitRepository) *string { return v.Path }).(pulumi.StringPtrOutput) } -// A `sshAuth` block as defined below. Conflicts with `git_repository.0.basic_auth`. Changing this forces a new Spring Cloud Customized Accelerator to be created. +// A `sshAuth` block as defined below. Conflicts with `git_repository[0].basic_auth`. Changing this forces a new Spring Cloud Customized Accelerator to be created. func (o SpringCloudCustomizedAcceleratorGitRepositoryOutput) SshAuth() SpringCloudCustomizedAcceleratorGitRepositorySshAuthPtrOutput { return o.ApplyT(func(v SpringCloudCustomizedAcceleratorGitRepository) *SpringCloudCustomizedAcceleratorGitRepositorySshAuth { return v.SshAuth @@ -2460,7 +2460,7 @@ func (o SpringCloudCustomizedAcceleratorGitRepositoryPtrOutput) Elem() SpringClo }).(SpringCloudCustomizedAcceleratorGitRepositoryOutput) } -// A `basicAuth` block as defined below. Conflicts with `git_repository.0.ssh_auth`. Changing this forces a new Spring Cloud Customized Accelerator to be created. +// A `basicAuth` block as defined below. Conflicts with `git_repository[0].ssh_auth`. Changing this forces a new Spring Cloud Customized Accelerator to be created. func (o SpringCloudCustomizedAcceleratorGitRepositoryPtrOutput) BasicAuth() SpringCloudCustomizedAcceleratorGitRepositoryBasicAuthPtrOutput { return o.ApplyT(func(v *SpringCloudCustomizedAcceleratorGitRepository) *SpringCloudCustomizedAcceleratorGitRepositoryBasicAuth { if v == nil { @@ -2530,7 +2530,7 @@ func (o SpringCloudCustomizedAcceleratorGitRepositoryPtrOutput) Path() pulumi.St }).(pulumi.StringPtrOutput) } -// A `sshAuth` block as defined below. Conflicts with `git_repository.0.basic_auth`. Changing this forces a new Spring Cloud Customized Accelerator to be created. +// A `sshAuth` block as defined below. Conflicts with `git_repository[0].basic_auth`. Changing this forces a new Spring Cloud Customized Accelerator to be created. func (o SpringCloudCustomizedAcceleratorGitRepositoryPtrOutput) SshAuth() SpringCloudCustomizedAcceleratorGitRepositorySshAuthPtrOutput { return o.ApplyT(func(v *SpringCloudCustomizedAcceleratorGitRepository) *SpringCloudCustomizedAcceleratorGitRepositorySshAuth { if v == nil { diff --git a/sdk/go/azure/appplatform/springCloudConfigurationService.go b/sdk/go/azure/appplatform/springCloudConfigurationService.go index 713007537c..85938ea316 100644 --- a/sdk/go/azure/appplatform/springCloudConfigurationService.go +++ b/sdk/go/azure/appplatform/springCloudConfigurationService.go @@ -91,6 +91,8 @@ type SpringCloudConfigurationService struct { Generation pulumi.StringPtrOutput `pulumi:"generation"` // The name which should be used for this Spring Cloud Configuration Service. The only possible value is `default`. Changing this forces a new Spring Cloud Configuration Service to be created. Name pulumi.StringOutput `pulumi:"name"` + // Specifies how often to check repository updates. Minimum value is 0. + RefreshIntervalInSeconds pulumi.IntPtrOutput `pulumi:"refreshIntervalInSeconds"` // One or more `repository` blocks as defined below. Repositories SpringCloudConfigurationServiceRepositoryArrayOutput `pulumi:"repositories"` // The ID of the Spring Cloud Service. Changing this forces a new Spring Cloud Configuration Service to be created. @@ -134,6 +136,8 @@ type springCloudConfigurationServiceState struct { Generation *string `pulumi:"generation"` // The name which should be used for this Spring Cloud Configuration Service. The only possible value is `default`. Changing this forces a new Spring Cloud Configuration Service to be created. Name *string `pulumi:"name"` + // Specifies how often to check repository updates. Minimum value is 0. + RefreshIntervalInSeconds *int `pulumi:"refreshIntervalInSeconds"` // One or more `repository` blocks as defined below. Repositories []SpringCloudConfigurationServiceRepository `pulumi:"repositories"` // The ID of the Spring Cloud Service. Changing this forces a new Spring Cloud Configuration Service to be created. @@ -145,6 +149,8 @@ type SpringCloudConfigurationServiceState struct { Generation pulumi.StringPtrInput // The name which should be used for this Spring Cloud Configuration Service. The only possible value is `default`. Changing this forces a new Spring Cloud Configuration Service to be created. Name pulumi.StringPtrInput + // Specifies how often to check repository updates. Minimum value is 0. + RefreshIntervalInSeconds pulumi.IntPtrInput // One or more `repository` blocks as defined below. Repositories SpringCloudConfigurationServiceRepositoryArrayInput // The ID of the Spring Cloud Service. Changing this forces a new Spring Cloud Configuration Service to be created. @@ -160,6 +166,8 @@ type springCloudConfigurationServiceArgs struct { Generation *string `pulumi:"generation"` // The name which should be used for this Spring Cloud Configuration Service. The only possible value is `default`. Changing this forces a new Spring Cloud Configuration Service to be created. Name *string `pulumi:"name"` + // Specifies how often to check repository updates. Minimum value is 0. + RefreshIntervalInSeconds *int `pulumi:"refreshIntervalInSeconds"` // One or more `repository` blocks as defined below. Repositories []SpringCloudConfigurationServiceRepository `pulumi:"repositories"` // The ID of the Spring Cloud Service. Changing this forces a new Spring Cloud Configuration Service to be created. @@ -172,6 +180,8 @@ type SpringCloudConfigurationServiceArgs struct { Generation pulumi.StringPtrInput // The name which should be used for this Spring Cloud Configuration Service. The only possible value is `default`. Changing this forces a new Spring Cloud Configuration Service to be created. Name pulumi.StringPtrInput + // Specifies how often to check repository updates. Minimum value is 0. + RefreshIntervalInSeconds pulumi.IntPtrInput // One or more `repository` blocks as defined below. Repositories SpringCloudConfigurationServiceRepositoryArrayInput // The ID of the Spring Cloud Service. Changing this forces a new Spring Cloud Configuration Service to be created. @@ -275,6 +285,11 @@ func (o SpringCloudConfigurationServiceOutput) Name() pulumi.StringOutput { return o.ApplyT(func(v *SpringCloudConfigurationService) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) } +// Specifies how often to check repository updates. Minimum value is 0. +func (o SpringCloudConfigurationServiceOutput) RefreshIntervalInSeconds() pulumi.IntPtrOutput { + return o.ApplyT(func(v *SpringCloudConfigurationService) pulumi.IntPtrOutput { return v.RefreshIntervalInSeconds }).(pulumi.IntPtrOutput) +} + // One or more `repository` blocks as defined below. func (o SpringCloudConfigurationServiceOutput) Repositories() SpringCloudConfigurationServiceRepositoryArrayOutput { return o.ApplyT(func(v *SpringCloudConfigurationService) SpringCloudConfigurationServiceRepositoryArrayOutput { diff --git a/sdk/go/azure/appplatform/springCloudGateway.go b/sdk/go/azure/appplatform/springCloudGateway.go index 8ae12c3529..6191f393fe 100644 --- a/sdk/go/azure/appplatform/springCloudGateway.go +++ b/sdk/go/azure/appplatform/springCloudGateway.go @@ -114,6 +114,8 @@ type SpringCloudGateway struct { // A `apiMetadata` block as defined below. ApiMetadata SpringCloudGatewayApiMetadataPtrOutput `pulumi:"apiMetadata"` + // Specifies a list of Spring Cloud Application Performance Monitoring IDs. + ApplicationPerformanceMonitoringIds pulumi.StringArrayOutput `pulumi:"applicationPerformanceMonitoringIds"` // Specifies a list of application performance monitoring types used in the Spring Cloud Gateway. The allowed values are `AppDynamics`, `ApplicationInsights`, `Dynatrace`, `ElasticAPM` and `NewRelic`. ApplicationPerformanceMonitoringTypes pulumi.StringArrayOutput `pulumi:"applicationPerformanceMonitoringTypes"` // A `clientAuthorization` block as defined below. @@ -188,6 +190,8 @@ func GetSpringCloudGateway(ctx *pulumi.Context, type springCloudGatewayState struct { // A `apiMetadata` block as defined below. ApiMetadata *SpringCloudGatewayApiMetadata `pulumi:"apiMetadata"` + // Specifies a list of Spring Cloud Application Performance Monitoring IDs. + ApplicationPerformanceMonitoringIds []string `pulumi:"applicationPerformanceMonitoringIds"` // Specifies a list of application performance monitoring types used in the Spring Cloud Gateway. The allowed values are `AppDynamics`, `ApplicationInsights`, `Dynatrace`, `ElasticAPM` and `NewRelic`. ApplicationPerformanceMonitoringTypes []string `pulumi:"applicationPerformanceMonitoringTypes"` // A `clientAuthorization` block as defined below. @@ -223,6 +227,8 @@ type springCloudGatewayState struct { type SpringCloudGatewayState struct { // A `apiMetadata` block as defined below. ApiMetadata SpringCloudGatewayApiMetadataPtrInput + // Specifies a list of Spring Cloud Application Performance Monitoring IDs. + ApplicationPerformanceMonitoringIds pulumi.StringArrayInput // Specifies a list of application performance monitoring types used in the Spring Cloud Gateway. The allowed values are `AppDynamics`, `ApplicationInsights`, `Dynatrace`, `ElasticAPM` and `NewRelic`. ApplicationPerformanceMonitoringTypes pulumi.StringArrayInput // A `clientAuthorization` block as defined below. @@ -262,6 +268,8 @@ func (SpringCloudGatewayState) ElementType() reflect.Type { type springCloudGatewayArgs struct { // A `apiMetadata` block as defined below. ApiMetadata *SpringCloudGatewayApiMetadata `pulumi:"apiMetadata"` + // Specifies a list of Spring Cloud Application Performance Monitoring IDs. + ApplicationPerformanceMonitoringIds []string `pulumi:"applicationPerformanceMonitoringIds"` // Specifies a list of application performance monitoring types used in the Spring Cloud Gateway. The allowed values are `AppDynamics`, `ApplicationInsights`, `Dynatrace`, `ElasticAPM` and `NewRelic`. ApplicationPerformanceMonitoringTypes []string `pulumi:"applicationPerformanceMonitoringTypes"` // A `clientAuthorization` block as defined below. @@ -296,6 +304,8 @@ type springCloudGatewayArgs struct { type SpringCloudGatewayArgs struct { // A `apiMetadata` block as defined below. ApiMetadata SpringCloudGatewayApiMetadataPtrInput + // Specifies a list of Spring Cloud Application Performance Monitoring IDs. + ApplicationPerformanceMonitoringIds pulumi.StringArrayInput // Specifies a list of application performance monitoring types used in the Spring Cloud Gateway. The allowed values are `AppDynamics`, `ApplicationInsights`, `Dynatrace`, `ElasticAPM` and `NewRelic`. ApplicationPerformanceMonitoringTypes pulumi.StringArrayInput // A `clientAuthorization` block as defined below. @@ -418,6 +428,11 @@ func (o SpringCloudGatewayOutput) ApiMetadata() SpringCloudGatewayApiMetadataPtr return o.ApplyT(func(v *SpringCloudGateway) SpringCloudGatewayApiMetadataPtrOutput { return v.ApiMetadata }).(SpringCloudGatewayApiMetadataPtrOutput) } +// Specifies a list of Spring Cloud Application Performance Monitoring IDs. +func (o SpringCloudGatewayOutput) ApplicationPerformanceMonitoringIds() pulumi.StringArrayOutput { + return o.ApplyT(func(v *SpringCloudGateway) pulumi.StringArrayOutput { return v.ApplicationPerformanceMonitoringIds }).(pulumi.StringArrayOutput) +} + // Specifies a list of application performance monitoring types used in the Spring Cloud Gateway. The allowed values are `AppDynamics`, `ApplicationInsights`, `Dynatrace`, `ElasticAPM` and `NewRelic`. func (o SpringCloudGatewayOutput) ApplicationPerformanceMonitoringTypes() pulumi.StringArrayOutput { return o.ApplyT(func(v *SpringCloudGateway) pulumi.StringArrayOutput { return v.ApplicationPerformanceMonitoringTypes }).(pulumi.StringArrayOutput) diff --git a/sdk/go/azure/appservice/pulumiTypes.go b/sdk/go/azure/appservice/pulumiTypes.go index 279f8764d4..3ea205bd54 100644 --- a/sdk/go/azure/appservice/pulumiTypes.go +++ b/sdk/go/azure/appservice/pulumiTypes.go @@ -34841,7 +34841,7 @@ type LinuxWebAppSiteConfigApplicationStack struct { PhpVersion *string `pulumi:"phpVersion"` // The version of Python to run. Possible values include `3.7`, `3.8`, `3.9`, `3.10`, `3.11` and `3.12`. PythonVersion *string `pulumi:"pythonVersion"` - // Te version of Ruby to run. Possible values include `2.6` and `2.7`. + // The version of Ruby to run. Possible values include `2.6` and `2.7`. RubyVersion *string `pulumi:"rubyVersion"` } @@ -34895,7 +34895,7 @@ type LinuxWebAppSiteConfigApplicationStackArgs struct { PhpVersion pulumi.StringPtrInput `pulumi:"phpVersion"` // The version of Python to run. Possible values include `3.7`, `3.8`, `3.9`, `3.10`, `3.11` and `3.12`. PythonVersion pulumi.StringPtrInput `pulumi:"pythonVersion"` - // Te version of Ruby to run. Possible values include `2.6` and `2.7`. + // The version of Ruby to run. Possible values include `2.6` and `2.7`. RubyVersion pulumi.StringPtrInput `pulumi:"rubyVersion"` } @@ -35056,7 +35056,7 @@ func (o LinuxWebAppSiteConfigApplicationStackOutput) PythonVersion() pulumi.Stri return o.ApplyT(func(v LinuxWebAppSiteConfigApplicationStack) *string { return v.PythonVersion }).(pulumi.StringPtrOutput) } -// Te version of Ruby to run. Possible values include `2.6` and `2.7`. +// The version of Ruby to run. Possible values include `2.6` and `2.7`. func (o LinuxWebAppSiteConfigApplicationStackOutput) RubyVersion() pulumi.StringPtrOutput { return o.ApplyT(func(v LinuxWebAppSiteConfigApplicationStack) *string { return v.RubyVersion }).(pulumi.StringPtrOutput) } @@ -35235,7 +35235,7 @@ func (o LinuxWebAppSiteConfigApplicationStackPtrOutput) PythonVersion() pulumi.S }).(pulumi.StringPtrOutput) } -// Te version of Ruby to run. Possible values include `2.6` and `2.7`. +// The version of Ruby to run. Possible values include `2.6` and `2.7`. func (o LinuxWebAppSiteConfigApplicationStackPtrOutput) RubyVersion() pulumi.StringPtrOutput { return o.ApplyT(func(v *LinuxWebAppSiteConfigApplicationStack) *string { if v == nil { @@ -43935,7 +43935,7 @@ type LinuxWebAppSlotSiteConfigApplicationStack struct { PhpVersion *string `pulumi:"phpVersion"` // The version of Python to run. Possible values include `3.7`, `3.8`, `3.9`, `3.10`, `3.11` and `3.12`. PythonVersion *string `pulumi:"pythonVersion"` - // Te version of Ruby to run. Possible values include `2.6` and `2.7`. + // The version of Ruby to run. Possible values include `2.6` and `2.7`. RubyVersion *string `pulumi:"rubyVersion"` } @@ -43989,7 +43989,7 @@ type LinuxWebAppSlotSiteConfigApplicationStackArgs struct { PhpVersion pulumi.StringPtrInput `pulumi:"phpVersion"` // The version of Python to run. Possible values include `3.7`, `3.8`, `3.9`, `3.10`, `3.11` and `3.12`. PythonVersion pulumi.StringPtrInput `pulumi:"pythonVersion"` - // Te version of Ruby to run. Possible values include `2.6` and `2.7`. + // The version of Ruby to run. Possible values include `2.6` and `2.7`. RubyVersion pulumi.StringPtrInput `pulumi:"rubyVersion"` } @@ -44150,7 +44150,7 @@ func (o LinuxWebAppSlotSiteConfigApplicationStackOutput) PythonVersion() pulumi. return o.ApplyT(func(v LinuxWebAppSlotSiteConfigApplicationStack) *string { return v.PythonVersion }).(pulumi.StringPtrOutput) } -// Te version of Ruby to run. Possible values include `2.6` and `2.7`. +// The version of Ruby to run. Possible values include `2.6` and `2.7`. func (o LinuxWebAppSlotSiteConfigApplicationStackOutput) RubyVersion() pulumi.StringPtrOutput { return o.ApplyT(func(v LinuxWebAppSlotSiteConfigApplicationStack) *string { return v.RubyVersion }).(pulumi.StringPtrOutput) } @@ -44329,7 +44329,7 @@ func (o LinuxWebAppSlotSiteConfigApplicationStackPtrOutput) PythonVersion() pulu }).(pulumi.StringPtrOutput) } -// Te version of Ruby to run. Possible values include `2.6` and `2.7`. +// The version of Ruby to run. Possible values include `2.6` and `2.7`. func (o LinuxWebAppSlotSiteConfigApplicationStackPtrOutput) RubyVersion() pulumi.StringPtrOutput { return o.ApplyT(func(v *LinuxWebAppSlotSiteConfigApplicationStack) *string { if v == nil { diff --git a/sdk/go/azure/armmsi/federatedIdentityCredential.go b/sdk/go/azure/armmsi/federatedIdentityCredential.go index c8f20e994d..511e8f99a5 100644 --- a/sdk/go/azure/armmsi/federatedIdentityCredential.go +++ b/sdk/go/azure/armmsi/federatedIdentityCredential.go @@ -72,17 +72,17 @@ import ( type FederatedIdentityCredential struct { pulumi.CustomResourceState - // Specifies the audience for this Federated Identity Credential. Changing this forces a new Federated Identity Credential to be created. + // Specifies the audience for this Federated Identity Credential. Audience pulumi.StringOutput `pulumi:"audience"` - // Specifies the issuer of this Federated Identity Credential. Changing this forces a new Federated Identity Credential to be created. + // Specifies the issuer of this Federated Identity Credential. Issuer pulumi.StringOutput `pulumi:"issuer"` - // Specifies the name of this Federated Identity Credential. Changing this forces a new Federated Identity Credential to be created. + // Specifies the name of this Federated Identity Credential. Name pulumi.StringOutput `pulumi:"name"` // Specifies parent ID of User Assigned Identity for this Federated Identity Credential. Changing this forces a new Federated Identity Credential to be created. ParentId pulumi.StringOutput `pulumi:"parentId"` // Specifies the name of the Resource Group within which this Federated Identity Credential should exist. Changing this forces a new Federated Identity Credential to be created. ResourceGroupName pulumi.StringOutput `pulumi:"resourceGroupName"` - // Specifies the subject for this Federated Identity Credential. Changing this forces a new Federated Identity Credential to be created. + // Specifies the subject for this Federated Identity Credential. Subject pulumi.StringOutput `pulumi:"subject"` } @@ -131,32 +131,32 @@ func GetFederatedIdentityCredential(ctx *pulumi.Context, // Input properties used for looking up and filtering FederatedIdentityCredential resources. type federatedIdentityCredentialState struct { - // Specifies the audience for this Federated Identity Credential. Changing this forces a new Federated Identity Credential to be created. + // Specifies the audience for this Federated Identity Credential. Audience *string `pulumi:"audience"` - // Specifies the issuer of this Federated Identity Credential. Changing this forces a new Federated Identity Credential to be created. + // Specifies the issuer of this Federated Identity Credential. Issuer *string `pulumi:"issuer"` - // Specifies the name of this Federated Identity Credential. Changing this forces a new Federated Identity Credential to be created. + // Specifies the name of this Federated Identity Credential. Name *string `pulumi:"name"` // Specifies parent ID of User Assigned Identity for this Federated Identity Credential. Changing this forces a new Federated Identity Credential to be created. ParentId *string `pulumi:"parentId"` // Specifies the name of the Resource Group within which this Federated Identity Credential should exist. Changing this forces a new Federated Identity Credential to be created. ResourceGroupName *string `pulumi:"resourceGroupName"` - // Specifies the subject for this Federated Identity Credential. Changing this forces a new Federated Identity Credential to be created. + // Specifies the subject for this Federated Identity Credential. Subject *string `pulumi:"subject"` } type FederatedIdentityCredentialState struct { - // Specifies the audience for this Federated Identity Credential. Changing this forces a new Federated Identity Credential to be created. + // Specifies the audience for this Federated Identity Credential. Audience pulumi.StringPtrInput - // Specifies the issuer of this Federated Identity Credential. Changing this forces a new Federated Identity Credential to be created. + // Specifies the issuer of this Federated Identity Credential. Issuer pulumi.StringPtrInput - // Specifies the name of this Federated Identity Credential. Changing this forces a new Federated Identity Credential to be created. + // Specifies the name of this Federated Identity Credential. Name pulumi.StringPtrInput // Specifies parent ID of User Assigned Identity for this Federated Identity Credential. Changing this forces a new Federated Identity Credential to be created. ParentId pulumi.StringPtrInput // Specifies the name of the Resource Group within which this Federated Identity Credential should exist. Changing this forces a new Federated Identity Credential to be created. ResourceGroupName pulumi.StringPtrInput - // Specifies the subject for this Federated Identity Credential. Changing this forces a new Federated Identity Credential to be created. + // Specifies the subject for this Federated Identity Credential. Subject pulumi.StringPtrInput } @@ -165,33 +165,33 @@ func (FederatedIdentityCredentialState) ElementType() reflect.Type { } type federatedIdentityCredentialArgs struct { - // Specifies the audience for this Federated Identity Credential. Changing this forces a new Federated Identity Credential to be created. + // Specifies the audience for this Federated Identity Credential. Audience string `pulumi:"audience"` - // Specifies the issuer of this Federated Identity Credential. Changing this forces a new Federated Identity Credential to be created. + // Specifies the issuer of this Federated Identity Credential. Issuer string `pulumi:"issuer"` - // Specifies the name of this Federated Identity Credential. Changing this forces a new Federated Identity Credential to be created. + // Specifies the name of this Federated Identity Credential. Name *string `pulumi:"name"` // Specifies parent ID of User Assigned Identity for this Federated Identity Credential. Changing this forces a new Federated Identity Credential to be created. ParentId string `pulumi:"parentId"` // Specifies the name of the Resource Group within which this Federated Identity Credential should exist. Changing this forces a new Federated Identity Credential to be created. ResourceGroupName string `pulumi:"resourceGroupName"` - // Specifies the subject for this Federated Identity Credential. Changing this forces a new Federated Identity Credential to be created. + // Specifies the subject for this Federated Identity Credential. Subject string `pulumi:"subject"` } // The set of arguments for constructing a FederatedIdentityCredential resource. type FederatedIdentityCredentialArgs struct { - // Specifies the audience for this Federated Identity Credential. Changing this forces a new Federated Identity Credential to be created. + // Specifies the audience for this Federated Identity Credential. Audience pulumi.StringInput - // Specifies the issuer of this Federated Identity Credential. Changing this forces a new Federated Identity Credential to be created. + // Specifies the issuer of this Federated Identity Credential. Issuer pulumi.StringInput - // Specifies the name of this Federated Identity Credential. Changing this forces a new Federated Identity Credential to be created. + // Specifies the name of this Federated Identity Credential. Name pulumi.StringPtrInput // Specifies parent ID of User Assigned Identity for this Federated Identity Credential. Changing this forces a new Federated Identity Credential to be created. ParentId pulumi.StringInput // Specifies the name of the Resource Group within which this Federated Identity Credential should exist. Changing this forces a new Federated Identity Credential to be created. ResourceGroupName pulumi.StringInput - // Specifies the subject for this Federated Identity Credential. Changing this forces a new Federated Identity Credential to be created. + // Specifies the subject for this Federated Identity Credential. Subject pulumi.StringInput } @@ -282,17 +282,17 @@ func (o FederatedIdentityCredentialOutput) ToFederatedIdentityCredentialOutputWi return o } -// Specifies the audience for this Federated Identity Credential. Changing this forces a new Federated Identity Credential to be created. +// Specifies the audience for this Federated Identity Credential. func (o FederatedIdentityCredentialOutput) Audience() pulumi.StringOutput { return o.ApplyT(func(v *FederatedIdentityCredential) pulumi.StringOutput { return v.Audience }).(pulumi.StringOutput) } -// Specifies the issuer of this Federated Identity Credential. Changing this forces a new Federated Identity Credential to be created. +// Specifies the issuer of this Federated Identity Credential. func (o FederatedIdentityCredentialOutput) Issuer() pulumi.StringOutput { return o.ApplyT(func(v *FederatedIdentityCredential) pulumi.StringOutput { return v.Issuer }).(pulumi.StringOutput) } -// Specifies the name of this Federated Identity Credential. Changing this forces a new Federated Identity Credential to be created. +// Specifies the name of this Federated Identity Credential. func (o FederatedIdentityCredentialOutput) Name() pulumi.StringOutput { return o.ApplyT(func(v *FederatedIdentityCredential) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) } @@ -307,7 +307,7 @@ func (o FederatedIdentityCredentialOutput) ResourceGroupName() pulumi.StringOutp return o.ApplyT(func(v *FederatedIdentityCredential) pulumi.StringOutput { return v.ResourceGroupName }).(pulumi.StringOutput) } -// Specifies the subject for this Federated Identity Credential. Changing this forces a new Federated Identity Credential to be created. +// Specifies the subject for this Federated Identity Credential. func (o FederatedIdentityCredentialOutput) Subject() pulumi.StringOutput { return o.ApplyT(func(v *FederatedIdentityCredential) pulumi.StringOutput { return v.Subject }).(pulumi.StringOutput) } diff --git a/sdk/go/azure/avs/privateCloud.go b/sdk/go/azure/avs/privateCloud.go index 25a77d0008..2ece6e5bdf 100644 --- a/sdk/go/azure/avs/privateCloud.go +++ b/sdk/go/azure/avs/privateCloud.go @@ -74,13 +74,13 @@ type PrivateCloud struct { Circuits PrivateCloudCircuitArrayOutput `pulumi:"circuits"` // The endpoint for the HCX Cloud Manager. HcxCloudManagerEndpoint pulumi.StringOutput `pulumi:"hcxCloudManagerEndpoint"` - // Is the Private Cluster connected to the internet? This field can not updated with `management_cluster.0.size` together. - // > **NOTE :** `internetConnectionEnabled` and `management_cluster.0.size` cannot be updated at the same time. + // Is the Private Cluster connected to the internet? This field can not updated with `management_cluster[0].size` together. + // > **NOTE :** `internetConnectionEnabled` and `management_cluster[0].size` cannot be updated at the same time. InternetConnectionEnabled pulumi.BoolPtrOutput `pulumi:"internetConnectionEnabled"` // The Azure Region where the VMware Private Cloud should exist. Changing this forces a new VMware Private Cloud to be created. Location pulumi.StringOutput `pulumi:"location"` // A `managementCluster` block as defined below. - // > **NOTE :** `internetConnectionEnabled` and `management_cluster.0.size` cannot be updated at the same time. + // > **NOTE :** `internetConnectionEnabled` and `management_cluster[0].size` cannot be updated at the same time. ManagementCluster PrivateCloudManagementClusterOutput `pulumi:"managementCluster"` // The network used to access vCenter Server and NSX-T Manager. ManagementSubnetCidr pulumi.StringOutput `pulumi:"managementSubnetCidr"` @@ -169,13 +169,13 @@ type privateCloudState struct { Circuits []PrivateCloudCircuit `pulumi:"circuits"` // The endpoint for the HCX Cloud Manager. HcxCloudManagerEndpoint *string `pulumi:"hcxCloudManagerEndpoint"` - // Is the Private Cluster connected to the internet? This field can not updated with `management_cluster.0.size` together. - // > **NOTE :** `internetConnectionEnabled` and `management_cluster.0.size` cannot be updated at the same time. + // Is the Private Cluster connected to the internet? This field can not updated with `management_cluster[0].size` together. + // > **NOTE :** `internetConnectionEnabled` and `management_cluster[0].size` cannot be updated at the same time. InternetConnectionEnabled *bool `pulumi:"internetConnectionEnabled"` // The Azure Region where the VMware Private Cloud should exist. Changing this forces a new VMware Private Cloud to be created. Location *string `pulumi:"location"` // A `managementCluster` block as defined below. - // > **NOTE :** `internetConnectionEnabled` and `management_cluster.0.size` cannot be updated at the same time. + // > **NOTE :** `internetConnectionEnabled` and `management_cluster[0].size` cannot be updated at the same time. ManagementCluster *PrivateCloudManagementCluster `pulumi:"managementCluster"` // The network used to access vCenter Server and NSX-T Manager. ManagementSubnetCidr *string `pulumi:"managementSubnetCidr"` @@ -212,13 +212,13 @@ type PrivateCloudState struct { Circuits PrivateCloudCircuitArrayInput // The endpoint for the HCX Cloud Manager. HcxCloudManagerEndpoint pulumi.StringPtrInput - // Is the Private Cluster connected to the internet? This field can not updated with `management_cluster.0.size` together. - // > **NOTE :** `internetConnectionEnabled` and `management_cluster.0.size` cannot be updated at the same time. + // Is the Private Cluster connected to the internet? This field can not updated with `management_cluster[0].size` together. + // > **NOTE :** `internetConnectionEnabled` and `management_cluster[0].size` cannot be updated at the same time. InternetConnectionEnabled pulumi.BoolPtrInput // The Azure Region where the VMware Private Cloud should exist. Changing this forces a new VMware Private Cloud to be created. Location pulumi.StringPtrInput // A `managementCluster` block as defined below. - // > **NOTE :** `internetConnectionEnabled` and `management_cluster.0.size` cannot be updated at the same time. + // > **NOTE :** `internetConnectionEnabled` and `management_cluster[0].size` cannot be updated at the same time. ManagementCluster PrivateCloudManagementClusterPtrInput // The network used to access vCenter Server and NSX-T Manager. ManagementSubnetCidr pulumi.StringPtrInput @@ -255,13 +255,13 @@ func (PrivateCloudState) ElementType() reflect.Type { } type privateCloudArgs struct { - // Is the Private Cluster connected to the internet? This field can not updated with `management_cluster.0.size` together. - // > **NOTE :** `internetConnectionEnabled` and `management_cluster.0.size` cannot be updated at the same time. + // Is the Private Cluster connected to the internet? This field can not updated with `management_cluster[0].size` together. + // > **NOTE :** `internetConnectionEnabled` and `management_cluster[0].size` cannot be updated at the same time. InternetConnectionEnabled *bool `pulumi:"internetConnectionEnabled"` // The Azure Region where the VMware Private Cloud should exist. Changing this forces a new VMware Private Cloud to be created. Location *string `pulumi:"location"` // A `managementCluster` block as defined below. - // > **NOTE :** `internetConnectionEnabled` and `management_cluster.0.size` cannot be updated at the same time. + // > **NOTE :** `internetConnectionEnabled` and `management_cluster[0].size` cannot be updated at the same time. ManagementCluster PrivateCloudManagementCluster `pulumi:"managementCluster"` // The name which should be used for this VMware Private Cloud. Changing this forces a new VMware Private Cloud to be created. Name *string `pulumi:"name"` @@ -281,13 +281,13 @@ type privateCloudArgs struct { // The set of arguments for constructing a PrivateCloud resource. type PrivateCloudArgs struct { - // Is the Private Cluster connected to the internet? This field can not updated with `management_cluster.0.size` together. - // > **NOTE :** `internetConnectionEnabled` and `management_cluster.0.size` cannot be updated at the same time. + // Is the Private Cluster connected to the internet? This field can not updated with `management_cluster[0].size` together. + // > **NOTE :** `internetConnectionEnabled` and `management_cluster[0].size` cannot be updated at the same time. InternetConnectionEnabled pulumi.BoolPtrInput // The Azure Region where the VMware Private Cloud should exist. Changing this forces a new VMware Private Cloud to be created. Location pulumi.StringPtrInput // A `managementCluster` block as defined below. - // > **NOTE :** `internetConnectionEnabled` and `management_cluster.0.size` cannot be updated at the same time. + // > **NOTE :** `internetConnectionEnabled` and `management_cluster[0].size` cannot be updated at the same time. ManagementCluster PrivateCloudManagementClusterInput // The name which should be used for this VMware Private Cloud. Changing this forces a new VMware Private Cloud to be created. Name pulumi.StringPtrInput @@ -402,8 +402,8 @@ func (o PrivateCloudOutput) HcxCloudManagerEndpoint() pulumi.StringOutput { return o.ApplyT(func(v *PrivateCloud) pulumi.StringOutput { return v.HcxCloudManagerEndpoint }).(pulumi.StringOutput) } -// Is the Private Cluster connected to the internet? This field can not updated with `management_cluster.0.size` together. -// > **NOTE :** `internetConnectionEnabled` and `management_cluster.0.size` cannot be updated at the same time. +// Is the Private Cluster connected to the internet? This field can not updated with `management_cluster[0].size` together. +// > **NOTE :** `internetConnectionEnabled` and `management_cluster[0].size` cannot be updated at the same time. func (o PrivateCloudOutput) InternetConnectionEnabled() pulumi.BoolPtrOutput { return o.ApplyT(func(v *PrivateCloud) pulumi.BoolPtrOutput { return v.InternetConnectionEnabled }).(pulumi.BoolPtrOutput) } @@ -414,7 +414,7 @@ func (o PrivateCloudOutput) Location() pulumi.StringOutput { } // A `managementCluster` block as defined below. -// > **NOTE :** `internetConnectionEnabled` and `management_cluster.0.size` cannot be updated at the same time. +// > **NOTE :** `internetConnectionEnabled` and `management_cluster[0].size` cannot be updated at the same time. func (o PrivateCloudOutput) ManagementCluster() PrivateCloudManagementClusterOutput { return o.ApplyT(func(v *PrivateCloud) PrivateCloudManagementClusterOutput { return v.ManagementCluster }).(PrivateCloudManagementClusterOutput) } diff --git a/sdk/go/azure/batch/pulumiTypes.go b/sdk/go/azure/batch/pulumiTypes.go index 821ff66e4b..ad492a7459 100644 --- a/sdk/go/azure/batch/pulumiTypes.go +++ b/sdk/go/azure/batch/pulumiTypes.go @@ -2019,13 +2019,13 @@ type PoolExtension struct { AutomaticUpgradeEnabled *bool `pulumi:"automaticUpgradeEnabled"` // The name of the virtual machine extension. Name string `pulumi:"name"` - // The extension can contain either `protectedSettings` or `provisionAfterExtensions` or no protected settings at all. + // JSON formatted protected settings for the extension, the value should be encoded with `jsonencode` function. The extension can contain either `protectedSettings` or `provisionAfterExtensions` or no protected settings at all. ProtectedSettings *string `pulumi:"protectedSettings"` // The collection of extension names. Collection of extension names after which this extension needs to be provisioned. ProvisionAfterExtensions []string `pulumi:"provisionAfterExtensions"` // The name of the extension handler publisher.The name of the extension handler publisher. Publisher string `pulumi:"publisher"` - // JSON formatted public settings for the extension. + // JSON formatted public settings for the extension, the value should be encoded with `jsonencode` function. SettingsJson *string `pulumi:"settingsJson"` // The type of the extensions. Type string `pulumi:"type"` @@ -2053,13 +2053,13 @@ type PoolExtensionArgs struct { AutomaticUpgradeEnabled pulumi.BoolPtrInput `pulumi:"automaticUpgradeEnabled"` // The name of the virtual machine extension. Name pulumi.StringInput `pulumi:"name"` - // The extension can contain either `protectedSettings` or `provisionAfterExtensions` or no protected settings at all. + // JSON formatted protected settings for the extension, the value should be encoded with `jsonencode` function. The extension can contain either `protectedSettings` or `provisionAfterExtensions` or no protected settings at all. ProtectedSettings pulumi.StringPtrInput `pulumi:"protectedSettings"` // The collection of extension names. Collection of extension names after which this extension needs to be provisioned. ProvisionAfterExtensions pulumi.StringArrayInput `pulumi:"provisionAfterExtensions"` // The name of the extension handler publisher.The name of the extension handler publisher. Publisher pulumi.StringInput `pulumi:"publisher"` - // JSON formatted public settings for the extension. + // JSON formatted public settings for the extension, the value should be encoded with `jsonencode` function. SettingsJson pulumi.StringPtrInput `pulumi:"settingsJson"` // The type of the extensions. Type pulumi.StringInput `pulumi:"type"` @@ -2135,7 +2135,7 @@ func (o PoolExtensionOutput) Name() pulumi.StringOutput { return o.ApplyT(func(v PoolExtension) string { return v.Name }).(pulumi.StringOutput) } -// The extension can contain either `protectedSettings` or `provisionAfterExtensions` or no protected settings at all. +// JSON formatted protected settings for the extension, the value should be encoded with `jsonencode` function. The extension can contain either `protectedSettings` or `provisionAfterExtensions` or no protected settings at all. func (o PoolExtensionOutput) ProtectedSettings() pulumi.StringPtrOutput { return o.ApplyT(func(v PoolExtension) *string { return v.ProtectedSettings }).(pulumi.StringPtrOutput) } @@ -2150,7 +2150,7 @@ func (o PoolExtensionOutput) Publisher() pulumi.StringOutput { return o.ApplyT(func(v PoolExtension) string { return v.Publisher }).(pulumi.StringOutput) } -// JSON formatted public settings for the extension. +// JSON formatted public settings for the extension, the value should be encoded with `jsonencode` function. func (o PoolExtensionOutput) SettingsJson() pulumi.StringPtrOutput { return o.ApplyT(func(v PoolExtension) *string { return v.SettingsJson }).(pulumi.StringPtrOutput) } diff --git a/sdk/go/azure/cognitive/deployment.go b/sdk/go/azure/cognitive/deployment.go index d28ded11e8..432bbfe625 100644 --- a/sdk/go/azure/cognitive/deployment.go +++ b/sdk/go/azure/cognitive/deployment.go @@ -87,7 +87,7 @@ type Deployment struct { RaiPolicyName pulumi.StringPtrOutput `pulumi:"raiPolicyName"` // A `scale` block as defined below. Scale DeploymentScaleOutput `pulumi:"scale"` - // Deployment model version upgrade option. Possible values are `OnceNewDefaultVersionAvailable`, `OnceCurrentVersionExpired`, and `NoAutoUpgrade`. Defaults to `OnceNewDefaultVersionAvailable`. Changing this forces a new resource to be created. + // Deployment model version upgrade option. Possible values are `OnceNewDefaultVersionAvailable`, `OnceCurrentVersionExpired`, and `NoAutoUpgrade`. Defaults to `OnceNewDefaultVersionAvailable`. VersionUpgradeOption pulumi.StringPtrOutput `pulumi:"versionUpgradeOption"` } @@ -140,7 +140,7 @@ type deploymentState struct { RaiPolicyName *string `pulumi:"raiPolicyName"` // A `scale` block as defined below. Scale *DeploymentScale `pulumi:"scale"` - // Deployment model version upgrade option. Possible values are `OnceNewDefaultVersionAvailable`, `OnceCurrentVersionExpired`, and `NoAutoUpgrade`. Defaults to `OnceNewDefaultVersionAvailable`. Changing this forces a new resource to be created. + // Deployment model version upgrade option. Possible values are `OnceNewDefaultVersionAvailable`, `OnceCurrentVersionExpired`, and `NoAutoUpgrade`. Defaults to `OnceNewDefaultVersionAvailable`. VersionUpgradeOption *string `pulumi:"versionUpgradeOption"` } @@ -155,7 +155,7 @@ type DeploymentState struct { RaiPolicyName pulumi.StringPtrInput // A `scale` block as defined below. Scale DeploymentScalePtrInput - // Deployment model version upgrade option. Possible values are `OnceNewDefaultVersionAvailable`, `OnceCurrentVersionExpired`, and `NoAutoUpgrade`. Defaults to `OnceNewDefaultVersionAvailable`. Changing this forces a new resource to be created. + // Deployment model version upgrade option. Possible values are `OnceNewDefaultVersionAvailable`, `OnceCurrentVersionExpired`, and `NoAutoUpgrade`. Defaults to `OnceNewDefaultVersionAvailable`. VersionUpgradeOption pulumi.StringPtrInput } @@ -174,7 +174,7 @@ type deploymentArgs struct { RaiPolicyName *string `pulumi:"raiPolicyName"` // A `scale` block as defined below. Scale DeploymentScale `pulumi:"scale"` - // Deployment model version upgrade option. Possible values are `OnceNewDefaultVersionAvailable`, `OnceCurrentVersionExpired`, and `NoAutoUpgrade`. Defaults to `OnceNewDefaultVersionAvailable`. Changing this forces a new resource to be created. + // Deployment model version upgrade option. Possible values are `OnceNewDefaultVersionAvailable`, `OnceCurrentVersionExpired`, and `NoAutoUpgrade`. Defaults to `OnceNewDefaultVersionAvailable`. VersionUpgradeOption *string `pulumi:"versionUpgradeOption"` } @@ -190,7 +190,7 @@ type DeploymentArgs struct { RaiPolicyName pulumi.StringPtrInput // A `scale` block as defined below. Scale DeploymentScaleInput - // Deployment model version upgrade option. Possible values are `OnceNewDefaultVersionAvailable`, `OnceCurrentVersionExpired`, and `NoAutoUpgrade`. Defaults to `OnceNewDefaultVersionAvailable`. Changing this forces a new resource to be created. + // Deployment model version upgrade option. Possible values are `OnceNewDefaultVersionAvailable`, `OnceCurrentVersionExpired`, and `NoAutoUpgrade`. Defaults to `OnceNewDefaultVersionAvailable`. VersionUpgradeOption pulumi.StringPtrInput } @@ -306,7 +306,7 @@ func (o DeploymentOutput) Scale() DeploymentScaleOutput { return o.ApplyT(func(v *Deployment) DeploymentScaleOutput { return v.Scale }).(DeploymentScaleOutput) } -// Deployment model version upgrade option. Possible values are `OnceNewDefaultVersionAvailable`, `OnceCurrentVersionExpired`, and `NoAutoUpgrade`. Defaults to `OnceNewDefaultVersionAvailable`. Changing this forces a new resource to be created. +// Deployment model version upgrade option. Possible values are `OnceNewDefaultVersionAvailable`, `OnceCurrentVersionExpired`, and `NoAutoUpgrade`. Defaults to `OnceNewDefaultVersionAvailable`. func (o DeploymentOutput) VersionUpgradeOption() pulumi.StringPtrOutput { return o.ApplyT(func(v *Deployment) pulumi.StringPtrOutput { return v.VersionUpgradeOption }).(pulumi.StringPtrOutput) } diff --git a/sdk/go/azure/compute/linuxVirtualMachine.go b/sdk/go/azure/compute/linuxVirtualMachine.go index edda4f78f4..8839f6f7ea 100644 --- a/sdk/go/azure/compute/linuxVirtualMachine.go +++ b/sdk/go/azure/compute/linuxVirtualMachine.go @@ -181,6 +181,8 @@ type LinuxVirtualMachine struct { // // > **NOTE:** When an `adminPassword` is specified `disablePasswordAuthentication` must be set to `false`. DisablePasswordAuthentication pulumi.BoolPtrOutput `pulumi:"disablePasswordAuthentication"` + // Specifies the Disk Controller Type used for this Virtual Machine. Possible values are `SCSI` and `NVMe`. + DiskControllerType pulumi.StringOutput `pulumi:"diskControllerType"` // Specifies the Edge Zone within the Azure Region where this Linux Virtual Machine should exist. Changing this forces a new Linux Virtual Machine to be created. EdgeZone pulumi.StringPtrOutput `pulumi:"edgeZone"` // Should all of the disks (including the temp disk) attached to this Virtual Machine be encrypted by enabling Encryption at Host? @@ -209,6 +211,8 @@ type LinuxVirtualMachine struct { NetworkInterfaceIds pulumi.StringArrayOutput `pulumi:"networkInterfaceIds"` // A `osDisk` block as defined below. OsDisk LinuxVirtualMachineOsDiskOutput `pulumi:"osDisk"` + // A `osImageNotification` block as defined below. + OsImageNotification LinuxVirtualMachineOsImageNotificationPtrOutput `pulumi:"osImageNotification"` // Specifies the mode of VM Guest Patching for the Virtual Machine. Possible values are `AutomaticByPlatform` or `ImageDefault`. Defaults to `ImageDefault`. // // > **NOTE:** If the `patchAssessmentMode` is set to `AutomaticByPlatform` then the `provisionVmAgent` field must be set to `true`. @@ -265,10 +269,14 @@ type LinuxVirtualMachine struct { UserData pulumi.StringPtrOutput `pulumi:"userData"` // A 128-bit identifier which uniquely identifies this Virtual Machine. VirtualMachineId pulumi.StringOutput `pulumi:"virtualMachineId"` - // Specifies the Orchestrated Virtual Machine Scale Set that this Virtual Machine should be created within. Changing this forces a new resource to be created. + // Specifies the Orchestrated Virtual Machine Scale Set that this Virtual Machine should be created within. + // + // > **NOTE:** To update `virtualMachineScaleSetId` the Preview Feature `Microsoft.Compute/SingleFDAttachDetachVMToVmss` needs to be enabled, see [the documentation](https://review.learn.microsoft.com/azure/virtual-machine-scale-sets/virtual-machine-scale-sets-attach-detach-vm#enroll-in-the-preview) for more information. // // > **NOTE:** Orchestrated Virtual Machine Scale Sets can be provisioned using [the `compute.OrchestratedVirtualMachineScaleSet` resource](https://www.terraform.io/docs/providers/azurerm/r/orchestrated_virtual_machine_scale_set.html). VirtualMachineScaleSetId pulumi.StringPtrOutput `pulumi:"virtualMachineScaleSetId"` + // Specifies whether VMAgent Platform Updates is enabled. Defaults to `false`. + VmAgentPlatformUpdatesEnabled pulumi.BoolPtrOutput `pulumi:"vmAgentPlatformUpdatesEnabled"` // Specifies whether vTPM should be enabled on the virtual machine. Changing this forces a new resource to be created. VtpmEnabled pulumi.BoolPtrOutput `pulumi:"vtpmEnabled"` // Specifies the Availability Zones in which this Linux Virtual Machine should be located. Changing this forces a new Linux Virtual Machine to be created. @@ -372,6 +380,8 @@ type linuxVirtualMachineState struct { // // > **NOTE:** When an `adminPassword` is specified `disablePasswordAuthentication` must be set to `false`. DisablePasswordAuthentication *bool `pulumi:"disablePasswordAuthentication"` + // Specifies the Disk Controller Type used for this Virtual Machine. Possible values are `SCSI` and `NVMe`. + DiskControllerType *string `pulumi:"diskControllerType"` // Specifies the Edge Zone within the Azure Region where this Linux Virtual Machine should exist. Changing this forces a new Linux Virtual Machine to be created. EdgeZone *string `pulumi:"edgeZone"` // Should all of the disks (including the temp disk) attached to this Virtual Machine be encrypted by enabling Encryption at Host? @@ -400,6 +410,8 @@ type linuxVirtualMachineState struct { NetworkInterfaceIds []string `pulumi:"networkInterfaceIds"` // A `osDisk` block as defined below. OsDisk *LinuxVirtualMachineOsDisk `pulumi:"osDisk"` + // A `osImageNotification` block as defined below. + OsImageNotification *LinuxVirtualMachineOsImageNotification `pulumi:"osImageNotification"` // Specifies the mode of VM Guest Patching for the Virtual Machine. Possible values are `AutomaticByPlatform` or `ImageDefault`. Defaults to `ImageDefault`. // // > **NOTE:** If the `patchAssessmentMode` is set to `AutomaticByPlatform` then the `provisionVmAgent` field must be set to `true`. @@ -456,10 +468,14 @@ type linuxVirtualMachineState struct { UserData *string `pulumi:"userData"` // A 128-bit identifier which uniquely identifies this Virtual Machine. VirtualMachineId *string `pulumi:"virtualMachineId"` - // Specifies the Orchestrated Virtual Machine Scale Set that this Virtual Machine should be created within. Changing this forces a new resource to be created. + // Specifies the Orchestrated Virtual Machine Scale Set that this Virtual Machine should be created within. + // + // > **NOTE:** To update `virtualMachineScaleSetId` the Preview Feature `Microsoft.Compute/SingleFDAttachDetachVMToVmss` needs to be enabled, see [the documentation](https://review.learn.microsoft.com/azure/virtual-machine-scale-sets/virtual-machine-scale-sets-attach-detach-vm#enroll-in-the-preview) for more information. // // > **NOTE:** Orchestrated Virtual Machine Scale Sets can be provisioned using [the `compute.OrchestratedVirtualMachineScaleSet` resource](https://www.terraform.io/docs/providers/azurerm/r/orchestrated_virtual_machine_scale_set.html). VirtualMachineScaleSetId *string `pulumi:"virtualMachineScaleSetId"` + // Specifies whether VMAgent Platform Updates is enabled. Defaults to `false`. + VmAgentPlatformUpdatesEnabled *bool `pulumi:"vmAgentPlatformUpdatesEnabled"` // Specifies whether vTPM should be enabled on the virtual machine. Changing this forces a new resource to be created. VtpmEnabled *bool `pulumi:"vtpmEnabled"` // Specifies the Availability Zones in which this Linux Virtual Machine should be located. Changing this forces a new Linux Virtual Machine to be created. @@ -508,6 +524,8 @@ type LinuxVirtualMachineState struct { // // > **NOTE:** When an `adminPassword` is specified `disablePasswordAuthentication` must be set to `false`. DisablePasswordAuthentication pulumi.BoolPtrInput + // Specifies the Disk Controller Type used for this Virtual Machine. Possible values are `SCSI` and `NVMe`. + DiskControllerType pulumi.StringPtrInput // Specifies the Edge Zone within the Azure Region where this Linux Virtual Machine should exist. Changing this forces a new Linux Virtual Machine to be created. EdgeZone pulumi.StringPtrInput // Should all of the disks (including the temp disk) attached to this Virtual Machine be encrypted by enabling Encryption at Host? @@ -536,6 +554,8 @@ type LinuxVirtualMachineState struct { NetworkInterfaceIds pulumi.StringArrayInput // A `osDisk` block as defined below. OsDisk LinuxVirtualMachineOsDiskPtrInput + // A `osImageNotification` block as defined below. + OsImageNotification LinuxVirtualMachineOsImageNotificationPtrInput // Specifies the mode of VM Guest Patching for the Virtual Machine. Possible values are `AutomaticByPlatform` or `ImageDefault`. Defaults to `ImageDefault`. // // > **NOTE:** If the `patchAssessmentMode` is set to `AutomaticByPlatform` then the `provisionVmAgent` field must be set to `true`. @@ -592,10 +612,14 @@ type LinuxVirtualMachineState struct { UserData pulumi.StringPtrInput // A 128-bit identifier which uniquely identifies this Virtual Machine. VirtualMachineId pulumi.StringPtrInput - // Specifies the Orchestrated Virtual Machine Scale Set that this Virtual Machine should be created within. Changing this forces a new resource to be created. + // Specifies the Orchestrated Virtual Machine Scale Set that this Virtual Machine should be created within. + // + // > **NOTE:** To update `virtualMachineScaleSetId` the Preview Feature `Microsoft.Compute/SingleFDAttachDetachVMToVmss` needs to be enabled, see [the documentation](https://review.learn.microsoft.com/azure/virtual-machine-scale-sets/virtual-machine-scale-sets-attach-detach-vm#enroll-in-the-preview) for more information. // // > **NOTE:** Orchestrated Virtual Machine Scale Sets can be provisioned using [the `compute.OrchestratedVirtualMachineScaleSet` resource](https://www.terraform.io/docs/providers/azurerm/r/orchestrated_virtual_machine_scale_set.html). VirtualMachineScaleSetId pulumi.StringPtrInput + // Specifies whether VMAgent Platform Updates is enabled. Defaults to `false`. + VmAgentPlatformUpdatesEnabled pulumi.BoolPtrInput // Specifies whether vTPM should be enabled on the virtual machine. Changing this forces a new resource to be created. VtpmEnabled pulumi.BoolPtrInput // Specifies the Availability Zones in which this Linux Virtual Machine should be located. Changing this forces a new Linux Virtual Machine to be created. @@ -648,6 +672,8 @@ type linuxVirtualMachineArgs struct { // // > **NOTE:** When an `adminPassword` is specified `disablePasswordAuthentication` must be set to `false`. DisablePasswordAuthentication *bool `pulumi:"disablePasswordAuthentication"` + // Specifies the Disk Controller Type used for this Virtual Machine. Possible values are `SCSI` and `NVMe`. + DiskControllerType *string `pulumi:"diskControllerType"` // Specifies the Edge Zone within the Azure Region where this Linux Virtual Machine should exist. Changing this forces a new Linux Virtual Machine to be created. EdgeZone *string `pulumi:"edgeZone"` // Should all of the disks (including the temp disk) attached to this Virtual Machine be encrypted by enabling Encryption at Host? @@ -676,6 +702,8 @@ type linuxVirtualMachineArgs struct { NetworkInterfaceIds []string `pulumi:"networkInterfaceIds"` // A `osDisk` block as defined below. OsDisk LinuxVirtualMachineOsDisk `pulumi:"osDisk"` + // A `osImageNotification` block as defined below. + OsImageNotification *LinuxVirtualMachineOsImageNotification `pulumi:"osImageNotification"` // Specifies the mode of VM Guest Patching for the Virtual Machine. Possible values are `AutomaticByPlatform` or `ImageDefault`. Defaults to `ImageDefault`. // // > **NOTE:** If the `patchAssessmentMode` is set to `AutomaticByPlatform` then the `provisionVmAgent` field must be set to `true`. @@ -722,10 +750,14 @@ type linuxVirtualMachineArgs struct { TerminationNotification *LinuxVirtualMachineTerminationNotification `pulumi:"terminationNotification"` // The Base64-Encoded User Data which should be used for this Virtual Machine. UserData *string `pulumi:"userData"` - // Specifies the Orchestrated Virtual Machine Scale Set that this Virtual Machine should be created within. Changing this forces a new resource to be created. + // Specifies the Orchestrated Virtual Machine Scale Set that this Virtual Machine should be created within. + // + // > **NOTE:** To update `virtualMachineScaleSetId` the Preview Feature `Microsoft.Compute/SingleFDAttachDetachVMToVmss` needs to be enabled, see [the documentation](https://review.learn.microsoft.com/azure/virtual-machine-scale-sets/virtual-machine-scale-sets-attach-detach-vm#enroll-in-the-preview) for more information. // // > **NOTE:** Orchestrated Virtual Machine Scale Sets can be provisioned using [the `compute.OrchestratedVirtualMachineScaleSet` resource](https://www.terraform.io/docs/providers/azurerm/r/orchestrated_virtual_machine_scale_set.html). VirtualMachineScaleSetId *string `pulumi:"virtualMachineScaleSetId"` + // Specifies whether VMAgent Platform Updates is enabled. Defaults to `false`. + VmAgentPlatformUpdatesEnabled *bool `pulumi:"vmAgentPlatformUpdatesEnabled"` // Specifies whether vTPM should be enabled on the virtual machine. Changing this forces a new resource to be created. VtpmEnabled *bool `pulumi:"vtpmEnabled"` // Specifies the Availability Zones in which this Linux Virtual Machine should be located. Changing this forces a new Linux Virtual Machine to be created. @@ -775,6 +807,8 @@ type LinuxVirtualMachineArgs struct { // // > **NOTE:** When an `adminPassword` is specified `disablePasswordAuthentication` must be set to `false`. DisablePasswordAuthentication pulumi.BoolPtrInput + // Specifies the Disk Controller Type used for this Virtual Machine. Possible values are `SCSI` and `NVMe`. + DiskControllerType pulumi.StringPtrInput // Specifies the Edge Zone within the Azure Region where this Linux Virtual Machine should exist. Changing this forces a new Linux Virtual Machine to be created. EdgeZone pulumi.StringPtrInput // Should all of the disks (including the temp disk) attached to this Virtual Machine be encrypted by enabling Encryption at Host? @@ -803,6 +837,8 @@ type LinuxVirtualMachineArgs struct { NetworkInterfaceIds pulumi.StringArrayInput // A `osDisk` block as defined below. OsDisk LinuxVirtualMachineOsDiskInput + // A `osImageNotification` block as defined below. + OsImageNotification LinuxVirtualMachineOsImageNotificationPtrInput // Specifies the mode of VM Guest Patching for the Virtual Machine. Possible values are `AutomaticByPlatform` or `ImageDefault`. Defaults to `ImageDefault`. // // > **NOTE:** If the `patchAssessmentMode` is set to `AutomaticByPlatform` then the `provisionVmAgent` field must be set to `true`. @@ -849,10 +885,14 @@ type LinuxVirtualMachineArgs struct { TerminationNotification LinuxVirtualMachineTerminationNotificationPtrInput // The Base64-Encoded User Data which should be used for this Virtual Machine. UserData pulumi.StringPtrInput - // Specifies the Orchestrated Virtual Machine Scale Set that this Virtual Machine should be created within. Changing this forces a new resource to be created. + // Specifies the Orchestrated Virtual Machine Scale Set that this Virtual Machine should be created within. + // + // > **NOTE:** To update `virtualMachineScaleSetId` the Preview Feature `Microsoft.Compute/SingleFDAttachDetachVMToVmss` needs to be enabled, see [the documentation](https://review.learn.microsoft.com/azure/virtual-machine-scale-sets/virtual-machine-scale-sets-attach-detach-vm#enroll-in-the-preview) for more information. // // > **NOTE:** Orchestrated Virtual Machine Scale Sets can be provisioned using [the `compute.OrchestratedVirtualMachineScaleSet` resource](https://www.terraform.io/docs/providers/azurerm/r/orchestrated_virtual_machine_scale_set.html). VirtualMachineScaleSetId pulumi.StringPtrInput + // Specifies whether VMAgent Platform Updates is enabled. Defaults to `false`. + VmAgentPlatformUpdatesEnabled pulumi.BoolPtrInput // Specifies whether vTPM should be enabled on the virtual machine. Changing this forces a new resource to be created. VtpmEnabled pulumi.BoolPtrInput // Specifies the Availability Zones in which this Linux Virtual Machine should be located. Changing this forces a new Linux Virtual Machine to be created. @@ -1033,6 +1073,11 @@ func (o LinuxVirtualMachineOutput) DisablePasswordAuthentication() pulumi.BoolPt return o.ApplyT(func(v *LinuxVirtualMachine) pulumi.BoolPtrOutput { return v.DisablePasswordAuthentication }).(pulumi.BoolPtrOutput) } +// Specifies the Disk Controller Type used for this Virtual Machine. Possible values are `SCSI` and `NVMe`. +func (o LinuxVirtualMachineOutput) DiskControllerType() pulumi.StringOutput { + return o.ApplyT(func(v *LinuxVirtualMachine) pulumi.StringOutput { return v.DiskControllerType }).(pulumi.StringOutput) +} + // Specifies the Edge Zone within the Azure Region where this Linux Virtual Machine should exist. Changing this forces a new Linux Virtual Machine to be created. func (o LinuxVirtualMachineOutput) EdgeZone() pulumi.StringPtrOutput { return o.ApplyT(func(v *LinuxVirtualMachine) pulumi.StringPtrOutput { return v.EdgeZone }).(pulumi.StringPtrOutput) @@ -1099,6 +1144,13 @@ func (o LinuxVirtualMachineOutput) OsDisk() LinuxVirtualMachineOsDiskOutput { return o.ApplyT(func(v *LinuxVirtualMachine) LinuxVirtualMachineOsDiskOutput { return v.OsDisk }).(LinuxVirtualMachineOsDiskOutput) } +// A `osImageNotification` block as defined below. +func (o LinuxVirtualMachineOutput) OsImageNotification() LinuxVirtualMachineOsImageNotificationPtrOutput { + return o.ApplyT(func(v *LinuxVirtualMachine) LinuxVirtualMachineOsImageNotificationPtrOutput { + return v.OsImageNotification + }).(LinuxVirtualMachineOsImageNotificationPtrOutput) +} + // Specifies the mode of VM Guest Patching for the Virtual Machine. Possible values are `AutomaticByPlatform` or `ImageDefault`. Defaults to `ImageDefault`. // // > **NOTE:** If the `patchAssessmentMode` is set to `AutomaticByPlatform` then the `provisionVmAgent` field must be set to `true`. @@ -1225,13 +1277,20 @@ func (o LinuxVirtualMachineOutput) VirtualMachineId() pulumi.StringOutput { return o.ApplyT(func(v *LinuxVirtualMachine) pulumi.StringOutput { return v.VirtualMachineId }).(pulumi.StringOutput) } -// Specifies the Orchestrated Virtual Machine Scale Set that this Virtual Machine should be created within. Changing this forces a new resource to be created. +// Specifies the Orchestrated Virtual Machine Scale Set that this Virtual Machine should be created within. +// +// > **NOTE:** To update `virtualMachineScaleSetId` the Preview Feature `Microsoft.Compute/SingleFDAttachDetachVMToVmss` needs to be enabled, see [the documentation](https://review.learn.microsoft.com/azure/virtual-machine-scale-sets/virtual-machine-scale-sets-attach-detach-vm#enroll-in-the-preview) for more information. // // > **NOTE:** Orchestrated Virtual Machine Scale Sets can be provisioned using [the `compute.OrchestratedVirtualMachineScaleSet` resource](https://www.terraform.io/docs/providers/azurerm/r/orchestrated_virtual_machine_scale_set.html). func (o LinuxVirtualMachineOutput) VirtualMachineScaleSetId() pulumi.StringPtrOutput { return o.ApplyT(func(v *LinuxVirtualMachine) pulumi.StringPtrOutput { return v.VirtualMachineScaleSetId }).(pulumi.StringPtrOutput) } +// Specifies whether VMAgent Platform Updates is enabled. Defaults to `false`. +func (o LinuxVirtualMachineOutput) VmAgentPlatformUpdatesEnabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *LinuxVirtualMachine) pulumi.BoolPtrOutput { return v.VmAgentPlatformUpdatesEnabled }).(pulumi.BoolPtrOutput) +} + // Specifies whether vTPM should be enabled on the virtual machine. Changing this forces a new resource to be created. func (o LinuxVirtualMachineOutput) VtpmEnabled() pulumi.BoolPtrOutput { return o.ApplyT(func(v *LinuxVirtualMachine) pulumi.BoolPtrOutput { return v.VtpmEnabled }).(pulumi.BoolPtrOutput) diff --git a/sdk/go/azure/compute/orchestratedVirtualMachineScaleSet.go b/sdk/go/azure/compute/orchestratedVirtualMachineScaleSet.go index 449e60c39e..bf84e62e9a 100644 --- a/sdk/go/azure/compute/orchestratedVirtualMachineScaleSet.go +++ b/sdk/go/azure/compute/orchestratedVirtualMachineScaleSet.go @@ -88,7 +88,7 @@ type OrchestratedVirtualMachineScaleSet struct { DataDisks OrchestratedVirtualMachineScaleSetDataDiskArrayOutput `pulumi:"dataDisks"` // Should disks attached to this Virtual Machine Scale Set be encrypted by enabling Encryption at Host? EncryptionAtHostEnabled pulumi.BoolPtrOutput `pulumi:"encryptionAtHostEnabled"` - // The Policy which should be used Virtual Machines are Evicted from the Scale Set. Possible values are `Deallocate` and `Delete`. Changing this forces a new resource to be created. + // The Policy which should be used by Spot Virtual Machines that are Evicted from the Scale Set. Possible values are `Deallocate` and `Delete`. Changing this forces a new resource to be created. EvictionPolicy pulumi.StringPtrOutput `pulumi:"evictionPolicy"` // Should extension operations be allowed on the Virtual Machine Scale Set? Possible values are `true` or `false`. Defaults to `true`. Changing this forces a new Virtual Machine Scale Set to be created. // @@ -219,7 +219,7 @@ type orchestratedVirtualMachineScaleSetState struct { DataDisks []OrchestratedVirtualMachineScaleSetDataDisk `pulumi:"dataDisks"` // Should disks attached to this Virtual Machine Scale Set be encrypted by enabling Encryption at Host? EncryptionAtHostEnabled *bool `pulumi:"encryptionAtHostEnabled"` - // The Policy which should be used Virtual Machines are Evicted from the Scale Set. Possible values are `Deallocate` and `Delete`. Changing this forces a new resource to be created. + // The Policy which should be used by Spot Virtual Machines that are Evicted from the Scale Set. Possible values are `Deallocate` and `Delete`. Changing this forces a new resource to be created. EvictionPolicy *string `pulumi:"evictionPolicy"` // Should extension operations be allowed on the Virtual Machine Scale Set? Possible values are `true` or `false`. Defaults to `true`. Changing this forces a new Virtual Machine Scale Set to be created. // @@ -308,7 +308,7 @@ type OrchestratedVirtualMachineScaleSetState struct { DataDisks OrchestratedVirtualMachineScaleSetDataDiskArrayInput // Should disks attached to this Virtual Machine Scale Set be encrypted by enabling Encryption at Host? EncryptionAtHostEnabled pulumi.BoolPtrInput - // The Policy which should be used Virtual Machines are Evicted from the Scale Set. Possible values are `Deallocate` and `Delete`. Changing this forces a new resource to be created. + // The Policy which should be used by Spot Virtual Machines that are Evicted from the Scale Set. Possible values are `Deallocate` and `Delete`. Changing this forces a new resource to be created. EvictionPolicy pulumi.StringPtrInput // Should extension operations be allowed on the Virtual Machine Scale Set? Possible values are `true` or `false`. Defaults to `true`. Changing this forces a new Virtual Machine Scale Set to be created. // @@ -401,7 +401,7 @@ type orchestratedVirtualMachineScaleSetArgs struct { DataDisks []OrchestratedVirtualMachineScaleSetDataDisk `pulumi:"dataDisks"` // Should disks attached to this Virtual Machine Scale Set be encrypted by enabling Encryption at Host? EncryptionAtHostEnabled *bool `pulumi:"encryptionAtHostEnabled"` - // The Policy which should be used Virtual Machines are Evicted from the Scale Set. Possible values are `Deallocate` and `Delete`. Changing this forces a new resource to be created. + // The Policy which should be used by Spot Virtual Machines that are Evicted from the Scale Set. Possible values are `Deallocate` and `Delete`. Changing this forces a new resource to be created. EvictionPolicy *string `pulumi:"evictionPolicy"` // Should extension operations be allowed on the Virtual Machine Scale Set? Possible values are `true` or `false`. Defaults to `true`. Changing this forces a new Virtual Machine Scale Set to be created. // @@ -489,7 +489,7 @@ type OrchestratedVirtualMachineScaleSetArgs struct { DataDisks OrchestratedVirtualMachineScaleSetDataDiskArrayInput // Should disks attached to this Virtual Machine Scale Set be encrypted by enabling Encryption at Host? EncryptionAtHostEnabled pulumi.BoolPtrInput - // The Policy which should be used Virtual Machines are Evicted from the Scale Set. Possible values are `Deallocate` and `Delete`. Changing this forces a new resource to be created. + // The Policy which should be used by Spot Virtual Machines that are Evicted from the Scale Set. Possible values are `Deallocate` and `Delete`. Changing this forces a new resource to be created. EvictionPolicy pulumi.StringPtrInput // Should extension operations be allowed on the Virtual Machine Scale Set? Possible values are `true` or `false`. Defaults to `true`. Changing this forces a new Virtual Machine Scale Set to be created. // @@ -690,7 +690,7 @@ func (o OrchestratedVirtualMachineScaleSetOutput) EncryptionAtHostEnabled() pulu return o.ApplyT(func(v *OrchestratedVirtualMachineScaleSet) pulumi.BoolPtrOutput { return v.EncryptionAtHostEnabled }).(pulumi.BoolPtrOutput) } -// The Policy which should be used Virtual Machines are Evicted from the Scale Set. Possible values are `Deallocate` and `Delete`. Changing this forces a new resource to be created. +// The Policy which should be used by Spot Virtual Machines that are Evicted from the Scale Set. Possible values are `Deallocate` and `Delete`. Changing this forces a new resource to be created. func (o OrchestratedVirtualMachineScaleSetOutput) EvictionPolicy() pulumi.StringPtrOutput { return o.ApplyT(func(v *OrchestratedVirtualMachineScaleSet) pulumi.StringPtrOutput { return v.EvictionPolicy }).(pulumi.StringPtrOutput) } diff --git a/sdk/go/azure/compute/pulumiTypes.go b/sdk/go/azure/compute/pulumiTypes.go index a5d4faab12..738562e6b4 100644 --- a/sdk/go/azure/compute/pulumiTypes.go +++ b/sdk/go/azure/compute/pulumiTypes.go @@ -1944,12 +1944,16 @@ func (o LinuxVirtualMachineBootDiagnosticsPtrOutput) StorageAccountUri() pulumi. } type LinuxVirtualMachineGalleryApplication struct { + // Specifies whether the version will be automatically updated for the VM when a new Gallery Application version is available in PIR/SIG. Defaults to `false`. + AutomaticUpgradeEnabled *bool `pulumi:"automaticUpgradeEnabled"` // Specifies the URI to an Azure Blob that will replace the default configuration for the package if provided. ConfigurationBlobUri *string `pulumi:"configurationBlobUri"` // Specifies the order in which the packages have to be installed. Possible values are between `0` and `2,147,483,647`. Order *int `pulumi:"order"` // Specifies a passthrough value for more generic context. This field can be any valid `string` value. Tag *string `pulumi:"tag"` + // Specifies whether any failure for any operation in the VmApplication will fail the deployment of the VM. Defaults to `false`. + TreatFailureAsDeploymentFailureEnabled *bool `pulumi:"treatFailureAsDeploymentFailureEnabled"` // Specifies the Gallery Application Version resource ID. VersionId string `pulumi:"versionId"` } @@ -1966,12 +1970,16 @@ type LinuxVirtualMachineGalleryApplicationInput interface { } type LinuxVirtualMachineGalleryApplicationArgs struct { + // Specifies whether the version will be automatically updated for the VM when a new Gallery Application version is available in PIR/SIG. Defaults to `false`. + AutomaticUpgradeEnabled pulumi.BoolPtrInput `pulumi:"automaticUpgradeEnabled"` // Specifies the URI to an Azure Blob that will replace the default configuration for the package if provided. ConfigurationBlobUri pulumi.StringPtrInput `pulumi:"configurationBlobUri"` // Specifies the order in which the packages have to be installed. Possible values are between `0` and `2,147,483,647`. Order pulumi.IntPtrInput `pulumi:"order"` // Specifies a passthrough value for more generic context. This field can be any valid `string` value. Tag pulumi.StringPtrInput `pulumi:"tag"` + // Specifies whether any failure for any operation in the VmApplication will fail the deployment of the VM. Defaults to `false`. + TreatFailureAsDeploymentFailureEnabled pulumi.BoolPtrInput `pulumi:"treatFailureAsDeploymentFailureEnabled"` // Specifies the Gallery Application Version resource ID. VersionId pulumi.StringInput `pulumi:"versionId"` } @@ -2027,6 +2035,11 @@ func (o LinuxVirtualMachineGalleryApplicationOutput) ToLinuxVirtualMachineGaller return o } +// Specifies whether the version will be automatically updated for the VM when a new Gallery Application version is available in PIR/SIG. Defaults to `false`. +func (o LinuxVirtualMachineGalleryApplicationOutput) AutomaticUpgradeEnabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v LinuxVirtualMachineGalleryApplication) *bool { return v.AutomaticUpgradeEnabled }).(pulumi.BoolPtrOutput) +} + // Specifies the URI to an Azure Blob that will replace the default configuration for the package if provided. func (o LinuxVirtualMachineGalleryApplicationOutput) ConfigurationBlobUri() pulumi.StringPtrOutput { return o.ApplyT(func(v LinuxVirtualMachineGalleryApplication) *string { return v.ConfigurationBlobUri }).(pulumi.StringPtrOutput) @@ -2042,6 +2055,11 @@ func (o LinuxVirtualMachineGalleryApplicationOutput) Tag() pulumi.StringPtrOutpu return o.ApplyT(func(v LinuxVirtualMachineGalleryApplication) *string { return v.Tag }).(pulumi.StringPtrOutput) } +// Specifies whether any failure for any operation in the VmApplication will fail the deployment of the VM. Defaults to `false`. +func (o LinuxVirtualMachineGalleryApplicationOutput) TreatFailureAsDeploymentFailureEnabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v LinuxVirtualMachineGalleryApplication) *bool { return v.TreatFailureAsDeploymentFailureEnabled }).(pulumi.BoolPtrOutput) +} + // Specifies the Gallery Application Version resource ID. func (o LinuxVirtualMachineGalleryApplicationOutput) VersionId() pulumi.StringOutput { return o.ApplyT(func(v LinuxVirtualMachineGalleryApplication) string { return v.VersionId }).(pulumi.StringOutput) @@ -2772,6 +2790,143 @@ func (o LinuxVirtualMachineOsDiskDiffDiskSettingsPtrOutput) Placement() pulumi.S }).(pulumi.StringPtrOutput) } +type LinuxVirtualMachineOsImageNotification struct { + // Length of time a notification to be sent to the VM on the instance metadata server till the VM gets OS upgraded. The only possible value is `PT15M`. Defaults to `PT15M`. + Timeout *string `pulumi:"timeout"` +} + +// LinuxVirtualMachineOsImageNotificationInput is an input type that accepts LinuxVirtualMachineOsImageNotificationArgs and LinuxVirtualMachineOsImageNotificationOutput values. +// You can construct a concrete instance of `LinuxVirtualMachineOsImageNotificationInput` via: +// +// LinuxVirtualMachineOsImageNotificationArgs{...} +type LinuxVirtualMachineOsImageNotificationInput interface { + pulumi.Input + + ToLinuxVirtualMachineOsImageNotificationOutput() LinuxVirtualMachineOsImageNotificationOutput + ToLinuxVirtualMachineOsImageNotificationOutputWithContext(context.Context) LinuxVirtualMachineOsImageNotificationOutput +} + +type LinuxVirtualMachineOsImageNotificationArgs struct { + // Length of time a notification to be sent to the VM on the instance metadata server till the VM gets OS upgraded. The only possible value is `PT15M`. Defaults to `PT15M`. + Timeout pulumi.StringPtrInput `pulumi:"timeout"` +} + +func (LinuxVirtualMachineOsImageNotificationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LinuxVirtualMachineOsImageNotification)(nil)).Elem() +} + +func (i LinuxVirtualMachineOsImageNotificationArgs) ToLinuxVirtualMachineOsImageNotificationOutput() LinuxVirtualMachineOsImageNotificationOutput { + return i.ToLinuxVirtualMachineOsImageNotificationOutputWithContext(context.Background()) +} + +func (i LinuxVirtualMachineOsImageNotificationArgs) ToLinuxVirtualMachineOsImageNotificationOutputWithContext(ctx context.Context) LinuxVirtualMachineOsImageNotificationOutput { + return pulumi.ToOutputWithContext(ctx, i).(LinuxVirtualMachineOsImageNotificationOutput) +} + +func (i LinuxVirtualMachineOsImageNotificationArgs) ToLinuxVirtualMachineOsImageNotificationPtrOutput() LinuxVirtualMachineOsImageNotificationPtrOutput { + return i.ToLinuxVirtualMachineOsImageNotificationPtrOutputWithContext(context.Background()) +} + +func (i LinuxVirtualMachineOsImageNotificationArgs) ToLinuxVirtualMachineOsImageNotificationPtrOutputWithContext(ctx context.Context) LinuxVirtualMachineOsImageNotificationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(LinuxVirtualMachineOsImageNotificationOutput).ToLinuxVirtualMachineOsImageNotificationPtrOutputWithContext(ctx) +} + +// LinuxVirtualMachineOsImageNotificationPtrInput is an input type that accepts LinuxVirtualMachineOsImageNotificationArgs, LinuxVirtualMachineOsImageNotificationPtr and LinuxVirtualMachineOsImageNotificationPtrOutput values. +// You can construct a concrete instance of `LinuxVirtualMachineOsImageNotificationPtrInput` via: +// +// LinuxVirtualMachineOsImageNotificationArgs{...} +// +// or: +// +// nil +type LinuxVirtualMachineOsImageNotificationPtrInput interface { + pulumi.Input + + ToLinuxVirtualMachineOsImageNotificationPtrOutput() LinuxVirtualMachineOsImageNotificationPtrOutput + ToLinuxVirtualMachineOsImageNotificationPtrOutputWithContext(context.Context) LinuxVirtualMachineOsImageNotificationPtrOutput +} + +type linuxVirtualMachineOsImageNotificationPtrType LinuxVirtualMachineOsImageNotificationArgs + +func LinuxVirtualMachineOsImageNotificationPtr(v *LinuxVirtualMachineOsImageNotificationArgs) LinuxVirtualMachineOsImageNotificationPtrInput { + return (*linuxVirtualMachineOsImageNotificationPtrType)(v) +} + +func (*linuxVirtualMachineOsImageNotificationPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**LinuxVirtualMachineOsImageNotification)(nil)).Elem() +} + +func (i *linuxVirtualMachineOsImageNotificationPtrType) ToLinuxVirtualMachineOsImageNotificationPtrOutput() LinuxVirtualMachineOsImageNotificationPtrOutput { + return i.ToLinuxVirtualMachineOsImageNotificationPtrOutputWithContext(context.Background()) +} + +func (i *linuxVirtualMachineOsImageNotificationPtrType) ToLinuxVirtualMachineOsImageNotificationPtrOutputWithContext(ctx context.Context) LinuxVirtualMachineOsImageNotificationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(LinuxVirtualMachineOsImageNotificationPtrOutput) +} + +type LinuxVirtualMachineOsImageNotificationOutput struct{ *pulumi.OutputState } + +func (LinuxVirtualMachineOsImageNotificationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LinuxVirtualMachineOsImageNotification)(nil)).Elem() +} + +func (o LinuxVirtualMachineOsImageNotificationOutput) ToLinuxVirtualMachineOsImageNotificationOutput() LinuxVirtualMachineOsImageNotificationOutput { + return o +} + +func (o LinuxVirtualMachineOsImageNotificationOutput) ToLinuxVirtualMachineOsImageNotificationOutputWithContext(ctx context.Context) LinuxVirtualMachineOsImageNotificationOutput { + return o +} + +func (o LinuxVirtualMachineOsImageNotificationOutput) ToLinuxVirtualMachineOsImageNotificationPtrOutput() LinuxVirtualMachineOsImageNotificationPtrOutput { + return o.ToLinuxVirtualMachineOsImageNotificationPtrOutputWithContext(context.Background()) +} + +func (o LinuxVirtualMachineOsImageNotificationOutput) ToLinuxVirtualMachineOsImageNotificationPtrOutputWithContext(ctx context.Context) LinuxVirtualMachineOsImageNotificationPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v LinuxVirtualMachineOsImageNotification) *LinuxVirtualMachineOsImageNotification { + return &v + }).(LinuxVirtualMachineOsImageNotificationPtrOutput) +} + +// Length of time a notification to be sent to the VM on the instance metadata server till the VM gets OS upgraded. The only possible value is `PT15M`. Defaults to `PT15M`. +func (o LinuxVirtualMachineOsImageNotificationOutput) Timeout() pulumi.StringPtrOutput { + return o.ApplyT(func(v LinuxVirtualMachineOsImageNotification) *string { return v.Timeout }).(pulumi.StringPtrOutput) +} + +type LinuxVirtualMachineOsImageNotificationPtrOutput struct{ *pulumi.OutputState } + +func (LinuxVirtualMachineOsImageNotificationPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**LinuxVirtualMachineOsImageNotification)(nil)).Elem() +} + +func (o LinuxVirtualMachineOsImageNotificationPtrOutput) ToLinuxVirtualMachineOsImageNotificationPtrOutput() LinuxVirtualMachineOsImageNotificationPtrOutput { + return o +} + +func (o LinuxVirtualMachineOsImageNotificationPtrOutput) ToLinuxVirtualMachineOsImageNotificationPtrOutputWithContext(ctx context.Context) LinuxVirtualMachineOsImageNotificationPtrOutput { + return o +} + +func (o LinuxVirtualMachineOsImageNotificationPtrOutput) Elem() LinuxVirtualMachineOsImageNotificationOutput { + return o.ApplyT(func(v *LinuxVirtualMachineOsImageNotification) LinuxVirtualMachineOsImageNotification { + if v != nil { + return *v + } + var ret LinuxVirtualMachineOsImageNotification + return ret + }).(LinuxVirtualMachineOsImageNotificationOutput) +} + +// Length of time a notification to be sent to the VM on the instance metadata server till the VM gets OS upgraded. The only possible value is `PT15M`. Defaults to `PT15M`. +func (o LinuxVirtualMachineOsImageNotificationPtrOutput) Timeout() pulumi.StringPtrOutput { + return o.ApplyT(func(v *LinuxVirtualMachineOsImageNotification) *string { + if v == nil { + return nil + } + return v.Timeout + }).(pulumi.StringPtrOutput) +} + type LinuxVirtualMachinePlan struct { // Specifies the Name of the Marketplace Image this Virtual Machine should be created from. Changing this forces a new resource to be created. Name string `pulumi:"name"` @@ -8616,10 +8771,10 @@ type OrchestratedVirtualMachineScaleSetDataDisk struct { CreateOption *string `pulumi:"createOption"` // The ID of the Disk Encryption Set which should be used to encrypt the Data Disk. Changing this forces a new resource to be created. DiskEncryptionSetId *string `pulumi:"diskEncryptionSetId"` - // The size of the Data Disk which should be created. - DiskSizeGb int `pulumi:"diskSizeGb"` - // The Logical Unit Number of the Data Disk, which must be unique within the Virtual Machine. - Lun int `pulumi:"lun"` + // The size of the Data Disk which should be created. Required if `createOption` is specified as `Empty`. + DiskSizeGb *int `pulumi:"diskSizeGb"` + // The Logical Unit Number of the Data Disk, which must be unique within the Virtual Machine. Required if `createOption` is specified as `Empty`. + Lun *int `pulumi:"lun"` // The Type of Storage Account which should back this Data Disk. Possible values include `Standard_LRS`, `StandardSSD_LRS`, `StandardSSD_ZRS`, `Premium_LRS`, `PremiumV2_LRS`, `Premium_ZRS` and `UltraSSD_LRS`. StorageAccountType string `pulumi:"storageAccountType"` // Specifies the Read-Write IOPS for this Data Disk. Only settable when `storageAccountType` is `PremiumV2_LRS` or `UltraSSD_LRS`. @@ -8648,10 +8803,10 @@ type OrchestratedVirtualMachineScaleSetDataDiskArgs struct { CreateOption pulumi.StringPtrInput `pulumi:"createOption"` // The ID of the Disk Encryption Set which should be used to encrypt the Data Disk. Changing this forces a new resource to be created. DiskEncryptionSetId pulumi.StringPtrInput `pulumi:"diskEncryptionSetId"` - // The size of the Data Disk which should be created. - DiskSizeGb pulumi.IntInput `pulumi:"diskSizeGb"` - // The Logical Unit Number of the Data Disk, which must be unique within the Virtual Machine. - Lun pulumi.IntInput `pulumi:"lun"` + // The size of the Data Disk which should be created. Required if `createOption` is specified as `Empty`. + DiskSizeGb pulumi.IntPtrInput `pulumi:"diskSizeGb"` + // The Logical Unit Number of the Data Disk, which must be unique within the Virtual Machine. Required if `createOption` is specified as `Empty`. + Lun pulumi.IntPtrInput `pulumi:"lun"` // The Type of Storage Account which should back this Data Disk. Possible values include `Standard_LRS`, `StandardSSD_LRS`, `StandardSSD_ZRS`, `Premium_LRS`, `PremiumV2_LRS`, `Premium_ZRS` and `UltraSSD_LRS`. StorageAccountType pulumi.StringInput `pulumi:"storageAccountType"` // Specifies the Read-Write IOPS for this Data Disk. Only settable when `storageAccountType` is `PremiumV2_LRS` or `UltraSSD_LRS`. @@ -8728,14 +8883,14 @@ func (o OrchestratedVirtualMachineScaleSetDataDiskOutput) DiskEncryptionSetId() return o.ApplyT(func(v OrchestratedVirtualMachineScaleSetDataDisk) *string { return v.DiskEncryptionSetId }).(pulumi.StringPtrOutput) } -// The size of the Data Disk which should be created. -func (o OrchestratedVirtualMachineScaleSetDataDiskOutput) DiskSizeGb() pulumi.IntOutput { - return o.ApplyT(func(v OrchestratedVirtualMachineScaleSetDataDisk) int { return v.DiskSizeGb }).(pulumi.IntOutput) +// The size of the Data Disk which should be created. Required if `createOption` is specified as `Empty`. +func (o OrchestratedVirtualMachineScaleSetDataDiskOutput) DiskSizeGb() pulumi.IntPtrOutput { + return o.ApplyT(func(v OrchestratedVirtualMachineScaleSetDataDisk) *int { return v.DiskSizeGb }).(pulumi.IntPtrOutput) } -// The Logical Unit Number of the Data Disk, which must be unique within the Virtual Machine. -func (o OrchestratedVirtualMachineScaleSetDataDiskOutput) Lun() pulumi.IntOutput { - return o.ApplyT(func(v OrchestratedVirtualMachineScaleSetDataDisk) int { return v.Lun }).(pulumi.IntOutput) +// The Logical Unit Number of the Data Disk, which must be unique within the Virtual Machine. Required if `createOption` is specified as `Empty`. +func (o OrchestratedVirtualMachineScaleSetDataDiskOutput) Lun() pulumi.IntPtrOutput { + return o.ApplyT(func(v OrchestratedVirtualMachineScaleSetDataDisk) *int { return v.Lun }).(pulumi.IntPtrOutput) } // The Type of Storage Account which should back this Data Disk. Possible values include `Standard_LRS`, `StandardSSD_LRS`, `StandardSSD_ZRS`, `Premium_LRS`, `PremiumV2_LRS`, `Premium_ZRS` and `UltraSSD_LRS`. @@ -22542,12 +22697,16 @@ func (o WindowsVirtualMachineBootDiagnosticsPtrOutput) StorageAccountUri() pulum } type WindowsVirtualMachineGalleryApplication struct { + // Specifies whether the version will be automatically updated for the VM when a new Gallery Application version is available in PIR/SIG. Defaults to `false`. + AutomaticUpgradeEnabled *bool `pulumi:"automaticUpgradeEnabled"` // Specifies the URI to an Azure Blob that will replace the default configuration for the package if provided. ConfigurationBlobUri *string `pulumi:"configurationBlobUri"` // Specifies the order in which the packages have to be installed. Possible values are between `0` and `2,147,483,647`. Order *int `pulumi:"order"` // Specifies a passthrough value for more generic context. This field can be any valid `string` value. Tag *string `pulumi:"tag"` + // Specifies whether any failure for any operation in the VmApplication will fail the deployment of the VM. Defaults to `false`. + TreatFailureAsDeploymentFailureEnabled *bool `pulumi:"treatFailureAsDeploymentFailureEnabled"` // Specifies the Gallery Application Version resource ID. VersionId string `pulumi:"versionId"` } @@ -22564,12 +22723,16 @@ type WindowsVirtualMachineGalleryApplicationInput interface { } type WindowsVirtualMachineGalleryApplicationArgs struct { + // Specifies whether the version will be automatically updated for the VM when a new Gallery Application version is available in PIR/SIG. Defaults to `false`. + AutomaticUpgradeEnabled pulumi.BoolPtrInput `pulumi:"automaticUpgradeEnabled"` // Specifies the URI to an Azure Blob that will replace the default configuration for the package if provided. ConfigurationBlobUri pulumi.StringPtrInput `pulumi:"configurationBlobUri"` // Specifies the order in which the packages have to be installed. Possible values are between `0` and `2,147,483,647`. Order pulumi.IntPtrInput `pulumi:"order"` // Specifies a passthrough value for more generic context. This field can be any valid `string` value. Tag pulumi.StringPtrInput `pulumi:"tag"` + // Specifies whether any failure for any operation in the VmApplication will fail the deployment of the VM. Defaults to `false`. + TreatFailureAsDeploymentFailureEnabled pulumi.BoolPtrInput `pulumi:"treatFailureAsDeploymentFailureEnabled"` // Specifies the Gallery Application Version resource ID. VersionId pulumi.StringInput `pulumi:"versionId"` } @@ -22625,6 +22788,11 @@ func (o WindowsVirtualMachineGalleryApplicationOutput) ToWindowsVirtualMachineGa return o } +// Specifies whether the version will be automatically updated for the VM when a new Gallery Application version is available in PIR/SIG. Defaults to `false`. +func (o WindowsVirtualMachineGalleryApplicationOutput) AutomaticUpgradeEnabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v WindowsVirtualMachineGalleryApplication) *bool { return v.AutomaticUpgradeEnabled }).(pulumi.BoolPtrOutput) +} + // Specifies the URI to an Azure Blob that will replace the default configuration for the package if provided. func (o WindowsVirtualMachineGalleryApplicationOutput) ConfigurationBlobUri() pulumi.StringPtrOutput { return o.ApplyT(func(v WindowsVirtualMachineGalleryApplication) *string { return v.ConfigurationBlobUri }).(pulumi.StringPtrOutput) @@ -22640,6 +22808,11 @@ func (o WindowsVirtualMachineGalleryApplicationOutput) Tag() pulumi.StringPtrOut return o.ApplyT(func(v WindowsVirtualMachineGalleryApplication) *string { return v.Tag }).(pulumi.StringPtrOutput) } +// Specifies whether any failure for any operation in the VmApplication will fail the deployment of the VM. Defaults to `false`. +func (o WindowsVirtualMachineGalleryApplicationOutput) TreatFailureAsDeploymentFailureEnabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v WindowsVirtualMachineGalleryApplication) *bool { return v.TreatFailureAsDeploymentFailureEnabled }).(pulumi.BoolPtrOutput) +} + // Specifies the Gallery Application Version resource ID. func (o WindowsVirtualMachineGalleryApplicationOutput) VersionId() pulumi.StringOutput { return o.ApplyT(func(v WindowsVirtualMachineGalleryApplication) string { return v.VersionId }).(pulumi.StringOutput) @@ -23370,6 +23543,143 @@ func (o WindowsVirtualMachineOsDiskDiffDiskSettingsPtrOutput) Placement() pulumi }).(pulumi.StringPtrOutput) } +type WindowsVirtualMachineOsImageNotification struct { + // Length of time a notification to be sent to the VM on the instance metadata server till the VM gets OS upgraded. The only possible value is `PT15M`. Defaults to `PT15M`. + Timeout *string `pulumi:"timeout"` +} + +// WindowsVirtualMachineOsImageNotificationInput is an input type that accepts WindowsVirtualMachineOsImageNotificationArgs and WindowsVirtualMachineOsImageNotificationOutput values. +// You can construct a concrete instance of `WindowsVirtualMachineOsImageNotificationInput` via: +// +// WindowsVirtualMachineOsImageNotificationArgs{...} +type WindowsVirtualMachineOsImageNotificationInput interface { + pulumi.Input + + ToWindowsVirtualMachineOsImageNotificationOutput() WindowsVirtualMachineOsImageNotificationOutput + ToWindowsVirtualMachineOsImageNotificationOutputWithContext(context.Context) WindowsVirtualMachineOsImageNotificationOutput +} + +type WindowsVirtualMachineOsImageNotificationArgs struct { + // Length of time a notification to be sent to the VM on the instance metadata server till the VM gets OS upgraded. The only possible value is `PT15M`. Defaults to `PT15M`. + Timeout pulumi.StringPtrInput `pulumi:"timeout"` +} + +func (WindowsVirtualMachineOsImageNotificationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*WindowsVirtualMachineOsImageNotification)(nil)).Elem() +} + +func (i WindowsVirtualMachineOsImageNotificationArgs) ToWindowsVirtualMachineOsImageNotificationOutput() WindowsVirtualMachineOsImageNotificationOutput { + return i.ToWindowsVirtualMachineOsImageNotificationOutputWithContext(context.Background()) +} + +func (i WindowsVirtualMachineOsImageNotificationArgs) ToWindowsVirtualMachineOsImageNotificationOutputWithContext(ctx context.Context) WindowsVirtualMachineOsImageNotificationOutput { + return pulumi.ToOutputWithContext(ctx, i).(WindowsVirtualMachineOsImageNotificationOutput) +} + +func (i WindowsVirtualMachineOsImageNotificationArgs) ToWindowsVirtualMachineOsImageNotificationPtrOutput() WindowsVirtualMachineOsImageNotificationPtrOutput { + return i.ToWindowsVirtualMachineOsImageNotificationPtrOutputWithContext(context.Background()) +} + +func (i WindowsVirtualMachineOsImageNotificationArgs) ToWindowsVirtualMachineOsImageNotificationPtrOutputWithContext(ctx context.Context) WindowsVirtualMachineOsImageNotificationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(WindowsVirtualMachineOsImageNotificationOutput).ToWindowsVirtualMachineOsImageNotificationPtrOutputWithContext(ctx) +} + +// WindowsVirtualMachineOsImageNotificationPtrInput is an input type that accepts WindowsVirtualMachineOsImageNotificationArgs, WindowsVirtualMachineOsImageNotificationPtr and WindowsVirtualMachineOsImageNotificationPtrOutput values. +// You can construct a concrete instance of `WindowsVirtualMachineOsImageNotificationPtrInput` via: +// +// WindowsVirtualMachineOsImageNotificationArgs{...} +// +// or: +// +// nil +type WindowsVirtualMachineOsImageNotificationPtrInput interface { + pulumi.Input + + ToWindowsVirtualMachineOsImageNotificationPtrOutput() WindowsVirtualMachineOsImageNotificationPtrOutput + ToWindowsVirtualMachineOsImageNotificationPtrOutputWithContext(context.Context) WindowsVirtualMachineOsImageNotificationPtrOutput +} + +type windowsVirtualMachineOsImageNotificationPtrType WindowsVirtualMachineOsImageNotificationArgs + +func WindowsVirtualMachineOsImageNotificationPtr(v *WindowsVirtualMachineOsImageNotificationArgs) WindowsVirtualMachineOsImageNotificationPtrInput { + return (*windowsVirtualMachineOsImageNotificationPtrType)(v) +} + +func (*windowsVirtualMachineOsImageNotificationPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**WindowsVirtualMachineOsImageNotification)(nil)).Elem() +} + +func (i *windowsVirtualMachineOsImageNotificationPtrType) ToWindowsVirtualMachineOsImageNotificationPtrOutput() WindowsVirtualMachineOsImageNotificationPtrOutput { + return i.ToWindowsVirtualMachineOsImageNotificationPtrOutputWithContext(context.Background()) +} + +func (i *windowsVirtualMachineOsImageNotificationPtrType) ToWindowsVirtualMachineOsImageNotificationPtrOutputWithContext(ctx context.Context) WindowsVirtualMachineOsImageNotificationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(WindowsVirtualMachineOsImageNotificationPtrOutput) +} + +type WindowsVirtualMachineOsImageNotificationOutput struct{ *pulumi.OutputState } + +func (WindowsVirtualMachineOsImageNotificationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*WindowsVirtualMachineOsImageNotification)(nil)).Elem() +} + +func (o WindowsVirtualMachineOsImageNotificationOutput) ToWindowsVirtualMachineOsImageNotificationOutput() WindowsVirtualMachineOsImageNotificationOutput { + return o +} + +func (o WindowsVirtualMachineOsImageNotificationOutput) ToWindowsVirtualMachineOsImageNotificationOutputWithContext(ctx context.Context) WindowsVirtualMachineOsImageNotificationOutput { + return o +} + +func (o WindowsVirtualMachineOsImageNotificationOutput) ToWindowsVirtualMachineOsImageNotificationPtrOutput() WindowsVirtualMachineOsImageNotificationPtrOutput { + return o.ToWindowsVirtualMachineOsImageNotificationPtrOutputWithContext(context.Background()) +} + +func (o WindowsVirtualMachineOsImageNotificationOutput) ToWindowsVirtualMachineOsImageNotificationPtrOutputWithContext(ctx context.Context) WindowsVirtualMachineOsImageNotificationPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v WindowsVirtualMachineOsImageNotification) *WindowsVirtualMachineOsImageNotification { + return &v + }).(WindowsVirtualMachineOsImageNotificationPtrOutput) +} + +// Length of time a notification to be sent to the VM on the instance metadata server till the VM gets OS upgraded. The only possible value is `PT15M`. Defaults to `PT15M`. +func (o WindowsVirtualMachineOsImageNotificationOutput) Timeout() pulumi.StringPtrOutput { + return o.ApplyT(func(v WindowsVirtualMachineOsImageNotification) *string { return v.Timeout }).(pulumi.StringPtrOutput) +} + +type WindowsVirtualMachineOsImageNotificationPtrOutput struct{ *pulumi.OutputState } + +func (WindowsVirtualMachineOsImageNotificationPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**WindowsVirtualMachineOsImageNotification)(nil)).Elem() +} + +func (o WindowsVirtualMachineOsImageNotificationPtrOutput) ToWindowsVirtualMachineOsImageNotificationPtrOutput() WindowsVirtualMachineOsImageNotificationPtrOutput { + return o +} + +func (o WindowsVirtualMachineOsImageNotificationPtrOutput) ToWindowsVirtualMachineOsImageNotificationPtrOutputWithContext(ctx context.Context) WindowsVirtualMachineOsImageNotificationPtrOutput { + return o +} + +func (o WindowsVirtualMachineOsImageNotificationPtrOutput) Elem() WindowsVirtualMachineOsImageNotificationOutput { + return o.ApplyT(func(v *WindowsVirtualMachineOsImageNotification) WindowsVirtualMachineOsImageNotification { + if v != nil { + return *v + } + var ret WindowsVirtualMachineOsImageNotification + return ret + }).(WindowsVirtualMachineOsImageNotificationOutput) +} + +// Length of time a notification to be sent to the VM on the instance metadata server till the VM gets OS upgraded. The only possible value is `PT15M`. Defaults to `PT15M`. +func (o WindowsVirtualMachineOsImageNotificationPtrOutput) Timeout() pulumi.StringPtrOutput { + return o.ApplyT(func(v *WindowsVirtualMachineOsImageNotification) *string { + if v == nil { + return nil + } + return v.Timeout + }).(pulumi.StringPtrOutput) +} + type WindowsVirtualMachinePlan struct { // Specifies the Name of the Marketplace Image this Virtual Machine should be created from. Changing this forces a new resource to be created. Name string `pulumi:"name"` @@ -32708,6 +33018,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*LinuxVirtualMachineOsDiskPtrInput)(nil)).Elem(), LinuxVirtualMachineOsDiskArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*LinuxVirtualMachineOsDiskDiffDiskSettingsInput)(nil)).Elem(), LinuxVirtualMachineOsDiskDiffDiskSettingsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*LinuxVirtualMachineOsDiskDiffDiskSettingsPtrInput)(nil)).Elem(), LinuxVirtualMachineOsDiskDiffDiskSettingsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*LinuxVirtualMachineOsImageNotificationInput)(nil)).Elem(), LinuxVirtualMachineOsImageNotificationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*LinuxVirtualMachineOsImageNotificationPtrInput)(nil)).Elem(), LinuxVirtualMachineOsImageNotificationArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*LinuxVirtualMachinePlanInput)(nil)).Elem(), LinuxVirtualMachinePlanArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*LinuxVirtualMachinePlanPtrInput)(nil)).Elem(), LinuxVirtualMachinePlanArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*LinuxVirtualMachineScaleSetAdditionalCapabilitiesInput)(nil)).Elem(), LinuxVirtualMachineScaleSetAdditionalCapabilitiesArgs{}) @@ -32956,6 +33268,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*WindowsVirtualMachineOsDiskPtrInput)(nil)).Elem(), WindowsVirtualMachineOsDiskArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*WindowsVirtualMachineOsDiskDiffDiskSettingsInput)(nil)).Elem(), WindowsVirtualMachineOsDiskDiffDiskSettingsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*WindowsVirtualMachineOsDiskDiffDiskSettingsPtrInput)(nil)).Elem(), WindowsVirtualMachineOsDiskDiffDiskSettingsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*WindowsVirtualMachineOsImageNotificationInput)(nil)).Elem(), WindowsVirtualMachineOsImageNotificationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*WindowsVirtualMachineOsImageNotificationPtrInput)(nil)).Elem(), WindowsVirtualMachineOsImageNotificationArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*WindowsVirtualMachinePlanInput)(nil)).Elem(), WindowsVirtualMachinePlanArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*WindowsVirtualMachinePlanPtrInput)(nil)).Elem(), WindowsVirtualMachinePlanArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*WindowsVirtualMachineScaleSetAdditionalCapabilitiesInput)(nil)).Elem(), WindowsVirtualMachineScaleSetAdditionalCapabilitiesArgs{}) @@ -33116,6 +33430,8 @@ func init() { pulumi.RegisterOutputType(LinuxVirtualMachineOsDiskPtrOutput{}) pulumi.RegisterOutputType(LinuxVirtualMachineOsDiskDiffDiskSettingsOutput{}) pulumi.RegisterOutputType(LinuxVirtualMachineOsDiskDiffDiskSettingsPtrOutput{}) + pulumi.RegisterOutputType(LinuxVirtualMachineOsImageNotificationOutput{}) + pulumi.RegisterOutputType(LinuxVirtualMachineOsImageNotificationPtrOutput{}) pulumi.RegisterOutputType(LinuxVirtualMachinePlanOutput{}) pulumi.RegisterOutputType(LinuxVirtualMachinePlanPtrOutput{}) pulumi.RegisterOutputType(LinuxVirtualMachineScaleSetAdditionalCapabilitiesOutput{}) @@ -33364,6 +33680,8 @@ func init() { pulumi.RegisterOutputType(WindowsVirtualMachineOsDiskPtrOutput{}) pulumi.RegisterOutputType(WindowsVirtualMachineOsDiskDiffDiskSettingsOutput{}) pulumi.RegisterOutputType(WindowsVirtualMachineOsDiskDiffDiskSettingsPtrOutput{}) + pulumi.RegisterOutputType(WindowsVirtualMachineOsImageNotificationOutput{}) + pulumi.RegisterOutputType(WindowsVirtualMachineOsImageNotificationPtrOutput{}) pulumi.RegisterOutputType(WindowsVirtualMachinePlanOutput{}) pulumi.RegisterOutputType(WindowsVirtualMachinePlanPtrOutput{}) pulumi.RegisterOutputType(WindowsVirtualMachineScaleSetAdditionalCapabilitiesOutput{}) diff --git a/sdk/go/azure/compute/windowsVirtualMachine.go b/sdk/go/azure/compute/windowsVirtualMachine.go index 17751d0c24..ad9e317d71 100644 --- a/sdk/go/azure/compute/windowsVirtualMachine.go +++ b/sdk/go/azure/compute/windowsVirtualMachine.go @@ -158,6 +158,8 @@ type WindowsVirtualMachine struct { DedicatedHostGroupId pulumi.StringPtrOutput `pulumi:"dedicatedHostGroupId"` // The ID of a Dedicated Host where this machine should be run on. Conflicts with `dedicatedHostGroupId`. DedicatedHostId pulumi.StringPtrOutput `pulumi:"dedicatedHostId"` + // Specifies the Disk Controller Type used for this Virtual Machine. Possible values are `SCSI` and `NVMe`. + DiskControllerType pulumi.StringOutput `pulumi:"diskControllerType"` // Specifies the Edge Zone within the Azure Region where this Windows Virtual Machine should exist. Changing this forces a new Windows Virtual Machine to be created. EdgeZone pulumi.StringPtrOutput `pulumi:"edgeZone"` // Specifies if Automatic Updates are Enabled for the Windows Virtual Machine. Changing this forces a new resource to be created. Defaults to `true`. @@ -192,6 +194,8 @@ type WindowsVirtualMachine struct { NetworkInterfaceIds pulumi.StringArrayOutput `pulumi:"networkInterfaceIds"` // A `osDisk` block as defined below. OsDisk WindowsVirtualMachineOsDiskOutput `pulumi:"osDisk"` + // A `osImageNotification` block as defined below. + OsImageNotification WindowsVirtualMachineOsImageNotificationPtrOutput `pulumi:"osImageNotification"` // Specifies the mode of VM Guest Patching for the Virtual Machine. Possible values are `AutomaticByPlatform` or `ImageDefault`. Defaults to `ImageDefault`. // // > **NOTE:** If the `patchAssessmentMode` is set to `AutomaticByPlatform` then the `provisionVmAgent` field must be set to `true`. @@ -250,10 +254,14 @@ type WindowsVirtualMachine struct { UserData pulumi.StringPtrOutput `pulumi:"userData"` // A 128-bit identifier which uniquely identifies this Virtual Machine. VirtualMachineId pulumi.StringOutput `pulumi:"virtualMachineId"` - // Specifies the Orchestrated Virtual Machine Scale Set that this Virtual Machine should be created within. Changing this forces a new resource to be created. + // Specifies the Orchestrated Virtual Machine Scale Set that this Virtual Machine should be created within. + // + // > **NOTE:** To update `virtualMachineScaleSetId` the Preview Feature `Microsoft.Compute/SingleFDAttachDetachVMToVmss` needs to be enabled, see [the documentation](https://review.learn.microsoft.com/azure/virtual-machine-scale-sets/virtual-machine-scale-sets-attach-detach-vm#enroll-in-the-preview) for more information. // // > **NOTE:** Orchestrated Virtual Machine Scale Sets can be provisioned using [the `compute.OrchestratedVirtualMachineScaleSet` resource](https://www.terraform.io/docs/providers/azurerm/r/orchestrated_virtual_machine_scale_set.html). VirtualMachineScaleSetId pulumi.StringPtrOutput `pulumi:"virtualMachineScaleSetId"` + // Specifies whether VMAgent Platform Updates is enabled. Defaults to `false`. + VmAgentPlatformUpdatesEnabled pulumi.BoolPtrOutput `pulumi:"vmAgentPlatformUpdatesEnabled"` // Specifies if vTPM (virtual Trusted Platform Module) and Trusted Launch is enabled for the Virtual Machine. Changing this forces a new resource to be created. VtpmEnabled pulumi.BoolPtrOutput `pulumi:"vtpmEnabled"` // One or more `winrmListener` blocks as defined below. Changing this forces a new resource to be created. @@ -351,6 +359,8 @@ type windowsVirtualMachineState struct { DedicatedHostGroupId *string `pulumi:"dedicatedHostGroupId"` // The ID of a Dedicated Host where this machine should be run on. Conflicts with `dedicatedHostGroupId`. DedicatedHostId *string `pulumi:"dedicatedHostId"` + // Specifies the Disk Controller Type used for this Virtual Machine. Possible values are `SCSI` and `NVMe`. + DiskControllerType *string `pulumi:"diskControllerType"` // Specifies the Edge Zone within the Azure Region where this Windows Virtual Machine should exist. Changing this forces a new Windows Virtual Machine to be created. EdgeZone *string `pulumi:"edgeZone"` // Specifies if Automatic Updates are Enabled for the Windows Virtual Machine. Changing this forces a new resource to be created. Defaults to `true`. @@ -385,6 +395,8 @@ type windowsVirtualMachineState struct { NetworkInterfaceIds []string `pulumi:"networkInterfaceIds"` // A `osDisk` block as defined below. OsDisk *WindowsVirtualMachineOsDisk `pulumi:"osDisk"` + // A `osImageNotification` block as defined below. + OsImageNotification *WindowsVirtualMachineOsImageNotification `pulumi:"osImageNotification"` // Specifies the mode of VM Guest Patching for the Virtual Machine. Possible values are `AutomaticByPlatform` or `ImageDefault`. Defaults to `ImageDefault`. // // > **NOTE:** If the `patchAssessmentMode` is set to `AutomaticByPlatform` then the `provisionVmAgent` field must be set to `true`. @@ -443,10 +455,14 @@ type windowsVirtualMachineState struct { UserData *string `pulumi:"userData"` // A 128-bit identifier which uniquely identifies this Virtual Machine. VirtualMachineId *string `pulumi:"virtualMachineId"` - // Specifies the Orchestrated Virtual Machine Scale Set that this Virtual Machine should be created within. Changing this forces a new resource to be created. + // Specifies the Orchestrated Virtual Machine Scale Set that this Virtual Machine should be created within. + // + // > **NOTE:** To update `virtualMachineScaleSetId` the Preview Feature `Microsoft.Compute/SingleFDAttachDetachVMToVmss` needs to be enabled, see [the documentation](https://review.learn.microsoft.com/azure/virtual-machine-scale-sets/virtual-machine-scale-sets-attach-detach-vm#enroll-in-the-preview) for more information. // // > **NOTE:** Orchestrated Virtual Machine Scale Sets can be provisioned using [the `compute.OrchestratedVirtualMachineScaleSet` resource](https://www.terraform.io/docs/providers/azurerm/r/orchestrated_virtual_machine_scale_set.html). VirtualMachineScaleSetId *string `pulumi:"virtualMachineScaleSetId"` + // Specifies whether VMAgent Platform Updates is enabled. Defaults to `false`. + VmAgentPlatformUpdatesEnabled *bool `pulumi:"vmAgentPlatformUpdatesEnabled"` // Specifies if vTPM (virtual Trusted Platform Module) and Trusted Launch is enabled for the Virtual Machine. Changing this forces a new resource to be created. VtpmEnabled *bool `pulumi:"vtpmEnabled"` // One or more `winrmListener` blocks as defined below. Changing this forces a new resource to be created. @@ -486,6 +502,8 @@ type WindowsVirtualMachineState struct { DedicatedHostGroupId pulumi.StringPtrInput // The ID of a Dedicated Host where this machine should be run on. Conflicts with `dedicatedHostGroupId`. DedicatedHostId pulumi.StringPtrInput + // Specifies the Disk Controller Type used for this Virtual Machine. Possible values are `SCSI` and `NVMe`. + DiskControllerType pulumi.StringPtrInput // Specifies the Edge Zone within the Azure Region where this Windows Virtual Machine should exist. Changing this forces a new Windows Virtual Machine to be created. EdgeZone pulumi.StringPtrInput // Specifies if Automatic Updates are Enabled for the Windows Virtual Machine. Changing this forces a new resource to be created. Defaults to `true`. @@ -520,6 +538,8 @@ type WindowsVirtualMachineState struct { NetworkInterfaceIds pulumi.StringArrayInput // A `osDisk` block as defined below. OsDisk WindowsVirtualMachineOsDiskPtrInput + // A `osImageNotification` block as defined below. + OsImageNotification WindowsVirtualMachineOsImageNotificationPtrInput // Specifies the mode of VM Guest Patching for the Virtual Machine. Possible values are `AutomaticByPlatform` or `ImageDefault`. Defaults to `ImageDefault`. // // > **NOTE:** If the `patchAssessmentMode` is set to `AutomaticByPlatform` then the `provisionVmAgent` field must be set to `true`. @@ -578,10 +598,14 @@ type WindowsVirtualMachineState struct { UserData pulumi.StringPtrInput // A 128-bit identifier which uniquely identifies this Virtual Machine. VirtualMachineId pulumi.StringPtrInput - // Specifies the Orchestrated Virtual Machine Scale Set that this Virtual Machine should be created within. Changing this forces a new resource to be created. + // Specifies the Orchestrated Virtual Machine Scale Set that this Virtual Machine should be created within. + // + // > **NOTE:** To update `virtualMachineScaleSetId` the Preview Feature `Microsoft.Compute/SingleFDAttachDetachVMToVmss` needs to be enabled, see [the documentation](https://review.learn.microsoft.com/azure/virtual-machine-scale-sets/virtual-machine-scale-sets-attach-detach-vm#enroll-in-the-preview) for more information. // // > **NOTE:** Orchestrated Virtual Machine Scale Sets can be provisioned using [the `compute.OrchestratedVirtualMachineScaleSet` resource](https://www.terraform.io/docs/providers/azurerm/r/orchestrated_virtual_machine_scale_set.html). VirtualMachineScaleSetId pulumi.StringPtrInput + // Specifies whether VMAgent Platform Updates is enabled. Defaults to `false`. + VmAgentPlatformUpdatesEnabled pulumi.BoolPtrInput // Specifies if vTPM (virtual Trusted Platform Module) and Trusted Launch is enabled for the Virtual Machine. Changing this forces a new resource to be created. VtpmEnabled pulumi.BoolPtrInput // One or more `winrmListener` blocks as defined below. Changing this forces a new resource to be created. @@ -625,6 +649,8 @@ type windowsVirtualMachineArgs struct { DedicatedHostGroupId *string `pulumi:"dedicatedHostGroupId"` // The ID of a Dedicated Host where this machine should be run on. Conflicts with `dedicatedHostGroupId`. DedicatedHostId *string `pulumi:"dedicatedHostId"` + // Specifies the Disk Controller Type used for this Virtual Machine. Possible values are `SCSI` and `NVMe`. + DiskControllerType *string `pulumi:"diskControllerType"` // Specifies the Edge Zone within the Azure Region where this Windows Virtual Machine should exist. Changing this forces a new Windows Virtual Machine to be created. EdgeZone *string `pulumi:"edgeZone"` // Specifies if Automatic Updates are Enabled for the Windows Virtual Machine. Changing this forces a new resource to be created. Defaults to `true`. @@ -659,6 +685,8 @@ type windowsVirtualMachineArgs struct { NetworkInterfaceIds []string `pulumi:"networkInterfaceIds"` // A `osDisk` block as defined below. OsDisk WindowsVirtualMachineOsDisk `pulumi:"osDisk"` + // A `osImageNotification` block as defined below. + OsImageNotification *WindowsVirtualMachineOsImageNotification `pulumi:"osImageNotification"` // Specifies the mode of VM Guest Patching for the Virtual Machine. Possible values are `AutomaticByPlatform` or `ImageDefault`. Defaults to `ImageDefault`. // // > **NOTE:** If the `patchAssessmentMode` is set to `AutomaticByPlatform` then the `provisionVmAgent` field must be set to `true`. @@ -707,10 +735,14 @@ type windowsVirtualMachineArgs struct { Timezone *string `pulumi:"timezone"` // The Base64-Encoded User Data which should be used for this Virtual Machine. UserData *string `pulumi:"userData"` - // Specifies the Orchestrated Virtual Machine Scale Set that this Virtual Machine should be created within. Changing this forces a new resource to be created. + // Specifies the Orchestrated Virtual Machine Scale Set that this Virtual Machine should be created within. + // + // > **NOTE:** To update `virtualMachineScaleSetId` the Preview Feature `Microsoft.Compute/SingleFDAttachDetachVMToVmss` needs to be enabled, see [the documentation](https://review.learn.microsoft.com/azure/virtual-machine-scale-sets/virtual-machine-scale-sets-attach-detach-vm#enroll-in-the-preview) for more information. // // > **NOTE:** Orchestrated Virtual Machine Scale Sets can be provisioned using [the `compute.OrchestratedVirtualMachineScaleSet` resource](https://www.terraform.io/docs/providers/azurerm/r/orchestrated_virtual_machine_scale_set.html). VirtualMachineScaleSetId *string `pulumi:"virtualMachineScaleSetId"` + // Specifies whether VMAgent Platform Updates is enabled. Defaults to `false`. + VmAgentPlatformUpdatesEnabled *bool `pulumi:"vmAgentPlatformUpdatesEnabled"` // Specifies if vTPM (virtual Trusted Platform Module) and Trusted Launch is enabled for the Virtual Machine. Changing this forces a new resource to be created. VtpmEnabled *bool `pulumi:"vtpmEnabled"` // One or more `winrmListener` blocks as defined below. Changing this forces a new resource to be created. @@ -751,6 +783,8 @@ type WindowsVirtualMachineArgs struct { DedicatedHostGroupId pulumi.StringPtrInput // The ID of a Dedicated Host where this machine should be run on. Conflicts with `dedicatedHostGroupId`. DedicatedHostId pulumi.StringPtrInput + // Specifies the Disk Controller Type used for this Virtual Machine. Possible values are `SCSI` and `NVMe`. + DiskControllerType pulumi.StringPtrInput // Specifies the Edge Zone within the Azure Region where this Windows Virtual Machine should exist. Changing this forces a new Windows Virtual Machine to be created. EdgeZone pulumi.StringPtrInput // Specifies if Automatic Updates are Enabled for the Windows Virtual Machine. Changing this forces a new resource to be created. Defaults to `true`. @@ -785,6 +819,8 @@ type WindowsVirtualMachineArgs struct { NetworkInterfaceIds pulumi.StringArrayInput // A `osDisk` block as defined below. OsDisk WindowsVirtualMachineOsDiskInput + // A `osImageNotification` block as defined below. + OsImageNotification WindowsVirtualMachineOsImageNotificationPtrInput // Specifies the mode of VM Guest Patching for the Virtual Machine. Possible values are `AutomaticByPlatform` or `ImageDefault`. Defaults to `ImageDefault`. // // > **NOTE:** If the `patchAssessmentMode` is set to `AutomaticByPlatform` then the `provisionVmAgent` field must be set to `true`. @@ -833,10 +869,14 @@ type WindowsVirtualMachineArgs struct { Timezone pulumi.StringPtrInput // The Base64-Encoded User Data which should be used for this Virtual Machine. UserData pulumi.StringPtrInput - // Specifies the Orchestrated Virtual Machine Scale Set that this Virtual Machine should be created within. Changing this forces a new resource to be created. + // Specifies the Orchestrated Virtual Machine Scale Set that this Virtual Machine should be created within. + // + // > **NOTE:** To update `virtualMachineScaleSetId` the Preview Feature `Microsoft.Compute/SingleFDAttachDetachVMToVmss` needs to be enabled, see [the documentation](https://review.learn.microsoft.com/azure/virtual-machine-scale-sets/virtual-machine-scale-sets-attach-detach-vm#enroll-in-the-preview) for more information. // // > **NOTE:** Orchestrated Virtual Machine Scale Sets can be provisioned using [the `compute.OrchestratedVirtualMachineScaleSet` resource](https://www.terraform.io/docs/providers/azurerm/r/orchestrated_virtual_machine_scale_set.html). VirtualMachineScaleSetId pulumi.StringPtrInput + // Specifies whether VMAgent Platform Updates is enabled. Defaults to `false`. + VmAgentPlatformUpdatesEnabled pulumi.BoolPtrInput // Specifies if vTPM (virtual Trusted Platform Module) and Trusted Launch is enabled for the Virtual Machine. Changing this forces a new resource to be created. VtpmEnabled pulumi.BoolPtrInput // One or more `winrmListener` blocks as defined below. Changing this forces a new resource to be created. @@ -1007,6 +1047,11 @@ func (o WindowsVirtualMachineOutput) DedicatedHostId() pulumi.StringPtrOutput { return o.ApplyT(func(v *WindowsVirtualMachine) pulumi.StringPtrOutput { return v.DedicatedHostId }).(pulumi.StringPtrOutput) } +// Specifies the Disk Controller Type used for this Virtual Machine. Possible values are `SCSI` and `NVMe`. +func (o WindowsVirtualMachineOutput) DiskControllerType() pulumi.StringOutput { + return o.ApplyT(func(v *WindowsVirtualMachine) pulumi.StringOutput { return v.DiskControllerType }).(pulumi.StringOutput) +} + // Specifies the Edge Zone within the Azure Region where this Windows Virtual Machine should exist. Changing this forces a new Windows Virtual Machine to be created. func (o WindowsVirtualMachineOutput) EdgeZone() pulumi.StringPtrOutput { return o.ApplyT(func(v *WindowsVirtualMachine) pulumi.StringPtrOutput { return v.EdgeZone }).(pulumi.StringPtrOutput) @@ -1085,6 +1130,13 @@ func (o WindowsVirtualMachineOutput) OsDisk() WindowsVirtualMachineOsDiskOutput return o.ApplyT(func(v *WindowsVirtualMachine) WindowsVirtualMachineOsDiskOutput { return v.OsDisk }).(WindowsVirtualMachineOsDiskOutput) } +// A `osImageNotification` block as defined below. +func (o WindowsVirtualMachineOutput) OsImageNotification() WindowsVirtualMachineOsImageNotificationPtrOutput { + return o.ApplyT(func(v *WindowsVirtualMachine) WindowsVirtualMachineOsImageNotificationPtrOutput { + return v.OsImageNotification + }).(WindowsVirtualMachineOsImageNotificationPtrOutput) +} + // Specifies the mode of VM Guest Patching for the Virtual Machine. Possible values are `AutomaticByPlatform` or `ImageDefault`. Defaults to `ImageDefault`. // // > **NOTE:** If the `patchAssessmentMode` is set to `AutomaticByPlatform` then the `provisionVmAgent` field must be set to `true`. @@ -1216,13 +1268,20 @@ func (o WindowsVirtualMachineOutput) VirtualMachineId() pulumi.StringOutput { return o.ApplyT(func(v *WindowsVirtualMachine) pulumi.StringOutput { return v.VirtualMachineId }).(pulumi.StringOutput) } -// Specifies the Orchestrated Virtual Machine Scale Set that this Virtual Machine should be created within. Changing this forces a new resource to be created. +// Specifies the Orchestrated Virtual Machine Scale Set that this Virtual Machine should be created within. +// +// > **NOTE:** To update `virtualMachineScaleSetId` the Preview Feature `Microsoft.Compute/SingleFDAttachDetachVMToVmss` needs to be enabled, see [the documentation](https://review.learn.microsoft.com/azure/virtual-machine-scale-sets/virtual-machine-scale-sets-attach-detach-vm#enroll-in-the-preview) for more information. // // > **NOTE:** Orchestrated Virtual Machine Scale Sets can be provisioned using [the `compute.OrchestratedVirtualMachineScaleSet` resource](https://www.terraform.io/docs/providers/azurerm/r/orchestrated_virtual_machine_scale_set.html). func (o WindowsVirtualMachineOutput) VirtualMachineScaleSetId() pulumi.StringPtrOutput { return o.ApplyT(func(v *WindowsVirtualMachine) pulumi.StringPtrOutput { return v.VirtualMachineScaleSetId }).(pulumi.StringPtrOutput) } +// Specifies whether VMAgent Platform Updates is enabled. Defaults to `false`. +func (o WindowsVirtualMachineOutput) VmAgentPlatformUpdatesEnabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *WindowsVirtualMachine) pulumi.BoolPtrOutput { return v.VmAgentPlatformUpdatesEnabled }).(pulumi.BoolPtrOutput) +} + // Specifies if vTPM (virtual Trusted Platform Module) and Trusted Launch is enabled for the Virtual Machine. Changing this forces a new resource to be created. func (o WindowsVirtualMachineOutput) VtpmEnabled() pulumi.BoolPtrOutput { return o.ApplyT(func(v *WindowsVirtualMachine) pulumi.BoolPtrOutput { return v.VtpmEnabled }).(pulumi.BoolPtrOutput) diff --git a/sdk/go/azure/config/pulumiTypes.go b/sdk/go/azure/config/pulumiTypes.go index a22e031a17..fdab164a46 100644 --- a/sdk/go/azure/config/pulumiTypes.go +++ b/sdk/go/azure/config/pulumiTypes.go @@ -1948,6 +1948,7 @@ func (o FeaturesVirtualMachinePtrOutput) SkipShutdownAndForceDelete() pulumi.Boo type FeaturesVirtualMachineScaleSet struct { ForceDelete *bool `pulumi:"forceDelete"` + ReimageOnManualUpgrade *bool `pulumi:"reimageOnManualUpgrade"` RollInstancesWhenRequired *bool `pulumi:"rollInstancesWhenRequired"` ScaleToZeroBeforeDeletion *bool `pulumi:"scaleToZeroBeforeDeletion"` } @@ -1965,6 +1966,7 @@ type FeaturesVirtualMachineScaleSetInput interface { type FeaturesVirtualMachineScaleSetArgs struct { ForceDelete pulumi.BoolPtrInput `pulumi:"forceDelete"` + ReimageOnManualUpgrade pulumi.BoolPtrInput `pulumi:"reimageOnManualUpgrade"` RollInstancesWhenRequired pulumi.BoolPtrInput `pulumi:"rollInstancesWhenRequired"` ScaleToZeroBeforeDeletion pulumi.BoolPtrInput `pulumi:"scaleToZeroBeforeDeletion"` } @@ -2050,6 +2052,10 @@ func (o FeaturesVirtualMachineScaleSetOutput) ForceDelete() pulumi.BoolPtrOutput return o.ApplyT(func(v FeaturesVirtualMachineScaleSet) *bool { return v.ForceDelete }).(pulumi.BoolPtrOutput) } +func (o FeaturesVirtualMachineScaleSetOutput) ReimageOnManualUpgrade() pulumi.BoolPtrOutput { + return o.ApplyT(func(v FeaturesVirtualMachineScaleSet) *bool { return v.ReimageOnManualUpgrade }).(pulumi.BoolPtrOutput) +} + func (o FeaturesVirtualMachineScaleSetOutput) RollInstancesWhenRequired() pulumi.BoolPtrOutput { return o.ApplyT(func(v FeaturesVirtualMachineScaleSet) *bool { return v.RollInstancesWhenRequired }).(pulumi.BoolPtrOutput) } @@ -2091,6 +2097,15 @@ func (o FeaturesVirtualMachineScaleSetPtrOutput) ForceDelete() pulumi.BoolPtrOut }).(pulumi.BoolPtrOutput) } +func (o FeaturesVirtualMachineScaleSetPtrOutput) ReimageOnManualUpgrade() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *FeaturesVirtualMachineScaleSet) *bool { + if v == nil { + return nil + } + return v.ReimageOnManualUpgrade + }).(pulumi.BoolPtrOutput) +} + func (o FeaturesVirtualMachineScaleSetPtrOutput) RollInstancesWhenRequired() pulumi.BoolPtrOutput { return o.ApplyT(func(v *FeaturesVirtualMachineScaleSet) *bool { if v == nil { diff --git a/sdk/go/azure/containerservice/fleetUpdateRun.go b/sdk/go/azure/containerservice/fleetUpdateRun.go new file mode 100644 index 0000000000..9ebf9ce0af --- /dev/null +++ b/sdk/go/azure/containerservice/fleetUpdateRun.go @@ -0,0 +1,382 @@ +// 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 containerservice + +import ( + "context" + "reflect" + + "errors" + "github.com/pulumi/pulumi-azure/sdk/v5/go/azure/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// Manages a Kubernetes Fleet Update Run. +// +// ## Example Usage +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-azure/sdk/v5/go/azure/containerservice" +// "github.com/pulumi/pulumi-azure/sdk/v5/go/azure/core" +// "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("westeurope"), +// }) +// if err != nil { +// return err +// } +// exampleKubernetesFleetManager, err := containerservice.NewKubernetesFleetManager(ctx, "example", &containerservice.KubernetesFleetManagerArgs{ +// Location: example.Location, +// Name: pulumi.String("example"), +// ResourceGroupName: example.Name, +// HubProfile: &containerservice.KubernetesFleetManagerHubProfileArgs{ +// DnsPrefix: pulumi.String("example-dns-prefix"), +// }, +// }) +// if err != nil { +// return err +// } +// exampleKubernetesCluster, err := containerservice.NewKubernetesCluster(ctx, "example", &containerservice.KubernetesClusterArgs{ +// Name: pulumi.String("example"), +// Location: example.Location, +// ResourceGroupName: example.Name, +// DnsPrefix: pulumi.String("example"), +// DefaultNodePool: &containerservice.KubernetesClusterDefaultNodePoolArgs{ +// Name: pulumi.String("default"), +// NodeCount: pulumi.Int(1), +// VmSize: pulumi.String("Standard_DS2_v2"), +// }, +// Identity: &containerservice.KubernetesClusterIdentityArgs{ +// Type: pulumi.String("SystemAssigned"), +// }, +// }) +// if err != nil { +// return err +// } +// _, err = containerservice.NewFleetMember(ctx, "example", &containerservice.FleetMemberArgs{ +// Name: pulumi.String("example"), +// KubernetesFleetId: exampleKubernetesFleetManager.ID(), +// KubernetesClusterId: exampleKubernetesCluster.ID(), +// Group: pulumi.String("example-group"), +// }) +// if err != nil { +// return err +// } +// _, err = containerservice.NewFleetUpdateRun(ctx, "example", &containerservice.FleetUpdateRunArgs{ +// Name: pulumi.String("example"), +// KubernetesFleetManagerId: exampleKubernetesFleetManager.ID(), +// ManagedClusterUpdate: &containerservice.FleetUpdateRunManagedClusterUpdateArgs{ +// Upgrade: &containerservice.FleetUpdateRunManagedClusterUpdateUpgradeArgs{ +// Type: pulumi.String("Full"), +// KubernetesVersion: pulumi.String("1.27"), +// }, +// NodeImageSelection: &containerservice.FleetUpdateRunManagedClusterUpdateNodeImageSelectionArgs{ +// Type: pulumi.String("Latest"), +// }, +// }, +// Stages: containerservice.FleetUpdateRunStageArray{ +// &containerservice.FleetUpdateRunStageArgs{ +// Name: pulumi.String("example"), +// Groups: containerservice.FleetUpdateRunStageGroupArray{ +// &containerservice.FleetUpdateRunStageGroupArgs{ +// Name: pulumi.String("example-group"), +// }, +// }, +// AfterStageWaitInSeconds: pulumi.Int(21), +// }, +// }, +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// ## Import +// +// Kubernetes Fleet Update Runs can be imported using the `resource id`, e.g. +// +// ```sh +// $ pulumi import azure:containerservice/fleetUpdateRun:FleetUpdateRun example /subscriptions/12345678-1234-9876-4563-123456789012/resourceGroups/resourceGroup1/providers/Microsoft.ContainerService/fleets/fleet1/updateRuns/updateRun1 +// ``` +type FleetUpdateRun struct { + pulumi.CustomResourceState + + // The ID of the Fleet Update Strategy. Only one of `fleetUpdateStrategyId` or `stage` can be specified. + FleetUpdateStrategyId pulumi.StringPtrOutput `pulumi:"fleetUpdateStrategyId"` + // The ID of the Fleet Manager. Changing this forces a new Kubernetes Fleet Update Run to be created. + KubernetesFleetManagerId pulumi.StringOutput `pulumi:"kubernetesFleetManagerId"` + // A `managedClusterUpdate` block as defined below. + ManagedClusterUpdate FleetUpdateRunManagedClusterUpdateOutput `pulumi:"managedClusterUpdate"` + // The name which should be used for this Kubernetes Fleet Update Run. Changing this forces a new Kubernetes Fleet Update Run to be created. + Name pulumi.StringOutput `pulumi:"name"` + // One or more `stage` blocks as defined below. Only one of `stage` or `fleetUpdateStrategyId` can be specified. + Stages FleetUpdateRunStageArrayOutput `pulumi:"stages"` +} + +// NewFleetUpdateRun registers a new resource with the given unique name, arguments, and options. +func NewFleetUpdateRun(ctx *pulumi.Context, + name string, args *FleetUpdateRunArgs, opts ...pulumi.ResourceOption) (*FleetUpdateRun, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.KubernetesFleetManagerId == nil { + return nil, errors.New("invalid value for required argument 'KubernetesFleetManagerId'") + } + if args.ManagedClusterUpdate == nil { + return nil, errors.New("invalid value for required argument 'ManagedClusterUpdate'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource FleetUpdateRun + err := ctx.RegisterResource("azure:containerservice/fleetUpdateRun:FleetUpdateRun", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetFleetUpdateRun gets an existing FleetUpdateRun 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 GetFleetUpdateRun(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *FleetUpdateRunState, opts ...pulumi.ResourceOption) (*FleetUpdateRun, error) { + var resource FleetUpdateRun + err := ctx.ReadResource("azure:containerservice/fleetUpdateRun:FleetUpdateRun", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering FleetUpdateRun resources. +type fleetUpdateRunState struct { + // The ID of the Fleet Update Strategy. Only one of `fleetUpdateStrategyId` or `stage` can be specified. + FleetUpdateStrategyId *string `pulumi:"fleetUpdateStrategyId"` + // The ID of the Fleet Manager. Changing this forces a new Kubernetes Fleet Update Run to be created. + KubernetesFleetManagerId *string `pulumi:"kubernetesFleetManagerId"` + // A `managedClusterUpdate` block as defined below. + ManagedClusterUpdate *FleetUpdateRunManagedClusterUpdate `pulumi:"managedClusterUpdate"` + // The name which should be used for this Kubernetes Fleet Update Run. Changing this forces a new Kubernetes Fleet Update Run to be created. + Name *string `pulumi:"name"` + // One or more `stage` blocks as defined below. Only one of `stage` or `fleetUpdateStrategyId` can be specified. + Stages []FleetUpdateRunStage `pulumi:"stages"` +} + +type FleetUpdateRunState struct { + // The ID of the Fleet Update Strategy. Only one of `fleetUpdateStrategyId` or `stage` can be specified. + FleetUpdateStrategyId pulumi.StringPtrInput + // The ID of the Fleet Manager. Changing this forces a new Kubernetes Fleet Update Run to be created. + KubernetesFleetManagerId pulumi.StringPtrInput + // A `managedClusterUpdate` block as defined below. + ManagedClusterUpdate FleetUpdateRunManagedClusterUpdatePtrInput + // The name which should be used for this Kubernetes Fleet Update Run. Changing this forces a new Kubernetes Fleet Update Run to be created. + Name pulumi.StringPtrInput + // One or more `stage` blocks as defined below. Only one of `stage` or `fleetUpdateStrategyId` can be specified. + Stages FleetUpdateRunStageArrayInput +} + +func (FleetUpdateRunState) ElementType() reflect.Type { + return reflect.TypeOf((*fleetUpdateRunState)(nil)).Elem() +} + +type fleetUpdateRunArgs struct { + // The ID of the Fleet Update Strategy. Only one of `fleetUpdateStrategyId` or `stage` can be specified. + FleetUpdateStrategyId *string `pulumi:"fleetUpdateStrategyId"` + // The ID of the Fleet Manager. Changing this forces a new Kubernetes Fleet Update Run to be created. + KubernetesFleetManagerId string `pulumi:"kubernetesFleetManagerId"` + // A `managedClusterUpdate` block as defined below. + ManagedClusterUpdate FleetUpdateRunManagedClusterUpdate `pulumi:"managedClusterUpdate"` + // The name which should be used for this Kubernetes Fleet Update Run. Changing this forces a new Kubernetes Fleet Update Run to be created. + Name *string `pulumi:"name"` + // One or more `stage` blocks as defined below. Only one of `stage` or `fleetUpdateStrategyId` can be specified. + Stages []FleetUpdateRunStage `pulumi:"stages"` +} + +// The set of arguments for constructing a FleetUpdateRun resource. +type FleetUpdateRunArgs struct { + // The ID of the Fleet Update Strategy. Only one of `fleetUpdateStrategyId` or `stage` can be specified. + FleetUpdateStrategyId pulumi.StringPtrInput + // The ID of the Fleet Manager. Changing this forces a new Kubernetes Fleet Update Run to be created. + KubernetesFleetManagerId pulumi.StringInput + // A `managedClusterUpdate` block as defined below. + ManagedClusterUpdate FleetUpdateRunManagedClusterUpdateInput + // The name which should be used for this Kubernetes Fleet Update Run. Changing this forces a new Kubernetes Fleet Update Run to be created. + Name pulumi.StringPtrInput + // One or more `stage` blocks as defined below. Only one of `stage` or `fleetUpdateStrategyId` can be specified. + Stages FleetUpdateRunStageArrayInput +} + +func (FleetUpdateRunArgs) ElementType() reflect.Type { + return reflect.TypeOf((*fleetUpdateRunArgs)(nil)).Elem() +} + +type FleetUpdateRunInput interface { + pulumi.Input + + ToFleetUpdateRunOutput() FleetUpdateRunOutput + ToFleetUpdateRunOutputWithContext(ctx context.Context) FleetUpdateRunOutput +} + +func (*FleetUpdateRun) ElementType() reflect.Type { + return reflect.TypeOf((**FleetUpdateRun)(nil)).Elem() +} + +func (i *FleetUpdateRun) ToFleetUpdateRunOutput() FleetUpdateRunOutput { + return i.ToFleetUpdateRunOutputWithContext(context.Background()) +} + +func (i *FleetUpdateRun) ToFleetUpdateRunOutputWithContext(ctx context.Context) FleetUpdateRunOutput { + return pulumi.ToOutputWithContext(ctx, i).(FleetUpdateRunOutput) +} + +// FleetUpdateRunArrayInput is an input type that accepts FleetUpdateRunArray and FleetUpdateRunArrayOutput values. +// You can construct a concrete instance of `FleetUpdateRunArrayInput` via: +// +// FleetUpdateRunArray{ FleetUpdateRunArgs{...} } +type FleetUpdateRunArrayInput interface { + pulumi.Input + + ToFleetUpdateRunArrayOutput() FleetUpdateRunArrayOutput + ToFleetUpdateRunArrayOutputWithContext(context.Context) FleetUpdateRunArrayOutput +} + +type FleetUpdateRunArray []FleetUpdateRunInput + +func (FleetUpdateRunArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*FleetUpdateRun)(nil)).Elem() +} + +func (i FleetUpdateRunArray) ToFleetUpdateRunArrayOutput() FleetUpdateRunArrayOutput { + return i.ToFleetUpdateRunArrayOutputWithContext(context.Background()) +} + +func (i FleetUpdateRunArray) ToFleetUpdateRunArrayOutputWithContext(ctx context.Context) FleetUpdateRunArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(FleetUpdateRunArrayOutput) +} + +// FleetUpdateRunMapInput is an input type that accepts FleetUpdateRunMap and FleetUpdateRunMapOutput values. +// You can construct a concrete instance of `FleetUpdateRunMapInput` via: +// +// FleetUpdateRunMap{ "key": FleetUpdateRunArgs{...} } +type FleetUpdateRunMapInput interface { + pulumi.Input + + ToFleetUpdateRunMapOutput() FleetUpdateRunMapOutput + ToFleetUpdateRunMapOutputWithContext(context.Context) FleetUpdateRunMapOutput +} + +type FleetUpdateRunMap map[string]FleetUpdateRunInput + +func (FleetUpdateRunMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*FleetUpdateRun)(nil)).Elem() +} + +func (i FleetUpdateRunMap) ToFleetUpdateRunMapOutput() FleetUpdateRunMapOutput { + return i.ToFleetUpdateRunMapOutputWithContext(context.Background()) +} + +func (i FleetUpdateRunMap) ToFleetUpdateRunMapOutputWithContext(ctx context.Context) FleetUpdateRunMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(FleetUpdateRunMapOutput) +} + +type FleetUpdateRunOutput struct{ *pulumi.OutputState } + +func (FleetUpdateRunOutput) ElementType() reflect.Type { + return reflect.TypeOf((**FleetUpdateRun)(nil)).Elem() +} + +func (o FleetUpdateRunOutput) ToFleetUpdateRunOutput() FleetUpdateRunOutput { + return o +} + +func (o FleetUpdateRunOutput) ToFleetUpdateRunOutputWithContext(ctx context.Context) FleetUpdateRunOutput { + return o +} + +// The ID of the Fleet Update Strategy. Only one of `fleetUpdateStrategyId` or `stage` can be specified. +func (o FleetUpdateRunOutput) FleetUpdateStrategyId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *FleetUpdateRun) pulumi.StringPtrOutput { return v.FleetUpdateStrategyId }).(pulumi.StringPtrOutput) +} + +// The ID of the Fleet Manager. Changing this forces a new Kubernetes Fleet Update Run to be created. +func (o FleetUpdateRunOutput) KubernetesFleetManagerId() pulumi.StringOutput { + return o.ApplyT(func(v *FleetUpdateRun) pulumi.StringOutput { return v.KubernetesFleetManagerId }).(pulumi.StringOutput) +} + +// A `managedClusterUpdate` block as defined below. +func (o FleetUpdateRunOutput) ManagedClusterUpdate() FleetUpdateRunManagedClusterUpdateOutput { + return o.ApplyT(func(v *FleetUpdateRun) FleetUpdateRunManagedClusterUpdateOutput { return v.ManagedClusterUpdate }).(FleetUpdateRunManagedClusterUpdateOutput) +} + +// The name which should be used for this Kubernetes Fleet Update Run. Changing this forces a new Kubernetes Fleet Update Run to be created. +func (o FleetUpdateRunOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *FleetUpdateRun) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// One or more `stage` blocks as defined below. Only one of `stage` or `fleetUpdateStrategyId` can be specified. +func (o FleetUpdateRunOutput) Stages() FleetUpdateRunStageArrayOutput { + return o.ApplyT(func(v *FleetUpdateRun) FleetUpdateRunStageArrayOutput { return v.Stages }).(FleetUpdateRunStageArrayOutput) +} + +type FleetUpdateRunArrayOutput struct{ *pulumi.OutputState } + +func (FleetUpdateRunArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*FleetUpdateRun)(nil)).Elem() +} + +func (o FleetUpdateRunArrayOutput) ToFleetUpdateRunArrayOutput() FleetUpdateRunArrayOutput { + return o +} + +func (o FleetUpdateRunArrayOutput) ToFleetUpdateRunArrayOutputWithContext(ctx context.Context) FleetUpdateRunArrayOutput { + return o +} + +func (o FleetUpdateRunArrayOutput) Index(i pulumi.IntInput) FleetUpdateRunOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *FleetUpdateRun { + return vs[0].([]*FleetUpdateRun)[vs[1].(int)] + }).(FleetUpdateRunOutput) +} + +type FleetUpdateRunMapOutput struct{ *pulumi.OutputState } + +func (FleetUpdateRunMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*FleetUpdateRun)(nil)).Elem() +} + +func (o FleetUpdateRunMapOutput) ToFleetUpdateRunMapOutput() FleetUpdateRunMapOutput { + return o +} + +func (o FleetUpdateRunMapOutput) ToFleetUpdateRunMapOutputWithContext(ctx context.Context) FleetUpdateRunMapOutput { + return o +} + +func (o FleetUpdateRunMapOutput) MapIndex(k pulumi.StringInput) FleetUpdateRunOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *FleetUpdateRun { + return vs[0].(map[string]*FleetUpdateRun)[vs[1].(string)] + }).(FleetUpdateRunOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*FleetUpdateRunInput)(nil)).Elem(), &FleetUpdateRun{}) + pulumi.RegisterInputType(reflect.TypeOf((*FleetUpdateRunArrayInput)(nil)).Elem(), FleetUpdateRunArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*FleetUpdateRunMapInput)(nil)).Elem(), FleetUpdateRunMap{}) + pulumi.RegisterOutputType(FleetUpdateRunOutput{}) + pulumi.RegisterOutputType(FleetUpdateRunArrayOutput{}) + pulumi.RegisterOutputType(FleetUpdateRunMapOutput{}) +} diff --git a/sdk/go/azure/containerservice/init.go b/sdk/go/azure/containerservice/init.go index 948f4269f4..b8c5434ce5 100644 --- a/sdk/go/azure/containerservice/init.go +++ b/sdk/go/azure/containerservice/init.go @@ -27,6 +27,8 @@ func (m *module) Construct(ctx *pulumi.Context, name, typ, urn string) (r pulumi r = &ConnectedRegistry{} case "azure:containerservice/fleetMember:FleetMember": r = &FleetMember{} + case "azure:containerservice/fleetUpdateRun:FleetUpdateRun": + r = &FleetUpdateRun{} case "azure:containerservice/fleetUpdateStrategy:FleetUpdateStrategy": r = &FleetUpdateStrategy{} case "azure:containerservice/fluxConfiguration:FluxConfiguration": @@ -87,6 +89,11 @@ func init() { "containerservice/fleetMember", &module{version}, ) + pulumi.RegisterResourceModule( + "azure", + "containerservice/fleetUpdateRun", + &module{version}, + ) pulumi.RegisterResourceModule( "azure", "containerservice/fleetUpdateStrategy", diff --git a/sdk/go/azure/containerservice/kubernetesCluster.go b/sdk/go/azure/containerservice/kubernetesCluster.go index 16ed721f30..bc6d1cf73b 100644 --- a/sdk/go/azure/containerservice/kubernetesCluster.go +++ b/sdk/go/azure/containerservice/kubernetesCluster.go @@ -98,6 +98,8 @@ type KubernetesCluster struct { AzurePolicyEnabled pulumi.BoolPtrOutput `pulumi:"azurePolicyEnabled"` // A `confidentialComputing` block as defined below. For more details please [the documentation](https://learn.microsoft.com/en-us/azure/confidential-computing/confidential-nodes-aks-overview) ConfidentialComputing KubernetesClusterConfidentialComputingPtrOutput `pulumi:"confidentialComputing"` + // The current version running on the Azure Kubernetes Managed Cluster. + CurrentKubernetesVersion pulumi.StringOutput `pulumi:"currentKubernetesVersion"` // A list of up to 10 base64 encoded CAs that will be added to the trust store on nodes with the `customCaTrustEnabled` feature enabled. // // > **Note:** Removing `customCaTrustCertificatesBase64` after it has been set forces a new resource to be created. @@ -382,6 +384,8 @@ type kubernetesClusterState struct { AzurePolicyEnabled *bool `pulumi:"azurePolicyEnabled"` // A `confidentialComputing` block as defined below. For more details please [the documentation](https://learn.microsoft.com/en-us/azure/confidential-computing/confidential-nodes-aks-overview) ConfidentialComputing *KubernetesClusterConfidentialComputing `pulumi:"confidentialComputing"` + // The current version running on the Azure Kubernetes Managed Cluster. + CurrentKubernetesVersion *string `pulumi:"currentKubernetesVersion"` // A list of up to 10 base64 encoded CAs that will be added to the trust store on nodes with the `customCaTrustEnabled` feature enabled. // // > **Note:** Removing `customCaTrustCertificatesBase64` after it has been set forces a new resource to be created. @@ -624,6 +628,8 @@ type KubernetesClusterState struct { AzurePolicyEnabled pulumi.BoolPtrInput // A `confidentialComputing` block as defined below. For more details please [the documentation](https://learn.microsoft.com/en-us/azure/confidential-computing/confidential-nodes-aks-overview) ConfidentialComputing KubernetesClusterConfidentialComputingPtrInput + // The current version running on the Azure Kubernetes Managed Cluster. + CurrentKubernetesVersion pulumi.StringPtrInput // A list of up to 10 base64 encoded CAs that will be added to the trust store on nodes with the `customCaTrustEnabled` feature enabled. // // > **Note:** Removing `customCaTrustCertificatesBase64` after it has been set forces a new resource to be created. @@ -1431,6 +1437,11 @@ func (o KubernetesClusterOutput) ConfidentialComputing() KubernetesClusterConfid }).(KubernetesClusterConfidentialComputingPtrOutput) } +// The current version running on the Azure Kubernetes Managed Cluster. +func (o KubernetesClusterOutput) CurrentKubernetesVersion() pulumi.StringOutput { + return o.ApplyT(func(v *KubernetesCluster) pulumi.StringOutput { return v.CurrentKubernetesVersion }).(pulumi.StringOutput) +} + // A list of up to 10 base64 encoded CAs that will be added to the trust store on nodes with the `customCaTrustEnabled` feature enabled. // // > **Note:** Removing `customCaTrustCertificatesBase64` after it has been set forces a new resource to be created. diff --git a/sdk/go/azure/containerservice/kubernetesClusterNodePool.go b/sdk/go/azure/containerservice/kubernetesClusterNodePool.go index 194e0cba3d..b7163c2ce6 100644 --- a/sdk/go/azure/containerservice/kubernetesClusterNodePool.go +++ b/sdk/go/azure/containerservice/kubernetesClusterNodePool.go @@ -154,7 +154,7 @@ type KubernetesClusterNodePool struct { OsDiskSizeGb pulumi.IntOutput `pulumi:"osDiskSizeGb"` // The type of disk which should be used for the Operating System. Possible values are `Ephemeral` and `Managed`. Defaults to `Managed`. Changing this forces a new resource to be created. OsDiskType pulumi.StringPtrOutput `pulumi:"osDiskType"` - // Specifies the OS SKU used by the agent pool. Possible values are `AzureLinux`, `CBLMariner`, `Mariner`, `Ubuntu`, `Windows2019` and `Windows2022`. If not specified, the default is `Ubuntu` if OSType=Linux or `Windows2019` if OSType=Windows. And the default Windows OSSKU will be changed to `Windows2022` after Windows2019 is deprecated. Changing this forces a new resource to be created. + // Specifies the OS SKU used by the agent pool. Possible values are `AzureLinux`, `Ubuntu`, `Windows2019` and `Windows2022`. If not specified, the default is `Ubuntu` if OSType=Linux or `Windows2019` if OSType=Windows. And the default Windows OSSKU will be changed to `Windows2022` after Windows2019 is deprecated. Changing this forces a new resource to be created. OsSku pulumi.StringOutput `pulumi:"osSku"` // The Operating System which should be used for this Node Pool. Changing this forces a new resource to be created. Possible values are `Linux` and `Windows`. Defaults to `Linux`. OsType pulumi.StringPtrOutput `pulumi:"osType"` @@ -304,7 +304,7 @@ type kubernetesClusterNodePoolState struct { OsDiskSizeGb *int `pulumi:"osDiskSizeGb"` // The type of disk which should be used for the Operating System. Possible values are `Ephemeral` and `Managed`. Defaults to `Managed`. Changing this forces a new resource to be created. OsDiskType *string `pulumi:"osDiskType"` - // Specifies the OS SKU used by the agent pool. Possible values are `AzureLinux`, `CBLMariner`, `Mariner`, `Ubuntu`, `Windows2019` and `Windows2022`. If not specified, the default is `Ubuntu` if OSType=Linux or `Windows2019` if OSType=Windows. And the default Windows OSSKU will be changed to `Windows2022` after Windows2019 is deprecated. Changing this forces a new resource to be created. + // Specifies the OS SKU used by the agent pool. Possible values are `AzureLinux`, `Ubuntu`, `Windows2019` and `Windows2022`. If not specified, the default is `Ubuntu` if OSType=Linux or `Windows2019` if OSType=Windows. And the default Windows OSSKU will be changed to `Windows2022` after Windows2019 is deprecated. Changing this forces a new resource to be created. OsSku *string `pulumi:"osSku"` // The Operating System which should be used for this Node Pool. Changing this forces a new resource to be created. Possible values are `Linux` and `Windows`. Defaults to `Linux`. OsType *string `pulumi:"osType"` @@ -419,7 +419,7 @@ type KubernetesClusterNodePoolState struct { OsDiskSizeGb pulumi.IntPtrInput // The type of disk which should be used for the Operating System. Possible values are `Ephemeral` and `Managed`. Defaults to `Managed`. Changing this forces a new resource to be created. OsDiskType pulumi.StringPtrInput - // Specifies the OS SKU used by the agent pool. Possible values are `AzureLinux`, `CBLMariner`, `Mariner`, `Ubuntu`, `Windows2019` and `Windows2022`. If not specified, the default is `Ubuntu` if OSType=Linux or `Windows2019` if OSType=Windows. And the default Windows OSSKU will be changed to `Windows2022` after Windows2019 is deprecated. Changing this forces a new resource to be created. + // Specifies the OS SKU used by the agent pool. Possible values are `AzureLinux`, `Ubuntu`, `Windows2019` and `Windows2022`. If not specified, the default is `Ubuntu` if OSType=Linux or `Windows2019` if OSType=Windows. And the default Windows OSSKU will be changed to `Windows2022` after Windows2019 is deprecated. Changing this forces a new resource to be created. OsSku pulumi.StringPtrInput // The Operating System which should be used for this Node Pool. Changing this forces a new resource to be created. Possible values are `Linux` and `Windows`. Defaults to `Linux`. OsType pulumi.StringPtrInput @@ -538,7 +538,7 @@ type kubernetesClusterNodePoolArgs struct { OsDiskSizeGb *int `pulumi:"osDiskSizeGb"` // The type of disk which should be used for the Operating System. Possible values are `Ephemeral` and `Managed`. Defaults to `Managed`. Changing this forces a new resource to be created. OsDiskType *string `pulumi:"osDiskType"` - // Specifies the OS SKU used by the agent pool. Possible values are `AzureLinux`, `CBLMariner`, `Mariner`, `Ubuntu`, `Windows2019` and `Windows2022`. If not specified, the default is `Ubuntu` if OSType=Linux or `Windows2019` if OSType=Windows. And the default Windows OSSKU will be changed to `Windows2022` after Windows2019 is deprecated. Changing this forces a new resource to be created. + // Specifies the OS SKU used by the agent pool. Possible values are `AzureLinux`, `Ubuntu`, `Windows2019` and `Windows2022`. If not specified, the default is `Ubuntu` if OSType=Linux or `Windows2019` if OSType=Windows. And the default Windows OSSKU will be changed to `Windows2022` after Windows2019 is deprecated. Changing this forces a new resource to be created. OsSku *string `pulumi:"osSku"` // The Operating System which should be used for this Node Pool. Changing this forces a new resource to be created. Possible values are `Linux` and `Windows`. Defaults to `Linux`. OsType *string `pulumi:"osType"` @@ -654,7 +654,7 @@ type KubernetesClusterNodePoolArgs struct { OsDiskSizeGb pulumi.IntPtrInput // The type of disk which should be used for the Operating System. Possible values are `Ephemeral` and `Managed`. Defaults to `Managed`. Changing this forces a new resource to be created. OsDiskType pulumi.StringPtrInput - // Specifies the OS SKU used by the agent pool. Possible values are `AzureLinux`, `CBLMariner`, `Mariner`, `Ubuntu`, `Windows2019` and `Windows2022`. If not specified, the default is `Ubuntu` if OSType=Linux or `Windows2019` if OSType=Windows. And the default Windows OSSKU will be changed to `Windows2022` after Windows2019 is deprecated. Changing this forces a new resource to be created. + // Specifies the OS SKU used by the agent pool. Possible values are `AzureLinux`, `Ubuntu`, `Windows2019` and `Windows2022`. If not specified, the default is `Ubuntu` if OSType=Linux or `Windows2019` if OSType=Windows. And the default Windows OSSKU will be changed to `Windows2022` after Windows2019 is deprecated. Changing this forces a new resource to be created. OsSku pulumi.StringPtrInput // The Operating System which should be used for this Node Pool. Changing this forces a new resource to be created. Possible values are `Linux` and `Windows`. Defaults to `Linux`. OsType pulumi.StringPtrInput @@ -942,7 +942,7 @@ func (o KubernetesClusterNodePoolOutput) OsDiskType() pulumi.StringPtrOutput { return o.ApplyT(func(v *KubernetesClusterNodePool) pulumi.StringPtrOutput { return v.OsDiskType }).(pulumi.StringPtrOutput) } -// Specifies the OS SKU used by the agent pool. Possible values are `AzureLinux`, `CBLMariner`, `Mariner`, `Ubuntu`, `Windows2019` and `Windows2022`. If not specified, the default is `Ubuntu` if OSType=Linux or `Windows2019` if OSType=Windows. And the default Windows OSSKU will be changed to `Windows2022` after Windows2019 is deprecated. Changing this forces a new resource to be created. +// Specifies the OS SKU used by the agent pool. Possible values are `AzureLinux`, `Ubuntu`, `Windows2019` and `Windows2022`. If not specified, the default is `Ubuntu` if OSType=Linux or `Windows2019` if OSType=Windows. And the default Windows OSSKU will be changed to `Windows2022` after Windows2019 is deprecated. Changing this forces a new resource to be created. func (o KubernetesClusterNodePoolOutput) OsSku() pulumi.StringOutput { return o.ApplyT(func(v *KubernetesClusterNodePool) pulumi.StringOutput { return v.OsSku }).(pulumi.StringOutput) } diff --git a/sdk/go/azure/containerservice/pulumiTypes.go b/sdk/go/azure/containerservice/pulumiTypes.go index 564b0cb373..b15dc074d5 100644 --- a/sdk/go/azure/containerservice/pulumiTypes.go +++ b/sdk/go/azure/containerservice/pulumiTypes.go @@ -143,6 +143,669 @@ func (o ConnectedRegistryNotificationArrayOutput) Index(i pulumi.IntInput) Conne }).(ConnectedRegistryNotificationOutput) } +type FleetUpdateRunManagedClusterUpdate struct { + // A `nodeImageSelection` block as defined below. + NodeImageSelection *FleetUpdateRunManagedClusterUpdateNodeImageSelection `pulumi:"nodeImageSelection"` + // A `upgrade` block as defined below. + Upgrade FleetUpdateRunManagedClusterUpdateUpgrade `pulumi:"upgrade"` +} + +// FleetUpdateRunManagedClusterUpdateInput is an input type that accepts FleetUpdateRunManagedClusterUpdateArgs and FleetUpdateRunManagedClusterUpdateOutput values. +// You can construct a concrete instance of `FleetUpdateRunManagedClusterUpdateInput` via: +// +// FleetUpdateRunManagedClusterUpdateArgs{...} +type FleetUpdateRunManagedClusterUpdateInput interface { + pulumi.Input + + ToFleetUpdateRunManagedClusterUpdateOutput() FleetUpdateRunManagedClusterUpdateOutput + ToFleetUpdateRunManagedClusterUpdateOutputWithContext(context.Context) FleetUpdateRunManagedClusterUpdateOutput +} + +type FleetUpdateRunManagedClusterUpdateArgs struct { + // A `nodeImageSelection` block as defined below. + NodeImageSelection FleetUpdateRunManagedClusterUpdateNodeImageSelectionPtrInput `pulumi:"nodeImageSelection"` + // A `upgrade` block as defined below. + Upgrade FleetUpdateRunManagedClusterUpdateUpgradeInput `pulumi:"upgrade"` +} + +func (FleetUpdateRunManagedClusterUpdateArgs) ElementType() reflect.Type { + return reflect.TypeOf((*FleetUpdateRunManagedClusterUpdate)(nil)).Elem() +} + +func (i FleetUpdateRunManagedClusterUpdateArgs) ToFleetUpdateRunManagedClusterUpdateOutput() FleetUpdateRunManagedClusterUpdateOutput { + return i.ToFleetUpdateRunManagedClusterUpdateOutputWithContext(context.Background()) +} + +func (i FleetUpdateRunManagedClusterUpdateArgs) ToFleetUpdateRunManagedClusterUpdateOutputWithContext(ctx context.Context) FleetUpdateRunManagedClusterUpdateOutput { + return pulumi.ToOutputWithContext(ctx, i).(FleetUpdateRunManagedClusterUpdateOutput) +} + +func (i FleetUpdateRunManagedClusterUpdateArgs) ToFleetUpdateRunManagedClusterUpdatePtrOutput() FleetUpdateRunManagedClusterUpdatePtrOutput { + return i.ToFleetUpdateRunManagedClusterUpdatePtrOutputWithContext(context.Background()) +} + +func (i FleetUpdateRunManagedClusterUpdateArgs) ToFleetUpdateRunManagedClusterUpdatePtrOutputWithContext(ctx context.Context) FleetUpdateRunManagedClusterUpdatePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(FleetUpdateRunManagedClusterUpdateOutput).ToFleetUpdateRunManagedClusterUpdatePtrOutputWithContext(ctx) +} + +// FleetUpdateRunManagedClusterUpdatePtrInput is an input type that accepts FleetUpdateRunManagedClusterUpdateArgs, FleetUpdateRunManagedClusterUpdatePtr and FleetUpdateRunManagedClusterUpdatePtrOutput values. +// You can construct a concrete instance of `FleetUpdateRunManagedClusterUpdatePtrInput` via: +// +// FleetUpdateRunManagedClusterUpdateArgs{...} +// +// or: +// +// nil +type FleetUpdateRunManagedClusterUpdatePtrInput interface { + pulumi.Input + + ToFleetUpdateRunManagedClusterUpdatePtrOutput() FleetUpdateRunManagedClusterUpdatePtrOutput + ToFleetUpdateRunManagedClusterUpdatePtrOutputWithContext(context.Context) FleetUpdateRunManagedClusterUpdatePtrOutput +} + +type fleetUpdateRunManagedClusterUpdatePtrType FleetUpdateRunManagedClusterUpdateArgs + +func FleetUpdateRunManagedClusterUpdatePtr(v *FleetUpdateRunManagedClusterUpdateArgs) FleetUpdateRunManagedClusterUpdatePtrInput { + return (*fleetUpdateRunManagedClusterUpdatePtrType)(v) +} + +func (*fleetUpdateRunManagedClusterUpdatePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**FleetUpdateRunManagedClusterUpdate)(nil)).Elem() +} + +func (i *fleetUpdateRunManagedClusterUpdatePtrType) ToFleetUpdateRunManagedClusterUpdatePtrOutput() FleetUpdateRunManagedClusterUpdatePtrOutput { + return i.ToFleetUpdateRunManagedClusterUpdatePtrOutputWithContext(context.Background()) +} + +func (i *fleetUpdateRunManagedClusterUpdatePtrType) ToFleetUpdateRunManagedClusterUpdatePtrOutputWithContext(ctx context.Context) FleetUpdateRunManagedClusterUpdatePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(FleetUpdateRunManagedClusterUpdatePtrOutput) +} + +type FleetUpdateRunManagedClusterUpdateOutput struct{ *pulumi.OutputState } + +func (FleetUpdateRunManagedClusterUpdateOutput) ElementType() reflect.Type { + return reflect.TypeOf((*FleetUpdateRunManagedClusterUpdate)(nil)).Elem() +} + +func (o FleetUpdateRunManagedClusterUpdateOutput) ToFleetUpdateRunManagedClusterUpdateOutput() FleetUpdateRunManagedClusterUpdateOutput { + return o +} + +func (o FleetUpdateRunManagedClusterUpdateOutput) ToFleetUpdateRunManagedClusterUpdateOutputWithContext(ctx context.Context) FleetUpdateRunManagedClusterUpdateOutput { + return o +} + +func (o FleetUpdateRunManagedClusterUpdateOutput) ToFleetUpdateRunManagedClusterUpdatePtrOutput() FleetUpdateRunManagedClusterUpdatePtrOutput { + return o.ToFleetUpdateRunManagedClusterUpdatePtrOutputWithContext(context.Background()) +} + +func (o FleetUpdateRunManagedClusterUpdateOutput) ToFleetUpdateRunManagedClusterUpdatePtrOutputWithContext(ctx context.Context) FleetUpdateRunManagedClusterUpdatePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v FleetUpdateRunManagedClusterUpdate) *FleetUpdateRunManagedClusterUpdate { + return &v + }).(FleetUpdateRunManagedClusterUpdatePtrOutput) +} + +// A `nodeImageSelection` block as defined below. +func (o FleetUpdateRunManagedClusterUpdateOutput) NodeImageSelection() FleetUpdateRunManagedClusterUpdateNodeImageSelectionPtrOutput { + return o.ApplyT(func(v FleetUpdateRunManagedClusterUpdate) *FleetUpdateRunManagedClusterUpdateNodeImageSelection { + return v.NodeImageSelection + }).(FleetUpdateRunManagedClusterUpdateNodeImageSelectionPtrOutput) +} + +// A `upgrade` block as defined below. +func (o FleetUpdateRunManagedClusterUpdateOutput) Upgrade() FleetUpdateRunManagedClusterUpdateUpgradeOutput { + return o.ApplyT(func(v FleetUpdateRunManagedClusterUpdate) FleetUpdateRunManagedClusterUpdateUpgrade { return v.Upgrade }).(FleetUpdateRunManagedClusterUpdateUpgradeOutput) +} + +type FleetUpdateRunManagedClusterUpdatePtrOutput struct{ *pulumi.OutputState } + +func (FleetUpdateRunManagedClusterUpdatePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**FleetUpdateRunManagedClusterUpdate)(nil)).Elem() +} + +func (o FleetUpdateRunManagedClusterUpdatePtrOutput) ToFleetUpdateRunManagedClusterUpdatePtrOutput() FleetUpdateRunManagedClusterUpdatePtrOutput { + return o +} + +func (o FleetUpdateRunManagedClusterUpdatePtrOutput) ToFleetUpdateRunManagedClusterUpdatePtrOutputWithContext(ctx context.Context) FleetUpdateRunManagedClusterUpdatePtrOutput { + return o +} + +func (o FleetUpdateRunManagedClusterUpdatePtrOutput) Elem() FleetUpdateRunManagedClusterUpdateOutput { + return o.ApplyT(func(v *FleetUpdateRunManagedClusterUpdate) FleetUpdateRunManagedClusterUpdate { + if v != nil { + return *v + } + var ret FleetUpdateRunManagedClusterUpdate + return ret + }).(FleetUpdateRunManagedClusterUpdateOutput) +} + +// A `nodeImageSelection` block as defined below. +func (o FleetUpdateRunManagedClusterUpdatePtrOutput) NodeImageSelection() FleetUpdateRunManagedClusterUpdateNodeImageSelectionPtrOutput { + return o.ApplyT(func(v *FleetUpdateRunManagedClusterUpdate) *FleetUpdateRunManagedClusterUpdateNodeImageSelection { + if v == nil { + return nil + } + return v.NodeImageSelection + }).(FleetUpdateRunManagedClusterUpdateNodeImageSelectionPtrOutput) +} + +// A `upgrade` block as defined below. +func (o FleetUpdateRunManagedClusterUpdatePtrOutput) Upgrade() FleetUpdateRunManagedClusterUpdateUpgradePtrOutput { + return o.ApplyT(func(v *FleetUpdateRunManagedClusterUpdate) *FleetUpdateRunManagedClusterUpdateUpgrade { + if v == nil { + return nil + } + return &v.Upgrade + }).(FleetUpdateRunManagedClusterUpdateUpgradePtrOutput) +} + +type FleetUpdateRunManagedClusterUpdateNodeImageSelection struct { + // Specifies the node image upgrade type. Possible values are `Latest` and `Consistent`. + Type string `pulumi:"type"` +} + +// FleetUpdateRunManagedClusterUpdateNodeImageSelectionInput is an input type that accepts FleetUpdateRunManagedClusterUpdateNodeImageSelectionArgs and FleetUpdateRunManagedClusterUpdateNodeImageSelectionOutput values. +// You can construct a concrete instance of `FleetUpdateRunManagedClusterUpdateNodeImageSelectionInput` via: +// +// FleetUpdateRunManagedClusterUpdateNodeImageSelectionArgs{...} +type FleetUpdateRunManagedClusterUpdateNodeImageSelectionInput interface { + pulumi.Input + + ToFleetUpdateRunManagedClusterUpdateNodeImageSelectionOutput() FleetUpdateRunManagedClusterUpdateNodeImageSelectionOutput + ToFleetUpdateRunManagedClusterUpdateNodeImageSelectionOutputWithContext(context.Context) FleetUpdateRunManagedClusterUpdateNodeImageSelectionOutput +} + +type FleetUpdateRunManagedClusterUpdateNodeImageSelectionArgs struct { + // Specifies the node image upgrade type. Possible values are `Latest` and `Consistent`. + Type pulumi.StringInput `pulumi:"type"` +} + +func (FleetUpdateRunManagedClusterUpdateNodeImageSelectionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*FleetUpdateRunManagedClusterUpdateNodeImageSelection)(nil)).Elem() +} + +func (i FleetUpdateRunManagedClusterUpdateNodeImageSelectionArgs) ToFleetUpdateRunManagedClusterUpdateNodeImageSelectionOutput() FleetUpdateRunManagedClusterUpdateNodeImageSelectionOutput { + return i.ToFleetUpdateRunManagedClusterUpdateNodeImageSelectionOutputWithContext(context.Background()) +} + +func (i FleetUpdateRunManagedClusterUpdateNodeImageSelectionArgs) ToFleetUpdateRunManagedClusterUpdateNodeImageSelectionOutputWithContext(ctx context.Context) FleetUpdateRunManagedClusterUpdateNodeImageSelectionOutput { + return pulumi.ToOutputWithContext(ctx, i).(FleetUpdateRunManagedClusterUpdateNodeImageSelectionOutput) +} + +func (i FleetUpdateRunManagedClusterUpdateNodeImageSelectionArgs) ToFleetUpdateRunManagedClusterUpdateNodeImageSelectionPtrOutput() FleetUpdateRunManagedClusterUpdateNodeImageSelectionPtrOutput { + return i.ToFleetUpdateRunManagedClusterUpdateNodeImageSelectionPtrOutputWithContext(context.Background()) +} + +func (i FleetUpdateRunManagedClusterUpdateNodeImageSelectionArgs) ToFleetUpdateRunManagedClusterUpdateNodeImageSelectionPtrOutputWithContext(ctx context.Context) FleetUpdateRunManagedClusterUpdateNodeImageSelectionPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(FleetUpdateRunManagedClusterUpdateNodeImageSelectionOutput).ToFleetUpdateRunManagedClusterUpdateNodeImageSelectionPtrOutputWithContext(ctx) +} + +// FleetUpdateRunManagedClusterUpdateNodeImageSelectionPtrInput is an input type that accepts FleetUpdateRunManagedClusterUpdateNodeImageSelectionArgs, FleetUpdateRunManagedClusterUpdateNodeImageSelectionPtr and FleetUpdateRunManagedClusterUpdateNodeImageSelectionPtrOutput values. +// You can construct a concrete instance of `FleetUpdateRunManagedClusterUpdateNodeImageSelectionPtrInput` via: +// +// FleetUpdateRunManagedClusterUpdateNodeImageSelectionArgs{...} +// +// or: +// +// nil +type FleetUpdateRunManagedClusterUpdateNodeImageSelectionPtrInput interface { + pulumi.Input + + ToFleetUpdateRunManagedClusterUpdateNodeImageSelectionPtrOutput() FleetUpdateRunManagedClusterUpdateNodeImageSelectionPtrOutput + ToFleetUpdateRunManagedClusterUpdateNodeImageSelectionPtrOutputWithContext(context.Context) FleetUpdateRunManagedClusterUpdateNodeImageSelectionPtrOutput +} + +type fleetUpdateRunManagedClusterUpdateNodeImageSelectionPtrType FleetUpdateRunManagedClusterUpdateNodeImageSelectionArgs + +func FleetUpdateRunManagedClusterUpdateNodeImageSelectionPtr(v *FleetUpdateRunManagedClusterUpdateNodeImageSelectionArgs) FleetUpdateRunManagedClusterUpdateNodeImageSelectionPtrInput { + return (*fleetUpdateRunManagedClusterUpdateNodeImageSelectionPtrType)(v) +} + +func (*fleetUpdateRunManagedClusterUpdateNodeImageSelectionPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**FleetUpdateRunManagedClusterUpdateNodeImageSelection)(nil)).Elem() +} + +func (i *fleetUpdateRunManagedClusterUpdateNodeImageSelectionPtrType) ToFleetUpdateRunManagedClusterUpdateNodeImageSelectionPtrOutput() FleetUpdateRunManagedClusterUpdateNodeImageSelectionPtrOutput { + return i.ToFleetUpdateRunManagedClusterUpdateNodeImageSelectionPtrOutputWithContext(context.Background()) +} + +func (i *fleetUpdateRunManagedClusterUpdateNodeImageSelectionPtrType) ToFleetUpdateRunManagedClusterUpdateNodeImageSelectionPtrOutputWithContext(ctx context.Context) FleetUpdateRunManagedClusterUpdateNodeImageSelectionPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(FleetUpdateRunManagedClusterUpdateNodeImageSelectionPtrOutput) +} + +type FleetUpdateRunManagedClusterUpdateNodeImageSelectionOutput struct{ *pulumi.OutputState } + +func (FleetUpdateRunManagedClusterUpdateNodeImageSelectionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*FleetUpdateRunManagedClusterUpdateNodeImageSelection)(nil)).Elem() +} + +func (o FleetUpdateRunManagedClusterUpdateNodeImageSelectionOutput) ToFleetUpdateRunManagedClusterUpdateNodeImageSelectionOutput() FleetUpdateRunManagedClusterUpdateNodeImageSelectionOutput { + return o +} + +func (o FleetUpdateRunManagedClusterUpdateNodeImageSelectionOutput) ToFleetUpdateRunManagedClusterUpdateNodeImageSelectionOutputWithContext(ctx context.Context) FleetUpdateRunManagedClusterUpdateNodeImageSelectionOutput { + return o +} + +func (o FleetUpdateRunManagedClusterUpdateNodeImageSelectionOutput) ToFleetUpdateRunManagedClusterUpdateNodeImageSelectionPtrOutput() FleetUpdateRunManagedClusterUpdateNodeImageSelectionPtrOutput { + return o.ToFleetUpdateRunManagedClusterUpdateNodeImageSelectionPtrOutputWithContext(context.Background()) +} + +func (o FleetUpdateRunManagedClusterUpdateNodeImageSelectionOutput) ToFleetUpdateRunManagedClusterUpdateNodeImageSelectionPtrOutputWithContext(ctx context.Context) FleetUpdateRunManagedClusterUpdateNodeImageSelectionPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v FleetUpdateRunManagedClusterUpdateNodeImageSelection) *FleetUpdateRunManagedClusterUpdateNodeImageSelection { + return &v + }).(FleetUpdateRunManagedClusterUpdateNodeImageSelectionPtrOutput) +} + +// Specifies the node image upgrade type. Possible values are `Latest` and `Consistent`. +func (o FleetUpdateRunManagedClusterUpdateNodeImageSelectionOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v FleetUpdateRunManagedClusterUpdateNodeImageSelection) string { return v.Type }).(pulumi.StringOutput) +} + +type FleetUpdateRunManagedClusterUpdateNodeImageSelectionPtrOutput struct{ *pulumi.OutputState } + +func (FleetUpdateRunManagedClusterUpdateNodeImageSelectionPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**FleetUpdateRunManagedClusterUpdateNodeImageSelection)(nil)).Elem() +} + +func (o FleetUpdateRunManagedClusterUpdateNodeImageSelectionPtrOutput) ToFleetUpdateRunManagedClusterUpdateNodeImageSelectionPtrOutput() FleetUpdateRunManagedClusterUpdateNodeImageSelectionPtrOutput { + return o +} + +func (o FleetUpdateRunManagedClusterUpdateNodeImageSelectionPtrOutput) ToFleetUpdateRunManagedClusterUpdateNodeImageSelectionPtrOutputWithContext(ctx context.Context) FleetUpdateRunManagedClusterUpdateNodeImageSelectionPtrOutput { + return o +} + +func (o FleetUpdateRunManagedClusterUpdateNodeImageSelectionPtrOutput) Elem() FleetUpdateRunManagedClusterUpdateNodeImageSelectionOutput { + return o.ApplyT(func(v *FleetUpdateRunManagedClusterUpdateNodeImageSelection) FleetUpdateRunManagedClusterUpdateNodeImageSelection { + if v != nil { + return *v + } + var ret FleetUpdateRunManagedClusterUpdateNodeImageSelection + return ret + }).(FleetUpdateRunManagedClusterUpdateNodeImageSelectionOutput) +} + +// Specifies the node image upgrade type. Possible values are `Latest` and `Consistent`. +func (o FleetUpdateRunManagedClusterUpdateNodeImageSelectionPtrOutput) Type() pulumi.StringPtrOutput { + return o.ApplyT(func(v *FleetUpdateRunManagedClusterUpdateNodeImageSelection) *string { + if v == nil { + return nil + } + return &v.Type + }).(pulumi.StringPtrOutput) +} + +type FleetUpdateRunManagedClusterUpdateUpgrade struct { + // Specifies the Kubernetes version to upgrade the member clusters to. This is required if `type` is set to `Full`. + KubernetesVersion *string `pulumi:"kubernetesVersion"` + // Specifies the type of upgrade to perform. Possible values are `Full` and `NodeImageOnly`. + Type string `pulumi:"type"` +} + +// FleetUpdateRunManagedClusterUpdateUpgradeInput is an input type that accepts FleetUpdateRunManagedClusterUpdateUpgradeArgs and FleetUpdateRunManagedClusterUpdateUpgradeOutput values. +// You can construct a concrete instance of `FleetUpdateRunManagedClusterUpdateUpgradeInput` via: +// +// FleetUpdateRunManagedClusterUpdateUpgradeArgs{...} +type FleetUpdateRunManagedClusterUpdateUpgradeInput interface { + pulumi.Input + + ToFleetUpdateRunManagedClusterUpdateUpgradeOutput() FleetUpdateRunManagedClusterUpdateUpgradeOutput + ToFleetUpdateRunManagedClusterUpdateUpgradeOutputWithContext(context.Context) FleetUpdateRunManagedClusterUpdateUpgradeOutput +} + +type FleetUpdateRunManagedClusterUpdateUpgradeArgs struct { + // Specifies the Kubernetes version to upgrade the member clusters to. This is required if `type` is set to `Full`. + KubernetesVersion pulumi.StringPtrInput `pulumi:"kubernetesVersion"` + // Specifies the type of upgrade to perform. Possible values are `Full` and `NodeImageOnly`. + Type pulumi.StringInput `pulumi:"type"` +} + +func (FleetUpdateRunManagedClusterUpdateUpgradeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*FleetUpdateRunManagedClusterUpdateUpgrade)(nil)).Elem() +} + +func (i FleetUpdateRunManagedClusterUpdateUpgradeArgs) ToFleetUpdateRunManagedClusterUpdateUpgradeOutput() FleetUpdateRunManagedClusterUpdateUpgradeOutput { + return i.ToFleetUpdateRunManagedClusterUpdateUpgradeOutputWithContext(context.Background()) +} + +func (i FleetUpdateRunManagedClusterUpdateUpgradeArgs) ToFleetUpdateRunManagedClusterUpdateUpgradeOutputWithContext(ctx context.Context) FleetUpdateRunManagedClusterUpdateUpgradeOutput { + return pulumi.ToOutputWithContext(ctx, i).(FleetUpdateRunManagedClusterUpdateUpgradeOutput) +} + +func (i FleetUpdateRunManagedClusterUpdateUpgradeArgs) ToFleetUpdateRunManagedClusterUpdateUpgradePtrOutput() FleetUpdateRunManagedClusterUpdateUpgradePtrOutput { + return i.ToFleetUpdateRunManagedClusterUpdateUpgradePtrOutputWithContext(context.Background()) +} + +func (i FleetUpdateRunManagedClusterUpdateUpgradeArgs) ToFleetUpdateRunManagedClusterUpdateUpgradePtrOutputWithContext(ctx context.Context) FleetUpdateRunManagedClusterUpdateUpgradePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(FleetUpdateRunManagedClusterUpdateUpgradeOutput).ToFleetUpdateRunManagedClusterUpdateUpgradePtrOutputWithContext(ctx) +} + +// FleetUpdateRunManagedClusterUpdateUpgradePtrInput is an input type that accepts FleetUpdateRunManagedClusterUpdateUpgradeArgs, FleetUpdateRunManagedClusterUpdateUpgradePtr and FleetUpdateRunManagedClusterUpdateUpgradePtrOutput values. +// You can construct a concrete instance of `FleetUpdateRunManagedClusterUpdateUpgradePtrInput` via: +// +// FleetUpdateRunManagedClusterUpdateUpgradeArgs{...} +// +// or: +// +// nil +type FleetUpdateRunManagedClusterUpdateUpgradePtrInput interface { + pulumi.Input + + ToFleetUpdateRunManagedClusterUpdateUpgradePtrOutput() FleetUpdateRunManagedClusterUpdateUpgradePtrOutput + ToFleetUpdateRunManagedClusterUpdateUpgradePtrOutputWithContext(context.Context) FleetUpdateRunManagedClusterUpdateUpgradePtrOutput +} + +type fleetUpdateRunManagedClusterUpdateUpgradePtrType FleetUpdateRunManagedClusterUpdateUpgradeArgs + +func FleetUpdateRunManagedClusterUpdateUpgradePtr(v *FleetUpdateRunManagedClusterUpdateUpgradeArgs) FleetUpdateRunManagedClusterUpdateUpgradePtrInput { + return (*fleetUpdateRunManagedClusterUpdateUpgradePtrType)(v) +} + +func (*fleetUpdateRunManagedClusterUpdateUpgradePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**FleetUpdateRunManagedClusterUpdateUpgrade)(nil)).Elem() +} + +func (i *fleetUpdateRunManagedClusterUpdateUpgradePtrType) ToFleetUpdateRunManagedClusterUpdateUpgradePtrOutput() FleetUpdateRunManagedClusterUpdateUpgradePtrOutput { + return i.ToFleetUpdateRunManagedClusterUpdateUpgradePtrOutputWithContext(context.Background()) +} + +func (i *fleetUpdateRunManagedClusterUpdateUpgradePtrType) ToFleetUpdateRunManagedClusterUpdateUpgradePtrOutputWithContext(ctx context.Context) FleetUpdateRunManagedClusterUpdateUpgradePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(FleetUpdateRunManagedClusterUpdateUpgradePtrOutput) +} + +type FleetUpdateRunManagedClusterUpdateUpgradeOutput struct{ *pulumi.OutputState } + +func (FleetUpdateRunManagedClusterUpdateUpgradeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*FleetUpdateRunManagedClusterUpdateUpgrade)(nil)).Elem() +} + +func (o FleetUpdateRunManagedClusterUpdateUpgradeOutput) ToFleetUpdateRunManagedClusterUpdateUpgradeOutput() FleetUpdateRunManagedClusterUpdateUpgradeOutput { + return o +} + +func (o FleetUpdateRunManagedClusterUpdateUpgradeOutput) ToFleetUpdateRunManagedClusterUpdateUpgradeOutputWithContext(ctx context.Context) FleetUpdateRunManagedClusterUpdateUpgradeOutput { + return o +} + +func (o FleetUpdateRunManagedClusterUpdateUpgradeOutput) ToFleetUpdateRunManagedClusterUpdateUpgradePtrOutput() FleetUpdateRunManagedClusterUpdateUpgradePtrOutput { + return o.ToFleetUpdateRunManagedClusterUpdateUpgradePtrOutputWithContext(context.Background()) +} + +func (o FleetUpdateRunManagedClusterUpdateUpgradeOutput) ToFleetUpdateRunManagedClusterUpdateUpgradePtrOutputWithContext(ctx context.Context) FleetUpdateRunManagedClusterUpdateUpgradePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v FleetUpdateRunManagedClusterUpdateUpgrade) *FleetUpdateRunManagedClusterUpdateUpgrade { + return &v + }).(FleetUpdateRunManagedClusterUpdateUpgradePtrOutput) +} + +// Specifies the Kubernetes version to upgrade the member clusters to. This is required if `type` is set to `Full`. +func (o FleetUpdateRunManagedClusterUpdateUpgradeOutput) KubernetesVersion() pulumi.StringPtrOutput { + return o.ApplyT(func(v FleetUpdateRunManagedClusterUpdateUpgrade) *string { return v.KubernetesVersion }).(pulumi.StringPtrOutput) +} + +// Specifies the type of upgrade to perform. Possible values are `Full` and `NodeImageOnly`. +func (o FleetUpdateRunManagedClusterUpdateUpgradeOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v FleetUpdateRunManagedClusterUpdateUpgrade) string { return v.Type }).(pulumi.StringOutput) +} + +type FleetUpdateRunManagedClusterUpdateUpgradePtrOutput struct{ *pulumi.OutputState } + +func (FleetUpdateRunManagedClusterUpdateUpgradePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**FleetUpdateRunManagedClusterUpdateUpgrade)(nil)).Elem() +} + +func (o FleetUpdateRunManagedClusterUpdateUpgradePtrOutput) ToFleetUpdateRunManagedClusterUpdateUpgradePtrOutput() FleetUpdateRunManagedClusterUpdateUpgradePtrOutput { + return o +} + +func (o FleetUpdateRunManagedClusterUpdateUpgradePtrOutput) ToFleetUpdateRunManagedClusterUpdateUpgradePtrOutputWithContext(ctx context.Context) FleetUpdateRunManagedClusterUpdateUpgradePtrOutput { + return o +} + +func (o FleetUpdateRunManagedClusterUpdateUpgradePtrOutput) Elem() FleetUpdateRunManagedClusterUpdateUpgradeOutput { + return o.ApplyT(func(v *FleetUpdateRunManagedClusterUpdateUpgrade) FleetUpdateRunManagedClusterUpdateUpgrade { + if v != nil { + return *v + } + var ret FleetUpdateRunManagedClusterUpdateUpgrade + return ret + }).(FleetUpdateRunManagedClusterUpdateUpgradeOutput) +} + +// Specifies the Kubernetes version to upgrade the member clusters to. This is required if `type` is set to `Full`. +func (o FleetUpdateRunManagedClusterUpdateUpgradePtrOutput) KubernetesVersion() pulumi.StringPtrOutput { + return o.ApplyT(func(v *FleetUpdateRunManagedClusterUpdateUpgrade) *string { + if v == nil { + return nil + } + return v.KubernetesVersion + }).(pulumi.StringPtrOutput) +} + +// Specifies the type of upgrade to perform. Possible values are `Full` and `NodeImageOnly`. +func (o FleetUpdateRunManagedClusterUpdateUpgradePtrOutput) Type() pulumi.StringPtrOutput { + return o.ApplyT(func(v *FleetUpdateRunManagedClusterUpdateUpgrade) *string { + if v == nil { + return nil + } + return &v.Type + }).(pulumi.StringPtrOutput) +} + +type FleetUpdateRunStage struct { + // Specifies the time in seconds to wait at the end of this stage before starting the next one. + AfterStageWaitInSeconds *int `pulumi:"afterStageWaitInSeconds"` + // One or more `group` blocks as defined below. + Groups []FleetUpdateRunStageGroup `pulumi:"groups"` + // The name which should be used for this stage. + Name string `pulumi:"name"` +} + +// FleetUpdateRunStageInput is an input type that accepts FleetUpdateRunStageArgs and FleetUpdateRunStageOutput values. +// You can construct a concrete instance of `FleetUpdateRunStageInput` via: +// +// FleetUpdateRunStageArgs{...} +type FleetUpdateRunStageInput interface { + pulumi.Input + + ToFleetUpdateRunStageOutput() FleetUpdateRunStageOutput + ToFleetUpdateRunStageOutputWithContext(context.Context) FleetUpdateRunStageOutput +} + +type FleetUpdateRunStageArgs struct { + // Specifies the time in seconds to wait at the end of this stage before starting the next one. + AfterStageWaitInSeconds pulumi.IntPtrInput `pulumi:"afterStageWaitInSeconds"` + // One or more `group` blocks as defined below. + Groups FleetUpdateRunStageGroupArrayInput `pulumi:"groups"` + // The name which should be used for this stage. + Name pulumi.StringInput `pulumi:"name"` +} + +func (FleetUpdateRunStageArgs) ElementType() reflect.Type { + return reflect.TypeOf((*FleetUpdateRunStage)(nil)).Elem() +} + +func (i FleetUpdateRunStageArgs) ToFleetUpdateRunStageOutput() FleetUpdateRunStageOutput { + return i.ToFleetUpdateRunStageOutputWithContext(context.Background()) +} + +func (i FleetUpdateRunStageArgs) ToFleetUpdateRunStageOutputWithContext(ctx context.Context) FleetUpdateRunStageOutput { + return pulumi.ToOutputWithContext(ctx, i).(FleetUpdateRunStageOutput) +} + +// FleetUpdateRunStageArrayInput is an input type that accepts FleetUpdateRunStageArray and FleetUpdateRunStageArrayOutput values. +// You can construct a concrete instance of `FleetUpdateRunStageArrayInput` via: +// +// FleetUpdateRunStageArray{ FleetUpdateRunStageArgs{...} } +type FleetUpdateRunStageArrayInput interface { + pulumi.Input + + ToFleetUpdateRunStageArrayOutput() FleetUpdateRunStageArrayOutput + ToFleetUpdateRunStageArrayOutputWithContext(context.Context) FleetUpdateRunStageArrayOutput +} + +type FleetUpdateRunStageArray []FleetUpdateRunStageInput + +func (FleetUpdateRunStageArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]FleetUpdateRunStage)(nil)).Elem() +} + +func (i FleetUpdateRunStageArray) ToFleetUpdateRunStageArrayOutput() FleetUpdateRunStageArrayOutput { + return i.ToFleetUpdateRunStageArrayOutputWithContext(context.Background()) +} + +func (i FleetUpdateRunStageArray) ToFleetUpdateRunStageArrayOutputWithContext(ctx context.Context) FleetUpdateRunStageArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(FleetUpdateRunStageArrayOutput) +} + +type FleetUpdateRunStageOutput struct{ *pulumi.OutputState } + +func (FleetUpdateRunStageOutput) ElementType() reflect.Type { + return reflect.TypeOf((*FleetUpdateRunStage)(nil)).Elem() +} + +func (o FleetUpdateRunStageOutput) ToFleetUpdateRunStageOutput() FleetUpdateRunStageOutput { + return o +} + +func (o FleetUpdateRunStageOutput) ToFleetUpdateRunStageOutputWithContext(ctx context.Context) FleetUpdateRunStageOutput { + return o +} + +// Specifies the time in seconds to wait at the end of this stage before starting the next one. +func (o FleetUpdateRunStageOutput) AfterStageWaitInSeconds() pulumi.IntPtrOutput { + return o.ApplyT(func(v FleetUpdateRunStage) *int { return v.AfterStageWaitInSeconds }).(pulumi.IntPtrOutput) +} + +// One or more `group` blocks as defined below. +func (o FleetUpdateRunStageOutput) Groups() FleetUpdateRunStageGroupArrayOutput { + return o.ApplyT(func(v FleetUpdateRunStage) []FleetUpdateRunStageGroup { return v.Groups }).(FleetUpdateRunStageGroupArrayOutput) +} + +// The name which should be used for this stage. +func (o FleetUpdateRunStageOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v FleetUpdateRunStage) string { return v.Name }).(pulumi.StringOutput) +} + +type FleetUpdateRunStageArrayOutput struct{ *pulumi.OutputState } + +func (FleetUpdateRunStageArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]FleetUpdateRunStage)(nil)).Elem() +} + +func (o FleetUpdateRunStageArrayOutput) ToFleetUpdateRunStageArrayOutput() FleetUpdateRunStageArrayOutput { + return o +} + +func (o FleetUpdateRunStageArrayOutput) ToFleetUpdateRunStageArrayOutputWithContext(ctx context.Context) FleetUpdateRunStageArrayOutput { + return o +} + +func (o FleetUpdateRunStageArrayOutput) Index(i pulumi.IntInput) FleetUpdateRunStageOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) FleetUpdateRunStage { + return vs[0].([]FleetUpdateRunStage)[vs[1].(int)] + }).(FleetUpdateRunStageOutput) +} + +type FleetUpdateRunStageGroup struct { + // The name which should be used for this group. + Name string `pulumi:"name"` +} + +// FleetUpdateRunStageGroupInput is an input type that accepts FleetUpdateRunStageGroupArgs and FleetUpdateRunStageGroupOutput values. +// You can construct a concrete instance of `FleetUpdateRunStageGroupInput` via: +// +// FleetUpdateRunStageGroupArgs{...} +type FleetUpdateRunStageGroupInput interface { + pulumi.Input + + ToFleetUpdateRunStageGroupOutput() FleetUpdateRunStageGroupOutput + ToFleetUpdateRunStageGroupOutputWithContext(context.Context) FleetUpdateRunStageGroupOutput +} + +type FleetUpdateRunStageGroupArgs struct { + // The name which should be used for this group. + Name pulumi.StringInput `pulumi:"name"` +} + +func (FleetUpdateRunStageGroupArgs) ElementType() reflect.Type { + return reflect.TypeOf((*FleetUpdateRunStageGroup)(nil)).Elem() +} + +func (i FleetUpdateRunStageGroupArgs) ToFleetUpdateRunStageGroupOutput() FleetUpdateRunStageGroupOutput { + return i.ToFleetUpdateRunStageGroupOutputWithContext(context.Background()) +} + +func (i FleetUpdateRunStageGroupArgs) ToFleetUpdateRunStageGroupOutputWithContext(ctx context.Context) FleetUpdateRunStageGroupOutput { + return pulumi.ToOutputWithContext(ctx, i).(FleetUpdateRunStageGroupOutput) +} + +// FleetUpdateRunStageGroupArrayInput is an input type that accepts FleetUpdateRunStageGroupArray and FleetUpdateRunStageGroupArrayOutput values. +// You can construct a concrete instance of `FleetUpdateRunStageGroupArrayInput` via: +// +// FleetUpdateRunStageGroupArray{ FleetUpdateRunStageGroupArgs{...} } +type FleetUpdateRunStageGroupArrayInput interface { + pulumi.Input + + ToFleetUpdateRunStageGroupArrayOutput() FleetUpdateRunStageGroupArrayOutput + ToFleetUpdateRunStageGroupArrayOutputWithContext(context.Context) FleetUpdateRunStageGroupArrayOutput +} + +type FleetUpdateRunStageGroupArray []FleetUpdateRunStageGroupInput + +func (FleetUpdateRunStageGroupArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]FleetUpdateRunStageGroup)(nil)).Elem() +} + +func (i FleetUpdateRunStageGroupArray) ToFleetUpdateRunStageGroupArrayOutput() FleetUpdateRunStageGroupArrayOutput { + return i.ToFleetUpdateRunStageGroupArrayOutputWithContext(context.Background()) +} + +func (i FleetUpdateRunStageGroupArray) ToFleetUpdateRunStageGroupArrayOutputWithContext(ctx context.Context) FleetUpdateRunStageGroupArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(FleetUpdateRunStageGroupArrayOutput) +} + +type FleetUpdateRunStageGroupOutput struct{ *pulumi.OutputState } + +func (FleetUpdateRunStageGroupOutput) ElementType() reflect.Type { + return reflect.TypeOf((*FleetUpdateRunStageGroup)(nil)).Elem() +} + +func (o FleetUpdateRunStageGroupOutput) ToFleetUpdateRunStageGroupOutput() FleetUpdateRunStageGroupOutput { + return o +} + +func (o FleetUpdateRunStageGroupOutput) ToFleetUpdateRunStageGroupOutputWithContext(ctx context.Context) FleetUpdateRunStageGroupOutput { + return o +} + +// The name which should be used for this group. +func (o FleetUpdateRunStageGroupOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v FleetUpdateRunStageGroup) string { return v.Name }).(pulumi.StringOutput) +} + +type FleetUpdateRunStageGroupArrayOutput struct{ *pulumi.OutputState } + +func (FleetUpdateRunStageGroupArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]FleetUpdateRunStageGroup)(nil)).Elem() +} + +func (o FleetUpdateRunStageGroupArrayOutput) ToFleetUpdateRunStageGroupArrayOutput() FleetUpdateRunStageGroupArrayOutput { + return o +} + +func (o FleetUpdateRunStageGroupArrayOutput) ToFleetUpdateRunStageGroupArrayOutputWithContext(ctx context.Context) FleetUpdateRunStageGroupArrayOutput { + return o +} + +func (o FleetUpdateRunStageGroupArrayOutput) Index(i pulumi.IntInput) FleetUpdateRunStageGroupOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) FleetUpdateRunStageGroup { + return vs[0].([]FleetUpdateRunStageGroup)[vs[1].(int)] + }).(FleetUpdateRunStageGroupOutput) +} + type FleetUpdateStrategyStage struct { // Specifies the time in seconds to wait at the end of this stage before starting the next one. AfterStageWaitInSeconds *int `pulumi:"afterStageWaitInSeconds"` @@ -6712,7 +7375,7 @@ type KubernetesClusterDefaultNodePool struct { OsDiskSizeGb *int `pulumi:"osDiskSizeGb"` // The type of disk which should be used for the Operating System. Possible values are `Ephemeral` and `Managed`. Defaults to `Managed`. `temporaryNameForRotation` must be specified when attempting a change. OsDiskType *string `pulumi:"osDiskType"` - // Specifies the OS SKU used by the agent pool. Possible values are `AzureLinux`, `CBLMariner`, `Mariner`, `Ubuntu`, `Windows2019` and `Windows2022`. If not specified, the default is `Ubuntu` if OSType=Linux or `Windows2019` if OSType=Windows. And the default Windows OSSKU will be changed to `Windows2022` after Windows2019 is deprecated. `temporaryNameForRotation` must be specified when attempting a change. + // Specifies the OS SKU used by the agent pool. Possible values are `AzureLinux`, `Ubuntu`, `Windows2019` and `Windows2022`. If not specified, the default is `Ubuntu` if OSType=Linux or `Windows2019` if OSType=Windows. And the default Windows OSSKU will be changed to `Windows2022` after Windows2019 is deprecated. `temporaryNameForRotation` must be specified when attempting a change. OsSku *string `pulumi:"osSku"` // The ID of the Subnet where the pods in the default Node Pool should exist. PodSubnetId *string `pulumi:"podSubnetId"` @@ -6828,7 +7491,7 @@ type KubernetesClusterDefaultNodePoolArgs struct { OsDiskSizeGb pulumi.IntPtrInput `pulumi:"osDiskSizeGb"` // The type of disk which should be used for the Operating System. Possible values are `Ephemeral` and `Managed`. Defaults to `Managed`. `temporaryNameForRotation` must be specified when attempting a change. OsDiskType pulumi.StringPtrInput `pulumi:"osDiskType"` - // Specifies the OS SKU used by the agent pool. Possible values are `AzureLinux`, `CBLMariner`, `Mariner`, `Ubuntu`, `Windows2019` and `Windows2022`. If not specified, the default is `Ubuntu` if OSType=Linux or `Windows2019` if OSType=Windows. And the default Windows OSSKU will be changed to `Windows2022` after Windows2019 is deprecated. `temporaryNameForRotation` must be specified when attempting a change. + // Specifies the OS SKU used by the agent pool. Possible values are `AzureLinux`, `Ubuntu`, `Windows2019` and `Windows2022`. If not specified, the default is `Ubuntu` if OSType=Linux or `Windows2019` if OSType=Windows. And the default Windows OSSKU will be changed to `Windows2022` after Windows2019 is deprecated. `temporaryNameForRotation` must be specified when attempting a change. OsSku pulumi.StringPtrInput `pulumi:"osSku"` // The ID of the Subnet where the pods in the default Node Pool should exist. PodSubnetId pulumi.StringPtrInput `pulumi:"podSubnetId"` @@ -7090,7 +7753,7 @@ func (o KubernetesClusterDefaultNodePoolOutput) OsDiskType() pulumi.StringPtrOut return o.ApplyT(func(v KubernetesClusterDefaultNodePool) *string { return v.OsDiskType }).(pulumi.StringPtrOutput) } -// Specifies the OS SKU used by the agent pool. Possible values are `AzureLinux`, `CBLMariner`, `Mariner`, `Ubuntu`, `Windows2019` and `Windows2022`. If not specified, the default is `Ubuntu` if OSType=Linux or `Windows2019` if OSType=Windows. And the default Windows OSSKU will be changed to `Windows2022` after Windows2019 is deprecated. `temporaryNameForRotation` must be specified when attempting a change. +// Specifies the OS SKU used by the agent pool. Possible values are `AzureLinux`, `Ubuntu`, `Windows2019` and `Windows2022`. If not specified, the default is `Ubuntu` if OSType=Linux or `Windows2019` if OSType=Windows. And the default Windows OSSKU will be changed to `Windows2022` after Windows2019 is deprecated. `temporaryNameForRotation` must be specified when attempting a change. func (o KubernetesClusterDefaultNodePoolOutput) OsSku() pulumi.StringPtrOutput { return o.ApplyT(func(v KubernetesClusterDefaultNodePool) *string { return v.OsSku }).(pulumi.StringPtrOutput) } @@ -7460,7 +8123,7 @@ func (o KubernetesClusterDefaultNodePoolPtrOutput) OsDiskType() pulumi.StringPtr }).(pulumi.StringPtrOutput) } -// Specifies the OS SKU used by the agent pool. Possible values are `AzureLinux`, `CBLMariner`, `Mariner`, `Ubuntu`, `Windows2019` and `Windows2022`. If not specified, the default is `Ubuntu` if OSType=Linux or `Windows2019` if OSType=Windows. And the default Windows OSSKU will be changed to `Windows2022` after Windows2019 is deprecated. `temporaryNameForRotation` must be specified when attempting a change. +// Specifies the OS SKU used by the agent pool. Possible values are `AzureLinux`, `Ubuntu`, `Windows2019` and `Windows2022`. If not specified, the default is `Ubuntu` if OSType=Linux or `Windows2019` if OSType=Windows. And the default Windows OSSKU will be changed to `Windows2022` after Windows2019 is deprecated. `temporaryNameForRotation` must be specified when attempting a change. func (o KubernetesClusterDefaultNodePoolPtrOutput) OsSku() pulumi.StringPtrOutput { return o.ApplyT(func(v *KubernetesClusterDefaultNodePool) *string { if v == nil { @@ -10366,7 +11029,7 @@ func (o KubernetesClusterIngressApplicationGatewayIngressApplicationGatewayIdent } type KubernetesClusterKeyManagementService struct { - // Identifier of Azure Key Vault key. See [key identifier format](https://learn.microsoft.com/en-us/azure/key-vault/general/about-keys-secrets-certificates#vault-name-and-object-name) for more details. When Azure Key Vault key management service is enabled, this field is required and must be a valid key identifier. When `enabled` is `false`, leave the field empty. + // Identifier of Azure Key Vault key. See [key identifier format](https://learn.microsoft.com/en-us/azure/key-vault/general/about-keys-secrets-certificates#vault-name-and-object-name) for more details. KeyVaultKeyId string `pulumi:"keyVaultKeyId"` // Network access of the key vault Network access of key vault. The possible values are `Public` and `Private`. `Public` means the key vault allows public access from all networks. `Private` means the key vault disables public access and enables private link. Defaults to `Public`. KeyVaultNetworkAccess *string `pulumi:"keyVaultNetworkAccess"` @@ -10384,7 +11047,7 @@ type KubernetesClusterKeyManagementServiceInput interface { } type KubernetesClusterKeyManagementServiceArgs struct { - // Identifier of Azure Key Vault key. See [key identifier format](https://learn.microsoft.com/en-us/azure/key-vault/general/about-keys-secrets-certificates#vault-name-and-object-name) for more details. When Azure Key Vault key management service is enabled, this field is required and must be a valid key identifier. When `enabled` is `false`, leave the field empty. + // Identifier of Azure Key Vault key. See [key identifier format](https://learn.microsoft.com/en-us/azure/key-vault/general/about-keys-secrets-certificates#vault-name-and-object-name) for more details. KeyVaultKeyId pulumi.StringInput `pulumi:"keyVaultKeyId"` // Network access of the key vault Network access of key vault. The possible values are `Public` and `Private`. `Public` means the key vault allows public access from all networks. `Private` means the key vault disables public access and enables private link. Defaults to `Public`. KeyVaultNetworkAccess pulumi.StringPtrInput `pulumi:"keyVaultNetworkAccess"` @@ -10467,7 +11130,7 @@ func (o KubernetesClusterKeyManagementServiceOutput) ToKubernetesClusterKeyManag }).(KubernetesClusterKeyManagementServicePtrOutput) } -// Identifier of Azure Key Vault key. See [key identifier format](https://learn.microsoft.com/en-us/azure/key-vault/general/about-keys-secrets-certificates#vault-name-and-object-name) for more details. When Azure Key Vault key management service is enabled, this field is required and must be a valid key identifier. When `enabled` is `false`, leave the field empty. +// Identifier of Azure Key Vault key. See [key identifier format](https://learn.microsoft.com/en-us/azure/key-vault/general/about-keys-secrets-certificates#vault-name-and-object-name) for more details. func (o KubernetesClusterKeyManagementServiceOutput) KeyVaultKeyId() pulumi.StringOutput { return o.ApplyT(func(v KubernetesClusterKeyManagementService) string { return v.KeyVaultKeyId }).(pulumi.StringOutput) } @@ -10501,7 +11164,7 @@ func (o KubernetesClusterKeyManagementServicePtrOutput) Elem() KubernetesCluster }).(KubernetesClusterKeyManagementServiceOutput) } -// Identifier of Azure Key Vault key. See [key identifier format](https://learn.microsoft.com/en-us/azure/key-vault/general/about-keys-secrets-certificates#vault-name-and-object-name) for more details. When Azure Key Vault key management service is enabled, this field is required and must be a valid key identifier. When `enabled` is `false`, leave the field empty. +// Identifier of Azure Key Vault key. See [key identifier format](https://learn.microsoft.com/en-us/azure/key-vault/general/about-keys-secrets-certificates#vault-name-and-object-name) for more details. func (o KubernetesClusterKeyManagementServicePtrOutput) KeyVaultKeyId() pulumi.StringPtrOutput { return o.ApplyT(func(v *KubernetesClusterKeyManagementService) *string { if v == nil { @@ -13147,7 +13810,7 @@ type KubernetesClusterNetworkProfile struct { // // > **Note:** When `networkPolicy` is set to `cilium`, the `ebpfDataPlane` field must be set to `cilium`. NetworkPolicy *string `pulumi:"networkPolicy"` - // The outbound (egress) routing method which should be used for this Kubernetes Cluster. Possible values are `loadBalancer`, `userDefinedRouting`, `managedNATGateway` and `userAssignedNATGateway`. Defaults to `loadBalancer`. Changing this forces a new resource to be created. + // The outbound (egress) routing method which should be used for this Kubernetes Cluster. Possible values are `loadBalancer`, `userDefinedRouting`, `managedNATGateway` and `userAssignedNATGateway`. Defaults to `loadBalancer`. More information on supported migration paths for `outboundType` can be found in [this documentation](https://learn.microsoft.com/azure/aks/egress-outboundtype#updating-outboundtype-after-cluster-creation). OutboundType *string `pulumi:"outboundType"` // The CIDR to use for pod IP addresses. This field can only be set when `networkPlugin` is set to `kubenet`. Changing this forces a new resource to be created. PodCidr *string `pulumi:"podCidr"` @@ -13221,7 +13884,7 @@ type KubernetesClusterNetworkProfileArgs struct { // // > **Note:** When `networkPolicy` is set to `cilium`, the `ebpfDataPlane` field must be set to `cilium`. NetworkPolicy pulumi.StringPtrInput `pulumi:"networkPolicy"` - // The outbound (egress) routing method which should be used for this Kubernetes Cluster. Possible values are `loadBalancer`, `userDefinedRouting`, `managedNATGateway` and `userAssignedNATGateway`. Defaults to `loadBalancer`. Changing this forces a new resource to be created. + // The outbound (egress) routing method which should be used for this Kubernetes Cluster. Possible values are `loadBalancer`, `userDefinedRouting`, `managedNATGateway` and `userAssignedNATGateway`. Defaults to `loadBalancer`. More information on supported migration paths for `outboundType` can be found in [this documentation](https://learn.microsoft.com/azure/aks/egress-outboundtype#updating-outboundtype-after-cluster-creation). OutboundType pulumi.StringPtrInput `pulumi:"outboundType"` // The CIDR to use for pod IP addresses. This field can only be set when `networkPlugin` is set to `kubenet`. Changing this forces a new resource to be created. PodCidr pulumi.StringPtrInput `pulumi:"podCidr"` @@ -13397,7 +14060,7 @@ func (o KubernetesClusterNetworkProfileOutput) NetworkPolicy() pulumi.StringPtrO return o.ApplyT(func(v KubernetesClusterNetworkProfile) *string { return v.NetworkPolicy }).(pulumi.StringPtrOutput) } -// The outbound (egress) routing method which should be used for this Kubernetes Cluster. Possible values are `loadBalancer`, `userDefinedRouting`, `managedNATGateway` and `userAssignedNATGateway`. Defaults to `loadBalancer`. Changing this forces a new resource to be created. +// The outbound (egress) routing method which should be used for this Kubernetes Cluster. Possible values are `loadBalancer`, `userDefinedRouting`, `managedNATGateway` and `userAssignedNATGateway`. Defaults to `loadBalancer`. More information on supported migration paths for `outboundType` can be found in [this documentation](https://learn.microsoft.com/azure/aks/egress-outboundtype#updating-outboundtype-after-cluster-creation). func (o KubernetesClusterNetworkProfileOutput) OutboundType() pulumi.StringPtrOutput { return o.ApplyT(func(v KubernetesClusterNetworkProfile) *string { return v.OutboundType }).(pulumi.StringPtrOutput) } @@ -13584,7 +14247,7 @@ func (o KubernetesClusterNetworkProfilePtrOutput) NetworkPolicy() pulumi.StringP }).(pulumi.StringPtrOutput) } -// The outbound (egress) routing method which should be used for this Kubernetes Cluster. Possible values are `loadBalancer`, `userDefinedRouting`, `managedNATGateway` and `userAssignedNATGateway`. Defaults to `loadBalancer`. Changing this forces a new resource to be created. +// The outbound (egress) routing method which should be used for this Kubernetes Cluster. Possible values are `loadBalancer`, `userDefinedRouting`, `managedNATGateway` and `userAssignedNATGateway`. Defaults to `loadBalancer`. More information on supported migration paths for `outboundType` can be found in [this documentation](https://learn.microsoft.com/azure/aks/egress-outboundtype#updating-outboundtype-after-cluster-creation). func (o KubernetesClusterNetworkProfilePtrOutput) OutboundType() pulumi.StringPtrOutput { return o.ApplyT(func(v *KubernetesClusterNetworkProfile) *string { if v == nil { @@ -21298,7 +21961,7 @@ func (o RegistryTrustPolicyPtrOutput) Enabled() pulumi.BoolPtrOutput { } type TokenPasswordPassword1 struct { - // The expiration date of the password in RFC3339 format. Changing this forces a new resource to be created. + // The expiration date of the password in RFC3339 format. If not specified, the password never expires. Changing this forces a new resource to be created. Expiry *string `pulumi:"expiry"` // The value of the password (Sensitive). Value *string `pulumi:"value"` @@ -21316,7 +21979,7 @@ type TokenPasswordPassword1Input interface { } type TokenPasswordPassword1Args struct { - // The expiration date of the password in RFC3339 format. Changing this forces a new resource to be created. + // The expiration date of the password in RFC3339 format. If not specified, the password never expires. Changing this forces a new resource to be created. Expiry pulumi.StringPtrInput `pulumi:"expiry"` // The value of the password (Sensitive). Value pulumi.StringPtrInput `pulumi:"value"` @@ -21399,7 +22062,7 @@ func (o TokenPasswordPassword1Output) ToTokenPasswordPassword1PtrOutputWithConte }).(TokenPasswordPassword1PtrOutput) } -// The expiration date of the password in RFC3339 format. Changing this forces a new resource to be created. +// The expiration date of the password in RFC3339 format. If not specified, the password never expires. Changing this forces a new resource to be created. func (o TokenPasswordPassword1Output) Expiry() pulumi.StringPtrOutput { return o.ApplyT(func(v TokenPasswordPassword1) *string { return v.Expiry }).(pulumi.StringPtrOutput) } @@ -21433,7 +22096,7 @@ func (o TokenPasswordPassword1PtrOutput) Elem() TokenPasswordPassword1Output { }).(TokenPasswordPassword1Output) } -// The expiration date of the password in RFC3339 format. Changing this forces a new resource to be created. +// The expiration date of the password in RFC3339 format. If not specified, the password never expires. Changing this forces a new resource to be created. func (o TokenPasswordPassword1PtrOutput) Expiry() pulumi.StringPtrOutput { return o.ApplyT(func(v *TokenPasswordPassword1) *string { if v == nil { @@ -21454,7 +22117,7 @@ func (o TokenPasswordPassword1PtrOutput) Value() pulumi.StringPtrOutput { } type TokenPasswordPassword2 struct { - // The expiration date of the password in RFC3339 format. Changing this forces a new resource to be created. + // The expiration date of the password in RFC3339 format. If not specified, the password never expires. Changing this forces a new resource to be created. Expiry *string `pulumi:"expiry"` // The value of the password (Sensitive). Value *string `pulumi:"value"` @@ -21472,7 +22135,7 @@ type TokenPasswordPassword2Input interface { } type TokenPasswordPassword2Args struct { - // The expiration date of the password in RFC3339 format. Changing this forces a new resource to be created. + // The expiration date of the password in RFC3339 format. If not specified, the password never expires. Changing this forces a new resource to be created. Expiry pulumi.StringPtrInput `pulumi:"expiry"` // The value of the password (Sensitive). Value pulumi.StringPtrInput `pulumi:"value"` @@ -21555,7 +22218,7 @@ func (o TokenPasswordPassword2Output) ToTokenPasswordPassword2PtrOutputWithConte }).(TokenPasswordPassword2PtrOutput) } -// The expiration date of the password in RFC3339 format. Changing this forces a new resource to be created. +// The expiration date of the password in RFC3339 format. If not specified, the password never expires. Changing this forces a new resource to be created. func (o TokenPasswordPassword2Output) Expiry() pulumi.StringPtrOutput { return o.ApplyT(func(v TokenPasswordPassword2) *string { return v.Expiry }).(pulumi.StringPtrOutput) } @@ -21589,7 +22252,7 @@ func (o TokenPasswordPassword2PtrOutput) Elem() TokenPasswordPassword2Output { }).(TokenPasswordPassword2Output) } -// The expiration date of the password in RFC3339 format. Changing this forces a new resource to be created. +// The expiration date of the password in RFC3339 format. If not specified, the password never expires. Changing this forces a new resource to be created. func (o TokenPasswordPassword2PtrOutput) Expiry() pulumi.StringPtrOutput { return o.ApplyT(func(v *TokenPasswordPassword2) *string { if v == nil { @@ -24673,6 +25336,16 @@ func (o GetKubernetesClusterWindowsProfileArrayOutput) Index(i pulumi.IntInput) func init() { pulumi.RegisterInputType(reflect.TypeOf((*ConnectedRegistryNotificationInput)(nil)).Elem(), ConnectedRegistryNotificationArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ConnectedRegistryNotificationArrayInput)(nil)).Elem(), ConnectedRegistryNotificationArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*FleetUpdateRunManagedClusterUpdateInput)(nil)).Elem(), FleetUpdateRunManagedClusterUpdateArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*FleetUpdateRunManagedClusterUpdatePtrInput)(nil)).Elem(), FleetUpdateRunManagedClusterUpdateArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*FleetUpdateRunManagedClusterUpdateNodeImageSelectionInput)(nil)).Elem(), FleetUpdateRunManagedClusterUpdateNodeImageSelectionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*FleetUpdateRunManagedClusterUpdateNodeImageSelectionPtrInput)(nil)).Elem(), FleetUpdateRunManagedClusterUpdateNodeImageSelectionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*FleetUpdateRunManagedClusterUpdateUpgradeInput)(nil)).Elem(), FleetUpdateRunManagedClusterUpdateUpgradeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*FleetUpdateRunManagedClusterUpdateUpgradePtrInput)(nil)).Elem(), FleetUpdateRunManagedClusterUpdateUpgradeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*FleetUpdateRunStageInput)(nil)).Elem(), FleetUpdateRunStageArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*FleetUpdateRunStageArrayInput)(nil)).Elem(), FleetUpdateRunStageArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*FleetUpdateRunStageGroupInput)(nil)).Elem(), FleetUpdateRunStageGroupArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*FleetUpdateRunStageGroupArrayInput)(nil)).Elem(), FleetUpdateRunStageGroupArray{}) pulumi.RegisterInputType(reflect.TypeOf((*FleetUpdateStrategyStageInput)(nil)).Elem(), FleetUpdateStrategyStageArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*FleetUpdateStrategyStageArrayInput)(nil)).Elem(), FleetUpdateStrategyStageArray{}) pulumi.RegisterInputType(reflect.TypeOf((*FleetUpdateStrategyStageGroupInput)(nil)).Elem(), FleetUpdateStrategyStageGroupArgs{}) @@ -24943,6 +25616,16 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*GetKubernetesClusterWindowsProfileArrayInput)(nil)).Elem(), GetKubernetesClusterWindowsProfileArray{}) pulumi.RegisterOutputType(ConnectedRegistryNotificationOutput{}) pulumi.RegisterOutputType(ConnectedRegistryNotificationArrayOutput{}) + pulumi.RegisterOutputType(FleetUpdateRunManagedClusterUpdateOutput{}) + pulumi.RegisterOutputType(FleetUpdateRunManagedClusterUpdatePtrOutput{}) + pulumi.RegisterOutputType(FleetUpdateRunManagedClusterUpdateNodeImageSelectionOutput{}) + pulumi.RegisterOutputType(FleetUpdateRunManagedClusterUpdateNodeImageSelectionPtrOutput{}) + pulumi.RegisterOutputType(FleetUpdateRunManagedClusterUpdateUpgradeOutput{}) + pulumi.RegisterOutputType(FleetUpdateRunManagedClusterUpdateUpgradePtrOutput{}) + pulumi.RegisterOutputType(FleetUpdateRunStageOutput{}) + pulumi.RegisterOutputType(FleetUpdateRunStageArrayOutput{}) + pulumi.RegisterOutputType(FleetUpdateRunStageGroupOutput{}) + pulumi.RegisterOutputType(FleetUpdateRunStageGroupArrayOutput{}) pulumi.RegisterOutputType(FleetUpdateStrategyStageOutput{}) pulumi.RegisterOutputType(FleetUpdateStrategyStageArrayOutput{}) pulumi.RegisterOutputType(FleetUpdateStrategyStageGroupOutput{}) diff --git a/sdk/go/azure/cosmosdb/account.go b/sdk/go/azure/cosmosdb/account.go index 78932a4c68..f405400dfe 100644 --- a/sdk/go/azure/cosmosdb/account.go +++ b/sdk/go/azure/cosmosdb/account.go @@ -228,6 +228,8 @@ type Account struct { LocalAuthenticationDisabled pulumi.BoolPtrOutput `pulumi:"localAuthenticationDisabled"` // Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created. Location pulumi.StringOutput `pulumi:"location"` + // Specifies the minimal TLS version for the CosmosDB account. Possible values are: `Tls`, `Tls11`, and `Tls12`. Defaults to `Tls12`. + MinimalTlsVersion pulumi.StringOutput `pulumi:"minimalTlsVersion"` // The Server Version of a MongoDB account. Possible values are `4.2`, `4.0`, `3.6`, and `3.2`. MongoServerVersion pulumi.StringOutput `pulumi:"mongoServerVersion"` // Specifies the name of the CosmosDB Account. Changing this forces a new resource to be created. @@ -396,6 +398,8 @@ type accountState struct { LocalAuthenticationDisabled *bool `pulumi:"localAuthenticationDisabled"` // Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created. Location *string `pulumi:"location"` + // Specifies the minimal TLS version for the CosmosDB account. Possible values are: `Tls`, `Tls11`, and `Tls12`. Defaults to `Tls12`. + MinimalTlsVersion *string `pulumi:"minimalTlsVersion"` // The Server Version of a MongoDB account. Possible values are `4.2`, `4.0`, `3.6`, and `3.2`. MongoServerVersion *string `pulumi:"mongoServerVersion"` // Specifies the name of the CosmosDB Account. Changing this forces a new resource to be created. @@ -507,6 +511,8 @@ type AccountState struct { LocalAuthenticationDisabled pulumi.BoolPtrInput // Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created. Location pulumi.StringPtrInput + // Specifies the minimal TLS version for the CosmosDB account. Possible values are: `Tls`, `Tls11`, and `Tls12`. Defaults to `Tls12`. + MinimalTlsVersion pulumi.StringPtrInput // The Server Version of a MongoDB account. Possible values are `4.2`, `4.0`, `3.6`, and `3.2`. MongoServerVersion pulumi.StringPtrInput // Specifies the name of the CosmosDB Account. Changing this forces a new resource to be created. @@ -618,6 +624,8 @@ type accountArgs struct { LocalAuthenticationDisabled *bool `pulumi:"localAuthenticationDisabled"` // Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created. Location *string `pulumi:"location"` + // Specifies the minimal TLS version for the CosmosDB account. Possible values are: `Tls`, `Tls11`, and `Tls12`. Defaults to `Tls12`. + MinimalTlsVersion *string `pulumi:"minimalTlsVersion"` // The Server Version of a MongoDB account. Possible values are `4.2`, `4.0`, `3.6`, and `3.2`. MongoServerVersion *string `pulumi:"mongoServerVersion"` // Specifies the name of the CosmosDB Account. Changing this forces a new resource to be created. @@ -698,6 +706,8 @@ type AccountArgs struct { LocalAuthenticationDisabled pulumi.BoolPtrInput // Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created. Location pulumi.StringPtrInput + // Specifies the minimal TLS version for the CosmosDB account. Possible values are: `Tls`, `Tls11`, and `Tls12`. Defaults to `Tls12`. + MinimalTlsVersion pulumi.StringPtrInput // The Server Version of a MongoDB account. Possible values are `4.2`, `4.0`, `3.6`, and `3.2`. MongoServerVersion pulumi.StringPtrInput // Specifies the name of the CosmosDB Account. Changing this forces a new resource to be created. @@ -936,6 +946,11 @@ func (o AccountOutput) Location() pulumi.StringOutput { return o.ApplyT(func(v *Account) pulumi.StringOutput { return v.Location }).(pulumi.StringOutput) } +// Specifies the minimal TLS version for the CosmosDB account. Possible values are: `Tls`, `Tls11`, and `Tls12`. Defaults to `Tls12`. +func (o AccountOutput) MinimalTlsVersion() pulumi.StringOutput { + return o.ApplyT(func(v *Account) pulumi.StringOutput { return v.MinimalTlsVersion }).(pulumi.StringOutput) +} + // The Server Version of a MongoDB account. Possible values are `4.2`, `4.0`, `3.6`, and `3.2`. func (o AccountOutput) MongoServerVersion() pulumi.StringOutput { return o.ApplyT(func(v *Account) pulumi.StringOutput { return v.MongoServerVersion }).(pulumi.StringOutput) diff --git a/sdk/go/azure/cosmosdb/pulumiTypes.go b/sdk/go/azure/cosmosdb/pulumiTypes.go index dd418a636d..3f4dd3c6e2 100644 --- a/sdk/go/azure/cosmosdb/pulumiTypes.go +++ b/sdk/go/azure/cosmosdb/pulumiTypes.go @@ -159,6 +159,8 @@ type AccountBackup struct { // // > **Note:** You can only configure `intervalInMinutes`, `retentionInHours` and `storageRedundancy` when the `type` field is set to `Periodic`. StorageRedundancy *string `pulumi:"storageRedundancy"` + // The continuous backup tier. Possible values are `Continuous7Days` and `Continuous30Days`. + Tier *string `pulumi:"tier"` // The type of the `backup`. Possible values are `Continuous` and `Periodic`. // // > **Note:** Migration of `Periodic` to `Continuous` is one-way, changing `Continuous` to `Periodic` forces a new resource to be created. @@ -185,6 +187,8 @@ type AccountBackupArgs struct { // // > **Note:** You can only configure `intervalInMinutes`, `retentionInHours` and `storageRedundancy` when the `type` field is set to `Periodic`. StorageRedundancy pulumi.StringPtrInput `pulumi:"storageRedundancy"` + // The continuous backup tier. Possible values are `Continuous7Days` and `Continuous30Days`. + Tier pulumi.StringPtrInput `pulumi:"tier"` // The type of the `backup`. Possible values are `Continuous` and `Periodic`. // // > **Note:** Migration of `Periodic` to `Continuous` is one-way, changing `Continuous` to `Periodic` forces a new resource to be created. @@ -285,6 +289,11 @@ func (o AccountBackupOutput) StorageRedundancy() pulumi.StringPtrOutput { return o.ApplyT(func(v AccountBackup) *string { return v.StorageRedundancy }).(pulumi.StringPtrOutput) } +// The continuous backup tier. Possible values are `Continuous7Days` and `Continuous30Days`. +func (o AccountBackupOutput) Tier() pulumi.StringPtrOutput { + return o.ApplyT(func(v AccountBackup) *string { return v.Tier }).(pulumi.StringPtrOutput) +} + // The type of the `backup`. Possible values are `Continuous` and `Periodic`. // // > **Note:** Migration of `Periodic` to `Continuous` is one-way, changing `Continuous` to `Periodic` forces a new resource to be created. @@ -348,6 +357,16 @@ func (o AccountBackupPtrOutput) StorageRedundancy() pulumi.StringPtrOutput { }).(pulumi.StringPtrOutput) } +// The continuous backup tier. Possible values are `Continuous7Days` and `Continuous30Days`. +func (o AccountBackupPtrOutput) Tier() pulumi.StringPtrOutput { + return o.ApplyT(func(v *AccountBackup) *string { + if v == nil { + return nil + } + return v.Tier + }).(pulumi.StringPtrOutput) +} + // The type of the `backup`. Possible values are `Continuous` and `Periodic`. // // > **Note:** Migration of `Periodic` to `Continuous` is one-way, changing `Continuous` to `Periodic` forces a new resource to be created. diff --git a/sdk/go/azure/dataprotection/backupVault.go b/sdk/go/azure/dataprotection/backupVault.go index 3e957271c2..d2b9364f90 100644 --- a/sdk/go/azure/dataprotection/backupVault.go +++ b/sdk/go/azure/dataprotection/backupVault.go @@ -76,6 +76,14 @@ type BackupVault struct { Redundancy pulumi.StringOutput `pulumi:"redundancy"` // The name of the Resource Group where the Backup Vault should exist. Changing this forces a new Backup Vault to be created. ResourceGroupName pulumi.StringOutput `pulumi:"resourceGroupName"` + // The soft delete retention duration for this Backup Vault. Possible values are between `14` and `180`. Defaults to `14`. + // + // > **Note:** The `retentionDurationInDays` is the number of days for which deleted data is retained before being permanently deleted. Retention period till 14 days are free of cost, however, retention beyond 14 days may incur additional charges. The `retentionDurationInDays` is required when the `softDelete` is set to `On`. + RetentionDurationInDays pulumi.Float64PtrOutput `pulumi:"retentionDurationInDays"` + // The state of soft delete for this Backup Vault. Possible values are `AlwaysOn`, `Off` and `On`. Defaults to `On`. + // + // > **Note:** Once the `softDelete` is set to `AlwaysOn`, the setting cannot be changed. + SoftDelete pulumi.StringPtrOutput `pulumi:"softDelete"` // A mapping of tags which should be assigned to the Backup Vault. Tags pulumi.StringMapOutput `pulumi:"tags"` } @@ -133,6 +141,14 @@ type backupVaultState struct { Redundancy *string `pulumi:"redundancy"` // The name of the Resource Group where the Backup Vault should exist. Changing this forces a new Backup Vault to be created. ResourceGroupName *string `pulumi:"resourceGroupName"` + // The soft delete retention duration for this Backup Vault. Possible values are between `14` and `180`. Defaults to `14`. + // + // > **Note:** The `retentionDurationInDays` is the number of days for which deleted data is retained before being permanently deleted. Retention period till 14 days are free of cost, however, retention beyond 14 days may incur additional charges. The `retentionDurationInDays` is required when the `softDelete` is set to `On`. + RetentionDurationInDays *float64 `pulumi:"retentionDurationInDays"` + // The state of soft delete for this Backup Vault. Possible values are `AlwaysOn`, `Off` and `On`. Defaults to `On`. + // + // > **Note:** Once the `softDelete` is set to `AlwaysOn`, the setting cannot be changed. + SoftDelete *string `pulumi:"softDelete"` // A mapping of tags which should be assigned to the Backup Vault. Tags map[string]string `pulumi:"tags"` } @@ -152,6 +168,14 @@ type BackupVaultState struct { Redundancy pulumi.StringPtrInput // The name of the Resource Group where the Backup Vault should exist. Changing this forces a new Backup Vault to be created. ResourceGroupName pulumi.StringPtrInput + // The soft delete retention duration for this Backup Vault. Possible values are between `14` and `180`. Defaults to `14`. + // + // > **Note:** The `retentionDurationInDays` is the number of days for which deleted data is retained before being permanently deleted. Retention period till 14 days are free of cost, however, retention beyond 14 days may incur additional charges. The `retentionDurationInDays` is required when the `softDelete` is set to `On`. + RetentionDurationInDays pulumi.Float64PtrInput + // The state of soft delete for this Backup Vault. Possible values are `AlwaysOn`, `Off` and `On`. Defaults to `On`. + // + // > **Note:** Once the `softDelete` is set to `AlwaysOn`, the setting cannot be changed. + SoftDelete pulumi.StringPtrInput // A mapping of tags which should be assigned to the Backup Vault. Tags pulumi.StringMapInput } @@ -175,6 +199,14 @@ type backupVaultArgs struct { Redundancy string `pulumi:"redundancy"` // The name of the Resource Group where the Backup Vault should exist. Changing this forces a new Backup Vault to be created. ResourceGroupName string `pulumi:"resourceGroupName"` + // The soft delete retention duration for this Backup Vault. Possible values are between `14` and `180`. Defaults to `14`. + // + // > **Note:** The `retentionDurationInDays` is the number of days for which deleted data is retained before being permanently deleted. Retention period till 14 days are free of cost, however, retention beyond 14 days may incur additional charges. The `retentionDurationInDays` is required when the `softDelete` is set to `On`. + RetentionDurationInDays *float64 `pulumi:"retentionDurationInDays"` + // The state of soft delete for this Backup Vault. Possible values are `AlwaysOn`, `Off` and `On`. Defaults to `On`. + // + // > **Note:** Once the `softDelete` is set to `AlwaysOn`, the setting cannot be changed. + SoftDelete *string `pulumi:"softDelete"` // A mapping of tags which should be assigned to the Backup Vault. Tags map[string]string `pulumi:"tags"` } @@ -195,6 +227,14 @@ type BackupVaultArgs struct { Redundancy pulumi.StringInput // The name of the Resource Group where the Backup Vault should exist. Changing this forces a new Backup Vault to be created. ResourceGroupName pulumi.StringInput + // The soft delete retention duration for this Backup Vault. Possible values are between `14` and `180`. Defaults to `14`. + // + // > **Note:** The `retentionDurationInDays` is the number of days for which deleted data is retained before being permanently deleted. Retention period till 14 days are free of cost, however, retention beyond 14 days may incur additional charges. The `retentionDurationInDays` is required when the `softDelete` is set to `On`. + RetentionDurationInDays pulumi.Float64PtrInput + // The state of soft delete for this Backup Vault. Possible values are `AlwaysOn`, `Off` and `On`. Defaults to `On`. + // + // > **Note:** Once the `softDelete` is set to `AlwaysOn`, the setting cannot be changed. + SoftDelete pulumi.StringPtrInput // A mapping of tags which should be assigned to the Backup Vault. Tags pulumi.StringMapInput } @@ -318,6 +358,20 @@ func (o BackupVaultOutput) ResourceGroupName() pulumi.StringOutput { return o.ApplyT(func(v *BackupVault) pulumi.StringOutput { return v.ResourceGroupName }).(pulumi.StringOutput) } +// The soft delete retention duration for this Backup Vault. Possible values are between `14` and `180`. Defaults to `14`. +// +// > **Note:** The `retentionDurationInDays` is the number of days for which deleted data is retained before being permanently deleted. Retention period till 14 days are free of cost, however, retention beyond 14 days may incur additional charges. The `retentionDurationInDays` is required when the `softDelete` is set to `On`. +func (o BackupVaultOutput) RetentionDurationInDays() pulumi.Float64PtrOutput { + return o.ApplyT(func(v *BackupVault) pulumi.Float64PtrOutput { return v.RetentionDurationInDays }).(pulumi.Float64PtrOutput) +} + +// The state of soft delete for this Backup Vault. Possible values are `AlwaysOn`, `Off` and `On`. Defaults to `On`. +// +// > **Note:** Once the `softDelete` is set to `AlwaysOn`, the setting cannot be changed. +func (o BackupVaultOutput) SoftDelete() pulumi.StringPtrOutput { + return o.ApplyT(func(v *BackupVault) pulumi.StringPtrOutput { return v.SoftDelete }).(pulumi.StringPtrOutput) +} + // A mapping of tags which should be assigned to the Backup Vault. func (o BackupVaultOutput) Tags() pulumi.StringMapOutput { return o.ApplyT(func(v *BackupVault) pulumi.StringMapOutput { return v.Tags }).(pulumi.StringMapOutput) diff --git a/sdk/go/azure/devcenter/catalog.go b/sdk/go/azure/devcenter/catalog.go new file mode 100644 index 0000000000..118946e59e --- /dev/null +++ b/sdk/go/azure/devcenter/catalog.go @@ -0,0 +1,251 @@ +// 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 devcenter + +import ( + "context" + "reflect" + + "errors" + "github.com/pulumi/pulumi-azure/sdk/v5/go/azure/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type Catalog struct { + pulumi.CustomResourceState + + CatalogAdogit CatalogCatalogAdogitPtrOutput `pulumi:"catalogAdogit"` + CatalogGithub CatalogCatalogGithubPtrOutput `pulumi:"catalogGithub"` + DevCenterId pulumi.StringOutput `pulumi:"devCenterId"` + Name pulumi.StringOutput `pulumi:"name"` + ResourceGroupName pulumi.StringOutput `pulumi:"resourceGroupName"` +} + +// NewCatalog registers a new resource with the given unique name, arguments, and options. +func NewCatalog(ctx *pulumi.Context, + name string, args *CatalogArgs, opts ...pulumi.ResourceOption) (*Catalog, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.DevCenterId == nil { + return nil, errors.New("invalid value for required argument 'DevCenterId'") + } + if args.ResourceGroupName == nil { + return nil, errors.New("invalid value for required argument 'ResourceGroupName'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource Catalog + err := ctx.RegisterResource("azure:devcenter/catalog:Catalog", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetCatalog gets an existing Catalog 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 GetCatalog(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *CatalogState, opts ...pulumi.ResourceOption) (*Catalog, error) { + var resource Catalog + err := ctx.ReadResource("azure:devcenter/catalog:Catalog", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering Catalog resources. +type catalogState struct { + CatalogAdogit *CatalogCatalogAdogit `pulumi:"catalogAdogit"` + CatalogGithub *CatalogCatalogGithub `pulumi:"catalogGithub"` + DevCenterId *string `pulumi:"devCenterId"` + Name *string `pulumi:"name"` + ResourceGroupName *string `pulumi:"resourceGroupName"` +} + +type CatalogState struct { + CatalogAdogit CatalogCatalogAdogitPtrInput + CatalogGithub CatalogCatalogGithubPtrInput + DevCenterId pulumi.StringPtrInput + Name pulumi.StringPtrInput + ResourceGroupName pulumi.StringPtrInput +} + +func (CatalogState) ElementType() reflect.Type { + return reflect.TypeOf((*catalogState)(nil)).Elem() +} + +type catalogArgs struct { + CatalogAdogit *CatalogCatalogAdogit `pulumi:"catalogAdogit"` + CatalogGithub *CatalogCatalogGithub `pulumi:"catalogGithub"` + DevCenterId string `pulumi:"devCenterId"` + Name *string `pulumi:"name"` + ResourceGroupName string `pulumi:"resourceGroupName"` +} + +// The set of arguments for constructing a Catalog resource. +type CatalogArgs struct { + CatalogAdogit CatalogCatalogAdogitPtrInput + CatalogGithub CatalogCatalogGithubPtrInput + DevCenterId pulumi.StringInput + Name pulumi.StringPtrInput + ResourceGroupName pulumi.StringInput +} + +func (CatalogArgs) ElementType() reflect.Type { + return reflect.TypeOf((*catalogArgs)(nil)).Elem() +} + +type CatalogInput interface { + pulumi.Input + + ToCatalogOutput() CatalogOutput + ToCatalogOutputWithContext(ctx context.Context) CatalogOutput +} + +func (*Catalog) ElementType() reflect.Type { + return reflect.TypeOf((**Catalog)(nil)).Elem() +} + +func (i *Catalog) ToCatalogOutput() CatalogOutput { + return i.ToCatalogOutputWithContext(context.Background()) +} + +func (i *Catalog) ToCatalogOutputWithContext(ctx context.Context) CatalogOutput { + return pulumi.ToOutputWithContext(ctx, i).(CatalogOutput) +} + +// CatalogArrayInput is an input type that accepts CatalogArray and CatalogArrayOutput values. +// You can construct a concrete instance of `CatalogArrayInput` via: +// +// CatalogArray{ CatalogArgs{...} } +type CatalogArrayInput interface { + pulumi.Input + + ToCatalogArrayOutput() CatalogArrayOutput + ToCatalogArrayOutputWithContext(context.Context) CatalogArrayOutput +} + +type CatalogArray []CatalogInput + +func (CatalogArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*Catalog)(nil)).Elem() +} + +func (i CatalogArray) ToCatalogArrayOutput() CatalogArrayOutput { + return i.ToCatalogArrayOutputWithContext(context.Background()) +} + +func (i CatalogArray) ToCatalogArrayOutputWithContext(ctx context.Context) CatalogArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(CatalogArrayOutput) +} + +// CatalogMapInput is an input type that accepts CatalogMap and CatalogMapOutput values. +// You can construct a concrete instance of `CatalogMapInput` via: +// +// CatalogMap{ "key": CatalogArgs{...} } +type CatalogMapInput interface { + pulumi.Input + + ToCatalogMapOutput() CatalogMapOutput + ToCatalogMapOutputWithContext(context.Context) CatalogMapOutput +} + +type CatalogMap map[string]CatalogInput + +func (CatalogMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*Catalog)(nil)).Elem() +} + +func (i CatalogMap) ToCatalogMapOutput() CatalogMapOutput { + return i.ToCatalogMapOutputWithContext(context.Background()) +} + +func (i CatalogMap) ToCatalogMapOutputWithContext(ctx context.Context) CatalogMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(CatalogMapOutput) +} + +type CatalogOutput struct{ *pulumi.OutputState } + +func (CatalogOutput) ElementType() reflect.Type { + return reflect.TypeOf((**Catalog)(nil)).Elem() +} + +func (o CatalogOutput) ToCatalogOutput() CatalogOutput { + return o +} + +func (o CatalogOutput) ToCatalogOutputWithContext(ctx context.Context) CatalogOutput { + return o +} + +func (o CatalogOutput) CatalogAdogit() CatalogCatalogAdogitPtrOutput { + return o.ApplyT(func(v *Catalog) CatalogCatalogAdogitPtrOutput { return v.CatalogAdogit }).(CatalogCatalogAdogitPtrOutput) +} + +func (o CatalogOutput) CatalogGithub() CatalogCatalogGithubPtrOutput { + return o.ApplyT(func(v *Catalog) CatalogCatalogGithubPtrOutput { return v.CatalogGithub }).(CatalogCatalogGithubPtrOutput) +} + +func (o CatalogOutput) DevCenterId() pulumi.StringOutput { + return o.ApplyT(func(v *Catalog) pulumi.StringOutput { return v.DevCenterId }).(pulumi.StringOutput) +} + +func (o CatalogOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *Catalog) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +func (o CatalogOutput) ResourceGroupName() pulumi.StringOutput { + return o.ApplyT(func(v *Catalog) pulumi.StringOutput { return v.ResourceGroupName }).(pulumi.StringOutput) +} + +type CatalogArrayOutput struct{ *pulumi.OutputState } + +func (CatalogArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*Catalog)(nil)).Elem() +} + +func (o CatalogArrayOutput) ToCatalogArrayOutput() CatalogArrayOutput { + return o +} + +func (o CatalogArrayOutput) ToCatalogArrayOutputWithContext(ctx context.Context) CatalogArrayOutput { + return o +} + +func (o CatalogArrayOutput) Index(i pulumi.IntInput) CatalogOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *Catalog { + return vs[0].([]*Catalog)[vs[1].(int)] + }).(CatalogOutput) +} + +type CatalogMapOutput struct{ *pulumi.OutputState } + +func (CatalogMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*Catalog)(nil)).Elem() +} + +func (o CatalogMapOutput) ToCatalogMapOutput() CatalogMapOutput { + return o +} + +func (o CatalogMapOutput) ToCatalogMapOutputWithContext(ctx context.Context) CatalogMapOutput { + return o +} + +func (o CatalogMapOutput) MapIndex(k pulumi.StringInput) CatalogOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *Catalog { + return vs[0].(map[string]*Catalog)[vs[1].(string)] + }).(CatalogOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*CatalogInput)(nil)).Elem(), &Catalog{}) + pulumi.RegisterInputType(reflect.TypeOf((*CatalogArrayInput)(nil)).Elem(), CatalogArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*CatalogMapInput)(nil)).Elem(), CatalogMap{}) + pulumi.RegisterOutputType(CatalogOutput{}) + pulumi.RegisterOutputType(CatalogArrayOutput{}) + pulumi.RegisterOutputType(CatalogMapOutput{}) +} diff --git a/sdk/go/azure/devcenter/init.go b/sdk/go/azure/devcenter/init.go index e7d484b11c..1794e201b0 100644 --- a/sdk/go/azure/devcenter/init.go +++ b/sdk/go/azure/devcenter/init.go @@ -21,6 +21,8 @@ func (m *module) Version() semver.Version { func (m *module) Construct(ctx *pulumi.Context, name, typ, urn string) (r pulumi.Resource, err error) { switch typ { + case "azure:devcenter/catalog:Catalog": + r = &Catalog{} case "azure:devcenter/devCenter:DevCenter": r = &DevCenter{} case "azure:devcenter/gallery:Gallery": @@ -40,6 +42,11 @@ func init() { if err != nil { version = semver.Version{Major: 1} } + pulumi.RegisterResourceModule( + "azure", + "devcenter/catalog", + &module{version}, + ) pulumi.RegisterResourceModule( "azure", "devcenter/devCenter", diff --git a/sdk/go/azure/devcenter/pulumiTypes.go b/sdk/go/azure/devcenter/pulumiTypes.go index f1b14fd7bb..cdcfd54122 100644 --- a/sdk/go/azure/devcenter/pulumiTypes.go +++ b/sdk/go/azure/devcenter/pulumiTypes.go @@ -13,6 +13,362 @@ import ( var _ = internal.GetEnvOrDefault +type CatalogCatalogAdogit struct { + Branch string `pulumi:"branch"` + KeyVaultKeyUrl string `pulumi:"keyVaultKeyUrl"` + Path string `pulumi:"path"` + Uri string `pulumi:"uri"` +} + +// CatalogCatalogAdogitInput is an input type that accepts CatalogCatalogAdogitArgs and CatalogCatalogAdogitOutput values. +// You can construct a concrete instance of `CatalogCatalogAdogitInput` via: +// +// CatalogCatalogAdogitArgs{...} +type CatalogCatalogAdogitInput interface { + pulumi.Input + + ToCatalogCatalogAdogitOutput() CatalogCatalogAdogitOutput + ToCatalogCatalogAdogitOutputWithContext(context.Context) CatalogCatalogAdogitOutput +} + +type CatalogCatalogAdogitArgs struct { + Branch pulumi.StringInput `pulumi:"branch"` + KeyVaultKeyUrl pulumi.StringInput `pulumi:"keyVaultKeyUrl"` + Path pulumi.StringInput `pulumi:"path"` + Uri pulumi.StringInput `pulumi:"uri"` +} + +func (CatalogCatalogAdogitArgs) ElementType() reflect.Type { + return reflect.TypeOf((*CatalogCatalogAdogit)(nil)).Elem() +} + +func (i CatalogCatalogAdogitArgs) ToCatalogCatalogAdogitOutput() CatalogCatalogAdogitOutput { + return i.ToCatalogCatalogAdogitOutputWithContext(context.Background()) +} + +func (i CatalogCatalogAdogitArgs) ToCatalogCatalogAdogitOutputWithContext(ctx context.Context) CatalogCatalogAdogitOutput { + return pulumi.ToOutputWithContext(ctx, i).(CatalogCatalogAdogitOutput) +} + +func (i CatalogCatalogAdogitArgs) ToCatalogCatalogAdogitPtrOutput() CatalogCatalogAdogitPtrOutput { + return i.ToCatalogCatalogAdogitPtrOutputWithContext(context.Background()) +} + +func (i CatalogCatalogAdogitArgs) ToCatalogCatalogAdogitPtrOutputWithContext(ctx context.Context) CatalogCatalogAdogitPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CatalogCatalogAdogitOutput).ToCatalogCatalogAdogitPtrOutputWithContext(ctx) +} + +// CatalogCatalogAdogitPtrInput is an input type that accepts CatalogCatalogAdogitArgs, CatalogCatalogAdogitPtr and CatalogCatalogAdogitPtrOutput values. +// You can construct a concrete instance of `CatalogCatalogAdogitPtrInput` via: +// +// CatalogCatalogAdogitArgs{...} +// +// or: +// +// nil +type CatalogCatalogAdogitPtrInput interface { + pulumi.Input + + ToCatalogCatalogAdogitPtrOutput() CatalogCatalogAdogitPtrOutput + ToCatalogCatalogAdogitPtrOutputWithContext(context.Context) CatalogCatalogAdogitPtrOutput +} + +type catalogCatalogAdogitPtrType CatalogCatalogAdogitArgs + +func CatalogCatalogAdogitPtr(v *CatalogCatalogAdogitArgs) CatalogCatalogAdogitPtrInput { + return (*catalogCatalogAdogitPtrType)(v) +} + +func (*catalogCatalogAdogitPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**CatalogCatalogAdogit)(nil)).Elem() +} + +func (i *catalogCatalogAdogitPtrType) ToCatalogCatalogAdogitPtrOutput() CatalogCatalogAdogitPtrOutput { + return i.ToCatalogCatalogAdogitPtrOutputWithContext(context.Background()) +} + +func (i *catalogCatalogAdogitPtrType) ToCatalogCatalogAdogitPtrOutputWithContext(ctx context.Context) CatalogCatalogAdogitPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CatalogCatalogAdogitPtrOutput) +} + +type CatalogCatalogAdogitOutput struct{ *pulumi.OutputState } + +func (CatalogCatalogAdogitOutput) ElementType() reflect.Type { + return reflect.TypeOf((*CatalogCatalogAdogit)(nil)).Elem() +} + +func (o CatalogCatalogAdogitOutput) ToCatalogCatalogAdogitOutput() CatalogCatalogAdogitOutput { + return o +} + +func (o CatalogCatalogAdogitOutput) ToCatalogCatalogAdogitOutputWithContext(ctx context.Context) CatalogCatalogAdogitOutput { + return o +} + +func (o CatalogCatalogAdogitOutput) ToCatalogCatalogAdogitPtrOutput() CatalogCatalogAdogitPtrOutput { + return o.ToCatalogCatalogAdogitPtrOutputWithContext(context.Background()) +} + +func (o CatalogCatalogAdogitOutput) ToCatalogCatalogAdogitPtrOutputWithContext(ctx context.Context) CatalogCatalogAdogitPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v CatalogCatalogAdogit) *CatalogCatalogAdogit { + return &v + }).(CatalogCatalogAdogitPtrOutput) +} + +func (o CatalogCatalogAdogitOutput) Branch() pulumi.StringOutput { + return o.ApplyT(func(v CatalogCatalogAdogit) string { return v.Branch }).(pulumi.StringOutput) +} + +func (o CatalogCatalogAdogitOutput) KeyVaultKeyUrl() pulumi.StringOutput { + return o.ApplyT(func(v CatalogCatalogAdogit) string { return v.KeyVaultKeyUrl }).(pulumi.StringOutput) +} + +func (o CatalogCatalogAdogitOutput) Path() pulumi.StringOutput { + return o.ApplyT(func(v CatalogCatalogAdogit) string { return v.Path }).(pulumi.StringOutput) +} + +func (o CatalogCatalogAdogitOutput) Uri() pulumi.StringOutput { + return o.ApplyT(func(v CatalogCatalogAdogit) string { return v.Uri }).(pulumi.StringOutput) +} + +type CatalogCatalogAdogitPtrOutput struct{ *pulumi.OutputState } + +func (CatalogCatalogAdogitPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**CatalogCatalogAdogit)(nil)).Elem() +} + +func (o CatalogCatalogAdogitPtrOutput) ToCatalogCatalogAdogitPtrOutput() CatalogCatalogAdogitPtrOutput { + return o +} + +func (o CatalogCatalogAdogitPtrOutput) ToCatalogCatalogAdogitPtrOutputWithContext(ctx context.Context) CatalogCatalogAdogitPtrOutput { + return o +} + +func (o CatalogCatalogAdogitPtrOutput) Elem() CatalogCatalogAdogitOutput { + return o.ApplyT(func(v *CatalogCatalogAdogit) CatalogCatalogAdogit { + if v != nil { + return *v + } + var ret CatalogCatalogAdogit + return ret + }).(CatalogCatalogAdogitOutput) +} + +func (o CatalogCatalogAdogitPtrOutput) Branch() pulumi.StringPtrOutput { + return o.ApplyT(func(v *CatalogCatalogAdogit) *string { + if v == nil { + return nil + } + return &v.Branch + }).(pulumi.StringPtrOutput) +} + +func (o CatalogCatalogAdogitPtrOutput) KeyVaultKeyUrl() pulumi.StringPtrOutput { + return o.ApplyT(func(v *CatalogCatalogAdogit) *string { + if v == nil { + return nil + } + return &v.KeyVaultKeyUrl + }).(pulumi.StringPtrOutput) +} + +func (o CatalogCatalogAdogitPtrOutput) Path() pulumi.StringPtrOutput { + return o.ApplyT(func(v *CatalogCatalogAdogit) *string { + if v == nil { + return nil + } + return &v.Path + }).(pulumi.StringPtrOutput) +} + +func (o CatalogCatalogAdogitPtrOutput) Uri() pulumi.StringPtrOutput { + return o.ApplyT(func(v *CatalogCatalogAdogit) *string { + if v == nil { + return nil + } + return &v.Uri + }).(pulumi.StringPtrOutput) +} + +type CatalogCatalogGithub struct { + Branch string `pulumi:"branch"` + KeyVaultKeyUrl string `pulumi:"keyVaultKeyUrl"` + Path string `pulumi:"path"` + Uri string `pulumi:"uri"` +} + +// CatalogCatalogGithubInput is an input type that accepts CatalogCatalogGithubArgs and CatalogCatalogGithubOutput values. +// You can construct a concrete instance of `CatalogCatalogGithubInput` via: +// +// CatalogCatalogGithubArgs{...} +type CatalogCatalogGithubInput interface { + pulumi.Input + + ToCatalogCatalogGithubOutput() CatalogCatalogGithubOutput + ToCatalogCatalogGithubOutputWithContext(context.Context) CatalogCatalogGithubOutput +} + +type CatalogCatalogGithubArgs struct { + Branch pulumi.StringInput `pulumi:"branch"` + KeyVaultKeyUrl pulumi.StringInput `pulumi:"keyVaultKeyUrl"` + Path pulumi.StringInput `pulumi:"path"` + Uri pulumi.StringInput `pulumi:"uri"` +} + +func (CatalogCatalogGithubArgs) ElementType() reflect.Type { + return reflect.TypeOf((*CatalogCatalogGithub)(nil)).Elem() +} + +func (i CatalogCatalogGithubArgs) ToCatalogCatalogGithubOutput() CatalogCatalogGithubOutput { + return i.ToCatalogCatalogGithubOutputWithContext(context.Background()) +} + +func (i CatalogCatalogGithubArgs) ToCatalogCatalogGithubOutputWithContext(ctx context.Context) CatalogCatalogGithubOutput { + return pulumi.ToOutputWithContext(ctx, i).(CatalogCatalogGithubOutput) +} + +func (i CatalogCatalogGithubArgs) ToCatalogCatalogGithubPtrOutput() CatalogCatalogGithubPtrOutput { + return i.ToCatalogCatalogGithubPtrOutputWithContext(context.Background()) +} + +func (i CatalogCatalogGithubArgs) ToCatalogCatalogGithubPtrOutputWithContext(ctx context.Context) CatalogCatalogGithubPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CatalogCatalogGithubOutput).ToCatalogCatalogGithubPtrOutputWithContext(ctx) +} + +// CatalogCatalogGithubPtrInput is an input type that accepts CatalogCatalogGithubArgs, CatalogCatalogGithubPtr and CatalogCatalogGithubPtrOutput values. +// You can construct a concrete instance of `CatalogCatalogGithubPtrInput` via: +// +// CatalogCatalogGithubArgs{...} +// +// or: +// +// nil +type CatalogCatalogGithubPtrInput interface { + pulumi.Input + + ToCatalogCatalogGithubPtrOutput() CatalogCatalogGithubPtrOutput + ToCatalogCatalogGithubPtrOutputWithContext(context.Context) CatalogCatalogGithubPtrOutput +} + +type catalogCatalogGithubPtrType CatalogCatalogGithubArgs + +func CatalogCatalogGithubPtr(v *CatalogCatalogGithubArgs) CatalogCatalogGithubPtrInput { + return (*catalogCatalogGithubPtrType)(v) +} + +func (*catalogCatalogGithubPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**CatalogCatalogGithub)(nil)).Elem() +} + +func (i *catalogCatalogGithubPtrType) ToCatalogCatalogGithubPtrOutput() CatalogCatalogGithubPtrOutput { + return i.ToCatalogCatalogGithubPtrOutputWithContext(context.Background()) +} + +func (i *catalogCatalogGithubPtrType) ToCatalogCatalogGithubPtrOutputWithContext(ctx context.Context) CatalogCatalogGithubPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CatalogCatalogGithubPtrOutput) +} + +type CatalogCatalogGithubOutput struct{ *pulumi.OutputState } + +func (CatalogCatalogGithubOutput) ElementType() reflect.Type { + return reflect.TypeOf((*CatalogCatalogGithub)(nil)).Elem() +} + +func (o CatalogCatalogGithubOutput) ToCatalogCatalogGithubOutput() CatalogCatalogGithubOutput { + return o +} + +func (o CatalogCatalogGithubOutput) ToCatalogCatalogGithubOutputWithContext(ctx context.Context) CatalogCatalogGithubOutput { + return o +} + +func (o CatalogCatalogGithubOutput) ToCatalogCatalogGithubPtrOutput() CatalogCatalogGithubPtrOutput { + return o.ToCatalogCatalogGithubPtrOutputWithContext(context.Background()) +} + +func (o CatalogCatalogGithubOutput) ToCatalogCatalogGithubPtrOutputWithContext(ctx context.Context) CatalogCatalogGithubPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v CatalogCatalogGithub) *CatalogCatalogGithub { + return &v + }).(CatalogCatalogGithubPtrOutput) +} + +func (o CatalogCatalogGithubOutput) Branch() pulumi.StringOutput { + return o.ApplyT(func(v CatalogCatalogGithub) string { return v.Branch }).(pulumi.StringOutput) +} + +func (o CatalogCatalogGithubOutput) KeyVaultKeyUrl() pulumi.StringOutput { + return o.ApplyT(func(v CatalogCatalogGithub) string { return v.KeyVaultKeyUrl }).(pulumi.StringOutput) +} + +func (o CatalogCatalogGithubOutput) Path() pulumi.StringOutput { + return o.ApplyT(func(v CatalogCatalogGithub) string { return v.Path }).(pulumi.StringOutput) +} + +func (o CatalogCatalogGithubOutput) Uri() pulumi.StringOutput { + return o.ApplyT(func(v CatalogCatalogGithub) string { return v.Uri }).(pulumi.StringOutput) +} + +type CatalogCatalogGithubPtrOutput struct{ *pulumi.OutputState } + +func (CatalogCatalogGithubPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**CatalogCatalogGithub)(nil)).Elem() +} + +func (o CatalogCatalogGithubPtrOutput) ToCatalogCatalogGithubPtrOutput() CatalogCatalogGithubPtrOutput { + return o +} + +func (o CatalogCatalogGithubPtrOutput) ToCatalogCatalogGithubPtrOutputWithContext(ctx context.Context) CatalogCatalogGithubPtrOutput { + return o +} + +func (o CatalogCatalogGithubPtrOutput) Elem() CatalogCatalogGithubOutput { + return o.ApplyT(func(v *CatalogCatalogGithub) CatalogCatalogGithub { + if v != nil { + return *v + } + var ret CatalogCatalogGithub + return ret + }).(CatalogCatalogGithubOutput) +} + +func (o CatalogCatalogGithubPtrOutput) Branch() pulumi.StringPtrOutput { + return o.ApplyT(func(v *CatalogCatalogGithub) *string { + if v == nil { + return nil + } + return &v.Branch + }).(pulumi.StringPtrOutput) +} + +func (o CatalogCatalogGithubPtrOutput) KeyVaultKeyUrl() pulumi.StringPtrOutput { + return o.ApplyT(func(v *CatalogCatalogGithub) *string { + if v == nil { + return nil + } + return &v.KeyVaultKeyUrl + }).(pulumi.StringPtrOutput) +} + +func (o CatalogCatalogGithubPtrOutput) Path() pulumi.StringPtrOutput { + return o.ApplyT(func(v *CatalogCatalogGithub) *string { + if v == nil { + return nil + } + return &v.Path + }).(pulumi.StringPtrOutput) +} + +func (o CatalogCatalogGithubPtrOutput) Uri() pulumi.StringPtrOutput { + return o.ApplyT(func(v *CatalogCatalogGithub) *string { + if v == nil { + return nil + } + return &v.Uri + }).(pulumi.StringPtrOutput) +} + type DevCenterIdentity struct { IdentityIds []string `pulumi:"identityIds"` PrincipalId *string `pulumi:"principalId"` @@ -192,8 +548,16 @@ func (o DevCenterIdentityPtrOutput) Type() pulumi.StringPtrOutput { } func init() { + pulumi.RegisterInputType(reflect.TypeOf((*CatalogCatalogAdogitInput)(nil)).Elem(), CatalogCatalogAdogitArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CatalogCatalogAdogitPtrInput)(nil)).Elem(), CatalogCatalogAdogitArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CatalogCatalogGithubInput)(nil)).Elem(), CatalogCatalogGithubArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CatalogCatalogGithubPtrInput)(nil)).Elem(), CatalogCatalogGithubArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*DevCenterIdentityInput)(nil)).Elem(), DevCenterIdentityArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*DevCenterIdentityPtrInput)(nil)).Elem(), DevCenterIdentityArgs{}) + pulumi.RegisterOutputType(CatalogCatalogAdogitOutput{}) + pulumi.RegisterOutputType(CatalogCatalogAdogitPtrOutput{}) + pulumi.RegisterOutputType(CatalogCatalogGithubOutput{}) + pulumi.RegisterOutputType(CatalogCatalogGithubPtrOutput{}) pulumi.RegisterOutputType(DevCenterIdentityOutput{}) pulumi.RegisterOutputType(DevCenterIdentityPtrOutput{}) } diff --git a/sdk/go/azure/eventhub/getServiceBusNamespace.go b/sdk/go/azure/eventhub/getServiceBusNamespace.go index 13452b1082..e6f3379605 100644 --- a/sdk/go/azure/eventhub/getServiceBusNamespace.go +++ b/sdk/go/azure/eventhub/getServiceBusNamespace.go @@ -79,9 +79,11 @@ type GetServiceBusNamespaceResult struct { // The provider-assigned unique ID for this managed resource. Id string `pulumi:"id"` // The location of the Resource Group in which the ServiceBus Namespace exists. - Location string `pulumi:"location"` - Name string `pulumi:"name"` - ResourceGroupName string `pulumi:"resourceGroupName"` + Location string `pulumi:"location"` + Name string `pulumi:"name"` + // The messaging partitions of the ServiceBus Namespace. + PremiumMessagingPartitions int `pulumi:"premiumMessagingPartitions"` + ResourceGroupName string `pulumi:"resourceGroupName"` // The Tier used for the ServiceBus Namespace. Sku string `pulumi:"sku"` // A mapping of tags assigned to the resource. @@ -176,6 +178,11 @@ func (o GetServiceBusNamespaceResultOutput) Name() pulumi.StringOutput { return o.ApplyT(func(v GetServiceBusNamespaceResult) string { return v.Name }).(pulumi.StringOutput) } +// The messaging partitions of the ServiceBus Namespace. +func (o GetServiceBusNamespaceResultOutput) PremiumMessagingPartitions() pulumi.IntOutput { + return o.ApplyT(func(v GetServiceBusNamespaceResult) int { return v.PremiumMessagingPartitions }).(pulumi.IntOutput) +} + func (o GetServiceBusNamespaceResultOutput) ResourceGroupName() pulumi.StringOutput { return o.ApplyT(func(v GetServiceBusNamespaceResult) string { return v.ResourceGroupName }).(pulumi.StringOutput) } diff --git a/sdk/go/azure/eventhub/namespace.go b/sdk/go/azure/eventhub/namespace.go index baf01ba349..c1e90ad4c5 100644 --- a/sdk/go/azure/eventhub/namespace.go +++ b/sdk/go/azure/eventhub/namespace.go @@ -92,6 +92,10 @@ type Namespace struct { Name pulumi.StringOutput `pulumi:"name"` // An `networkRuleSet` block as defined below. NetworkRuleSet NamespaceNetworkRuleSetOutput `pulumi:"networkRuleSet"` + // Specifies the number messaging partitions. Only valid when `sku` is `Premium` and the minimum number is `1`. Possible values include `0`, `1`, `2`, and `4`. Defaults to `0` for Standard, Basic namespace. Changing this forces a new resource to be created. + // + // > **Note:** It's not possible to change the partitioning option on any existing namespace. The number of partitions can only be set during namespace creation. Please check the doc https://learn.microsoft.com/en-us/azure/service-bus-messaging/enable-partitions-premium for more feature restrictions. + PremiumMessagingPartitions pulumi.IntPtrOutput `pulumi:"premiumMessagingPartitions"` // Is public network access enabled for the Service Bus Namespace? Defaults to `true`. PublicNetworkAccessEnabled pulumi.BoolPtrOutput `pulumi:"publicNetworkAccessEnabled"` // The name of the resource group in which to Changing this forces a new resource to be created. @@ -174,6 +178,10 @@ type namespaceState struct { Name *string `pulumi:"name"` // An `networkRuleSet` block as defined below. NetworkRuleSet *NamespaceNetworkRuleSet `pulumi:"networkRuleSet"` + // Specifies the number messaging partitions. Only valid when `sku` is `Premium` and the minimum number is `1`. Possible values include `0`, `1`, `2`, and `4`. Defaults to `0` for Standard, Basic namespace. Changing this forces a new resource to be created. + // + // > **Note:** It's not possible to change the partitioning option on any existing namespace. The number of partitions can only be set during namespace creation. Please check the doc https://learn.microsoft.com/en-us/azure/service-bus-messaging/enable-partitions-premium for more feature restrictions. + PremiumMessagingPartitions *int `pulumi:"premiumMessagingPartitions"` // Is public network access enabled for the Service Bus Namespace? Defaults to `true`. PublicNetworkAccessEnabled *bool `pulumi:"publicNetworkAccessEnabled"` // The name of the resource group in which to Changing this forces a new resource to be created. @@ -214,6 +222,10 @@ type NamespaceState struct { Name pulumi.StringPtrInput // An `networkRuleSet` block as defined below. NetworkRuleSet NamespaceNetworkRuleSetPtrInput + // Specifies the number messaging partitions. Only valid when `sku` is `Premium` and the minimum number is `1`. Possible values include `0`, `1`, `2`, and `4`. Defaults to `0` for Standard, Basic namespace. Changing this forces a new resource to be created. + // + // > **Note:** It's not possible to change the partitioning option on any existing namespace. The number of partitions can only be set during namespace creation. Please check the doc https://learn.microsoft.com/en-us/azure/service-bus-messaging/enable-partitions-premium for more feature restrictions. + PremiumMessagingPartitions pulumi.IntPtrInput // Is public network access enabled for the Service Bus Namespace? Defaults to `true`. PublicNetworkAccessEnabled pulumi.BoolPtrInput // The name of the resource group in which to Changing this forces a new resource to be created. @@ -248,6 +260,10 @@ type namespaceArgs struct { Name *string `pulumi:"name"` // An `networkRuleSet` block as defined below. NetworkRuleSet *NamespaceNetworkRuleSet `pulumi:"networkRuleSet"` + // Specifies the number messaging partitions. Only valid when `sku` is `Premium` and the minimum number is `1`. Possible values include `0`, `1`, `2`, and `4`. Defaults to `0` for Standard, Basic namespace. Changing this forces a new resource to be created. + // + // > **Note:** It's not possible to change the partitioning option on any existing namespace. The number of partitions can only be set during namespace creation. Please check the doc https://learn.microsoft.com/en-us/azure/service-bus-messaging/enable-partitions-premium for more feature restrictions. + PremiumMessagingPartitions *int `pulumi:"premiumMessagingPartitions"` // Is public network access enabled for the Service Bus Namespace? Defaults to `true`. PublicNetworkAccessEnabled *bool `pulumi:"publicNetworkAccessEnabled"` // The name of the resource group in which to Changing this forces a new resource to be created. @@ -279,6 +295,10 @@ type NamespaceArgs struct { Name pulumi.StringPtrInput // An `networkRuleSet` block as defined below. NetworkRuleSet NamespaceNetworkRuleSetPtrInput + // Specifies the number messaging partitions. Only valid when `sku` is `Premium` and the minimum number is `1`. Possible values include `0`, `1`, `2`, and `4`. Defaults to `0` for Standard, Basic namespace. Changing this forces a new resource to be created. + // + // > **Note:** It's not possible to change the partitioning option on any existing namespace. The number of partitions can only be set during namespace creation. Please check the doc https://learn.microsoft.com/en-us/azure/service-bus-messaging/enable-partitions-premium for more feature restrictions. + PremiumMessagingPartitions pulumi.IntPtrInput // Is public network access enabled for the Service Bus Namespace? Defaults to `true`. PublicNetworkAccessEnabled pulumi.BoolPtrInput // The name of the resource group in which to Changing this forces a new resource to be created. @@ -444,6 +464,13 @@ func (o NamespaceOutput) NetworkRuleSet() NamespaceNetworkRuleSetOutput { return o.ApplyT(func(v *Namespace) NamespaceNetworkRuleSetOutput { return v.NetworkRuleSet }).(NamespaceNetworkRuleSetOutput) } +// Specifies the number messaging partitions. Only valid when `sku` is `Premium` and the minimum number is `1`. Possible values include `0`, `1`, `2`, and `4`. Defaults to `0` for Standard, Basic namespace. Changing this forces a new resource to be created. +// +// > **Note:** It's not possible to change the partitioning option on any existing namespace. The number of partitions can only be set during namespace creation. Please check the doc https://learn.microsoft.com/en-us/azure/service-bus-messaging/enable-partitions-premium for more feature restrictions. +func (o NamespaceOutput) PremiumMessagingPartitions() pulumi.IntPtrOutput { + return o.ApplyT(func(v *Namespace) pulumi.IntPtrOutput { return v.PremiumMessagingPartitions }).(pulumi.IntPtrOutput) +} + // Is public network access enabled for the Service Bus Namespace? Defaults to `true`. func (o NamespaceOutput) PublicNetworkAccessEnabled() pulumi.BoolPtrOutput { return o.ApplyT(func(v *Namespace) pulumi.BoolPtrOutput { return v.PublicNetworkAccessEnabled }).(pulumi.BoolPtrOutput) diff --git a/sdk/go/azure/eventhub/topic.go b/sdk/go/azure/eventhub/topic.go index 2fc7533561..869c9c75a4 100644 --- a/sdk/go/azure/eventhub/topic.go +++ b/sdk/go/azure/eventhub/topic.go @@ -99,9 +99,7 @@ type Topic struct { // The ID of the ServiceBus Namespace to create this topic in. Changing this forces a new resource to be created. NamespaceId pulumi.StringOutput `pulumi:"namespaceId"` NamespaceName pulumi.StringOutput `pulumi:"namespaceName"` - // Boolean flag which controls whether Changing this forces a new resource to be created. - // the Topic requires duplicate detection. Defaults to false. Changing this forces - // a new resource to be created. + // Boolean flag which controls whether the Topic requires duplicate detection. Defaults to false. Changing this forcesa new resource to be created. RequiresDuplicateDetection pulumi.BoolPtrOutput `pulumi:"requiresDuplicateDetection"` ResourceGroupName pulumi.StringOutput `pulumi:"resourceGroupName"` // The Status of the Service Bus Topic. Acceptable values are `Active` or `Disabled`. Defaults to `Active`. @@ -166,9 +164,7 @@ type topicState struct { // The ID of the ServiceBus Namespace to create this topic in. Changing this forces a new resource to be created. NamespaceId *string `pulumi:"namespaceId"` NamespaceName *string `pulumi:"namespaceName"` - // Boolean flag which controls whether Changing this forces a new resource to be created. - // the Topic requires duplicate detection. Defaults to false. Changing this forces - // a new resource to be created. + // Boolean flag which controls whether the Topic requires duplicate detection. Defaults to false. Changing this forcesa new resource to be created. RequiresDuplicateDetection *bool `pulumi:"requiresDuplicateDetection"` ResourceGroupName *string `pulumi:"resourceGroupName"` // The Status of the Service Bus Topic. Acceptable values are `Active` or `Disabled`. Defaults to `Active`. @@ -201,9 +197,7 @@ type TopicState struct { // The ID of the ServiceBus Namespace to create this topic in. Changing this forces a new resource to be created. NamespaceId pulumi.StringPtrInput NamespaceName pulumi.StringPtrInput - // Boolean flag which controls whether Changing this forces a new resource to be created. - // the Topic requires duplicate detection. Defaults to false. Changing this forces - // a new resource to be created. + // Boolean flag which controls whether the Topic requires duplicate detection. Defaults to false. Changing this forcesa new resource to be created. RequiresDuplicateDetection pulumi.BoolPtrInput ResourceGroupName pulumi.StringPtrInput // The Status of the Service Bus Topic. Acceptable values are `Active` or `Disabled`. Defaults to `Active`. @@ -239,9 +233,7 @@ type topicArgs struct { Name *string `pulumi:"name"` // The ID of the ServiceBus Namespace to create this topic in. Changing this forces a new resource to be created. NamespaceId string `pulumi:"namespaceId"` - // Boolean flag which controls whether Changing this forces a new resource to be created. - // the Topic requires duplicate detection. Defaults to false. Changing this forces - // a new resource to be created. + // Boolean flag which controls whether the Topic requires duplicate detection. Defaults to false. Changing this forcesa new resource to be created. RequiresDuplicateDetection *bool `pulumi:"requiresDuplicateDetection"` // The Status of the Service Bus Topic. Acceptable values are `Active` or `Disabled`. Defaults to `Active`. Status *string `pulumi:"status"` @@ -273,9 +265,7 @@ type TopicArgs struct { Name pulumi.StringPtrInput // The ID of the ServiceBus Namespace to create this topic in. Changing this forces a new resource to be created. NamespaceId pulumi.StringInput - // Boolean flag which controls whether Changing this forces a new resource to be created. - // the Topic requires duplicate detection. Defaults to false. Changing this forces - // a new resource to be created. + // Boolean flag which controls whether the Topic requires duplicate detection. Defaults to false. Changing this forcesa new resource to be created. RequiresDuplicateDetection pulumi.BoolPtrInput // The Status of the Service Bus Topic. Acceptable values are `Active` or `Disabled`. Defaults to `Active`. Status pulumi.StringPtrInput @@ -426,9 +416,7 @@ func (o TopicOutput) NamespaceName() pulumi.StringOutput { return o.ApplyT(func(v *Topic) pulumi.StringOutput { return v.NamespaceName }).(pulumi.StringOutput) } -// Boolean flag which controls whether Changing this forces a new resource to be created. -// the Topic requires duplicate detection. Defaults to false. Changing this forces -// a new resource to be created. +// Boolean flag which controls whether the Topic requires duplicate detection. Defaults to false. Changing this forcesa new resource to be created. func (o TopicOutput) RequiresDuplicateDetection() pulumi.BoolPtrOutput { return o.ApplyT(func(v *Topic) pulumi.BoolPtrOutput { return v.RequiresDuplicateDetection }).(pulumi.BoolPtrOutput) } diff --git a/sdk/go/azure/expressroute/getCircuitPeering.go b/sdk/go/azure/expressroute/getCircuitPeering.go new file mode 100644 index 0000000000..7015535c4e --- /dev/null +++ b/sdk/go/azure/expressroute/getCircuitPeering.go @@ -0,0 +1,178 @@ +// 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 expressroute + +import ( + "context" + "reflect" + + "github.com/pulumi/pulumi-azure/sdk/v5/go/azure/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// Manages an ExpressRoute Circuit Peering. +// +// ## Example Usage +func GetCircuitPeering(ctx *pulumi.Context, args *GetCircuitPeeringArgs, opts ...pulumi.InvokeOption) (*GetCircuitPeeringResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetCircuitPeeringResult + err := ctx.Invoke("azure:expressroute/getCircuitPeering:getCircuitPeering", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getCircuitPeering. +type GetCircuitPeeringArgs struct { + // The name of the ExpressRoute Circuit in which to create the Peering. Changing this forces a new resource to be created. + ExpressRouteCircuitName string `pulumi:"expressRouteCircuitName"` + // The type of the ExpressRoute Circuit Peering. Acceptable values include `AzurePrivatePeering`, `AzurePublicPeering` and `MicrosoftPeering`. + PeeringType string `pulumi:"peeringType"` + // The name of the resource group in which to create the Express Route Circuit Peering. Changing this forces a new resource to be created. + ResourceGroupName string `pulumi:"resourceGroupName"` +} + +// A collection of values returned by getCircuitPeering. +type GetCircuitPeeringResult struct { + // The ASN used by Azure for the peering. + AzureAsn int `pulumi:"azureAsn"` + ExpressRouteCircuitName string `pulumi:"expressRouteCircuitName"` + GatewayManagerEtag string `pulumi:"gatewayManagerEtag"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + // Indicates if IPv4 is enabled. + Ipv4Enabled bool `pulumi:"ipv4Enabled"` + PeerAsn int `pulumi:"peerAsn"` + // The type of the ExpressRoute Circuit Peering. + PeeringType string `pulumi:"peeringType"` + // The primary port used by Azure for this peering. + PrimaryAzurePort string `pulumi:"primaryAzurePort"` + // The primary peer address prefix. + PrimaryPeerAddressPrefix string `pulumi:"primaryPeerAddressPrefix"` + ResourceGroupName string `pulumi:"resourceGroupName"` + RouteFilterId string `pulumi:"routeFilterId"` + // The secondary port used by Azure for this peering. + SecondaryAzurePort string `pulumi:"secondaryAzurePort"` + // The secondary peer address prefix. + SecondaryPeerAddressPrefix string `pulumi:"secondaryPeerAddressPrefix"` + SharedKey string `pulumi:"sharedKey"` + // The VLAN ID used for this peering. + VlanId int `pulumi:"vlanId"` +} + +func GetCircuitPeeringOutput(ctx *pulumi.Context, args GetCircuitPeeringOutputArgs, opts ...pulumi.InvokeOption) GetCircuitPeeringResultOutput { + return pulumi.ToOutputWithContext(context.Background(), args). + ApplyT(func(v interface{}) (GetCircuitPeeringResult, error) { + args := v.(GetCircuitPeeringArgs) + r, err := GetCircuitPeering(ctx, &args, opts...) + var s GetCircuitPeeringResult + if r != nil { + s = *r + } + return s, err + }).(GetCircuitPeeringResultOutput) +} + +// A collection of arguments for invoking getCircuitPeering. +type GetCircuitPeeringOutputArgs struct { + // The name of the ExpressRoute Circuit in which to create the Peering. Changing this forces a new resource to be created. + ExpressRouteCircuitName pulumi.StringInput `pulumi:"expressRouteCircuitName"` + // The type of the ExpressRoute Circuit Peering. Acceptable values include `AzurePrivatePeering`, `AzurePublicPeering` and `MicrosoftPeering`. + PeeringType pulumi.StringInput `pulumi:"peeringType"` + // The name of the resource group in which to create the Express Route Circuit Peering. Changing this forces a new resource to be created. + ResourceGroupName pulumi.StringInput `pulumi:"resourceGroupName"` +} + +func (GetCircuitPeeringOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetCircuitPeeringArgs)(nil)).Elem() +} + +// A collection of values returned by getCircuitPeering. +type GetCircuitPeeringResultOutput struct{ *pulumi.OutputState } + +func (GetCircuitPeeringResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetCircuitPeeringResult)(nil)).Elem() +} + +func (o GetCircuitPeeringResultOutput) ToGetCircuitPeeringResultOutput() GetCircuitPeeringResultOutput { + return o +} + +func (o GetCircuitPeeringResultOutput) ToGetCircuitPeeringResultOutputWithContext(ctx context.Context) GetCircuitPeeringResultOutput { + return o +} + +// The ASN used by Azure for the peering. +func (o GetCircuitPeeringResultOutput) AzureAsn() pulumi.IntOutput { + return o.ApplyT(func(v GetCircuitPeeringResult) int { return v.AzureAsn }).(pulumi.IntOutput) +} + +func (o GetCircuitPeeringResultOutput) ExpressRouteCircuitName() pulumi.StringOutput { + return o.ApplyT(func(v GetCircuitPeeringResult) string { return v.ExpressRouteCircuitName }).(pulumi.StringOutput) +} + +func (o GetCircuitPeeringResultOutput) GatewayManagerEtag() pulumi.StringOutput { + return o.ApplyT(func(v GetCircuitPeeringResult) string { return v.GatewayManagerEtag }).(pulumi.StringOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o GetCircuitPeeringResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetCircuitPeeringResult) string { return v.Id }).(pulumi.StringOutput) +} + +// Indicates if IPv4 is enabled. +func (o GetCircuitPeeringResultOutput) Ipv4Enabled() pulumi.BoolOutput { + return o.ApplyT(func(v GetCircuitPeeringResult) bool { return v.Ipv4Enabled }).(pulumi.BoolOutput) +} + +func (o GetCircuitPeeringResultOutput) PeerAsn() pulumi.IntOutput { + return o.ApplyT(func(v GetCircuitPeeringResult) int { return v.PeerAsn }).(pulumi.IntOutput) +} + +// The type of the ExpressRoute Circuit Peering. +func (o GetCircuitPeeringResultOutput) PeeringType() pulumi.StringOutput { + return o.ApplyT(func(v GetCircuitPeeringResult) string { return v.PeeringType }).(pulumi.StringOutput) +} + +// The primary port used by Azure for this peering. +func (o GetCircuitPeeringResultOutput) PrimaryAzurePort() pulumi.StringOutput { + return o.ApplyT(func(v GetCircuitPeeringResult) string { return v.PrimaryAzurePort }).(pulumi.StringOutput) +} + +// The primary peer address prefix. +func (o GetCircuitPeeringResultOutput) PrimaryPeerAddressPrefix() pulumi.StringOutput { + return o.ApplyT(func(v GetCircuitPeeringResult) string { return v.PrimaryPeerAddressPrefix }).(pulumi.StringOutput) +} + +func (o GetCircuitPeeringResultOutput) ResourceGroupName() pulumi.StringOutput { + return o.ApplyT(func(v GetCircuitPeeringResult) string { return v.ResourceGroupName }).(pulumi.StringOutput) +} + +func (o GetCircuitPeeringResultOutput) RouteFilterId() pulumi.StringOutput { + return o.ApplyT(func(v GetCircuitPeeringResult) string { return v.RouteFilterId }).(pulumi.StringOutput) +} + +// The secondary port used by Azure for this peering. +func (o GetCircuitPeeringResultOutput) SecondaryAzurePort() pulumi.StringOutput { + return o.ApplyT(func(v GetCircuitPeeringResult) string { return v.SecondaryAzurePort }).(pulumi.StringOutput) +} + +// The secondary peer address prefix. +func (o GetCircuitPeeringResultOutput) SecondaryPeerAddressPrefix() pulumi.StringOutput { + return o.ApplyT(func(v GetCircuitPeeringResult) string { return v.SecondaryPeerAddressPrefix }).(pulumi.StringOutput) +} + +func (o GetCircuitPeeringResultOutput) SharedKey() pulumi.StringOutput { + return o.ApplyT(func(v GetCircuitPeeringResult) string { return v.SharedKey }).(pulumi.StringOutput) +} + +// The VLAN ID used for this peering. +func (o GetCircuitPeeringResultOutput) VlanId() pulumi.IntOutput { + return o.ApplyT(func(v GetCircuitPeeringResult) int { return v.VlanId }).(pulumi.IntOutput) +} + +func init() { + pulumi.RegisterOutputType(GetCircuitPeeringResultOutput{}) +} diff --git a/sdk/go/azure/keyvault/certifiate.go b/sdk/go/azure/keyvault/certifiate.go index 6881377d5f..bb4bc9af7b 100644 --- a/sdk/go/azure/keyvault/certifiate.go +++ b/sdk/go/azure/keyvault/certifiate.go @@ -293,7 +293,7 @@ type Certifiate struct { CertificateData pulumi.StringOutput `pulumi:"certificateData"` // The Base64 encoded Key Vault Certificate data. CertificateDataBase64 pulumi.StringOutput `pulumi:"certificateDataBase64"` - // A `certificatePolicy` block as defined below. Changing this will create a new version of the Key Vault Certificate. + // A `certificatePolicy` block as defined below. Changing this (except the `lifetimeAction` field) will create a new version of the Key Vault Certificate. // // > **NOTE:** When creating a Key Vault Certificate, at least one of `certificate` or `certificatePolicy` is required. Provide `certificate` to import an existing certificate, `certificatePolicy` to generate a new certificate. CertificatePolicy CertifiateCertificatePolicyOutput `pulumi:"certificatePolicy"` @@ -360,7 +360,7 @@ type certifiateState struct { CertificateData *string `pulumi:"certificateData"` // The Base64 encoded Key Vault Certificate data. CertificateDataBase64 *string `pulumi:"certificateDataBase64"` - // A `certificatePolicy` block as defined below. Changing this will create a new version of the Key Vault Certificate. + // A `certificatePolicy` block as defined below. Changing this (except the `lifetimeAction` field) will create a new version of the Key Vault Certificate. // // > **NOTE:** When creating a Key Vault Certificate, at least one of `certificate` or `certificatePolicy` is required. Provide `certificate` to import an existing certificate, `certificatePolicy` to generate a new certificate. CertificatePolicy *CertifiateCertificatePolicy `pulumi:"certificatePolicy"` @@ -395,7 +395,7 @@ type CertifiateState struct { CertificateData pulumi.StringPtrInput // The Base64 encoded Key Vault Certificate data. CertificateDataBase64 pulumi.StringPtrInput - // A `certificatePolicy` block as defined below. Changing this will create a new version of the Key Vault Certificate. + // A `certificatePolicy` block as defined below. Changing this (except the `lifetimeAction` field) will create a new version of the Key Vault Certificate. // // > **NOTE:** When creating a Key Vault Certificate, at least one of `certificate` or `certificatePolicy` is required. Provide `certificate` to import an existing certificate, `certificatePolicy` to generate a new certificate. CertificatePolicy CertifiateCertificatePolicyPtrInput @@ -428,7 +428,7 @@ func (CertifiateState) ElementType() reflect.Type { type certifiateArgs struct { // A `certificate` block as defined below, used to Import an existing certificate. Changing this will create a new version of the Key Vault Certificate. Certificate *CertifiateCertificate `pulumi:"certificate"` - // A `certificatePolicy` block as defined below. Changing this will create a new version of the Key Vault Certificate. + // A `certificatePolicy` block as defined below. Changing this (except the `lifetimeAction` field) will create a new version of the Key Vault Certificate. // // > **NOTE:** When creating a Key Vault Certificate, at least one of `certificate` or `certificatePolicy` is required. Provide `certificate` to import an existing certificate, `certificatePolicy` to generate a new certificate. CertificatePolicy *CertifiateCertificatePolicy `pulumi:"certificatePolicy"` @@ -444,7 +444,7 @@ type certifiateArgs struct { type CertifiateArgs struct { // A `certificate` block as defined below, used to Import an existing certificate. Changing this will create a new version of the Key Vault Certificate. Certificate CertifiateCertificatePtrInput - // A `certificatePolicy` block as defined below. Changing this will create a new version of the Key Vault Certificate. + // A `certificatePolicy` block as defined below. Changing this (except the `lifetimeAction` field) will create a new version of the Key Vault Certificate. // // > **NOTE:** When creating a Key Vault Certificate, at least one of `certificate` or `certificatePolicy` is required. Provide `certificate` to import an existing certificate, `certificatePolicy` to generate a new certificate. CertificatePolicy CertifiateCertificatePolicyPtrInput @@ -563,7 +563,7 @@ func (o CertifiateOutput) CertificateDataBase64() pulumi.StringOutput { return o.ApplyT(func(v *Certifiate) pulumi.StringOutput { return v.CertificateDataBase64 }).(pulumi.StringOutput) } -// A `certificatePolicy` block as defined below. Changing this will create a new version of the Key Vault Certificate. +// A `certificatePolicy` block as defined below. Changing this (except the `lifetimeAction` field) will create a new version of the Key Vault Certificate. // // > **NOTE:** When creating a Key Vault Certificate, at least one of `certificate` or `certificatePolicy` is required. Provide `certificate` to import an existing certificate, `certificatePolicy` to generate a new certificate. func (o CertifiateOutput) CertificatePolicy() CertifiateCertificatePolicyOutput { diff --git a/sdk/go/azure/keyvault/certificate.go b/sdk/go/azure/keyvault/certificate.go index e5c613e362..8887e742f2 100644 --- a/sdk/go/azure/keyvault/certificate.go +++ b/sdk/go/azure/keyvault/certificate.go @@ -291,7 +291,7 @@ type Certificate struct { CertificateData pulumi.StringOutput `pulumi:"certificateData"` // The Base64 encoded Key Vault Certificate data. CertificateDataBase64 pulumi.StringOutput `pulumi:"certificateDataBase64"` - // A `certificatePolicy` block as defined below. Changing this will create a new version of the Key Vault Certificate. + // A `certificatePolicy` block as defined below. Changing this (except the `lifetimeAction` field) will create a new version of the Key Vault Certificate. // // > **NOTE:** When creating a Key Vault Certificate, at least one of `certificate` or `certificatePolicy` is required. Provide `certificate` to import an existing certificate, `certificatePolicy` to generate a new certificate. CertificatePolicy CertificateCertificatePolicyOutput `pulumi:"certificatePolicy"` @@ -364,7 +364,7 @@ type certificateState struct { CertificateData *string `pulumi:"certificateData"` // The Base64 encoded Key Vault Certificate data. CertificateDataBase64 *string `pulumi:"certificateDataBase64"` - // A `certificatePolicy` block as defined below. Changing this will create a new version of the Key Vault Certificate. + // A `certificatePolicy` block as defined below. Changing this (except the `lifetimeAction` field) will create a new version of the Key Vault Certificate. // // > **NOTE:** When creating a Key Vault Certificate, at least one of `certificate` or `certificatePolicy` is required. Provide `certificate` to import an existing certificate, `certificatePolicy` to generate a new certificate. CertificatePolicy *CertificateCertificatePolicy `pulumi:"certificatePolicy"` @@ -399,7 +399,7 @@ type CertificateState struct { CertificateData pulumi.StringPtrInput // The Base64 encoded Key Vault Certificate data. CertificateDataBase64 pulumi.StringPtrInput - // A `certificatePolicy` block as defined below. Changing this will create a new version of the Key Vault Certificate. + // A `certificatePolicy` block as defined below. Changing this (except the `lifetimeAction` field) will create a new version of the Key Vault Certificate. // // > **NOTE:** When creating a Key Vault Certificate, at least one of `certificate` or `certificatePolicy` is required. Provide `certificate` to import an existing certificate, `certificatePolicy` to generate a new certificate. CertificatePolicy CertificateCertificatePolicyPtrInput @@ -432,7 +432,7 @@ func (CertificateState) ElementType() reflect.Type { type certificateArgs struct { // A `certificate` block as defined below, used to Import an existing certificate. Changing this will create a new version of the Key Vault Certificate. Certificate *CertificateCertificate `pulumi:"certificate"` - // A `certificatePolicy` block as defined below. Changing this will create a new version of the Key Vault Certificate. + // A `certificatePolicy` block as defined below. Changing this (except the `lifetimeAction` field) will create a new version of the Key Vault Certificate. // // > **NOTE:** When creating a Key Vault Certificate, at least one of `certificate` or `certificatePolicy` is required. Provide `certificate` to import an existing certificate, `certificatePolicy` to generate a new certificate. CertificatePolicy *CertificateCertificatePolicy `pulumi:"certificatePolicy"` @@ -448,7 +448,7 @@ type certificateArgs struct { type CertificateArgs struct { // A `certificate` block as defined below, used to Import an existing certificate. Changing this will create a new version of the Key Vault Certificate. Certificate CertificateCertificatePtrInput - // A `certificatePolicy` block as defined below. Changing this will create a new version of the Key Vault Certificate. + // A `certificatePolicy` block as defined below. Changing this (except the `lifetimeAction` field) will create a new version of the Key Vault Certificate. // // > **NOTE:** When creating a Key Vault Certificate, at least one of `certificate` or `certificatePolicy` is required. Provide `certificate` to import an existing certificate, `certificatePolicy` to generate a new certificate. CertificatePolicy CertificateCertificatePolicyPtrInput @@ -567,7 +567,7 @@ func (o CertificateOutput) CertificateDataBase64() pulumi.StringOutput { return o.ApplyT(func(v *Certificate) pulumi.StringOutput { return v.CertificateDataBase64 }).(pulumi.StringOutput) } -// A `certificatePolicy` block as defined below. Changing this will create a new version of the Key Vault Certificate. +// A `certificatePolicy` block as defined below. Changing this (except the `lifetimeAction` field) will create a new version of the Key Vault Certificate. // // > **NOTE:** When creating a Key Vault Certificate, at least one of `certificate` or `certificatePolicy` is required. Provide `certificate` to import an existing certificate, `certificatePolicy` to generate a new certificate. func (o CertificateOutput) CertificatePolicy() CertificateCertificatePolicyOutput { diff --git a/sdk/go/azure/keyvault/key.go b/sdk/go/azure/keyvault/key.go index 23f17e7d6d..0dce7a9018 100644 --- a/sdk/go/azure/keyvault/key.go +++ b/sdk/go/azure/keyvault/key.go @@ -119,7 +119,7 @@ type Key struct { Curve pulumi.StringOutput `pulumi:"curve"` // The RSA public exponent of this Key Vault Key. E pulumi.StringOutput `pulumi:"e"` - // Expiration UTC datetime (Y-m-d'T'H:M:S'Z'). + // Expiration UTC datetime (Y-m-d'T'H:M:S'Z'). When this parameter gets changed on reruns, if newer date is ahead of current date, an update is performed. If the newer date is before the current date, resource will be force created. ExpirationDate pulumi.StringPtrOutput `pulumi:"expirationDate"` // A list of JSON web key operations. Possible values include: `decrypt`, `encrypt`, `sign`, `unwrapKey`, `verify` and `wrapKey`. Please note these values are case sensitive. KeyOpts pulumi.StringArrayOutput `pulumi:"keyOpts"` @@ -134,6 +134,8 @@ type Key struct { // Specifies the name of the Key Vault Key. Changing this forces a new resource to be created. Name pulumi.StringOutput `pulumi:"name"` // Key not usable before the provided UTC datetime (Y-m-d'T'H:M:S'Z'). + // + // > **Note:** Once `expirationDate` is set, it's not possible to unset the key even if it is deleted & recreated as underlying Azure API uses the restore of the purged key. NotBeforeDate pulumi.StringPtrOutput `pulumi:"notBeforeDate"` // The OpenSSH encoded public key of this Key Vault Key. PublicKeyOpenssh pulumi.StringOutput `pulumi:"publicKeyOpenssh"` @@ -200,7 +202,7 @@ type keyState struct { Curve *string `pulumi:"curve"` // The RSA public exponent of this Key Vault Key. E *string `pulumi:"e"` - // Expiration UTC datetime (Y-m-d'T'H:M:S'Z'). + // Expiration UTC datetime (Y-m-d'T'H:M:S'Z'). When this parameter gets changed on reruns, if newer date is ahead of current date, an update is performed. If the newer date is before the current date, resource will be force created. ExpirationDate *string `pulumi:"expirationDate"` // A list of JSON web key operations. Possible values include: `decrypt`, `encrypt`, `sign`, `unwrapKey`, `verify` and `wrapKey`. Please note these values are case sensitive. KeyOpts []string `pulumi:"keyOpts"` @@ -215,6 +217,8 @@ type keyState struct { // Specifies the name of the Key Vault Key. Changing this forces a new resource to be created. Name *string `pulumi:"name"` // Key not usable before the provided UTC datetime (Y-m-d'T'H:M:S'Z'). + // + // > **Note:** Once `expirationDate` is set, it's not possible to unset the key even if it is deleted & recreated as underlying Azure API uses the restore of the purged key. NotBeforeDate *string `pulumi:"notBeforeDate"` // The OpenSSH encoded public key of this Key Vault Key. PublicKeyOpenssh *string `pulumi:"publicKeyOpenssh"` @@ -243,7 +247,7 @@ type KeyState struct { Curve pulumi.StringPtrInput // The RSA public exponent of this Key Vault Key. E pulumi.StringPtrInput - // Expiration UTC datetime (Y-m-d'T'H:M:S'Z'). + // Expiration UTC datetime (Y-m-d'T'H:M:S'Z'). When this parameter gets changed on reruns, if newer date is ahead of current date, an update is performed. If the newer date is before the current date, resource will be force created. ExpirationDate pulumi.StringPtrInput // A list of JSON web key operations. Possible values include: `decrypt`, `encrypt`, `sign`, `unwrapKey`, `verify` and `wrapKey`. Please note these values are case sensitive. KeyOpts pulumi.StringArrayInput @@ -258,6 +262,8 @@ type KeyState struct { // Specifies the name of the Key Vault Key. Changing this forces a new resource to be created. Name pulumi.StringPtrInput // Key not usable before the provided UTC datetime (Y-m-d'T'H:M:S'Z'). + // + // > **Note:** Once `expirationDate` is set, it's not possible to unset the key even if it is deleted & recreated as underlying Azure API uses the restore of the purged key. NotBeforeDate pulumi.StringPtrInput // The OpenSSH encoded public key of this Key Vault Key. PublicKeyOpenssh pulumi.StringPtrInput @@ -288,7 +294,7 @@ func (KeyState) ElementType() reflect.Type { type keyArgs struct { // Specifies the curve to use when creating an `EC` key. Possible values are `P-256`, `P-256K`, `P-384`, and `P-521`. This field will be required in a future release if `keyType` is `EC` or `EC-HSM`. The API will default to `P-256` if nothing is specified. Changing this forces a new resource to be created. Curve *string `pulumi:"curve"` - // Expiration UTC datetime (Y-m-d'T'H:M:S'Z'). + // Expiration UTC datetime (Y-m-d'T'H:M:S'Z'). When this parameter gets changed on reruns, if newer date is ahead of current date, an update is performed. If the newer date is before the current date, resource will be force created. ExpirationDate *string `pulumi:"expirationDate"` // A list of JSON web key operations. Possible values include: `decrypt`, `encrypt`, `sign`, `unwrapKey`, `verify` and `wrapKey`. Please note these values are case sensitive. KeyOpts []string `pulumi:"keyOpts"` @@ -301,6 +307,8 @@ type keyArgs struct { // Specifies the name of the Key Vault Key. Changing this forces a new resource to be created. Name *string `pulumi:"name"` // Key not usable before the provided UTC datetime (Y-m-d'T'H:M:S'Z'). + // + // > **Note:** Once `expirationDate` is set, it's not possible to unset the key even if it is deleted & recreated as underlying Azure API uses the restore of the purged key. NotBeforeDate *string `pulumi:"notBeforeDate"` // A `rotationPolicy` block as defined below. RotationPolicy *KeyRotationPolicy `pulumi:"rotationPolicy"` @@ -312,7 +320,7 @@ type keyArgs struct { type KeyArgs struct { // Specifies the curve to use when creating an `EC` key. Possible values are `P-256`, `P-256K`, `P-384`, and `P-521`. This field will be required in a future release if `keyType` is `EC` or `EC-HSM`. The API will default to `P-256` if nothing is specified. Changing this forces a new resource to be created. Curve pulumi.StringPtrInput - // Expiration UTC datetime (Y-m-d'T'H:M:S'Z'). + // Expiration UTC datetime (Y-m-d'T'H:M:S'Z'). When this parameter gets changed on reruns, if newer date is ahead of current date, an update is performed. If the newer date is before the current date, resource will be force created. ExpirationDate pulumi.StringPtrInput // A list of JSON web key operations. Possible values include: `decrypt`, `encrypt`, `sign`, `unwrapKey`, `verify` and `wrapKey`. Please note these values are case sensitive. KeyOpts pulumi.StringArrayInput @@ -325,6 +333,8 @@ type KeyArgs struct { // Specifies the name of the Key Vault Key. Changing this forces a new resource to be created. Name pulumi.StringPtrInput // Key not usable before the provided UTC datetime (Y-m-d'T'H:M:S'Z'). + // + // > **Note:** Once `expirationDate` is set, it's not possible to unset the key even if it is deleted & recreated as underlying Azure API uses the restore of the purged key. NotBeforeDate pulumi.StringPtrInput // A `rotationPolicy` block as defined below. RotationPolicy KeyRotationPolicyPtrInput @@ -429,7 +439,7 @@ func (o KeyOutput) E() pulumi.StringOutput { return o.ApplyT(func(v *Key) pulumi.StringOutput { return v.E }).(pulumi.StringOutput) } -// Expiration UTC datetime (Y-m-d'T'H:M:S'Z'). +// Expiration UTC datetime (Y-m-d'T'H:M:S'Z'). When this parameter gets changed on reruns, if newer date is ahead of current date, an update is performed. If the newer date is before the current date, resource will be force created. func (o KeyOutput) ExpirationDate() pulumi.StringPtrOutput { return o.ApplyT(func(v *Key) pulumi.StringPtrOutput { return v.ExpirationDate }).(pulumi.StringPtrOutput) } @@ -465,6 +475,8 @@ func (o KeyOutput) Name() pulumi.StringOutput { } // Key not usable before the provided UTC datetime (Y-m-d'T'H:M:S'Z'). +// +// > **Note:** Once `expirationDate` is set, it's not possible to unset the key even if it is deleted & recreated as underlying Azure API uses the restore of the purged key. func (o KeyOutput) NotBeforeDate() pulumi.StringPtrOutput { return o.ApplyT(func(v *Key) pulumi.StringPtrOutput { return v.NotBeforeDate }).(pulumi.StringPtrOutput) } diff --git a/sdk/go/azure/machinelearning/pulumiTypes.go b/sdk/go/azure/machinelearning/pulumiTypes.go index 9024f4c309..1cf1ff27a2 100644 --- a/sdk/go/azure/machinelearning/pulumiTypes.go +++ b/sdk/go/azure/machinelearning/pulumiTypes.go @@ -1309,15 +1309,15 @@ func (o InferenceClusterIdentityPtrOutput) Type() pulumi.StringPtrOutput { } type InferenceClusterSsl struct { - // The certificate for the SSL configuration.Conflicts with `ssl.0.leaf_domain_label`,`ssl.0.overwrite_existing_domain`. Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `""`. + // The certificate for the SSL configuration.Conflicts with `ssl[0].leaf_domain_label`,`ssl[0].overwrite_existing_domain`. Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `""`. Cert *string `pulumi:"cert"` - // The cname of the SSL configuration.Conflicts with `ssl.0.leaf_domain_label`,`ssl.0.overwrite_existing_domain`. Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `""`. + // The cname of the SSL configuration.Conflicts with `ssl[0].leaf_domain_label`,`ssl[0].overwrite_existing_domain`. Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `""`. Cname *string `pulumi:"cname"` - // The key content for the SSL configuration.Conflicts with `ssl.0.leaf_domain_label`,`ssl.0.overwrite_existing_domain`. Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `""`. + // The key content for the SSL configuration.Conflicts with `ssl[0].leaf_domain_label`,`ssl[0].overwrite_existing_domain`. Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `""`. Key *string `pulumi:"key"` - // The leaf domain label for the SSL configuration. Conflicts with `ssl.0.cert`,`ssl.0.key`,`ssl.0.cname`. Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `""`. + // The leaf domain label for the SSL configuration. Conflicts with `ssl[0].cert`,`ssl[0].key`,`ssl[0].cname`. Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `""`. LeafDomainLabel *string `pulumi:"leafDomainLabel"` - // Whether or not to overwrite existing leaf domain. Conflicts with `ssl.0.cert`,`ssl.0.key`,`ssl.0.cname` Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `""`. + // Whether or not to overwrite existing leaf domain. Conflicts with `ssl[0].cert`,`ssl[0].key`,`ssl[0].cname` Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `""`. OverwriteExistingDomain *bool `pulumi:"overwriteExistingDomain"` } @@ -1333,15 +1333,15 @@ type InferenceClusterSslInput interface { } type InferenceClusterSslArgs struct { - // The certificate for the SSL configuration.Conflicts with `ssl.0.leaf_domain_label`,`ssl.0.overwrite_existing_domain`. Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `""`. + // The certificate for the SSL configuration.Conflicts with `ssl[0].leaf_domain_label`,`ssl[0].overwrite_existing_domain`. Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `""`. Cert pulumi.StringPtrInput `pulumi:"cert"` - // The cname of the SSL configuration.Conflicts with `ssl.0.leaf_domain_label`,`ssl.0.overwrite_existing_domain`. Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `""`. + // The cname of the SSL configuration.Conflicts with `ssl[0].leaf_domain_label`,`ssl[0].overwrite_existing_domain`. Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `""`. Cname pulumi.StringPtrInput `pulumi:"cname"` - // The key content for the SSL configuration.Conflicts with `ssl.0.leaf_domain_label`,`ssl.0.overwrite_existing_domain`. Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `""`. + // The key content for the SSL configuration.Conflicts with `ssl[0].leaf_domain_label`,`ssl[0].overwrite_existing_domain`. Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `""`. Key pulumi.StringPtrInput `pulumi:"key"` - // The leaf domain label for the SSL configuration. Conflicts with `ssl.0.cert`,`ssl.0.key`,`ssl.0.cname`. Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `""`. + // The leaf domain label for the SSL configuration. Conflicts with `ssl[0].cert`,`ssl[0].key`,`ssl[0].cname`. Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `""`. LeafDomainLabel pulumi.StringPtrInput `pulumi:"leafDomainLabel"` - // Whether or not to overwrite existing leaf domain. Conflicts with `ssl.0.cert`,`ssl.0.key`,`ssl.0.cname` Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `""`. + // Whether or not to overwrite existing leaf domain. Conflicts with `ssl[0].cert`,`ssl[0].key`,`ssl[0].cname` Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `""`. OverwriteExistingDomain pulumi.BoolPtrInput `pulumi:"overwriteExistingDomain"` } @@ -1422,27 +1422,27 @@ func (o InferenceClusterSslOutput) ToInferenceClusterSslPtrOutputWithContext(ctx }).(InferenceClusterSslPtrOutput) } -// The certificate for the SSL configuration.Conflicts with `ssl.0.leaf_domain_label`,`ssl.0.overwrite_existing_domain`. Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `""`. +// The certificate for the SSL configuration.Conflicts with `ssl[0].leaf_domain_label`,`ssl[0].overwrite_existing_domain`. Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `""`. func (o InferenceClusterSslOutput) Cert() pulumi.StringPtrOutput { return o.ApplyT(func(v InferenceClusterSsl) *string { return v.Cert }).(pulumi.StringPtrOutput) } -// The cname of the SSL configuration.Conflicts with `ssl.0.leaf_domain_label`,`ssl.0.overwrite_existing_domain`. Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `""`. +// The cname of the SSL configuration.Conflicts with `ssl[0].leaf_domain_label`,`ssl[0].overwrite_existing_domain`. Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `""`. func (o InferenceClusterSslOutput) Cname() pulumi.StringPtrOutput { return o.ApplyT(func(v InferenceClusterSsl) *string { return v.Cname }).(pulumi.StringPtrOutput) } -// The key content for the SSL configuration.Conflicts with `ssl.0.leaf_domain_label`,`ssl.0.overwrite_existing_domain`. Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `""`. +// The key content for the SSL configuration.Conflicts with `ssl[0].leaf_domain_label`,`ssl[0].overwrite_existing_domain`. Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `""`. func (o InferenceClusterSslOutput) Key() pulumi.StringPtrOutput { return o.ApplyT(func(v InferenceClusterSsl) *string { return v.Key }).(pulumi.StringPtrOutput) } -// The leaf domain label for the SSL configuration. Conflicts with `ssl.0.cert`,`ssl.0.key`,`ssl.0.cname`. Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `""`. +// The leaf domain label for the SSL configuration. Conflicts with `ssl[0].cert`,`ssl[0].key`,`ssl[0].cname`. Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `""`. func (o InferenceClusterSslOutput) LeafDomainLabel() pulumi.StringPtrOutput { return o.ApplyT(func(v InferenceClusterSsl) *string { return v.LeafDomainLabel }).(pulumi.StringPtrOutput) } -// Whether or not to overwrite existing leaf domain. Conflicts with `ssl.0.cert`,`ssl.0.key`,`ssl.0.cname` Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `""`. +// Whether or not to overwrite existing leaf domain. Conflicts with `ssl[0].cert`,`ssl[0].key`,`ssl[0].cname` Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `""`. func (o InferenceClusterSslOutput) OverwriteExistingDomain() pulumi.BoolPtrOutput { return o.ApplyT(func(v InferenceClusterSsl) *bool { return v.OverwriteExistingDomain }).(pulumi.BoolPtrOutput) } @@ -1471,7 +1471,7 @@ func (o InferenceClusterSslPtrOutput) Elem() InferenceClusterSslOutput { }).(InferenceClusterSslOutput) } -// The certificate for the SSL configuration.Conflicts with `ssl.0.leaf_domain_label`,`ssl.0.overwrite_existing_domain`. Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `""`. +// The certificate for the SSL configuration.Conflicts with `ssl[0].leaf_domain_label`,`ssl[0].overwrite_existing_domain`. Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `""`. func (o InferenceClusterSslPtrOutput) Cert() pulumi.StringPtrOutput { return o.ApplyT(func(v *InferenceClusterSsl) *string { if v == nil { @@ -1481,7 +1481,7 @@ func (o InferenceClusterSslPtrOutput) Cert() pulumi.StringPtrOutput { }).(pulumi.StringPtrOutput) } -// The cname of the SSL configuration.Conflicts with `ssl.0.leaf_domain_label`,`ssl.0.overwrite_existing_domain`. Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `""`. +// The cname of the SSL configuration.Conflicts with `ssl[0].leaf_domain_label`,`ssl[0].overwrite_existing_domain`. Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `""`. func (o InferenceClusterSslPtrOutput) Cname() pulumi.StringPtrOutput { return o.ApplyT(func(v *InferenceClusterSsl) *string { if v == nil { @@ -1491,7 +1491,7 @@ func (o InferenceClusterSslPtrOutput) Cname() pulumi.StringPtrOutput { }).(pulumi.StringPtrOutput) } -// The key content for the SSL configuration.Conflicts with `ssl.0.leaf_domain_label`,`ssl.0.overwrite_existing_domain`. Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `""`. +// The key content for the SSL configuration.Conflicts with `ssl[0].leaf_domain_label`,`ssl[0].overwrite_existing_domain`. Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `""`. func (o InferenceClusterSslPtrOutput) Key() pulumi.StringPtrOutput { return o.ApplyT(func(v *InferenceClusterSsl) *string { if v == nil { @@ -1501,7 +1501,7 @@ func (o InferenceClusterSslPtrOutput) Key() pulumi.StringPtrOutput { }).(pulumi.StringPtrOutput) } -// The leaf domain label for the SSL configuration. Conflicts with `ssl.0.cert`,`ssl.0.key`,`ssl.0.cname`. Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `""`. +// The leaf domain label for the SSL configuration. Conflicts with `ssl[0].cert`,`ssl[0].key`,`ssl[0].cname`. Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `""`. func (o InferenceClusterSslPtrOutput) LeafDomainLabel() pulumi.StringPtrOutput { return o.ApplyT(func(v *InferenceClusterSsl) *string { if v == nil { @@ -1511,7 +1511,7 @@ func (o InferenceClusterSslPtrOutput) LeafDomainLabel() pulumi.StringPtrOutput { }).(pulumi.StringPtrOutput) } -// Whether or not to overwrite existing leaf domain. Conflicts with `ssl.0.cert`,`ssl.0.key`,`ssl.0.cname` Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `""`. +// Whether or not to overwrite existing leaf domain. Conflicts with `ssl[0].cert`,`ssl[0].key`,`ssl[0].cname` Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `""`. func (o InferenceClusterSslPtrOutput) OverwriteExistingDomain() pulumi.BoolPtrOutput { return o.ApplyT(func(v *InferenceClusterSsl) *bool { if v == nil { @@ -2291,6 +2291,143 @@ func (o WorkspaceIdentityPtrOutput) Type() pulumi.StringPtrOutput { }).(pulumi.StringPtrOutput) } +type WorkspaceManagedNetwork struct { + // The isolation mode of the Machine Learning Workspace. Possible values are `Disabled`, `AllowOnlyApprovedOutbound`, and `AllowInternetOutbound` + IsolationMode *string `pulumi:"isolationMode"` +} + +// WorkspaceManagedNetworkInput is an input type that accepts WorkspaceManagedNetworkArgs and WorkspaceManagedNetworkOutput values. +// You can construct a concrete instance of `WorkspaceManagedNetworkInput` via: +// +// WorkspaceManagedNetworkArgs{...} +type WorkspaceManagedNetworkInput interface { + pulumi.Input + + ToWorkspaceManagedNetworkOutput() WorkspaceManagedNetworkOutput + ToWorkspaceManagedNetworkOutputWithContext(context.Context) WorkspaceManagedNetworkOutput +} + +type WorkspaceManagedNetworkArgs struct { + // The isolation mode of the Machine Learning Workspace. Possible values are `Disabled`, `AllowOnlyApprovedOutbound`, and `AllowInternetOutbound` + IsolationMode pulumi.StringPtrInput `pulumi:"isolationMode"` +} + +func (WorkspaceManagedNetworkArgs) ElementType() reflect.Type { + return reflect.TypeOf((*WorkspaceManagedNetwork)(nil)).Elem() +} + +func (i WorkspaceManagedNetworkArgs) ToWorkspaceManagedNetworkOutput() WorkspaceManagedNetworkOutput { + return i.ToWorkspaceManagedNetworkOutputWithContext(context.Background()) +} + +func (i WorkspaceManagedNetworkArgs) ToWorkspaceManagedNetworkOutputWithContext(ctx context.Context) WorkspaceManagedNetworkOutput { + return pulumi.ToOutputWithContext(ctx, i).(WorkspaceManagedNetworkOutput) +} + +func (i WorkspaceManagedNetworkArgs) ToWorkspaceManagedNetworkPtrOutput() WorkspaceManagedNetworkPtrOutput { + return i.ToWorkspaceManagedNetworkPtrOutputWithContext(context.Background()) +} + +func (i WorkspaceManagedNetworkArgs) ToWorkspaceManagedNetworkPtrOutputWithContext(ctx context.Context) WorkspaceManagedNetworkPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(WorkspaceManagedNetworkOutput).ToWorkspaceManagedNetworkPtrOutputWithContext(ctx) +} + +// WorkspaceManagedNetworkPtrInput is an input type that accepts WorkspaceManagedNetworkArgs, WorkspaceManagedNetworkPtr and WorkspaceManagedNetworkPtrOutput values. +// You can construct a concrete instance of `WorkspaceManagedNetworkPtrInput` via: +// +// WorkspaceManagedNetworkArgs{...} +// +// or: +// +// nil +type WorkspaceManagedNetworkPtrInput interface { + pulumi.Input + + ToWorkspaceManagedNetworkPtrOutput() WorkspaceManagedNetworkPtrOutput + ToWorkspaceManagedNetworkPtrOutputWithContext(context.Context) WorkspaceManagedNetworkPtrOutput +} + +type workspaceManagedNetworkPtrType WorkspaceManagedNetworkArgs + +func WorkspaceManagedNetworkPtr(v *WorkspaceManagedNetworkArgs) WorkspaceManagedNetworkPtrInput { + return (*workspaceManagedNetworkPtrType)(v) +} + +func (*workspaceManagedNetworkPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**WorkspaceManagedNetwork)(nil)).Elem() +} + +func (i *workspaceManagedNetworkPtrType) ToWorkspaceManagedNetworkPtrOutput() WorkspaceManagedNetworkPtrOutput { + return i.ToWorkspaceManagedNetworkPtrOutputWithContext(context.Background()) +} + +func (i *workspaceManagedNetworkPtrType) ToWorkspaceManagedNetworkPtrOutputWithContext(ctx context.Context) WorkspaceManagedNetworkPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(WorkspaceManagedNetworkPtrOutput) +} + +type WorkspaceManagedNetworkOutput struct{ *pulumi.OutputState } + +func (WorkspaceManagedNetworkOutput) ElementType() reflect.Type { + return reflect.TypeOf((*WorkspaceManagedNetwork)(nil)).Elem() +} + +func (o WorkspaceManagedNetworkOutput) ToWorkspaceManagedNetworkOutput() WorkspaceManagedNetworkOutput { + return o +} + +func (o WorkspaceManagedNetworkOutput) ToWorkspaceManagedNetworkOutputWithContext(ctx context.Context) WorkspaceManagedNetworkOutput { + return o +} + +func (o WorkspaceManagedNetworkOutput) ToWorkspaceManagedNetworkPtrOutput() WorkspaceManagedNetworkPtrOutput { + return o.ToWorkspaceManagedNetworkPtrOutputWithContext(context.Background()) +} + +func (o WorkspaceManagedNetworkOutput) ToWorkspaceManagedNetworkPtrOutputWithContext(ctx context.Context) WorkspaceManagedNetworkPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v WorkspaceManagedNetwork) *WorkspaceManagedNetwork { + return &v + }).(WorkspaceManagedNetworkPtrOutput) +} + +// The isolation mode of the Machine Learning Workspace. Possible values are `Disabled`, `AllowOnlyApprovedOutbound`, and `AllowInternetOutbound` +func (o WorkspaceManagedNetworkOutput) IsolationMode() pulumi.StringPtrOutput { + return o.ApplyT(func(v WorkspaceManagedNetwork) *string { return v.IsolationMode }).(pulumi.StringPtrOutput) +} + +type WorkspaceManagedNetworkPtrOutput struct{ *pulumi.OutputState } + +func (WorkspaceManagedNetworkPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**WorkspaceManagedNetwork)(nil)).Elem() +} + +func (o WorkspaceManagedNetworkPtrOutput) ToWorkspaceManagedNetworkPtrOutput() WorkspaceManagedNetworkPtrOutput { + return o +} + +func (o WorkspaceManagedNetworkPtrOutput) ToWorkspaceManagedNetworkPtrOutputWithContext(ctx context.Context) WorkspaceManagedNetworkPtrOutput { + return o +} + +func (o WorkspaceManagedNetworkPtrOutput) Elem() WorkspaceManagedNetworkOutput { + return o.ApplyT(func(v *WorkspaceManagedNetwork) WorkspaceManagedNetwork { + if v != nil { + return *v + } + var ret WorkspaceManagedNetwork + return ret + }).(WorkspaceManagedNetworkOutput) +} + +// The isolation mode of the Machine Learning Workspace. Possible values are `Disabled`, `AllowOnlyApprovedOutbound`, and `AllowInternetOutbound` +func (o WorkspaceManagedNetworkPtrOutput) IsolationMode() pulumi.StringPtrOutput { + return o.ApplyT(func(v *WorkspaceManagedNetwork) *string { + if v == nil { + return nil + } + return v.IsolationMode + }).(pulumi.StringPtrOutput) +} + type GetWorkspaceIdentity struct { // A list of User Assigned Identity IDs assigned to this Machine Learning Workspace. IdentityIds []string `pulumi:"identityIds"` @@ -2440,6 +2577,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*WorkspaceFeatureStorePtrInput)(nil)).Elem(), WorkspaceFeatureStoreArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*WorkspaceIdentityInput)(nil)).Elem(), WorkspaceIdentityArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*WorkspaceIdentityPtrInput)(nil)).Elem(), WorkspaceIdentityArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*WorkspaceManagedNetworkInput)(nil)).Elem(), WorkspaceManagedNetworkArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*WorkspaceManagedNetworkPtrInput)(nil)).Elem(), WorkspaceManagedNetworkArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetWorkspaceIdentityInput)(nil)).Elem(), GetWorkspaceIdentityArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetWorkspaceIdentityArrayInput)(nil)).Elem(), GetWorkspaceIdentityArray{}) pulumi.RegisterOutputType(ComputeClusterIdentityOutput{}) @@ -2466,6 +2605,8 @@ func init() { pulumi.RegisterOutputType(WorkspaceFeatureStorePtrOutput{}) pulumi.RegisterOutputType(WorkspaceIdentityOutput{}) pulumi.RegisterOutputType(WorkspaceIdentityPtrOutput{}) + pulumi.RegisterOutputType(WorkspaceManagedNetworkOutput{}) + pulumi.RegisterOutputType(WorkspaceManagedNetworkPtrOutput{}) pulumi.RegisterOutputType(GetWorkspaceIdentityOutput{}) pulumi.RegisterOutputType(GetWorkspaceIdentityArrayOutput{}) } diff --git a/sdk/go/azure/machinelearning/workspace.go b/sdk/go/azure/machinelearning/workspace.go index 58de7e8155..bcd97b467a 100644 --- a/sdk/go/azure/machinelearning/workspace.go +++ b/sdk/go/azure/machinelearning/workspace.go @@ -452,6 +452,8 @@ type Workspace struct { Kind pulumi.StringPtrOutput `pulumi:"kind"` // Specifies the supported Azure location where the Machine Learning Workspace should exist. Changing this forces a new resource to be created. Location pulumi.StringOutput `pulumi:"location"` + // A `managedNetwork` block as defined below. + ManagedNetwork WorkspaceManagedNetworkOutput `pulumi:"managedNetwork"` // Specifies the name of the Machine Learning Workspace. Changing this forces a new resource to be created. Name pulumi.StringOutput `pulumi:"name"` // The user assigned identity id that represents the workspace identity. @@ -466,7 +468,7 @@ type Workspace struct { PublicNetworkAccessEnabled pulumi.BoolOutput `pulumi:"publicNetworkAccessEnabled"` // Specifies the name of the Resource Group in which the Machine Learning Workspace should exist. Changing this forces a new resource to be created. ResourceGroupName pulumi.StringOutput `pulumi:"resourceGroupName"` - // SKU/edition of the Machine Learning Workspace, possible values are `Basic`. Defaults to `Basic`. + // SKU/edition of the Machine Learning Workspace, possible values are `Free`, `Basic`, `Standard` and `Premium`. Defaults to `Basic`. SkuName pulumi.StringPtrOutput `pulumi:"skuName"` // The ID of the Storage Account associated with this Machine Learning Workspace. Changing this forces a new resource to be created. // @@ -553,6 +555,8 @@ type workspaceState struct { Kind *string `pulumi:"kind"` // Specifies the supported Azure location where the Machine Learning Workspace should exist. Changing this forces a new resource to be created. Location *string `pulumi:"location"` + // A `managedNetwork` block as defined below. + ManagedNetwork *WorkspaceManagedNetwork `pulumi:"managedNetwork"` // Specifies the name of the Machine Learning Workspace. Changing this forces a new resource to be created. Name *string `pulumi:"name"` // The user assigned identity id that represents the workspace identity. @@ -567,7 +571,7 @@ type workspaceState struct { PublicNetworkAccessEnabled *bool `pulumi:"publicNetworkAccessEnabled"` // Specifies the name of the Resource Group in which the Machine Learning Workspace should exist. Changing this forces a new resource to be created. ResourceGroupName *string `pulumi:"resourceGroupName"` - // SKU/edition of the Machine Learning Workspace, possible values are `Basic`. Defaults to `Basic`. + // SKU/edition of the Machine Learning Workspace, possible values are `Free`, `Basic`, `Standard` and `Premium`. Defaults to `Basic`. SkuName *string `pulumi:"skuName"` // The ID of the Storage Account associated with this Machine Learning Workspace. Changing this forces a new resource to be created. // @@ -610,6 +614,8 @@ type WorkspaceState struct { Kind pulumi.StringPtrInput // Specifies the supported Azure location where the Machine Learning Workspace should exist. Changing this forces a new resource to be created. Location pulumi.StringPtrInput + // A `managedNetwork` block as defined below. + ManagedNetwork WorkspaceManagedNetworkPtrInput // Specifies the name of the Machine Learning Workspace. Changing this forces a new resource to be created. Name pulumi.StringPtrInput // The user assigned identity id that represents the workspace identity. @@ -624,7 +630,7 @@ type WorkspaceState struct { PublicNetworkAccessEnabled pulumi.BoolPtrInput // Specifies the name of the Resource Group in which the Machine Learning Workspace should exist. Changing this forces a new resource to be created. ResourceGroupName pulumi.StringPtrInput - // SKU/edition of the Machine Learning Workspace, possible values are `Basic`. Defaults to `Basic`. + // SKU/edition of the Machine Learning Workspace, possible values are `Free`, `Basic`, `Standard` and `Premium`. Defaults to `Basic`. SkuName pulumi.StringPtrInput // The ID of the Storage Account associated with this Machine Learning Workspace. Changing this forces a new resource to be created. // @@ -669,6 +675,8 @@ type workspaceArgs struct { Kind *string `pulumi:"kind"` // Specifies the supported Azure location where the Machine Learning Workspace should exist. Changing this forces a new resource to be created. Location *string `pulumi:"location"` + // A `managedNetwork` block as defined below. + ManagedNetwork *WorkspaceManagedNetwork `pulumi:"managedNetwork"` // Specifies the name of the Machine Learning Workspace. Changing this forces a new resource to be created. Name *string `pulumi:"name"` // The user assigned identity id that represents the workspace identity. @@ -683,7 +691,7 @@ type workspaceArgs struct { PublicNetworkAccessEnabled *bool `pulumi:"publicNetworkAccessEnabled"` // Specifies the name of the Resource Group in which the Machine Learning Workspace should exist. Changing this forces a new resource to be created. ResourceGroupName string `pulumi:"resourceGroupName"` - // SKU/edition of the Machine Learning Workspace, possible values are `Basic`. Defaults to `Basic`. + // SKU/edition of the Machine Learning Workspace, possible values are `Free`, `Basic`, `Standard` and `Premium`. Defaults to `Basic`. SkuName *string `pulumi:"skuName"` // The ID of the Storage Account associated with this Machine Learning Workspace. Changing this forces a new resource to be created. // @@ -723,6 +731,8 @@ type WorkspaceArgs struct { Kind pulumi.StringPtrInput // Specifies the supported Azure location where the Machine Learning Workspace should exist. Changing this forces a new resource to be created. Location pulumi.StringPtrInput + // A `managedNetwork` block as defined below. + ManagedNetwork WorkspaceManagedNetworkPtrInput // Specifies the name of the Machine Learning Workspace. Changing this forces a new resource to be created. Name pulumi.StringPtrInput // The user assigned identity id that represents the workspace identity. @@ -737,7 +747,7 @@ type WorkspaceArgs struct { PublicNetworkAccessEnabled pulumi.BoolPtrInput // Specifies the name of the Resource Group in which the Machine Learning Workspace should exist. Changing this forces a new resource to be created. ResourceGroupName pulumi.StringInput - // SKU/edition of the Machine Learning Workspace, possible values are `Basic`. Defaults to `Basic`. + // SKU/edition of the Machine Learning Workspace, possible values are `Free`, `Basic`, `Standard` and `Premium`. Defaults to `Basic`. SkuName pulumi.StringPtrInput // The ID of the Storage Account associated with this Machine Learning Workspace. Changing this forces a new resource to be created. // @@ -903,6 +913,11 @@ func (o WorkspaceOutput) Location() pulumi.StringOutput { return o.ApplyT(func(v *Workspace) pulumi.StringOutput { return v.Location }).(pulumi.StringOutput) } +// A `managedNetwork` block as defined below. +func (o WorkspaceOutput) ManagedNetwork() WorkspaceManagedNetworkOutput { + return o.ApplyT(func(v *Workspace) WorkspaceManagedNetworkOutput { return v.ManagedNetwork }).(WorkspaceManagedNetworkOutput) +} + // Specifies the name of the Machine Learning Workspace. Changing this forces a new resource to be created. func (o WorkspaceOutput) Name() pulumi.StringOutput { return o.ApplyT(func(v *Workspace) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) @@ -932,7 +947,7 @@ func (o WorkspaceOutput) ResourceGroupName() pulumi.StringOutput { return o.ApplyT(func(v *Workspace) pulumi.StringOutput { return v.ResourceGroupName }).(pulumi.StringOutput) } -// SKU/edition of the Machine Learning Workspace, possible values are `Basic`. Defaults to `Basic`. +// SKU/edition of the Machine Learning Workspace, possible values are `Free`, `Basic`, `Standard` and `Premium`. Defaults to `Basic`. func (o WorkspaceOutput) SkuName() pulumi.StringPtrOutput { return o.ApplyT(func(v *Workspace) pulumi.StringPtrOutput { return v.SkuName }).(pulumi.StringPtrOutput) } diff --git a/sdk/go/azure/mssql/database.go b/sdk/go/azure/mssql/database.go index 85b62c82a9..0da31c8f63 100644 --- a/sdk/go/azure/mssql/database.go +++ b/sdk/go/azure/mssql/database.go @@ -273,8 +273,12 @@ type Database struct { ReadScale pulumi.BoolOutput `pulumi:"readScale"` // The ID of the database to be recovered. This property is only applicable when the `createMode` is `Recovery`. RecoverDatabaseId pulumi.StringPtrOutput `pulumi:"recoverDatabaseId"` + // The ID of the Recovery Services Recovery Point Id to be restored. This property is only applicable when the `createMode` is `Recovery`. + RecoveryPointId pulumi.StringPtrOutput `pulumi:"recoveryPointId"` // The ID of the database to be restored. This property is only applicable when the `createMode` is `Restore`. RestoreDroppedDatabaseId pulumi.StringPtrOutput `pulumi:"restoreDroppedDatabaseId"` + // The ID of the long term retention backup to be restored. This property is only applicable when the `createMode` is `RestoreLongTermRetentionBackup`. + RestoreLongTermRetentionBackupId pulumi.StringPtrOutput `pulumi:"restoreLongTermRetentionBackupId"` // Specifies the point in time (ISO8601 format) of the source database that will be restored to create the new database. This property is only settable for `createMode`= `PointInTimeRestore` databases. RestorePointInTime pulumi.StringOutput `pulumi:"restorePointInTime"` // Specifies the name of the sample schema to apply when creating this database. Possible value is `AdventureWorksLT`. @@ -392,8 +396,12 @@ type databaseState struct { ReadScale *bool `pulumi:"readScale"` // The ID of the database to be recovered. This property is only applicable when the `createMode` is `Recovery`. RecoverDatabaseId *string `pulumi:"recoverDatabaseId"` + // The ID of the Recovery Services Recovery Point Id to be restored. This property is only applicable when the `createMode` is `Recovery`. + RecoveryPointId *string `pulumi:"recoveryPointId"` // The ID of the database to be restored. This property is only applicable when the `createMode` is `Restore`. RestoreDroppedDatabaseId *string `pulumi:"restoreDroppedDatabaseId"` + // The ID of the long term retention backup to be restored. This property is only applicable when the `createMode` is `RestoreLongTermRetentionBackup`. + RestoreLongTermRetentionBackupId *string `pulumi:"restoreLongTermRetentionBackupId"` // Specifies the point in time (ISO8601 format) of the source database that will be restored to create the new database. This property is only settable for `createMode`= `PointInTimeRestore` databases. RestorePointInTime *string `pulumi:"restorePointInTime"` // Specifies the name of the sample schema to apply when creating this database. Possible value is `AdventureWorksLT`. @@ -479,8 +487,12 @@ type DatabaseState struct { ReadScale pulumi.BoolPtrInput // The ID of the database to be recovered. This property is only applicable when the `createMode` is `Recovery`. RecoverDatabaseId pulumi.StringPtrInput + // The ID of the Recovery Services Recovery Point Id to be restored. This property is only applicable when the `createMode` is `Recovery`. + RecoveryPointId pulumi.StringPtrInput // The ID of the database to be restored. This property is only applicable when the `createMode` is `Restore`. RestoreDroppedDatabaseId pulumi.StringPtrInput + // The ID of the long term retention backup to be restored. This property is only applicable when the `createMode` is `RestoreLongTermRetentionBackup`. + RestoreLongTermRetentionBackupId pulumi.StringPtrInput // Specifies the point in time (ISO8601 format) of the source database that will be restored to create the new database. This property is only settable for `createMode`= `PointInTimeRestore` databases. RestorePointInTime pulumi.StringPtrInput // Specifies the name of the sample schema to apply when creating this database. Possible value is `AdventureWorksLT`. @@ -570,8 +582,12 @@ type databaseArgs struct { ReadScale *bool `pulumi:"readScale"` // The ID of the database to be recovered. This property is only applicable when the `createMode` is `Recovery`. RecoverDatabaseId *string `pulumi:"recoverDatabaseId"` + // The ID of the Recovery Services Recovery Point Id to be restored. This property is only applicable when the `createMode` is `Recovery`. + RecoveryPointId *string `pulumi:"recoveryPointId"` // The ID of the database to be restored. This property is only applicable when the `createMode` is `Restore`. RestoreDroppedDatabaseId *string `pulumi:"restoreDroppedDatabaseId"` + // The ID of the long term retention backup to be restored. This property is only applicable when the `createMode` is `RestoreLongTermRetentionBackup`. + RestoreLongTermRetentionBackupId *string `pulumi:"restoreLongTermRetentionBackupId"` // Specifies the point in time (ISO8601 format) of the source database that will be restored to create the new database. This property is only settable for `createMode`= `PointInTimeRestore` databases. RestorePointInTime *string `pulumi:"restorePointInTime"` // Specifies the name of the sample schema to apply when creating this database. Possible value is `AdventureWorksLT`. @@ -658,8 +674,12 @@ type DatabaseArgs struct { ReadScale pulumi.BoolPtrInput // The ID of the database to be recovered. This property is only applicable when the `createMode` is `Recovery`. RecoverDatabaseId pulumi.StringPtrInput + // The ID of the Recovery Services Recovery Point Id to be restored. This property is only applicable when the `createMode` is `Recovery`. + RecoveryPointId pulumi.StringPtrInput // The ID of the database to be restored. This property is only applicable when the `createMode` is `Restore`. RestoreDroppedDatabaseId pulumi.StringPtrInput + // The ID of the long term retention backup to be restored. This property is only applicable when the `createMode` is `RestoreLongTermRetentionBackup`. + RestoreLongTermRetentionBackupId pulumi.StringPtrInput // Specifies the point in time (ISO8601 format) of the source database that will be restored to create the new database. This property is only settable for `createMode`= `PointInTimeRestore` databases. RestorePointInTime pulumi.StringPtrInput // Specifies the name of the sample schema to apply when creating this database. Possible value is `AdventureWorksLT`. @@ -888,11 +908,21 @@ func (o DatabaseOutput) RecoverDatabaseId() pulumi.StringPtrOutput { return o.ApplyT(func(v *Database) pulumi.StringPtrOutput { return v.RecoverDatabaseId }).(pulumi.StringPtrOutput) } +// The ID of the Recovery Services Recovery Point Id to be restored. This property is only applicable when the `createMode` is `Recovery`. +func (o DatabaseOutput) RecoveryPointId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *Database) pulumi.StringPtrOutput { return v.RecoveryPointId }).(pulumi.StringPtrOutput) +} + // The ID of the database to be restored. This property is only applicable when the `createMode` is `Restore`. func (o DatabaseOutput) RestoreDroppedDatabaseId() pulumi.StringPtrOutput { return o.ApplyT(func(v *Database) pulumi.StringPtrOutput { return v.RestoreDroppedDatabaseId }).(pulumi.StringPtrOutput) } +// The ID of the long term retention backup to be restored. This property is only applicable when the `createMode` is `RestoreLongTermRetentionBackup`. +func (o DatabaseOutput) RestoreLongTermRetentionBackupId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *Database) pulumi.StringPtrOutput { return v.RestoreLongTermRetentionBackupId }).(pulumi.StringPtrOutput) +} + // Specifies the point in time (ISO8601 format) of the source database that will be restored to create the new database. This property is only settable for `createMode`= `PointInTimeRestore` databases. func (o DatabaseOutput) RestorePointInTime() pulumi.StringOutput { return o.ApplyT(func(v *Database) pulumi.StringOutput { return v.RestorePointInTime }).(pulumi.StringOutput) diff --git a/sdk/go/azure/mssql/managedInstance.go b/sdk/go/azure/mssql/managedInstance.go index c2cf8487f9..ec6a188c25 100644 --- a/sdk/go/azure/mssql/managedInstance.go +++ b/sdk/go/azure/mssql/managedInstance.go @@ -317,7 +317,8 @@ type ManagedInstance struct { // The TimeZone ID that the SQL Managed Instance will be operating in. Default value is `UTC`. Changing this forces a new resource to be created. TimezoneId pulumi.StringPtrOutput `pulumi:"timezoneId"` // Number of cores that should be assigned to the SQL Managed Instance. Values can be `8`, `16`, or `24` for Gen4 SKUs, or `4`, `6`, `8`, `10`, `12`, `16`, `20`, `24`, `32`, `40`, `48`, `56`, `64`, `80`, `96` or `128` for Gen5 SKUs. - Vcores pulumi.IntOutput `pulumi:"vcores"` + Vcores pulumi.IntOutput `pulumi:"vcores"` + ZoneRedundantEnabled pulumi.BoolPtrOutput `pulumi:"zoneRedundantEnabled"` } // NewManagedInstance registers a new resource with the given unique name, arguments, and options. @@ -424,7 +425,8 @@ type managedInstanceState struct { // The TimeZone ID that the SQL Managed Instance will be operating in. Default value is `UTC`. Changing this forces a new resource to be created. TimezoneId *string `pulumi:"timezoneId"` // Number of cores that should be assigned to the SQL Managed Instance. Values can be `8`, `16`, or `24` for Gen4 SKUs, or `4`, `6`, `8`, `10`, `12`, `16`, `20`, `24`, `32`, `40`, `48`, `56`, `64`, `80`, `96` or `128` for Gen5 SKUs. - Vcores *int `pulumi:"vcores"` + Vcores *int `pulumi:"vcores"` + ZoneRedundantEnabled *bool `pulumi:"zoneRedundantEnabled"` } type ManagedInstanceState struct { @@ -471,7 +473,8 @@ type ManagedInstanceState struct { // The TimeZone ID that the SQL Managed Instance will be operating in. Default value is `UTC`. Changing this forces a new resource to be created. TimezoneId pulumi.StringPtrInput // Number of cores that should be assigned to the SQL Managed Instance. Values can be `8`, `16`, or `24` for Gen4 SKUs, or `4`, `6`, `8`, `10`, `12`, `16`, `20`, `24`, `32`, `40`, `48`, `56`, `64`, `80`, `96` or `128` for Gen5 SKUs. - Vcores pulumi.IntPtrInput + Vcores pulumi.IntPtrInput + ZoneRedundantEnabled pulumi.BoolPtrInput } func (ManagedInstanceState) ElementType() reflect.Type { @@ -518,7 +521,8 @@ type managedInstanceArgs struct { // The TimeZone ID that the SQL Managed Instance will be operating in. Default value is `UTC`. Changing this forces a new resource to be created. TimezoneId *string `pulumi:"timezoneId"` // Number of cores that should be assigned to the SQL Managed Instance. Values can be `8`, `16`, or `24` for Gen4 SKUs, or `4`, `6`, `8`, `10`, `12`, `16`, `20`, `24`, `32`, `40`, `48`, `56`, `64`, `80`, `96` or `128` for Gen5 SKUs. - Vcores int `pulumi:"vcores"` + Vcores int `pulumi:"vcores"` + ZoneRedundantEnabled *bool `pulumi:"zoneRedundantEnabled"` } // The set of arguments for constructing a ManagedInstance resource. @@ -562,7 +566,8 @@ type ManagedInstanceArgs struct { // The TimeZone ID that the SQL Managed Instance will be operating in. Default value is `UTC`. Changing this forces a new resource to be created. TimezoneId pulumi.StringPtrInput // Number of cores that should be assigned to the SQL Managed Instance. Values can be `8`, `16`, or `24` for Gen4 SKUs, or `4`, `6`, `8`, `10`, `12`, `16`, `20`, `24`, `32`, `40`, `48`, `56`, `64`, `80`, `96` or `128` for Gen5 SKUs. - Vcores pulumi.IntInput + Vcores pulumi.IntInput + ZoneRedundantEnabled pulumi.BoolPtrInput } func (ManagedInstanceArgs) ElementType() reflect.Type { @@ -762,6 +767,10 @@ func (o ManagedInstanceOutput) Vcores() pulumi.IntOutput { return o.ApplyT(func(v *ManagedInstance) pulumi.IntOutput { return v.Vcores }).(pulumi.IntOutput) } +func (o ManagedInstanceOutput) ZoneRedundantEnabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *ManagedInstance) pulumi.BoolPtrOutput { return v.ZoneRedundantEnabled }).(pulumi.BoolPtrOutput) +} + type ManagedInstanceArrayOutput struct{ *pulumi.OutputState } func (ManagedInstanceArrayOutput) ElementType() reflect.Type { diff --git a/sdk/go/azure/mssql/pulumiTypes.go b/sdk/go/azure/mssql/pulumiTypes.go index 58caae2625..a899969e3d 100644 --- a/sdk/go/azure/mssql/pulumiTypes.go +++ b/sdk/go/azure/mssql/pulumiTypes.go @@ -2767,7 +2767,7 @@ func (o ManagedInstanceVulnerabilityAssessmentRecurringScansPtrOutput) Enabled() } type ServerAzureadAdministrator struct { - // Specifies whether only AD Users and administrators (e.g. `azuread_administrator.0.login_username`) can be used to login, or also local database users (e.g. `administratorLogin`). When `true`, the `administratorLogin` and `administratorLoginPassword` properties can be omitted. + // Specifies whether only AD Users and administrators (e.g. `azuread_administrator[0].login_username`) can be used to login, or also local database users (e.g. `administratorLogin`). When `true`, the `administratorLogin` and `administratorLoginPassword` properties can be omitted. AzureadAuthenticationOnly *bool `pulumi:"azureadAuthenticationOnly"` // The login username of the Azure AD Administrator of this SQL Server. LoginUsername string `pulumi:"loginUsername"` @@ -2789,7 +2789,7 @@ type ServerAzureadAdministratorInput interface { } type ServerAzureadAdministratorArgs struct { - // Specifies whether only AD Users and administrators (e.g. `azuread_administrator.0.login_username`) can be used to login, or also local database users (e.g. `administratorLogin`). When `true`, the `administratorLogin` and `administratorLoginPassword` properties can be omitted. + // Specifies whether only AD Users and administrators (e.g. `azuread_administrator[0].login_username`) can be used to login, or also local database users (e.g. `administratorLogin`). When `true`, the `administratorLogin` and `administratorLoginPassword` properties can be omitted. AzureadAuthenticationOnly pulumi.BoolPtrInput `pulumi:"azureadAuthenticationOnly"` // The login username of the Azure AD Administrator of this SQL Server. LoginUsername pulumi.StringInput `pulumi:"loginUsername"` @@ -2876,7 +2876,7 @@ func (o ServerAzureadAdministratorOutput) ToServerAzureadAdministratorPtrOutputW }).(ServerAzureadAdministratorPtrOutput) } -// Specifies whether only AD Users and administrators (e.g. `azuread_administrator.0.login_username`) can be used to login, or also local database users (e.g. `administratorLogin`). When `true`, the `administratorLogin` and `administratorLoginPassword` properties can be omitted. +// Specifies whether only AD Users and administrators (e.g. `azuread_administrator[0].login_username`) can be used to login, or also local database users (e.g. `administratorLogin`). When `true`, the `administratorLogin` and `administratorLoginPassword` properties can be omitted. func (o ServerAzureadAdministratorOutput) AzureadAuthenticationOnly() pulumi.BoolPtrOutput { return o.ApplyT(func(v ServerAzureadAdministrator) *bool { return v.AzureadAuthenticationOnly }).(pulumi.BoolPtrOutput) } @@ -2920,7 +2920,7 @@ func (o ServerAzureadAdministratorPtrOutput) Elem() ServerAzureadAdministratorOu }).(ServerAzureadAdministratorOutput) } -// Specifies whether only AD Users and administrators (e.g. `azuread_administrator.0.login_username`) can be used to login, or also local database users (e.g. `administratorLogin`). When `true`, the `administratorLogin` and `administratorLoginPassword` properties can be omitted. +// Specifies whether only AD Users and administrators (e.g. `azuread_administrator[0].login_username`) can be used to login, or also local database users (e.g. `administratorLogin`). When `true`, the `administratorLogin` and `administratorLoginPassword` properties can be omitted. func (o ServerAzureadAdministratorPtrOutput) AzureadAuthenticationOnly() pulumi.BoolPtrOutput { return o.ApplyT(func(v *ServerAzureadAdministrator) *bool { if v == nil { diff --git a/sdk/go/azure/mssql/serverVulnerabilityAssessment.go b/sdk/go/azure/mssql/serverVulnerabilityAssessment.go index f3a6d81ab3..374b29666d 100644 --- a/sdk/go/azure/mssql/serverVulnerabilityAssessment.go +++ b/sdk/go/azure/mssql/serverVulnerabilityAssessment.go @@ -27,7 +27,6 @@ import ( // // "github.com/pulumi/pulumi-azure/sdk/v5/go/azure/core" // "github.com/pulumi/pulumi-azure/sdk/v5/go/azure/mssql" -// "github.com/pulumi/pulumi-azure/sdk/v5/go/azure/sql" // "github.com/pulumi/pulumi-azure/sdk/v5/go/azure/storage" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // @@ -42,7 +41,7 @@ import ( // if err != nil { // return err // } -// exampleSqlServer, err := sql.NewSqlServer(ctx, "example", &sql.SqlServerArgs{ +// exampleServer, err := mssql.NewServer(ctx, "example", &mssql.ServerArgs{ // Name: pulumi.String("mysqlserver"), // ResourceGroupName: example.Name, // Location: example.Location, @@ -73,7 +72,7 @@ import ( // } // exampleServerSecurityAlertPolicy, err := mssql.NewServerSecurityAlertPolicy(ctx, "example", &mssql.ServerSecurityAlertPolicyArgs{ // ResourceGroupName: example.Name, -// ServerName: exampleSqlServer.Name, +// ServerName: exampleServer.Name, // State: pulumi.String("Enabled"), // }) // if err != nil { diff --git a/sdk/go/azure/mysql/pulumiTypes.go b/sdk/go/azure/mysql/pulumiTypes.go index c303e3e29c..8267ca8b91 100644 --- a/sdk/go/azure/mysql/pulumiTypes.go +++ b/sdk/go/azure/mysql/pulumiTypes.go @@ -218,7 +218,7 @@ func (o FlexibleServerCustomerManagedKeyPtrOutput) PrimaryUserAssignedIdentityId type FlexibleServerHighAvailability struct { // The high availability mode for the MySQL Flexible Server. Possibles values are `SameZone` and `ZoneRedundant`. // - // > **NOTE:** `storage.0.auto_grow_enabled` must be enabled when `highAvailability` is enabled. To change the `highAvailability` for a MySQL Flexible Server created with `highAvailability` disabled during creation, the resource has to be recreated. + // > **NOTE:** `storage[0].auto_grow_enabled` must be enabled when `highAvailability` is enabled. To change the `highAvailability` for a MySQL Flexible Server created with `highAvailability` disabled during creation, the resource has to be recreated. Mode string `pulumi:"mode"` StandbyAvailabilityZone *string `pulumi:"standbyAvailabilityZone"` } @@ -237,7 +237,7 @@ type FlexibleServerHighAvailabilityInput interface { type FlexibleServerHighAvailabilityArgs struct { // The high availability mode for the MySQL Flexible Server. Possibles values are `SameZone` and `ZoneRedundant`. // - // > **NOTE:** `storage.0.auto_grow_enabled` must be enabled when `highAvailability` is enabled. To change the `highAvailability` for a MySQL Flexible Server created with `highAvailability` disabled during creation, the resource has to be recreated. + // > **NOTE:** `storage[0].auto_grow_enabled` must be enabled when `highAvailability` is enabled. To change the `highAvailability` for a MySQL Flexible Server created with `highAvailability` disabled during creation, the resource has to be recreated. Mode pulumi.StringInput `pulumi:"mode"` StandbyAvailabilityZone pulumi.StringPtrInput `pulumi:"standbyAvailabilityZone"` } @@ -321,7 +321,7 @@ func (o FlexibleServerHighAvailabilityOutput) ToFlexibleServerHighAvailabilityPt // The high availability mode for the MySQL Flexible Server. Possibles values are `SameZone` and `ZoneRedundant`. // -// > **NOTE:** `storage.0.auto_grow_enabled` must be enabled when `highAvailability` is enabled. To change the `highAvailability` for a MySQL Flexible Server created with `highAvailability` disabled during creation, the resource has to be recreated. +// > **NOTE:** `storage[0].auto_grow_enabled` must be enabled when `highAvailability` is enabled. To change the `highAvailability` for a MySQL Flexible Server created with `highAvailability` disabled during creation, the resource has to be recreated. func (o FlexibleServerHighAvailabilityOutput) Mode() pulumi.StringOutput { return o.ApplyT(func(v FlexibleServerHighAvailability) string { return v.Mode }).(pulumi.StringOutput) } @@ -356,7 +356,7 @@ func (o FlexibleServerHighAvailabilityPtrOutput) Elem() FlexibleServerHighAvaila // The high availability mode for the MySQL Flexible Server. Possibles values are `SameZone` and `ZoneRedundant`. // -// > **NOTE:** `storage.0.auto_grow_enabled` must be enabled when `highAvailability` is enabled. To change the `highAvailability` for a MySQL Flexible Server created with `highAvailability` disabled during creation, the resource has to be recreated. +// > **NOTE:** `storage[0].auto_grow_enabled` must be enabled when `highAvailability` is enabled. To change the `highAvailability` for a MySQL Flexible Server created with `highAvailability` disabled during creation, the resource has to be recreated. func (o FlexibleServerHighAvailabilityPtrOutput) Mode() pulumi.StringPtrOutput { return o.ApplyT(func(v *FlexibleServerHighAvailability) *string { if v == nil { diff --git a/sdk/go/azure/netapp/getPool.go b/sdk/go/azure/netapp/getPool.go index d9c440eee9..8519169e1f 100644 --- a/sdk/go/azure/netapp/getPool.go +++ b/sdk/go/azure/netapp/getPool.go @@ -64,6 +64,8 @@ type LookupPoolArgs struct { // A collection of values returned by getPool. type LookupPoolResult struct { AccountName string `pulumi:"accountName"` + // The encryption type of the pool. + EncryptionType string `pulumi:"encryptionType"` // The provider-assigned unique ID for this managed resource. Id string `pulumi:"id"` // The Azure Region where the NetApp Pool exists. @@ -122,6 +124,11 @@ func (o LookupPoolResultOutput) AccountName() pulumi.StringOutput { return o.ApplyT(func(v LookupPoolResult) string { return v.AccountName }).(pulumi.StringOutput) } +// The encryption type of the pool. +func (o LookupPoolResultOutput) EncryptionType() pulumi.StringOutput { + return o.ApplyT(func(v LookupPoolResult) string { return v.EncryptionType }).(pulumi.StringOutput) +} + // The provider-assigned unique ID for this managed resource. func (o LookupPoolResultOutput) Id() pulumi.StringOutput { return o.ApplyT(func(v LookupPoolResult) string { return v.Id }).(pulumi.StringOutput) diff --git a/sdk/go/azure/netapp/getVolume.go b/sdk/go/azure/netapp/getVolume.go index 39c7dfbb46..651b5fc6c4 100644 --- a/sdk/go/azure/netapp/getVolume.go +++ b/sdk/go/azure/netapp/getVolume.go @@ -90,6 +90,11 @@ type LookupVolumeResult struct { SecurityStyle *string `pulumi:"securityStyle"` // The service level of the file system. ServiceLevel string `pulumi:"serviceLevel"` + // Limits enumeration of files and folders (that is, listing the contents) in SMB only to users with allowed access on the share. + // --- + SmbAccessBasedEnumerationEnabled bool `pulumi:"smbAccessBasedEnumerationEnabled"` + // Limits clients from browsing for an SMB share. + SmbNonBrowsableEnabled bool `pulumi:"smbNonBrowsableEnabled"` // The maximum Storage Quota in Gigabytes allowed for a file system. StorageQuotaInGb int `pulumi:"storageQuotaInGb"` // The ID of a Subnet in which the NetApp Volume resides. @@ -210,6 +215,17 @@ func (o LookupVolumeResultOutput) ServiceLevel() pulumi.StringOutput { return o.ApplyT(func(v LookupVolumeResult) string { return v.ServiceLevel }).(pulumi.StringOutput) } +// Limits enumeration of files and folders (that is, listing the contents) in SMB only to users with allowed access on the share. +// --- +func (o LookupVolumeResultOutput) SmbAccessBasedEnumerationEnabled() pulumi.BoolOutput { + return o.ApplyT(func(v LookupVolumeResult) bool { return v.SmbAccessBasedEnumerationEnabled }).(pulumi.BoolOutput) +} + +// Limits clients from browsing for an SMB share. +func (o LookupVolumeResultOutput) SmbNonBrowsableEnabled() pulumi.BoolOutput { + return o.ApplyT(func(v LookupVolumeResult) bool { return v.SmbNonBrowsableEnabled }).(pulumi.BoolOutput) +} + // The maximum Storage Quota in Gigabytes allowed for a file system. func (o LookupVolumeResultOutput) StorageQuotaInGb() pulumi.IntOutput { return o.ApplyT(func(v LookupVolumeResult) int { return v.StorageQuotaInGb }).(pulumi.IntOutput) diff --git a/sdk/go/azure/netapp/pool.go b/sdk/go/azure/netapp/pool.go index 0de519b202..81cb532ab7 100644 --- a/sdk/go/azure/netapp/pool.go +++ b/sdk/go/azure/netapp/pool.go @@ -73,6 +73,8 @@ type Pool struct { // The name of the NetApp account in which the NetApp Pool should be created. Changing this forces a new resource to be created. AccountName pulumi.StringOutput `pulumi:"accountName"` + // The encryption type of the pool. Valid values include `Single`, and `Double`. Defaults to `Single`. Changing this forces a new resource to be created. + EncryptionType pulumi.StringPtrOutput `pulumi:"encryptionType"` // Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created. Location pulumi.StringOutput `pulumi:"location"` // The name of the NetApp Pool. Changing this forces a new resource to be created. @@ -81,7 +83,7 @@ type Pool struct { QosType pulumi.StringOutput `pulumi:"qosType"` // The name of the resource group where the NetApp Pool should be created. Changing this forces a new resource to be created. ResourceGroupName pulumi.StringOutput `pulumi:"resourceGroupName"` - // The service level of the file system. Valid values include `Premium`, `Standard`, or `Ultra`. Changing this forces a new resource to be created. + // The service level of the file system. Valid values include `Premium`, `Standard`, and `Ultra`. Changing this forces a new resource to be created. ServiceLevel pulumi.StringOutput `pulumi:"serviceLevel"` // Provisioned size of the pool in TB. Value must be between `2` and `500`. // @@ -135,6 +137,8 @@ func GetPool(ctx *pulumi.Context, type poolState struct { // The name of the NetApp account in which the NetApp Pool should be created. Changing this forces a new resource to be created. AccountName *string `pulumi:"accountName"` + // The encryption type of the pool. Valid values include `Single`, and `Double`. Defaults to `Single`. Changing this forces a new resource to be created. + EncryptionType *string `pulumi:"encryptionType"` // Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created. Location *string `pulumi:"location"` // The name of the NetApp Pool. Changing this forces a new resource to be created. @@ -143,7 +147,7 @@ type poolState struct { QosType *string `pulumi:"qosType"` // The name of the resource group where the NetApp Pool should be created. Changing this forces a new resource to be created. ResourceGroupName *string `pulumi:"resourceGroupName"` - // The service level of the file system. Valid values include `Premium`, `Standard`, or `Ultra`. Changing this forces a new resource to be created. + // The service level of the file system. Valid values include `Premium`, `Standard`, and `Ultra`. Changing this forces a new resource to be created. ServiceLevel *string `pulumi:"serviceLevel"` // Provisioned size of the pool in TB. Value must be between `2` and `500`. // @@ -156,6 +160,8 @@ type poolState struct { type PoolState struct { // The name of the NetApp account in which the NetApp Pool should be created. Changing this forces a new resource to be created. AccountName pulumi.StringPtrInput + // The encryption type of the pool. Valid values include `Single`, and `Double`. Defaults to `Single`. Changing this forces a new resource to be created. + EncryptionType pulumi.StringPtrInput // Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created. Location pulumi.StringPtrInput // The name of the NetApp Pool. Changing this forces a new resource to be created. @@ -164,7 +170,7 @@ type PoolState struct { QosType pulumi.StringPtrInput // The name of the resource group where the NetApp Pool should be created. Changing this forces a new resource to be created. ResourceGroupName pulumi.StringPtrInput - // The service level of the file system. Valid values include `Premium`, `Standard`, or `Ultra`. Changing this forces a new resource to be created. + // The service level of the file system. Valid values include `Premium`, `Standard`, and `Ultra`. Changing this forces a new resource to be created. ServiceLevel pulumi.StringPtrInput // Provisioned size of the pool in TB. Value must be between `2` and `500`. // @@ -181,6 +187,8 @@ func (PoolState) ElementType() reflect.Type { type poolArgs struct { // The name of the NetApp account in which the NetApp Pool should be created. Changing this forces a new resource to be created. AccountName string `pulumi:"accountName"` + // The encryption type of the pool. Valid values include `Single`, and `Double`. Defaults to `Single`. Changing this forces a new resource to be created. + EncryptionType *string `pulumi:"encryptionType"` // Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created. Location *string `pulumi:"location"` // The name of the NetApp Pool. Changing this forces a new resource to be created. @@ -189,7 +197,7 @@ type poolArgs struct { QosType *string `pulumi:"qosType"` // The name of the resource group where the NetApp Pool should be created. Changing this forces a new resource to be created. ResourceGroupName string `pulumi:"resourceGroupName"` - // The service level of the file system. Valid values include `Premium`, `Standard`, or `Ultra`. Changing this forces a new resource to be created. + // The service level of the file system. Valid values include `Premium`, `Standard`, and `Ultra`. Changing this forces a new resource to be created. ServiceLevel string `pulumi:"serviceLevel"` // Provisioned size of the pool in TB. Value must be between `2` and `500`. // @@ -203,6 +211,8 @@ type poolArgs struct { type PoolArgs struct { // The name of the NetApp account in which the NetApp Pool should be created. Changing this forces a new resource to be created. AccountName pulumi.StringInput + // The encryption type of the pool. Valid values include `Single`, and `Double`. Defaults to `Single`. Changing this forces a new resource to be created. + EncryptionType pulumi.StringPtrInput // Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created. Location pulumi.StringPtrInput // The name of the NetApp Pool. Changing this forces a new resource to be created. @@ -211,7 +221,7 @@ type PoolArgs struct { QosType pulumi.StringPtrInput // The name of the resource group where the NetApp Pool should be created. Changing this forces a new resource to be created. ResourceGroupName pulumi.StringInput - // The service level of the file system. Valid values include `Premium`, `Standard`, or `Ultra`. Changing this forces a new resource to be created. + // The service level of the file system. Valid values include `Premium`, `Standard`, and `Ultra`. Changing this forces a new resource to be created. ServiceLevel pulumi.StringInput // Provisioned size of the pool in TB. Value must be between `2` and `500`. // @@ -313,6 +323,11 @@ func (o PoolOutput) AccountName() pulumi.StringOutput { return o.ApplyT(func(v *Pool) pulumi.StringOutput { return v.AccountName }).(pulumi.StringOutput) } +// The encryption type of the pool. Valid values include `Single`, and `Double`. Defaults to `Single`. Changing this forces a new resource to be created. +func (o PoolOutput) EncryptionType() pulumi.StringPtrOutput { + return o.ApplyT(func(v *Pool) pulumi.StringPtrOutput { return v.EncryptionType }).(pulumi.StringPtrOutput) +} + // Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created. func (o PoolOutput) Location() pulumi.StringOutput { return o.ApplyT(func(v *Pool) pulumi.StringOutput { return v.Location }).(pulumi.StringOutput) @@ -333,7 +348,7 @@ func (o PoolOutput) ResourceGroupName() pulumi.StringOutput { return o.ApplyT(func(v *Pool) pulumi.StringOutput { return v.ResourceGroupName }).(pulumi.StringOutput) } -// The service level of the file system. Valid values include `Premium`, `Standard`, or `Ultra`. Changing this forces a new resource to be created. +// The service level of the file system. Valid values include `Premium`, `Standard`, and `Ultra`. Changing this forces a new resource to be created. func (o PoolOutput) ServiceLevel() pulumi.StringOutput { return o.ApplyT(func(v *Pool) pulumi.StringOutput { return v.ServiceLevel }).(pulumi.StringOutput) } diff --git a/sdk/go/azure/netapp/volume.go b/sdk/go/azure/netapp/volume.go index 18a397c537..825bd4ccd3 100644 --- a/sdk/go/azure/netapp/volume.go +++ b/sdk/go/azure/netapp/volume.go @@ -56,6 +56,10 @@ type Volume struct { SecurityStyle pulumi.StringOutput `pulumi:"securityStyle"` // The target performance of the file system. Valid values include `Premium`, `Standard`, or `Ultra`. Changing this forces a new resource to be created. ServiceLevel pulumi.StringOutput `pulumi:"serviceLevel"` + // Limits enumeration of files and folders (that is, listing the contents) in SMB only to users with allowed access on the share. For instance, if a user doesn't have access to read a file or folder in a share with access-based enumeration enabled, then the file or folder doesn't show up in directory listings. Defaults to `false`. For more information, please refer to [Understand NAS share permissions in Azure NetApp Files](https://learn.microsoft.com/en-us/azure/azure-netapp-files/network-attached-storage-permissions#:~:text=security%20for%20administrators.-,Access%2Dbased%20enumeration,in%20an%20Azure%20NetApp%20Files%20SMB%20volume.%20Only%20contosoadmin%20has%20access.,-In%20the%20below) + SmbAccessBasedEnumerationEnabled pulumi.BoolPtrOutput `pulumi:"smbAccessBasedEnumerationEnabled"` + // Limits clients from browsing for an SMB share by hiding the share from view in Windows Explorer or when listing shares in "net view." Only end users that know the absolute paths to the share are able to find the share. Defaults to `false`. For more information, please refer to [Understand NAS share permissions in Azure NetApp Files](https://learn.microsoft.com/en-us/azure/azure-netapp-files/network-attached-storage-permissions#:~:text=Non%2Dbrowsable%20shares,find%20the%20share.) + SmbNonBrowsableEnabled pulumi.BoolPtrOutput `pulumi:"smbNonBrowsableEnabled"` // Specifies whether the .snapshot (NFS clients) or ~snapshot (SMB clients) path of a volume is visible, default value is true. SnapshotDirectoryVisible pulumi.BoolOutput `pulumi:"snapshotDirectoryVisible"` // The maximum Storage Quota allowed for a file system in Gigabytes. @@ -159,6 +163,10 @@ type volumeState struct { SecurityStyle *string `pulumi:"securityStyle"` // The target performance of the file system. Valid values include `Premium`, `Standard`, or `Ultra`. Changing this forces a new resource to be created. ServiceLevel *string `pulumi:"serviceLevel"` + // Limits enumeration of files and folders (that is, listing the contents) in SMB only to users with allowed access on the share. For instance, if a user doesn't have access to read a file or folder in a share with access-based enumeration enabled, then the file or folder doesn't show up in directory listings. Defaults to `false`. For more information, please refer to [Understand NAS share permissions in Azure NetApp Files](https://learn.microsoft.com/en-us/azure/azure-netapp-files/network-attached-storage-permissions#:~:text=security%20for%20administrators.-,Access%2Dbased%20enumeration,in%20an%20Azure%20NetApp%20Files%20SMB%20volume.%20Only%20contosoadmin%20has%20access.,-In%20the%20below) + SmbAccessBasedEnumerationEnabled *bool `pulumi:"smbAccessBasedEnumerationEnabled"` + // Limits clients from browsing for an SMB share by hiding the share from view in Windows Explorer or when listing shares in "net view." Only end users that know the absolute paths to the share are able to find the share. Defaults to `false`. For more information, please refer to [Understand NAS share permissions in Azure NetApp Files](https://learn.microsoft.com/en-us/azure/azure-netapp-files/network-attached-storage-permissions#:~:text=Non%2Dbrowsable%20shares,find%20the%20share.) + SmbNonBrowsableEnabled *bool `pulumi:"smbNonBrowsableEnabled"` // Specifies whether the .snapshot (NFS clients) or ~snapshot (SMB clients) path of a volume is visible, default value is true. SnapshotDirectoryVisible *bool `pulumi:"snapshotDirectoryVisible"` // The maximum Storage Quota allowed for a file system in Gigabytes. @@ -212,6 +220,10 @@ type VolumeState struct { SecurityStyle pulumi.StringPtrInput // The target performance of the file system. Valid values include `Premium`, `Standard`, or `Ultra`. Changing this forces a new resource to be created. ServiceLevel pulumi.StringPtrInput + // Limits enumeration of files and folders (that is, listing the contents) in SMB only to users with allowed access on the share. For instance, if a user doesn't have access to read a file or folder in a share with access-based enumeration enabled, then the file or folder doesn't show up in directory listings. Defaults to `false`. For more information, please refer to [Understand NAS share permissions in Azure NetApp Files](https://learn.microsoft.com/en-us/azure/azure-netapp-files/network-attached-storage-permissions#:~:text=security%20for%20administrators.-,Access%2Dbased%20enumeration,in%20an%20Azure%20NetApp%20Files%20SMB%20volume.%20Only%20contosoadmin%20has%20access.,-In%20the%20below) + SmbAccessBasedEnumerationEnabled pulumi.BoolPtrInput + // Limits clients from browsing for an SMB share by hiding the share from view in Windows Explorer or when listing shares in "net view." Only end users that know the absolute paths to the share are able to find the share. Defaults to `false`. For more information, please refer to [Understand NAS share permissions in Azure NetApp Files](https://learn.microsoft.com/en-us/azure/azure-netapp-files/network-attached-storage-permissions#:~:text=Non%2Dbrowsable%20shares,find%20the%20share.) + SmbNonBrowsableEnabled pulumi.BoolPtrInput // Specifies whether the .snapshot (NFS clients) or ~snapshot (SMB clients) path of a volume is visible, default value is true. SnapshotDirectoryVisible pulumi.BoolPtrInput // The maximum Storage Quota allowed for a file system in Gigabytes. @@ -267,6 +279,10 @@ type volumeArgs struct { SecurityStyle *string `pulumi:"securityStyle"` // The target performance of the file system. Valid values include `Premium`, `Standard`, or `Ultra`. Changing this forces a new resource to be created. ServiceLevel string `pulumi:"serviceLevel"` + // Limits enumeration of files and folders (that is, listing the contents) in SMB only to users with allowed access on the share. For instance, if a user doesn't have access to read a file or folder in a share with access-based enumeration enabled, then the file or folder doesn't show up in directory listings. Defaults to `false`. For more information, please refer to [Understand NAS share permissions in Azure NetApp Files](https://learn.microsoft.com/en-us/azure/azure-netapp-files/network-attached-storage-permissions#:~:text=security%20for%20administrators.-,Access%2Dbased%20enumeration,in%20an%20Azure%20NetApp%20Files%20SMB%20volume.%20Only%20contosoadmin%20has%20access.,-In%20the%20below) + SmbAccessBasedEnumerationEnabled *bool `pulumi:"smbAccessBasedEnumerationEnabled"` + // Limits clients from browsing for an SMB share by hiding the share from view in Windows Explorer or when listing shares in "net view." Only end users that know the absolute paths to the share are able to find the share. Defaults to `false`. For more information, please refer to [Understand NAS share permissions in Azure NetApp Files](https://learn.microsoft.com/en-us/azure/azure-netapp-files/network-attached-storage-permissions#:~:text=Non%2Dbrowsable%20shares,find%20the%20share.) + SmbNonBrowsableEnabled *bool `pulumi:"smbNonBrowsableEnabled"` // Specifies whether the .snapshot (NFS clients) or ~snapshot (SMB clients) path of a volume is visible, default value is true. SnapshotDirectoryVisible *bool `pulumi:"snapshotDirectoryVisible"` // The maximum Storage Quota allowed for a file system in Gigabytes. @@ -319,6 +335,10 @@ type VolumeArgs struct { SecurityStyle pulumi.StringPtrInput // The target performance of the file system. Valid values include `Premium`, `Standard`, or `Ultra`. Changing this forces a new resource to be created. ServiceLevel pulumi.StringInput + // Limits enumeration of files and folders (that is, listing the contents) in SMB only to users with allowed access on the share. For instance, if a user doesn't have access to read a file or folder in a share with access-based enumeration enabled, then the file or folder doesn't show up in directory listings. Defaults to `false`. For more information, please refer to [Understand NAS share permissions in Azure NetApp Files](https://learn.microsoft.com/en-us/azure/azure-netapp-files/network-attached-storage-permissions#:~:text=security%20for%20administrators.-,Access%2Dbased%20enumeration,in%20an%20Azure%20NetApp%20Files%20SMB%20volume.%20Only%20contosoadmin%20has%20access.,-In%20the%20below) + SmbAccessBasedEnumerationEnabled pulumi.BoolPtrInput + // Limits clients from browsing for an SMB share by hiding the share from view in Windows Explorer or when listing shares in "net view." Only end users that know the absolute paths to the share are able to find the share. Defaults to `false`. For more information, please refer to [Understand NAS share permissions in Azure NetApp Files](https://learn.microsoft.com/en-us/azure/azure-netapp-files/network-attached-storage-permissions#:~:text=Non%2Dbrowsable%20shares,find%20the%20share.) + SmbNonBrowsableEnabled pulumi.BoolPtrInput // Specifies whether the .snapshot (NFS clients) or ~snapshot (SMB clients) path of a volume is visible, default value is true. SnapshotDirectoryVisible pulumi.BoolPtrInput // The maximum Storage Quota allowed for a file system in Gigabytes. @@ -509,6 +529,16 @@ func (o VolumeOutput) ServiceLevel() pulumi.StringOutput { return o.ApplyT(func(v *Volume) pulumi.StringOutput { return v.ServiceLevel }).(pulumi.StringOutput) } +// Limits enumeration of files and folders (that is, listing the contents) in SMB only to users with allowed access on the share. For instance, if a user doesn't have access to read a file or folder in a share with access-based enumeration enabled, then the file or folder doesn't show up in directory listings. Defaults to `false`. For more information, please refer to [Understand NAS share permissions in Azure NetApp Files](https://learn.microsoft.com/en-us/azure/azure-netapp-files/network-attached-storage-permissions#:~:text=security%20for%20administrators.-,Access%2Dbased%20enumeration,in%20an%20Azure%20NetApp%20Files%20SMB%20volume.%20Only%20contosoadmin%20has%20access.,-In%20the%20below) +func (o VolumeOutput) SmbAccessBasedEnumerationEnabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *Volume) pulumi.BoolPtrOutput { return v.SmbAccessBasedEnumerationEnabled }).(pulumi.BoolPtrOutput) +} + +// Limits clients from browsing for an SMB share by hiding the share from view in Windows Explorer or when listing shares in "net view." Only end users that know the absolute paths to the share are able to find the share. Defaults to `false`. For more information, please refer to [Understand NAS share permissions in Azure NetApp Files](https://learn.microsoft.com/en-us/azure/azure-netapp-files/network-attached-storage-permissions#:~:text=Non%2Dbrowsable%20shares,find%20the%20share.) +func (o VolumeOutput) SmbNonBrowsableEnabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *Volume) pulumi.BoolPtrOutput { return v.SmbNonBrowsableEnabled }).(pulumi.BoolPtrOutput) +} + // Specifies whether the .snapshot (NFS clients) or ~snapshot (SMB clients) path of a volume is visible, default value is true. func (o VolumeOutput) SnapshotDirectoryVisible() pulumi.BoolOutput { return o.ApplyT(func(v *Volume) pulumi.BoolOutput { return v.SnapshotDirectoryVisible }).(pulumi.BoolOutput) diff --git a/sdk/go/azure/network/pulumiTypes.go b/sdk/go/azure/network/pulumiTypes.go index 0b19a29eba..c3023d22ac 100644 --- a/sdk/go/azure/network/pulumiTypes.go +++ b/sdk/go/azure/network/pulumiTypes.go @@ -2961,7 +2961,7 @@ type ApplicationGatewayRequestRoutingRule struct { Name string `pulumi:"name"` // Rule evaluation order can be dictated by specifying an integer value from `1` to `20000` with `1` being the highest priority and `20000` being the lowest priority. // - // > **NOTE:** `priority` is required when `sku.0.tier` is set to `*_v2`. + // > **NOTE:** `priority` is required when `sku[0].tier` is set to `*_v2`. Priority *int `pulumi:"priority"` // The ID of the associated Redirect Configuration. RedirectConfigurationId *string `pulumi:"redirectConfigurationId"` @@ -3011,7 +3011,7 @@ type ApplicationGatewayRequestRoutingRuleArgs struct { Name pulumi.StringInput `pulumi:"name"` // Rule evaluation order can be dictated by specifying an integer value from `1` to `20000` with `1` being the highest priority and `20000` being the lowest priority. // - // > **NOTE:** `priority` is required when `sku.0.tier` is set to `*_v2`. + // > **NOTE:** `priority` is required when `sku[0].tier` is set to `*_v2`. Priority pulumi.IntPtrInput `pulumi:"priority"` // The ID of the associated Redirect Configuration. RedirectConfigurationId pulumi.StringPtrInput `pulumi:"redirectConfigurationId"` @@ -3124,7 +3124,7 @@ func (o ApplicationGatewayRequestRoutingRuleOutput) Name() pulumi.StringOutput { // Rule evaluation order can be dictated by specifying an integer value from `1` to `20000` with `1` being the highest priority and `20000` being the lowest priority. // -// > **NOTE:** `priority` is required when `sku.0.tier` is set to `*_v2`. +// > **NOTE:** `priority` is required when `sku[0].tier` is set to `*_v2`. func (o ApplicationGatewayRequestRoutingRuleOutput) Priority() pulumi.IntPtrOutput { return o.ApplyT(func(v ApplicationGatewayRequestRoutingRule) *int { return v.Priority }).(pulumi.IntPtrOutput) } @@ -21135,7 +21135,7 @@ func (o VirtualNetworkGatewayCustomRoutePtrOutput) AddressPrefixes() pulumi.Stri type VirtualNetworkGatewayIpConfiguration struct { // A user-defined name of the IP configuration. Defaults to `vnetGatewayConfig`. Name *string `pulumi:"name"` - // Defines how the private IP address of the gateways virtual interface is assigned. Valid options are `Static` or `Dynamic`. Defaults to `Dynamic`. + // Defines how the private IP address of the gateways virtual interface is assigned. The only valid value is `Dynamic` for Virtual Network Gateway (`Static` is not supported by the service yet). Defaults to `Dynamic`. PrivateIpAddressAllocation *string `pulumi:"privateIpAddressAllocation"` // The ID of the public IP address to associate with the Virtual Network Gateway. PublicIpAddressId string `pulumi:"publicIpAddressId"` @@ -21157,7 +21157,7 @@ type VirtualNetworkGatewayIpConfigurationInput interface { type VirtualNetworkGatewayIpConfigurationArgs struct { // A user-defined name of the IP configuration. Defaults to `vnetGatewayConfig`. Name pulumi.StringPtrInput `pulumi:"name"` - // Defines how the private IP address of the gateways virtual interface is assigned. Valid options are `Static` or `Dynamic`. Defaults to `Dynamic`. + // Defines how the private IP address of the gateways virtual interface is assigned. The only valid value is `Dynamic` for Virtual Network Gateway (`Static` is not supported by the service yet). Defaults to `Dynamic`. PrivateIpAddressAllocation pulumi.StringPtrInput `pulumi:"privateIpAddressAllocation"` // The ID of the public IP address to associate with the Virtual Network Gateway. PublicIpAddressId pulumi.StringInput `pulumi:"publicIpAddressId"` @@ -21221,7 +21221,7 @@ func (o VirtualNetworkGatewayIpConfigurationOutput) Name() pulumi.StringPtrOutpu return o.ApplyT(func(v VirtualNetworkGatewayIpConfiguration) *string { return v.Name }).(pulumi.StringPtrOutput) } -// Defines how the private IP address of the gateways virtual interface is assigned. Valid options are `Static` or `Dynamic`. Defaults to `Dynamic`. +// Defines how the private IP address of the gateways virtual interface is assigned. The only valid value is `Dynamic` for Virtual Network Gateway (`Static` is not supported by the service yet). Defaults to `Dynamic`. func (o VirtualNetworkGatewayIpConfigurationOutput) PrivateIpAddressAllocation() pulumi.StringPtrOutput { return o.ApplyT(func(v VirtualNetworkGatewayIpConfiguration) *string { return v.PrivateIpAddressAllocation }).(pulumi.StringPtrOutput) } diff --git a/sdk/go/azure/nginx/deployment.go b/sdk/go/azure/nginx/deployment.go index 148b8ce8f9..bcc89aff48 100644 --- a/sdk/go/azure/nginx/deployment.go +++ b/sdk/go/azure/nginx/deployment.go @@ -84,12 +84,13 @@ import ( // return err // } // _, err = nginx.NewDeployment(ctx, "example", &nginx.DeploymentArgs{ -// Name: pulumi.String("example-nginx"), -// ResourceGroupName: example.Name, -// Sku: pulumi.String("publicpreview_Monthly_gmz7xq9ge3py"), -// Location: example.Location, -// ManagedResourceGroup: pulumi.String("example"), -// DiagnoseSupportEnabled: pulumi.Bool(true), +// Name: pulumi.String("example-nginx"), +// ResourceGroupName: example.Name, +// Sku: pulumi.String("publicpreview_Monthly_gmz7xq9ge3py"), +// Location: example.Location, +// ManagedResourceGroup: pulumi.String("example"), +// DiagnoseSupportEnabled: pulumi.Bool(true), +// AutomaticUpgradeChannel: pulumi.String("stable"), // FrontendPublic: &nginx.DeploymentFrontendPublicArgs{ // IpAddresses: pulumi.StringArray{ // examplePublicIp.ID(), @@ -122,6 +123,8 @@ import ( type Deployment struct { pulumi.CustomResourceState + // Specify the automatic upgrade channel for the NGINX deployment. Defaults to `stable`. The possible values are `stable` and `preview`. + AutomaticUpgradeChannel pulumi.StringPtrOutput `pulumi:"automaticUpgradeChannel"` // Specify the number of NGINX capacity units for this NGINX deployment. Defaults to `20`. // // > **Note** For more information on NGINX capacity units, please refer to the [NGINX scaling guidance documentation](https://docs.nginx.com/nginxaas/azure/quickstart/scaling/) @@ -152,7 +155,7 @@ type Deployment struct { NginxVersion pulumi.StringOutput `pulumi:"nginxVersion"` // The name of the Resource Group where the Nginx Deployment should exist. Changing this forces a new Nginx Deployment to be created. ResourceGroupName pulumi.StringOutput `pulumi:"resourceGroupName"` - // Specify the Name of Nginx deployment SKU. The possible value are `publicpreview_Monthly_gmz7xq9ge3py` and `standard_Monthly`. + // Specify the Name of Nginx deployment SKU. The possible value are `publicpreview_Monthly_gmz7xq9ge3py` and `standard_Monthly`. Changing this forces a new Nginx Deployment to be created. Sku pulumi.StringOutput `pulumi:"sku"` // A mapping of tags which should be assigned to the Nginx Deployment. Tags pulumi.StringMapOutput `pulumi:"tags"` @@ -194,6 +197,8 @@ func GetDeployment(ctx *pulumi.Context, // Input properties used for looking up and filtering Deployment resources. type deploymentState struct { + // Specify the automatic upgrade channel for the NGINX deployment. Defaults to `stable`. The possible values are `stable` and `preview`. + AutomaticUpgradeChannel *string `pulumi:"automaticUpgradeChannel"` // Specify the number of NGINX capacity units for this NGINX deployment. Defaults to `20`. // // > **Note** For more information on NGINX capacity units, please refer to the [NGINX scaling guidance documentation](https://docs.nginx.com/nginxaas/azure/quickstart/scaling/) @@ -224,13 +229,15 @@ type deploymentState struct { NginxVersion *string `pulumi:"nginxVersion"` // The name of the Resource Group where the Nginx Deployment should exist. Changing this forces a new Nginx Deployment to be created. ResourceGroupName *string `pulumi:"resourceGroupName"` - // Specify the Name of Nginx deployment SKU. The possible value are `publicpreview_Monthly_gmz7xq9ge3py` and `standard_Monthly`. + // Specify the Name of Nginx deployment SKU. The possible value are `publicpreview_Monthly_gmz7xq9ge3py` and `standard_Monthly`. Changing this forces a new Nginx Deployment to be created. Sku *string `pulumi:"sku"` // A mapping of tags which should be assigned to the Nginx Deployment. Tags map[string]string `pulumi:"tags"` } type DeploymentState struct { + // Specify the automatic upgrade channel for the NGINX deployment. Defaults to `stable`. The possible values are `stable` and `preview`. + AutomaticUpgradeChannel pulumi.StringPtrInput // Specify the number of NGINX capacity units for this NGINX deployment. Defaults to `20`. // // > **Note** For more information on NGINX capacity units, please refer to the [NGINX scaling guidance documentation](https://docs.nginx.com/nginxaas/azure/quickstart/scaling/) @@ -261,7 +268,7 @@ type DeploymentState struct { NginxVersion pulumi.StringPtrInput // The name of the Resource Group where the Nginx Deployment should exist. Changing this forces a new Nginx Deployment to be created. ResourceGroupName pulumi.StringPtrInput - // Specify the Name of Nginx deployment SKU. The possible value are `publicpreview_Monthly_gmz7xq9ge3py` and `standard_Monthly`. + // Specify the Name of Nginx deployment SKU. The possible value are `publicpreview_Monthly_gmz7xq9ge3py` and `standard_Monthly`. Changing this forces a new Nginx Deployment to be created. Sku pulumi.StringPtrInput // A mapping of tags which should be assigned to the Nginx Deployment. Tags pulumi.StringMapInput @@ -272,6 +279,8 @@ func (DeploymentState) ElementType() reflect.Type { } type deploymentArgs struct { + // Specify the automatic upgrade channel for the NGINX deployment. Defaults to `stable`. The possible values are `stable` and `preview`. + AutomaticUpgradeChannel *string `pulumi:"automaticUpgradeChannel"` // Specify the number of NGINX capacity units for this NGINX deployment. Defaults to `20`. // // > **Note** For more information on NGINX capacity units, please refer to the [NGINX scaling guidance documentation](https://docs.nginx.com/nginxaas/azure/quickstart/scaling/) @@ -298,7 +307,7 @@ type deploymentArgs struct { NetworkInterfaces []DeploymentNetworkInterface `pulumi:"networkInterfaces"` // The name of the Resource Group where the Nginx Deployment should exist. Changing this forces a new Nginx Deployment to be created. ResourceGroupName string `pulumi:"resourceGroupName"` - // Specify the Name of Nginx deployment SKU. The possible value are `publicpreview_Monthly_gmz7xq9ge3py` and `standard_Monthly`. + // Specify the Name of Nginx deployment SKU. The possible value are `publicpreview_Monthly_gmz7xq9ge3py` and `standard_Monthly`. Changing this forces a new Nginx Deployment to be created. Sku string `pulumi:"sku"` // A mapping of tags which should be assigned to the Nginx Deployment. Tags map[string]string `pulumi:"tags"` @@ -306,6 +315,8 @@ type deploymentArgs struct { // The set of arguments for constructing a Deployment resource. type DeploymentArgs struct { + // Specify the automatic upgrade channel for the NGINX deployment. Defaults to `stable`. The possible values are `stable` and `preview`. + AutomaticUpgradeChannel pulumi.StringPtrInput // Specify the number of NGINX capacity units for this NGINX deployment. Defaults to `20`. // // > **Note** For more information on NGINX capacity units, please refer to the [NGINX scaling guidance documentation](https://docs.nginx.com/nginxaas/azure/quickstart/scaling/) @@ -332,7 +343,7 @@ type DeploymentArgs struct { NetworkInterfaces DeploymentNetworkInterfaceArrayInput // The name of the Resource Group where the Nginx Deployment should exist. Changing this forces a new Nginx Deployment to be created. ResourceGroupName pulumi.StringInput - // Specify the Name of Nginx deployment SKU. The possible value are `publicpreview_Monthly_gmz7xq9ge3py` and `standard_Monthly`. + // Specify the Name of Nginx deployment SKU. The possible value are `publicpreview_Monthly_gmz7xq9ge3py` and `standard_Monthly`. Changing this forces a new Nginx Deployment to be created. Sku pulumi.StringInput // A mapping of tags which should be assigned to the Nginx Deployment. Tags pulumi.StringMapInput @@ -425,6 +436,11 @@ func (o DeploymentOutput) ToDeploymentOutputWithContext(ctx context.Context) Dep return o } +// Specify the automatic upgrade channel for the NGINX deployment. Defaults to `stable`. The possible values are `stable` and `preview`. +func (o DeploymentOutput) AutomaticUpgradeChannel() pulumi.StringPtrOutput { + return o.ApplyT(func(v *Deployment) pulumi.StringPtrOutput { return v.AutomaticUpgradeChannel }).(pulumi.StringPtrOutput) +} + // Specify the number of NGINX capacity units for this NGINX deployment. Defaults to `20`. // // > **Note** For more information on NGINX capacity units, please refer to the [NGINX scaling guidance documentation](https://docs.nginx.com/nginxaas/azure/quickstart/scaling/) @@ -497,7 +513,7 @@ func (o DeploymentOutput) ResourceGroupName() pulumi.StringOutput { return o.ApplyT(func(v *Deployment) pulumi.StringOutput { return v.ResourceGroupName }).(pulumi.StringOutput) } -// Specify the Name of Nginx deployment SKU. The possible value are `publicpreview_Monthly_gmz7xq9ge3py` and `standard_Monthly`. +// Specify the Name of Nginx deployment SKU. The possible value are `publicpreview_Monthly_gmz7xq9ge3py` and `standard_Monthly`. Changing this forces a new Nginx Deployment to be created. func (o DeploymentOutput) Sku() pulumi.StringOutput { return o.ApplyT(func(v *Deployment) pulumi.StringOutput { return v.Sku }).(pulumi.StringOutput) } diff --git a/sdk/go/azure/nginx/getDeployment.go b/sdk/go/azure/nginx/getDeployment.go index 82c3026177..231fb17282 100644 --- a/sdk/go/azure/nginx/getDeployment.go +++ b/sdk/go/azure/nginx/getDeployment.go @@ -60,6 +60,8 @@ type LookupDeploymentArgs struct { // A collection of values returned by getDeployment. type LookupDeploymentResult struct { + // The automatic upgrade channel for this NGINX deployment. + AutomaticUpgradeChannel string `pulumi:"automaticUpgradeChannel"` // The number of NGINX capacity units for this Nginx Deployment. Capacity int `pulumi:"capacity"` // Whether diagnostic settings are enabled. @@ -135,6 +137,11 @@ func (o LookupDeploymentResultOutput) ToLookupDeploymentResultOutputWithContext( return o } +// The automatic upgrade channel for this NGINX deployment. +func (o LookupDeploymentResultOutput) AutomaticUpgradeChannel() pulumi.StringOutput { + return o.ApplyT(func(v LookupDeploymentResult) string { return v.AutomaticUpgradeChannel }).(pulumi.StringOutput) +} + // The number of NGINX capacity units for this Nginx Deployment. func (o LookupDeploymentResultOutput) Capacity() pulumi.IntOutput { return o.ApplyT(func(v LookupDeploymentResult) int { return v.Capacity }).(pulumi.IntOutput) diff --git a/sdk/go/azure/paloalto/pulumiTypes.go b/sdk/go/azure/paloalto/pulumiTypes.go index adfcbcbde2..97defd1c77 100644 --- a/sdk/go/azure/paloalto/pulumiTypes.go +++ b/sdk/go/azure/paloalto/pulumiTypes.go @@ -2904,9 +2904,9 @@ func (o NextGenerationFirewallVirtualNetworkLocalRulestackDestinationNatFrontend type NextGenerationFirewallVirtualNetworkLocalRulestackDnsSettings struct { AzureDnsServers []string `pulumi:"azureDnsServers"` - // Specifies a list of DNS servers to use. Conflicts with `dns_settings.0.use_azure_dns`. + // Specifies a list of DNS servers to use. Conflicts with `dns_settings[0].use_azure_dns`. DnsServers []string `pulumi:"dnsServers"` - // Should the Firewall use Azure Supplied DNS servers. Conflicts with `dns_settings.0.dns_servers`. Defaults to `false`. + // Should the Firewall use Azure Supplied DNS servers. Conflicts with `dns_settings[0].dns_servers`. Defaults to `false`. UseAzureDns *bool `pulumi:"useAzureDns"` } @@ -2923,9 +2923,9 @@ type NextGenerationFirewallVirtualNetworkLocalRulestackDnsSettingsInput interfac type NextGenerationFirewallVirtualNetworkLocalRulestackDnsSettingsArgs struct { AzureDnsServers pulumi.StringArrayInput `pulumi:"azureDnsServers"` - // Specifies a list of DNS servers to use. Conflicts with `dns_settings.0.use_azure_dns`. + // Specifies a list of DNS servers to use. Conflicts with `dns_settings[0].use_azure_dns`. DnsServers pulumi.StringArrayInput `pulumi:"dnsServers"` - // Should the Firewall use Azure Supplied DNS servers. Conflicts with `dns_settings.0.dns_servers`. Defaults to `false`. + // Should the Firewall use Azure Supplied DNS servers. Conflicts with `dns_settings[0].dns_servers`. Defaults to `false`. UseAzureDns pulumi.BoolPtrInput `pulumi:"useAzureDns"` } @@ -3012,12 +3012,12 @@ func (o NextGenerationFirewallVirtualNetworkLocalRulestackDnsSettingsOutput) Azu }).(pulumi.StringArrayOutput) } -// Specifies a list of DNS servers to use. Conflicts with `dns_settings.0.use_azure_dns`. +// Specifies a list of DNS servers to use. Conflicts with `dns_settings[0].use_azure_dns`. func (o NextGenerationFirewallVirtualNetworkLocalRulestackDnsSettingsOutput) DnsServers() pulumi.StringArrayOutput { return o.ApplyT(func(v NextGenerationFirewallVirtualNetworkLocalRulestackDnsSettings) []string { return v.DnsServers }).(pulumi.StringArrayOutput) } -// Should the Firewall use Azure Supplied DNS servers. Conflicts with `dns_settings.0.dns_servers`. Defaults to `false`. +// Should the Firewall use Azure Supplied DNS servers. Conflicts with `dns_settings[0].dns_servers`. Defaults to `false`. func (o NextGenerationFirewallVirtualNetworkLocalRulestackDnsSettingsOutput) UseAzureDns() pulumi.BoolPtrOutput { return o.ApplyT(func(v NextGenerationFirewallVirtualNetworkLocalRulestackDnsSettings) *bool { return v.UseAzureDns }).(pulumi.BoolPtrOutput) } @@ -3055,7 +3055,7 @@ func (o NextGenerationFirewallVirtualNetworkLocalRulestackDnsSettingsPtrOutput) }).(pulumi.StringArrayOutput) } -// Specifies a list of DNS servers to use. Conflicts with `dns_settings.0.use_azure_dns`. +// Specifies a list of DNS servers to use. Conflicts with `dns_settings[0].use_azure_dns`. func (o NextGenerationFirewallVirtualNetworkLocalRulestackDnsSettingsPtrOutput) DnsServers() pulumi.StringArrayOutput { return o.ApplyT(func(v *NextGenerationFirewallVirtualNetworkLocalRulestackDnsSettings) []string { if v == nil { @@ -3065,7 +3065,7 @@ func (o NextGenerationFirewallVirtualNetworkLocalRulestackDnsSettingsPtrOutput) }).(pulumi.StringArrayOutput) } -// Should the Firewall use Azure Supplied DNS servers. Conflicts with `dns_settings.0.dns_servers`. Defaults to `false`. +// Should the Firewall use Azure Supplied DNS servers. Conflicts with `dns_settings[0].dns_servers`. Defaults to `false`. func (o NextGenerationFirewallVirtualNetworkLocalRulestackDnsSettingsPtrOutput) UseAzureDns() pulumi.BoolPtrOutput { return o.ApplyT(func(v *NextGenerationFirewallVirtualNetworkLocalRulestackDnsSettings) *bool { if v == nil { @@ -3963,9 +3963,9 @@ func (o NextGenerationFirewallVirtualNetworkPanoramaDestinationNatFrontendConfig type NextGenerationFirewallVirtualNetworkPanoramaDnsSettings struct { AzureDnsServers []string `pulumi:"azureDnsServers"` - // Specifies a list of DNS servers to use. Conflicts with `dns_settings.0.use_azure_dns`. + // Specifies a list of DNS servers to use. Conflicts with `dns_settings[0].use_azure_dns`. DnsServers []string `pulumi:"dnsServers"` - // Should the Firewall use Azure Supplied DNS servers. Conflicts with `dns_settings.0.dns_servers`. Defaults to `false`. + // Should the Firewall use Azure Supplied DNS servers. Conflicts with `dns_settings[0].dns_servers`. Defaults to `false`. UseAzureDns *bool `pulumi:"useAzureDns"` } @@ -3982,9 +3982,9 @@ type NextGenerationFirewallVirtualNetworkPanoramaDnsSettingsInput interface { type NextGenerationFirewallVirtualNetworkPanoramaDnsSettingsArgs struct { AzureDnsServers pulumi.StringArrayInput `pulumi:"azureDnsServers"` - // Specifies a list of DNS servers to use. Conflicts with `dns_settings.0.use_azure_dns`. + // Specifies a list of DNS servers to use. Conflicts with `dns_settings[0].use_azure_dns`. DnsServers pulumi.StringArrayInput `pulumi:"dnsServers"` - // Should the Firewall use Azure Supplied DNS servers. Conflicts with `dns_settings.0.dns_servers`. Defaults to `false`. + // Should the Firewall use Azure Supplied DNS servers. Conflicts with `dns_settings[0].dns_servers`. Defaults to `false`. UseAzureDns pulumi.BoolPtrInput `pulumi:"useAzureDns"` } @@ -4069,12 +4069,12 @@ func (o NextGenerationFirewallVirtualNetworkPanoramaDnsSettingsOutput) AzureDnsS return o.ApplyT(func(v NextGenerationFirewallVirtualNetworkPanoramaDnsSettings) []string { return v.AzureDnsServers }).(pulumi.StringArrayOutput) } -// Specifies a list of DNS servers to use. Conflicts with `dns_settings.0.use_azure_dns`. +// Specifies a list of DNS servers to use. Conflicts with `dns_settings[0].use_azure_dns`. func (o NextGenerationFirewallVirtualNetworkPanoramaDnsSettingsOutput) DnsServers() pulumi.StringArrayOutput { return o.ApplyT(func(v NextGenerationFirewallVirtualNetworkPanoramaDnsSettings) []string { return v.DnsServers }).(pulumi.StringArrayOutput) } -// Should the Firewall use Azure Supplied DNS servers. Conflicts with `dns_settings.0.dns_servers`. Defaults to `false`. +// Should the Firewall use Azure Supplied DNS servers. Conflicts with `dns_settings[0].dns_servers`. Defaults to `false`. func (o NextGenerationFirewallVirtualNetworkPanoramaDnsSettingsOutput) UseAzureDns() pulumi.BoolPtrOutput { return o.ApplyT(func(v NextGenerationFirewallVirtualNetworkPanoramaDnsSettings) *bool { return v.UseAzureDns }).(pulumi.BoolPtrOutput) } @@ -4112,7 +4112,7 @@ func (o NextGenerationFirewallVirtualNetworkPanoramaDnsSettingsPtrOutput) AzureD }).(pulumi.StringArrayOutput) } -// Specifies a list of DNS servers to use. Conflicts with `dns_settings.0.use_azure_dns`. +// Specifies a list of DNS servers to use. Conflicts with `dns_settings[0].use_azure_dns`. func (o NextGenerationFirewallVirtualNetworkPanoramaDnsSettingsPtrOutput) DnsServers() pulumi.StringArrayOutput { return o.ApplyT(func(v *NextGenerationFirewallVirtualNetworkPanoramaDnsSettings) []string { if v == nil { @@ -4122,7 +4122,7 @@ func (o NextGenerationFirewallVirtualNetworkPanoramaDnsSettingsPtrOutput) DnsSer }).(pulumi.StringArrayOutput) } -// Should the Firewall use Azure Supplied DNS servers. Conflicts with `dns_settings.0.dns_servers`. Defaults to `false`. +// Should the Firewall use Azure Supplied DNS servers. Conflicts with `dns_settings[0].dns_servers`. Defaults to `false`. func (o NextGenerationFirewallVirtualNetworkPanoramaDnsSettingsPtrOutput) UseAzureDns() pulumi.BoolPtrOutput { return o.ApplyT(func(v *NextGenerationFirewallVirtualNetworkPanoramaDnsSettings) *bool { if v == nil { diff --git a/sdk/go/azure/pim/pulumiTypes.go b/sdk/go/azure/pim/pulumiTypes.go index 23048fa964..3ad94d9e7e 100644 --- a/sdk/go/azure/pim/pulumiTypes.go +++ b/sdk/go/azure/pim/pulumiTypes.go @@ -170,11 +170,11 @@ func (o ActiveRoleAssignmentSchedulePtrOutput) StartDateTime() pulumi.StringPtrO } type ActiveRoleAssignmentScheduleExpiration struct { - // The duration of the role assignment in days. Conflicts with `schedule.0.expiration.0.duration_hours`,`schedule.0.expiration.0.end_date_time` Changing this forces a new Pim Active Role Assignment to be created. + // The duration of the role assignment in days. Conflicts with `schedule[0].expiration[0].duration_hours`,`schedule[0].expiration[0].end_date_time` Changing this forces a new Pim Active Role Assignment to be created. DurationDays *int `pulumi:"durationDays"` - // The duration of the role assignment in hours. Conflicts with `schedule.0.expiration.0.duration_days`,`schedule.0.expiration.0.end_date_time` Changing this forces a new Pim Active Role Assignment to be created. + // The duration of the role assignment in hours. Conflicts with `schedule[0].expiration[0].duration_days`,`schedule[0].expiration[0].end_date_time` Changing this forces a new Pim Active Role Assignment to be created. DurationHours *int `pulumi:"durationHours"` - // The end date time of the role assignment. Conflicts with `schedule.0.expiration.0.duration_days`,`schedule.0.expiration.0.duration_hours` Changing this forces a new Pim Active Role Assignment to be created. + // The end date time of the role assignment. Conflicts with `schedule[0].expiration[0].duration_days`,`schedule[0].expiration[0].duration_hours` Changing this forces a new Pim Active Role Assignment to be created. EndDateTime *string `pulumi:"endDateTime"` } @@ -190,11 +190,11 @@ type ActiveRoleAssignmentScheduleExpirationInput interface { } type ActiveRoleAssignmentScheduleExpirationArgs struct { - // The duration of the role assignment in days. Conflicts with `schedule.0.expiration.0.duration_hours`,`schedule.0.expiration.0.end_date_time` Changing this forces a new Pim Active Role Assignment to be created. + // The duration of the role assignment in days. Conflicts with `schedule[0].expiration[0].duration_hours`,`schedule[0].expiration[0].end_date_time` Changing this forces a new Pim Active Role Assignment to be created. DurationDays pulumi.IntPtrInput `pulumi:"durationDays"` - // The duration of the role assignment in hours. Conflicts with `schedule.0.expiration.0.duration_days`,`schedule.0.expiration.0.end_date_time` Changing this forces a new Pim Active Role Assignment to be created. + // The duration of the role assignment in hours. Conflicts with `schedule[0].expiration[0].duration_days`,`schedule[0].expiration[0].end_date_time` Changing this forces a new Pim Active Role Assignment to be created. DurationHours pulumi.IntPtrInput `pulumi:"durationHours"` - // The end date time of the role assignment. Conflicts with `schedule.0.expiration.0.duration_days`,`schedule.0.expiration.0.duration_hours` Changing this forces a new Pim Active Role Assignment to be created. + // The end date time of the role assignment. Conflicts with `schedule[0].expiration[0].duration_days`,`schedule[0].expiration[0].duration_hours` Changing this forces a new Pim Active Role Assignment to be created. EndDateTime pulumi.StringPtrInput `pulumi:"endDateTime"` } @@ -275,17 +275,17 @@ func (o ActiveRoleAssignmentScheduleExpirationOutput) ToActiveRoleAssignmentSche }).(ActiveRoleAssignmentScheduleExpirationPtrOutput) } -// The duration of the role assignment in days. Conflicts with `schedule.0.expiration.0.duration_hours`,`schedule.0.expiration.0.end_date_time` Changing this forces a new Pim Active Role Assignment to be created. +// The duration of the role assignment in days. Conflicts with `schedule[0].expiration[0].duration_hours`,`schedule[0].expiration[0].end_date_time` Changing this forces a new Pim Active Role Assignment to be created. func (o ActiveRoleAssignmentScheduleExpirationOutput) DurationDays() pulumi.IntPtrOutput { return o.ApplyT(func(v ActiveRoleAssignmentScheduleExpiration) *int { return v.DurationDays }).(pulumi.IntPtrOutput) } -// The duration of the role assignment in hours. Conflicts with `schedule.0.expiration.0.duration_days`,`schedule.0.expiration.0.end_date_time` Changing this forces a new Pim Active Role Assignment to be created. +// The duration of the role assignment in hours. Conflicts with `schedule[0].expiration[0].duration_days`,`schedule[0].expiration[0].end_date_time` Changing this forces a new Pim Active Role Assignment to be created. func (o ActiveRoleAssignmentScheduleExpirationOutput) DurationHours() pulumi.IntPtrOutput { return o.ApplyT(func(v ActiveRoleAssignmentScheduleExpiration) *int { return v.DurationHours }).(pulumi.IntPtrOutput) } -// The end date time of the role assignment. Conflicts with `schedule.0.expiration.0.duration_days`,`schedule.0.expiration.0.duration_hours` Changing this forces a new Pim Active Role Assignment to be created. +// The end date time of the role assignment. Conflicts with `schedule[0].expiration[0].duration_days`,`schedule[0].expiration[0].duration_hours` Changing this forces a new Pim Active Role Assignment to be created. func (o ActiveRoleAssignmentScheduleExpirationOutput) EndDateTime() pulumi.StringPtrOutput { return o.ApplyT(func(v ActiveRoleAssignmentScheduleExpiration) *string { return v.EndDateTime }).(pulumi.StringPtrOutput) } @@ -314,7 +314,7 @@ func (o ActiveRoleAssignmentScheduleExpirationPtrOutput) Elem() ActiveRoleAssign }).(ActiveRoleAssignmentScheduleExpirationOutput) } -// The duration of the role assignment in days. Conflicts with `schedule.0.expiration.0.duration_hours`,`schedule.0.expiration.0.end_date_time` Changing this forces a new Pim Active Role Assignment to be created. +// The duration of the role assignment in days. Conflicts with `schedule[0].expiration[0].duration_hours`,`schedule[0].expiration[0].end_date_time` Changing this forces a new Pim Active Role Assignment to be created. func (o ActiveRoleAssignmentScheduleExpirationPtrOutput) DurationDays() pulumi.IntPtrOutput { return o.ApplyT(func(v *ActiveRoleAssignmentScheduleExpiration) *int { if v == nil { @@ -324,7 +324,7 @@ func (o ActiveRoleAssignmentScheduleExpirationPtrOutput) DurationDays() pulumi.I }).(pulumi.IntPtrOutput) } -// The duration of the role assignment in hours. Conflicts with `schedule.0.expiration.0.duration_days`,`schedule.0.expiration.0.end_date_time` Changing this forces a new Pim Active Role Assignment to be created. +// The duration of the role assignment in hours. Conflicts with `schedule[0].expiration[0].duration_days`,`schedule[0].expiration[0].end_date_time` Changing this forces a new Pim Active Role Assignment to be created. func (o ActiveRoleAssignmentScheduleExpirationPtrOutput) DurationHours() pulumi.IntPtrOutput { return o.ApplyT(func(v *ActiveRoleAssignmentScheduleExpiration) *int { if v == nil { @@ -334,7 +334,7 @@ func (o ActiveRoleAssignmentScheduleExpirationPtrOutput) DurationHours() pulumi. }).(pulumi.IntPtrOutput) } -// The end date time of the role assignment. Conflicts with `schedule.0.expiration.0.duration_days`,`schedule.0.expiration.0.duration_hours` Changing this forces a new Pim Active Role Assignment to be created. +// The end date time of the role assignment. Conflicts with `schedule[0].expiration[0].duration_days`,`schedule[0].expiration[0].duration_hours` Changing this forces a new Pim Active Role Assignment to be created. func (o ActiveRoleAssignmentScheduleExpirationPtrOutput) EndDateTime() pulumi.StringPtrOutput { return o.ApplyT(func(v *ActiveRoleAssignmentScheduleExpiration) *string { if v == nil { @@ -657,11 +657,11 @@ func (o EligibleRoleAssignmentSchedulePtrOutput) StartDateTime() pulumi.StringPt } type EligibleRoleAssignmentScheduleExpiration struct { - // The duration of the role assignment in days. Conflicts with `schedule.0.expiration.0.duration_hours`,`schedule.0.expiration.0.end_date_time` Changing this forces a new Pim Eligible Role Assignment to be created. + // The duration of the role assignment in days. Conflicts with `schedule[0].expiration[0].duration_hours`,`schedule[0].expiration[0].end_date_time` Changing this forces a new Pim Eligible Role Assignment to be created. DurationDays *int `pulumi:"durationDays"` - // The duration of the role assignment in hours. Conflicts with `schedule.0.expiration.0.duration_days`,`schedule.0.expiration.0.end_date_time` Changing this forces a new Pim Eligible Role Assignment to be created. + // The duration of the role assignment in hours. Conflicts with `schedule[0].expiration[0].duration_days`,`schedule[0].expiration[0].end_date_time` Changing this forces a new Pim Eligible Role Assignment to be created. DurationHours *int `pulumi:"durationHours"` - // The end date time of the role assignment. Conflicts with `schedule.0.expiration.0.duration_days`,`schedule.0.expiration.0.duration_hours` Changing this forces a new Pim Eligible Role Assignment to be created. + // The end date time of the role assignment. Conflicts with `schedule[0].expiration[0].duration_days`,`schedule[0].expiration[0].duration_hours` Changing this forces a new Pim Eligible Role Assignment to be created. EndDateTime *string `pulumi:"endDateTime"` } @@ -677,11 +677,11 @@ type EligibleRoleAssignmentScheduleExpirationInput interface { } type EligibleRoleAssignmentScheduleExpirationArgs struct { - // The duration of the role assignment in days. Conflicts with `schedule.0.expiration.0.duration_hours`,`schedule.0.expiration.0.end_date_time` Changing this forces a new Pim Eligible Role Assignment to be created. + // The duration of the role assignment in days. Conflicts with `schedule[0].expiration[0].duration_hours`,`schedule[0].expiration[0].end_date_time` Changing this forces a new Pim Eligible Role Assignment to be created. DurationDays pulumi.IntPtrInput `pulumi:"durationDays"` - // The duration of the role assignment in hours. Conflicts with `schedule.0.expiration.0.duration_days`,`schedule.0.expiration.0.end_date_time` Changing this forces a new Pim Eligible Role Assignment to be created. + // The duration of the role assignment in hours. Conflicts with `schedule[0].expiration[0].duration_days`,`schedule[0].expiration[0].end_date_time` Changing this forces a new Pim Eligible Role Assignment to be created. DurationHours pulumi.IntPtrInput `pulumi:"durationHours"` - // The end date time of the role assignment. Conflicts with `schedule.0.expiration.0.duration_days`,`schedule.0.expiration.0.duration_hours` Changing this forces a new Pim Eligible Role Assignment to be created. + // The end date time of the role assignment. Conflicts with `schedule[0].expiration[0].duration_days`,`schedule[0].expiration[0].duration_hours` Changing this forces a new Pim Eligible Role Assignment to be created. EndDateTime pulumi.StringPtrInput `pulumi:"endDateTime"` } @@ -762,17 +762,17 @@ func (o EligibleRoleAssignmentScheduleExpirationOutput) ToEligibleRoleAssignment }).(EligibleRoleAssignmentScheduleExpirationPtrOutput) } -// The duration of the role assignment in days. Conflicts with `schedule.0.expiration.0.duration_hours`,`schedule.0.expiration.0.end_date_time` Changing this forces a new Pim Eligible Role Assignment to be created. +// The duration of the role assignment in days. Conflicts with `schedule[0].expiration[0].duration_hours`,`schedule[0].expiration[0].end_date_time` Changing this forces a new Pim Eligible Role Assignment to be created. func (o EligibleRoleAssignmentScheduleExpirationOutput) DurationDays() pulumi.IntPtrOutput { return o.ApplyT(func(v EligibleRoleAssignmentScheduleExpiration) *int { return v.DurationDays }).(pulumi.IntPtrOutput) } -// The duration of the role assignment in hours. Conflicts with `schedule.0.expiration.0.duration_days`,`schedule.0.expiration.0.end_date_time` Changing this forces a new Pim Eligible Role Assignment to be created. +// The duration of the role assignment in hours. Conflicts with `schedule[0].expiration[0].duration_days`,`schedule[0].expiration[0].end_date_time` Changing this forces a new Pim Eligible Role Assignment to be created. func (o EligibleRoleAssignmentScheduleExpirationOutput) DurationHours() pulumi.IntPtrOutput { return o.ApplyT(func(v EligibleRoleAssignmentScheduleExpiration) *int { return v.DurationHours }).(pulumi.IntPtrOutput) } -// The end date time of the role assignment. Conflicts with `schedule.0.expiration.0.duration_days`,`schedule.0.expiration.0.duration_hours` Changing this forces a new Pim Eligible Role Assignment to be created. +// The end date time of the role assignment. Conflicts with `schedule[0].expiration[0].duration_days`,`schedule[0].expiration[0].duration_hours` Changing this forces a new Pim Eligible Role Assignment to be created. func (o EligibleRoleAssignmentScheduleExpirationOutput) EndDateTime() pulumi.StringPtrOutput { return o.ApplyT(func(v EligibleRoleAssignmentScheduleExpiration) *string { return v.EndDateTime }).(pulumi.StringPtrOutput) } @@ -801,7 +801,7 @@ func (o EligibleRoleAssignmentScheduleExpirationPtrOutput) Elem() EligibleRoleAs }).(EligibleRoleAssignmentScheduleExpirationOutput) } -// The duration of the role assignment in days. Conflicts with `schedule.0.expiration.0.duration_hours`,`schedule.0.expiration.0.end_date_time` Changing this forces a new Pim Eligible Role Assignment to be created. +// The duration of the role assignment in days. Conflicts with `schedule[0].expiration[0].duration_hours`,`schedule[0].expiration[0].end_date_time` Changing this forces a new Pim Eligible Role Assignment to be created. func (o EligibleRoleAssignmentScheduleExpirationPtrOutput) DurationDays() pulumi.IntPtrOutput { return o.ApplyT(func(v *EligibleRoleAssignmentScheduleExpiration) *int { if v == nil { @@ -811,7 +811,7 @@ func (o EligibleRoleAssignmentScheduleExpirationPtrOutput) DurationDays() pulumi }).(pulumi.IntPtrOutput) } -// The duration of the role assignment in hours. Conflicts with `schedule.0.expiration.0.duration_days`,`schedule.0.expiration.0.end_date_time` Changing this forces a new Pim Eligible Role Assignment to be created. +// The duration of the role assignment in hours. Conflicts with `schedule[0].expiration[0].duration_days`,`schedule[0].expiration[0].end_date_time` Changing this forces a new Pim Eligible Role Assignment to be created. func (o EligibleRoleAssignmentScheduleExpirationPtrOutput) DurationHours() pulumi.IntPtrOutput { return o.ApplyT(func(v *EligibleRoleAssignmentScheduleExpiration) *int { if v == nil { @@ -821,7 +821,7 @@ func (o EligibleRoleAssignmentScheduleExpirationPtrOutput) DurationHours() pulum }).(pulumi.IntPtrOutput) } -// The end date time of the role assignment. Conflicts with `schedule.0.expiration.0.duration_days`,`schedule.0.expiration.0.duration_hours` Changing this forces a new Pim Eligible Role Assignment to be created. +// The end date time of the role assignment. Conflicts with `schedule[0].expiration[0].duration_days`,`schedule[0].expiration[0].duration_hours` Changing this forces a new Pim Eligible Role Assignment to be created. func (o EligibleRoleAssignmentScheduleExpirationPtrOutput) EndDateTime() pulumi.StringPtrOutput { return o.ApplyT(func(v *EligibleRoleAssignmentScheduleExpiration) *string { if v == nil { diff --git a/sdk/go/azure/postgresql/flexibleServer.go b/sdk/go/azure/postgresql/flexibleServer.go index 2cf6a0c331..b2ec883e66 100644 --- a/sdk/go/azure/postgresql/flexibleServer.go +++ b/sdk/go/azure/postgresql/flexibleServer.go @@ -101,6 +101,7 @@ import ( // AdministratorPassword: pulumi.String("H@Sh1CoR3!"), // Zone: pulumi.String("1"), // StorageMb: pulumi.Int(32768), +// StorageTier: pulumi.String("P30"), // SkuName: pulumi.String("GP_Standard_D4s_v3"), // }) // if err != nil { @@ -111,6 +112,26 @@ import ( // } // // ``` +// ## `storageTier` defaults based on `storageMb` +// +// | `storageMb` | GiB | TiB | Default | Supported `storageTier`'s | Provisioned `IOPS` | +// |:------------:|:-----:|:---:|:-------:|:------------------------------------:|:-------------------:| +// | 32768 | 32 | - | P4 | P4, P6, P10, P15, P20, P30, P40, P50 | 120 | +// | 65536 | 64 | - | P6 | P6, P10, P15, P20, P30, P40, P50 | 240 | +// | 131072 | 128 | - | P10 | P10, P15, P20, P30, P40, P50 | 500 | +// | 262144 | 256 | - | P15 | P15, P20, P30, P40, P50 | 1,100 | +// | 524288 | 512 | - | P20 | P20, P30, P40, P50 | 2,300 | +// | 1048576 | 1024 | 1 | P30 | P30, P40, P50 | 5,000 | +// | 2097152 | 2048 | 2 | P40 | P40, P50 | 7,500 | +// | 4193280 | 4095 | 4 | P50 | P50 | 7,500 | +// | 4194304 | 4096 | 4 | P50 | P50 | 7,500 | +// | 8388608 | 8192 | 8 | P60 | P60, P70 | 16,000 | +// | 16777216 | 16384 | 16 | P70 | P70, P80 | 18,000 | +// | 33553408 | 32767 | 32 | P80 | P80 | 20,000 | +// +// > **Note:** Host Caching (ReadOnly and Read/Write) is supported on disk sizes less than 4194304 MiB. This means any disk that is provisioned up to 4193280 MiB can take advantage of Host Caching. Host caching is not supported for disk sizes larger than 4193280 MiB. For example, a P50 premium disk provisioned at 4193280 GiB can take advantage of Host caching while a P50 disk provisioned at 4194304 MiB cannot. Moving from a smaller disk size to a larger disk size, greater than 4193280 MiB, will cause the disk to lose the disk caching ability. +// +// *** // // ## Import // @@ -164,13 +185,13 @@ type FlexibleServer struct { PointInTimeRestoreTimeInUtc pulumi.StringPtrOutput `pulumi:"pointInTimeRestoreTimeInUtc"` // The ID of the private DNS zone to create the PostgreSQL Flexible Server. // - // > **NOTE:** There will be a breaking change from upstream service at 15th July 2021, the `privateDnsZoneId` will be required when setting a `delegatedSubnetId`. For existing flexible servers who don't want to be recreated, you need to provide the `privateDnsZoneId` to the service team to manually migrate to the specified private DNS zone. The `privatedns.Zone` should end with suffix `.postgres.database.azure.com`. + // > **Note:** There will be a breaking change from upstream service at 15th July 2021, the `privateDnsZoneId` will be required when setting a `delegatedSubnetId`. For existing flexible servers who don't want to be recreated, you need to provide the `privateDnsZoneId` to the service team to manually migrate to the specified private DNS zone. The `privatedns.Zone` should end with suffix `.postgres.database.azure.com`. PrivateDnsZoneId pulumi.StringOutput `pulumi:"privateDnsZoneId"` // Is public network access enabled? PublicNetworkAccessEnabled pulumi.BoolOutput `pulumi:"publicNetworkAccessEnabled"` // The replication role for the PostgreSQL Flexible Server. Possible value is `None`. // - // > **NOTE:** The `replicationRole` cannot be set while creating and only can be updated to `None` for replica server. + // > **Note:** The `replicationRole` cannot be set while creating and only can be updated to `None` for replica server. ReplicationRole pulumi.StringPtrOutput `pulumi:"replicationRole"` // The name of the Resource Group where the PostgreSQL Flexible Server should exist. Changing this forces a new PostgreSQL Flexible Server to be created. ResourceGroupName pulumi.StringOutput `pulumi:"resourceGroupName"` @@ -179,7 +200,15 @@ type FlexibleServer struct { // The resource ID of the source PostgreSQL Flexible Server to be restored. Required when `createMode` is `PointInTimeRestore` or `Replica`. Changing this forces a new PostgreSQL Flexible Server to be created. SourceServerId pulumi.StringPtrOutput `pulumi:"sourceServerId"` // The max storage allowed for the PostgreSQL Flexible Server. Possible values are `32768`, `65536`, `131072`, `262144`, `524288`, `1048576`, `2097152`, `4193280`, `4194304`, `8388608`, `16777216` and `33553408`. + // + // > **Note:** If the `storageMb` field is undefined on the initial deployment of the PostgreSQL Flexible Server resource it will default to `32768`. If the `storageMb` field has been defined and then removed, the `storageMb` field will retain the previously defined value. + // + // > **Note:** The `storageMb` can only be scaled up, for example, you can scale the `storageMb` from `32768` to `65536`, but not from `65536` to `32768`. StorageMb pulumi.IntOutput `pulumi:"storageMb"` + // The name of storage performance tier for IOPS of the PostgreSQL Flexible Server. Possible values are `P4`, `P6`, `P10`, `P15`,`P20`, `P30`,`P40`, `P50`,`P60`, `P70` or `P80`. Default value is dependant on the `storageMb` value. Please see the `storageTier` defaults based on `storageMb` table below. + // + // > **Note:** The `storageTier` can be scaled once every 12 hours, this restriction is in place to ensure stability and performance after any changes to your PostgreSQL Flexible Server's configuration. + StorageTier pulumi.StringOutput `pulumi:"storageTier"` // A mapping of tags which should be assigned to the PostgreSQL Flexible Server. Tags pulumi.StringMapOutput `pulumi:"tags"` // The version of PostgreSQL Flexible Server to use. Possible values are `11`,`12`, `13`, `14`, `15` and `16`. Required when `createMode` is `Default`. @@ -271,13 +300,13 @@ type flexibleServerState struct { PointInTimeRestoreTimeInUtc *string `pulumi:"pointInTimeRestoreTimeInUtc"` // The ID of the private DNS zone to create the PostgreSQL Flexible Server. // - // > **NOTE:** There will be a breaking change from upstream service at 15th July 2021, the `privateDnsZoneId` will be required when setting a `delegatedSubnetId`. For existing flexible servers who don't want to be recreated, you need to provide the `privateDnsZoneId` to the service team to manually migrate to the specified private DNS zone. The `privatedns.Zone` should end with suffix `.postgres.database.azure.com`. + // > **Note:** There will be a breaking change from upstream service at 15th July 2021, the `privateDnsZoneId` will be required when setting a `delegatedSubnetId`. For existing flexible servers who don't want to be recreated, you need to provide the `privateDnsZoneId` to the service team to manually migrate to the specified private DNS zone. The `privatedns.Zone` should end with suffix `.postgres.database.azure.com`. PrivateDnsZoneId *string `pulumi:"privateDnsZoneId"` // Is public network access enabled? PublicNetworkAccessEnabled *bool `pulumi:"publicNetworkAccessEnabled"` // The replication role for the PostgreSQL Flexible Server. Possible value is `None`. // - // > **NOTE:** The `replicationRole` cannot be set while creating and only can be updated to `None` for replica server. + // > **Note:** The `replicationRole` cannot be set while creating and only can be updated to `None` for replica server. ReplicationRole *string `pulumi:"replicationRole"` // The name of the Resource Group where the PostgreSQL Flexible Server should exist. Changing this forces a new PostgreSQL Flexible Server to be created. ResourceGroupName *string `pulumi:"resourceGroupName"` @@ -286,7 +315,15 @@ type flexibleServerState struct { // The resource ID of the source PostgreSQL Flexible Server to be restored. Required when `createMode` is `PointInTimeRestore` or `Replica`. Changing this forces a new PostgreSQL Flexible Server to be created. SourceServerId *string `pulumi:"sourceServerId"` // The max storage allowed for the PostgreSQL Flexible Server. Possible values are `32768`, `65536`, `131072`, `262144`, `524288`, `1048576`, `2097152`, `4193280`, `4194304`, `8388608`, `16777216` and `33553408`. + // + // > **Note:** If the `storageMb` field is undefined on the initial deployment of the PostgreSQL Flexible Server resource it will default to `32768`. If the `storageMb` field has been defined and then removed, the `storageMb` field will retain the previously defined value. + // + // > **Note:** The `storageMb` can only be scaled up, for example, you can scale the `storageMb` from `32768` to `65536`, but not from `65536` to `32768`. StorageMb *int `pulumi:"storageMb"` + // The name of storage performance tier for IOPS of the PostgreSQL Flexible Server. Possible values are `P4`, `P6`, `P10`, `P15`,`P20`, `P30`,`P40`, `P50`,`P60`, `P70` or `P80`. Default value is dependant on the `storageMb` value. Please see the `storageTier` defaults based on `storageMb` table below. + // + // > **Note:** The `storageTier` can be scaled once every 12 hours, this restriction is in place to ensure stability and performance after any changes to your PostgreSQL Flexible Server's configuration. + StorageTier *string `pulumi:"storageTier"` // A mapping of tags which should be assigned to the PostgreSQL Flexible Server. Tags map[string]string `pulumi:"tags"` // The version of PostgreSQL Flexible Server to use. Possible values are `11`,`12`, `13`, `14`, `15` and `16`. Required when `createMode` is `Default`. @@ -339,13 +376,13 @@ type FlexibleServerState struct { PointInTimeRestoreTimeInUtc pulumi.StringPtrInput // The ID of the private DNS zone to create the PostgreSQL Flexible Server. // - // > **NOTE:** There will be a breaking change from upstream service at 15th July 2021, the `privateDnsZoneId` will be required when setting a `delegatedSubnetId`. For existing flexible servers who don't want to be recreated, you need to provide the `privateDnsZoneId` to the service team to manually migrate to the specified private DNS zone. The `privatedns.Zone` should end with suffix `.postgres.database.azure.com`. + // > **Note:** There will be a breaking change from upstream service at 15th July 2021, the `privateDnsZoneId` will be required when setting a `delegatedSubnetId`. For existing flexible servers who don't want to be recreated, you need to provide the `privateDnsZoneId` to the service team to manually migrate to the specified private DNS zone. The `privatedns.Zone` should end with suffix `.postgres.database.azure.com`. PrivateDnsZoneId pulumi.StringPtrInput // Is public network access enabled? PublicNetworkAccessEnabled pulumi.BoolPtrInput // The replication role for the PostgreSQL Flexible Server. Possible value is `None`. // - // > **NOTE:** The `replicationRole` cannot be set while creating and only can be updated to `None` for replica server. + // > **Note:** The `replicationRole` cannot be set while creating and only can be updated to `None` for replica server. ReplicationRole pulumi.StringPtrInput // The name of the Resource Group where the PostgreSQL Flexible Server should exist. Changing this forces a new PostgreSQL Flexible Server to be created. ResourceGroupName pulumi.StringPtrInput @@ -354,7 +391,15 @@ type FlexibleServerState struct { // The resource ID of the source PostgreSQL Flexible Server to be restored. Required when `createMode` is `PointInTimeRestore` or `Replica`. Changing this forces a new PostgreSQL Flexible Server to be created. SourceServerId pulumi.StringPtrInput // The max storage allowed for the PostgreSQL Flexible Server. Possible values are `32768`, `65536`, `131072`, `262144`, `524288`, `1048576`, `2097152`, `4193280`, `4194304`, `8388608`, `16777216` and `33553408`. + // + // > **Note:** If the `storageMb` field is undefined on the initial deployment of the PostgreSQL Flexible Server resource it will default to `32768`. If the `storageMb` field has been defined and then removed, the `storageMb` field will retain the previously defined value. + // + // > **Note:** The `storageMb` can only be scaled up, for example, you can scale the `storageMb` from `32768` to `65536`, but not from `65536` to `32768`. StorageMb pulumi.IntPtrInput + // The name of storage performance tier for IOPS of the PostgreSQL Flexible Server. Possible values are `P4`, `P6`, `P10`, `P15`,`P20`, `P30`,`P40`, `P50`,`P60`, `P70` or `P80`. Default value is dependant on the `storageMb` value. Please see the `storageTier` defaults based on `storageMb` table below. + // + // > **Note:** The `storageTier` can be scaled once every 12 hours, this restriction is in place to ensure stability and performance after any changes to your PostgreSQL Flexible Server's configuration. + StorageTier pulumi.StringPtrInput // A mapping of tags which should be assigned to the PostgreSQL Flexible Server. Tags pulumi.StringMapInput // The version of PostgreSQL Flexible Server to use. Possible values are `11`,`12`, `13`, `14`, `15` and `16`. Required when `createMode` is `Default`. @@ -409,11 +454,11 @@ type flexibleServerArgs struct { PointInTimeRestoreTimeInUtc *string `pulumi:"pointInTimeRestoreTimeInUtc"` // The ID of the private DNS zone to create the PostgreSQL Flexible Server. // - // > **NOTE:** There will be a breaking change from upstream service at 15th July 2021, the `privateDnsZoneId` will be required when setting a `delegatedSubnetId`. For existing flexible servers who don't want to be recreated, you need to provide the `privateDnsZoneId` to the service team to manually migrate to the specified private DNS zone. The `privatedns.Zone` should end with suffix `.postgres.database.azure.com`. + // > **Note:** There will be a breaking change from upstream service at 15th July 2021, the `privateDnsZoneId` will be required when setting a `delegatedSubnetId`. For existing flexible servers who don't want to be recreated, you need to provide the `privateDnsZoneId` to the service team to manually migrate to the specified private DNS zone. The `privatedns.Zone` should end with suffix `.postgres.database.azure.com`. PrivateDnsZoneId *string `pulumi:"privateDnsZoneId"` // The replication role for the PostgreSQL Flexible Server. Possible value is `None`. // - // > **NOTE:** The `replicationRole` cannot be set while creating and only can be updated to `None` for replica server. + // > **Note:** The `replicationRole` cannot be set while creating and only can be updated to `None` for replica server. ReplicationRole *string `pulumi:"replicationRole"` // The name of the Resource Group where the PostgreSQL Flexible Server should exist. Changing this forces a new PostgreSQL Flexible Server to be created. ResourceGroupName string `pulumi:"resourceGroupName"` @@ -422,7 +467,15 @@ type flexibleServerArgs struct { // The resource ID of the source PostgreSQL Flexible Server to be restored. Required when `createMode` is `PointInTimeRestore` or `Replica`. Changing this forces a new PostgreSQL Flexible Server to be created. SourceServerId *string `pulumi:"sourceServerId"` // The max storage allowed for the PostgreSQL Flexible Server. Possible values are `32768`, `65536`, `131072`, `262144`, `524288`, `1048576`, `2097152`, `4193280`, `4194304`, `8388608`, `16777216` and `33553408`. + // + // > **Note:** If the `storageMb` field is undefined on the initial deployment of the PostgreSQL Flexible Server resource it will default to `32768`. If the `storageMb` field has been defined and then removed, the `storageMb` field will retain the previously defined value. + // + // > **Note:** The `storageMb` can only be scaled up, for example, you can scale the `storageMb` from `32768` to `65536`, but not from `65536` to `32768`. StorageMb *int `pulumi:"storageMb"` + // The name of storage performance tier for IOPS of the PostgreSQL Flexible Server. Possible values are `P4`, `P6`, `P10`, `P15`,`P20`, `P30`,`P40`, `P50`,`P60`, `P70` or `P80`. Default value is dependant on the `storageMb` value. Please see the `storageTier` defaults based on `storageMb` table below. + // + // > **Note:** The `storageTier` can be scaled once every 12 hours, this restriction is in place to ensure stability and performance after any changes to your PostgreSQL Flexible Server's configuration. + StorageTier *string `pulumi:"storageTier"` // A mapping of tags which should be assigned to the PostgreSQL Flexible Server. Tags map[string]string `pulumi:"tags"` // The version of PostgreSQL Flexible Server to use. Possible values are `11`,`12`, `13`, `14`, `15` and `16`. Required when `createMode` is `Default`. @@ -474,11 +527,11 @@ type FlexibleServerArgs struct { PointInTimeRestoreTimeInUtc pulumi.StringPtrInput // The ID of the private DNS zone to create the PostgreSQL Flexible Server. // - // > **NOTE:** There will be a breaking change from upstream service at 15th July 2021, the `privateDnsZoneId` will be required when setting a `delegatedSubnetId`. For existing flexible servers who don't want to be recreated, you need to provide the `privateDnsZoneId` to the service team to manually migrate to the specified private DNS zone. The `privatedns.Zone` should end with suffix `.postgres.database.azure.com`. + // > **Note:** There will be a breaking change from upstream service at 15th July 2021, the `privateDnsZoneId` will be required when setting a `delegatedSubnetId`. For existing flexible servers who don't want to be recreated, you need to provide the `privateDnsZoneId` to the service team to manually migrate to the specified private DNS zone. The `privatedns.Zone` should end with suffix `.postgres.database.azure.com`. PrivateDnsZoneId pulumi.StringPtrInput // The replication role for the PostgreSQL Flexible Server. Possible value is `None`. // - // > **NOTE:** The `replicationRole` cannot be set while creating and only can be updated to `None` for replica server. + // > **Note:** The `replicationRole` cannot be set while creating and only can be updated to `None` for replica server. ReplicationRole pulumi.StringPtrInput // The name of the Resource Group where the PostgreSQL Flexible Server should exist. Changing this forces a new PostgreSQL Flexible Server to be created. ResourceGroupName pulumi.StringInput @@ -487,7 +540,15 @@ type FlexibleServerArgs struct { // The resource ID of the source PostgreSQL Flexible Server to be restored. Required when `createMode` is `PointInTimeRestore` or `Replica`. Changing this forces a new PostgreSQL Flexible Server to be created. SourceServerId pulumi.StringPtrInput // The max storage allowed for the PostgreSQL Flexible Server. Possible values are `32768`, `65536`, `131072`, `262144`, `524288`, `1048576`, `2097152`, `4193280`, `4194304`, `8388608`, `16777216` and `33553408`. + // + // > **Note:** If the `storageMb` field is undefined on the initial deployment of the PostgreSQL Flexible Server resource it will default to `32768`. If the `storageMb` field has been defined and then removed, the `storageMb` field will retain the previously defined value. + // + // > **Note:** The `storageMb` can only be scaled up, for example, you can scale the `storageMb` from `32768` to `65536`, but not from `65536` to `32768`. StorageMb pulumi.IntPtrInput + // The name of storage performance tier for IOPS of the PostgreSQL Flexible Server. Possible values are `P4`, `P6`, `P10`, `P15`,`P20`, `P30`,`P40`, `P50`,`P60`, `P70` or `P80`. Default value is dependant on the `storageMb` value. Please see the `storageTier` defaults based on `storageMb` table below. + // + // > **Note:** The `storageTier` can be scaled once every 12 hours, this restriction is in place to ensure stability and performance after any changes to your PostgreSQL Flexible Server's configuration. + StorageTier pulumi.StringPtrInput // A mapping of tags which should be assigned to the PostgreSQL Flexible Server. Tags pulumi.StringMapInput // The version of PostgreSQL Flexible Server to use. Possible values are `11`,`12`, `13`, `14`, `15` and `16`. Required when `createMode` is `Default`. @@ -674,7 +735,7 @@ func (o FlexibleServerOutput) PointInTimeRestoreTimeInUtc() pulumi.StringPtrOutp // The ID of the private DNS zone to create the PostgreSQL Flexible Server. // -// > **NOTE:** There will be a breaking change from upstream service at 15th July 2021, the `privateDnsZoneId` will be required when setting a `delegatedSubnetId`. For existing flexible servers who don't want to be recreated, you need to provide the `privateDnsZoneId` to the service team to manually migrate to the specified private DNS zone. The `privatedns.Zone` should end with suffix `.postgres.database.azure.com`. +// > **Note:** There will be a breaking change from upstream service at 15th July 2021, the `privateDnsZoneId` will be required when setting a `delegatedSubnetId`. For existing flexible servers who don't want to be recreated, you need to provide the `privateDnsZoneId` to the service team to manually migrate to the specified private DNS zone. The `privatedns.Zone` should end with suffix `.postgres.database.azure.com`. func (o FlexibleServerOutput) PrivateDnsZoneId() pulumi.StringOutput { return o.ApplyT(func(v *FlexibleServer) pulumi.StringOutput { return v.PrivateDnsZoneId }).(pulumi.StringOutput) } @@ -686,7 +747,7 @@ func (o FlexibleServerOutput) PublicNetworkAccessEnabled() pulumi.BoolOutput { // The replication role for the PostgreSQL Flexible Server. Possible value is `None`. // -// > **NOTE:** The `replicationRole` cannot be set while creating and only can be updated to `None` for replica server. +// > **Note:** The `replicationRole` cannot be set while creating and only can be updated to `None` for replica server. func (o FlexibleServerOutput) ReplicationRole() pulumi.StringPtrOutput { return o.ApplyT(func(v *FlexibleServer) pulumi.StringPtrOutput { return v.ReplicationRole }).(pulumi.StringPtrOutput) } @@ -707,10 +768,21 @@ func (o FlexibleServerOutput) SourceServerId() pulumi.StringPtrOutput { } // The max storage allowed for the PostgreSQL Flexible Server. Possible values are `32768`, `65536`, `131072`, `262144`, `524288`, `1048576`, `2097152`, `4193280`, `4194304`, `8388608`, `16777216` and `33553408`. +// +// > **Note:** If the `storageMb` field is undefined on the initial deployment of the PostgreSQL Flexible Server resource it will default to `32768`. If the `storageMb` field has been defined and then removed, the `storageMb` field will retain the previously defined value. +// +// > **Note:** The `storageMb` can only be scaled up, for example, you can scale the `storageMb` from `32768` to `65536`, but not from `65536` to `32768`. func (o FlexibleServerOutput) StorageMb() pulumi.IntOutput { return o.ApplyT(func(v *FlexibleServer) pulumi.IntOutput { return v.StorageMb }).(pulumi.IntOutput) } +// The name of storage performance tier for IOPS of the PostgreSQL Flexible Server. Possible values are `P4`, `P6`, `P10`, `P15`,`P20`, `P30`,`P40`, `P50`,`P60`, `P70` or `P80`. Default value is dependant on the `storageMb` value. Please see the `storageTier` defaults based on `storageMb` table below. +// +// > **Note:** The `storageTier` can be scaled once every 12 hours, this restriction is in place to ensure stability and performance after any changes to your PostgreSQL Flexible Server's configuration. +func (o FlexibleServerOutput) StorageTier() pulumi.StringOutput { + return o.ApplyT(func(v *FlexibleServer) pulumi.StringOutput { return v.StorageTier }).(pulumi.StringOutput) +} + // A mapping of tags which should be assigned to the PostgreSQL Flexible Server. func (o FlexibleServerOutput) Tags() pulumi.StringMapOutput { return o.ApplyT(func(v *FlexibleServer) pulumi.StringMapOutput { return v.Tags }).(pulumi.StringMapOutput) diff --git a/sdk/go/azure/postgresql/flexibleServerDatabase.go b/sdk/go/azure/postgresql/flexibleServerDatabase.go index 8c7a02ab22..f6501f0db9 100644 --- a/sdk/go/azure/postgresql/flexibleServerDatabase.go +++ b/sdk/go/azure/postgresql/flexibleServerDatabase.go @@ -48,7 +48,7 @@ import ( // return err // } // _, err = postgresql.NewFlexibleServerDatabase(ctx, "example", &postgresql.FlexibleServerDatabaseArgs{ -// Name: pulumi.String("example-db"), +// Name: pulumi.String("exampledb"), // ServerId: exampleFlexibleServer.ID(), // Collation: pulumi.String("en_US.utf8"), // Charset: pulumi.String("utf8"), @@ -76,7 +76,7 @@ type FlexibleServerDatabase struct { Charset pulumi.StringPtrOutput `pulumi:"charset"` // Specifies the Collation for the Azure PostgreSQL Flexible Server Database, which needs [to be a valid PostgreSQL Collation](https://www.postgresql.org/docs/current/static/collation.html). Defaults to `en_US.utf8`. Changing this forces a new Azure PostgreSQL Flexible Server Database to be created. Collation pulumi.StringPtrOutput `pulumi:"collation"` - // The name which should be used for this Azure PostgreSQL Flexible Server Database. Changing this forces a new Azure PostgreSQL Flexible Server Database to be created. + // Specifies the name of the PostgreSQL Database, which needs [to be a valid PostgreSQL identifier](https://www.postgresql.org/docs/current/sql-syntax-lexical.html#SQL-SYNTAX-IDENTIFIERS). Changing this forces a new Azure PostgreSQL Flexible Server Database to be created. Name pulumi.StringOutput `pulumi:"name"` // The ID of the Azure PostgreSQL Flexible Server from which to create this PostgreSQL Flexible Server Database. Changing this forces a new Azure PostgreSQL Flexible Server Database to be created. ServerId pulumi.StringOutput `pulumi:"serverId"` @@ -119,7 +119,7 @@ type flexibleServerDatabaseState struct { Charset *string `pulumi:"charset"` // Specifies the Collation for the Azure PostgreSQL Flexible Server Database, which needs [to be a valid PostgreSQL Collation](https://www.postgresql.org/docs/current/static/collation.html). Defaults to `en_US.utf8`. Changing this forces a new Azure PostgreSQL Flexible Server Database to be created. Collation *string `pulumi:"collation"` - // The name which should be used for this Azure PostgreSQL Flexible Server Database. Changing this forces a new Azure PostgreSQL Flexible Server Database to be created. + // Specifies the name of the PostgreSQL Database, which needs [to be a valid PostgreSQL identifier](https://www.postgresql.org/docs/current/sql-syntax-lexical.html#SQL-SYNTAX-IDENTIFIERS). Changing this forces a new Azure PostgreSQL Flexible Server Database to be created. Name *string `pulumi:"name"` // The ID of the Azure PostgreSQL Flexible Server from which to create this PostgreSQL Flexible Server Database. Changing this forces a new Azure PostgreSQL Flexible Server Database to be created. ServerId *string `pulumi:"serverId"` @@ -130,7 +130,7 @@ type FlexibleServerDatabaseState struct { Charset pulumi.StringPtrInput // Specifies the Collation for the Azure PostgreSQL Flexible Server Database, which needs [to be a valid PostgreSQL Collation](https://www.postgresql.org/docs/current/static/collation.html). Defaults to `en_US.utf8`. Changing this forces a new Azure PostgreSQL Flexible Server Database to be created. Collation pulumi.StringPtrInput - // The name which should be used for this Azure PostgreSQL Flexible Server Database. Changing this forces a new Azure PostgreSQL Flexible Server Database to be created. + // Specifies the name of the PostgreSQL Database, which needs [to be a valid PostgreSQL identifier](https://www.postgresql.org/docs/current/sql-syntax-lexical.html#SQL-SYNTAX-IDENTIFIERS). Changing this forces a new Azure PostgreSQL Flexible Server Database to be created. Name pulumi.StringPtrInput // The ID of the Azure PostgreSQL Flexible Server from which to create this PostgreSQL Flexible Server Database. Changing this forces a new Azure PostgreSQL Flexible Server Database to be created. ServerId pulumi.StringPtrInput @@ -145,7 +145,7 @@ type flexibleServerDatabaseArgs struct { Charset *string `pulumi:"charset"` // Specifies the Collation for the Azure PostgreSQL Flexible Server Database, which needs [to be a valid PostgreSQL Collation](https://www.postgresql.org/docs/current/static/collation.html). Defaults to `en_US.utf8`. Changing this forces a new Azure PostgreSQL Flexible Server Database to be created. Collation *string `pulumi:"collation"` - // The name which should be used for this Azure PostgreSQL Flexible Server Database. Changing this forces a new Azure PostgreSQL Flexible Server Database to be created. + // Specifies the name of the PostgreSQL Database, which needs [to be a valid PostgreSQL identifier](https://www.postgresql.org/docs/current/sql-syntax-lexical.html#SQL-SYNTAX-IDENTIFIERS). Changing this forces a new Azure PostgreSQL Flexible Server Database to be created. Name *string `pulumi:"name"` // The ID of the Azure PostgreSQL Flexible Server from which to create this PostgreSQL Flexible Server Database. Changing this forces a new Azure PostgreSQL Flexible Server Database to be created. ServerId string `pulumi:"serverId"` @@ -157,7 +157,7 @@ type FlexibleServerDatabaseArgs struct { Charset pulumi.StringPtrInput // Specifies the Collation for the Azure PostgreSQL Flexible Server Database, which needs [to be a valid PostgreSQL Collation](https://www.postgresql.org/docs/current/static/collation.html). Defaults to `en_US.utf8`. Changing this forces a new Azure PostgreSQL Flexible Server Database to be created. Collation pulumi.StringPtrInput - // The name which should be used for this Azure PostgreSQL Flexible Server Database. Changing this forces a new Azure PostgreSQL Flexible Server Database to be created. + // Specifies the name of the PostgreSQL Database, which needs [to be a valid PostgreSQL identifier](https://www.postgresql.org/docs/current/sql-syntax-lexical.html#SQL-SYNTAX-IDENTIFIERS). Changing this forces a new Azure PostgreSQL Flexible Server Database to be created. Name pulumi.StringPtrInput // The ID of the Azure PostgreSQL Flexible Server from which to create this PostgreSQL Flexible Server Database. Changing this forces a new Azure PostgreSQL Flexible Server Database to be created. ServerId pulumi.StringInput @@ -260,7 +260,7 @@ func (o FlexibleServerDatabaseOutput) Collation() pulumi.StringPtrOutput { return o.ApplyT(func(v *FlexibleServerDatabase) pulumi.StringPtrOutput { return v.Collation }).(pulumi.StringPtrOutput) } -// The name which should be used for this Azure PostgreSQL Flexible Server Database. Changing this forces a new Azure PostgreSQL Flexible Server Database to be created. +// Specifies the name of the PostgreSQL Database, which needs [to be a valid PostgreSQL identifier](https://www.postgresql.org/docs/current/sql-syntax-lexical.html#SQL-SYNTAX-IDENTIFIERS). Changing this forces a new Azure PostgreSQL Flexible Server Database to be created. func (o FlexibleServerDatabaseOutput) Name() pulumi.StringOutput { return o.ApplyT(func(v *FlexibleServerDatabase) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) } diff --git a/sdk/go/azure/postgresql/pulumiTypes.go b/sdk/go/azure/postgresql/pulumiTypes.go index c10839bea4..7218d9f489 100644 --- a/sdk/go/azure/postgresql/pulumiTypes.go +++ b/sdk/go/azure/postgresql/pulumiTypes.go @@ -209,10 +209,10 @@ type FlexibleServerCustomerManagedKey struct { GeoBackupKeyVaultKeyId *string `pulumi:"geoBackupKeyVaultKeyId"` // The geo backup user managed identity id for a Customer Managed Key. Should be added with `identityIds`. It can't cross region and need identity in same region as geo backup. // - // > **NOTE:** `primaryUserAssignedIdentityId` or `geoBackupUserAssignedIdentityId` is required when `type` is set to `UserAssigned`. + // > **Note:** `primaryUserAssignedIdentityId` or `geoBackupUserAssignedIdentityId` is required when `type` is set to `UserAssigned`. GeoBackupUserAssignedIdentityId *string `pulumi:"geoBackupUserAssignedIdentityId"` // The ID of the Key Vault Key. - KeyVaultKeyId *string `pulumi:"keyVaultKeyId"` + KeyVaultKeyId string `pulumi:"keyVaultKeyId"` // Specifies the primary user managed identity id for a Customer Managed Key. Should be added with `identityIds`. PrimaryUserAssignedIdentityId *string `pulumi:"primaryUserAssignedIdentityId"` } @@ -233,10 +233,10 @@ type FlexibleServerCustomerManagedKeyArgs struct { GeoBackupKeyVaultKeyId pulumi.StringPtrInput `pulumi:"geoBackupKeyVaultKeyId"` // The geo backup user managed identity id for a Customer Managed Key. Should be added with `identityIds`. It can't cross region and need identity in same region as geo backup. // - // > **NOTE:** `primaryUserAssignedIdentityId` or `geoBackupUserAssignedIdentityId` is required when `type` is set to `UserAssigned`. + // > **Note:** `primaryUserAssignedIdentityId` or `geoBackupUserAssignedIdentityId` is required when `type` is set to `UserAssigned`. GeoBackupUserAssignedIdentityId pulumi.StringPtrInput `pulumi:"geoBackupUserAssignedIdentityId"` // The ID of the Key Vault Key. - KeyVaultKeyId pulumi.StringPtrInput `pulumi:"keyVaultKeyId"` + KeyVaultKeyId pulumi.StringInput `pulumi:"keyVaultKeyId"` // Specifies the primary user managed identity id for a Customer Managed Key. Should be added with `identityIds`. PrimaryUserAssignedIdentityId pulumi.StringPtrInput `pulumi:"primaryUserAssignedIdentityId"` } @@ -325,14 +325,14 @@ func (o FlexibleServerCustomerManagedKeyOutput) GeoBackupKeyVaultKeyId() pulumi. // The geo backup user managed identity id for a Customer Managed Key. Should be added with `identityIds`. It can't cross region and need identity in same region as geo backup. // -// > **NOTE:** `primaryUserAssignedIdentityId` or `geoBackupUserAssignedIdentityId` is required when `type` is set to `UserAssigned`. +// > **Note:** `primaryUserAssignedIdentityId` or `geoBackupUserAssignedIdentityId` is required when `type` is set to `UserAssigned`. func (o FlexibleServerCustomerManagedKeyOutput) GeoBackupUserAssignedIdentityId() pulumi.StringPtrOutput { return o.ApplyT(func(v FlexibleServerCustomerManagedKey) *string { return v.GeoBackupUserAssignedIdentityId }).(pulumi.StringPtrOutput) } // The ID of the Key Vault Key. -func (o FlexibleServerCustomerManagedKeyOutput) KeyVaultKeyId() pulumi.StringPtrOutput { - return o.ApplyT(func(v FlexibleServerCustomerManagedKey) *string { return v.KeyVaultKeyId }).(pulumi.StringPtrOutput) +func (o FlexibleServerCustomerManagedKeyOutput) KeyVaultKeyId() pulumi.StringOutput { + return o.ApplyT(func(v FlexibleServerCustomerManagedKey) string { return v.KeyVaultKeyId }).(pulumi.StringOutput) } // Specifies the primary user managed identity id for a Customer Managed Key. Should be added with `identityIds`. @@ -376,7 +376,7 @@ func (o FlexibleServerCustomerManagedKeyPtrOutput) GeoBackupKeyVaultKeyId() pulu // The geo backup user managed identity id for a Customer Managed Key. Should be added with `identityIds`. It can't cross region and need identity in same region as geo backup. // -// > **NOTE:** `primaryUserAssignedIdentityId` or `geoBackupUserAssignedIdentityId` is required when `type` is set to `UserAssigned`. +// > **Note:** `primaryUserAssignedIdentityId` or `geoBackupUserAssignedIdentityId` is required when `type` is set to `UserAssigned`. func (o FlexibleServerCustomerManagedKeyPtrOutput) GeoBackupUserAssignedIdentityId() pulumi.StringPtrOutput { return o.ApplyT(func(v *FlexibleServerCustomerManagedKey) *string { if v == nil { @@ -392,7 +392,7 @@ func (o FlexibleServerCustomerManagedKeyPtrOutput) KeyVaultKeyId() pulumi.String if v == nil { return nil } - return v.KeyVaultKeyId + return &v.KeyVaultKeyId }).(pulumi.StringPtrOutput) } diff --git a/sdk/go/azure/privatedns/pulumiTypes.go b/sdk/go/azure/privatedns/pulumiTypes.go index 3660646d9e..5a8dc5af31 100644 --- a/sdk/go/azure/privatedns/pulumiTypes.go +++ b/sdk/go/azure/privatedns/pulumiTypes.go @@ -367,7 +367,7 @@ func (o ResolverForwardingRuleTargetDnsServerArrayOutput) Index(i pulumi.IntInpu type ResolverInboundEndpointIpConfiguration struct { // Private IP address of the IP configuration. PrivateIpAddress *string `pulumi:"privateIpAddress"` - // Private IP address allocation method. Allowed value is `Dynamic`. Defaults to `Dynamic`. + // Private IP address allocation method. Allowed value is `Dynamic` and `Static`. Defaults to `Dynamic`. PrivateIpAllocationMethod *string `pulumi:"privateIpAllocationMethod"` // The subnet ID of the IP configuration. SubnetId string `pulumi:"subnetId"` @@ -387,7 +387,7 @@ type ResolverInboundEndpointIpConfigurationInput interface { type ResolverInboundEndpointIpConfigurationArgs struct { // Private IP address of the IP configuration. PrivateIpAddress pulumi.StringPtrInput `pulumi:"privateIpAddress"` - // Private IP address allocation method. Allowed value is `Dynamic`. Defaults to `Dynamic`. + // Private IP address allocation method. Allowed value is `Dynamic` and `Static`. Defaults to `Dynamic`. PrivateIpAllocationMethod pulumi.StringPtrInput `pulumi:"privateIpAllocationMethod"` // The subnet ID of the IP configuration. SubnetId pulumi.StringInput `pulumi:"subnetId"` @@ -449,7 +449,7 @@ func (o ResolverInboundEndpointIpConfigurationOutput) PrivateIpAddress() pulumi. return o.ApplyT(func(v ResolverInboundEndpointIpConfiguration) *string { return v.PrivateIpAddress }).(pulumi.StringPtrOutput) } -// Private IP address allocation method. Allowed value is `Dynamic`. Defaults to `Dynamic`. +// Private IP address allocation method. Allowed value is `Dynamic` and `Static`. Defaults to `Dynamic`. func (o ResolverInboundEndpointIpConfigurationOutput) PrivateIpAllocationMethod() pulumi.StringPtrOutput { return o.ApplyT(func(v ResolverInboundEndpointIpConfiguration) *string { return v.PrivateIpAllocationMethod }).(pulumi.StringPtrOutput) } diff --git a/sdk/go/azure/pulumiTypes.go b/sdk/go/azure/pulumiTypes.go index 1711db3e0d..3d06982316 100644 --- a/sdk/go/azure/pulumiTypes.go +++ b/sdk/go/azure/pulumiTypes.go @@ -2142,6 +2142,7 @@ func (o ProviderFeaturesVirtualMachinePtrOutput) SkipShutdownAndForceDelete() pu type ProviderFeaturesVirtualMachineScaleSet struct { ForceDelete *bool `pulumi:"forceDelete"` + ReimageOnManualUpgrade *bool `pulumi:"reimageOnManualUpgrade"` RollInstancesWhenRequired *bool `pulumi:"rollInstancesWhenRequired"` ScaleToZeroBeforeDeletion *bool `pulumi:"scaleToZeroBeforeDeletion"` } @@ -2159,6 +2160,7 @@ type ProviderFeaturesVirtualMachineScaleSetInput interface { type ProviderFeaturesVirtualMachineScaleSetArgs struct { ForceDelete pulumi.BoolPtrInput `pulumi:"forceDelete"` + ReimageOnManualUpgrade pulumi.BoolPtrInput `pulumi:"reimageOnManualUpgrade"` RollInstancesWhenRequired pulumi.BoolPtrInput `pulumi:"rollInstancesWhenRequired"` ScaleToZeroBeforeDeletion pulumi.BoolPtrInput `pulumi:"scaleToZeroBeforeDeletion"` } @@ -2244,6 +2246,10 @@ func (o ProviderFeaturesVirtualMachineScaleSetOutput) ForceDelete() pulumi.BoolP return o.ApplyT(func(v ProviderFeaturesVirtualMachineScaleSet) *bool { return v.ForceDelete }).(pulumi.BoolPtrOutput) } +func (o ProviderFeaturesVirtualMachineScaleSetOutput) ReimageOnManualUpgrade() pulumi.BoolPtrOutput { + return o.ApplyT(func(v ProviderFeaturesVirtualMachineScaleSet) *bool { return v.ReimageOnManualUpgrade }).(pulumi.BoolPtrOutput) +} + func (o ProviderFeaturesVirtualMachineScaleSetOutput) RollInstancesWhenRequired() pulumi.BoolPtrOutput { return o.ApplyT(func(v ProviderFeaturesVirtualMachineScaleSet) *bool { return v.RollInstancesWhenRequired }).(pulumi.BoolPtrOutput) } @@ -2285,6 +2291,15 @@ func (o ProviderFeaturesVirtualMachineScaleSetPtrOutput) ForceDelete() pulumi.Bo }).(pulumi.BoolPtrOutput) } +func (o ProviderFeaturesVirtualMachineScaleSetPtrOutput) ReimageOnManualUpgrade() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *ProviderFeaturesVirtualMachineScaleSet) *bool { + if v == nil { + return nil + } + return v.ReimageOnManualUpgrade + }).(pulumi.BoolPtrOutput) +} + func (o ProviderFeaturesVirtualMachineScaleSetPtrOutput) RollInstancesWhenRequired() pulumi.BoolPtrOutput { return o.ApplyT(func(v *ProviderFeaturesVirtualMachineScaleSet) *bool { if v == nil { diff --git a/sdk/go/azure/recoveryservices/pulumiTypes.go b/sdk/go/azure/recoveryservices/pulumiTypes.go index 587fe4c300..8ad4613466 100644 --- a/sdk/go/azure/recoveryservices/pulumiTypes.go +++ b/sdk/go/azure/recoveryservices/pulumiTypes.go @@ -18,7 +18,7 @@ type VaultEncryption struct { InfrastructureEncryptionEnabled bool `pulumi:"infrastructureEncryptionEnabled"` // The Key Vault key id used to encrypt this vault. Key managed by Vault Managed Hardware Security Module is also supported. KeyId string `pulumi:"keyId"` - // Indicate that system assigned identity should be used or not. Defaults to `true`. + // Indicate that system assigned identity should be used or not. Defaults to `true`. Must be set to `false` when `userAssignedIdentityId` is set. // // !> **Note:** `useSystemAssignedIdentity` only be able to set to `false` for **new** vaults. Any vaults containing existing items registered or attempted to be registered to it are not supported. Details can be found in [the document](https://learn.microsoft.com/en-us/azure/backup/encryption-at-rest-with-cmk?tabs=portal#before-you-start) // @@ -44,7 +44,7 @@ type VaultEncryptionArgs struct { InfrastructureEncryptionEnabled pulumi.BoolInput `pulumi:"infrastructureEncryptionEnabled"` // The Key Vault key id used to encrypt this vault. Key managed by Vault Managed Hardware Security Module is also supported. KeyId pulumi.StringInput `pulumi:"keyId"` - // Indicate that system assigned identity should be used or not. Defaults to `true`. + // Indicate that system assigned identity should be used or not. Defaults to `true`. Must be set to `false` when `userAssignedIdentityId` is set. // // !> **Note:** `useSystemAssignedIdentity` only be able to set to `false` for **new** vaults. Any vaults containing existing items registered or attempted to be registered to it are not supported. Details can be found in [the document](https://learn.microsoft.com/en-us/azure/backup/encryption-at-rest-with-cmk?tabs=portal#before-you-start) // @@ -141,7 +141,7 @@ func (o VaultEncryptionOutput) KeyId() pulumi.StringOutput { return o.ApplyT(func(v VaultEncryption) string { return v.KeyId }).(pulumi.StringOutput) } -// Indicate that system assigned identity should be used or not. Defaults to `true`. +// Indicate that system assigned identity should be used or not. Defaults to `true`. Must be set to `false` when `userAssignedIdentityId` is set. // // !> **Note:** `useSystemAssignedIdentity` only be able to set to `false` for **new** vaults. Any vaults containing existing items registered or attempted to be registered to it are not supported. Details can be found in [the document](https://learn.microsoft.com/en-us/azure/backup/encryption-at-rest-with-cmk?tabs=portal#before-you-start) // @@ -199,7 +199,7 @@ func (o VaultEncryptionPtrOutput) KeyId() pulumi.StringPtrOutput { }).(pulumi.StringPtrOutput) } -// Indicate that system assigned identity should be used or not. Defaults to `true`. +// Indicate that system assigned identity should be used or not. Defaults to `true`. Must be set to `false` when `userAssignedIdentityId` is set. // // !> **Note:** `useSystemAssignedIdentity` only be able to set to `false` for **new** vaults. Any vaults containing existing items registered or attempted to be registered to it are not supported. Details can be found in [the document](https://learn.microsoft.com/en-us/azure/backup/encryption-at-rest-with-cmk?tabs=portal#before-you-start) // diff --git a/sdk/go/azure/redis/pulumiTypes.go b/sdk/go/azure/redis/pulumiTypes.go index 470ebd8207..192264764e 100644 --- a/sdk/go/azure/redis/pulumiTypes.go +++ b/sdk/go/azure/redis/pulumiTypes.go @@ -341,6 +341,8 @@ type CacheRedisConfiguration struct { // // Example usage: AofStorageConnectionString1 *string `pulumi:"aofStorageConnectionString1"` + // Preferred auth method to communicate to storage account used for data persistence. Possible values are `SAS` and `ManagedIdentity`. Defaults to `SAS`. + DataPersistenceAuthenticationMethod *string `pulumi:"dataPersistenceAuthenticationMethod"` // If set to `false`, the Redis instance will be accessible without authentication. Defaults to `true`. // // > **NOTE:** `enableAuthentication` can only be set to `false` if a `subnetId` is specified; and only works if there aren't existing instances within the subnet with `enableAuthentication` set to `true`. @@ -397,6 +399,8 @@ type CacheRedisConfigurationArgs struct { // // Example usage: AofStorageConnectionString1 pulumi.StringPtrInput `pulumi:"aofStorageConnectionString1"` + // Preferred auth method to communicate to storage account used for data persistence. Possible values are `SAS` and `ManagedIdentity`. Defaults to `SAS`. + DataPersistenceAuthenticationMethod pulumi.StringPtrInput `pulumi:"dataPersistenceAuthenticationMethod"` // If set to `false`, the Redis instance will be accessible without authentication. Defaults to `true`. // // > **NOTE:** `enableAuthentication` can only be set to `false` if a `subnetId` is specified; and only works if there aren't existing instances within the subnet with `enableAuthentication` set to `true`. @@ -530,6 +534,11 @@ func (o CacheRedisConfigurationOutput) AofStorageConnectionString1() pulumi.Stri return o.ApplyT(func(v CacheRedisConfiguration) *string { return v.AofStorageConnectionString1 }).(pulumi.StringPtrOutput) } +// Preferred auth method to communicate to storage account used for data persistence. Possible values are `SAS` and `ManagedIdentity`. Defaults to `SAS`. +func (o CacheRedisConfigurationOutput) DataPersistenceAuthenticationMethod() pulumi.StringPtrOutput { + return o.ApplyT(func(v CacheRedisConfiguration) *string { return v.DataPersistenceAuthenticationMethod }).(pulumi.StringPtrOutput) +} + // If set to `false`, the Redis instance will be accessible without authentication. Defaults to `true`. // // > **NOTE:** `enableAuthentication` can only be set to `false` if a `subnetId` is specified; and only works if there aren't existing instances within the subnet with `enableAuthentication` set to `true`. @@ -664,6 +673,16 @@ func (o CacheRedisConfigurationPtrOutput) AofStorageConnectionString1() pulumi.S }).(pulumi.StringPtrOutput) } +// Preferred auth method to communicate to storage account used for data persistence. Possible values are `SAS` and `ManagedIdentity`. Defaults to `SAS`. +func (o CacheRedisConfigurationPtrOutput) DataPersistenceAuthenticationMethod() pulumi.StringPtrOutput { + return o.ApplyT(func(v *CacheRedisConfiguration) *string { + if v == nil { + return nil + } + return v.DataPersistenceAuthenticationMethod + }).(pulumi.StringPtrOutput) +} + // If set to `false`, the Redis instance will be accessible without authentication. Defaults to `true`. // // > **NOTE:** `enableAuthentication` can only be set to `false` if a `subnetId` is specified; and only works if there aren't existing instances within the subnet with `enableAuthentication` set to `true`. @@ -1018,9 +1037,10 @@ func (o GetCachePatchScheduleArrayOutput) Index(i pulumi.IntInput) GetCachePatch } type GetCacheRedisConfiguration struct { - AofBackupEnabled bool `pulumi:"aofBackupEnabled"` - AofStorageConnectionString0 string `pulumi:"aofStorageConnectionString0"` - AofStorageConnectionString1 string `pulumi:"aofStorageConnectionString1"` + AofBackupEnabled bool `pulumi:"aofBackupEnabled"` + AofStorageConnectionString0 string `pulumi:"aofStorageConnectionString0"` + AofStorageConnectionString1 string `pulumi:"aofStorageConnectionString1"` + DataPersistenceAuthenticationMethod string `pulumi:"dataPersistenceAuthenticationMethod"` // Specifies if authentication is enabled EnableAuthentication bool `pulumi:"enableAuthentication"` Maxclients int `pulumi:"maxclients"` @@ -1057,9 +1077,10 @@ type GetCacheRedisConfigurationInput interface { } type GetCacheRedisConfigurationArgs struct { - AofBackupEnabled pulumi.BoolInput `pulumi:"aofBackupEnabled"` - AofStorageConnectionString0 pulumi.StringInput `pulumi:"aofStorageConnectionString0"` - AofStorageConnectionString1 pulumi.StringInput `pulumi:"aofStorageConnectionString1"` + AofBackupEnabled pulumi.BoolInput `pulumi:"aofBackupEnabled"` + AofStorageConnectionString0 pulumi.StringInput `pulumi:"aofStorageConnectionString0"` + AofStorageConnectionString1 pulumi.StringInput `pulumi:"aofStorageConnectionString1"` + DataPersistenceAuthenticationMethod pulumi.StringInput `pulumi:"dataPersistenceAuthenticationMethod"` // Specifies if authentication is enabled EnableAuthentication pulumi.BoolInput `pulumi:"enableAuthentication"` Maxclients pulumi.IntInput `pulumi:"maxclients"` @@ -1147,6 +1168,10 @@ func (o GetCacheRedisConfigurationOutput) AofStorageConnectionString1() pulumi.S return o.ApplyT(func(v GetCacheRedisConfiguration) string { return v.AofStorageConnectionString1 }).(pulumi.StringOutput) } +func (o GetCacheRedisConfigurationOutput) DataPersistenceAuthenticationMethod() pulumi.StringOutput { + return o.ApplyT(func(v GetCacheRedisConfiguration) string { return v.DataPersistenceAuthenticationMethod }).(pulumi.StringOutput) +} + // Specifies if authentication is enabled func (o GetCacheRedisConfigurationOutput) EnableAuthentication() pulumi.BoolOutput { return o.ApplyT(func(v GetCacheRedisConfiguration) bool { return v.EnableAuthentication }).(pulumi.BoolOutput) diff --git a/sdk/go/azure/servicebus/getNamespace.go b/sdk/go/azure/servicebus/getNamespace.go index 3703b3e41e..8f22c61fa5 100644 --- a/sdk/go/azure/servicebus/getNamespace.go +++ b/sdk/go/azure/servicebus/getNamespace.go @@ -77,9 +77,11 @@ type LookupNamespaceResult struct { // The provider-assigned unique ID for this managed resource. Id string `pulumi:"id"` // The location of the Resource Group in which the ServiceBus Namespace exists. - Location string `pulumi:"location"` - Name string `pulumi:"name"` - ResourceGroupName string `pulumi:"resourceGroupName"` + Location string `pulumi:"location"` + Name string `pulumi:"name"` + // The messaging partitions of the ServiceBus Namespace. + PremiumMessagingPartitions int `pulumi:"premiumMessagingPartitions"` + ResourceGroupName string `pulumi:"resourceGroupName"` // The Tier used for the ServiceBus Namespace. Sku string `pulumi:"sku"` // A mapping of tags assigned to the resource. @@ -174,6 +176,11 @@ func (o LookupNamespaceResultOutput) Name() pulumi.StringOutput { return o.ApplyT(func(v LookupNamespaceResult) string { return v.Name }).(pulumi.StringOutput) } +// The messaging partitions of the ServiceBus Namespace. +func (o LookupNamespaceResultOutput) PremiumMessagingPartitions() pulumi.IntOutput { + return o.ApplyT(func(v LookupNamespaceResult) int { return v.PremiumMessagingPartitions }).(pulumi.IntOutput) +} + func (o LookupNamespaceResultOutput) ResourceGroupName() pulumi.StringOutput { return o.ApplyT(func(v LookupNamespaceResult) string { return v.ResourceGroupName }).(pulumi.StringOutput) } diff --git a/sdk/go/azure/servicebus/namespace.go b/sdk/go/azure/servicebus/namespace.go index ce43f818f0..5d10929b2f 100644 --- a/sdk/go/azure/servicebus/namespace.go +++ b/sdk/go/azure/servicebus/namespace.go @@ -90,6 +90,10 @@ type Namespace struct { Name pulumi.StringOutput `pulumi:"name"` // An `networkRuleSet` block as defined below. NetworkRuleSet NamespaceNetworkRuleSetTypeOutput `pulumi:"networkRuleSet"` + // Specifies the number messaging partitions. Only valid when `sku` is `Premium` and the minimum number is `1`. Possible values include `0`, `1`, `2`, and `4`. Defaults to `0` for Standard, Basic namespace. Changing this forces a new resource to be created. + // + // > **Note:** It's not possible to change the partitioning option on any existing namespace. The number of partitions can only be set during namespace creation. Please check the doc https://learn.microsoft.com/en-us/azure/service-bus-messaging/enable-partitions-premium for more feature restrictions. + PremiumMessagingPartitions pulumi.IntPtrOutput `pulumi:"premiumMessagingPartitions"` // Is public network access enabled for the Service Bus Namespace? Defaults to `true`. PublicNetworkAccessEnabled pulumi.BoolPtrOutput `pulumi:"publicNetworkAccessEnabled"` // The name of the resource group in which to Changing this forces a new resource to be created. @@ -178,6 +182,10 @@ type namespaceState struct { Name *string `pulumi:"name"` // An `networkRuleSet` block as defined below. NetworkRuleSet *NamespaceNetworkRuleSetType `pulumi:"networkRuleSet"` + // Specifies the number messaging partitions. Only valid when `sku` is `Premium` and the minimum number is `1`. Possible values include `0`, `1`, `2`, and `4`. Defaults to `0` for Standard, Basic namespace. Changing this forces a new resource to be created. + // + // > **Note:** It's not possible to change the partitioning option on any existing namespace. The number of partitions can only be set during namespace creation. Please check the doc https://learn.microsoft.com/en-us/azure/service-bus-messaging/enable-partitions-premium for more feature restrictions. + PremiumMessagingPartitions *int `pulumi:"premiumMessagingPartitions"` // Is public network access enabled for the Service Bus Namespace? Defaults to `true`. PublicNetworkAccessEnabled *bool `pulumi:"publicNetworkAccessEnabled"` // The name of the resource group in which to Changing this forces a new resource to be created. @@ -218,6 +226,10 @@ type NamespaceState struct { Name pulumi.StringPtrInput // An `networkRuleSet` block as defined below. NetworkRuleSet NamespaceNetworkRuleSetTypePtrInput + // Specifies the number messaging partitions. Only valid when `sku` is `Premium` and the minimum number is `1`. Possible values include `0`, `1`, `2`, and `4`. Defaults to `0` for Standard, Basic namespace. Changing this forces a new resource to be created. + // + // > **Note:** It's not possible to change the partitioning option on any existing namespace. The number of partitions can only be set during namespace creation. Please check the doc https://learn.microsoft.com/en-us/azure/service-bus-messaging/enable-partitions-premium for more feature restrictions. + PremiumMessagingPartitions pulumi.IntPtrInput // Is public network access enabled for the Service Bus Namespace? Defaults to `true`. PublicNetworkAccessEnabled pulumi.BoolPtrInput // The name of the resource group in which to Changing this forces a new resource to be created. @@ -252,6 +264,10 @@ type namespaceArgs struct { Name *string `pulumi:"name"` // An `networkRuleSet` block as defined below. NetworkRuleSet *NamespaceNetworkRuleSetType `pulumi:"networkRuleSet"` + // Specifies the number messaging partitions. Only valid when `sku` is `Premium` and the minimum number is `1`. Possible values include `0`, `1`, `2`, and `4`. Defaults to `0` for Standard, Basic namespace. Changing this forces a new resource to be created. + // + // > **Note:** It's not possible to change the partitioning option on any existing namespace. The number of partitions can only be set during namespace creation. Please check the doc https://learn.microsoft.com/en-us/azure/service-bus-messaging/enable-partitions-premium for more feature restrictions. + PremiumMessagingPartitions *int `pulumi:"premiumMessagingPartitions"` // Is public network access enabled for the Service Bus Namespace? Defaults to `true`. PublicNetworkAccessEnabled *bool `pulumi:"publicNetworkAccessEnabled"` // The name of the resource group in which to Changing this forces a new resource to be created. @@ -283,6 +299,10 @@ type NamespaceArgs struct { Name pulumi.StringPtrInput // An `networkRuleSet` block as defined below. NetworkRuleSet NamespaceNetworkRuleSetTypePtrInput + // Specifies the number messaging partitions. Only valid when `sku` is `Premium` and the minimum number is `1`. Possible values include `0`, `1`, `2`, and `4`. Defaults to `0` for Standard, Basic namespace. Changing this forces a new resource to be created. + // + // > **Note:** It's not possible to change the partitioning option on any existing namespace. The number of partitions can only be set during namespace creation. Please check the doc https://learn.microsoft.com/en-us/azure/service-bus-messaging/enable-partitions-premium for more feature restrictions. + PremiumMessagingPartitions pulumi.IntPtrInput // Is public network access enabled for the Service Bus Namespace? Defaults to `true`. PublicNetworkAccessEnabled pulumi.BoolPtrInput // The name of the resource group in which to Changing this forces a new resource to be created. @@ -448,6 +468,13 @@ func (o NamespaceOutput) NetworkRuleSet() NamespaceNetworkRuleSetTypeOutput { return o.ApplyT(func(v *Namespace) NamespaceNetworkRuleSetTypeOutput { return v.NetworkRuleSet }).(NamespaceNetworkRuleSetTypeOutput) } +// Specifies the number messaging partitions. Only valid when `sku` is `Premium` and the minimum number is `1`. Possible values include `0`, `1`, `2`, and `4`. Defaults to `0` for Standard, Basic namespace. Changing this forces a new resource to be created. +// +// > **Note:** It's not possible to change the partitioning option on any existing namespace. The number of partitions can only be set during namespace creation. Please check the doc https://learn.microsoft.com/en-us/azure/service-bus-messaging/enable-partitions-premium for more feature restrictions. +func (o NamespaceOutput) PremiumMessagingPartitions() pulumi.IntPtrOutput { + return o.ApplyT(func(v *Namespace) pulumi.IntPtrOutput { return v.PremiumMessagingPartitions }).(pulumi.IntPtrOutput) +} + // Is public network access enabled for the Service Bus Namespace? Defaults to `true`. func (o NamespaceOutput) PublicNetworkAccessEnabled() pulumi.BoolPtrOutput { return o.ApplyT(func(v *Namespace) pulumi.BoolPtrOutput { return v.PublicNetworkAccessEnabled }).(pulumi.BoolPtrOutput) diff --git a/sdk/go/azure/servicebus/topic.go b/sdk/go/azure/servicebus/topic.go index eb64e33014..1b8c77dd84 100644 --- a/sdk/go/azure/servicebus/topic.go +++ b/sdk/go/azure/servicebus/topic.go @@ -97,9 +97,7 @@ type Topic struct { // The ID of the ServiceBus Namespace to create this topic in. Changing this forces a new resource to be created. NamespaceId pulumi.StringOutput `pulumi:"namespaceId"` NamespaceName pulumi.StringOutput `pulumi:"namespaceName"` - // Boolean flag which controls whether Changing this forces a new resource to be created. - // the Topic requires duplicate detection. Defaults to false. Changing this forces - // a new resource to be created. + // Boolean flag which controls whether the Topic requires duplicate detection. Defaults to false. Changing this forcesa new resource to be created. RequiresDuplicateDetection pulumi.BoolPtrOutput `pulumi:"requiresDuplicateDetection"` ResourceGroupName pulumi.StringOutput `pulumi:"resourceGroupName"` // The Status of the Service Bus Topic. Acceptable values are `Active` or `Disabled`. Defaults to `Active`. @@ -170,9 +168,7 @@ type topicState struct { // The ID of the ServiceBus Namespace to create this topic in. Changing this forces a new resource to be created. NamespaceId *string `pulumi:"namespaceId"` NamespaceName *string `pulumi:"namespaceName"` - // Boolean flag which controls whether Changing this forces a new resource to be created. - // the Topic requires duplicate detection. Defaults to false. Changing this forces - // a new resource to be created. + // Boolean flag which controls whether the Topic requires duplicate detection. Defaults to false. Changing this forcesa new resource to be created. RequiresDuplicateDetection *bool `pulumi:"requiresDuplicateDetection"` ResourceGroupName *string `pulumi:"resourceGroupName"` // The Status of the Service Bus Topic. Acceptable values are `Active` or `Disabled`. Defaults to `Active`. @@ -205,9 +201,7 @@ type TopicState struct { // The ID of the ServiceBus Namespace to create this topic in. Changing this forces a new resource to be created. NamespaceId pulumi.StringPtrInput NamespaceName pulumi.StringPtrInput - // Boolean flag which controls whether Changing this forces a new resource to be created. - // the Topic requires duplicate detection. Defaults to false. Changing this forces - // a new resource to be created. + // Boolean flag which controls whether the Topic requires duplicate detection. Defaults to false. Changing this forcesa new resource to be created. RequiresDuplicateDetection pulumi.BoolPtrInput ResourceGroupName pulumi.StringPtrInput // The Status of the Service Bus Topic. Acceptable values are `Active` or `Disabled`. Defaults to `Active`. @@ -243,9 +237,7 @@ type topicArgs struct { Name *string `pulumi:"name"` // The ID of the ServiceBus Namespace to create this topic in. Changing this forces a new resource to be created. NamespaceId string `pulumi:"namespaceId"` - // Boolean flag which controls whether Changing this forces a new resource to be created. - // the Topic requires duplicate detection. Defaults to false. Changing this forces - // a new resource to be created. + // Boolean flag which controls whether the Topic requires duplicate detection. Defaults to false. Changing this forcesa new resource to be created. RequiresDuplicateDetection *bool `pulumi:"requiresDuplicateDetection"` // The Status of the Service Bus Topic. Acceptable values are `Active` or `Disabled`. Defaults to `Active`. Status *string `pulumi:"status"` @@ -277,9 +269,7 @@ type TopicArgs struct { Name pulumi.StringPtrInput // The ID of the ServiceBus Namespace to create this topic in. Changing this forces a new resource to be created. NamespaceId pulumi.StringInput - // Boolean flag which controls whether Changing this forces a new resource to be created. - // the Topic requires duplicate detection. Defaults to false. Changing this forces - // a new resource to be created. + // Boolean flag which controls whether the Topic requires duplicate detection. Defaults to false. Changing this forcesa new resource to be created. RequiresDuplicateDetection pulumi.BoolPtrInput // The Status of the Service Bus Topic. Acceptable values are `Active` or `Disabled`. Defaults to `Active`. Status pulumi.StringPtrInput @@ -430,9 +420,7 @@ func (o TopicOutput) NamespaceName() pulumi.StringOutput { return o.ApplyT(func(v *Topic) pulumi.StringOutput { return v.NamespaceName }).(pulumi.StringOutput) } -// Boolean flag which controls whether Changing this forces a new resource to be created. -// the Topic requires duplicate detection. Defaults to false. Changing this forces -// a new resource to be created. +// Boolean flag which controls whether the Topic requires duplicate detection. Defaults to false. Changing this forcesa new resource to be created. func (o TopicOutput) RequiresDuplicateDetection() pulumi.BoolPtrOutput { return o.ApplyT(func(v *Topic) pulumi.BoolPtrOutput { return v.RequiresDuplicateDetection }).(pulumi.BoolPtrOutput) } diff --git a/sdk/go/azure/storage/getTableEntities.go b/sdk/go/azure/storage/getTableEntities.go new file mode 100644 index 0000000000..2e3b6afcd5 --- /dev/null +++ b/sdk/go/azure/storage/getTableEntities.go @@ -0,0 +1,149 @@ +// 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 storage + +import ( + "context" + "reflect" + + "github.com/pulumi/pulumi-azure/sdk/v5/go/azure/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// Use this data source to access information about an existing Storage Table Entity. +// +// ## Example Usage +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-azure/sdk/v5/go/azure/storage" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := storage.GetTableEntities(ctx, &storage.GetTableEntitiesArgs{ +// TableName: "example-table-name", +// StorageAccountName: "example-storage-account-name", +// Filter: "PartitionKey eq 'example'", +// }, nil) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +func GetTableEntities(ctx *pulumi.Context, args *GetTableEntitiesArgs, opts ...pulumi.InvokeOption) (*GetTableEntitiesResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetTableEntitiesResult + err := ctx.Invoke("azure:storage/getTableEntities:getTableEntities", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getTableEntities. +type GetTableEntitiesArgs struct { + // The filter used to retrieve the entities. + Filter string `pulumi:"filter"` + // A list of properties to select from the returned Storage Table Entities. + Selects []string `pulumi:"selects"` + // The name of the Storage Account where the Table exists. + StorageAccountName string `pulumi:"storageAccountName"` + // The name of the Table. + TableName string `pulumi:"tableName"` +} + +// A collection of values returned by getTableEntities. +type GetTableEntitiesResult struct { + Filter string `pulumi:"filter"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + // A list of `items` blocks as defined below. + Items []GetTableEntitiesItem `pulumi:"items"` + Selects []string `pulumi:"selects"` + StorageAccountName string `pulumi:"storageAccountName"` + TableName string `pulumi:"tableName"` +} + +func GetTableEntitiesOutput(ctx *pulumi.Context, args GetTableEntitiesOutputArgs, opts ...pulumi.InvokeOption) GetTableEntitiesResultOutput { + return pulumi.ToOutputWithContext(context.Background(), args). + ApplyT(func(v interface{}) (GetTableEntitiesResult, error) { + args := v.(GetTableEntitiesArgs) + r, err := GetTableEntities(ctx, &args, opts...) + var s GetTableEntitiesResult + if r != nil { + s = *r + } + return s, err + }).(GetTableEntitiesResultOutput) +} + +// A collection of arguments for invoking getTableEntities. +type GetTableEntitiesOutputArgs struct { + // The filter used to retrieve the entities. + Filter pulumi.StringInput `pulumi:"filter"` + // A list of properties to select from the returned Storage Table Entities. + Selects pulumi.StringArrayInput `pulumi:"selects"` + // The name of the Storage Account where the Table exists. + StorageAccountName pulumi.StringInput `pulumi:"storageAccountName"` + // The name of the Table. + TableName pulumi.StringInput `pulumi:"tableName"` +} + +func (GetTableEntitiesOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetTableEntitiesArgs)(nil)).Elem() +} + +// A collection of values returned by getTableEntities. +type GetTableEntitiesResultOutput struct{ *pulumi.OutputState } + +func (GetTableEntitiesResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetTableEntitiesResult)(nil)).Elem() +} + +func (o GetTableEntitiesResultOutput) ToGetTableEntitiesResultOutput() GetTableEntitiesResultOutput { + return o +} + +func (o GetTableEntitiesResultOutput) ToGetTableEntitiesResultOutputWithContext(ctx context.Context) GetTableEntitiesResultOutput { + return o +} + +func (o GetTableEntitiesResultOutput) Filter() pulumi.StringOutput { + return o.ApplyT(func(v GetTableEntitiesResult) string { return v.Filter }).(pulumi.StringOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o GetTableEntitiesResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetTableEntitiesResult) string { return v.Id }).(pulumi.StringOutput) +} + +// A list of `items` blocks as defined below. +func (o GetTableEntitiesResultOutput) Items() GetTableEntitiesItemArrayOutput { + return o.ApplyT(func(v GetTableEntitiesResult) []GetTableEntitiesItem { return v.Items }).(GetTableEntitiesItemArrayOutput) +} + +func (o GetTableEntitiesResultOutput) Selects() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetTableEntitiesResult) []string { return v.Selects }).(pulumi.StringArrayOutput) +} + +func (o GetTableEntitiesResultOutput) StorageAccountName() pulumi.StringOutput { + return o.ApplyT(func(v GetTableEntitiesResult) string { return v.StorageAccountName }).(pulumi.StringOutput) +} + +func (o GetTableEntitiesResultOutput) TableName() pulumi.StringOutput { + return o.ApplyT(func(v GetTableEntitiesResult) string { return v.TableName }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(GetTableEntitiesResultOutput{}) +} diff --git a/sdk/go/azure/storage/pulumiTypes.go b/sdk/go/azure/storage/pulumiTypes.go index 7791f2731f..f157180dec 100644 --- a/sdk/go/azure/storage/pulumiTypes.go +++ b/sdk/go/azure/storage/pulumiTypes.go @@ -9497,6 +9497,121 @@ func (o GetShareAclAccessPolicyArrayOutput) Index(i pulumi.IntInput) GetShareAcl }).(GetShareAclAccessPolicyOutput) } +type GetTableEntitiesItem struct { + // Partition Key of the Entity. + PartitionKey string `pulumi:"partitionKey"` + // A map of any additional properties in key-value format. + Properties map[string]string `pulumi:"properties"` + // Row Key of the Entity. + RowKey string `pulumi:"rowKey"` +} + +// GetTableEntitiesItemInput is an input type that accepts GetTableEntitiesItemArgs and GetTableEntitiesItemOutput values. +// You can construct a concrete instance of `GetTableEntitiesItemInput` via: +// +// GetTableEntitiesItemArgs{...} +type GetTableEntitiesItemInput interface { + pulumi.Input + + ToGetTableEntitiesItemOutput() GetTableEntitiesItemOutput + ToGetTableEntitiesItemOutputWithContext(context.Context) GetTableEntitiesItemOutput +} + +type GetTableEntitiesItemArgs struct { + // Partition Key of the Entity. + PartitionKey pulumi.StringInput `pulumi:"partitionKey"` + // A map of any additional properties in key-value format. + Properties pulumi.StringMapInput `pulumi:"properties"` + // Row Key of the Entity. + RowKey pulumi.StringInput `pulumi:"rowKey"` +} + +func (GetTableEntitiesItemArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetTableEntitiesItem)(nil)).Elem() +} + +func (i GetTableEntitiesItemArgs) ToGetTableEntitiesItemOutput() GetTableEntitiesItemOutput { + return i.ToGetTableEntitiesItemOutputWithContext(context.Background()) +} + +func (i GetTableEntitiesItemArgs) ToGetTableEntitiesItemOutputWithContext(ctx context.Context) GetTableEntitiesItemOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetTableEntitiesItemOutput) +} + +// GetTableEntitiesItemArrayInput is an input type that accepts GetTableEntitiesItemArray and GetTableEntitiesItemArrayOutput values. +// You can construct a concrete instance of `GetTableEntitiesItemArrayInput` via: +// +// GetTableEntitiesItemArray{ GetTableEntitiesItemArgs{...} } +type GetTableEntitiesItemArrayInput interface { + pulumi.Input + + ToGetTableEntitiesItemArrayOutput() GetTableEntitiesItemArrayOutput + ToGetTableEntitiesItemArrayOutputWithContext(context.Context) GetTableEntitiesItemArrayOutput +} + +type GetTableEntitiesItemArray []GetTableEntitiesItemInput + +func (GetTableEntitiesItemArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetTableEntitiesItem)(nil)).Elem() +} + +func (i GetTableEntitiesItemArray) ToGetTableEntitiesItemArrayOutput() GetTableEntitiesItemArrayOutput { + return i.ToGetTableEntitiesItemArrayOutputWithContext(context.Background()) +} + +func (i GetTableEntitiesItemArray) ToGetTableEntitiesItemArrayOutputWithContext(ctx context.Context) GetTableEntitiesItemArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetTableEntitiesItemArrayOutput) +} + +type GetTableEntitiesItemOutput struct{ *pulumi.OutputState } + +func (GetTableEntitiesItemOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetTableEntitiesItem)(nil)).Elem() +} + +func (o GetTableEntitiesItemOutput) ToGetTableEntitiesItemOutput() GetTableEntitiesItemOutput { + return o +} + +func (o GetTableEntitiesItemOutput) ToGetTableEntitiesItemOutputWithContext(ctx context.Context) GetTableEntitiesItemOutput { + return o +} + +// Partition Key of the Entity. +func (o GetTableEntitiesItemOutput) PartitionKey() pulumi.StringOutput { + return o.ApplyT(func(v GetTableEntitiesItem) string { return v.PartitionKey }).(pulumi.StringOutput) +} + +// A map of any additional properties in key-value format. +func (o GetTableEntitiesItemOutput) Properties() pulumi.StringMapOutput { + return o.ApplyT(func(v GetTableEntitiesItem) map[string]string { return v.Properties }).(pulumi.StringMapOutput) +} + +// Row Key of the Entity. +func (o GetTableEntitiesItemOutput) RowKey() pulumi.StringOutput { + return o.ApplyT(func(v GetTableEntitiesItem) string { return v.RowKey }).(pulumi.StringOutput) +} + +type GetTableEntitiesItemArrayOutput struct{ *pulumi.OutputState } + +func (GetTableEntitiesItemArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetTableEntitiesItem)(nil)).Elem() +} + +func (o GetTableEntitiesItemArrayOutput) ToGetTableEntitiesItemArrayOutput() GetTableEntitiesItemArrayOutput { + return o +} + +func (o GetTableEntitiesItemArrayOutput) ToGetTableEntitiesItemArrayOutputWithContext(ctx context.Context) GetTableEntitiesItemArrayOutput { + return o +} + +func (o GetTableEntitiesItemArrayOutput) Index(i pulumi.IntInput) GetTableEntitiesItemOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetTableEntitiesItem { + return vs[0].([]GetTableEntitiesItem)[vs[1].(int)] + }).(GetTableEntitiesItemOutput) +} + func init() { pulumi.RegisterInputType(reflect.TypeOf((*AccountAzureFilesAuthenticationInput)(nil)).Elem(), AccountAzureFilesAuthenticationArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*AccountAzureFilesAuthenticationPtrInput)(nil)).Elem(), AccountAzureFilesAuthenticationArgs{}) @@ -9617,6 +9732,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*GetShareAclArrayInput)(nil)).Elem(), GetShareAclArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetShareAclAccessPolicyInput)(nil)).Elem(), GetShareAclAccessPolicyArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetShareAclAccessPolicyArrayInput)(nil)).Elem(), GetShareAclAccessPolicyArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetTableEntitiesItemInput)(nil)).Elem(), GetTableEntitiesItemArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetTableEntitiesItemArrayInput)(nil)).Elem(), GetTableEntitiesItemArray{}) pulumi.RegisterOutputType(AccountAzureFilesAuthenticationOutput{}) pulumi.RegisterOutputType(AccountAzureFilesAuthenticationPtrOutput{}) pulumi.RegisterOutputType(AccountAzureFilesAuthenticationActiveDirectoryOutput{}) @@ -9736,4 +9853,6 @@ func init() { pulumi.RegisterOutputType(GetShareAclArrayOutput{}) pulumi.RegisterOutputType(GetShareAclAccessPolicyOutput{}) pulumi.RegisterOutputType(GetShareAclAccessPolicyArrayOutput{}) + pulumi.RegisterOutputType(GetTableEntitiesItemOutput{}) + pulumi.RegisterOutputType(GetTableEntitiesItemArrayOutput{}) } diff --git a/sdk/go/azure/synapse/pulumiTypes.go b/sdk/go/azure/synapse/pulumiTypes.go index ab57b8c578..f7ba8e6ad5 100644 --- a/sdk/go/azure/synapse/pulumiTypes.go +++ b/sdk/go/azure/synapse/pulumiTypes.go @@ -1633,6 +1633,8 @@ type WorkspaceCustomerManagedKey struct { KeyName *string `pulumi:"keyName"` // The Azure Key Vault Key Versionless ID to be used as the Customer Managed Key (CMK) for double encryption (e.g. `https://example-keyvault.vault.azure.net/type/cmk/`). KeyVersionlessId string `pulumi:"keyVersionlessId"` + // The User Assigned Identity ID to be used for accessing the Customer Managed Key for encryption. + UserAssignedIdentityId *string `pulumi:"userAssignedIdentityId"` } // WorkspaceCustomerManagedKeyInput is an input type that accepts WorkspaceCustomerManagedKeyArgs and WorkspaceCustomerManagedKeyOutput values. @@ -1651,6 +1653,8 @@ type WorkspaceCustomerManagedKeyArgs struct { KeyName pulumi.StringPtrInput `pulumi:"keyName"` // The Azure Key Vault Key Versionless ID to be used as the Customer Managed Key (CMK) for double encryption (e.g. `https://example-keyvault.vault.azure.net/type/cmk/`). KeyVersionlessId pulumi.StringInput `pulumi:"keyVersionlessId"` + // The User Assigned Identity ID to be used for accessing the Customer Managed Key for encryption. + UserAssignedIdentityId pulumi.StringPtrInput `pulumi:"userAssignedIdentityId"` } func (WorkspaceCustomerManagedKeyArgs) ElementType() reflect.Type { @@ -1740,6 +1744,11 @@ func (o WorkspaceCustomerManagedKeyOutput) KeyVersionlessId() pulumi.StringOutpu return o.ApplyT(func(v WorkspaceCustomerManagedKey) string { return v.KeyVersionlessId }).(pulumi.StringOutput) } +// The User Assigned Identity ID to be used for accessing the Customer Managed Key for encryption. +func (o WorkspaceCustomerManagedKeyOutput) UserAssignedIdentityId() pulumi.StringPtrOutput { + return o.ApplyT(func(v WorkspaceCustomerManagedKey) *string { return v.UserAssignedIdentityId }).(pulumi.StringPtrOutput) +} + type WorkspaceCustomerManagedKeyPtrOutput struct{ *pulumi.OutputState } func (WorkspaceCustomerManagedKeyPtrOutput) ElementType() reflect.Type { @@ -1784,6 +1793,16 @@ func (o WorkspaceCustomerManagedKeyPtrOutput) KeyVersionlessId() pulumi.StringPt }).(pulumi.StringPtrOutput) } +// The User Assigned Identity ID to be used for accessing the Customer Managed Key for encryption. +func (o WorkspaceCustomerManagedKeyPtrOutput) UserAssignedIdentityId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *WorkspaceCustomerManagedKey) *string { + if v == nil { + return nil + } + return v.UserAssignedIdentityId + }).(pulumi.StringPtrOutput) +} + type WorkspaceGithubRepo struct { // Specifies the GitHub account name. AccountName string `pulumi:"accountName"` diff --git a/sdk/go/azure/synapse/workspace.go b/sdk/go/azure/synapse/workspace.go index f6cde91664..7d2b09ab5a 100644 --- a/sdk/go/azure/synapse/workspace.go +++ b/sdk/go/azure/synapse/workspace.go @@ -241,7 +241,7 @@ import ( type Workspace struct { pulumi.CustomResourceState - // An `aadAdmin` block as defined below. Conflicts with `customerManagedKey`. + // An `aadAdmin` block as defined below. AadAdmin WorkspaceAadAdminTypeOutput `pulumi:"aadAdmin"` // An `azureDevopsRepo` block as defined below. AzureDevopsRepo WorkspaceAzureDevopsRepoPtrOutput `pulumi:"azureDevopsRepo"` @@ -251,7 +251,7 @@ type Workspace struct { ComputeSubnetId pulumi.StringPtrOutput `pulumi:"computeSubnetId"` // A list of Connectivity endpoints for this Synapse Workspace. ConnectivityEndpoints pulumi.StringMapOutput `pulumi:"connectivityEndpoints"` - // A `customerManagedKey` block as defined below. Conflicts with `aadAdmin`. + // A `customerManagedKey` block as defined below. CustomerManagedKey WorkspaceCustomerManagedKeyPtrOutput `pulumi:"customerManagedKey"` // Is data exfiltration protection enabled in this workspace? If set to `true`, `managedVirtualNetworkEnabled` must also be set to `true`. Changing this forces a new resource to be created. DataExfiltrationProtectionEnabled pulumi.BoolPtrOutput `pulumi:"dataExfiltrationProtectionEnabled"` @@ -332,7 +332,7 @@ func GetWorkspace(ctx *pulumi.Context, // Input properties used for looking up and filtering Workspace resources. type workspaceState struct { - // An `aadAdmin` block as defined below. Conflicts with `customerManagedKey`. + // An `aadAdmin` block as defined below. AadAdmin *WorkspaceAadAdminType `pulumi:"aadAdmin"` // An `azureDevopsRepo` block as defined below. AzureDevopsRepo *WorkspaceAzureDevopsRepo `pulumi:"azureDevopsRepo"` @@ -342,7 +342,7 @@ type workspaceState struct { ComputeSubnetId *string `pulumi:"computeSubnetId"` // A list of Connectivity endpoints for this Synapse Workspace. ConnectivityEndpoints map[string]string `pulumi:"connectivityEndpoints"` - // A `customerManagedKey` block as defined below. Conflicts with `aadAdmin`. + // A `customerManagedKey` block as defined below. CustomerManagedKey *WorkspaceCustomerManagedKey `pulumi:"customerManagedKey"` // Is data exfiltration protection enabled in this workspace? If set to `true`, `managedVirtualNetworkEnabled` must also be set to `true`. Changing this forces a new resource to be created. DataExfiltrationProtectionEnabled *bool `pulumi:"dataExfiltrationProtectionEnabled"` @@ -381,7 +381,7 @@ type workspaceState struct { } type WorkspaceState struct { - // An `aadAdmin` block as defined below. Conflicts with `customerManagedKey`. + // An `aadAdmin` block as defined below. AadAdmin WorkspaceAadAdminTypePtrInput // An `azureDevopsRepo` block as defined below. AzureDevopsRepo WorkspaceAzureDevopsRepoPtrInput @@ -391,7 +391,7 @@ type WorkspaceState struct { ComputeSubnetId pulumi.StringPtrInput // A list of Connectivity endpoints for this Synapse Workspace. ConnectivityEndpoints pulumi.StringMapInput - // A `customerManagedKey` block as defined below. Conflicts with `aadAdmin`. + // A `customerManagedKey` block as defined below. CustomerManagedKey WorkspaceCustomerManagedKeyPtrInput // Is data exfiltration protection enabled in this workspace? If set to `true`, `managedVirtualNetworkEnabled` must also be set to `true`. Changing this forces a new resource to be created. DataExfiltrationProtectionEnabled pulumi.BoolPtrInput @@ -434,7 +434,7 @@ func (WorkspaceState) ElementType() reflect.Type { } type workspaceArgs struct { - // An `aadAdmin` block as defined below. Conflicts with `customerManagedKey`. + // An `aadAdmin` block as defined below. AadAdmin *WorkspaceAadAdminType `pulumi:"aadAdmin"` // An `azureDevopsRepo` block as defined below. AzureDevopsRepo *WorkspaceAzureDevopsRepo `pulumi:"azureDevopsRepo"` @@ -442,7 +442,7 @@ type workspaceArgs struct { AzureadAuthenticationOnly *bool `pulumi:"azureadAuthenticationOnly"` // Subnet ID used for computes in workspace Changing this forces a new resource to be created. ComputeSubnetId *string `pulumi:"computeSubnetId"` - // A `customerManagedKey` block as defined below. Conflicts with `aadAdmin`. + // A `customerManagedKey` block as defined below. CustomerManagedKey *WorkspaceCustomerManagedKey `pulumi:"customerManagedKey"` // Is data exfiltration protection enabled in this workspace? If set to `true`, `managedVirtualNetworkEnabled` must also be set to `true`. Changing this forces a new resource to be created. DataExfiltrationProtectionEnabled *bool `pulumi:"dataExfiltrationProtectionEnabled"` @@ -482,7 +482,7 @@ type workspaceArgs struct { // The set of arguments for constructing a Workspace resource. type WorkspaceArgs struct { - // An `aadAdmin` block as defined below. Conflicts with `customerManagedKey`. + // An `aadAdmin` block as defined below. AadAdmin WorkspaceAadAdminTypePtrInput // An `azureDevopsRepo` block as defined below. AzureDevopsRepo WorkspaceAzureDevopsRepoPtrInput @@ -490,7 +490,7 @@ type WorkspaceArgs struct { AzureadAuthenticationOnly pulumi.BoolPtrInput // Subnet ID used for computes in workspace Changing this forces a new resource to be created. ComputeSubnetId pulumi.StringPtrInput - // A `customerManagedKey` block as defined below. Conflicts with `aadAdmin`. + // A `customerManagedKey` block as defined below. CustomerManagedKey WorkspaceCustomerManagedKeyPtrInput // Is data exfiltration protection enabled in this workspace? If set to `true`, `managedVirtualNetworkEnabled` must also be set to `true`. Changing this forces a new resource to be created. DataExfiltrationProtectionEnabled pulumi.BoolPtrInput @@ -615,7 +615,7 @@ func (o WorkspaceOutput) ToWorkspaceOutputWithContext(ctx context.Context) Works return o } -// An `aadAdmin` block as defined below. Conflicts with `customerManagedKey`. +// An `aadAdmin` block as defined below. func (o WorkspaceOutput) AadAdmin() WorkspaceAadAdminTypeOutput { return o.ApplyT(func(v *Workspace) WorkspaceAadAdminTypeOutput { return v.AadAdmin }).(WorkspaceAadAdminTypeOutput) } @@ -640,7 +640,7 @@ func (o WorkspaceOutput) ConnectivityEndpoints() pulumi.StringMapOutput { return o.ApplyT(func(v *Workspace) pulumi.StringMapOutput { return v.ConnectivityEndpoints }).(pulumi.StringMapOutput) } -// A `customerManagedKey` block as defined below. Conflicts with `aadAdmin`. +// A `customerManagedKey` block as defined below. func (o WorkspaceOutput) CustomerManagedKey() WorkspaceCustomerManagedKeyPtrOutput { return o.ApplyT(func(v *Workspace) WorkspaceCustomerManagedKeyPtrOutput { return v.CustomerManagedKey }).(WorkspaceCustomerManagedKeyPtrOutput) } diff --git a/sdk/go/azure/systemcenter/init.go b/sdk/go/azure/systemcenter/init.go new file mode 100644 index 0000000000..5982c8ea21 --- /dev/null +++ b/sdk/go/azure/systemcenter/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 systemcenter + +import ( + "fmt" + + "github.com/blang/semver" + "github.com/pulumi/pulumi-azure/sdk/v5/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:systemcenter/virtualMachineManagerServer:VirtualMachineManagerServer": + r = &VirtualMachineManagerServer{} + 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", + "systemcenter/virtualMachineManagerServer", + &module{version}, + ) +} diff --git a/sdk/go/azure/systemcenter/virtualMachineManagerServer.go b/sdk/go/azure/systemcenter/virtualMachineManagerServer.go new file mode 100644 index 0000000000..cf5b53f4d8 --- /dev/null +++ b/sdk/go/azure/systemcenter/virtualMachineManagerServer.go @@ -0,0 +1,410 @@ +// 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 systemcenter + +import ( + "context" + "reflect" + + "errors" + "github.com/pulumi/pulumi-azure/sdk/v5/go/azure/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// Manages a System Center Virtual Machine Manager Server. +// +// > **Note:** By request of the service team the provider no longer automatically registering the `Microsoft.ScVmm` Resource Provider for this resource. To register it you can run `az provider register --namespace Microsoft.ScVmm`. +// +// > **Note:** This resource depends on an existing `System Center Virtual Machine Manager Host Machine`, `Arc Resource Bridge` and `Custom Location`. Installing and configuring these dependencies is outside the scope of this document. See [Virtual Machine Manager documentation](https://learn.microsoft.com/en-us/system-center/vmm/?view=sc-vmm-2022) and [Install VMM](https://learn.microsoft.com/en-us/system-center/vmm/install?view=sc-vmm-2022) for more details of `System Center Virtual Machine Manager Host Machine`. See [What is Azure Arc resource bridge](https://learn.microsoft.com/en-us/azure/azure-arc/resource-bridge/overview) and [Overview of Arc-enabled System Center Virtual Machine Manager](https://learn.microsoft.com/en-us/azure/azure-arc/system-center-virtual-machine-manager/overview) for more details of `Arc Resource Bridge/Appliance`. See [Create and manage custom locations on Azure Arc-enabled Kubernetes](https://learn.microsoft.com/en-us/azure/azure-arc/kubernetes/custom-locations) for more details of `Custom Location`. If you encounter issues while configuring, we'd recommend opening a ticket with Microsoft Support. +// +// ## Example Usage +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-azure/sdk/v5/go/azure/core" +// "github.com/pulumi/pulumi-azure/sdk/v5/go/azure/systemcenter" +// "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 +// } +// _, err = systemcenter.NewVirtualMachineManagerServer(ctx, "example", &systemcenter.VirtualMachineManagerServerArgs{ +// Name: pulumi.String("example-scvmmms"), +// ResourceGroupName: example.Name, +// Location: example.Location, +// CustomLocationId: pulumi.String("/subscriptions/12345678-1234-9876-4563-123456789012/resourceGroups/resGroup1/providers/Microsoft.ExtendedLocation/customLocations/customLocation1"), +// Fqdn: pulumi.String("example.labtest"), +// Username: pulumi.String("testUser"), +// Password: pulumi.String("H@Sh1CoR3!"), +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// ## Import +// +// System Center Virtual Machine Manager Servers can be imported using the `resource id`, e.g. +// +// ```sh +// $ pulumi import azure:systemcenter/virtualMachineManagerServer:VirtualMachineManagerServer example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup1/providers/Microsoft.ScVmm/vmmServers/vmmServer1 +// ``` +type VirtualMachineManagerServer struct { + pulumi.CustomResourceState + + // The ID of the Custom Location for the System Center Virtual Machine Manager Server. Changing this forces a new resource to be created. + CustomLocationId pulumi.StringOutput `pulumi:"customLocationId"` + // The FQDN of the System Center Virtual Machine Manager Server. Changing this forces a new resource to be created. + Fqdn pulumi.StringOutput `pulumi:"fqdn"` + // The Azure Region where the System Center Virtual Machine Manager Server should exist. Changing this forces a new resource to be created. + Location pulumi.StringOutput `pulumi:"location"` + // The name of the System Center Virtual Machine Manager Server. Changing this forces a new resource to be created. + Name pulumi.StringOutput `pulumi:"name"` + // The password that is used to connect to the System Center Virtual Machine Manager Server. Changing this forces a new resource to be created. + Password pulumi.StringOutput `pulumi:"password"` + // The port on which the System Center Virtual Machine Manager Server is listening. Possible values are between `1` and `65535`. Changing this forces a new resource to be created. + Port pulumi.IntPtrOutput `pulumi:"port"` + // The name of the Resource Group where the System Center Virtual Machine Manager 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 System Center Virtual Machine Manager Server. + Tags pulumi.StringMapOutput `pulumi:"tags"` + // The username that is used to connect to the System Center Virtual Machine Manager Server. Changing this forces a new resource to be created. + Username pulumi.StringOutput `pulumi:"username"` +} + +// NewVirtualMachineManagerServer registers a new resource with the given unique name, arguments, and options. +func NewVirtualMachineManagerServer(ctx *pulumi.Context, + name string, args *VirtualMachineManagerServerArgs, opts ...pulumi.ResourceOption) (*VirtualMachineManagerServer, 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.Fqdn == nil { + return nil, errors.New("invalid value for required argument 'Fqdn'") + } + if args.Password == nil { + return nil, errors.New("invalid value for required argument 'Password'") + } + if args.ResourceGroupName == nil { + return nil, errors.New("invalid value for required argument 'ResourceGroupName'") + } + if args.Username == nil { + return nil, errors.New("invalid value for required argument 'Username'") + } + if args.Password != nil { + args.Password = pulumi.ToSecret(args.Password).(pulumi.StringInput) + } + secrets := pulumi.AdditionalSecretOutputs([]string{ + "password", + }) + opts = append(opts, secrets) + opts = internal.PkgResourceDefaultOpts(opts) + var resource VirtualMachineManagerServer + err := ctx.RegisterResource("azure:systemcenter/virtualMachineManagerServer:VirtualMachineManagerServer", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetVirtualMachineManagerServer gets an existing VirtualMachineManagerServer 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 GetVirtualMachineManagerServer(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *VirtualMachineManagerServerState, opts ...pulumi.ResourceOption) (*VirtualMachineManagerServer, error) { + var resource VirtualMachineManagerServer + err := ctx.ReadResource("azure:systemcenter/virtualMachineManagerServer:VirtualMachineManagerServer", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering VirtualMachineManagerServer resources. +type virtualMachineManagerServerState struct { + // The ID of the Custom Location for the System Center Virtual Machine Manager Server. Changing this forces a new resource to be created. + CustomLocationId *string `pulumi:"customLocationId"` + // The FQDN of the System Center Virtual Machine Manager Server. Changing this forces a new resource to be created. + Fqdn *string `pulumi:"fqdn"` + // The Azure Region where the System Center Virtual Machine Manager Server should exist. Changing this forces a new resource to be created. + Location *string `pulumi:"location"` + // The name of the System Center Virtual Machine Manager Server. Changing this forces a new resource to be created. + Name *string `pulumi:"name"` + // The password that is used to connect to the System Center Virtual Machine Manager Server. Changing this forces a new resource to be created. + Password *string `pulumi:"password"` + // The port on which the System Center Virtual Machine Manager Server is listening. Possible values are between `1` and `65535`. Changing this forces a new resource to be created. + Port *int `pulumi:"port"` + // The name of the Resource Group where the System Center Virtual Machine Manager 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 System Center Virtual Machine Manager Server. + Tags map[string]string `pulumi:"tags"` + // The username that is used to connect to the System Center Virtual Machine Manager Server. Changing this forces a new resource to be created. + Username *string `pulumi:"username"` +} + +type VirtualMachineManagerServerState struct { + // The ID of the Custom Location for the System Center Virtual Machine Manager Server. Changing this forces a new resource to be created. + CustomLocationId pulumi.StringPtrInput + // The FQDN of the System Center Virtual Machine Manager Server. Changing this forces a new resource to be created. + Fqdn pulumi.StringPtrInput + // The Azure Region where the System Center Virtual Machine Manager Server should exist. Changing this forces a new resource to be created. + Location pulumi.StringPtrInput + // The name of the System Center Virtual Machine Manager Server. Changing this forces a new resource to be created. + Name pulumi.StringPtrInput + // The password that is used to connect to the System Center Virtual Machine Manager Server. Changing this forces a new resource to be created. + Password pulumi.StringPtrInput + // The port on which the System Center Virtual Machine Manager Server is listening. Possible values are between `1` and `65535`. Changing this forces a new resource to be created. + Port pulumi.IntPtrInput + // The name of the Resource Group where the System Center Virtual Machine Manager should exist. Changing this forces a new resource to be created. + ResourceGroupName pulumi.StringPtrInput + // A mapping of tags which should be assigned to the System Center Virtual Machine Manager Server. + Tags pulumi.StringMapInput + // The username that is used to connect to the System Center Virtual Machine Manager Server. Changing this forces a new resource to be created. + Username pulumi.StringPtrInput +} + +func (VirtualMachineManagerServerState) ElementType() reflect.Type { + return reflect.TypeOf((*virtualMachineManagerServerState)(nil)).Elem() +} + +type virtualMachineManagerServerArgs struct { + // The ID of the Custom Location for the System Center Virtual Machine Manager Server. Changing this forces a new resource to be created. + CustomLocationId string `pulumi:"customLocationId"` + // The FQDN of the System Center Virtual Machine Manager Server. Changing this forces a new resource to be created. + Fqdn string `pulumi:"fqdn"` + // The Azure Region where the System Center Virtual Machine Manager Server should exist. Changing this forces a new resource to be created. + Location *string `pulumi:"location"` + // The name of the System Center Virtual Machine Manager Server. Changing this forces a new resource to be created. + Name *string `pulumi:"name"` + // The password that is used to connect to the System Center Virtual Machine Manager Server. Changing this forces a new resource to be created. + Password string `pulumi:"password"` + // The port on which the System Center Virtual Machine Manager Server is listening. Possible values are between `1` and `65535`. Changing this forces a new resource to be created. + Port *int `pulumi:"port"` + // The name of the Resource Group where the System Center Virtual Machine Manager 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 System Center Virtual Machine Manager Server. + Tags map[string]string `pulumi:"tags"` + // The username that is used to connect to the System Center Virtual Machine Manager Server. Changing this forces a new resource to be created. + Username string `pulumi:"username"` +} + +// The set of arguments for constructing a VirtualMachineManagerServer resource. +type VirtualMachineManagerServerArgs struct { + // The ID of the Custom Location for the System Center Virtual Machine Manager Server. Changing this forces a new resource to be created. + CustomLocationId pulumi.StringInput + // The FQDN of the System Center Virtual Machine Manager Server. Changing this forces a new resource to be created. + Fqdn pulumi.StringInput + // The Azure Region where the System Center Virtual Machine Manager Server should exist. Changing this forces a new resource to be created. + Location pulumi.StringPtrInput + // The name of the System Center Virtual Machine Manager Server. Changing this forces a new resource to be created. + Name pulumi.StringPtrInput + // The password that is used to connect to the System Center Virtual Machine Manager Server. Changing this forces a new resource to be created. + Password pulumi.StringInput + // The port on which the System Center Virtual Machine Manager Server is listening. Possible values are between `1` and `65535`. Changing this forces a new resource to be created. + Port pulumi.IntPtrInput + // The name of the Resource Group where the System Center Virtual Machine Manager should exist. Changing this forces a new resource to be created. + ResourceGroupName pulumi.StringInput + // A mapping of tags which should be assigned to the System Center Virtual Machine Manager Server. + Tags pulumi.StringMapInput + // The username that is used to connect to the System Center Virtual Machine Manager Server. Changing this forces a new resource to be created. + Username pulumi.StringInput +} + +func (VirtualMachineManagerServerArgs) ElementType() reflect.Type { + return reflect.TypeOf((*virtualMachineManagerServerArgs)(nil)).Elem() +} + +type VirtualMachineManagerServerInput interface { + pulumi.Input + + ToVirtualMachineManagerServerOutput() VirtualMachineManagerServerOutput + ToVirtualMachineManagerServerOutputWithContext(ctx context.Context) VirtualMachineManagerServerOutput +} + +func (*VirtualMachineManagerServer) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualMachineManagerServer)(nil)).Elem() +} + +func (i *VirtualMachineManagerServer) ToVirtualMachineManagerServerOutput() VirtualMachineManagerServerOutput { + return i.ToVirtualMachineManagerServerOutputWithContext(context.Background()) +} + +func (i *VirtualMachineManagerServer) ToVirtualMachineManagerServerOutputWithContext(ctx context.Context) VirtualMachineManagerServerOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualMachineManagerServerOutput) +} + +// VirtualMachineManagerServerArrayInput is an input type that accepts VirtualMachineManagerServerArray and VirtualMachineManagerServerArrayOutput values. +// You can construct a concrete instance of `VirtualMachineManagerServerArrayInput` via: +// +// VirtualMachineManagerServerArray{ VirtualMachineManagerServerArgs{...} } +type VirtualMachineManagerServerArrayInput interface { + pulumi.Input + + ToVirtualMachineManagerServerArrayOutput() VirtualMachineManagerServerArrayOutput + ToVirtualMachineManagerServerArrayOutputWithContext(context.Context) VirtualMachineManagerServerArrayOutput +} + +type VirtualMachineManagerServerArray []VirtualMachineManagerServerInput + +func (VirtualMachineManagerServerArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*VirtualMachineManagerServer)(nil)).Elem() +} + +func (i VirtualMachineManagerServerArray) ToVirtualMachineManagerServerArrayOutput() VirtualMachineManagerServerArrayOutput { + return i.ToVirtualMachineManagerServerArrayOutputWithContext(context.Background()) +} + +func (i VirtualMachineManagerServerArray) ToVirtualMachineManagerServerArrayOutputWithContext(ctx context.Context) VirtualMachineManagerServerArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualMachineManagerServerArrayOutput) +} + +// VirtualMachineManagerServerMapInput is an input type that accepts VirtualMachineManagerServerMap and VirtualMachineManagerServerMapOutput values. +// You can construct a concrete instance of `VirtualMachineManagerServerMapInput` via: +// +// VirtualMachineManagerServerMap{ "key": VirtualMachineManagerServerArgs{...} } +type VirtualMachineManagerServerMapInput interface { + pulumi.Input + + ToVirtualMachineManagerServerMapOutput() VirtualMachineManagerServerMapOutput + ToVirtualMachineManagerServerMapOutputWithContext(context.Context) VirtualMachineManagerServerMapOutput +} + +type VirtualMachineManagerServerMap map[string]VirtualMachineManagerServerInput + +func (VirtualMachineManagerServerMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*VirtualMachineManagerServer)(nil)).Elem() +} + +func (i VirtualMachineManagerServerMap) ToVirtualMachineManagerServerMapOutput() VirtualMachineManagerServerMapOutput { + return i.ToVirtualMachineManagerServerMapOutputWithContext(context.Background()) +} + +func (i VirtualMachineManagerServerMap) ToVirtualMachineManagerServerMapOutputWithContext(ctx context.Context) VirtualMachineManagerServerMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualMachineManagerServerMapOutput) +} + +type VirtualMachineManagerServerOutput struct{ *pulumi.OutputState } + +func (VirtualMachineManagerServerOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualMachineManagerServer)(nil)).Elem() +} + +func (o VirtualMachineManagerServerOutput) ToVirtualMachineManagerServerOutput() VirtualMachineManagerServerOutput { + return o +} + +func (o VirtualMachineManagerServerOutput) ToVirtualMachineManagerServerOutputWithContext(ctx context.Context) VirtualMachineManagerServerOutput { + return o +} + +// The ID of the Custom Location for the System Center Virtual Machine Manager Server. Changing this forces a new resource to be created. +func (o VirtualMachineManagerServerOutput) CustomLocationId() pulumi.StringOutput { + return o.ApplyT(func(v *VirtualMachineManagerServer) pulumi.StringOutput { return v.CustomLocationId }).(pulumi.StringOutput) +} + +// The FQDN of the System Center Virtual Machine Manager Server. Changing this forces a new resource to be created. +func (o VirtualMachineManagerServerOutput) Fqdn() pulumi.StringOutput { + return o.ApplyT(func(v *VirtualMachineManagerServer) pulumi.StringOutput { return v.Fqdn }).(pulumi.StringOutput) +} + +// The Azure Region where the System Center Virtual Machine Manager Server should exist. Changing this forces a new resource to be created. +func (o VirtualMachineManagerServerOutput) Location() pulumi.StringOutput { + return o.ApplyT(func(v *VirtualMachineManagerServer) pulumi.StringOutput { return v.Location }).(pulumi.StringOutput) +} + +// The name of the System Center Virtual Machine Manager Server. Changing this forces a new resource to be created. +func (o VirtualMachineManagerServerOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *VirtualMachineManagerServer) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// The password that is used to connect to the System Center Virtual Machine Manager Server. Changing this forces a new resource to be created. +func (o VirtualMachineManagerServerOutput) Password() pulumi.StringOutput { + return o.ApplyT(func(v *VirtualMachineManagerServer) pulumi.StringOutput { return v.Password }).(pulumi.StringOutput) +} + +// The port on which the System Center Virtual Machine Manager Server is listening. Possible values are between `1` and `65535`. Changing this forces a new resource to be created. +func (o VirtualMachineManagerServerOutput) Port() pulumi.IntPtrOutput { + return o.ApplyT(func(v *VirtualMachineManagerServer) pulumi.IntPtrOutput { return v.Port }).(pulumi.IntPtrOutput) +} + +// The name of the Resource Group where the System Center Virtual Machine Manager should exist. Changing this forces a new resource to be created. +func (o VirtualMachineManagerServerOutput) ResourceGroupName() pulumi.StringOutput { + return o.ApplyT(func(v *VirtualMachineManagerServer) pulumi.StringOutput { return v.ResourceGroupName }).(pulumi.StringOutput) +} + +// A mapping of tags which should be assigned to the System Center Virtual Machine Manager Server. +func (o VirtualMachineManagerServerOutput) Tags() pulumi.StringMapOutput { + return o.ApplyT(func(v *VirtualMachineManagerServer) pulumi.StringMapOutput { return v.Tags }).(pulumi.StringMapOutput) +} + +// The username that is used to connect to the System Center Virtual Machine Manager Server. Changing this forces a new resource to be created. +func (o VirtualMachineManagerServerOutput) Username() pulumi.StringOutput { + return o.ApplyT(func(v *VirtualMachineManagerServer) pulumi.StringOutput { return v.Username }).(pulumi.StringOutput) +} + +type VirtualMachineManagerServerArrayOutput struct{ *pulumi.OutputState } + +func (VirtualMachineManagerServerArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*VirtualMachineManagerServer)(nil)).Elem() +} + +func (o VirtualMachineManagerServerArrayOutput) ToVirtualMachineManagerServerArrayOutput() VirtualMachineManagerServerArrayOutput { + return o +} + +func (o VirtualMachineManagerServerArrayOutput) ToVirtualMachineManagerServerArrayOutputWithContext(ctx context.Context) VirtualMachineManagerServerArrayOutput { + return o +} + +func (o VirtualMachineManagerServerArrayOutput) Index(i pulumi.IntInput) VirtualMachineManagerServerOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *VirtualMachineManagerServer { + return vs[0].([]*VirtualMachineManagerServer)[vs[1].(int)] + }).(VirtualMachineManagerServerOutput) +} + +type VirtualMachineManagerServerMapOutput struct{ *pulumi.OutputState } + +func (VirtualMachineManagerServerMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*VirtualMachineManagerServer)(nil)).Elem() +} + +func (o VirtualMachineManagerServerMapOutput) ToVirtualMachineManagerServerMapOutput() VirtualMachineManagerServerMapOutput { + return o +} + +func (o VirtualMachineManagerServerMapOutput) ToVirtualMachineManagerServerMapOutputWithContext(ctx context.Context) VirtualMachineManagerServerMapOutput { + return o +} + +func (o VirtualMachineManagerServerMapOutput) MapIndex(k pulumi.StringInput) VirtualMachineManagerServerOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *VirtualMachineManagerServer { + return vs[0].(map[string]*VirtualMachineManagerServer)[vs[1].(string)] + }).(VirtualMachineManagerServerOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*VirtualMachineManagerServerInput)(nil)).Elem(), &VirtualMachineManagerServer{}) + pulumi.RegisterInputType(reflect.TypeOf((*VirtualMachineManagerServerArrayInput)(nil)).Elem(), VirtualMachineManagerServerArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*VirtualMachineManagerServerMapInput)(nil)).Elem(), VirtualMachineManagerServerMap{}) + pulumi.RegisterOutputType(VirtualMachineManagerServerOutput{}) + pulumi.RegisterOutputType(VirtualMachineManagerServerArrayOutput{}) + pulumi.RegisterOutputType(VirtualMachineManagerServerMapOutput{}) +} diff --git a/sdk/java/src/main/java/com/pulumi/azure/appplatform/SpringCloudConfigurationService.java b/sdk/java/src/main/java/com/pulumi/azure/appplatform/SpringCloudConfigurationService.java index d208d7e236..67fdcd510c 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/appplatform/SpringCloudConfigurationService.java +++ b/sdk/java/src/main/java/com/pulumi/azure/appplatform/SpringCloudConfigurationService.java @@ -11,6 +11,7 @@ import com.pulumi.core.annotations.Export; import com.pulumi.core.annotations.ResourceType; import com.pulumi.core.internal.Codegen; +import java.lang.Integer; import java.lang.String; import java.util.List; import java.util.Optional; @@ -120,6 +121,20 @@ public Output> generation() { public Output name() { return this.name; } + /** + * Specifies how often to check repository updates. Minimum value is 0. + * + */ + @Export(name="refreshIntervalInSeconds", refs={Integer.class}, tree="[0]") + private Output refreshIntervalInSeconds; + + /** + * @return Specifies how often to check repository updates. Minimum value is 0. + * + */ + public Output> refreshIntervalInSeconds() { + return Codegen.optional(this.refreshIntervalInSeconds); + } /** * One or more `repository` blocks as defined below. * diff --git a/sdk/java/src/main/java/com/pulumi/azure/appplatform/SpringCloudConfigurationServiceArgs.java b/sdk/java/src/main/java/com/pulumi/azure/appplatform/SpringCloudConfigurationServiceArgs.java index 0d82541cb6..a89131cb3d 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/appplatform/SpringCloudConfigurationServiceArgs.java +++ b/sdk/java/src/main/java/com/pulumi/azure/appplatform/SpringCloudConfigurationServiceArgs.java @@ -7,6 +7,7 @@ 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; @@ -48,6 +49,21 @@ public Optional> name() { return Optional.ofNullable(this.name); } + /** + * Specifies how often to check repository updates. Minimum value is 0. + * + */ + @Import(name="refreshIntervalInSeconds") + private @Nullable Output refreshIntervalInSeconds; + + /** + * @return Specifies how often to check repository updates. Minimum value is 0. + * + */ + public Optional> refreshIntervalInSeconds() { + return Optional.ofNullable(this.refreshIntervalInSeconds); + } + /** * One or more `repository` blocks as defined below. * @@ -83,6 +99,7 @@ private SpringCloudConfigurationServiceArgs() {} private SpringCloudConfigurationServiceArgs(SpringCloudConfigurationServiceArgs $) { this.generation = $.generation; this.name = $.name; + this.refreshIntervalInSeconds = $.refreshIntervalInSeconds; this.repositories = $.repositories; this.springCloudServiceId = $.springCloudServiceId; } @@ -147,6 +164,27 @@ public Builder name(String name) { return name(Output.of(name)); } + /** + * @param refreshIntervalInSeconds Specifies how often to check repository updates. Minimum value is 0. + * + * @return builder + * + */ + public Builder refreshIntervalInSeconds(@Nullable Output refreshIntervalInSeconds) { + $.refreshIntervalInSeconds = refreshIntervalInSeconds; + return this; + } + + /** + * @param refreshIntervalInSeconds Specifies how often to check repository updates. Minimum value is 0. + * + * @return builder + * + */ + public Builder refreshIntervalInSeconds(Integer refreshIntervalInSeconds) { + return refreshIntervalInSeconds(Output.of(refreshIntervalInSeconds)); + } + /** * @param repositories One or more `repository` blocks as defined below. * 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 100310bae1..1702bb137d 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 @@ -139,6 +139,20 @@ public class SpringCloudGateway extends com.pulumi.resources.CustomResource { public Output> apiMetadata() { return Codegen.optional(this.apiMetadata); } + /** + * Specifies a list of Spring Cloud Application Performance Monitoring IDs. + * + */ + @Export(name="applicationPerformanceMonitoringIds", refs={List.class,String.class}, tree="[0,1]") + private Output> applicationPerformanceMonitoringIds; + + /** + * @return Specifies a list of Spring Cloud Application Performance Monitoring IDs. + * + */ + public Output>> applicationPerformanceMonitoringIds() { + return Codegen.optional(this.applicationPerformanceMonitoringIds); + } /** * Specifies a list of application performance monitoring types used in the Spring Cloud Gateway. The allowed values are `AppDynamics`, `ApplicationInsights`, `Dynatrace`, `ElasticAPM` and `NewRelic`. * 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 a33a5714ca..4092d6d19d 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 @@ -42,6 +42,21 @@ public Optional> apiMetadata() { return Optional.ofNullable(this.apiMetadata); } + /** + * Specifies a list of Spring Cloud Application Performance Monitoring IDs. + * + */ + @Import(name="applicationPerformanceMonitoringIds") + private @Nullable Output> applicationPerformanceMonitoringIds; + + /** + * @return Specifies a list of Spring Cloud Application Performance Monitoring IDs. + * + */ + public Optional>> applicationPerformanceMonitoringIds() { + return Optional.ofNullable(this.applicationPerformanceMonitoringIds); + } + /** * Specifies a list of application performance monitoring types used in the Spring Cloud Gateway. The allowed values are `AppDynamics`, `ApplicationInsights`, `Dynatrace`, `ElasticAPM` and `NewRelic`. * @@ -256,6 +271,7 @@ private SpringCloudGatewayArgs() {} private SpringCloudGatewayArgs(SpringCloudGatewayArgs $) { this.apiMetadata = $.apiMetadata; + this.applicationPerformanceMonitoringIds = $.applicationPerformanceMonitoringIds; this.applicationPerformanceMonitoringTypes = $.applicationPerformanceMonitoringTypes; this.clientAuthorization = $.clientAuthorization; this.cors = $.cors; @@ -311,6 +327,37 @@ public Builder apiMetadata(SpringCloudGatewayApiMetadataArgs apiMetadata) { return apiMetadata(Output.of(apiMetadata)); } + /** + * @param applicationPerformanceMonitoringIds Specifies a list of Spring Cloud Application Performance Monitoring IDs. + * + * @return builder + * + */ + public Builder applicationPerformanceMonitoringIds(@Nullable Output> applicationPerformanceMonitoringIds) { + $.applicationPerformanceMonitoringIds = applicationPerformanceMonitoringIds; + return this; + } + + /** + * @param applicationPerformanceMonitoringIds Specifies a list of Spring Cloud Application Performance Monitoring IDs. + * + * @return builder + * + */ + public Builder applicationPerformanceMonitoringIds(List applicationPerformanceMonitoringIds) { + return applicationPerformanceMonitoringIds(Output.of(applicationPerformanceMonitoringIds)); + } + + /** + * @param applicationPerformanceMonitoringIds Specifies a list of Spring Cloud Application Performance Monitoring IDs. + * + * @return builder + * + */ + public Builder applicationPerformanceMonitoringIds(String... applicationPerformanceMonitoringIds) { + return applicationPerformanceMonitoringIds(List.of(applicationPerformanceMonitoringIds)); + } + /** * @param applicationPerformanceMonitoringTypes Specifies a list of application performance monitoring types used in the Spring Cloud Gateway. The allowed values are `AppDynamics`, `ApplicationInsights`, `Dynatrace`, `ElasticAPM` and `NewRelic`. * diff --git a/sdk/java/src/main/java/com/pulumi/azure/appplatform/inputs/SpringCloudConfigurationServiceState.java b/sdk/java/src/main/java/com/pulumi/azure/appplatform/inputs/SpringCloudConfigurationServiceState.java index 7e0edc4850..71e33fd5b4 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/appplatform/inputs/SpringCloudConfigurationServiceState.java +++ b/sdk/java/src/main/java/com/pulumi/azure/appplatform/inputs/SpringCloudConfigurationServiceState.java @@ -6,6 +6,7 @@ import com.pulumi.azure.appplatform.inputs.SpringCloudConfigurationServiceRepositoryArgs; import com.pulumi.core.Output; import com.pulumi.core.annotations.Import; +import java.lang.Integer; import java.lang.String; import java.util.List; import java.util.Objects; @@ -47,6 +48,21 @@ public Optional> name() { return Optional.ofNullable(this.name); } + /** + * Specifies how often to check repository updates. Minimum value is 0. + * + */ + @Import(name="refreshIntervalInSeconds") + private @Nullable Output refreshIntervalInSeconds; + + /** + * @return Specifies how often to check repository updates. Minimum value is 0. + * + */ + public Optional> refreshIntervalInSeconds() { + return Optional.ofNullable(this.refreshIntervalInSeconds); + } + /** * One or more `repository` blocks as defined below. * @@ -82,6 +98,7 @@ private SpringCloudConfigurationServiceState() {} private SpringCloudConfigurationServiceState(SpringCloudConfigurationServiceState $) { this.generation = $.generation; this.name = $.name; + this.refreshIntervalInSeconds = $.refreshIntervalInSeconds; this.repositories = $.repositories; this.springCloudServiceId = $.springCloudServiceId; } @@ -146,6 +163,27 @@ public Builder name(String name) { return name(Output.of(name)); } + /** + * @param refreshIntervalInSeconds Specifies how often to check repository updates. Minimum value is 0. + * + * @return builder + * + */ + public Builder refreshIntervalInSeconds(@Nullable Output refreshIntervalInSeconds) { + $.refreshIntervalInSeconds = refreshIntervalInSeconds; + return this; + } + + /** + * @param refreshIntervalInSeconds Specifies how often to check repository updates. Minimum value is 0. + * + * @return builder + * + */ + public Builder refreshIntervalInSeconds(Integer refreshIntervalInSeconds) { + return refreshIntervalInSeconds(Output.of(refreshIntervalInSeconds)); + } + /** * @param repositories One or more `repository` blocks as defined below. * diff --git a/sdk/java/src/main/java/com/pulumi/azure/appplatform/inputs/SpringCloudCustomizedAcceleratorGitRepositoryArgs.java b/sdk/java/src/main/java/com/pulumi/azure/appplatform/inputs/SpringCloudCustomizedAcceleratorGitRepositoryArgs.java index 8be6ec7de7..e473a53227 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/appplatform/inputs/SpringCloudCustomizedAcceleratorGitRepositoryArgs.java +++ b/sdk/java/src/main/java/com/pulumi/azure/appplatform/inputs/SpringCloudCustomizedAcceleratorGitRepositoryArgs.java @@ -20,14 +20,14 @@ public final class SpringCloudCustomizedAcceleratorGitRepositoryArgs extends com public static final SpringCloudCustomizedAcceleratorGitRepositoryArgs Empty = new SpringCloudCustomizedAcceleratorGitRepositoryArgs(); /** - * A `basic_auth` block as defined below. Conflicts with `git_repository.0.ssh_auth`. Changing this forces a new Spring Cloud Customized Accelerator to be created. + * A `basic_auth` block as defined below. Conflicts with `git_repository[0].ssh_auth`. Changing this forces a new Spring Cloud Customized Accelerator to be created. * */ @Import(name="basicAuth") private @Nullable Output basicAuth; /** - * @return A `basic_auth` block as defined below. Conflicts with `git_repository.0.ssh_auth`. Changing this forces a new Spring Cloud Customized Accelerator to be created. + * @return A `basic_auth` block as defined below. Conflicts with `git_repository[0].ssh_auth`. Changing this forces a new Spring Cloud Customized Accelerator to be created. * */ public Optional> basicAuth() { @@ -125,14 +125,14 @@ public Optional> path() { } /** - * A `ssh_auth` block as defined below. Conflicts with `git_repository.0.basic_auth`. Changing this forces a new Spring Cloud Customized Accelerator to be created. + * A `ssh_auth` block as defined below. Conflicts with `git_repository[0].basic_auth`. Changing this forces a new Spring Cloud Customized Accelerator to be created. * */ @Import(name="sshAuth") private @Nullable Output sshAuth; /** - * @return A `ssh_auth` block as defined below. Conflicts with `git_repository.0.basic_auth`. Changing this forces a new Spring Cloud Customized Accelerator to be created. + * @return A `ssh_auth` block as defined below. Conflicts with `git_repository[0].basic_auth`. Changing this forces a new Spring Cloud Customized Accelerator to be created. * */ public Optional> sshAuth() { @@ -187,7 +187,7 @@ public Builder(SpringCloudCustomizedAcceleratorGitRepositoryArgs defaults) { } /** - * @param basicAuth A `basic_auth` block as defined below. Conflicts with `git_repository.0.ssh_auth`. Changing this forces a new Spring Cloud Customized Accelerator to be created. + * @param basicAuth A `basic_auth` block as defined below. Conflicts with `git_repository[0].ssh_auth`. Changing this forces a new Spring Cloud Customized Accelerator to be created. * * @return builder * @@ -198,7 +198,7 @@ public Builder basicAuth(@Nullable Output> apiMetadata() { return Optional.ofNullable(this.apiMetadata); } + /** + * Specifies a list of Spring Cloud Application Performance Monitoring IDs. + * + */ + @Import(name="applicationPerformanceMonitoringIds") + private @Nullable Output> applicationPerformanceMonitoringIds; + + /** + * @return Specifies a list of Spring Cloud Application Performance Monitoring IDs. + * + */ + public Optional>> applicationPerformanceMonitoringIds() { + return Optional.ofNullable(this.applicationPerformanceMonitoringIds); + } + /** * Specifies a list of application performance monitoring types used in the Spring Cloud Gateway. The allowed values are `AppDynamics`, `ApplicationInsights`, `Dynatrace`, `ElasticAPM` and `NewRelic`. * @@ -270,6 +285,7 @@ private SpringCloudGatewayState() {} private SpringCloudGatewayState(SpringCloudGatewayState $) { this.apiMetadata = $.apiMetadata; + this.applicationPerformanceMonitoringIds = $.applicationPerformanceMonitoringIds; this.applicationPerformanceMonitoringTypes = $.applicationPerformanceMonitoringTypes; this.clientAuthorization = $.clientAuthorization; this.cors = $.cors; @@ -326,6 +342,37 @@ public Builder apiMetadata(SpringCloudGatewayApiMetadataArgs apiMetadata) { return apiMetadata(Output.of(apiMetadata)); } + /** + * @param applicationPerformanceMonitoringIds Specifies a list of Spring Cloud Application Performance Monitoring IDs. + * + * @return builder + * + */ + public Builder applicationPerformanceMonitoringIds(@Nullable Output> applicationPerformanceMonitoringIds) { + $.applicationPerformanceMonitoringIds = applicationPerformanceMonitoringIds; + return this; + } + + /** + * @param applicationPerformanceMonitoringIds Specifies a list of Spring Cloud Application Performance Monitoring IDs. + * + * @return builder + * + */ + public Builder applicationPerformanceMonitoringIds(List applicationPerformanceMonitoringIds) { + return applicationPerformanceMonitoringIds(Output.of(applicationPerformanceMonitoringIds)); + } + + /** + * @param applicationPerformanceMonitoringIds Specifies a list of Spring Cloud Application Performance Monitoring IDs. + * + * @return builder + * + */ + public Builder applicationPerformanceMonitoringIds(String... applicationPerformanceMonitoringIds) { + return applicationPerformanceMonitoringIds(List.of(applicationPerformanceMonitoringIds)); + } + /** * @param applicationPerformanceMonitoringTypes Specifies a list of application performance monitoring types used in the Spring Cloud Gateway. The allowed values are `AppDynamics`, `ApplicationInsights`, `Dynatrace`, `ElasticAPM` and `NewRelic`. * diff --git a/sdk/java/src/main/java/com/pulumi/azure/appplatform/outputs/SpringCloudCustomizedAcceleratorGitRepository.java b/sdk/java/src/main/java/com/pulumi/azure/appplatform/outputs/SpringCloudCustomizedAcceleratorGitRepository.java index dce9c0f12f..d8665e64cd 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/appplatform/outputs/SpringCloudCustomizedAcceleratorGitRepository.java +++ b/sdk/java/src/main/java/com/pulumi/azure/appplatform/outputs/SpringCloudCustomizedAcceleratorGitRepository.java @@ -16,7 +16,7 @@ @CustomType public final class SpringCloudCustomizedAcceleratorGitRepository { /** - * @return A `basic_auth` block as defined below. Conflicts with `git_repository.0.ssh_auth`. Changing this forces a new Spring Cloud Customized Accelerator to be created. + * @return A `basic_auth` block as defined below. Conflicts with `git_repository[0].ssh_auth`. Changing this forces a new Spring Cloud Customized Accelerator to be created. * */ private @Nullable SpringCloudCustomizedAcceleratorGitRepositoryBasicAuth basicAuth; @@ -51,7 +51,7 @@ public final class SpringCloudCustomizedAcceleratorGitRepository { */ private @Nullable String path; /** - * @return A `ssh_auth` block as defined below. Conflicts with `git_repository.0.basic_auth`. Changing this forces a new Spring Cloud Customized Accelerator to be created. + * @return A `ssh_auth` block as defined below. Conflicts with `git_repository[0].basic_auth`. Changing this forces a new Spring Cloud Customized Accelerator to be created. * */ private @Nullable SpringCloudCustomizedAcceleratorGitRepositorySshAuth sshAuth; @@ -63,7 +63,7 @@ public final class SpringCloudCustomizedAcceleratorGitRepository { private SpringCloudCustomizedAcceleratorGitRepository() {} /** - * @return A `basic_auth` block as defined below. Conflicts with `git_repository.0.ssh_auth`. Changing this forces a new Spring Cloud Customized Accelerator to be created. + * @return A `basic_auth` block as defined below. Conflicts with `git_repository[0].ssh_auth`. Changing this forces a new Spring Cloud Customized Accelerator to be created. * */ public Optional basicAuth() { @@ -112,7 +112,7 @@ public Optional path() { return Optional.ofNullable(this.path); } /** - * @return A `ssh_auth` block as defined below. Conflicts with `git_repository.0.basic_auth`. Changing this forces a new Spring Cloud Customized Accelerator to be created. + * @return A `ssh_auth` block as defined below. Conflicts with `git_repository[0].basic_auth`. Changing this forces a new Spring Cloud Customized Accelerator to be created. * */ public Optional sshAuth() { diff --git a/sdk/java/src/main/java/com/pulumi/azure/appservice/inputs/LinuxWebAppSiteConfigApplicationStackArgs.java b/sdk/java/src/main/java/com/pulumi/azure/appservice/inputs/LinuxWebAppSiteConfigApplicationStackArgs.java index cab36b653a..23dd46fb7b 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/appservice/inputs/LinuxWebAppSiteConfigApplicationStackArgs.java +++ b/sdk/java/src/main/java/com/pulumi/azure/appservice/inputs/LinuxWebAppSiteConfigApplicationStackArgs.java @@ -254,14 +254,14 @@ public Optional> pythonVersion() { } /** - * Te version of Ruby to run. Possible values include `2.6` and `2.7`. + * The version of Ruby to run. Possible values include `2.6` and `2.7`. * */ @Import(name="rubyVersion") private @Nullable Output rubyVersion; /** - * @return Te version of Ruby to run. Possible values include `2.6` and `2.7`. + * @return The version of Ruby to run. Possible values include `2.6` and `2.7`. * */ public Optional> rubyVersion() { @@ -629,7 +629,7 @@ public Builder pythonVersion(String pythonVersion) { } /** - * @param rubyVersion Te version of Ruby to run. Possible values include `2.6` and `2.7`. + * @param rubyVersion The version of Ruby to run. Possible values include `2.6` and `2.7`. * * @return builder * @@ -640,7 +640,7 @@ public Builder rubyVersion(@Nullable Output rubyVersion) { } /** - * @param rubyVersion Te version of Ruby to run. Possible values include `2.6` and `2.7`. + * @param rubyVersion The version of Ruby to run. Possible values include `2.6` and `2.7`. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/azure/appservice/inputs/LinuxWebAppSlotSiteConfigApplicationStackArgs.java b/sdk/java/src/main/java/com/pulumi/azure/appservice/inputs/LinuxWebAppSlotSiteConfigApplicationStackArgs.java index f5dbc10515..fce7e7c996 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/appservice/inputs/LinuxWebAppSlotSiteConfigApplicationStackArgs.java +++ b/sdk/java/src/main/java/com/pulumi/azure/appservice/inputs/LinuxWebAppSlotSiteConfigApplicationStackArgs.java @@ -254,14 +254,14 @@ public Optional> pythonVersion() { } /** - * Te version of Ruby to run. Possible values include `2.6` and `2.7`. + * The version of Ruby to run. Possible values include `2.6` and `2.7`. * */ @Import(name="rubyVersion") private @Nullable Output rubyVersion; /** - * @return Te version of Ruby to run. Possible values include `2.6` and `2.7`. + * @return The version of Ruby to run. Possible values include `2.6` and `2.7`. * */ public Optional> rubyVersion() { @@ -629,7 +629,7 @@ public Builder pythonVersion(String pythonVersion) { } /** - * @param rubyVersion Te version of Ruby to run. Possible values include `2.6` and `2.7`. + * @param rubyVersion The version of Ruby to run. Possible values include `2.6` and `2.7`. * * @return builder * @@ -640,7 +640,7 @@ public Builder rubyVersion(@Nullable Output rubyVersion) { } /** - * @param rubyVersion Te version of Ruby to run. Possible values include `2.6` and `2.7`. + * @param rubyVersion The version of Ruby to run. Possible values include `2.6` and `2.7`. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/azure/appservice/outputs/LinuxWebAppSiteConfigApplicationStack.java b/sdk/java/src/main/java/com/pulumi/azure/appservice/outputs/LinuxWebAppSiteConfigApplicationStack.java index 2d75ec1d6d..2b377cfadf 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/appservice/outputs/LinuxWebAppSiteConfigApplicationStack.java +++ b/sdk/java/src/main/java/com/pulumi/azure/appservice/outputs/LinuxWebAppSiteConfigApplicationStack.java @@ -96,7 +96,7 @@ public final class LinuxWebAppSiteConfigApplicationStack { */ private @Nullable String pythonVersion; /** - * @return Te version of Ruby to run. Possible values include `2.6` and `2.7`. + * @return The version of Ruby to run. Possible values include `2.6` and `2.7`. * */ private @Nullable String rubyVersion; @@ -215,7 +215,7 @@ public Optional pythonVersion() { return Optional.ofNullable(this.pythonVersion); } /** - * @return Te version of Ruby to run. Possible values include `2.6` and `2.7`. + * @return The version of Ruby to run. Possible values include `2.6` and `2.7`. * */ public Optional rubyVersion() { diff --git a/sdk/java/src/main/java/com/pulumi/azure/appservice/outputs/LinuxWebAppSlotSiteConfigApplicationStack.java b/sdk/java/src/main/java/com/pulumi/azure/appservice/outputs/LinuxWebAppSlotSiteConfigApplicationStack.java index 4f29fd0dda..11c2a2a527 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/appservice/outputs/LinuxWebAppSlotSiteConfigApplicationStack.java +++ b/sdk/java/src/main/java/com/pulumi/azure/appservice/outputs/LinuxWebAppSlotSiteConfigApplicationStack.java @@ -96,7 +96,7 @@ public final class LinuxWebAppSlotSiteConfigApplicationStack { */ private @Nullable String pythonVersion; /** - * @return Te version of Ruby to run. Possible values include `2.6` and `2.7`. + * @return The version of Ruby to run. Possible values include `2.6` and `2.7`. * */ private @Nullable String rubyVersion; @@ -215,7 +215,7 @@ public Optional pythonVersion() { return Optional.ofNullable(this.pythonVersion); } /** - * @return Te version of Ruby to run. Possible values include `2.6` and `2.7`. + * @return The version of Ruby to run. Possible values include `2.6` and `2.7`. * */ public Optional rubyVersion() { diff --git a/sdk/java/src/main/java/com/pulumi/azure/armmsi/FederatedIdentityCredential.java b/sdk/java/src/main/java/com/pulumi/azure/armmsi/FederatedIdentityCredential.java index d9d94f8752..1f4e8ccdce 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/armmsi/FederatedIdentityCredential.java +++ b/sdk/java/src/main/java/com/pulumi/azure/armmsi/FederatedIdentityCredential.java @@ -78,42 +78,42 @@ @ResourceType(type="azure:armmsi/federatedIdentityCredential:FederatedIdentityCredential") public class FederatedIdentityCredential extends com.pulumi.resources.CustomResource { /** - * Specifies the audience for this Federated Identity Credential. Changing this forces a new Federated Identity Credential to be created. + * Specifies the audience for this Federated Identity Credential. * */ @Export(name="audience", refs={String.class}, tree="[0]") private Output audience; /** - * @return Specifies the audience for this Federated Identity Credential. Changing this forces a new Federated Identity Credential to be created. + * @return Specifies the audience for this Federated Identity Credential. * */ public Output audience() { return this.audience; } /** - * Specifies the issuer of this Federated Identity Credential. Changing this forces a new Federated Identity Credential to be created. + * Specifies the issuer of this Federated Identity Credential. * */ @Export(name="issuer", refs={String.class}, tree="[0]") private Output issuer; /** - * @return Specifies the issuer of this Federated Identity Credential. Changing this forces a new Federated Identity Credential to be created. + * @return Specifies the issuer of this Federated Identity Credential. * */ public Output issuer() { return this.issuer; } /** - * Specifies the name of this Federated Identity Credential. Changing this forces a new Federated Identity Credential to be created. + * Specifies the name of this Federated Identity Credential. * */ @Export(name="name", refs={String.class}, tree="[0]") private Output name; /** - * @return Specifies the name of this Federated Identity Credential. Changing this forces a new Federated Identity Credential to be created. + * @return Specifies the name of this Federated Identity Credential. * */ public Output name() { @@ -148,14 +148,14 @@ public Output resourceGroupName() { return this.resourceGroupName; } /** - * Specifies the subject for this Federated Identity Credential. Changing this forces a new Federated Identity Credential to be created. + * Specifies the subject for this Federated Identity Credential. * */ @Export(name="subject", refs={String.class}, tree="[0]") private Output subject; /** - * @return Specifies the subject for this Federated Identity Credential. Changing this forces a new Federated Identity Credential to be created. + * @return Specifies the subject for this Federated Identity Credential. * */ public Output subject() { diff --git a/sdk/java/src/main/java/com/pulumi/azure/armmsi/FederatedIdentityCredentialArgs.java b/sdk/java/src/main/java/com/pulumi/azure/armmsi/FederatedIdentityCredentialArgs.java index 104078e7c7..8ad0125315 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/armmsi/FederatedIdentityCredentialArgs.java +++ b/sdk/java/src/main/java/com/pulumi/azure/armmsi/FederatedIdentityCredentialArgs.java @@ -17,14 +17,14 @@ public final class FederatedIdentityCredentialArgs extends com.pulumi.resources. public static final FederatedIdentityCredentialArgs Empty = new FederatedIdentityCredentialArgs(); /** - * Specifies the audience for this Federated Identity Credential. Changing this forces a new Federated Identity Credential to be created. + * Specifies the audience for this Federated Identity Credential. * */ @Import(name="audience", required=true) private Output audience; /** - * @return Specifies the audience for this Federated Identity Credential. Changing this forces a new Federated Identity Credential to be created. + * @return Specifies the audience for this Federated Identity Credential. * */ public Output audience() { @@ -32,14 +32,14 @@ public Output audience() { } /** - * Specifies the issuer of this Federated Identity Credential. Changing this forces a new Federated Identity Credential to be created. + * Specifies the issuer of this Federated Identity Credential. * */ @Import(name="issuer", required=true) private Output issuer; /** - * @return Specifies the issuer of this Federated Identity Credential. Changing this forces a new Federated Identity Credential to be created. + * @return Specifies the issuer of this Federated Identity Credential. * */ public Output issuer() { @@ -47,14 +47,14 @@ public Output issuer() { } /** - * Specifies the name of this Federated Identity Credential. Changing this forces a new Federated Identity Credential to be created. + * Specifies the name of this Federated Identity Credential. * */ @Import(name="name") private @Nullable Output name; /** - * @return Specifies the name of this Federated Identity Credential. Changing this forces a new Federated Identity Credential to be created. + * @return Specifies the name of this Federated Identity Credential. * */ public Optional> name() { @@ -92,14 +92,14 @@ public Output resourceGroupName() { } /** - * Specifies the subject for this Federated Identity Credential. Changing this forces a new Federated Identity Credential to be created. + * Specifies the subject for this Federated Identity Credential. * */ @Import(name="subject", required=true) private Output subject; /** - * @return Specifies the subject for this Federated Identity Credential. Changing this forces a new Federated Identity Credential to be created. + * @return Specifies the subject for this Federated Identity Credential. * */ public Output subject() { @@ -136,7 +136,7 @@ public Builder(FederatedIdentityCredentialArgs defaults) { } /** - * @param audience Specifies the audience for this Federated Identity Credential. Changing this forces a new Federated Identity Credential to be created. + * @param audience Specifies the audience for this Federated Identity Credential. * * @return builder * @@ -147,7 +147,7 @@ public Builder audience(Output audience) { } /** - * @param audience Specifies the audience for this Federated Identity Credential. Changing this forces a new Federated Identity Credential to be created. + * @param audience Specifies the audience for this Federated Identity Credential. * * @return builder * @@ -157,7 +157,7 @@ public Builder audience(String audience) { } /** - * @param issuer Specifies the issuer of this Federated Identity Credential. Changing this forces a new Federated Identity Credential to be created. + * @param issuer Specifies the issuer of this Federated Identity Credential. * * @return builder * @@ -168,7 +168,7 @@ public Builder issuer(Output issuer) { } /** - * @param issuer Specifies the issuer of this Federated Identity Credential. Changing this forces a new Federated Identity Credential to be created. + * @param issuer Specifies the issuer of this Federated Identity Credential. * * @return builder * @@ -178,7 +178,7 @@ public Builder issuer(String issuer) { } /** - * @param name Specifies the name of this Federated Identity Credential. Changing this forces a new Federated Identity Credential to be created. + * @param name Specifies the name of this Federated Identity Credential. * * @return builder * @@ -189,7 +189,7 @@ public Builder name(@Nullable Output name) { } /** - * @param name Specifies the name of this Federated Identity Credential. Changing this forces a new Federated Identity Credential to be created. + * @param name Specifies the name of this Federated Identity Credential. * * @return builder * @@ -241,7 +241,7 @@ public Builder resourceGroupName(String resourceGroupName) { } /** - * @param subject Specifies the subject for this Federated Identity Credential. Changing this forces a new Federated Identity Credential to be created. + * @param subject Specifies the subject for this Federated Identity Credential. * * @return builder * @@ -252,7 +252,7 @@ public Builder subject(Output subject) { } /** - * @param subject Specifies the subject for this Federated Identity Credential. Changing this forces a new Federated Identity Credential to be created. + * @param subject Specifies the subject for this Federated Identity Credential. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/azure/armmsi/inputs/FederatedIdentityCredentialState.java b/sdk/java/src/main/java/com/pulumi/azure/armmsi/inputs/FederatedIdentityCredentialState.java index e7e25e57a6..357c36823e 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/armmsi/inputs/FederatedIdentityCredentialState.java +++ b/sdk/java/src/main/java/com/pulumi/azure/armmsi/inputs/FederatedIdentityCredentialState.java @@ -16,14 +16,14 @@ public final class FederatedIdentityCredentialState extends com.pulumi.resources public static final FederatedIdentityCredentialState Empty = new FederatedIdentityCredentialState(); /** - * Specifies the audience for this Federated Identity Credential. Changing this forces a new Federated Identity Credential to be created. + * Specifies the audience for this Federated Identity Credential. * */ @Import(name="audience") private @Nullable Output audience; /** - * @return Specifies the audience for this Federated Identity Credential. Changing this forces a new Federated Identity Credential to be created. + * @return Specifies the audience for this Federated Identity Credential. * */ public Optional> audience() { @@ -31,14 +31,14 @@ public Optional> audience() { } /** - * Specifies the issuer of this Federated Identity Credential. Changing this forces a new Federated Identity Credential to be created. + * Specifies the issuer of this Federated Identity Credential. * */ @Import(name="issuer") private @Nullable Output issuer; /** - * @return Specifies the issuer of this Federated Identity Credential. Changing this forces a new Federated Identity Credential to be created. + * @return Specifies the issuer of this Federated Identity Credential. * */ public Optional> issuer() { @@ -46,14 +46,14 @@ public Optional> issuer() { } /** - * Specifies the name of this Federated Identity Credential. Changing this forces a new Federated Identity Credential to be created. + * Specifies the name of this Federated Identity Credential. * */ @Import(name="name") private @Nullable Output name; /** - * @return Specifies the name of this Federated Identity Credential. Changing this forces a new Federated Identity Credential to be created. + * @return Specifies the name of this Federated Identity Credential. * */ public Optional> name() { @@ -91,14 +91,14 @@ public Optional> resourceGroupName() { } /** - * Specifies the subject for this Federated Identity Credential. Changing this forces a new Federated Identity Credential to be created. + * Specifies the subject for this Federated Identity Credential. * */ @Import(name="subject") private @Nullable Output subject; /** - * @return Specifies the subject for this Federated Identity Credential. Changing this forces a new Federated Identity Credential to be created. + * @return Specifies the subject for this Federated Identity Credential. * */ public Optional> subject() { @@ -135,7 +135,7 @@ public Builder(FederatedIdentityCredentialState defaults) { } /** - * @param audience Specifies the audience for this Federated Identity Credential. Changing this forces a new Federated Identity Credential to be created. + * @param audience Specifies the audience for this Federated Identity Credential. * * @return builder * @@ -146,7 +146,7 @@ public Builder audience(@Nullable Output audience) { } /** - * @param audience Specifies the audience for this Federated Identity Credential. Changing this forces a new Federated Identity Credential to be created. + * @param audience Specifies the audience for this Federated Identity Credential. * * @return builder * @@ -156,7 +156,7 @@ public Builder audience(String audience) { } /** - * @param issuer Specifies the issuer of this Federated Identity Credential. Changing this forces a new Federated Identity Credential to be created. + * @param issuer Specifies the issuer of this Federated Identity Credential. * * @return builder * @@ -167,7 +167,7 @@ public Builder issuer(@Nullable Output issuer) { } /** - * @param issuer Specifies the issuer of this Federated Identity Credential. Changing this forces a new Federated Identity Credential to be created. + * @param issuer Specifies the issuer of this Federated Identity Credential. * * @return builder * @@ -177,7 +177,7 @@ public Builder issuer(String issuer) { } /** - * @param name Specifies the name of this Federated Identity Credential. Changing this forces a new Federated Identity Credential to be created. + * @param name Specifies the name of this Federated Identity Credential. * * @return builder * @@ -188,7 +188,7 @@ public Builder name(@Nullable Output name) { } /** - * @param name Specifies the name of this Federated Identity Credential. Changing this forces a new Federated Identity Credential to be created. + * @param name Specifies the name of this Federated Identity Credential. * * @return builder * @@ -240,7 +240,7 @@ public Builder resourceGroupName(String resourceGroupName) { } /** - * @param subject Specifies the subject for this Federated Identity Credential. Changing this forces a new Federated Identity Credential to be created. + * @param subject Specifies the subject for this Federated Identity Credential. * * @return builder * @@ -251,7 +251,7 @@ public Builder subject(@Nullable Output subject) { } /** - * @param subject Specifies the subject for this Federated Identity Credential. Changing this forces a new Federated Identity Credential to be created. + * @param subject Specifies the subject for this Federated Identity Credential. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/azure/avs/PrivateCloud.java b/sdk/java/src/main/java/com/pulumi/azure/avs/PrivateCloud.java index 7838904fb0..0933d9ad07 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/avs/PrivateCloud.java +++ b/sdk/java/src/main/java/com/pulumi/azure/avs/PrivateCloud.java @@ -112,16 +112,16 @@ public Output hcxCloudManagerEndpoint() { return this.hcxCloudManagerEndpoint; } /** - * Is the Private Cluster connected to the internet? This field can not updated with `management_cluster.0.size` together. - * > **NOTE :** `internet_connection_enabled` and `management_cluster.0.size` cannot be updated at the same time. + * Is the Private Cluster connected to the internet? This field can not updated with `management_cluster[0].size` together. + * > **NOTE :** `internet_connection_enabled` and `management_cluster[0].size` cannot be updated at the same time. * */ @Export(name="internetConnectionEnabled", refs={Boolean.class}, tree="[0]") private Output internetConnectionEnabled; /** - * @return Is the Private Cluster connected to the internet? This field can not updated with `management_cluster.0.size` together. - * > **NOTE :** `internet_connection_enabled` and `management_cluster.0.size` cannot be updated at the same time. + * @return Is the Private Cluster connected to the internet? This field can not updated with `management_cluster[0].size` together. + * > **NOTE :** `internet_connection_enabled` and `management_cluster[0].size` cannot be updated at the same time. * */ public Output> internetConnectionEnabled() { @@ -143,7 +143,7 @@ public Output location() { } /** * A `management_cluster` block as defined below. - * > **NOTE :** `internet_connection_enabled` and `management_cluster.0.size` cannot be updated at the same time. + * > **NOTE :** `internet_connection_enabled` and `management_cluster[0].size` cannot be updated at the same time. * */ @Export(name="managementCluster", refs={PrivateCloudManagementCluster.class}, tree="[0]") @@ -151,7 +151,7 @@ public Output location() { /** * @return A `management_cluster` block as defined below. - * > **NOTE :** `internet_connection_enabled` and `management_cluster.0.size` cannot be updated at the same time. + * > **NOTE :** `internet_connection_enabled` and `management_cluster[0].size` cannot be updated at the same time. * */ public Output managementCluster() { diff --git a/sdk/java/src/main/java/com/pulumi/azure/avs/PrivateCloudArgs.java b/sdk/java/src/main/java/com/pulumi/azure/avs/PrivateCloudArgs.java index 81f85bffde..f67a502807 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/avs/PrivateCloudArgs.java +++ b/sdk/java/src/main/java/com/pulumi/azure/avs/PrivateCloudArgs.java @@ -20,16 +20,16 @@ public final class PrivateCloudArgs extends com.pulumi.resources.ResourceArgs { public static final PrivateCloudArgs Empty = new PrivateCloudArgs(); /** - * Is the Private Cluster connected to the internet? This field can not updated with `management_cluster.0.size` together. - * > **NOTE :** `internet_connection_enabled` and `management_cluster.0.size` cannot be updated at the same time. + * Is the Private Cluster connected to the internet? This field can not updated with `management_cluster[0].size` together. + * > **NOTE :** `internet_connection_enabled` and `management_cluster[0].size` cannot be updated at the same time. * */ @Import(name="internetConnectionEnabled") private @Nullable Output internetConnectionEnabled; /** - * @return Is the Private Cluster connected to the internet? This field can not updated with `management_cluster.0.size` together. - * > **NOTE :** `internet_connection_enabled` and `management_cluster.0.size` cannot be updated at the same time. + * @return Is the Private Cluster connected to the internet? This field can not updated with `management_cluster[0].size` together. + * > **NOTE :** `internet_connection_enabled` and `management_cluster[0].size` cannot be updated at the same time. * */ public Optional> internetConnectionEnabled() { @@ -53,7 +53,7 @@ public Optional> location() { /** * A `management_cluster` block as defined below. - * > **NOTE :** `internet_connection_enabled` and `management_cluster.0.size` cannot be updated at the same time. + * > **NOTE :** `internet_connection_enabled` and `management_cluster[0].size` cannot be updated at the same time. * */ @Import(name="managementCluster", required=true) @@ -61,7 +61,7 @@ public Optional> location() { /** * @return A `management_cluster` block as defined below. - * > **NOTE :** `internet_connection_enabled` and `management_cluster.0.size` cannot be updated at the same time. + * > **NOTE :** `internet_connection_enabled` and `management_cluster[0].size` cannot be updated at the same time. * */ public Output managementCluster() { @@ -207,8 +207,8 @@ public Builder(PrivateCloudArgs defaults) { } /** - * @param internetConnectionEnabled Is the Private Cluster connected to the internet? This field can not updated with `management_cluster.0.size` together. - * > **NOTE :** `internet_connection_enabled` and `management_cluster.0.size` cannot be updated at the same time. + * @param internetConnectionEnabled Is the Private Cluster connected to the internet? This field can not updated with `management_cluster[0].size` together. + * > **NOTE :** `internet_connection_enabled` and `management_cluster[0].size` cannot be updated at the same time. * * @return builder * @@ -219,8 +219,8 @@ public Builder internetConnectionEnabled(@Nullable Output internetConne } /** - * @param internetConnectionEnabled Is the Private Cluster connected to the internet? This field can not updated with `management_cluster.0.size` together. - * > **NOTE :** `internet_connection_enabled` and `management_cluster.0.size` cannot be updated at the same time. + * @param internetConnectionEnabled Is the Private Cluster connected to the internet? This field can not updated with `management_cluster[0].size` together. + * > **NOTE :** `internet_connection_enabled` and `management_cluster[0].size` cannot be updated at the same time. * * @return builder * @@ -252,7 +252,7 @@ public Builder location(String location) { /** * @param managementCluster A `management_cluster` block as defined below. - * > **NOTE :** `internet_connection_enabled` and `management_cluster.0.size` cannot be updated at the same time. + * > **NOTE :** `internet_connection_enabled` and `management_cluster[0].size` cannot be updated at the same time. * * @return builder * @@ -264,7 +264,7 @@ public Builder managementCluster(Output manag /** * @param managementCluster A `management_cluster` block as defined below. - * > **NOTE :** `internet_connection_enabled` and `management_cluster.0.size` cannot be updated at the same time. + * > **NOTE :** `internet_connection_enabled` and `management_cluster[0].size` cannot be updated at the same time. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/azure/avs/inputs/PrivateCloudState.java b/sdk/java/src/main/java/com/pulumi/azure/avs/inputs/PrivateCloudState.java index 5944e438cf..31571d6b02 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/avs/inputs/PrivateCloudState.java +++ b/sdk/java/src/main/java/com/pulumi/azure/avs/inputs/PrivateCloudState.java @@ -51,16 +51,16 @@ public Optional> hcxCloudManagerEndpoint() { } /** - * Is the Private Cluster connected to the internet? This field can not updated with `management_cluster.0.size` together. - * > **NOTE :** `internet_connection_enabled` and `management_cluster.0.size` cannot be updated at the same time. + * Is the Private Cluster connected to the internet? This field can not updated with `management_cluster[0].size` together. + * > **NOTE :** `internet_connection_enabled` and `management_cluster[0].size` cannot be updated at the same time. * */ @Import(name="internetConnectionEnabled") private @Nullable Output internetConnectionEnabled; /** - * @return Is the Private Cluster connected to the internet? This field can not updated with `management_cluster.0.size` together. - * > **NOTE :** `internet_connection_enabled` and `management_cluster.0.size` cannot be updated at the same time. + * @return Is the Private Cluster connected to the internet? This field can not updated with `management_cluster[0].size` together. + * > **NOTE :** `internet_connection_enabled` and `management_cluster[0].size` cannot be updated at the same time. * */ public Optional> internetConnectionEnabled() { @@ -84,7 +84,7 @@ public Optional> location() { /** * A `management_cluster` block as defined below. - * > **NOTE :** `internet_connection_enabled` and `management_cluster.0.size` cannot be updated at the same time. + * > **NOTE :** `internet_connection_enabled` and `management_cluster[0].size` cannot be updated at the same time. * */ @Import(name="managementCluster") @@ -92,7 +92,7 @@ public Optional> location() { /** * @return A `management_cluster` block as defined below. - * > **NOTE :** `internet_connection_enabled` and `management_cluster.0.size` cannot be updated at the same time. + * > **NOTE :** `internet_connection_enabled` and `management_cluster[0].size` cannot be updated at the same time. * */ public Optional> managementCluster() { @@ -404,8 +404,8 @@ public Builder hcxCloudManagerEndpoint(String hcxCloudManagerEndpoint) { } /** - * @param internetConnectionEnabled Is the Private Cluster connected to the internet? This field can not updated with `management_cluster.0.size` together. - * > **NOTE :** `internet_connection_enabled` and `management_cluster.0.size` cannot be updated at the same time. + * @param internetConnectionEnabled Is the Private Cluster connected to the internet? This field can not updated with `management_cluster[0].size` together. + * > **NOTE :** `internet_connection_enabled` and `management_cluster[0].size` cannot be updated at the same time. * * @return builder * @@ -416,8 +416,8 @@ public Builder internetConnectionEnabled(@Nullable Output internetConne } /** - * @param internetConnectionEnabled Is the Private Cluster connected to the internet? This field can not updated with `management_cluster.0.size` together. - * > **NOTE :** `internet_connection_enabled` and `management_cluster.0.size` cannot be updated at the same time. + * @param internetConnectionEnabled Is the Private Cluster connected to the internet? This field can not updated with `management_cluster[0].size` together. + * > **NOTE :** `internet_connection_enabled` and `management_cluster[0].size` cannot be updated at the same time. * * @return builder * @@ -449,7 +449,7 @@ public Builder location(String location) { /** * @param managementCluster A `management_cluster` block as defined below. - * > **NOTE :** `internet_connection_enabled` and `management_cluster.0.size` cannot be updated at the same time. + * > **NOTE :** `internet_connection_enabled` and `management_cluster[0].size` cannot be updated at the same time. * * @return builder * @@ -461,7 +461,7 @@ public Builder managementCluster(@Nullable Output name() { } /** - * The extension can contain either `protected_settings` or `provision_after_extensions` or no protected settings at all. + * JSON formatted protected settings for the extension, the value should be encoded with `jsonencode` function. The extension can contain either `protected_settings` or `provision_after_extensions` or no protected settings at all. * */ @Import(name="protectedSettings") private @Nullable Output protectedSettings; /** - * @return The extension can contain either `protected_settings` or `provision_after_extensions` or no protected settings at all. + * @return JSON formatted protected settings for the extension, the value should be encoded with `jsonencode` function. The extension can contain either `protected_settings` or `provision_after_extensions` or no protected settings at all. * */ public Optional> protectedSettings() { @@ -113,14 +113,14 @@ public Output publisher() { } /** - * JSON formatted public settings for the extension. + * JSON formatted public settings for the extension, the value should be encoded with `jsonencode` function. * */ @Import(name="settingsJson") private @Nullable Output settingsJson; /** - * @return JSON formatted public settings for the extension. + * @return JSON formatted public settings for the extension, the value should be encoded with `jsonencode` function. * */ public Optional> settingsJson() { @@ -257,7 +257,7 @@ public Builder name(String name) { } /** - * @param protectedSettings The extension can contain either `protected_settings` or `provision_after_extensions` or no protected settings at all. + * @param protectedSettings JSON formatted protected settings for the extension, the value should be encoded with `jsonencode` function. The extension can contain either `protected_settings` or `provision_after_extensions` or no protected settings at all. * * @return builder * @@ -268,7 +268,7 @@ public Builder protectedSettings(@Nullable Output protectedSettings) { } /** - * @param protectedSettings The extension can contain either `protected_settings` or `provision_after_extensions` or no protected settings at all. + * @param protectedSettings JSON formatted protected settings for the extension, the value should be encoded with `jsonencode` function. The extension can contain either `protected_settings` or `provision_after_extensions` or no protected settings at all. * * @return builder * @@ -330,7 +330,7 @@ public Builder publisher(String publisher) { } /** - * @param settingsJson JSON formatted public settings for the extension. + * @param settingsJson JSON formatted public settings for the extension, the value should be encoded with `jsonencode` function. * * @return builder * @@ -341,7 +341,7 @@ public Builder settingsJson(@Nullable Output settingsJson) { } /** - * @param settingsJson JSON formatted public settings for the extension. + * @param settingsJson JSON formatted public settings for the extension, the value should be encoded with `jsonencode` function. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/azure/batch/outputs/PoolExtension.java b/sdk/java/src/main/java/com/pulumi/azure/batch/outputs/PoolExtension.java index 912f49578b..55af4f1416 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/batch/outputs/PoolExtension.java +++ b/sdk/java/src/main/java/com/pulumi/azure/batch/outputs/PoolExtension.java @@ -32,7 +32,7 @@ public final class PoolExtension { */ private String name; /** - * @return The extension can contain either `protected_settings` or `provision_after_extensions` or no protected settings at all. + * @return JSON formatted protected settings for the extension, the value should be encoded with `jsonencode` function. The extension can contain either `protected_settings` or `provision_after_extensions` or no protected settings at all. * */ private @Nullable String protectedSettings; @@ -47,7 +47,7 @@ public final class PoolExtension { */ private String publisher; /** - * @return JSON formatted public settings for the extension. + * @return JSON formatted public settings for the extension, the value should be encoded with `jsonencode` function. * */ private @Nullable String settingsJson; @@ -87,7 +87,7 @@ public String name() { return this.name; } /** - * @return The extension can contain either `protected_settings` or `provision_after_extensions` or no protected settings at all. + * @return JSON formatted protected settings for the extension, the value should be encoded with `jsonencode` function. The extension can contain either `protected_settings` or `provision_after_extensions` or no protected settings at all. * */ public Optional protectedSettings() { @@ -108,7 +108,7 @@ public String publisher() { return this.publisher; } /** - * @return JSON formatted public settings for the extension. + * @return JSON formatted public settings for the extension, the value should be encoded with `jsonencode` function. * */ public Optional settingsJson() { diff --git a/sdk/java/src/main/java/com/pulumi/azure/cognitive/Deployment.java b/sdk/java/src/main/java/com/pulumi/azure/cognitive/Deployment.java index 915b75241d..18d22c42d5 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/cognitive/Deployment.java +++ b/sdk/java/src/main/java/com/pulumi/azure/cognitive/Deployment.java @@ -159,14 +159,14 @@ public Output scale() { return this.scale; } /** - * Deployment model version upgrade option. Possible values are `OnceNewDefaultVersionAvailable`, `OnceCurrentVersionExpired`, and `NoAutoUpgrade`. Defaults to `OnceNewDefaultVersionAvailable`. Changing this forces a new resource to be created. + * Deployment model version upgrade option. Possible values are `OnceNewDefaultVersionAvailable`, `OnceCurrentVersionExpired`, and `NoAutoUpgrade`. Defaults to `OnceNewDefaultVersionAvailable`. * */ @Export(name="versionUpgradeOption", refs={String.class}, tree="[0]") private Output versionUpgradeOption; /** - * @return Deployment model version upgrade option. Possible values are `OnceNewDefaultVersionAvailable`, `OnceCurrentVersionExpired`, and `NoAutoUpgrade`. Defaults to `OnceNewDefaultVersionAvailable`. Changing this forces a new resource to be created. + * @return Deployment model version upgrade option. Possible values are `OnceNewDefaultVersionAvailable`, `OnceCurrentVersionExpired`, and `NoAutoUpgrade`. Defaults to `OnceNewDefaultVersionAvailable`. * */ public Output> versionUpgradeOption() { diff --git a/sdk/java/src/main/java/com/pulumi/azure/cognitive/DeploymentArgs.java b/sdk/java/src/main/java/com/pulumi/azure/cognitive/DeploymentArgs.java index 6ff4a51815..0160d25c9c 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/cognitive/DeploymentArgs.java +++ b/sdk/java/src/main/java/com/pulumi/azure/cognitive/DeploymentArgs.java @@ -94,14 +94,14 @@ public Output scale() { } /** - * Deployment model version upgrade option. Possible values are `OnceNewDefaultVersionAvailable`, `OnceCurrentVersionExpired`, and `NoAutoUpgrade`. Defaults to `OnceNewDefaultVersionAvailable`. Changing this forces a new resource to be created. + * Deployment model version upgrade option. Possible values are `OnceNewDefaultVersionAvailable`, `OnceCurrentVersionExpired`, and `NoAutoUpgrade`. Defaults to `OnceNewDefaultVersionAvailable`. * */ @Import(name="versionUpgradeOption") private @Nullable Output versionUpgradeOption; /** - * @return Deployment model version upgrade option. Possible values are `OnceNewDefaultVersionAvailable`, `OnceCurrentVersionExpired`, and `NoAutoUpgrade`. Defaults to `OnceNewDefaultVersionAvailable`. Changing this forces a new resource to be created. + * @return Deployment model version upgrade option. Possible values are `OnceNewDefaultVersionAvailable`, `OnceCurrentVersionExpired`, and `NoAutoUpgrade`. Defaults to `OnceNewDefaultVersionAvailable`. * */ public Optional> versionUpgradeOption() { @@ -243,7 +243,7 @@ public Builder scale(DeploymentScaleArgs scale) { } /** - * @param versionUpgradeOption Deployment model version upgrade option. Possible values are `OnceNewDefaultVersionAvailable`, `OnceCurrentVersionExpired`, and `NoAutoUpgrade`. Defaults to `OnceNewDefaultVersionAvailable`. Changing this forces a new resource to be created. + * @param versionUpgradeOption Deployment model version upgrade option. Possible values are `OnceNewDefaultVersionAvailable`, `OnceCurrentVersionExpired`, and `NoAutoUpgrade`. Defaults to `OnceNewDefaultVersionAvailable`. * * @return builder * @@ -254,7 +254,7 @@ public Builder versionUpgradeOption(@Nullable Output versionUpgradeOptio } /** - * @param versionUpgradeOption Deployment model version upgrade option. Possible values are `OnceNewDefaultVersionAvailable`, `OnceCurrentVersionExpired`, and `NoAutoUpgrade`. Defaults to `OnceNewDefaultVersionAvailable`. Changing this forces a new resource to be created. + * @param versionUpgradeOption Deployment model version upgrade option. Possible values are `OnceNewDefaultVersionAvailable`, `OnceCurrentVersionExpired`, and `NoAutoUpgrade`. Defaults to `OnceNewDefaultVersionAvailable`. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/azure/cognitive/inputs/DeploymentState.java b/sdk/java/src/main/java/com/pulumi/azure/cognitive/inputs/DeploymentState.java index 30cc6ecf8c..807fd1650a 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/cognitive/inputs/DeploymentState.java +++ b/sdk/java/src/main/java/com/pulumi/azure/cognitive/inputs/DeploymentState.java @@ -93,14 +93,14 @@ public Optional> scale() { } /** - * Deployment model version upgrade option. Possible values are `OnceNewDefaultVersionAvailable`, `OnceCurrentVersionExpired`, and `NoAutoUpgrade`. Defaults to `OnceNewDefaultVersionAvailable`. Changing this forces a new resource to be created. + * Deployment model version upgrade option. Possible values are `OnceNewDefaultVersionAvailable`, `OnceCurrentVersionExpired`, and `NoAutoUpgrade`. Defaults to `OnceNewDefaultVersionAvailable`. * */ @Import(name="versionUpgradeOption") private @Nullable Output versionUpgradeOption; /** - * @return Deployment model version upgrade option. Possible values are `OnceNewDefaultVersionAvailable`, `OnceCurrentVersionExpired`, and `NoAutoUpgrade`. Defaults to `OnceNewDefaultVersionAvailable`. Changing this forces a new resource to be created. + * @return Deployment model version upgrade option. Possible values are `OnceNewDefaultVersionAvailable`, `OnceCurrentVersionExpired`, and `NoAutoUpgrade`. Defaults to `OnceNewDefaultVersionAvailable`. * */ public Optional> versionUpgradeOption() { @@ -242,7 +242,7 @@ public Builder scale(DeploymentScaleArgs scale) { } /** - * @param versionUpgradeOption Deployment model version upgrade option. Possible values are `OnceNewDefaultVersionAvailable`, `OnceCurrentVersionExpired`, and `NoAutoUpgrade`. Defaults to `OnceNewDefaultVersionAvailable`. Changing this forces a new resource to be created. + * @param versionUpgradeOption Deployment model version upgrade option. Possible values are `OnceNewDefaultVersionAvailable`, `OnceCurrentVersionExpired`, and `NoAutoUpgrade`. Defaults to `OnceNewDefaultVersionAvailable`. * * @return builder * @@ -253,7 +253,7 @@ public Builder versionUpgradeOption(@Nullable Output versionUpgradeOptio } /** - * @param versionUpgradeOption Deployment model version upgrade option. Possible values are `OnceNewDefaultVersionAvailable`, `OnceCurrentVersionExpired`, and `NoAutoUpgrade`. Defaults to `OnceNewDefaultVersionAvailable`. Changing this forces a new resource to be created. + * @param versionUpgradeOption Deployment model version upgrade option. Possible values are `OnceNewDefaultVersionAvailable`, `OnceCurrentVersionExpired`, and `NoAutoUpgrade`. Defaults to `OnceNewDefaultVersionAvailable`. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/azure/compute/LinuxVirtualMachine.java b/sdk/java/src/main/java/com/pulumi/azure/compute/LinuxVirtualMachine.java index 758c205526..040b0f3dab 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/compute/LinuxVirtualMachine.java +++ b/sdk/java/src/main/java/com/pulumi/azure/compute/LinuxVirtualMachine.java @@ -12,6 +12,7 @@ import com.pulumi.azure.compute.outputs.LinuxVirtualMachineGalleryApplication; import com.pulumi.azure.compute.outputs.LinuxVirtualMachineIdentity; import com.pulumi.azure.compute.outputs.LinuxVirtualMachineOsDisk; +import com.pulumi.azure.compute.outputs.LinuxVirtualMachineOsImageNotification; import com.pulumi.azure.compute.outputs.LinuxVirtualMachinePlan; import com.pulumi.azure.compute.outputs.LinuxVirtualMachineSecret; import com.pulumi.azure.compute.outputs.LinuxVirtualMachineSourceImageReference; @@ -372,6 +373,20 @@ public Output> dedicatedHostId() { public Output> disablePasswordAuthentication() { return Codegen.optional(this.disablePasswordAuthentication); } + /** + * Specifies the Disk Controller Type used for this Virtual Machine. Possible values are `SCSI` and `NVMe`. + * + */ + @Export(name="diskControllerType", refs={String.class}, tree="[0]") + private Output diskControllerType; + + /** + * @return Specifies the Disk Controller Type used for this Virtual Machine. Possible values are `SCSI` and `NVMe`. + * + */ + public Output diskControllerType() { + return this.diskControllerType; + } /** * Specifies the Edge Zone within the Azure Region where this Linux Virtual Machine should exist. Changing this forces a new Linux Virtual Machine to be created. * @@ -548,6 +563,20 @@ public Output> networkInterfaceIds() { public Output osDisk() { return this.osDisk; } + /** + * A `os_image_notification` block as defined below. + * + */ + @Export(name="osImageNotification", refs={LinuxVirtualMachineOsImageNotification.class}, tree="[0]") + private Output osImageNotification; + + /** + * @return A `os_image_notification` block as defined below. + * + */ + public Output> osImageNotification() { + return Codegen.optional(this.osImageNotification); + } /** * Specifies the mode of VM Guest Patching for the Virtual Machine. Possible values are `AutomaticByPlatform` or `ImageDefault`. Defaults to `ImageDefault`. * @@ -881,7 +910,9 @@ public Output virtualMachineId() { return this.virtualMachineId; } /** - * Specifies the Orchestrated Virtual Machine Scale Set that this Virtual Machine should be created within. Changing this forces a new resource to be created. + * Specifies the Orchestrated Virtual Machine Scale Set that this Virtual Machine should be created within. + * + * > **NOTE:** To update `virtual_machine_scale_set_id` the Preview Feature `Microsoft.Compute/SingleFDAttachDetachVMToVmss` needs to be enabled, see [the documentation](https://review.learn.microsoft.com/azure/virtual-machine-scale-sets/virtual-machine-scale-sets-attach-detach-vm#enroll-in-the-preview) for more information. * * > **NOTE:** Orchestrated Virtual Machine Scale Sets can be provisioned using [the `azure.compute.OrchestratedVirtualMachineScaleSet` resource](https://www.terraform.io/docs/providers/azurerm/r/orchestrated_virtual_machine_scale_set.html). * @@ -890,7 +921,9 @@ public Output virtualMachineId() { private Output virtualMachineScaleSetId; /** - * @return Specifies the Orchestrated Virtual Machine Scale Set that this Virtual Machine should be created within. Changing this forces a new resource to be created. + * @return Specifies the Orchestrated Virtual Machine Scale Set that this Virtual Machine should be created within. + * + * > **NOTE:** To update `virtual_machine_scale_set_id` the Preview Feature `Microsoft.Compute/SingleFDAttachDetachVMToVmss` needs to be enabled, see [the documentation](https://review.learn.microsoft.com/azure/virtual-machine-scale-sets/virtual-machine-scale-sets-attach-detach-vm#enroll-in-the-preview) for more information. * * > **NOTE:** Orchestrated Virtual Machine Scale Sets can be provisioned using [the `azure.compute.OrchestratedVirtualMachineScaleSet` resource](https://www.terraform.io/docs/providers/azurerm/r/orchestrated_virtual_machine_scale_set.html). * @@ -898,6 +931,20 @@ public Output virtualMachineId() { public Output> virtualMachineScaleSetId() { return Codegen.optional(this.virtualMachineScaleSetId); } + /** + * Specifies whether VMAgent Platform Updates is enabled. Defaults to `false`. + * + */ + @Export(name="vmAgentPlatformUpdatesEnabled", refs={Boolean.class}, tree="[0]") + private Output vmAgentPlatformUpdatesEnabled; + + /** + * @return Specifies whether VMAgent Platform Updates is enabled. Defaults to `false`. + * + */ + public Output> vmAgentPlatformUpdatesEnabled() { + return Codegen.optional(this.vmAgentPlatformUpdatesEnabled); + } /** * Specifies whether vTPM should be enabled on the virtual machine. Changing this forces a new resource to be created. * diff --git a/sdk/java/src/main/java/com/pulumi/azure/compute/LinuxVirtualMachineArgs.java b/sdk/java/src/main/java/com/pulumi/azure/compute/LinuxVirtualMachineArgs.java index a1323ccb3e..542a906acd 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/compute/LinuxVirtualMachineArgs.java +++ b/sdk/java/src/main/java/com/pulumi/azure/compute/LinuxVirtualMachineArgs.java @@ -9,6 +9,7 @@ import com.pulumi.azure.compute.inputs.LinuxVirtualMachineGalleryApplicationArgs; import com.pulumi.azure.compute.inputs.LinuxVirtualMachineIdentityArgs; import com.pulumi.azure.compute.inputs.LinuxVirtualMachineOsDiskArgs; +import com.pulumi.azure.compute.inputs.LinuxVirtualMachineOsImageNotificationArgs; import com.pulumi.azure.compute.inputs.LinuxVirtualMachinePlanArgs; import com.pulumi.azure.compute.inputs.LinuxVirtualMachineSecretArgs; import com.pulumi.azure.compute.inputs.LinuxVirtualMachineSourceImageReferenceArgs; @@ -267,6 +268,21 @@ public Optional> disablePasswordAuthentication() { return Optional.ofNullable(this.disablePasswordAuthentication); } + /** + * Specifies the Disk Controller Type used for this Virtual Machine. Possible values are `SCSI` and `NVMe`. + * + */ + @Import(name="diskControllerType") + private @Nullable Output diskControllerType; + + /** + * @return Specifies the Disk Controller Type used for this Virtual Machine. Possible values are `SCSI` and `NVMe`. + * + */ + public Optional> diskControllerType() { + return Optional.ofNullable(this.diskControllerType); + } + /** * Specifies the Edge Zone within the Azure Region where this Linux Virtual Machine should exist. Changing this forces a new Linux Virtual Machine to be created. * @@ -455,6 +471,21 @@ public Output osDisk() { return this.osDisk; } + /** + * A `os_image_notification` block as defined below. + * + */ + @Import(name="osImageNotification") + private @Nullable Output osImageNotification; + + /** + * @return A `os_image_notification` block as defined below. + * + */ + public Optional> osImageNotification() { + return Optional.ofNullable(this.osImageNotification); + } + /** * Specifies the mode of VM Guest Patching for the Virtual Machine. Possible values are `AutomaticByPlatform` or `ImageDefault`. Defaults to `ImageDefault`. * @@ -735,7 +766,9 @@ public Optional> userData() { } /** - * Specifies the Orchestrated Virtual Machine Scale Set that this Virtual Machine should be created within. Changing this forces a new resource to be created. + * Specifies the Orchestrated Virtual Machine Scale Set that this Virtual Machine should be created within. + * + * > **NOTE:** To update `virtual_machine_scale_set_id` the Preview Feature `Microsoft.Compute/SingleFDAttachDetachVMToVmss` needs to be enabled, see [the documentation](https://review.learn.microsoft.com/azure/virtual-machine-scale-sets/virtual-machine-scale-sets-attach-detach-vm#enroll-in-the-preview) for more information. * * > **NOTE:** Orchestrated Virtual Machine Scale Sets can be provisioned using [the `azure.compute.OrchestratedVirtualMachineScaleSet` resource](https://www.terraform.io/docs/providers/azurerm/r/orchestrated_virtual_machine_scale_set.html). * @@ -744,7 +777,9 @@ public Optional> userData() { private @Nullable Output virtualMachineScaleSetId; /** - * @return Specifies the Orchestrated Virtual Machine Scale Set that this Virtual Machine should be created within. Changing this forces a new resource to be created. + * @return Specifies the Orchestrated Virtual Machine Scale Set that this Virtual Machine should be created within. + * + * > **NOTE:** To update `virtual_machine_scale_set_id` the Preview Feature `Microsoft.Compute/SingleFDAttachDetachVMToVmss` needs to be enabled, see [the documentation](https://review.learn.microsoft.com/azure/virtual-machine-scale-sets/virtual-machine-scale-sets-attach-detach-vm#enroll-in-the-preview) for more information. * * > **NOTE:** Orchestrated Virtual Machine Scale Sets can be provisioned using [the `azure.compute.OrchestratedVirtualMachineScaleSet` resource](https://www.terraform.io/docs/providers/azurerm/r/orchestrated_virtual_machine_scale_set.html). * @@ -753,6 +788,21 @@ public Optional> virtualMachineScaleSetId() { return Optional.ofNullable(this.virtualMachineScaleSetId); } + /** + * Specifies whether VMAgent Platform Updates is enabled. Defaults to `false`. + * + */ + @Import(name="vmAgentPlatformUpdatesEnabled") + private @Nullable Output vmAgentPlatformUpdatesEnabled; + + /** + * @return Specifies whether VMAgent Platform Updates is enabled. Defaults to `false`. + * + */ + public Optional> vmAgentPlatformUpdatesEnabled() { + return Optional.ofNullable(this.vmAgentPlatformUpdatesEnabled); + } + /** * Specifies whether vTPM should be enabled on the virtual machine. Changing this forces a new resource to be created. * @@ -800,6 +850,7 @@ private LinuxVirtualMachineArgs(LinuxVirtualMachineArgs $) { this.dedicatedHostGroupId = $.dedicatedHostGroupId; this.dedicatedHostId = $.dedicatedHostId; this.disablePasswordAuthentication = $.disablePasswordAuthentication; + this.diskControllerType = $.diskControllerType; this.edgeZone = $.edgeZone; this.encryptionAtHostEnabled = $.encryptionAtHostEnabled; this.evictionPolicy = $.evictionPolicy; @@ -812,6 +863,7 @@ private LinuxVirtualMachineArgs(LinuxVirtualMachineArgs $) { this.name = $.name; this.networkInterfaceIds = $.networkInterfaceIds; this.osDisk = $.osDisk; + this.osImageNotification = $.osImageNotification; this.patchAssessmentMode = $.patchAssessmentMode; this.patchMode = $.patchMode; this.plan = $.plan; @@ -830,6 +882,7 @@ private LinuxVirtualMachineArgs(LinuxVirtualMachineArgs $) { this.terminationNotification = $.terminationNotification; this.userData = $.userData; this.virtualMachineScaleSetId = $.virtualMachineScaleSetId; + this.vmAgentPlatformUpdatesEnabled = $.vmAgentPlatformUpdatesEnabled; this.vtpmEnabled = $.vtpmEnabled; this.zone = $.zone; } @@ -1184,6 +1237,27 @@ public Builder disablePasswordAuthentication(Boolean disablePasswordAuthenticati return disablePasswordAuthentication(Output.of(disablePasswordAuthentication)); } + /** + * @param diskControllerType Specifies the Disk Controller Type used for this Virtual Machine. Possible values are `SCSI` and `NVMe`. + * + * @return builder + * + */ + public Builder diskControllerType(@Nullable Output diskControllerType) { + $.diskControllerType = diskControllerType; + return this; + } + + /** + * @param diskControllerType Specifies the Disk Controller Type used for this Virtual Machine. Possible values are `SCSI` and `NVMe`. + * + * @return builder + * + */ + public Builder diskControllerType(String diskControllerType) { + return diskControllerType(Output.of(diskControllerType)); + } + /** * @param edgeZone Specifies the Edge Zone within the Azure Region where this Linux Virtual Machine should exist. Changing this forces a new Linux Virtual Machine to be created. * @@ -1464,6 +1538,27 @@ public Builder osDisk(LinuxVirtualMachineOsDiskArgs osDisk) { return osDisk(Output.of(osDisk)); } + /** + * @param osImageNotification A `os_image_notification` block as defined below. + * + * @return builder + * + */ + public Builder osImageNotification(@Nullable Output osImageNotification) { + $.osImageNotification = osImageNotification; + return this; + } + + /** + * @param osImageNotification A `os_image_notification` block as defined below. + * + * @return builder + * + */ + public Builder osImageNotification(LinuxVirtualMachineOsImageNotificationArgs osImageNotification) { + return osImageNotification(Output.of(osImageNotification)); + } + /** * @param patchAssessmentMode Specifies the mode of VM Guest Patching for the Virtual Machine. Possible values are `AutomaticByPlatform` or `ImageDefault`. Defaults to `ImageDefault`. * @@ -1856,7 +1951,9 @@ public Builder userData(String userData) { } /** - * @param virtualMachineScaleSetId Specifies the Orchestrated Virtual Machine Scale Set that this Virtual Machine should be created within. Changing this forces a new resource to be created. + * @param virtualMachineScaleSetId Specifies the Orchestrated Virtual Machine Scale Set that this Virtual Machine should be created within. + * + * > **NOTE:** To update `virtual_machine_scale_set_id` the Preview Feature `Microsoft.Compute/SingleFDAttachDetachVMToVmss` needs to be enabled, see [the documentation](https://review.learn.microsoft.com/azure/virtual-machine-scale-sets/virtual-machine-scale-sets-attach-detach-vm#enroll-in-the-preview) for more information. * * > **NOTE:** Orchestrated Virtual Machine Scale Sets can be provisioned using [the `azure.compute.OrchestratedVirtualMachineScaleSet` resource](https://www.terraform.io/docs/providers/azurerm/r/orchestrated_virtual_machine_scale_set.html). * @@ -1869,7 +1966,9 @@ public Builder virtualMachineScaleSetId(@Nullable Output virtualMachineS } /** - * @param virtualMachineScaleSetId Specifies the Orchestrated Virtual Machine Scale Set that this Virtual Machine should be created within. Changing this forces a new resource to be created. + * @param virtualMachineScaleSetId Specifies the Orchestrated Virtual Machine Scale Set that this Virtual Machine should be created within. + * + * > **NOTE:** To update `virtual_machine_scale_set_id` the Preview Feature `Microsoft.Compute/SingleFDAttachDetachVMToVmss` needs to be enabled, see [the documentation](https://review.learn.microsoft.com/azure/virtual-machine-scale-sets/virtual-machine-scale-sets-attach-detach-vm#enroll-in-the-preview) for more information. * * > **NOTE:** Orchestrated Virtual Machine Scale Sets can be provisioned using [the `azure.compute.OrchestratedVirtualMachineScaleSet` resource](https://www.terraform.io/docs/providers/azurerm/r/orchestrated_virtual_machine_scale_set.html). * @@ -1880,6 +1979,27 @@ public Builder virtualMachineScaleSetId(String virtualMachineScaleSetId) { return virtualMachineScaleSetId(Output.of(virtualMachineScaleSetId)); } + /** + * @param vmAgentPlatformUpdatesEnabled Specifies whether VMAgent Platform Updates is enabled. Defaults to `false`. + * + * @return builder + * + */ + public Builder vmAgentPlatformUpdatesEnabled(@Nullable Output vmAgentPlatformUpdatesEnabled) { + $.vmAgentPlatformUpdatesEnabled = vmAgentPlatformUpdatesEnabled; + return this; + } + + /** + * @param vmAgentPlatformUpdatesEnabled Specifies whether VMAgent Platform Updates is enabled. Defaults to `false`. + * + * @return builder + * + */ + public Builder vmAgentPlatformUpdatesEnabled(Boolean vmAgentPlatformUpdatesEnabled) { + return vmAgentPlatformUpdatesEnabled(Output.of(vmAgentPlatformUpdatesEnabled)); + } + /** * @param vtpmEnabled Specifies whether vTPM should be enabled on the virtual machine. Changing this forces a new resource to be created. * 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 6551a06308..da60b97ee1 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 @@ -190,14 +190,14 @@ public Output> encryptionAtHostEnabled() { return Codegen.optional(this.encryptionAtHostEnabled); } /** - * The Policy which should be used Virtual Machines are Evicted from the Scale Set. Possible values are `Deallocate` and `Delete`. Changing this forces a new resource to be created. + * The Policy which should be used by Spot Virtual Machines that are Evicted from the Scale Set. Possible values are `Deallocate` and `Delete`. Changing this forces a new resource to be created. * */ @Export(name="evictionPolicy", refs={String.class}, tree="[0]") private Output evictionPolicy; /** - * @return The Policy which should be used Virtual Machines are Evicted from the Scale Set. Possible values are `Deallocate` and `Delete`. Changing this forces a new resource to be created. + * @return The Policy which should be used by Spot Virtual Machines that are Evicted from the Scale Set. Possible values are `Deallocate` and `Delete`. Changing this forces a new resource to be created. * */ public Output> evictionPolicy() { 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 0113265624..31f6b4968c 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 @@ -137,14 +137,14 @@ public Optional> encryptionAtHostEnabled() { } /** - * The Policy which should be used Virtual Machines are Evicted from the Scale Set. Possible values are `Deallocate` and `Delete`. Changing this forces a new resource to be created. + * The Policy which should be used by Spot Virtual Machines that are Evicted from the Scale Set. Possible values are `Deallocate` and `Delete`. Changing this forces a new resource to be created. * */ @Import(name="evictionPolicy") private @Nullable Output evictionPolicy; /** - * @return The Policy which should be used Virtual Machines are Evicted from the Scale Set. Possible values are `Deallocate` and `Delete`. Changing this forces a new resource to be created. + * @return The Policy which should be used by Spot Virtual Machines that are Evicted from the Scale Set. Possible values are `Deallocate` and `Delete`. Changing this forces a new resource to be created. * */ public Optional> evictionPolicy() { @@ -782,7 +782,7 @@ public Builder encryptionAtHostEnabled(Boolean encryptionAtHostEnabled) { } /** - * @param evictionPolicy The Policy which should be used Virtual Machines are Evicted from the Scale Set. Possible values are `Deallocate` and `Delete`. Changing this forces a new resource to be created. + * @param evictionPolicy The Policy which should be used by Spot Virtual Machines that are Evicted from the Scale Set. Possible values are `Deallocate` and `Delete`. Changing this forces a new resource to be created. * * @return builder * @@ -793,7 +793,7 @@ public Builder evictionPolicy(@Nullable Output evictionPolicy) { } /** - * @param evictionPolicy The Policy which should be used Virtual Machines are Evicted from the Scale Set. Possible values are `Deallocate` and `Delete`. Changing this forces a new resource to be created. + * @param evictionPolicy The Policy which should be used by Spot Virtual Machines that are Evicted from the Scale Set. Possible values are `Deallocate` and `Delete`. Changing this forces a new resource to be created. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/azure/compute/WindowsVirtualMachine.java b/sdk/java/src/main/java/com/pulumi/azure/compute/WindowsVirtualMachine.java index 4bc8e3620c..08137f5dd1 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/compute/WindowsVirtualMachine.java +++ b/sdk/java/src/main/java/com/pulumi/azure/compute/WindowsVirtualMachine.java @@ -12,6 +12,7 @@ import com.pulumi.azure.compute.outputs.WindowsVirtualMachineGalleryApplication; import com.pulumi.azure.compute.outputs.WindowsVirtualMachineIdentity; import com.pulumi.azure.compute.outputs.WindowsVirtualMachineOsDisk; +import com.pulumi.azure.compute.outputs.WindowsVirtualMachineOsImageNotification; import com.pulumi.azure.compute.outputs.WindowsVirtualMachinePlan; import com.pulumi.azure.compute.outputs.WindowsVirtualMachineSecret; import com.pulumi.azure.compute.outputs.WindowsVirtualMachineSourceImageReference; @@ -335,6 +336,20 @@ public Output> dedicatedHostGroupId() { public Output> dedicatedHostId() { return Codegen.optional(this.dedicatedHostId); } + /** + * Specifies the Disk Controller Type used for this Virtual Machine. Possible values are `SCSI` and `NVMe`. + * + */ + @Export(name="diskControllerType", refs={String.class}, tree="[0]") + private Output diskControllerType; + + /** + * @return Specifies the Disk Controller Type used for this Virtual Machine. Possible values are `SCSI` and `NVMe`. + * + */ + public Output diskControllerType() { + return this.diskControllerType; + } /** * Specifies the Edge Zone within the Azure Region where this Windows Virtual Machine should exist. Changing this forces a new Windows Virtual Machine to be created. * @@ -543,6 +558,20 @@ public Output> networkInterfaceIds() { public Output osDisk() { return this.osDisk; } + /** + * A `os_image_notification` block as defined below. + * + */ + @Export(name="osImageNotification", refs={WindowsVirtualMachineOsImageNotification.class}, tree="[0]") + private Output osImageNotification; + + /** + * @return A `os_image_notification` block as defined below. + * + */ + public Output> osImageNotification() { + return Codegen.optional(this.osImageNotification); + } /** * Specifies the mode of VM Guest Patching for the Virtual Machine. Possible values are `AutomaticByPlatform` or `ImageDefault`. Defaults to `ImageDefault`. * @@ -890,7 +919,9 @@ public Output virtualMachineId() { return this.virtualMachineId; } /** - * Specifies the Orchestrated Virtual Machine Scale Set that this Virtual Machine should be created within. Changing this forces a new resource to be created. + * Specifies the Orchestrated Virtual Machine Scale Set that this Virtual Machine should be created within. + * + * > **NOTE:** To update `virtual_machine_scale_set_id` the Preview Feature `Microsoft.Compute/SingleFDAttachDetachVMToVmss` needs to be enabled, see [the documentation](https://review.learn.microsoft.com/azure/virtual-machine-scale-sets/virtual-machine-scale-sets-attach-detach-vm#enroll-in-the-preview) for more information. * * > **NOTE:** Orchestrated Virtual Machine Scale Sets can be provisioned using [the `azure.compute.OrchestratedVirtualMachineScaleSet` resource](https://www.terraform.io/docs/providers/azurerm/r/orchestrated_virtual_machine_scale_set.html). * @@ -899,7 +930,9 @@ public Output virtualMachineId() { private Output virtualMachineScaleSetId; /** - * @return Specifies the Orchestrated Virtual Machine Scale Set that this Virtual Machine should be created within. Changing this forces a new resource to be created. + * @return Specifies the Orchestrated Virtual Machine Scale Set that this Virtual Machine should be created within. + * + * > **NOTE:** To update `virtual_machine_scale_set_id` the Preview Feature `Microsoft.Compute/SingleFDAttachDetachVMToVmss` needs to be enabled, see [the documentation](https://review.learn.microsoft.com/azure/virtual-machine-scale-sets/virtual-machine-scale-sets-attach-detach-vm#enroll-in-the-preview) for more information. * * > **NOTE:** Orchestrated Virtual Machine Scale Sets can be provisioned using [the `azure.compute.OrchestratedVirtualMachineScaleSet` resource](https://www.terraform.io/docs/providers/azurerm/r/orchestrated_virtual_machine_scale_set.html). * @@ -907,6 +940,20 @@ public Output virtualMachineId() { public Output> virtualMachineScaleSetId() { return Codegen.optional(this.virtualMachineScaleSetId); } + /** + * Specifies whether VMAgent Platform Updates is enabled. Defaults to `false`. + * + */ + @Export(name="vmAgentPlatformUpdatesEnabled", refs={Boolean.class}, tree="[0]") + private Output vmAgentPlatformUpdatesEnabled; + + /** + * @return Specifies whether VMAgent Platform Updates is enabled. Defaults to `false`. + * + */ + public Output> vmAgentPlatformUpdatesEnabled() { + return Codegen.optional(this.vmAgentPlatformUpdatesEnabled); + } /** * Specifies if vTPM (virtual Trusted Platform Module) and Trusted Launch is enabled for the Virtual Machine. Changing this forces a new resource to be created. * diff --git a/sdk/java/src/main/java/com/pulumi/azure/compute/WindowsVirtualMachineArgs.java b/sdk/java/src/main/java/com/pulumi/azure/compute/WindowsVirtualMachineArgs.java index 4bed42c083..9334c52fe0 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/compute/WindowsVirtualMachineArgs.java +++ b/sdk/java/src/main/java/com/pulumi/azure/compute/WindowsVirtualMachineArgs.java @@ -9,6 +9,7 @@ import com.pulumi.azure.compute.inputs.WindowsVirtualMachineGalleryApplicationArgs; import com.pulumi.azure.compute.inputs.WindowsVirtualMachineIdentityArgs; import com.pulumi.azure.compute.inputs.WindowsVirtualMachineOsDiskArgs; +import com.pulumi.azure.compute.inputs.WindowsVirtualMachineOsImageNotificationArgs; import com.pulumi.azure.compute.inputs.WindowsVirtualMachinePlanArgs; import com.pulumi.azure.compute.inputs.WindowsVirtualMachineSecretArgs; import com.pulumi.azure.compute.inputs.WindowsVirtualMachineSourceImageReferenceArgs; @@ -235,6 +236,21 @@ public Optional> dedicatedHostId() { return Optional.ofNullable(this.dedicatedHostId); } + /** + * Specifies the Disk Controller Type used for this Virtual Machine. Possible values are `SCSI` and `NVMe`. + * + */ + @Import(name="diskControllerType") + private @Nullable Output diskControllerType; + + /** + * @return Specifies the Disk Controller Type used for this Virtual Machine. Possible values are `SCSI` and `NVMe`. + * + */ + public Optional> diskControllerType() { + return Optional.ofNullable(this.diskControllerType); + } + /** * Specifies the Edge Zone within the Azure Region where this Windows Virtual Machine should exist. Changing this forces a new Windows Virtual Machine to be created. * @@ -457,6 +473,21 @@ public Output osDisk() { return this.osDisk; } + /** + * A `os_image_notification` block as defined below. + * + */ + @Import(name="osImageNotification") + private @Nullable Output osImageNotification; + + /** + * @return A `os_image_notification` block as defined below. + * + */ + public Optional> osImageNotification() { + return Optional.ofNullable(this.osImageNotification); + } + /** * Specifies the mode of VM Guest Patching for the Virtual Machine. Possible values are `AutomaticByPlatform` or `ImageDefault`. Defaults to `ImageDefault`. * @@ -752,7 +783,9 @@ public Optional> userData() { } /** - * Specifies the Orchestrated Virtual Machine Scale Set that this Virtual Machine should be created within. Changing this forces a new resource to be created. + * Specifies the Orchestrated Virtual Machine Scale Set that this Virtual Machine should be created within. + * + * > **NOTE:** To update `virtual_machine_scale_set_id` the Preview Feature `Microsoft.Compute/SingleFDAttachDetachVMToVmss` needs to be enabled, see [the documentation](https://review.learn.microsoft.com/azure/virtual-machine-scale-sets/virtual-machine-scale-sets-attach-detach-vm#enroll-in-the-preview) for more information. * * > **NOTE:** Orchestrated Virtual Machine Scale Sets can be provisioned using [the `azure.compute.OrchestratedVirtualMachineScaleSet` resource](https://www.terraform.io/docs/providers/azurerm/r/orchestrated_virtual_machine_scale_set.html). * @@ -761,7 +794,9 @@ public Optional> userData() { private @Nullable Output virtualMachineScaleSetId; /** - * @return Specifies the Orchestrated Virtual Machine Scale Set that this Virtual Machine should be created within. Changing this forces a new resource to be created. + * @return Specifies the Orchestrated Virtual Machine Scale Set that this Virtual Machine should be created within. + * + * > **NOTE:** To update `virtual_machine_scale_set_id` the Preview Feature `Microsoft.Compute/SingleFDAttachDetachVMToVmss` needs to be enabled, see [the documentation](https://review.learn.microsoft.com/azure/virtual-machine-scale-sets/virtual-machine-scale-sets-attach-detach-vm#enroll-in-the-preview) for more information. * * > **NOTE:** Orchestrated Virtual Machine Scale Sets can be provisioned using [the `azure.compute.OrchestratedVirtualMachineScaleSet` resource](https://www.terraform.io/docs/providers/azurerm/r/orchestrated_virtual_machine_scale_set.html). * @@ -770,6 +805,21 @@ public Optional> virtualMachineScaleSetId() { return Optional.ofNullable(this.virtualMachineScaleSetId); } + /** + * Specifies whether VMAgent Platform Updates is enabled. Defaults to `false`. + * + */ + @Import(name="vmAgentPlatformUpdatesEnabled") + private @Nullable Output vmAgentPlatformUpdatesEnabled; + + /** + * @return Specifies whether VMAgent Platform Updates is enabled. Defaults to `false`. + * + */ + public Optional> vmAgentPlatformUpdatesEnabled() { + return Optional.ofNullable(this.vmAgentPlatformUpdatesEnabled); + } + /** * Specifies if vTPM (virtual Trusted Platform Module) and Trusted Launch is enabled for the Virtual Machine. Changing this forces a new resource to be created. * @@ -831,6 +881,7 @@ private WindowsVirtualMachineArgs(WindowsVirtualMachineArgs $) { this.customData = $.customData; this.dedicatedHostGroupId = $.dedicatedHostGroupId; this.dedicatedHostId = $.dedicatedHostId; + this.diskControllerType = $.diskControllerType; this.edgeZone = $.edgeZone; this.enableAutomaticUpdates = $.enableAutomaticUpdates; this.encryptionAtHostEnabled = $.encryptionAtHostEnabled; @@ -845,6 +896,7 @@ private WindowsVirtualMachineArgs(WindowsVirtualMachineArgs $) { this.name = $.name; this.networkInterfaceIds = $.networkInterfaceIds; this.osDisk = $.osDisk; + this.osImageNotification = $.osImageNotification; this.patchAssessmentMode = $.patchAssessmentMode; this.patchMode = $.patchMode; this.plan = $.plan; @@ -864,6 +916,7 @@ private WindowsVirtualMachineArgs(WindowsVirtualMachineArgs $) { this.timezone = $.timezone; this.userData = $.userData; this.virtualMachineScaleSetId = $.virtualMachineScaleSetId; + this.vmAgentPlatformUpdatesEnabled = $.vmAgentPlatformUpdatesEnabled; this.vtpmEnabled = $.vtpmEnabled; this.winrmListeners = $.winrmListeners; this.zone = $.zone; @@ -1178,6 +1231,27 @@ public Builder dedicatedHostId(String dedicatedHostId) { return dedicatedHostId(Output.of(dedicatedHostId)); } + /** + * @param diskControllerType Specifies the Disk Controller Type used for this Virtual Machine. Possible values are `SCSI` and `NVMe`. + * + * @return builder + * + */ + public Builder diskControllerType(@Nullable Output diskControllerType) { + $.diskControllerType = diskControllerType; + return this; + } + + /** + * @param diskControllerType Specifies the Disk Controller Type used for this Virtual Machine. Possible values are `SCSI` and `NVMe`. + * + * @return builder + * + */ + public Builder diskControllerType(String diskControllerType) { + return diskControllerType(Output.of(diskControllerType)); + } + /** * @param edgeZone Specifies the Edge Zone within the Azure Region where this Windows Virtual Machine should exist. Changing this forces a new Windows Virtual Machine to be created. * @@ -1504,6 +1578,27 @@ public Builder osDisk(WindowsVirtualMachineOsDiskArgs osDisk) { return osDisk(Output.of(osDisk)); } + /** + * @param osImageNotification A `os_image_notification` block as defined below. + * + * @return builder + * + */ + public Builder osImageNotification(@Nullable Output osImageNotification) { + $.osImageNotification = osImageNotification; + return this; + } + + /** + * @param osImageNotification A `os_image_notification` block as defined below. + * + * @return builder + * + */ + public Builder osImageNotification(WindowsVirtualMachineOsImageNotificationArgs osImageNotification) { + return osImageNotification(Output.of(osImageNotification)); + } + /** * @param patchAssessmentMode Specifies the mode of VM Guest Patching for the Virtual Machine. Possible values are `AutomaticByPlatform` or `ImageDefault`. Defaults to `ImageDefault`. * @@ -1917,7 +2012,9 @@ public Builder userData(String userData) { } /** - * @param virtualMachineScaleSetId Specifies the Orchestrated Virtual Machine Scale Set that this Virtual Machine should be created within. Changing this forces a new resource to be created. + * @param virtualMachineScaleSetId Specifies the Orchestrated Virtual Machine Scale Set that this Virtual Machine should be created within. + * + * > **NOTE:** To update `virtual_machine_scale_set_id` the Preview Feature `Microsoft.Compute/SingleFDAttachDetachVMToVmss` needs to be enabled, see [the documentation](https://review.learn.microsoft.com/azure/virtual-machine-scale-sets/virtual-machine-scale-sets-attach-detach-vm#enroll-in-the-preview) for more information. * * > **NOTE:** Orchestrated Virtual Machine Scale Sets can be provisioned using [the `azure.compute.OrchestratedVirtualMachineScaleSet` resource](https://www.terraform.io/docs/providers/azurerm/r/orchestrated_virtual_machine_scale_set.html). * @@ -1930,7 +2027,9 @@ public Builder virtualMachineScaleSetId(@Nullable Output virtualMachineS } /** - * @param virtualMachineScaleSetId Specifies the Orchestrated Virtual Machine Scale Set that this Virtual Machine should be created within. Changing this forces a new resource to be created. + * @param virtualMachineScaleSetId Specifies the Orchestrated Virtual Machine Scale Set that this Virtual Machine should be created within. + * + * > **NOTE:** To update `virtual_machine_scale_set_id` the Preview Feature `Microsoft.Compute/SingleFDAttachDetachVMToVmss` needs to be enabled, see [the documentation](https://review.learn.microsoft.com/azure/virtual-machine-scale-sets/virtual-machine-scale-sets-attach-detach-vm#enroll-in-the-preview) for more information. * * > **NOTE:** Orchestrated Virtual Machine Scale Sets can be provisioned using [the `azure.compute.OrchestratedVirtualMachineScaleSet` resource](https://www.terraform.io/docs/providers/azurerm/r/orchestrated_virtual_machine_scale_set.html). * @@ -1941,6 +2040,27 @@ public Builder virtualMachineScaleSetId(String virtualMachineScaleSetId) { return virtualMachineScaleSetId(Output.of(virtualMachineScaleSetId)); } + /** + * @param vmAgentPlatformUpdatesEnabled Specifies whether VMAgent Platform Updates is enabled. Defaults to `false`. + * + * @return builder + * + */ + public Builder vmAgentPlatformUpdatesEnabled(@Nullable Output vmAgentPlatformUpdatesEnabled) { + $.vmAgentPlatformUpdatesEnabled = vmAgentPlatformUpdatesEnabled; + return this; + } + + /** + * @param vmAgentPlatformUpdatesEnabled Specifies whether VMAgent Platform Updates is enabled. Defaults to `false`. + * + * @return builder + * + */ + public Builder vmAgentPlatformUpdatesEnabled(Boolean vmAgentPlatformUpdatesEnabled) { + return vmAgentPlatformUpdatesEnabled(Output.of(vmAgentPlatformUpdatesEnabled)); + } + /** * @param vtpmEnabled Specifies if vTPM (virtual Trusted Platform Module) and Trusted Launch is enabled for the Virtual Machine. Changing this forces a new resource to be created. * diff --git a/sdk/java/src/main/java/com/pulumi/azure/compute/inputs/LinuxVirtualMachineGalleryApplicationArgs.java b/sdk/java/src/main/java/com/pulumi/azure/compute/inputs/LinuxVirtualMachineGalleryApplicationArgs.java index fe84663d71..3ac8187025 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/compute/inputs/LinuxVirtualMachineGalleryApplicationArgs.java +++ b/sdk/java/src/main/java/com/pulumi/azure/compute/inputs/LinuxVirtualMachineGalleryApplicationArgs.java @@ -6,6 +6,7 @@ import com.pulumi.core.Output; import com.pulumi.core.annotations.Import; import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.Boolean; import java.lang.Integer; import java.lang.String; import java.util.Objects; @@ -17,6 +18,21 @@ public final class LinuxVirtualMachineGalleryApplicationArgs extends com.pulumi. public static final LinuxVirtualMachineGalleryApplicationArgs Empty = new LinuxVirtualMachineGalleryApplicationArgs(); + /** + * Specifies whether the version will be automatically updated for the VM when a new Gallery Application version is available in PIR/SIG. Defaults to `false`. + * + */ + @Import(name="automaticUpgradeEnabled") + private @Nullable Output automaticUpgradeEnabled; + + /** + * @return Specifies whether the version will be automatically updated for the VM when a new Gallery Application version is available in PIR/SIG. Defaults to `false`. + * + */ + public Optional> automaticUpgradeEnabled() { + return Optional.ofNullable(this.automaticUpgradeEnabled); + } + /** * Specifies the URI to an Azure Blob that will replace the default configuration for the package if provided. * @@ -62,6 +78,21 @@ public Optional> tag() { return Optional.ofNullable(this.tag); } + /** + * Specifies whether any failure for any operation in the VmApplication will fail the deployment of the VM. Defaults to `false`. + * + */ + @Import(name="treatFailureAsDeploymentFailureEnabled") + private @Nullable Output treatFailureAsDeploymentFailureEnabled; + + /** + * @return Specifies whether any failure for any operation in the VmApplication will fail the deployment of the VM. Defaults to `false`. + * + */ + public Optional> treatFailureAsDeploymentFailureEnabled() { + return Optional.ofNullable(this.treatFailureAsDeploymentFailureEnabled); + } + /** * Specifies the Gallery Application Version resource ID. * @@ -80,9 +111,11 @@ public Output versionId() { private LinuxVirtualMachineGalleryApplicationArgs() {} private LinuxVirtualMachineGalleryApplicationArgs(LinuxVirtualMachineGalleryApplicationArgs $) { + this.automaticUpgradeEnabled = $.automaticUpgradeEnabled; this.configurationBlobUri = $.configurationBlobUri; this.order = $.order; this.tag = $.tag; + this.treatFailureAsDeploymentFailureEnabled = $.treatFailureAsDeploymentFailureEnabled; this.versionId = $.versionId; } @@ -104,6 +137,27 @@ public Builder(LinuxVirtualMachineGalleryApplicationArgs defaults) { $ = new LinuxVirtualMachineGalleryApplicationArgs(Objects.requireNonNull(defaults)); } + /** + * @param automaticUpgradeEnabled Specifies whether the version will be automatically updated for the VM when a new Gallery Application version is available in PIR/SIG. Defaults to `false`. + * + * @return builder + * + */ + public Builder automaticUpgradeEnabled(@Nullable Output automaticUpgradeEnabled) { + $.automaticUpgradeEnabled = automaticUpgradeEnabled; + return this; + } + + /** + * @param automaticUpgradeEnabled Specifies whether the version will be automatically updated for the VM when a new Gallery Application version is available in PIR/SIG. Defaults to `false`. + * + * @return builder + * + */ + public Builder automaticUpgradeEnabled(Boolean automaticUpgradeEnabled) { + return automaticUpgradeEnabled(Output.of(automaticUpgradeEnabled)); + } + /** * @param configurationBlobUri Specifies the URI to an Azure Blob that will replace the default configuration for the package if provided. * @@ -167,6 +221,27 @@ public Builder tag(String tag) { return tag(Output.of(tag)); } + /** + * @param treatFailureAsDeploymentFailureEnabled Specifies whether any failure for any operation in the VmApplication will fail the deployment of the VM. Defaults to `false`. + * + * @return builder + * + */ + public Builder treatFailureAsDeploymentFailureEnabled(@Nullable Output treatFailureAsDeploymentFailureEnabled) { + $.treatFailureAsDeploymentFailureEnabled = treatFailureAsDeploymentFailureEnabled; + return this; + } + + /** + * @param treatFailureAsDeploymentFailureEnabled Specifies whether any failure for any operation in the VmApplication will fail the deployment of the VM. Defaults to `false`. + * + * @return builder + * + */ + public Builder treatFailureAsDeploymentFailureEnabled(Boolean treatFailureAsDeploymentFailureEnabled) { + return treatFailureAsDeploymentFailureEnabled(Output.of(treatFailureAsDeploymentFailureEnabled)); + } + /** * @param versionId Specifies the Gallery Application Version resource ID. * diff --git a/sdk/java/src/main/java/com/pulumi/azure/compute/inputs/LinuxVirtualMachineOsImageNotificationArgs.java b/sdk/java/src/main/java/com/pulumi/azure/compute/inputs/LinuxVirtualMachineOsImageNotificationArgs.java new file mode 100644 index 0000000000..5171115371 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/azure/compute/inputs/LinuxVirtualMachineOsImageNotificationArgs.java @@ -0,0 +1,83 @@ +// *** 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.compute.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 LinuxVirtualMachineOsImageNotificationArgs extends com.pulumi.resources.ResourceArgs { + + public static final LinuxVirtualMachineOsImageNotificationArgs Empty = new LinuxVirtualMachineOsImageNotificationArgs(); + + /** + * Length of time a notification to be sent to the VM on the instance metadata server till the VM gets OS upgraded. The only possible value is `PT15M`. Defaults to `PT15M`. + * + */ + @Import(name="timeout") + private @Nullable Output timeout; + + /** + * @return Length of time a notification to be sent to the VM on the instance metadata server till the VM gets OS upgraded. The only possible value is `PT15M`. Defaults to `PT15M`. + * + */ + public Optional> timeout() { + return Optional.ofNullable(this.timeout); + } + + private LinuxVirtualMachineOsImageNotificationArgs() {} + + private LinuxVirtualMachineOsImageNotificationArgs(LinuxVirtualMachineOsImageNotificationArgs $) { + this.timeout = $.timeout; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(LinuxVirtualMachineOsImageNotificationArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private LinuxVirtualMachineOsImageNotificationArgs $; + + public Builder() { + $ = new LinuxVirtualMachineOsImageNotificationArgs(); + } + + public Builder(LinuxVirtualMachineOsImageNotificationArgs defaults) { + $ = new LinuxVirtualMachineOsImageNotificationArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param timeout Length of time a notification to be sent to the VM on the instance metadata server till the VM gets OS upgraded. The only possible value is `PT15M`. Defaults to `PT15M`. + * + * @return builder + * + */ + public Builder timeout(@Nullable Output timeout) { + $.timeout = timeout; + return this; + } + + /** + * @param timeout Length of time a notification to be sent to the VM on the instance metadata server till the VM gets OS upgraded. The only possible value is `PT15M`. Defaults to `PT15M`. + * + * @return builder + * + */ + public Builder timeout(String timeout) { + return timeout(Output.of(timeout)); + } + + public LinuxVirtualMachineOsImageNotificationArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/azure/compute/inputs/LinuxVirtualMachineState.java b/sdk/java/src/main/java/com/pulumi/azure/compute/inputs/LinuxVirtualMachineState.java index 0b1eb54d37..578a361c0a 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/compute/inputs/LinuxVirtualMachineState.java +++ b/sdk/java/src/main/java/com/pulumi/azure/compute/inputs/LinuxVirtualMachineState.java @@ -9,6 +9,7 @@ import com.pulumi.azure.compute.inputs.LinuxVirtualMachineGalleryApplicationArgs; import com.pulumi.azure.compute.inputs.LinuxVirtualMachineIdentityArgs; import com.pulumi.azure.compute.inputs.LinuxVirtualMachineOsDiskArgs; +import com.pulumi.azure.compute.inputs.LinuxVirtualMachineOsImageNotificationArgs; import com.pulumi.azure.compute.inputs.LinuxVirtualMachinePlanArgs; import com.pulumi.azure.compute.inputs.LinuxVirtualMachineSecretArgs; import com.pulumi.azure.compute.inputs.LinuxVirtualMachineSourceImageReferenceArgs; @@ -266,6 +267,21 @@ public Optional> disablePasswordAuthentication() { return Optional.ofNullable(this.disablePasswordAuthentication); } + /** + * Specifies the Disk Controller Type used for this Virtual Machine. Possible values are `SCSI` and `NVMe`. + * + */ + @Import(name="diskControllerType") + private @Nullable Output diskControllerType; + + /** + * @return Specifies the Disk Controller Type used for this Virtual Machine. Possible values are `SCSI` and `NVMe`. + * + */ + public Optional> diskControllerType() { + return Optional.ofNullable(this.diskControllerType); + } + /** * Specifies the Edge Zone within the Azure Region where this Linux Virtual Machine should exist. Changing this forces a new Linux Virtual Machine to be created. * @@ -454,6 +470,21 @@ public Optional> osDisk() { return Optional.ofNullable(this.osDisk); } + /** + * A `os_image_notification` block as defined below. + * + */ + @Import(name="osImageNotification") + private @Nullable Output osImageNotification; + + /** + * @return A `os_image_notification` block as defined below. + * + */ + public Optional> osImageNotification() { + return Optional.ofNullable(this.osImageNotification); + } + /** * Specifies the mode of VM Guest Patching for the Virtual Machine. Possible values are `AutomaticByPlatform` or `ImageDefault`. Defaults to `ImageDefault`. * @@ -809,7 +840,9 @@ public Optional> virtualMachineId() { } /** - * Specifies the Orchestrated Virtual Machine Scale Set that this Virtual Machine should be created within. Changing this forces a new resource to be created. + * Specifies the Orchestrated Virtual Machine Scale Set that this Virtual Machine should be created within. + * + * > **NOTE:** To update `virtual_machine_scale_set_id` the Preview Feature `Microsoft.Compute/SingleFDAttachDetachVMToVmss` needs to be enabled, see [the documentation](https://review.learn.microsoft.com/azure/virtual-machine-scale-sets/virtual-machine-scale-sets-attach-detach-vm#enroll-in-the-preview) for more information. * * > **NOTE:** Orchestrated Virtual Machine Scale Sets can be provisioned using [the `azure.compute.OrchestratedVirtualMachineScaleSet` resource](https://www.terraform.io/docs/providers/azurerm/r/orchestrated_virtual_machine_scale_set.html). * @@ -818,7 +851,9 @@ public Optional> virtualMachineId() { private @Nullable Output virtualMachineScaleSetId; /** - * @return Specifies the Orchestrated Virtual Machine Scale Set that this Virtual Machine should be created within. Changing this forces a new resource to be created. + * @return Specifies the Orchestrated Virtual Machine Scale Set that this Virtual Machine should be created within. + * + * > **NOTE:** To update `virtual_machine_scale_set_id` the Preview Feature `Microsoft.Compute/SingleFDAttachDetachVMToVmss` needs to be enabled, see [the documentation](https://review.learn.microsoft.com/azure/virtual-machine-scale-sets/virtual-machine-scale-sets-attach-detach-vm#enroll-in-the-preview) for more information. * * > **NOTE:** Orchestrated Virtual Machine Scale Sets can be provisioned using [the `azure.compute.OrchestratedVirtualMachineScaleSet` resource](https://www.terraform.io/docs/providers/azurerm/r/orchestrated_virtual_machine_scale_set.html). * @@ -827,6 +862,21 @@ public Optional> virtualMachineScaleSetId() { return Optional.ofNullable(this.virtualMachineScaleSetId); } + /** + * Specifies whether VMAgent Platform Updates is enabled. Defaults to `false`. + * + */ + @Import(name="vmAgentPlatformUpdatesEnabled") + private @Nullable Output vmAgentPlatformUpdatesEnabled; + + /** + * @return Specifies whether VMAgent Platform Updates is enabled. Defaults to `false`. + * + */ + public Optional> vmAgentPlatformUpdatesEnabled() { + return Optional.ofNullable(this.vmAgentPlatformUpdatesEnabled); + } + /** * Specifies whether vTPM should be enabled on the virtual machine. Changing this forces a new resource to be created. * @@ -874,6 +924,7 @@ private LinuxVirtualMachineState(LinuxVirtualMachineState $) { this.dedicatedHostGroupId = $.dedicatedHostGroupId; this.dedicatedHostId = $.dedicatedHostId; this.disablePasswordAuthentication = $.disablePasswordAuthentication; + this.diskControllerType = $.diskControllerType; this.edgeZone = $.edgeZone; this.encryptionAtHostEnabled = $.encryptionAtHostEnabled; this.evictionPolicy = $.evictionPolicy; @@ -886,6 +937,7 @@ private LinuxVirtualMachineState(LinuxVirtualMachineState $) { this.name = $.name; this.networkInterfaceIds = $.networkInterfaceIds; this.osDisk = $.osDisk; + this.osImageNotification = $.osImageNotification; this.patchAssessmentMode = $.patchAssessmentMode; this.patchMode = $.patchMode; this.plan = $.plan; @@ -909,6 +961,7 @@ private LinuxVirtualMachineState(LinuxVirtualMachineState $) { this.userData = $.userData; this.virtualMachineId = $.virtualMachineId; this.virtualMachineScaleSetId = $.virtualMachineScaleSetId; + this.vmAgentPlatformUpdatesEnabled = $.vmAgentPlatformUpdatesEnabled; this.vtpmEnabled = $.vtpmEnabled; this.zone = $.zone; } @@ -1263,6 +1316,27 @@ public Builder disablePasswordAuthentication(Boolean disablePasswordAuthenticati return disablePasswordAuthentication(Output.of(disablePasswordAuthentication)); } + /** + * @param diskControllerType Specifies the Disk Controller Type used for this Virtual Machine. Possible values are `SCSI` and `NVMe`. + * + * @return builder + * + */ + public Builder diskControllerType(@Nullable Output diskControllerType) { + $.diskControllerType = diskControllerType; + return this; + } + + /** + * @param diskControllerType Specifies the Disk Controller Type used for this Virtual Machine. Possible values are `SCSI` and `NVMe`. + * + * @return builder + * + */ + public Builder diskControllerType(String diskControllerType) { + return diskControllerType(Output.of(diskControllerType)); + } + /** * @param edgeZone Specifies the Edge Zone within the Azure Region where this Linux Virtual Machine should exist. Changing this forces a new Linux Virtual Machine to be created. * @@ -1543,6 +1617,27 @@ public Builder osDisk(LinuxVirtualMachineOsDiskArgs osDisk) { return osDisk(Output.of(osDisk)); } + /** + * @param osImageNotification A `os_image_notification` block as defined below. + * + * @return builder + * + */ + public Builder osImageNotification(@Nullable Output osImageNotification) { + $.osImageNotification = osImageNotification; + return this; + } + + /** + * @param osImageNotification A `os_image_notification` block as defined below. + * + * @return builder + * + */ + public Builder osImageNotification(LinuxVirtualMachineOsImageNotificationArgs osImageNotification) { + return osImageNotification(Output.of(osImageNotification)); + } + /** * @param patchAssessmentMode Specifies the mode of VM Guest Patching for the Virtual Machine. Possible values are `AutomaticByPlatform` or `ImageDefault`. Defaults to `ImageDefault`. * @@ -2060,7 +2155,9 @@ public Builder virtualMachineId(String virtualMachineId) { } /** - * @param virtualMachineScaleSetId Specifies the Orchestrated Virtual Machine Scale Set that this Virtual Machine should be created within. Changing this forces a new resource to be created. + * @param virtualMachineScaleSetId Specifies the Orchestrated Virtual Machine Scale Set that this Virtual Machine should be created within. + * + * > **NOTE:** To update `virtual_machine_scale_set_id` the Preview Feature `Microsoft.Compute/SingleFDAttachDetachVMToVmss` needs to be enabled, see [the documentation](https://review.learn.microsoft.com/azure/virtual-machine-scale-sets/virtual-machine-scale-sets-attach-detach-vm#enroll-in-the-preview) for more information. * * > **NOTE:** Orchestrated Virtual Machine Scale Sets can be provisioned using [the `azure.compute.OrchestratedVirtualMachineScaleSet` resource](https://www.terraform.io/docs/providers/azurerm/r/orchestrated_virtual_machine_scale_set.html). * @@ -2073,7 +2170,9 @@ public Builder virtualMachineScaleSetId(@Nullable Output virtualMachineS } /** - * @param virtualMachineScaleSetId Specifies the Orchestrated Virtual Machine Scale Set that this Virtual Machine should be created within. Changing this forces a new resource to be created. + * @param virtualMachineScaleSetId Specifies the Orchestrated Virtual Machine Scale Set that this Virtual Machine should be created within. + * + * > **NOTE:** To update `virtual_machine_scale_set_id` the Preview Feature `Microsoft.Compute/SingleFDAttachDetachVMToVmss` needs to be enabled, see [the documentation](https://review.learn.microsoft.com/azure/virtual-machine-scale-sets/virtual-machine-scale-sets-attach-detach-vm#enroll-in-the-preview) for more information. * * > **NOTE:** Orchestrated Virtual Machine Scale Sets can be provisioned using [the `azure.compute.OrchestratedVirtualMachineScaleSet` resource](https://www.terraform.io/docs/providers/azurerm/r/orchestrated_virtual_machine_scale_set.html). * @@ -2084,6 +2183,27 @@ public Builder virtualMachineScaleSetId(String virtualMachineScaleSetId) { return virtualMachineScaleSetId(Output.of(virtualMachineScaleSetId)); } + /** + * @param vmAgentPlatformUpdatesEnabled Specifies whether VMAgent Platform Updates is enabled. Defaults to `false`. + * + * @return builder + * + */ + public Builder vmAgentPlatformUpdatesEnabled(@Nullable Output vmAgentPlatformUpdatesEnabled) { + $.vmAgentPlatformUpdatesEnabled = vmAgentPlatformUpdatesEnabled; + return this; + } + + /** + * @param vmAgentPlatformUpdatesEnabled Specifies whether VMAgent Platform Updates is enabled. Defaults to `false`. + * + * @return builder + * + */ + public Builder vmAgentPlatformUpdatesEnabled(Boolean vmAgentPlatformUpdatesEnabled) { + return vmAgentPlatformUpdatesEnabled(Output.of(vmAgentPlatformUpdatesEnabled)); + } + /** * @param vtpmEnabled Specifies whether vTPM should be enabled on the virtual machine. Changing this forces a new resource to be created. * diff --git a/sdk/java/src/main/java/com/pulumi/azure/compute/inputs/OrchestratedVirtualMachineScaleSetDataDiskArgs.java b/sdk/java/src/main/java/com/pulumi/azure/compute/inputs/OrchestratedVirtualMachineScaleSetDataDiskArgs.java index 37ae60f2ab..d74172e8d5 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/compute/inputs/OrchestratedVirtualMachineScaleSetDataDiskArgs.java +++ b/sdk/java/src/main/java/com/pulumi/azure/compute/inputs/OrchestratedVirtualMachineScaleSetDataDiskArgs.java @@ -64,33 +64,33 @@ public Optional> diskEncryptionSetId() { } /** - * The size of the Data Disk which should be created. + * The size of the Data Disk which should be created. Required if `create_option` is specified as `Empty`. * */ - @Import(name="diskSizeGb", required=true) - private Output diskSizeGb; + @Import(name="diskSizeGb") + private @Nullable Output diskSizeGb; /** - * @return The size of the Data Disk which should be created. + * @return The size of the Data Disk which should be created. Required if `create_option` is specified as `Empty`. * */ - public Output diskSizeGb() { - return this.diskSizeGb; + public Optional> diskSizeGb() { + return Optional.ofNullable(this.diskSizeGb); } /** - * The Logical Unit Number of the Data Disk, which must be unique within the Virtual Machine. + * The Logical Unit Number of the Data Disk, which must be unique within the Virtual Machine. Required if `create_option` is specified as `Empty`. * */ - @Import(name="lun", required=true) - private Output lun; + @Import(name="lun") + private @Nullable Output lun; /** - * @return The Logical Unit Number of the Data Disk, which must be unique within the Virtual Machine. + * @return The Logical Unit Number of the Data Disk, which must be unique within the Virtual Machine. Required if `create_option` is specified as `Empty`. * */ - public Output lun() { - return this.lun; + public Optional> lun() { + return Optional.ofNullable(this.lun); } /** @@ -249,18 +249,18 @@ public Builder diskEncryptionSetId(String diskEncryptionSetId) { } /** - * @param diskSizeGb The size of the Data Disk which should be created. + * @param diskSizeGb The size of the Data Disk which should be created. Required if `create_option` is specified as `Empty`. * * @return builder * */ - public Builder diskSizeGb(Output diskSizeGb) { + public Builder diskSizeGb(@Nullable Output diskSizeGb) { $.diskSizeGb = diskSizeGb; return this; } /** - * @param diskSizeGb The size of the Data Disk which should be created. + * @param diskSizeGb The size of the Data Disk which should be created. Required if `create_option` is specified as `Empty`. * * @return builder * @@ -270,18 +270,18 @@ public Builder diskSizeGb(Integer diskSizeGb) { } /** - * @param lun The Logical Unit Number of the Data Disk, which must be unique within the Virtual Machine. + * @param lun The Logical Unit Number of the Data Disk, which must be unique within the Virtual Machine. Required if `create_option` is specified as `Empty`. * * @return builder * */ - public Builder lun(Output lun) { + public Builder lun(@Nullable Output lun) { $.lun = lun; return this; } /** - * @param lun The Logical Unit Number of the Data Disk, which must be unique within the Virtual Machine. + * @param lun The Logical Unit Number of the Data Disk, which must be unique within the Virtual Machine. Required if `create_option` is specified as `Empty`. * * @return builder * @@ -378,12 +378,6 @@ public OrchestratedVirtualMachineScaleSetDataDiskArgs build() { if ($.caching == null) { throw new MissingRequiredPropertyException("OrchestratedVirtualMachineScaleSetDataDiskArgs", "caching"); } - if ($.diskSizeGb == null) { - throw new MissingRequiredPropertyException("OrchestratedVirtualMachineScaleSetDataDiskArgs", "diskSizeGb"); - } - if ($.lun == null) { - throw new MissingRequiredPropertyException("OrchestratedVirtualMachineScaleSetDataDiskArgs", "lun"); - } if ($.storageAccountType == null) { throw new MissingRequiredPropertyException("OrchestratedVirtualMachineScaleSetDataDiskArgs", "storageAccountType"); } 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 6a449c2bae..c14082073c 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 @@ -136,14 +136,14 @@ public Optional> encryptionAtHostEnabled() { } /** - * The Policy which should be used Virtual Machines are Evicted from the Scale Set. Possible values are `Deallocate` and `Delete`. Changing this forces a new resource to be created. + * The Policy which should be used by Spot Virtual Machines that are Evicted from the Scale Set. Possible values are `Deallocate` and `Delete`. Changing this forces a new resource to be created. * */ @Import(name="evictionPolicy") private @Nullable Output evictionPolicy; /** - * @return The Policy which should be used Virtual Machines are Evicted from the Scale Set. Possible values are `Deallocate` and `Delete`. Changing this forces a new resource to be created. + * @return The Policy which should be used by Spot Virtual Machines that are Evicted from the Scale Set. Possible values are `Deallocate` and `Delete`. Changing this forces a new resource to be created. * */ public Optional> evictionPolicy() { @@ -797,7 +797,7 @@ public Builder encryptionAtHostEnabled(Boolean encryptionAtHostEnabled) { } /** - * @param evictionPolicy The Policy which should be used Virtual Machines are Evicted from the Scale Set. Possible values are `Deallocate` and `Delete`. Changing this forces a new resource to be created. + * @param evictionPolicy The Policy which should be used by Spot Virtual Machines that are Evicted from the Scale Set. Possible values are `Deallocate` and `Delete`. Changing this forces a new resource to be created. * * @return builder * @@ -808,7 +808,7 @@ public Builder evictionPolicy(@Nullable Output evictionPolicy) { } /** - * @param evictionPolicy The Policy which should be used Virtual Machines are Evicted from the Scale Set. Possible values are `Deallocate` and `Delete`. Changing this forces a new resource to be created. + * @param evictionPolicy The Policy which should be used by Spot Virtual Machines that are Evicted from the Scale Set. Possible values are `Deallocate` and `Delete`. Changing this forces a new resource to be created. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/azure/compute/inputs/WindowsVirtualMachineGalleryApplicationArgs.java b/sdk/java/src/main/java/com/pulumi/azure/compute/inputs/WindowsVirtualMachineGalleryApplicationArgs.java index 262c82c685..e92c6c9942 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/compute/inputs/WindowsVirtualMachineGalleryApplicationArgs.java +++ b/sdk/java/src/main/java/com/pulumi/azure/compute/inputs/WindowsVirtualMachineGalleryApplicationArgs.java @@ -6,6 +6,7 @@ import com.pulumi.core.Output; import com.pulumi.core.annotations.Import; import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.Boolean; import java.lang.Integer; import java.lang.String; import java.util.Objects; @@ -17,6 +18,21 @@ public final class WindowsVirtualMachineGalleryApplicationArgs extends com.pulum public static final WindowsVirtualMachineGalleryApplicationArgs Empty = new WindowsVirtualMachineGalleryApplicationArgs(); + /** + * Specifies whether the version will be automatically updated for the VM when a new Gallery Application version is available in PIR/SIG. Defaults to `false`. + * + */ + @Import(name="automaticUpgradeEnabled") + private @Nullable Output automaticUpgradeEnabled; + + /** + * @return Specifies whether the version will be automatically updated for the VM when a new Gallery Application version is available in PIR/SIG. Defaults to `false`. + * + */ + public Optional> automaticUpgradeEnabled() { + return Optional.ofNullable(this.automaticUpgradeEnabled); + } + /** * Specifies the URI to an Azure Blob that will replace the default configuration for the package if provided. * @@ -62,6 +78,21 @@ public Optional> tag() { return Optional.ofNullable(this.tag); } + /** + * Specifies whether any failure for any operation in the VmApplication will fail the deployment of the VM. Defaults to `false`. + * + */ + @Import(name="treatFailureAsDeploymentFailureEnabled") + private @Nullable Output treatFailureAsDeploymentFailureEnabled; + + /** + * @return Specifies whether any failure for any operation in the VmApplication will fail the deployment of the VM. Defaults to `false`. + * + */ + public Optional> treatFailureAsDeploymentFailureEnabled() { + return Optional.ofNullable(this.treatFailureAsDeploymentFailureEnabled); + } + /** * Specifies the Gallery Application Version resource ID. * @@ -80,9 +111,11 @@ public Output versionId() { private WindowsVirtualMachineGalleryApplicationArgs() {} private WindowsVirtualMachineGalleryApplicationArgs(WindowsVirtualMachineGalleryApplicationArgs $) { + this.automaticUpgradeEnabled = $.automaticUpgradeEnabled; this.configurationBlobUri = $.configurationBlobUri; this.order = $.order; this.tag = $.tag; + this.treatFailureAsDeploymentFailureEnabled = $.treatFailureAsDeploymentFailureEnabled; this.versionId = $.versionId; } @@ -104,6 +137,27 @@ public Builder(WindowsVirtualMachineGalleryApplicationArgs defaults) { $ = new WindowsVirtualMachineGalleryApplicationArgs(Objects.requireNonNull(defaults)); } + /** + * @param automaticUpgradeEnabled Specifies whether the version will be automatically updated for the VM when a new Gallery Application version is available in PIR/SIG. Defaults to `false`. + * + * @return builder + * + */ + public Builder automaticUpgradeEnabled(@Nullable Output automaticUpgradeEnabled) { + $.automaticUpgradeEnabled = automaticUpgradeEnabled; + return this; + } + + /** + * @param automaticUpgradeEnabled Specifies whether the version will be automatically updated for the VM when a new Gallery Application version is available in PIR/SIG. Defaults to `false`. + * + * @return builder + * + */ + public Builder automaticUpgradeEnabled(Boolean automaticUpgradeEnabled) { + return automaticUpgradeEnabled(Output.of(automaticUpgradeEnabled)); + } + /** * @param configurationBlobUri Specifies the URI to an Azure Blob that will replace the default configuration for the package if provided. * @@ -167,6 +221,27 @@ public Builder tag(String tag) { return tag(Output.of(tag)); } + /** + * @param treatFailureAsDeploymentFailureEnabled Specifies whether any failure for any operation in the VmApplication will fail the deployment of the VM. Defaults to `false`. + * + * @return builder + * + */ + public Builder treatFailureAsDeploymentFailureEnabled(@Nullable Output treatFailureAsDeploymentFailureEnabled) { + $.treatFailureAsDeploymentFailureEnabled = treatFailureAsDeploymentFailureEnabled; + return this; + } + + /** + * @param treatFailureAsDeploymentFailureEnabled Specifies whether any failure for any operation in the VmApplication will fail the deployment of the VM. Defaults to `false`. + * + * @return builder + * + */ + public Builder treatFailureAsDeploymentFailureEnabled(Boolean treatFailureAsDeploymentFailureEnabled) { + return treatFailureAsDeploymentFailureEnabled(Output.of(treatFailureAsDeploymentFailureEnabled)); + } + /** * @param versionId Specifies the Gallery Application Version resource ID. * diff --git a/sdk/java/src/main/java/com/pulumi/azure/compute/inputs/WindowsVirtualMachineOsImageNotificationArgs.java b/sdk/java/src/main/java/com/pulumi/azure/compute/inputs/WindowsVirtualMachineOsImageNotificationArgs.java new file mode 100644 index 0000000000..4d4a29ba24 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/azure/compute/inputs/WindowsVirtualMachineOsImageNotificationArgs.java @@ -0,0 +1,83 @@ +// *** 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.compute.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 WindowsVirtualMachineOsImageNotificationArgs extends com.pulumi.resources.ResourceArgs { + + public static final WindowsVirtualMachineOsImageNotificationArgs Empty = new WindowsVirtualMachineOsImageNotificationArgs(); + + /** + * Length of time a notification to be sent to the VM on the instance metadata server till the VM gets OS upgraded. The only possible value is `PT15M`. Defaults to `PT15M`. + * + */ + @Import(name="timeout") + private @Nullable Output timeout; + + /** + * @return Length of time a notification to be sent to the VM on the instance metadata server till the VM gets OS upgraded. The only possible value is `PT15M`. Defaults to `PT15M`. + * + */ + public Optional> timeout() { + return Optional.ofNullable(this.timeout); + } + + private WindowsVirtualMachineOsImageNotificationArgs() {} + + private WindowsVirtualMachineOsImageNotificationArgs(WindowsVirtualMachineOsImageNotificationArgs $) { + this.timeout = $.timeout; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(WindowsVirtualMachineOsImageNotificationArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private WindowsVirtualMachineOsImageNotificationArgs $; + + public Builder() { + $ = new WindowsVirtualMachineOsImageNotificationArgs(); + } + + public Builder(WindowsVirtualMachineOsImageNotificationArgs defaults) { + $ = new WindowsVirtualMachineOsImageNotificationArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param timeout Length of time a notification to be sent to the VM on the instance metadata server till the VM gets OS upgraded. The only possible value is `PT15M`. Defaults to `PT15M`. + * + * @return builder + * + */ + public Builder timeout(@Nullable Output timeout) { + $.timeout = timeout; + return this; + } + + /** + * @param timeout Length of time a notification to be sent to the VM on the instance metadata server till the VM gets OS upgraded. The only possible value is `PT15M`. Defaults to `PT15M`. + * + * @return builder + * + */ + public Builder timeout(String timeout) { + return timeout(Output.of(timeout)); + } + + public WindowsVirtualMachineOsImageNotificationArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/azure/compute/inputs/WindowsVirtualMachineState.java b/sdk/java/src/main/java/com/pulumi/azure/compute/inputs/WindowsVirtualMachineState.java index 9a0a27cc27..7de3981f0e 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/compute/inputs/WindowsVirtualMachineState.java +++ b/sdk/java/src/main/java/com/pulumi/azure/compute/inputs/WindowsVirtualMachineState.java @@ -9,6 +9,7 @@ import com.pulumi.azure.compute.inputs.WindowsVirtualMachineGalleryApplicationArgs; import com.pulumi.azure.compute.inputs.WindowsVirtualMachineIdentityArgs; import com.pulumi.azure.compute.inputs.WindowsVirtualMachineOsDiskArgs; +import com.pulumi.azure.compute.inputs.WindowsVirtualMachineOsImageNotificationArgs; import com.pulumi.azure.compute.inputs.WindowsVirtualMachinePlanArgs; import com.pulumi.azure.compute.inputs.WindowsVirtualMachineSecretArgs; import com.pulumi.azure.compute.inputs.WindowsVirtualMachineSourceImageReferenceArgs; @@ -234,6 +235,21 @@ public Optional> dedicatedHostId() { return Optional.ofNullable(this.dedicatedHostId); } + /** + * Specifies the Disk Controller Type used for this Virtual Machine. Possible values are `SCSI` and `NVMe`. + * + */ + @Import(name="diskControllerType") + private @Nullable Output diskControllerType; + + /** + * @return Specifies the Disk Controller Type used for this Virtual Machine. Possible values are `SCSI` and `NVMe`. + * + */ + public Optional> diskControllerType() { + return Optional.ofNullable(this.diskControllerType); + } + /** * Specifies the Edge Zone within the Azure Region where this Windows Virtual Machine should exist. Changing this forces a new Windows Virtual Machine to be created. * @@ -456,6 +472,21 @@ public Optional> osDisk() { return Optional.ofNullable(this.osDisk); } + /** + * A `os_image_notification` block as defined below. + * + */ + @Import(name="osImageNotification") + private @Nullable Output osImageNotification; + + /** + * @return A `os_image_notification` block as defined below. + * + */ + public Optional> osImageNotification() { + return Optional.ofNullable(this.osImageNotification); + } + /** * Specifies the mode of VM Guest Patching for the Virtual Machine. Possible values are `AutomaticByPlatform` or `ImageDefault`. Defaults to `ImageDefault`. * @@ -826,7 +857,9 @@ public Optional> virtualMachineId() { } /** - * Specifies the Orchestrated Virtual Machine Scale Set that this Virtual Machine should be created within. Changing this forces a new resource to be created. + * Specifies the Orchestrated Virtual Machine Scale Set that this Virtual Machine should be created within. + * + * > **NOTE:** To update `virtual_machine_scale_set_id` the Preview Feature `Microsoft.Compute/SingleFDAttachDetachVMToVmss` needs to be enabled, see [the documentation](https://review.learn.microsoft.com/azure/virtual-machine-scale-sets/virtual-machine-scale-sets-attach-detach-vm#enroll-in-the-preview) for more information. * * > **NOTE:** Orchestrated Virtual Machine Scale Sets can be provisioned using [the `azure.compute.OrchestratedVirtualMachineScaleSet` resource](https://www.terraform.io/docs/providers/azurerm/r/orchestrated_virtual_machine_scale_set.html). * @@ -835,7 +868,9 @@ public Optional> virtualMachineId() { private @Nullable Output virtualMachineScaleSetId; /** - * @return Specifies the Orchestrated Virtual Machine Scale Set that this Virtual Machine should be created within. Changing this forces a new resource to be created. + * @return Specifies the Orchestrated Virtual Machine Scale Set that this Virtual Machine should be created within. + * + * > **NOTE:** To update `virtual_machine_scale_set_id` the Preview Feature `Microsoft.Compute/SingleFDAttachDetachVMToVmss` needs to be enabled, see [the documentation](https://review.learn.microsoft.com/azure/virtual-machine-scale-sets/virtual-machine-scale-sets-attach-detach-vm#enroll-in-the-preview) for more information. * * > **NOTE:** Orchestrated Virtual Machine Scale Sets can be provisioned using [the `azure.compute.OrchestratedVirtualMachineScaleSet` resource](https://www.terraform.io/docs/providers/azurerm/r/orchestrated_virtual_machine_scale_set.html). * @@ -844,6 +879,21 @@ public Optional> virtualMachineScaleSetId() { return Optional.ofNullable(this.virtualMachineScaleSetId); } + /** + * Specifies whether VMAgent Platform Updates is enabled. Defaults to `false`. + * + */ + @Import(name="vmAgentPlatformUpdatesEnabled") + private @Nullable Output vmAgentPlatformUpdatesEnabled; + + /** + * @return Specifies whether VMAgent Platform Updates is enabled. Defaults to `false`. + * + */ + public Optional> vmAgentPlatformUpdatesEnabled() { + return Optional.ofNullable(this.vmAgentPlatformUpdatesEnabled); + } + /** * Specifies if vTPM (virtual Trusted Platform Module) and Trusted Launch is enabled for the Virtual Machine. Changing this forces a new resource to be created. * @@ -905,6 +955,7 @@ private WindowsVirtualMachineState(WindowsVirtualMachineState $) { this.customData = $.customData; this.dedicatedHostGroupId = $.dedicatedHostGroupId; this.dedicatedHostId = $.dedicatedHostId; + this.diskControllerType = $.diskControllerType; this.edgeZone = $.edgeZone; this.enableAutomaticUpdates = $.enableAutomaticUpdates; this.encryptionAtHostEnabled = $.encryptionAtHostEnabled; @@ -919,6 +970,7 @@ private WindowsVirtualMachineState(WindowsVirtualMachineState $) { this.name = $.name; this.networkInterfaceIds = $.networkInterfaceIds; this.osDisk = $.osDisk; + this.osImageNotification = $.osImageNotification; this.patchAssessmentMode = $.patchAssessmentMode; this.patchMode = $.patchMode; this.plan = $.plan; @@ -943,6 +995,7 @@ private WindowsVirtualMachineState(WindowsVirtualMachineState $) { this.userData = $.userData; this.virtualMachineId = $.virtualMachineId; this.virtualMachineScaleSetId = $.virtualMachineScaleSetId; + this.vmAgentPlatformUpdatesEnabled = $.vmAgentPlatformUpdatesEnabled; this.vtpmEnabled = $.vtpmEnabled; this.winrmListeners = $.winrmListeners; this.zone = $.zone; @@ -1257,6 +1310,27 @@ public Builder dedicatedHostId(String dedicatedHostId) { return dedicatedHostId(Output.of(dedicatedHostId)); } + /** + * @param diskControllerType Specifies the Disk Controller Type used for this Virtual Machine. Possible values are `SCSI` and `NVMe`. + * + * @return builder + * + */ + public Builder diskControllerType(@Nullable Output diskControllerType) { + $.diskControllerType = diskControllerType; + return this; + } + + /** + * @param diskControllerType Specifies the Disk Controller Type used for this Virtual Machine. Possible values are `SCSI` and `NVMe`. + * + * @return builder + * + */ + public Builder diskControllerType(String diskControllerType) { + return diskControllerType(Output.of(diskControllerType)); + } + /** * @param edgeZone Specifies the Edge Zone within the Azure Region where this Windows Virtual Machine should exist. Changing this forces a new Windows Virtual Machine to be created. * @@ -1583,6 +1657,27 @@ public Builder osDisk(WindowsVirtualMachineOsDiskArgs osDisk) { return osDisk(Output.of(osDisk)); } + /** + * @param osImageNotification A `os_image_notification` block as defined below. + * + * @return builder + * + */ + public Builder osImageNotification(@Nullable Output osImageNotification) { + $.osImageNotification = osImageNotification; + return this; + } + + /** + * @param osImageNotification A `os_image_notification` block as defined below. + * + * @return builder + * + */ + public Builder osImageNotification(WindowsVirtualMachineOsImageNotificationArgs osImageNotification) { + return osImageNotification(Output.of(osImageNotification)); + } + /** * @param patchAssessmentMode Specifies the mode of VM Guest Patching for the Virtual Machine. Possible values are `AutomaticByPlatform` or `ImageDefault`. Defaults to `ImageDefault`. * @@ -2121,7 +2216,9 @@ public Builder virtualMachineId(String virtualMachineId) { } /** - * @param virtualMachineScaleSetId Specifies the Orchestrated Virtual Machine Scale Set that this Virtual Machine should be created within. Changing this forces a new resource to be created. + * @param virtualMachineScaleSetId Specifies the Orchestrated Virtual Machine Scale Set that this Virtual Machine should be created within. + * + * > **NOTE:** To update `virtual_machine_scale_set_id` the Preview Feature `Microsoft.Compute/SingleFDAttachDetachVMToVmss` needs to be enabled, see [the documentation](https://review.learn.microsoft.com/azure/virtual-machine-scale-sets/virtual-machine-scale-sets-attach-detach-vm#enroll-in-the-preview) for more information. * * > **NOTE:** Orchestrated Virtual Machine Scale Sets can be provisioned using [the `azure.compute.OrchestratedVirtualMachineScaleSet` resource](https://www.terraform.io/docs/providers/azurerm/r/orchestrated_virtual_machine_scale_set.html). * @@ -2134,7 +2231,9 @@ public Builder virtualMachineScaleSetId(@Nullable Output virtualMachineS } /** - * @param virtualMachineScaleSetId Specifies the Orchestrated Virtual Machine Scale Set that this Virtual Machine should be created within. Changing this forces a new resource to be created. + * @param virtualMachineScaleSetId Specifies the Orchestrated Virtual Machine Scale Set that this Virtual Machine should be created within. + * + * > **NOTE:** To update `virtual_machine_scale_set_id` the Preview Feature `Microsoft.Compute/SingleFDAttachDetachVMToVmss` needs to be enabled, see [the documentation](https://review.learn.microsoft.com/azure/virtual-machine-scale-sets/virtual-machine-scale-sets-attach-detach-vm#enroll-in-the-preview) for more information. * * > **NOTE:** Orchestrated Virtual Machine Scale Sets can be provisioned using [the `azure.compute.OrchestratedVirtualMachineScaleSet` resource](https://www.terraform.io/docs/providers/azurerm/r/orchestrated_virtual_machine_scale_set.html). * @@ -2145,6 +2244,27 @@ public Builder virtualMachineScaleSetId(String virtualMachineScaleSetId) { return virtualMachineScaleSetId(Output.of(virtualMachineScaleSetId)); } + /** + * @param vmAgentPlatformUpdatesEnabled Specifies whether VMAgent Platform Updates is enabled. Defaults to `false`. + * + * @return builder + * + */ + public Builder vmAgentPlatformUpdatesEnabled(@Nullable Output vmAgentPlatformUpdatesEnabled) { + $.vmAgentPlatformUpdatesEnabled = vmAgentPlatformUpdatesEnabled; + return this; + } + + /** + * @param vmAgentPlatformUpdatesEnabled Specifies whether VMAgent Platform Updates is enabled. Defaults to `false`. + * + * @return builder + * + */ + public Builder vmAgentPlatformUpdatesEnabled(Boolean vmAgentPlatformUpdatesEnabled) { + return vmAgentPlatformUpdatesEnabled(Output.of(vmAgentPlatformUpdatesEnabled)); + } + /** * @param vtpmEnabled Specifies if vTPM (virtual Trusted Platform Module) and Trusted Launch is enabled for the Virtual Machine. Changing this forces a new resource to be created. * diff --git a/sdk/java/src/main/java/com/pulumi/azure/compute/outputs/LinuxVirtualMachineGalleryApplication.java b/sdk/java/src/main/java/com/pulumi/azure/compute/outputs/LinuxVirtualMachineGalleryApplication.java index 4b4a834cd2..ee396238b6 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/compute/outputs/LinuxVirtualMachineGalleryApplication.java +++ b/sdk/java/src/main/java/com/pulumi/azure/compute/outputs/LinuxVirtualMachineGalleryApplication.java @@ -5,6 +5,7 @@ import com.pulumi.core.annotations.CustomType; import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.Boolean; import java.lang.Integer; import java.lang.String; import java.util.Objects; @@ -13,6 +14,11 @@ @CustomType public final class LinuxVirtualMachineGalleryApplication { + /** + * @return Specifies whether the version will be automatically updated for the VM when a new Gallery Application version is available in PIR/SIG. Defaults to `false`. + * + */ + private @Nullable Boolean automaticUpgradeEnabled; /** * @return Specifies the URI to an Azure Blob that will replace the default configuration for the package if provided. * @@ -28,6 +34,11 @@ public final class LinuxVirtualMachineGalleryApplication { * */ private @Nullable String tag; + /** + * @return Specifies whether any failure for any operation in the VmApplication will fail the deployment of the VM. Defaults to `false`. + * + */ + private @Nullable Boolean treatFailureAsDeploymentFailureEnabled; /** * @return Specifies the Gallery Application Version resource ID. * @@ -35,6 +46,13 @@ public final class LinuxVirtualMachineGalleryApplication { private String versionId; private LinuxVirtualMachineGalleryApplication() {} + /** + * @return Specifies whether the version will be automatically updated for the VM when a new Gallery Application version is available in PIR/SIG. Defaults to `false`. + * + */ + public Optional automaticUpgradeEnabled() { + return Optional.ofNullable(this.automaticUpgradeEnabled); + } /** * @return Specifies the URI to an Azure Blob that will replace the default configuration for the package if provided. * @@ -56,6 +74,13 @@ public Optional order() { public Optional tag() { return Optional.ofNullable(this.tag); } + /** + * @return Specifies whether any failure for any operation in the VmApplication will fail the deployment of the VM. Defaults to `false`. + * + */ + public Optional treatFailureAsDeploymentFailureEnabled() { + return Optional.ofNullable(this.treatFailureAsDeploymentFailureEnabled); + } /** * @return Specifies the Gallery Application Version resource ID. * @@ -73,19 +98,29 @@ public static Builder builder(LinuxVirtualMachineGalleryApplication defaults) { } @CustomType.Builder public static final class Builder { + private @Nullable Boolean automaticUpgradeEnabled; private @Nullable String configurationBlobUri; private @Nullable Integer order; private @Nullable String tag; + private @Nullable Boolean treatFailureAsDeploymentFailureEnabled; private String versionId; public Builder() {} public Builder(LinuxVirtualMachineGalleryApplication defaults) { Objects.requireNonNull(defaults); + this.automaticUpgradeEnabled = defaults.automaticUpgradeEnabled; this.configurationBlobUri = defaults.configurationBlobUri; this.order = defaults.order; this.tag = defaults.tag; + this.treatFailureAsDeploymentFailureEnabled = defaults.treatFailureAsDeploymentFailureEnabled; this.versionId = defaults.versionId; } + @CustomType.Setter + public Builder automaticUpgradeEnabled(@Nullable Boolean automaticUpgradeEnabled) { + + this.automaticUpgradeEnabled = automaticUpgradeEnabled; + return this; + } @CustomType.Setter public Builder configurationBlobUri(@Nullable String configurationBlobUri) { @@ -105,6 +140,12 @@ public Builder tag(@Nullable String tag) { return this; } @CustomType.Setter + public Builder treatFailureAsDeploymentFailureEnabled(@Nullable Boolean treatFailureAsDeploymentFailureEnabled) { + + this.treatFailureAsDeploymentFailureEnabled = treatFailureAsDeploymentFailureEnabled; + return this; + } + @CustomType.Setter public Builder versionId(String versionId) { if (versionId == null) { throw new MissingRequiredPropertyException("LinuxVirtualMachineGalleryApplication", "versionId"); @@ -114,9 +155,11 @@ public Builder versionId(String versionId) { } public LinuxVirtualMachineGalleryApplication build() { final var _resultValue = new LinuxVirtualMachineGalleryApplication(); + _resultValue.automaticUpgradeEnabled = automaticUpgradeEnabled; _resultValue.configurationBlobUri = configurationBlobUri; _resultValue.order = order; _resultValue.tag = tag; + _resultValue.treatFailureAsDeploymentFailureEnabled = treatFailureAsDeploymentFailureEnabled; _resultValue.versionId = versionId; return _resultValue; } diff --git a/sdk/java/src/main/java/com/pulumi/azure/compute/outputs/LinuxVirtualMachineOsImageNotification.java b/sdk/java/src/main/java/com/pulumi/azure/compute/outputs/LinuxVirtualMachineOsImageNotification.java new file mode 100644 index 0000000000..92282f28dc --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/azure/compute/outputs/LinuxVirtualMachineOsImageNotification.java @@ -0,0 +1,57 @@ +// *** 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.compute.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 LinuxVirtualMachineOsImageNotification { + /** + * @return Length of time a notification to be sent to the VM on the instance metadata server till the VM gets OS upgraded. The only possible value is `PT15M`. Defaults to `PT15M`. + * + */ + private @Nullable String timeout; + + private LinuxVirtualMachineOsImageNotification() {} + /** + * @return Length of time a notification to be sent to the VM on the instance metadata server till the VM gets OS upgraded. The only possible value is `PT15M`. Defaults to `PT15M`. + * + */ + public Optional timeout() { + return Optional.ofNullable(this.timeout); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(LinuxVirtualMachineOsImageNotification defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable String timeout; + public Builder() {} + public Builder(LinuxVirtualMachineOsImageNotification defaults) { + Objects.requireNonNull(defaults); + this.timeout = defaults.timeout; + } + + @CustomType.Setter + public Builder timeout(@Nullable String timeout) { + + this.timeout = timeout; + return this; + } + public LinuxVirtualMachineOsImageNotification build() { + final var _resultValue = new LinuxVirtualMachineOsImageNotification(); + _resultValue.timeout = timeout; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/azure/compute/outputs/OrchestratedVirtualMachineScaleSetDataDisk.java b/sdk/java/src/main/java/com/pulumi/azure/compute/outputs/OrchestratedVirtualMachineScaleSetDataDisk.java index 149b549c41..2cba680389 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/compute/outputs/OrchestratedVirtualMachineScaleSetDataDisk.java +++ b/sdk/java/src/main/java/com/pulumi/azure/compute/outputs/OrchestratedVirtualMachineScaleSetDataDisk.java @@ -30,15 +30,15 @@ public final class OrchestratedVirtualMachineScaleSetDataDisk { */ private @Nullable String diskEncryptionSetId; /** - * @return The size of the Data Disk which should be created. + * @return The size of the Data Disk which should be created. Required if `create_option` is specified as `Empty`. * */ - private Integer diskSizeGb; + private @Nullable Integer diskSizeGb; /** - * @return The Logical Unit Number of the Data Disk, which must be unique within the Virtual Machine. + * @return The Logical Unit Number of the Data Disk, which must be unique within the Virtual Machine. Required if `create_option` is specified as `Empty`. * */ - private Integer lun; + private @Nullable Integer lun; /** * @return The Type of Storage Account which should back this Data Disk. Possible values include `Standard_LRS`, `StandardSSD_LRS`, `StandardSSD_ZRS`, `Premium_LRS`, `PremiumV2_LRS`, `Premium_ZRS` and `UltraSSD_LRS`. * @@ -83,18 +83,18 @@ public Optional diskEncryptionSetId() { return Optional.ofNullable(this.diskEncryptionSetId); } /** - * @return The size of the Data Disk which should be created. + * @return The size of the Data Disk which should be created. Required if `create_option` is specified as `Empty`. * */ - public Integer diskSizeGb() { - return this.diskSizeGb; + public Optional diskSizeGb() { + return Optional.ofNullable(this.diskSizeGb); } /** - * @return The Logical Unit Number of the Data Disk, which must be unique within the Virtual Machine. + * @return The Logical Unit Number of the Data Disk, which must be unique within the Virtual Machine. Required if `create_option` is specified as `Empty`. * */ - public Integer lun() { - return this.lun; + public Optional lun() { + return Optional.ofNullable(this.lun); } /** * @return The Type of Storage Account which should back this Data Disk. Possible values include `Standard_LRS`, `StandardSSD_LRS`, `StandardSSD_ZRS`, `Premium_LRS`, `PremiumV2_LRS`, `Premium_ZRS` and `UltraSSD_LRS`. @@ -137,8 +137,8 @@ public static final class Builder { private String caching; private @Nullable String createOption; private @Nullable String diskEncryptionSetId; - private Integer diskSizeGb; - private Integer lun; + private @Nullable Integer diskSizeGb; + private @Nullable Integer lun; private String storageAccountType; private @Nullable Integer ultraSsdDiskIopsReadWrite; private @Nullable Integer ultraSsdDiskMbpsReadWrite; @@ -178,18 +178,14 @@ public Builder diskEncryptionSetId(@Nullable String diskEncryptionSetId) { return this; } @CustomType.Setter - public Builder diskSizeGb(Integer diskSizeGb) { - if (diskSizeGb == null) { - throw new MissingRequiredPropertyException("OrchestratedVirtualMachineScaleSetDataDisk", "diskSizeGb"); - } + public Builder diskSizeGb(@Nullable Integer diskSizeGb) { + this.diskSizeGb = diskSizeGb; return this; } @CustomType.Setter - public Builder lun(Integer lun) { - if (lun == null) { - throw new MissingRequiredPropertyException("OrchestratedVirtualMachineScaleSetDataDisk", "lun"); - } + public Builder lun(@Nullable Integer lun) { + this.lun = lun; return this; } diff --git a/sdk/java/src/main/java/com/pulumi/azure/compute/outputs/WindowsVirtualMachineGalleryApplication.java b/sdk/java/src/main/java/com/pulumi/azure/compute/outputs/WindowsVirtualMachineGalleryApplication.java index 1b68c6c38d..c8ac29e607 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/compute/outputs/WindowsVirtualMachineGalleryApplication.java +++ b/sdk/java/src/main/java/com/pulumi/azure/compute/outputs/WindowsVirtualMachineGalleryApplication.java @@ -5,6 +5,7 @@ import com.pulumi.core.annotations.CustomType; import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.Boolean; import java.lang.Integer; import java.lang.String; import java.util.Objects; @@ -13,6 +14,11 @@ @CustomType public final class WindowsVirtualMachineGalleryApplication { + /** + * @return Specifies whether the version will be automatically updated for the VM when a new Gallery Application version is available in PIR/SIG. Defaults to `false`. + * + */ + private @Nullable Boolean automaticUpgradeEnabled; /** * @return Specifies the URI to an Azure Blob that will replace the default configuration for the package if provided. * @@ -28,6 +34,11 @@ public final class WindowsVirtualMachineGalleryApplication { * */ private @Nullable String tag; + /** + * @return Specifies whether any failure for any operation in the VmApplication will fail the deployment of the VM. Defaults to `false`. + * + */ + private @Nullable Boolean treatFailureAsDeploymentFailureEnabled; /** * @return Specifies the Gallery Application Version resource ID. * @@ -35,6 +46,13 @@ public final class WindowsVirtualMachineGalleryApplication { private String versionId; private WindowsVirtualMachineGalleryApplication() {} + /** + * @return Specifies whether the version will be automatically updated for the VM when a new Gallery Application version is available in PIR/SIG. Defaults to `false`. + * + */ + public Optional automaticUpgradeEnabled() { + return Optional.ofNullable(this.automaticUpgradeEnabled); + } /** * @return Specifies the URI to an Azure Blob that will replace the default configuration for the package if provided. * @@ -56,6 +74,13 @@ public Optional order() { public Optional tag() { return Optional.ofNullable(this.tag); } + /** + * @return Specifies whether any failure for any operation in the VmApplication will fail the deployment of the VM. Defaults to `false`. + * + */ + public Optional treatFailureAsDeploymentFailureEnabled() { + return Optional.ofNullable(this.treatFailureAsDeploymentFailureEnabled); + } /** * @return Specifies the Gallery Application Version resource ID. * @@ -73,19 +98,29 @@ public static Builder builder(WindowsVirtualMachineGalleryApplication defaults) } @CustomType.Builder public static final class Builder { + private @Nullable Boolean automaticUpgradeEnabled; private @Nullable String configurationBlobUri; private @Nullable Integer order; private @Nullable String tag; + private @Nullable Boolean treatFailureAsDeploymentFailureEnabled; private String versionId; public Builder() {} public Builder(WindowsVirtualMachineGalleryApplication defaults) { Objects.requireNonNull(defaults); + this.automaticUpgradeEnabled = defaults.automaticUpgradeEnabled; this.configurationBlobUri = defaults.configurationBlobUri; this.order = defaults.order; this.tag = defaults.tag; + this.treatFailureAsDeploymentFailureEnabled = defaults.treatFailureAsDeploymentFailureEnabled; this.versionId = defaults.versionId; } + @CustomType.Setter + public Builder automaticUpgradeEnabled(@Nullable Boolean automaticUpgradeEnabled) { + + this.automaticUpgradeEnabled = automaticUpgradeEnabled; + return this; + } @CustomType.Setter public Builder configurationBlobUri(@Nullable String configurationBlobUri) { @@ -105,6 +140,12 @@ public Builder tag(@Nullable String tag) { return this; } @CustomType.Setter + public Builder treatFailureAsDeploymentFailureEnabled(@Nullable Boolean treatFailureAsDeploymentFailureEnabled) { + + this.treatFailureAsDeploymentFailureEnabled = treatFailureAsDeploymentFailureEnabled; + return this; + } + @CustomType.Setter public Builder versionId(String versionId) { if (versionId == null) { throw new MissingRequiredPropertyException("WindowsVirtualMachineGalleryApplication", "versionId"); @@ -114,9 +155,11 @@ public Builder versionId(String versionId) { } public WindowsVirtualMachineGalleryApplication build() { final var _resultValue = new WindowsVirtualMachineGalleryApplication(); + _resultValue.automaticUpgradeEnabled = automaticUpgradeEnabled; _resultValue.configurationBlobUri = configurationBlobUri; _resultValue.order = order; _resultValue.tag = tag; + _resultValue.treatFailureAsDeploymentFailureEnabled = treatFailureAsDeploymentFailureEnabled; _resultValue.versionId = versionId; return _resultValue; } diff --git a/sdk/java/src/main/java/com/pulumi/azure/compute/outputs/WindowsVirtualMachineOsImageNotification.java b/sdk/java/src/main/java/com/pulumi/azure/compute/outputs/WindowsVirtualMachineOsImageNotification.java new file mode 100644 index 0000000000..3737a6b88d --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/azure/compute/outputs/WindowsVirtualMachineOsImageNotification.java @@ -0,0 +1,57 @@ +// *** 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.compute.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 WindowsVirtualMachineOsImageNotification { + /** + * @return Length of time a notification to be sent to the VM on the instance metadata server till the VM gets OS upgraded. The only possible value is `PT15M`. Defaults to `PT15M`. + * + */ + private @Nullable String timeout; + + private WindowsVirtualMachineOsImageNotification() {} + /** + * @return Length of time a notification to be sent to the VM on the instance metadata server till the VM gets OS upgraded. The only possible value is `PT15M`. Defaults to `PT15M`. + * + */ + public Optional timeout() { + return Optional.ofNullable(this.timeout); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(WindowsVirtualMachineOsImageNotification defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable String timeout; + public Builder() {} + public Builder(WindowsVirtualMachineOsImageNotification defaults) { + Objects.requireNonNull(defaults); + this.timeout = defaults.timeout; + } + + @CustomType.Setter + public Builder timeout(@Nullable String timeout) { + + this.timeout = timeout; + return this; + } + public WindowsVirtualMachineOsImageNotification build() { + final var _resultValue = new WindowsVirtualMachineOsImageNotification(); + _resultValue.timeout = timeout; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/azure/config/outputs/FeaturesVirtualMachineScaleSet.java b/sdk/java/src/main/java/com/pulumi/azure/config/outputs/FeaturesVirtualMachineScaleSet.java index 0310cdfe2c..d436b62a62 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/config/outputs/FeaturesVirtualMachineScaleSet.java +++ b/sdk/java/src/main/java/com/pulumi/azure/config/outputs/FeaturesVirtualMachineScaleSet.java @@ -12,6 +12,7 @@ @CustomType public final class FeaturesVirtualMachineScaleSet { private @Nullable Boolean forceDelete; + private @Nullable Boolean reimageOnManualUpgrade; private @Nullable Boolean rollInstancesWhenRequired; private @Nullable Boolean scaleToZeroBeforeDeletion; @@ -19,6 +20,9 @@ private FeaturesVirtualMachineScaleSet() {} public Optional forceDelete() { return Optional.ofNullable(this.forceDelete); } + public Optional reimageOnManualUpgrade() { + return Optional.ofNullable(this.reimageOnManualUpgrade); + } public Optional rollInstancesWhenRequired() { return Optional.ofNullable(this.rollInstancesWhenRequired); } @@ -36,12 +40,14 @@ public static Builder builder(FeaturesVirtualMachineScaleSet defaults) { @CustomType.Builder public static final class Builder { private @Nullable Boolean forceDelete; + private @Nullable Boolean reimageOnManualUpgrade; private @Nullable Boolean rollInstancesWhenRequired; private @Nullable Boolean scaleToZeroBeforeDeletion; public Builder() {} public Builder(FeaturesVirtualMachineScaleSet defaults) { Objects.requireNonNull(defaults); this.forceDelete = defaults.forceDelete; + this.reimageOnManualUpgrade = defaults.reimageOnManualUpgrade; this.rollInstancesWhenRequired = defaults.rollInstancesWhenRequired; this.scaleToZeroBeforeDeletion = defaults.scaleToZeroBeforeDeletion; } @@ -53,6 +59,12 @@ public Builder forceDelete(@Nullable Boolean forceDelete) { return this; } @CustomType.Setter + public Builder reimageOnManualUpgrade(@Nullable Boolean reimageOnManualUpgrade) { + + this.reimageOnManualUpgrade = reimageOnManualUpgrade; + return this; + } + @CustomType.Setter public Builder rollInstancesWhenRequired(@Nullable Boolean rollInstancesWhenRequired) { this.rollInstancesWhenRequired = rollInstancesWhenRequired; @@ -67,6 +79,7 @@ public Builder scaleToZeroBeforeDeletion(@Nullable Boolean scaleToZeroBeforeDele public FeaturesVirtualMachineScaleSet build() { final var _resultValue = new FeaturesVirtualMachineScaleSet(); _resultValue.forceDelete = forceDelete; + _resultValue.reimageOnManualUpgrade = reimageOnManualUpgrade; _resultValue.rollInstancesWhenRequired = rollInstancesWhenRequired; _resultValue.scaleToZeroBeforeDeletion = scaleToZeroBeforeDeletion; return _resultValue; diff --git a/sdk/java/src/main/java/com/pulumi/azure/containerservice/FleetUpdateRun.java b/sdk/java/src/main/java/com/pulumi/azure/containerservice/FleetUpdateRun.java new file mode 100644 index 0000000000..4049b67a89 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/azure/containerservice/FleetUpdateRun.java @@ -0,0 +1,251 @@ +// *** 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.containerservice; + +import com.pulumi.azure.Utilities; +import com.pulumi.azure.containerservice.FleetUpdateRunArgs; +import com.pulumi.azure.containerservice.inputs.FleetUpdateRunState; +import com.pulumi.azure.containerservice.outputs.FleetUpdateRunManagedClusterUpdate; +import com.pulumi.azure.containerservice.outputs.FleetUpdateRunStage; +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 Kubernetes Fleet Update Run. + * + * ## Example Usage + * ```java + * 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.containerservice.KubernetesFleetManager; + * import com.pulumi.azure.containerservice.KubernetesFleetManagerArgs; + * import com.pulumi.azure.containerservice.inputs.KubernetesFleetManagerHubProfileArgs; + * import com.pulumi.azure.containerservice.KubernetesCluster; + * import com.pulumi.azure.containerservice.KubernetesClusterArgs; + * import com.pulumi.azure.containerservice.inputs.KubernetesClusterDefaultNodePoolArgs; + * import com.pulumi.azure.containerservice.inputs.KubernetesClusterIdentityArgs; + * import com.pulumi.azure.containerservice.FleetMember; + * import com.pulumi.azure.containerservice.FleetMemberArgs; + * import com.pulumi.azure.containerservice.FleetUpdateRun; + * import com.pulumi.azure.containerservice.FleetUpdateRunArgs; + * import com.pulumi.azure.containerservice.inputs.FleetUpdateRunManagedClusterUpdateArgs; + * import com.pulumi.azure.containerservice.inputs.FleetUpdateRunManagedClusterUpdateUpgradeArgs; + * import com.pulumi.azure.containerservice.inputs.FleetUpdateRunManagedClusterUpdateNodeImageSelectionArgs; + * import com.pulumi.azure.containerservice.inputs.FleetUpdateRunStageArgs; + * 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("westeurope") + * .build()); + * + * var exampleKubernetesFleetManager = new KubernetesFleetManager("exampleKubernetesFleetManager", KubernetesFleetManagerArgs.builder() + * .location(example.location()) + * .name("example") + * .resourceGroupName(example.name()) + * .hubProfile(KubernetesFleetManagerHubProfileArgs.builder() + * .dnsPrefix("example-dns-prefix") + * .build()) + * .build()); + * + * var exampleKubernetesCluster = new KubernetesCluster("exampleKubernetesCluster", KubernetesClusterArgs.builder() + * .name("example") + * .location(example.location()) + * .resourceGroupName(example.name()) + * .dnsPrefix("example") + * .defaultNodePool(KubernetesClusterDefaultNodePoolArgs.builder() + * .name("default") + * .nodeCount(1) + * .vmSize("Standard_DS2_v2") + * .build()) + * .identity(KubernetesClusterIdentityArgs.builder() + * .type("SystemAssigned") + * .build()) + * .build()); + * + * var exampleFleetMember = new FleetMember("exampleFleetMember", FleetMemberArgs.builder() + * .name("example") + * .kubernetesFleetId(exampleKubernetesFleetManager.id()) + * .kubernetesClusterId(exampleKubernetesCluster.id()) + * .group("example-group") + * .build()); + * + * var exampleFleetUpdateRun = new FleetUpdateRun("exampleFleetUpdateRun", FleetUpdateRunArgs.builder() + * .name("example") + * .kubernetesFleetManagerId(exampleKubernetesFleetManager.id()) + * .managedClusterUpdate(FleetUpdateRunManagedClusterUpdateArgs.builder() + * .upgrade(FleetUpdateRunManagedClusterUpdateUpgradeArgs.builder() + * .type("Full") + * .kubernetesVersion("1.27") + * .build()) + * .nodeImageSelection(FleetUpdateRunManagedClusterUpdateNodeImageSelectionArgs.builder() + * .type("Latest") + * .build()) + * .build()) + * .stages(FleetUpdateRunStageArgs.builder() + * .name("example") + * .groups(FleetUpdateRunStageGroupArgs.builder() + * .name("example-group") + * .build()) + * .afterStageWaitInSeconds(21) + * .build()) + * .build()); + * + * } + * } + * ``` + * + * ## Import + * + * Kubernetes Fleet Update Runs can be imported using the `resource id`, e.g. + * + * ```sh + * $ pulumi import azure:containerservice/fleetUpdateRun:FleetUpdateRun example /subscriptions/12345678-1234-9876-4563-123456789012/resourceGroups/resourceGroup1/providers/Microsoft.ContainerService/fleets/fleet1/updateRuns/updateRun1 + * ``` + * + */ +@ResourceType(type="azure:containerservice/fleetUpdateRun:FleetUpdateRun") +public class FleetUpdateRun extends com.pulumi.resources.CustomResource { + /** + * The ID of the Fleet Update Strategy. Only one of `fleet_update_strategy_id` or `stage` can be specified. + * + */ + @Export(name="fleetUpdateStrategyId", refs={String.class}, tree="[0]") + private Output fleetUpdateStrategyId; + + /** + * @return The ID of the Fleet Update Strategy. Only one of `fleet_update_strategy_id` or `stage` can be specified. + * + */ + public Output> fleetUpdateStrategyId() { + return Codegen.optional(this.fleetUpdateStrategyId); + } + /** + * The ID of the Fleet Manager. Changing this forces a new Kubernetes Fleet Update Run to be created. + * + */ + @Export(name="kubernetesFleetManagerId", refs={String.class}, tree="[0]") + private Output kubernetesFleetManagerId; + + /** + * @return The ID of the Fleet Manager. Changing this forces a new Kubernetes Fleet Update Run to be created. + * + */ + public Output kubernetesFleetManagerId() { + return this.kubernetesFleetManagerId; + } + /** + * A `managed_cluster_update` block as defined below. + * + */ + @Export(name="managedClusterUpdate", refs={FleetUpdateRunManagedClusterUpdate.class}, tree="[0]") + private Output managedClusterUpdate; + + /** + * @return A `managed_cluster_update` block as defined below. + * + */ + public Output managedClusterUpdate() { + return this.managedClusterUpdate; + } + /** + * The name which should be used for this Kubernetes Fleet Update Run. Changing this forces a new Kubernetes Fleet Update Run to be created. + * + */ + @Export(name="name", refs={String.class}, tree="[0]") + private Output name; + + /** + * @return The name which should be used for this Kubernetes Fleet Update Run. Changing this forces a new Kubernetes Fleet Update Run to be created. + * + */ + public Output name() { + return this.name; + } + /** + * One or more `stage` blocks as defined below. Only one of `stage` or `fleet_update_strategy_id` can be specified. + * + */ + @Export(name="stages", refs={List.class,FleetUpdateRunStage.class}, tree="[0,1]") + private Output> stages; + + /** + * @return One or more `stage` blocks as defined below. Only one of `stage` or `fleet_update_strategy_id` can be specified. + * + */ + public Output>> stages() { + return Codegen.optional(this.stages); + } + + /** + * + * @param name The _unique_ name of the resulting resource. + */ + public FleetUpdateRun(String name) { + this(name, FleetUpdateRunArgs.Empty); + } + /** + * + * @param name The _unique_ name of the resulting resource. + * @param args The arguments to use to populate this resource's properties. + */ + public FleetUpdateRun(String name, FleetUpdateRunArgs 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 FleetUpdateRun(String name, FleetUpdateRunArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("azure:containerservice/fleetUpdateRun:FleetUpdateRun", name, args == null ? FleetUpdateRunArgs.Empty : args, makeResourceOptions(options, Codegen.empty())); + } + + private FleetUpdateRun(String name, Output id, @Nullable FleetUpdateRunState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("azure:containerservice/fleetUpdateRun:FleetUpdateRun", name, state, makeResourceOptions(options, id)); + } + + 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 FleetUpdateRun get(String name, Output id, @Nullable FleetUpdateRunState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + return new FleetUpdateRun(name, id, state, options); + } +} diff --git a/sdk/java/src/main/java/com/pulumi/azure/containerservice/FleetUpdateRunArgs.java b/sdk/java/src/main/java/com/pulumi/azure/containerservice/FleetUpdateRunArgs.java new file mode 100644 index 0000000000..121d683ac0 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/azure/containerservice/FleetUpdateRunArgs.java @@ -0,0 +1,251 @@ +// *** 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.containerservice; + +import com.pulumi.azure.containerservice.inputs.FleetUpdateRunManagedClusterUpdateArgs; +import com.pulumi.azure.containerservice.inputs.FleetUpdateRunStageArgs; +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 FleetUpdateRunArgs extends com.pulumi.resources.ResourceArgs { + + public static final FleetUpdateRunArgs Empty = new FleetUpdateRunArgs(); + + /** + * The ID of the Fleet Update Strategy. Only one of `fleet_update_strategy_id` or `stage` can be specified. + * + */ + @Import(name="fleetUpdateStrategyId") + private @Nullable Output fleetUpdateStrategyId; + + /** + * @return The ID of the Fleet Update Strategy. Only one of `fleet_update_strategy_id` or `stage` can be specified. + * + */ + public Optional> fleetUpdateStrategyId() { + return Optional.ofNullable(this.fleetUpdateStrategyId); + } + + /** + * The ID of the Fleet Manager. Changing this forces a new Kubernetes Fleet Update Run to be created. + * + */ + @Import(name="kubernetesFleetManagerId", required=true) + private Output kubernetesFleetManagerId; + + /** + * @return The ID of the Fleet Manager. Changing this forces a new Kubernetes Fleet Update Run to be created. + * + */ + public Output kubernetesFleetManagerId() { + return this.kubernetesFleetManagerId; + } + + /** + * A `managed_cluster_update` block as defined below. + * + */ + @Import(name="managedClusterUpdate", required=true) + private Output managedClusterUpdate; + + /** + * @return A `managed_cluster_update` block as defined below. + * + */ + public Output managedClusterUpdate() { + return this.managedClusterUpdate; + } + + /** + * The name which should be used for this Kubernetes Fleet Update Run. Changing this forces a new Kubernetes Fleet Update Run to be created. + * + */ + @Import(name="name") + private @Nullable Output name; + + /** + * @return The name which should be used for this Kubernetes Fleet Update Run. Changing this forces a new Kubernetes Fleet Update Run to be created. + * + */ + public Optional> name() { + return Optional.ofNullable(this.name); + } + + /** + * One or more `stage` blocks as defined below. Only one of `stage` or `fleet_update_strategy_id` can be specified. + * + */ + @Import(name="stages") + private @Nullable Output> stages; + + /** + * @return One or more `stage` blocks as defined below. Only one of `stage` or `fleet_update_strategy_id` can be specified. + * + */ + public Optional>> stages() { + return Optional.ofNullable(this.stages); + } + + private FleetUpdateRunArgs() {} + + private FleetUpdateRunArgs(FleetUpdateRunArgs $) { + this.fleetUpdateStrategyId = $.fleetUpdateStrategyId; + this.kubernetesFleetManagerId = $.kubernetesFleetManagerId; + this.managedClusterUpdate = $.managedClusterUpdate; + this.name = $.name; + this.stages = $.stages; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(FleetUpdateRunArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private FleetUpdateRunArgs $; + + public Builder() { + $ = new FleetUpdateRunArgs(); + } + + public Builder(FleetUpdateRunArgs defaults) { + $ = new FleetUpdateRunArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param fleetUpdateStrategyId The ID of the Fleet Update Strategy. Only one of `fleet_update_strategy_id` or `stage` can be specified. + * + * @return builder + * + */ + public Builder fleetUpdateStrategyId(@Nullable Output fleetUpdateStrategyId) { + $.fleetUpdateStrategyId = fleetUpdateStrategyId; + return this; + } + + /** + * @param fleetUpdateStrategyId The ID of the Fleet Update Strategy. Only one of `fleet_update_strategy_id` or `stage` can be specified. + * + * @return builder + * + */ + public Builder fleetUpdateStrategyId(String fleetUpdateStrategyId) { + return fleetUpdateStrategyId(Output.of(fleetUpdateStrategyId)); + } + + /** + * @param kubernetesFleetManagerId The ID of the Fleet Manager. Changing this forces a new Kubernetes Fleet Update Run to be created. + * + * @return builder + * + */ + public Builder kubernetesFleetManagerId(Output kubernetesFleetManagerId) { + $.kubernetesFleetManagerId = kubernetesFleetManagerId; + return this; + } + + /** + * @param kubernetesFleetManagerId The ID of the Fleet Manager. Changing this forces a new Kubernetes Fleet Update Run to be created. + * + * @return builder + * + */ + public Builder kubernetesFleetManagerId(String kubernetesFleetManagerId) { + return kubernetesFleetManagerId(Output.of(kubernetesFleetManagerId)); + } + + /** + * @param managedClusterUpdate A `managed_cluster_update` block as defined below. + * + * @return builder + * + */ + public Builder managedClusterUpdate(Output managedClusterUpdate) { + $.managedClusterUpdate = managedClusterUpdate; + return this; + } + + /** + * @param managedClusterUpdate A `managed_cluster_update` block as defined below. + * + * @return builder + * + */ + public Builder managedClusterUpdate(FleetUpdateRunManagedClusterUpdateArgs managedClusterUpdate) { + return managedClusterUpdate(Output.of(managedClusterUpdate)); + } + + /** + * @param name The name which should be used for this Kubernetes Fleet Update Run. Changing this forces a new Kubernetes Fleet Update Run 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 Kubernetes Fleet Update Run. Changing this forces a new Kubernetes Fleet Update Run to be created. + * + * @return builder + * + */ + public Builder name(String name) { + return name(Output.of(name)); + } + + /** + * @param stages One or more `stage` blocks as defined below. Only one of `stage` or `fleet_update_strategy_id` can be specified. + * + * @return builder + * + */ + public Builder stages(@Nullable Output> stages) { + $.stages = stages; + return this; + } + + /** + * @param stages One or more `stage` blocks as defined below. Only one of `stage` or `fleet_update_strategy_id` can be specified. + * + * @return builder + * + */ + public Builder stages(List stages) { + return stages(Output.of(stages)); + } + + /** + * @param stages One or more `stage` blocks as defined below. Only one of `stage` or `fleet_update_strategy_id` can be specified. + * + * @return builder + * + */ + public Builder stages(FleetUpdateRunStageArgs... stages) { + return stages(List.of(stages)); + } + + public FleetUpdateRunArgs build() { + if ($.kubernetesFleetManagerId == null) { + throw new MissingRequiredPropertyException("FleetUpdateRunArgs", "kubernetesFleetManagerId"); + } + if ($.managedClusterUpdate == null) { + throw new MissingRequiredPropertyException("FleetUpdateRunArgs", "managedClusterUpdate"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/azure/containerservice/KubernetesCluster.java b/sdk/java/src/main/java/com/pulumi/azure/containerservice/KubernetesCluster.java index 853a4152d0..eec29d4f69 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/containerservice/KubernetesCluster.java +++ b/sdk/java/src/main/java/com/pulumi/azure/containerservice/KubernetesCluster.java @@ -233,6 +233,20 @@ public Output> azurePolicyEnabled() { public Output> confidentialComputing() { return Codegen.optional(this.confidentialComputing); } + /** + * The current version running on the Azure Kubernetes Managed Cluster. + * + */ + @Export(name="currentKubernetesVersion", refs={String.class}, tree="[0]") + private Output currentKubernetesVersion; + + /** + * @return The current version running on the Azure Kubernetes Managed Cluster. + * + */ + public Output currentKubernetesVersion() { + return this.currentKubernetesVersion; + } /** * A list of up to 10 base64 encoded CAs that will be added to the trust store on nodes with the `custom_ca_trust_enabled` feature enabled. * diff --git a/sdk/java/src/main/java/com/pulumi/azure/containerservice/KubernetesClusterNodePool.java b/sdk/java/src/main/java/com/pulumi/azure/containerservice/KubernetesClusterNodePool.java index ad81ac143a..fb623f9e9d 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/containerservice/KubernetesClusterNodePool.java +++ b/sdk/java/src/main/java/com/pulumi/azure/containerservice/KubernetesClusterNodePool.java @@ -510,14 +510,14 @@ public Output> osDiskType() { return Codegen.optional(this.osDiskType); } /** - * Specifies the OS SKU used by the agent pool. Possible values are `AzureLinux`, `CBLMariner`, `Mariner`, `Ubuntu`, `Windows2019` and `Windows2022`. If not specified, the default is `Ubuntu` if OSType=Linux or `Windows2019` if OSType=Windows. And the default Windows OSSKU will be changed to `Windows2022` after Windows2019 is deprecated. Changing this forces a new resource to be created. + * Specifies the OS SKU used by the agent pool. Possible values are `AzureLinux`, `Ubuntu`, `Windows2019` and `Windows2022`. If not specified, the default is `Ubuntu` if OSType=Linux or `Windows2019` if OSType=Windows. And the default Windows OSSKU will be changed to `Windows2022` after Windows2019 is deprecated. Changing this forces a new resource to be created. * */ @Export(name="osSku", refs={String.class}, tree="[0]") private Output osSku; /** - * @return Specifies the OS SKU used by the agent pool. Possible values are `AzureLinux`, `CBLMariner`, `Mariner`, `Ubuntu`, `Windows2019` and `Windows2022`. If not specified, the default is `Ubuntu` if OSType=Linux or `Windows2019` if OSType=Windows. And the default Windows OSSKU will be changed to `Windows2022` after Windows2019 is deprecated. Changing this forces a new resource to be created. + * @return Specifies the OS SKU used by the agent pool. Possible values are `AzureLinux`, `Ubuntu`, `Windows2019` and `Windows2022`. If not specified, the default is `Ubuntu` if OSType=Linux or `Windows2019` if OSType=Windows. And the default Windows OSSKU will be changed to `Windows2022` after Windows2019 is deprecated. Changing this forces a new resource to be created. * */ public Output osSku() { diff --git a/sdk/java/src/main/java/com/pulumi/azure/containerservice/KubernetesClusterNodePoolArgs.java b/sdk/java/src/main/java/com/pulumi/azure/containerservice/KubernetesClusterNodePoolArgs.java index bcd526c3bf..0f1c956f3f 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/containerservice/KubernetesClusterNodePoolArgs.java +++ b/sdk/java/src/main/java/com/pulumi/azure/containerservice/KubernetesClusterNodePoolArgs.java @@ -460,14 +460,14 @@ public Optional> osDiskType() { } /** - * Specifies the OS SKU used by the agent pool. Possible values are `AzureLinux`, `CBLMariner`, `Mariner`, `Ubuntu`, `Windows2019` and `Windows2022`. If not specified, the default is `Ubuntu` if OSType=Linux or `Windows2019` if OSType=Windows. And the default Windows OSSKU will be changed to `Windows2022` after Windows2019 is deprecated. Changing this forces a new resource to be created. + * Specifies the OS SKU used by the agent pool. Possible values are `AzureLinux`, `Ubuntu`, `Windows2019` and `Windows2022`. If not specified, the default is `Ubuntu` if OSType=Linux or `Windows2019` if OSType=Windows. And the default Windows OSSKU will be changed to `Windows2022` after Windows2019 is deprecated. Changing this forces a new resource to be created. * */ @Import(name="osSku") private @Nullable Output osSku; /** - * @return Specifies the OS SKU used by the agent pool. Possible values are `AzureLinux`, `CBLMariner`, `Mariner`, `Ubuntu`, `Windows2019` and `Windows2022`. If not specified, the default is `Ubuntu` if OSType=Linux or `Windows2019` if OSType=Windows. And the default Windows OSSKU will be changed to `Windows2022` after Windows2019 is deprecated. Changing this forces a new resource to be created. + * @return Specifies the OS SKU used by the agent pool. Possible values are `AzureLinux`, `Ubuntu`, `Windows2019` and `Windows2022`. If not specified, the default is `Ubuntu` if OSType=Linux or `Windows2019` if OSType=Windows. And the default Windows OSSKU will be changed to `Windows2022` after Windows2019 is deprecated. Changing this forces a new resource to be created. * */ public Optional> osSku() { @@ -1395,7 +1395,7 @@ public Builder osDiskType(String osDiskType) { } /** - * @param osSku Specifies the OS SKU used by the agent pool. Possible values are `AzureLinux`, `CBLMariner`, `Mariner`, `Ubuntu`, `Windows2019` and `Windows2022`. If not specified, the default is `Ubuntu` if OSType=Linux or `Windows2019` if OSType=Windows. And the default Windows OSSKU will be changed to `Windows2022` after Windows2019 is deprecated. Changing this forces a new resource to be created. + * @param osSku Specifies the OS SKU used by the agent pool. Possible values are `AzureLinux`, `Ubuntu`, `Windows2019` and `Windows2022`. If not specified, the default is `Ubuntu` if OSType=Linux or `Windows2019` if OSType=Windows. And the default Windows OSSKU will be changed to `Windows2022` after Windows2019 is deprecated. Changing this forces a new resource to be created. * * @return builder * @@ -1406,7 +1406,7 @@ public Builder osSku(@Nullable Output osSku) { } /** - * @param osSku Specifies the OS SKU used by the agent pool. Possible values are `AzureLinux`, `CBLMariner`, `Mariner`, `Ubuntu`, `Windows2019` and `Windows2022`. If not specified, the default is `Ubuntu` if OSType=Linux or `Windows2019` if OSType=Windows. And the default Windows OSSKU will be changed to `Windows2022` after Windows2019 is deprecated. Changing this forces a new resource to be created. + * @param osSku Specifies the OS SKU used by the agent pool. Possible values are `AzureLinux`, `Ubuntu`, `Windows2019` and `Windows2022`. If not specified, the default is `Ubuntu` if OSType=Linux or `Windows2019` if OSType=Windows. And the default Windows OSSKU will be changed to `Windows2022` after Windows2019 is deprecated. Changing this forces a new resource to be created. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/azure/containerservice/inputs/FleetUpdateRunManagedClusterUpdateArgs.java b/sdk/java/src/main/java/com/pulumi/azure/containerservice/inputs/FleetUpdateRunManagedClusterUpdateArgs.java new file mode 100644 index 0000000000..8790158c1d --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/azure/containerservice/inputs/FleetUpdateRunManagedClusterUpdateArgs.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.containerservice.inputs; + +import com.pulumi.azure.containerservice.inputs.FleetUpdateRunManagedClusterUpdateNodeImageSelectionArgs; +import com.pulumi.azure.containerservice.inputs.FleetUpdateRunManagedClusterUpdateUpgradeArgs; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class FleetUpdateRunManagedClusterUpdateArgs extends com.pulumi.resources.ResourceArgs { + + public static final FleetUpdateRunManagedClusterUpdateArgs Empty = new FleetUpdateRunManagedClusterUpdateArgs(); + + /** + * A `node_image_selection` block as defined below. + * + */ + @Import(name="nodeImageSelection") + private @Nullable Output nodeImageSelection; + + /** + * @return A `node_image_selection` block as defined below. + * + */ + public Optional> nodeImageSelection() { + return Optional.ofNullable(this.nodeImageSelection); + } + + /** + * A `upgrade` block as defined below. + * + */ + @Import(name="upgrade", required=true) + private Output upgrade; + + /** + * @return A `upgrade` block as defined below. + * + */ + public Output upgrade() { + return this.upgrade; + } + + private FleetUpdateRunManagedClusterUpdateArgs() {} + + private FleetUpdateRunManagedClusterUpdateArgs(FleetUpdateRunManagedClusterUpdateArgs $) { + this.nodeImageSelection = $.nodeImageSelection; + this.upgrade = $.upgrade; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(FleetUpdateRunManagedClusterUpdateArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private FleetUpdateRunManagedClusterUpdateArgs $; + + public Builder() { + $ = new FleetUpdateRunManagedClusterUpdateArgs(); + } + + public Builder(FleetUpdateRunManagedClusterUpdateArgs defaults) { + $ = new FleetUpdateRunManagedClusterUpdateArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param nodeImageSelection A `node_image_selection` block as defined below. + * + * @return builder + * + */ + public Builder nodeImageSelection(@Nullable Output nodeImageSelection) { + $.nodeImageSelection = nodeImageSelection; + return this; + } + + /** + * @param nodeImageSelection A `node_image_selection` block as defined below. + * + * @return builder + * + */ + public Builder nodeImageSelection(FleetUpdateRunManagedClusterUpdateNodeImageSelectionArgs nodeImageSelection) { + return nodeImageSelection(Output.of(nodeImageSelection)); + } + + /** + * @param upgrade A `upgrade` block as defined below. + * + * @return builder + * + */ + public Builder upgrade(Output upgrade) { + $.upgrade = upgrade; + return this; + } + + /** + * @param upgrade A `upgrade` block as defined below. + * + * @return builder + * + */ + public Builder upgrade(FleetUpdateRunManagedClusterUpdateUpgradeArgs upgrade) { + return upgrade(Output.of(upgrade)); + } + + public FleetUpdateRunManagedClusterUpdateArgs build() { + if ($.upgrade == null) { + throw new MissingRequiredPropertyException("FleetUpdateRunManagedClusterUpdateArgs", "upgrade"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/azure/containerservice/inputs/FleetUpdateRunManagedClusterUpdateNodeImageSelectionArgs.java b/sdk/java/src/main/java/com/pulumi/azure/containerservice/inputs/FleetUpdateRunManagedClusterUpdateNodeImageSelectionArgs.java new file mode 100644 index 0000000000..f2974f1dd0 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/azure/containerservice/inputs/FleetUpdateRunManagedClusterUpdateNodeImageSelectionArgs.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.containerservice.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 FleetUpdateRunManagedClusterUpdateNodeImageSelectionArgs extends com.pulumi.resources.ResourceArgs { + + public static final FleetUpdateRunManagedClusterUpdateNodeImageSelectionArgs Empty = new FleetUpdateRunManagedClusterUpdateNodeImageSelectionArgs(); + + /** + * Specifies the node image upgrade type. Possible values are `Latest` and `Consistent`. + * + */ + @Import(name="type", required=true) + private Output type; + + /** + * @return Specifies the node image upgrade type. Possible values are `Latest` and `Consistent`. + * + */ + public Output type() { + return this.type; + } + + private FleetUpdateRunManagedClusterUpdateNodeImageSelectionArgs() {} + + private FleetUpdateRunManagedClusterUpdateNodeImageSelectionArgs(FleetUpdateRunManagedClusterUpdateNodeImageSelectionArgs $) { + this.type = $.type; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(FleetUpdateRunManagedClusterUpdateNodeImageSelectionArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private FleetUpdateRunManagedClusterUpdateNodeImageSelectionArgs $; + + public Builder() { + $ = new FleetUpdateRunManagedClusterUpdateNodeImageSelectionArgs(); + } + + public Builder(FleetUpdateRunManagedClusterUpdateNodeImageSelectionArgs defaults) { + $ = new FleetUpdateRunManagedClusterUpdateNodeImageSelectionArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param type Specifies the node image upgrade type. Possible values are `Latest` and `Consistent`. + * + * @return builder + * + */ + public Builder type(Output type) { + $.type = type; + return this; + } + + /** + * @param type Specifies the node image upgrade type. Possible values are `Latest` and `Consistent`. + * + * @return builder + * + */ + public Builder type(String type) { + return type(Output.of(type)); + } + + public FleetUpdateRunManagedClusterUpdateNodeImageSelectionArgs build() { + if ($.type == null) { + throw new MissingRequiredPropertyException("FleetUpdateRunManagedClusterUpdateNodeImageSelectionArgs", "type"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/azure/containerservice/inputs/FleetUpdateRunManagedClusterUpdateUpgradeArgs.java b/sdk/java/src/main/java/com/pulumi/azure/containerservice/inputs/FleetUpdateRunManagedClusterUpdateUpgradeArgs.java new file mode 100644 index 0000000000..26b59c3446 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/azure/containerservice/inputs/FleetUpdateRunManagedClusterUpdateUpgradeArgs.java @@ -0,0 +1,124 @@ +// *** 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.containerservice.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; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class FleetUpdateRunManagedClusterUpdateUpgradeArgs extends com.pulumi.resources.ResourceArgs { + + public static final FleetUpdateRunManagedClusterUpdateUpgradeArgs Empty = new FleetUpdateRunManagedClusterUpdateUpgradeArgs(); + + /** + * Specifies the Kubernetes version to upgrade the member clusters to. This is required if `type` is set to `Full`. + * + */ + @Import(name="kubernetesVersion") + private @Nullable Output kubernetesVersion; + + /** + * @return Specifies the Kubernetes version to upgrade the member clusters to. This is required if `type` is set to `Full`. + * + */ + public Optional> kubernetesVersion() { + return Optional.ofNullable(this.kubernetesVersion); + } + + /** + * Specifies the type of upgrade to perform. Possible values are `Full` and `NodeImageOnly`. + * + */ + @Import(name="type", required=true) + private Output type; + + /** + * @return Specifies the type of upgrade to perform. Possible values are `Full` and `NodeImageOnly`. + * + */ + public Output type() { + return this.type; + } + + private FleetUpdateRunManagedClusterUpdateUpgradeArgs() {} + + private FleetUpdateRunManagedClusterUpdateUpgradeArgs(FleetUpdateRunManagedClusterUpdateUpgradeArgs $) { + this.kubernetesVersion = $.kubernetesVersion; + this.type = $.type; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(FleetUpdateRunManagedClusterUpdateUpgradeArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private FleetUpdateRunManagedClusterUpdateUpgradeArgs $; + + public Builder() { + $ = new FleetUpdateRunManagedClusterUpdateUpgradeArgs(); + } + + public Builder(FleetUpdateRunManagedClusterUpdateUpgradeArgs defaults) { + $ = new FleetUpdateRunManagedClusterUpdateUpgradeArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param kubernetesVersion Specifies the Kubernetes version to upgrade the member clusters to. This is required if `type` is set to `Full`. + * + * @return builder + * + */ + public Builder kubernetesVersion(@Nullable Output kubernetesVersion) { + $.kubernetesVersion = kubernetesVersion; + return this; + } + + /** + * @param kubernetesVersion Specifies the Kubernetes version to upgrade the member clusters to. This is required if `type` is set to `Full`. + * + * @return builder + * + */ + public Builder kubernetesVersion(String kubernetesVersion) { + return kubernetesVersion(Output.of(kubernetesVersion)); + } + + /** + * @param type Specifies the type of upgrade to perform. Possible values are `Full` and `NodeImageOnly`. + * + * @return builder + * + */ + public Builder type(Output type) { + $.type = type; + return this; + } + + /** + * @param type Specifies the type of upgrade to perform. Possible values are `Full` and `NodeImageOnly`. + * + * @return builder + * + */ + public Builder type(String type) { + return type(Output.of(type)); + } + + public FleetUpdateRunManagedClusterUpdateUpgradeArgs build() { + if ($.type == null) { + throw new MissingRequiredPropertyException("FleetUpdateRunManagedClusterUpdateUpgradeArgs", "type"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/azure/containerservice/inputs/FleetUpdateRunStageArgs.java b/sdk/java/src/main/java/com/pulumi/azure/containerservice/inputs/FleetUpdateRunStageArgs.java new file mode 100644 index 0000000000..b19eac2bfb --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/azure/containerservice/inputs/FleetUpdateRunStageArgs.java @@ -0,0 +1,177 @@ +// *** 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.containerservice.inputs; + +import com.pulumi.azure.containerservice.inputs.FleetUpdateRunStageGroupArgs; +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; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class FleetUpdateRunStageArgs extends com.pulumi.resources.ResourceArgs { + + public static final FleetUpdateRunStageArgs Empty = new FleetUpdateRunStageArgs(); + + /** + * Specifies the time in seconds to wait at the end of this stage before starting the next one. + * + */ + @Import(name="afterStageWaitInSeconds") + private @Nullable Output afterStageWaitInSeconds; + + /** + * @return Specifies the time in seconds to wait at the end of this stage before starting the next one. + * + */ + public Optional> afterStageWaitInSeconds() { + return Optional.ofNullable(this.afterStageWaitInSeconds); + } + + /** + * One or more `group` blocks as defined below. + * + */ + @Import(name="groups", required=true) + private Output> groups; + + /** + * @return One or more `group` blocks as defined below. + * + */ + public Output> groups() { + return this.groups; + } + + /** + * The name which should be used for this stage. + * + */ + @Import(name="name", required=true) + private Output name; + + /** + * @return The name which should be used for this stage. + * + */ + public Output name() { + return this.name; + } + + private FleetUpdateRunStageArgs() {} + + private FleetUpdateRunStageArgs(FleetUpdateRunStageArgs $) { + this.afterStageWaitInSeconds = $.afterStageWaitInSeconds; + this.groups = $.groups; + this.name = $.name; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(FleetUpdateRunStageArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private FleetUpdateRunStageArgs $; + + public Builder() { + $ = new FleetUpdateRunStageArgs(); + } + + public Builder(FleetUpdateRunStageArgs defaults) { + $ = new FleetUpdateRunStageArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param afterStageWaitInSeconds Specifies the time in seconds to wait at the end of this stage before starting the next one. + * + * @return builder + * + */ + public Builder afterStageWaitInSeconds(@Nullable Output afterStageWaitInSeconds) { + $.afterStageWaitInSeconds = afterStageWaitInSeconds; + return this; + } + + /** + * @param afterStageWaitInSeconds Specifies the time in seconds to wait at the end of this stage before starting the next one. + * + * @return builder + * + */ + public Builder afterStageWaitInSeconds(Integer afterStageWaitInSeconds) { + return afterStageWaitInSeconds(Output.of(afterStageWaitInSeconds)); + } + + /** + * @param groups One or more `group` blocks as defined below. + * + * @return builder + * + */ + public Builder groups(Output> groups) { + $.groups = groups; + return this; + } + + /** + * @param groups One or more `group` blocks as defined below. + * + * @return builder + * + */ + public Builder groups(List groups) { + return groups(Output.of(groups)); + } + + /** + * @param groups One or more `group` blocks as defined below. + * + * @return builder + * + */ + public Builder groups(FleetUpdateRunStageGroupArgs... groups) { + return groups(List.of(groups)); + } + + /** + * @param name The name which should be used for this stage. + * + * @return builder + * + */ + public Builder name(Output name) { + $.name = name; + return this; + } + + /** + * @param name The name which should be used for this stage. + * + * @return builder + * + */ + public Builder name(String name) { + return name(Output.of(name)); + } + + public FleetUpdateRunStageArgs build() { + if ($.groups == null) { + throw new MissingRequiredPropertyException("FleetUpdateRunStageArgs", "groups"); + } + if ($.name == null) { + throw new MissingRequiredPropertyException("FleetUpdateRunStageArgs", "name"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/azure/containerservice/inputs/FleetUpdateRunStageGroupArgs.java b/sdk/java/src/main/java/com/pulumi/azure/containerservice/inputs/FleetUpdateRunStageGroupArgs.java new file mode 100644 index 0000000000..5f9ed7e02e --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/azure/containerservice/inputs/FleetUpdateRunStageGroupArgs.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.containerservice.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 FleetUpdateRunStageGroupArgs extends com.pulumi.resources.ResourceArgs { + + public static final FleetUpdateRunStageGroupArgs Empty = new FleetUpdateRunStageGroupArgs(); + + /** + * The name which should be used for this group. + * + */ + @Import(name="name", required=true) + private Output name; + + /** + * @return The name which should be used for this group. + * + */ + public Output name() { + return this.name; + } + + private FleetUpdateRunStageGroupArgs() {} + + private FleetUpdateRunStageGroupArgs(FleetUpdateRunStageGroupArgs $) { + this.name = $.name; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(FleetUpdateRunStageGroupArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private FleetUpdateRunStageGroupArgs $; + + public Builder() { + $ = new FleetUpdateRunStageGroupArgs(); + } + + public Builder(FleetUpdateRunStageGroupArgs defaults) { + $ = new FleetUpdateRunStageGroupArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param name The name which should be used for this group. + * + * @return builder + * + */ + public Builder name(Output name) { + $.name = name; + return this; + } + + /** + * @param name The name which should be used for this group. + * + * @return builder + * + */ + public Builder name(String name) { + return name(Output.of(name)); + } + + public FleetUpdateRunStageGroupArgs build() { + if ($.name == null) { + throw new MissingRequiredPropertyException("FleetUpdateRunStageGroupArgs", "name"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/azure/containerservice/inputs/FleetUpdateRunState.java b/sdk/java/src/main/java/com/pulumi/azure/containerservice/inputs/FleetUpdateRunState.java new file mode 100644 index 0000000000..9cc2e02be5 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/azure/containerservice/inputs/FleetUpdateRunState.java @@ -0,0 +1,244 @@ +// *** 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.containerservice.inputs; + +import com.pulumi.azure.containerservice.inputs.FleetUpdateRunManagedClusterUpdateArgs; +import com.pulumi.azure.containerservice.inputs.FleetUpdateRunStageArgs; +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 FleetUpdateRunState extends com.pulumi.resources.ResourceArgs { + + public static final FleetUpdateRunState Empty = new FleetUpdateRunState(); + + /** + * The ID of the Fleet Update Strategy. Only one of `fleet_update_strategy_id` or `stage` can be specified. + * + */ + @Import(name="fleetUpdateStrategyId") + private @Nullable Output fleetUpdateStrategyId; + + /** + * @return The ID of the Fleet Update Strategy. Only one of `fleet_update_strategy_id` or `stage` can be specified. + * + */ + public Optional> fleetUpdateStrategyId() { + return Optional.ofNullable(this.fleetUpdateStrategyId); + } + + /** + * The ID of the Fleet Manager. Changing this forces a new Kubernetes Fleet Update Run to be created. + * + */ + @Import(name="kubernetesFleetManagerId") + private @Nullable Output kubernetesFleetManagerId; + + /** + * @return The ID of the Fleet Manager. Changing this forces a new Kubernetes Fleet Update Run to be created. + * + */ + public Optional> kubernetesFleetManagerId() { + return Optional.ofNullable(this.kubernetesFleetManagerId); + } + + /** + * A `managed_cluster_update` block as defined below. + * + */ + @Import(name="managedClusterUpdate") + private @Nullable Output managedClusterUpdate; + + /** + * @return A `managed_cluster_update` block as defined below. + * + */ + public Optional> managedClusterUpdate() { + return Optional.ofNullable(this.managedClusterUpdate); + } + + /** + * The name which should be used for this Kubernetes Fleet Update Run. Changing this forces a new Kubernetes Fleet Update Run to be created. + * + */ + @Import(name="name") + private @Nullable Output name; + + /** + * @return The name which should be used for this Kubernetes Fleet Update Run. Changing this forces a new Kubernetes Fleet Update Run to be created. + * + */ + public Optional> name() { + return Optional.ofNullable(this.name); + } + + /** + * One or more `stage` blocks as defined below. Only one of `stage` or `fleet_update_strategy_id` can be specified. + * + */ + @Import(name="stages") + private @Nullable Output> stages; + + /** + * @return One or more `stage` blocks as defined below. Only one of `stage` or `fleet_update_strategy_id` can be specified. + * + */ + public Optional>> stages() { + return Optional.ofNullable(this.stages); + } + + private FleetUpdateRunState() {} + + private FleetUpdateRunState(FleetUpdateRunState $) { + this.fleetUpdateStrategyId = $.fleetUpdateStrategyId; + this.kubernetesFleetManagerId = $.kubernetesFleetManagerId; + this.managedClusterUpdate = $.managedClusterUpdate; + this.name = $.name; + this.stages = $.stages; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(FleetUpdateRunState defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private FleetUpdateRunState $; + + public Builder() { + $ = new FleetUpdateRunState(); + } + + public Builder(FleetUpdateRunState defaults) { + $ = new FleetUpdateRunState(Objects.requireNonNull(defaults)); + } + + /** + * @param fleetUpdateStrategyId The ID of the Fleet Update Strategy. Only one of `fleet_update_strategy_id` or `stage` can be specified. + * + * @return builder + * + */ + public Builder fleetUpdateStrategyId(@Nullable Output fleetUpdateStrategyId) { + $.fleetUpdateStrategyId = fleetUpdateStrategyId; + return this; + } + + /** + * @param fleetUpdateStrategyId The ID of the Fleet Update Strategy. Only one of `fleet_update_strategy_id` or `stage` can be specified. + * + * @return builder + * + */ + public Builder fleetUpdateStrategyId(String fleetUpdateStrategyId) { + return fleetUpdateStrategyId(Output.of(fleetUpdateStrategyId)); + } + + /** + * @param kubernetesFleetManagerId The ID of the Fleet Manager. Changing this forces a new Kubernetes Fleet Update Run to be created. + * + * @return builder + * + */ + public Builder kubernetesFleetManagerId(@Nullable Output kubernetesFleetManagerId) { + $.kubernetesFleetManagerId = kubernetesFleetManagerId; + return this; + } + + /** + * @param kubernetesFleetManagerId The ID of the Fleet Manager. Changing this forces a new Kubernetes Fleet Update Run to be created. + * + * @return builder + * + */ + public Builder kubernetesFleetManagerId(String kubernetesFleetManagerId) { + return kubernetesFleetManagerId(Output.of(kubernetesFleetManagerId)); + } + + /** + * @param managedClusterUpdate A `managed_cluster_update` block as defined below. + * + * @return builder + * + */ + public Builder managedClusterUpdate(@Nullable Output managedClusterUpdate) { + $.managedClusterUpdate = managedClusterUpdate; + return this; + } + + /** + * @param managedClusterUpdate A `managed_cluster_update` block as defined below. + * + * @return builder + * + */ + public Builder managedClusterUpdate(FleetUpdateRunManagedClusterUpdateArgs managedClusterUpdate) { + return managedClusterUpdate(Output.of(managedClusterUpdate)); + } + + /** + * @param name The name which should be used for this Kubernetes Fleet Update Run. Changing this forces a new Kubernetes Fleet Update Run 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 Kubernetes Fleet Update Run. Changing this forces a new Kubernetes Fleet Update Run to be created. + * + * @return builder + * + */ + public Builder name(String name) { + return name(Output.of(name)); + } + + /** + * @param stages One or more `stage` blocks as defined below. Only one of `stage` or `fleet_update_strategy_id` can be specified. + * + * @return builder + * + */ + public Builder stages(@Nullable Output> stages) { + $.stages = stages; + return this; + } + + /** + * @param stages One or more `stage` blocks as defined below. Only one of `stage` or `fleet_update_strategy_id` can be specified. + * + * @return builder + * + */ + public Builder stages(List stages) { + return stages(Output.of(stages)); + } + + /** + * @param stages One or more `stage` blocks as defined below. Only one of `stage` or `fleet_update_strategy_id` can be specified. + * + * @return builder + * + */ + public Builder stages(FleetUpdateRunStageArgs... stages) { + return stages(List.of(stages)); + } + + public FleetUpdateRunState build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/azure/containerservice/inputs/KubernetesClusterDefaultNodePoolArgs.java b/sdk/java/src/main/java/com/pulumi/azure/containerservice/inputs/KubernetesClusterDefaultNodePoolArgs.java index 58753abfb6..30b90bb655 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/containerservice/inputs/KubernetesClusterDefaultNodePoolArgs.java +++ b/sdk/java/src/main/java/com/pulumi/azure/containerservice/inputs/KubernetesClusterDefaultNodePoolArgs.java @@ -432,14 +432,14 @@ public Optional> osDiskType() { } /** - * Specifies the OS SKU used by the agent pool. Possible values are `AzureLinux`, `CBLMariner`, `Mariner`, `Ubuntu`, `Windows2019` and `Windows2022`. If not specified, the default is `Ubuntu` if OSType=Linux or `Windows2019` if OSType=Windows. And the default Windows OSSKU will be changed to `Windows2022` after Windows2019 is deprecated. `temporary_name_for_rotation` must be specified when attempting a change. + * Specifies the OS SKU used by the agent pool. Possible values are `AzureLinux`, `Ubuntu`, `Windows2019` and `Windows2022`. If not specified, the default is `Ubuntu` if OSType=Linux or `Windows2019` if OSType=Windows. And the default Windows OSSKU will be changed to `Windows2022` after Windows2019 is deprecated. `temporary_name_for_rotation` must be specified when attempting a change. * */ @Import(name="osSku") private @Nullable Output osSku; /** - * @return Specifies the OS SKU used by the agent pool. Possible values are `AzureLinux`, `CBLMariner`, `Mariner`, `Ubuntu`, `Windows2019` and `Windows2022`. If not specified, the default is `Ubuntu` if OSType=Linux or `Windows2019` if OSType=Windows. And the default Windows OSSKU will be changed to `Windows2022` after Windows2019 is deprecated. `temporary_name_for_rotation` must be specified when attempting a change. + * @return Specifies the OS SKU used by the agent pool. Possible values are `AzureLinux`, `Ubuntu`, `Windows2019` and `Windows2022`. If not specified, the default is `Ubuntu` if OSType=Linux or `Windows2019` if OSType=Windows. And the default Windows OSSKU will be changed to `Windows2022` after Windows2019 is deprecated. `temporary_name_for_rotation` must be specified when attempting a change. * */ public Optional> osSku() { @@ -1293,7 +1293,7 @@ public Builder osDiskType(String osDiskType) { } /** - * @param osSku Specifies the OS SKU used by the agent pool. Possible values are `AzureLinux`, `CBLMariner`, `Mariner`, `Ubuntu`, `Windows2019` and `Windows2022`. If not specified, the default is `Ubuntu` if OSType=Linux or `Windows2019` if OSType=Windows. And the default Windows OSSKU will be changed to `Windows2022` after Windows2019 is deprecated. `temporary_name_for_rotation` must be specified when attempting a change. + * @param osSku Specifies the OS SKU used by the agent pool. Possible values are `AzureLinux`, `Ubuntu`, `Windows2019` and `Windows2022`. If not specified, the default is `Ubuntu` if OSType=Linux or `Windows2019` if OSType=Windows. And the default Windows OSSKU will be changed to `Windows2022` after Windows2019 is deprecated. `temporary_name_for_rotation` must be specified when attempting a change. * * @return builder * @@ -1304,7 +1304,7 @@ public Builder osSku(@Nullable Output osSku) { } /** - * @param osSku Specifies the OS SKU used by the agent pool. Possible values are `AzureLinux`, `CBLMariner`, `Mariner`, `Ubuntu`, `Windows2019` and `Windows2022`. If not specified, the default is `Ubuntu` if OSType=Linux or `Windows2019` if OSType=Windows. And the default Windows OSSKU will be changed to `Windows2022` after Windows2019 is deprecated. `temporary_name_for_rotation` must be specified when attempting a change. + * @param osSku Specifies the OS SKU used by the agent pool. Possible values are `AzureLinux`, `Ubuntu`, `Windows2019` and `Windows2022`. If not specified, the default is `Ubuntu` if OSType=Linux or `Windows2019` if OSType=Windows. And the default Windows OSSKU will be changed to `Windows2022` after Windows2019 is deprecated. `temporary_name_for_rotation` must be specified when attempting a change. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/azure/containerservice/inputs/KubernetesClusterKeyManagementServiceArgs.java b/sdk/java/src/main/java/com/pulumi/azure/containerservice/inputs/KubernetesClusterKeyManagementServiceArgs.java index 1d43eaafd6..74870e93df 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/containerservice/inputs/KubernetesClusterKeyManagementServiceArgs.java +++ b/sdk/java/src/main/java/com/pulumi/azure/containerservice/inputs/KubernetesClusterKeyManagementServiceArgs.java @@ -17,14 +17,14 @@ public final class KubernetesClusterKeyManagementServiceArgs extends com.pulumi. public static final KubernetesClusterKeyManagementServiceArgs Empty = new KubernetesClusterKeyManagementServiceArgs(); /** - * Identifier of Azure Key Vault key. See [key identifier format](https://learn.microsoft.com/en-us/azure/key-vault/general/about-keys-secrets-certificates#vault-name-and-object-name) for more details. When Azure Key Vault key management service is enabled, this field is required and must be a valid key identifier. When `enabled` is `false`, leave the field empty. + * Identifier of Azure Key Vault key. See [key identifier format](https://learn.microsoft.com/en-us/azure/key-vault/general/about-keys-secrets-certificates#vault-name-and-object-name) for more details. * */ @Import(name="keyVaultKeyId", required=true) private Output keyVaultKeyId; /** - * @return Identifier of Azure Key Vault key. See [key identifier format](https://learn.microsoft.com/en-us/azure/key-vault/general/about-keys-secrets-certificates#vault-name-and-object-name) for more details. When Azure Key Vault key management service is enabled, this field is required and must be a valid key identifier. When `enabled` is `false`, leave the field empty. + * @return Identifier of Azure Key Vault key. See [key identifier format](https://learn.microsoft.com/en-us/azure/key-vault/general/about-keys-secrets-certificates#vault-name-and-object-name) for more details. * */ public Output keyVaultKeyId() { @@ -72,7 +72,7 @@ public Builder(KubernetesClusterKeyManagementServiceArgs defaults) { } /** - * @param keyVaultKeyId Identifier of Azure Key Vault key. See [key identifier format](https://learn.microsoft.com/en-us/azure/key-vault/general/about-keys-secrets-certificates#vault-name-and-object-name) for more details. When Azure Key Vault key management service is enabled, this field is required and must be a valid key identifier. When `enabled` is `false`, leave the field empty. + * @param keyVaultKeyId Identifier of Azure Key Vault key. See [key identifier format](https://learn.microsoft.com/en-us/azure/key-vault/general/about-keys-secrets-certificates#vault-name-and-object-name) for more details. * * @return builder * @@ -83,7 +83,7 @@ public Builder keyVaultKeyId(Output keyVaultKeyId) { } /** - * @param keyVaultKeyId Identifier of Azure Key Vault key. See [key identifier format](https://learn.microsoft.com/en-us/azure/key-vault/general/about-keys-secrets-certificates#vault-name-and-object-name) for more details. When Azure Key Vault key management service is enabled, this field is required and must be a valid key identifier. When `enabled` is `false`, leave the field empty. + * @param keyVaultKeyId Identifier of Azure Key Vault key. See [key identifier format](https://learn.microsoft.com/en-us/azure/key-vault/general/about-keys-secrets-certificates#vault-name-and-object-name) for more details. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/azure/containerservice/inputs/KubernetesClusterNetworkProfileArgs.java b/sdk/java/src/main/java/com/pulumi/azure/containerservice/inputs/KubernetesClusterNetworkProfileArgs.java index e271f80c22..ea8879d300 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/containerservice/inputs/KubernetesClusterNetworkProfileArgs.java +++ b/sdk/java/src/main/java/com/pulumi/azure/containerservice/inputs/KubernetesClusterNetworkProfileArgs.java @@ -241,14 +241,14 @@ public Optional> networkPolicy() { } /** - * The outbound (egress) routing method which should be used for this Kubernetes Cluster. Possible values are `loadBalancer`, `userDefinedRouting`, `managedNATGateway` and `userAssignedNATGateway`. Defaults to `loadBalancer`. Changing this forces a new resource to be created. + * The outbound (egress) routing method which should be used for this Kubernetes Cluster. Possible values are `loadBalancer`, `userDefinedRouting`, `managedNATGateway` and `userAssignedNATGateway`. Defaults to `loadBalancer`. More information on supported migration paths for `outbound_type` can be found in [this documentation](https://learn.microsoft.com/azure/aks/egress-outboundtype#updating-outboundtype-after-cluster-creation). * */ @Import(name="outboundType") private @Nullable Output outboundType; /** - * @return The outbound (egress) routing method which should be used for this Kubernetes Cluster. Possible values are `loadBalancer`, `userDefinedRouting`, `managedNATGateway` and `userAssignedNATGateway`. Defaults to `loadBalancer`. Changing this forces a new resource to be created. + * @return The outbound (egress) routing method which should be used for this Kubernetes Cluster. Possible values are `loadBalancer`, `userDefinedRouting`, `managedNATGateway` and `userAssignedNATGateway`. Defaults to `loadBalancer`. More information on supported migration paths for `outbound_type` can be found in [this documentation](https://learn.microsoft.com/azure/aks/egress-outboundtype#updating-outboundtype-after-cluster-creation). * */ public Optional> outboundType() { @@ -660,7 +660,7 @@ public Builder networkPolicy(String networkPolicy) { } /** - * @param outboundType The outbound (egress) routing method which should be used for this Kubernetes Cluster. Possible values are `loadBalancer`, `userDefinedRouting`, `managedNATGateway` and `userAssignedNATGateway`. Defaults to `loadBalancer`. Changing this forces a new resource to be created. + * @param outboundType The outbound (egress) routing method which should be used for this Kubernetes Cluster. Possible values are `loadBalancer`, `userDefinedRouting`, `managedNATGateway` and `userAssignedNATGateway`. Defaults to `loadBalancer`. More information on supported migration paths for `outbound_type` can be found in [this documentation](https://learn.microsoft.com/azure/aks/egress-outboundtype#updating-outboundtype-after-cluster-creation). * * @return builder * @@ -671,7 +671,7 @@ public Builder outboundType(@Nullable Output outboundType) { } /** - * @param outboundType The outbound (egress) routing method which should be used for this Kubernetes Cluster. Possible values are `loadBalancer`, `userDefinedRouting`, `managedNATGateway` and `userAssignedNATGateway`. Defaults to `loadBalancer`. Changing this forces a new resource to be created. + * @param outboundType The outbound (egress) routing method which should be used for this Kubernetes Cluster. Possible values are `loadBalancer`, `userDefinedRouting`, `managedNATGateway` and `userAssignedNATGateway`. Defaults to `loadBalancer`. More information on supported migration paths for `outbound_type` can be found in [this documentation](https://learn.microsoft.com/azure/aks/egress-outboundtype#updating-outboundtype-after-cluster-creation). * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/azure/containerservice/inputs/KubernetesClusterNodePoolState.java b/sdk/java/src/main/java/com/pulumi/azure/containerservice/inputs/KubernetesClusterNodePoolState.java index 98c9966b1d..7b0436b625 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/containerservice/inputs/KubernetesClusterNodePoolState.java +++ b/sdk/java/src/main/java/com/pulumi/azure/containerservice/inputs/KubernetesClusterNodePoolState.java @@ -459,14 +459,14 @@ public Optional> osDiskType() { } /** - * Specifies the OS SKU used by the agent pool. Possible values are `AzureLinux`, `CBLMariner`, `Mariner`, `Ubuntu`, `Windows2019` and `Windows2022`. If not specified, the default is `Ubuntu` if OSType=Linux or `Windows2019` if OSType=Windows. And the default Windows OSSKU will be changed to `Windows2022` after Windows2019 is deprecated. Changing this forces a new resource to be created. + * Specifies the OS SKU used by the agent pool. Possible values are `AzureLinux`, `Ubuntu`, `Windows2019` and `Windows2022`. If not specified, the default is `Ubuntu` if OSType=Linux or `Windows2019` if OSType=Windows. And the default Windows OSSKU will be changed to `Windows2022` after Windows2019 is deprecated. Changing this forces a new resource to be created. * */ @Import(name="osSku") private @Nullable Output osSku; /** - * @return Specifies the OS SKU used by the agent pool. Possible values are `AzureLinux`, `CBLMariner`, `Mariner`, `Ubuntu`, `Windows2019` and `Windows2022`. If not specified, the default is `Ubuntu` if OSType=Linux or `Windows2019` if OSType=Windows. And the default Windows OSSKU will be changed to `Windows2022` after Windows2019 is deprecated. Changing this forces a new resource to be created. + * @return Specifies the OS SKU used by the agent pool. Possible values are `AzureLinux`, `Ubuntu`, `Windows2019` and `Windows2022`. If not specified, the default is `Ubuntu` if OSType=Linux or `Windows2019` if OSType=Windows. And the default Windows OSSKU will be changed to `Windows2022` after Windows2019 is deprecated. Changing this forces a new resource to be created. * */ public Optional> osSku() { @@ -1394,7 +1394,7 @@ public Builder osDiskType(String osDiskType) { } /** - * @param osSku Specifies the OS SKU used by the agent pool. Possible values are `AzureLinux`, `CBLMariner`, `Mariner`, `Ubuntu`, `Windows2019` and `Windows2022`. If not specified, the default is `Ubuntu` if OSType=Linux or `Windows2019` if OSType=Windows. And the default Windows OSSKU will be changed to `Windows2022` after Windows2019 is deprecated. Changing this forces a new resource to be created. + * @param osSku Specifies the OS SKU used by the agent pool. Possible values are `AzureLinux`, `Ubuntu`, `Windows2019` and `Windows2022`. If not specified, the default is `Ubuntu` if OSType=Linux or `Windows2019` if OSType=Windows. And the default Windows OSSKU will be changed to `Windows2022` after Windows2019 is deprecated. Changing this forces a new resource to be created. * * @return builder * @@ -1405,7 +1405,7 @@ public Builder osSku(@Nullable Output osSku) { } /** - * @param osSku Specifies the OS SKU used by the agent pool. Possible values are `AzureLinux`, `CBLMariner`, `Mariner`, `Ubuntu`, `Windows2019` and `Windows2022`. If not specified, the default is `Ubuntu` if OSType=Linux or `Windows2019` if OSType=Windows. And the default Windows OSSKU will be changed to `Windows2022` after Windows2019 is deprecated. Changing this forces a new resource to be created. + * @param osSku Specifies the OS SKU used by the agent pool. Possible values are `AzureLinux`, `Ubuntu`, `Windows2019` and `Windows2022`. If not specified, the default is `Ubuntu` if OSType=Linux or `Windows2019` if OSType=Windows. And the default Windows OSSKU will be changed to `Windows2022` after Windows2019 is deprecated. Changing this forces a new resource to be created. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/azure/containerservice/inputs/KubernetesClusterState.java b/sdk/java/src/main/java/com/pulumi/azure/containerservice/inputs/KubernetesClusterState.java index 81ca3f0fee..a8375fa8e4 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/containerservice/inputs/KubernetesClusterState.java +++ b/sdk/java/src/main/java/com/pulumi/azure/containerservice/inputs/KubernetesClusterState.java @@ -179,6 +179,21 @@ public Optional> confidential return Optional.ofNullable(this.confidentialComputing); } + /** + * The current version running on the Azure Kubernetes Managed Cluster. + * + */ + @Import(name="currentKubernetesVersion") + private @Nullable Output currentKubernetesVersion; + + /** + * @return The current version running on the Azure Kubernetes Managed Cluster. + * + */ + public Optional> currentKubernetesVersion() { + return Optional.ofNullable(this.currentKubernetesVersion); + } + /** * A list of up to 10 base64 encoded CAs that will be added to the trust store on nodes with the `custom_ca_trust_enabled` feature enabled. * @@ -1293,6 +1308,7 @@ private KubernetesClusterState(KubernetesClusterState $) { this.azureActiveDirectoryRoleBasedAccessControl = $.azureActiveDirectoryRoleBasedAccessControl; this.azurePolicyEnabled = $.azurePolicyEnabled; this.confidentialComputing = $.confidentialComputing; + this.currentKubernetesVersion = $.currentKubernetesVersion; this.customCaTrustCertificatesBase64s = $.customCaTrustCertificatesBase64s; this.defaultNodePool = $.defaultNodePool; this.diskEncryptionSetId = $.diskEncryptionSetId; @@ -1564,6 +1580,27 @@ public Builder confidentialComputing(KubernetesClusterConfidentialComputingArgs return confidentialComputing(Output.of(confidentialComputing)); } + /** + * @param currentKubernetesVersion The current version running on the Azure Kubernetes Managed Cluster. + * + * @return builder + * + */ + public Builder currentKubernetesVersion(@Nullable Output currentKubernetesVersion) { + $.currentKubernetesVersion = currentKubernetesVersion; + return this; + } + + /** + * @param currentKubernetesVersion The current version running on the Azure Kubernetes Managed Cluster. + * + * @return builder + * + */ + public Builder currentKubernetesVersion(String currentKubernetesVersion) { + return currentKubernetesVersion(Output.of(currentKubernetesVersion)); + } + /** * @param customCaTrustCertificatesBase64s A list of up to 10 base64 encoded CAs that will be added to the trust store on nodes with the `custom_ca_trust_enabled` feature enabled. * diff --git a/sdk/java/src/main/java/com/pulumi/azure/containerservice/inputs/TokenPasswordPassword1Args.java b/sdk/java/src/main/java/com/pulumi/azure/containerservice/inputs/TokenPasswordPassword1Args.java index 579492eb1f..b127983472 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/containerservice/inputs/TokenPasswordPassword1Args.java +++ b/sdk/java/src/main/java/com/pulumi/azure/containerservice/inputs/TokenPasswordPassword1Args.java @@ -16,14 +16,14 @@ public final class TokenPasswordPassword1Args extends com.pulumi.resources.Resou public static final TokenPasswordPassword1Args Empty = new TokenPasswordPassword1Args(); /** - * The expiration date of the password in RFC3339 format. Changing this forces a new resource to be created. + * The expiration date of the password in RFC3339 format. If not specified, the password never expires. Changing this forces a new resource to be created. * */ @Import(name="expiry") private @Nullable Output expiry; /** - * @return The expiration date of the password in RFC3339 format. Changing this forces a new resource to be created. + * @return The expiration date of the password in RFC3339 format. If not specified, the password never expires. Changing this forces a new resource to be created. * */ public Optional> expiry() { @@ -71,7 +71,7 @@ public Builder(TokenPasswordPassword1Args defaults) { } /** - * @param expiry The expiration date of the password in RFC3339 format. Changing this forces a new resource to be created. + * @param expiry The expiration date of the password in RFC3339 format. If not specified, the password never expires. Changing this forces a new resource to be created. * * @return builder * @@ -82,7 +82,7 @@ public Builder expiry(@Nullable Output expiry) { } /** - * @param expiry The expiration date of the password in RFC3339 format. Changing this forces a new resource to be created. + * @param expiry The expiration date of the password in RFC3339 format. If not specified, the password never expires. Changing this forces a new resource to be created. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/azure/containerservice/inputs/TokenPasswordPassword2Args.java b/sdk/java/src/main/java/com/pulumi/azure/containerservice/inputs/TokenPasswordPassword2Args.java index a97679de07..8568e5aa6c 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/containerservice/inputs/TokenPasswordPassword2Args.java +++ b/sdk/java/src/main/java/com/pulumi/azure/containerservice/inputs/TokenPasswordPassword2Args.java @@ -16,14 +16,14 @@ public final class TokenPasswordPassword2Args extends com.pulumi.resources.Resou public static final TokenPasswordPassword2Args Empty = new TokenPasswordPassword2Args(); /** - * The expiration date of the password in RFC3339 format. Changing this forces a new resource to be created. + * The expiration date of the password in RFC3339 format. If not specified, the password never expires. Changing this forces a new resource to be created. * */ @Import(name="expiry") private @Nullable Output expiry; /** - * @return The expiration date of the password in RFC3339 format. Changing this forces a new resource to be created. + * @return The expiration date of the password in RFC3339 format. If not specified, the password never expires. Changing this forces a new resource to be created. * */ public Optional> expiry() { @@ -71,7 +71,7 @@ public Builder(TokenPasswordPassword2Args defaults) { } /** - * @param expiry The expiration date of the password in RFC3339 format. Changing this forces a new resource to be created. + * @param expiry The expiration date of the password in RFC3339 format. If not specified, the password never expires. Changing this forces a new resource to be created. * * @return builder * @@ -82,7 +82,7 @@ public Builder expiry(@Nullable Output expiry) { } /** - * @param expiry The expiration date of the password in RFC3339 format. Changing this forces a new resource to be created. + * @param expiry The expiration date of the password in RFC3339 format. If not specified, the password never expires. Changing this forces a new resource to be created. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/azure/containerservice/outputs/FleetUpdateRunManagedClusterUpdate.java b/sdk/java/src/main/java/com/pulumi/azure/containerservice/outputs/FleetUpdateRunManagedClusterUpdate.java new file mode 100644 index 0000000000..1024266023 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/azure/containerservice/outputs/FleetUpdateRunManagedClusterUpdate.java @@ -0,0 +1,82 @@ +// *** 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.containerservice.outputs; + +import com.pulumi.azure.containerservice.outputs.FleetUpdateRunManagedClusterUpdateNodeImageSelection; +import com.pulumi.azure.containerservice.outputs.FleetUpdateRunManagedClusterUpdateUpgrade; +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class FleetUpdateRunManagedClusterUpdate { + /** + * @return A `node_image_selection` block as defined below. + * + */ + private @Nullable FleetUpdateRunManagedClusterUpdateNodeImageSelection nodeImageSelection; + /** + * @return A `upgrade` block as defined below. + * + */ + private FleetUpdateRunManagedClusterUpdateUpgrade upgrade; + + private FleetUpdateRunManagedClusterUpdate() {} + /** + * @return A `node_image_selection` block as defined below. + * + */ + public Optional nodeImageSelection() { + return Optional.ofNullable(this.nodeImageSelection); + } + /** + * @return A `upgrade` block as defined below. + * + */ + public FleetUpdateRunManagedClusterUpdateUpgrade upgrade() { + return this.upgrade; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(FleetUpdateRunManagedClusterUpdate defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable FleetUpdateRunManagedClusterUpdateNodeImageSelection nodeImageSelection; + private FleetUpdateRunManagedClusterUpdateUpgrade upgrade; + public Builder() {} + public Builder(FleetUpdateRunManagedClusterUpdate defaults) { + Objects.requireNonNull(defaults); + this.nodeImageSelection = defaults.nodeImageSelection; + this.upgrade = defaults.upgrade; + } + + @CustomType.Setter + public Builder nodeImageSelection(@Nullable FleetUpdateRunManagedClusterUpdateNodeImageSelection nodeImageSelection) { + + this.nodeImageSelection = nodeImageSelection; + return this; + } + @CustomType.Setter + public Builder upgrade(FleetUpdateRunManagedClusterUpdateUpgrade upgrade) { + if (upgrade == null) { + throw new MissingRequiredPropertyException("FleetUpdateRunManagedClusterUpdate", "upgrade"); + } + this.upgrade = upgrade; + return this; + } + public FleetUpdateRunManagedClusterUpdate build() { + final var _resultValue = new FleetUpdateRunManagedClusterUpdate(); + _resultValue.nodeImageSelection = nodeImageSelection; + _resultValue.upgrade = upgrade; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/azure/containerservice/outputs/FleetUpdateRunManagedClusterUpdateNodeImageSelection.java b/sdk/java/src/main/java/com/pulumi/azure/containerservice/outputs/FleetUpdateRunManagedClusterUpdateNodeImageSelection.java new file mode 100644 index 0000000000..50611dc21b --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/azure/containerservice/outputs/FleetUpdateRunManagedClusterUpdateNodeImageSelection.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.containerservice.outputs; + +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class FleetUpdateRunManagedClusterUpdateNodeImageSelection { + /** + * @return Specifies the node image upgrade type. Possible values are `Latest` and `Consistent`. + * + */ + private String type; + + private FleetUpdateRunManagedClusterUpdateNodeImageSelection() {} + /** + * @return Specifies the node image upgrade type. Possible values are `Latest` and `Consistent`. + * + */ + public String type() { + return this.type; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(FleetUpdateRunManagedClusterUpdateNodeImageSelection defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String type; + public Builder() {} + public Builder(FleetUpdateRunManagedClusterUpdateNodeImageSelection defaults) { + Objects.requireNonNull(defaults); + this.type = defaults.type; + } + + @CustomType.Setter + public Builder type(String type) { + if (type == null) { + throw new MissingRequiredPropertyException("FleetUpdateRunManagedClusterUpdateNodeImageSelection", "type"); + } + this.type = type; + return this; + } + public FleetUpdateRunManagedClusterUpdateNodeImageSelection build() { + final var _resultValue = new FleetUpdateRunManagedClusterUpdateNodeImageSelection(); + _resultValue.type = type; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/azure/containerservice/outputs/FleetUpdateRunManagedClusterUpdateUpgrade.java b/sdk/java/src/main/java/com/pulumi/azure/containerservice/outputs/FleetUpdateRunManagedClusterUpdateUpgrade.java new file mode 100644 index 0000000000..0ebb625c14 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/azure/containerservice/outputs/FleetUpdateRunManagedClusterUpdateUpgrade.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.containerservice.outputs; + +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class FleetUpdateRunManagedClusterUpdateUpgrade { + /** + * @return Specifies the Kubernetes version to upgrade the member clusters to. This is required if `type` is set to `Full`. + * + */ + private @Nullable String kubernetesVersion; + /** + * @return Specifies the type of upgrade to perform. Possible values are `Full` and `NodeImageOnly`. + * + */ + private String type; + + private FleetUpdateRunManagedClusterUpdateUpgrade() {} + /** + * @return Specifies the Kubernetes version to upgrade the member clusters to. This is required if `type` is set to `Full`. + * + */ + public Optional kubernetesVersion() { + return Optional.ofNullable(this.kubernetesVersion); + } + /** + * @return Specifies the type of upgrade to perform. Possible values are `Full` and `NodeImageOnly`. + * + */ + public String type() { + return this.type; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(FleetUpdateRunManagedClusterUpdateUpgrade defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable String kubernetesVersion; + private String type; + public Builder() {} + public Builder(FleetUpdateRunManagedClusterUpdateUpgrade defaults) { + Objects.requireNonNull(defaults); + this.kubernetesVersion = defaults.kubernetesVersion; + this.type = defaults.type; + } + + @CustomType.Setter + public Builder kubernetesVersion(@Nullable String kubernetesVersion) { + + this.kubernetesVersion = kubernetesVersion; + return this; + } + @CustomType.Setter + public Builder type(String type) { + if (type == null) { + throw new MissingRequiredPropertyException("FleetUpdateRunManagedClusterUpdateUpgrade", "type"); + } + this.type = type; + return this; + } + public FleetUpdateRunManagedClusterUpdateUpgrade build() { + final var _resultValue = new FleetUpdateRunManagedClusterUpdateUpgrade(); + _resultValue.kubernetesVersion = kubernetesVersion; + _resultValue.type = type; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/azure/containerservice/outputs/FleetUpdateRunStage.java b/sdk/java/src/main/java/com/pulumi/azure/containerservice/outputs/FleetUpdateRunStage.java new file mode 100644 index 0000000000..014e177ba7 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/azure/containerservice/outputs/FleetUpdateRunStage.java @@ -0,0 +1,110 @@ +// *** 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.containerservice.outputs; + +import com.pulumi.azure.containerservice.outputs.FleetUpdateRunStageGroup; +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; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class FleetUpdateRunStage { + /** + * @return Specifies the time in seconds to wait at the end of this stage before starting the next one. + * + */ + private @Nullable Integer afterStageWaitInSeconds; + /** + * @return One or more `group` blocks as defined below. + * + */ + private List groups; + /** + * @return The name which should be used for this stage. + * + */ + private String name; + + private FleetUpdateRunStage() {} + /** + * @return Specifies the time in seconds to wait at the end of this stage before starting the next one. + * + */ + public Optional afterStageWaitInSeconds() { + return Optional.ofNullable(this.afterStageWaitInSeconds); + } + /** + * @return One or more `group` blocks as defined below. + * + */ + public List groups() { + return this.groups; + } + /** + * @return The name which should be used for this stage. + * + */ + public String name() { + return this.name; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(FleetUpdateRunStage defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable Integer afterStageWaitInSeconds; + private List groups; + private String name; + public Builder() {} + public Builder(FleetUpdateRunStage defaults) { + Objects.requireNonNull(defaults); + this.afterStageWaitInSeconds = defaults.afterStageWaitInSeconds; + this.groups = defaults.groups; + this.name = defaults.name; + } + + @CustomType.Setter + public Builder afterStageWaitInSeconds(@Nullable Integer afterStageWaitInSeconds) { + + this.afterStageWaitInSeconds = afterStageWaitInSeconds; + return this; + } + @CustomType.Setter + public Builder groups(List groups) { + if (groups == null) { + throw new MissingRequiredPropertyException("FleetUpdateRunStage", "groups"); + } + this.groups = groups; + return this; + } + public Builder groups(FleetUpdateRunStageGroup... groups) { + return groups(List.of(groups)); + } + @CustomType.Setter + public Builder name(String name) { + if (name == null) { + throw new MissingRequiredPropertyException("FleetUpdateRunStage", "name"); + } + this.name = name; + return this; + } + public FleetUpdateRunStage build() { + final var _resultValue = new FleetUpdateRunStage(); + _resultValue.afterStageWaitInSeconds = afterStageWaitInSeconds; + _resultValue.groups = groups; + _resultValue.name = name; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/azure/containerservice/outputs/FleetUpdateRunStageGroup.java b/sdk/java/src/main/java/com/pulumi/azure/containerservice/outputs/FleetUpdateRunStageGroup.java new file mode 100644 index 0000000000..64940fc9fd --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/azure/containerservice/outputs/FleetUpdateRunStageGroup.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.containerservice.outputs; + +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class FleetUpdateRunStageGroup { + /** + * @return The name which should be used for this group. + * + */ + private String name; + + private FleetUpdateRunStageGroup() {} + /** + * @return The name which should be used for this group. + * + */ + public String name() { + return this.name; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(FleetUpdateRunStageGroup defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String name; + public Builder() {} + public Builder(FleetUpdateRunStageGroup defaults) { + Objects.requireNonNull(defaults); + this.name = defaults.name; + } + + @CustomType.Setter + public Builder name(String name) { + if (name == null) { + throw new MissingRequiredPropertyException("FleetUpdateRunStageGroup", "name"); + } + this.name = name; + return this; + } + public FleetUpdateRunStageGroup build() { + final var _resultValue = new FleetUpdateRunStageGroup(); + _resultValue.name = name; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/azure/containerservice/outputs/KubernetesClusterDefaultNodePool.java b/sdk/java/src/main/java/com/pulumi/azure/containerservice/outputs/KubernetesClusterDefaultNodePool.java index 4445f0c8ef..906ff583b5 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/containerservice/outputs/KubernetesClusterDefaultNodePool.java +++ b/sdk/java/src/main/java/com/pulumi/azure/containerservice/outputs/KubernetesClusterDefaultNodePool.java @@ -162,7 +162,7 @@ public final class KubernetesClusterDefaultNodePool { */ private @Nullable String osDiskType; /** - * @return Specifies the OS SKU used by the agent pool. Possible values are `AzureLinux`, `CBLMariner`, `Mariner`, `Ubuntu`, `Windows2019` and `Windows2022`. If not specified, the default is `Ubuntu` if OSType=Linux or `Windows2019` if OSType=Windows. And the default Windows OSSKU will be changed to `Windows2022` after Windows2019 is deprecated. `temporary_name_for_rotation` must be specified when attempting a change. + * @return Specifies the OS SKU used by the agent pool. Possible values are `AzureLinux`, `Ubuntu`, `Windows2019` and `Windows2022`. If not specified, the default is `Ubuntu` if OSType=Linux or `Windows2019` if OSType=Windows. And the default Windows OSSKU will be changed to `Windows2022` after Windows2019 is deprecated. `temporary_name_for_rotation` must be specified when attempting a change. * */ private @Nullable String osSku; @@ -435,7 +435,7 @@ public Optional osDiskType() { return Optional.ofNullable(this.osDiskType); } /** - * @return Specifies the OS SKU used by the agent pool. Possible values are `AzureLinux`, `CBLMariner`, `Mariner`, `Ubuntu`, `Windows2019` and `Windows2022`. If not specified, the default is `Ubuntu` if OSType=Linux or `Windows2019` if OSType=Windows. And the default Windows OSSKU will be changed to `Windows2022` after Windows2019 is deprecated. `temporary_name_for_rotation` must be specified when attempting a change. + * @return Specifies the OS SKU used by the agent pool. Possible values are `AzureLinux`, `Ubuntu`, `Windows2019` and `Windows2022`. If not specified, the default is `Ubuntu` if OSType=Linux or `Windows2019` if OSType=Windows. And the default Windows OSSKU will be changed to `Windows2022` after Windows2019 is deprecated. `temporary_name_for_rotation` must be specified when attempting a change. * */ public Optional osSku() { diff --git a/sdk/java/src/main/java/com/pulumi/azure/containerservice/outputs/KubernetesClusterKeyManagementService.java b/sdk/java/src/main/java/com/pulumi/azure/containerservice/outputs/KubernetesClusterKeyManagementService.java index d4121190ad..390c24a3e5 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/containerservice/outputs/KubernetesClusterKeyManagementService.java +++ b/sdk/java/src/main/java/com/pulumi/azure/containerservice/outputs/KubernetesClusterKeyManagementService.java @@ -13,7 +13,7 @@ @CustomType public final class KubernetesClusterKeyManagementService { /** - * @return Identifier of Azure Key Vault key. See [key identifier format](https://learn.microsoft.com/en-us/azure/key-vault/general/about-keys-secrets-certificates#vault-name-and-object-name) for more details. When Azure Key Vault key management service is enabled, this field is required and must be a valid key identifier. When `enabled` is `false`, leave the field empty. + * @return Identifier of Azure Key Vault key. See [key identifier format](https://learn.microsoft.com/en-us/azure/key-vault/general/about-keys-secrets-certificates#vault-name-and-object-name) for more details. * */ private String keyVaultKeyId; @@ -25,7 +25,7 @@ public final class KubernetesClusterKeyManagementService { private KubernetesClusterKeyManagementService() {} /** - * @return Identifier of Azure Key Vault key. See [key identifier format](https://learn.microsoft.com/en-us/azure/key-vault/general/about-keys-secrets-certificates#vault-name-and-object-name) for more details. When Azure Key Vault key management service is enabled, this field is required and must be a valid key identifier. When `enabled` is `false`, leave the field empty. + * @return Identifier of Azure Key Vault key. See [key identifier format](https://learn.microsoft.com/en-us/azure/key-vault/general/about-keys-secrets-certificates#vault-name-and-object-name) for more details. * */ public String keyVaultKeyId() { diff --git a/sdk/java/src/main/java/com/pulumi/azure/containerservice/outputs/KubernetesClusterNetworkProfile.java b/sdk/java/src/main/java/com/pulumi/azure/containerservice/outputs/KubernetesClusterNetworkProfile.java index 606d2fe895..152957ce02 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/containerservice/outputs/KubernetesClusterNetworkProfile.java +++ b/sdk/java/src/main/java/com/pulumi/azure/containerservice/outputs/KubernetesClusterNetworkProfile.java @@ -99,7 +99,7 @@ public final class KubernetesClusterNetworkProfile { */ private @Nullable String networkPolicy; /** - * @return The outbound (egress) routing method which should be used for this Kubernetes Cluster. Possible values are `loadBalancer`, `userDefinedRouting`, `managedNATGateway` and `userAssignedNATGateway`. Defaults to `loadBalancer`. Changing this forces a new resource to be created. + * @return The outbound (egress) routing method which should be used for this Kubernetes Cluster. Possible values are `loadBalancer`, `userDefinedRouting`, `managedNATGateway` and `userAssignedNATGateway`. Defaults to `loadBalancer`. More information on supported migration paths for `outbound_type` can be found in [this documentation](https://learn.microsoft.com/azure/aks/egress-outboundtype#updating-outboundtype-after-cluster-creation). * */ private @Nullable String outboundType; @@ -233,7 +233,7 @@ public Optional networkPolicy() { return Optional.ofNullable(this.networkPolicy); } /** - * @return The outbound (egress) routing method which should be used for this Kubernetes Cluster. Possible values are `loadBalancer`, `userDefinedRouting`, `managedNATGateway` and `userAssignedNATGateway`. Defaults to `loadBalancer`. Changing this forces a new resource to be created. + * @return The outbound (egress) routing method which should be used for this Kubernetes Cluster. Possible values are `loadBalancer`, `userDefinedRouting`, `managedNATGateway` and `userAssignedNATGateway`. Defaults to `loadBalancer`. More information on supported migration paths for `outbound_type` can be found in [this documentation](https://learn.microsoft.com/azure/aks/egress-outboundtype#updating-outboundtype-after-cluster-creation). * */ public Optional outboundType() { diff --git a/sdk/java/src/main/java/com/pulumi/azure/containerservice/outputs/TokenPasswordPassword1.java b/sdk/java/src/main/java/com/pulumi/azure/containerservice/outputs/TokenPasswordPassword1.java index 246b9d7ebd..aa796480fb 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/containerservice/outputs/TokenPasswordPassword1.java +++ b/sdk/java/src/main/java/com/pulumi/azure/containerservice/outputs/TokenPasswordPassword1.java @@ -12,7 +12,7 @@ @CustomType public final class TokenPasswordPassword1 { /** - * @return The expiration date of the password in RFC3339 format. Changing this forces a new resource to be created. + * @return The expiration date of the password in RFC3339 format. If not specified, the password never expires. Changing this forces a new resource to be created. * */ private @Nullable String expiry; @@ -24,7 +24,7 @@ public final class TokenPasswordPassword1 { private TokenPasswordPassword1() {} /** - * @return The expiration date of the password in RFC3339 format. Changing this forces a new resource to be created. + * @return The expiration date of the password in RFC3339 format. If not specified, the password never expires. Changing this forces a new resource to be created. * */ public Optional expiry() { diff --git a/sdk/java/src/main/java/com/pulumi/azure/containerservice/outputs/TokenPasswordPassword2.java b/sdk/java/src/main/java/com/pulumi/azure/containerservice/outputs/TokenPasswordPassword2.java index 1f028e8b4e..19163567a6 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/containerservice/outputs/TokenPasswordPassword2.java +++ b/sdk/java/src/main/java/com/pulumi/azure/containerservice/outputs/TokenPasswordPassword2.java @@ -12,7 +12,7 @@ @CustomType public final class TokenPasswordPassword2 { /** - * @return The expiration date of the password in RFC3339 format. Changing this forces a new resource to be created. + * @return The expiration date of the password in RFC3339 format. If not specified, the password never expires. Changing this forces a new resource to be created. * */ private @Nullable String expiry; @@ -24,7 +24,7 @@ public final class TokenPasswordPassword2 { private TokenPasswordPassword2() {} /** - * @return The expiration date of the password in RFC3339 format. Changing this forces a new resource to be created. + * @return The expiration date of the password in RFC3339 format. If not specified, the password never expires. Changing this forces a new resource to be created. * */ public Optional expiry() { diff --git a/sdk/java/src/main/java/com/pulumi/azure/cosmosdb/Account.java b/sdk/java/src/main/java/com/pulumi/azure/cosmosdb/Account.java index 175cd90d26..a9bce50ba8 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/cosmosdb/Account.java +++ b/sdk/java/src/main/java/com/pulumi/azure/cosmosdb/Account.java @@ -522,6 +522,20 @@ public Output> localAuthenticationDisabled() { public Output location() { return this.location; } + /** + * Specifies the minimal TLS version for the CosmosDB account. Possible values are: `Tls`, `Tls11`, and `Tls12`. Defaults to `Tls12`. + * + */ + @Export(name="minimalTlsVersion", refs={String.class}, tree="[0]") + private Output minimalTlsVersion; + + /** + * @return Specifies the minimal TLS version for the CosmosDB account. Possible values are: `Tls`, `Tls11`, and `Tls12`. Defaults to `Tls12`. + * + */ + public Output minimalTlsVersion() { + return this.minimalTlsVersion; + } /** * The Server Version of a MongoDB account. Possible values are `4.2`, `4.0`, `3.6`, and `3.2`. * diff --git a/sdk/java/src/main/java/com/pulumi/azure/cosmosdb/AccountArgs.java b/sdk/java/src/main/java/com/pulumi/azure/cosmosdb/AccountArgs.java index 1b6bf5f19d..628ed7ae02 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/cosmosdb/AccountArgs.java +++ b/sdk/java/src/main/java/com/pulumi/azure/cosmosdb/AccountArgs.java @@ -364,6 +364,21 @@ public Optional> location() { return Optional.ofNullable(this.location); } + /** + * Specifies the minimal TLS version for the CosmosDB account. Possible values are: `Tls`, `Tls11`, and `Tls12`. Defaults to `Tls12`. + * + */ + @Import(name="minimalTlsVersion") + private @Nullable Output minimalTlsVersion; + + /** + * @return Specifies the minimal TLS version for the CosmosDB account. Possible values are: `Tls`, `Tls11`, and `Tls12`. Defaults to `Tls12`. + * + */ + public Optional> minimalTlsVersion() { + return Optional.ofNullable(this.minimalTlsVersion); + } + /** * The Server Version of a MongoDB account. Possible values are `4.2`, `4.0`, `3.6`, and `3.2`. * @@ -557,6 +572,7 @@ private AccountArgs(AccountArgs $) { this.kind = $.kind; this.localAuthenticationDisabled = $.localAuthenticationDisabled; this.location = $.location; + this.minimalTlsVersion = $.minimalTlsVersion; this.mongoServerVersion = $.mongoServerVersion; this.name = $.name; this.networkAclBypassForAzureServices = $.networkAclBypassForAzureServices; @@ -1069,6 +1085,27 @@ public Builder location(String location) { return location(Output.of(location)); } + /** + * @param minimalTlsVersion Specifies the minimal TLS version for the CosmosDB account. Possible values are: `Tls`, `Tls11`, and `Tls12`. Defaults to `Tls12`. + * + * @return builder + * + */ + public Builder minimalTlsVersion(@Nullable Output minimalTlsVersion) { + $.minimalTlsVersion = minimalTlsVersion; + return this; + } + + /** + * @param minimalTlsVersion Specifies the minimal TLS version for the CosmosDB account. Possible values are: `Tls`, `Tls11`, and `Tls12`. Defaults to `Tls12`. + * + * @return builder + * + */ + public Builder minimalTlsVersion(String minimalTlsVersion) { + return minimalTlsVersion(Output.of(minimalTlsVersion)); + } + /** * @param mongoServerVersion The Server Version of a MongoDB account. Possible values are `4.2`, `4.0`, `3.6`, and `3.2`. * diff --git a/sdk/java/src/main/java/com/pulumi/azure/cosmosdb/inputs/AccountBackupArgs.java b/sdk/java/src/main/java/com/pulumi/azure/cosmosdb/inputs/AccountBackupArgs.java index 328b6aaa82..e9cbb69fe3 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/cosmosdb/inputs/AccountBackupArgs.java +++ b/sdk/java/src/main/java/com/pulumi/azure/cosmosdb/inputs/AccountBackupArgs.java @@ -66,6 +66,21 @@ public Optional> storageRedundancy() { return Optional.ofNullable(this.storageRedundancy); } + /** + * The continuous backup tier. Possible values are `Continuous7Days` and `Continuous30Days`. + * + */ + @Import(name="tier") + private @Nullable Output tier; + + /** + * @return The continuous backup tier. Possible values are `Continuous7Days` and `Continuous30Days`. + * + */ + public Optional> tier() { + return Optional.ofNullable(this.tier); + } + /** * The type of the `backup`. Possible values are `Continuous` and `Periodic`. * @@ -91,6 +106,7 @@ private AccountBackupArgs(AccountBackupArgs $) { this.intervalInMinutes = $.intervalInMinutes; this.retentionInHours = $.retentionInHours; this.storageRedundancy = $.storageRedundancy; + this.tier = $.tier; this.type = $.type; } @@ -179,6 +195,27 @@ public Builder storageRedundancy(String storageRedundancy) { return storageRedundancy(Output.of(storageRedundancy)); } + /** + * @param tier The continuous backup tier. Possible values are `Continuous7Days` and `Continuous30Days`. + * + * @return builder + * + */ + public Builder tier(@Nullable Output tier) { + $.tier = tier; + return this; + } + + /** + * @param tier The continuous backup tier. Possible values are `Continuous7Days` and `Continuous30Days`. + * + * @return builder + * + */ + public Builder tier(String tier) { + return tier(Output.of(tier)); + } + /** * @param type The type of the `backup`. Possible values are `Continuous` and `Periodic`. * diff --git a/sdk/java/src/main/java/com/pulumi/azure/cosmosdb/inputs/AccountState.java b/sdk/java/src/main/java/com/pulumi/azure/cosmosdb/inputs/AccountState.java index 234287ea54..5db813a35c 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/cosmosdb/inputs/AccountState.java +++ b/sdk/java/src/main/java/com/pulumi/azure/cosmosdb/inputs/AccountState.java @@ -393,6 +393,21 @@ public Optional> location() { return Optional.ofNullable(this.location); } + /** + * Specifies the minimal TLS version for the CosmosDB account. Possible values are: `Tls`, `Tls11`, and `Tls12`. Defaults to `Tls12`. + * + */ + @Import(name="minimalTlsVersion") + private @Nullable Output minimalTlsVersion; + + /** + * @return Specifies the minimal TLS version for the CosmosDB account. Possible values are: `Tls`, `Tls11`, and `Tls12`. Defaults to `Tls12`. + * + */ + public Optional> minimalTlsVersion() { + return Optional.ofNullable(this.minimalTlsVersion); + } + /** * The Server Version of a MongoDB account. Possible values are `4.2`, `4.0`, `3.6`, and `3.2`. * @@ -798,6 +813,7 @@ private AccountState(AccountState $) { this.kind = $.kind; this.localAuthenticationDisabled = $.localAuthenticationDisabled; this.location = $.location; + this.minimalTlsVersion = $.minimalTlsVersion; this.mongoServerVersion = $.mongoServerVersion; this.name = $.name; this.networkAclBypassForAzureServices = $.networkAclBypassForAzureServices; @@ -1376,6 +1392,27 @@ public Builder location(String location) { return location(Output.of(location)); } + /** + * @param minimalTlsVersion Specifies the minimal TLS version for the CosmosDB account. Possible values are: `Tls`, `Tls11`, and `Tls12`. Defaults to `Tls12`. + * + * @return builder + * + */ + public Builder minimalTlsVersion(@Nullable Output minimalTlsVersion) { + $.minimalTlsVersion = minimalTlsVersion; + return this; + } + + /** + * @param minimalTlsVersion Specifies the minimal TLS version for the CosmosDB account. Possible values are: `Tls`, `Tls11`, and `Tls12`. Defaults to `Tls12`. + * + * @return builder + * + */ + public Builder minimalTlsVersion(String minimalTlsVersion) { + return minimalTlsVersion(Output.of(minimalTlsVersion)); + } + /** * @param mongoServerVersion The Server Version of a MongoDB account. Possible values are `4.2`, `4.0`, `3.6`, and `3.2`. * diff --git a/sdk/java/src/main/java/com/pulumi/azure/cosmosdb/outputs/AccountBackup.java b/sdk/java/src/main/java/com/pulumi/azure/cosmosdb/outputs/AccountBackup.java index 5e8de9fc1b..5fcb81fb51 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/cosmosdb/outputs/AccountBackup.java +++ b/sdk/java/src/main/java/com/pulumi/azure/cosmosdb/outputs/AccountBackup.java @@ -30,6 +30,11 @@ public final class AccountBackup { * */ private @Nullable String storageRedundancy; + /** + * @return The continuous backup tier. Possible values are `Continuous7Days` and `Continuous30Days`. + * + */ + private @Nullable String tier; /** * @return The type of the `backup`. Possible values are `Continuous` and `Periodic`. * @@ -62,6 +67,13 @@ public Optional retentionInHours() { public Optional storageRedundancy() { return Optional.ofNullable(this.storageRedundancy); } + /** + * @return The continuous backup tier. Possible values are `Continuous7Days` and `Continuous30Days`. + * + */ + public Optional tier() { + return Optional.ofNullable(this.tier); + } /** * @return The type of the `backup`. Possible values are `Continuous` and `Periodic`. * @@ -84,6 +96,7 @@ public static final class Builder { private @Nullable Integer intervalInMinutes; private @Nullable Integer retentionInHours; private @Nullable String storageRedundancy; + private @Nullable String tier; private String type; public Builder() {} public Builder(AccountBackup defaults) { @@ -91,6 +104,7 @@ public Builder(AccountBackup defaults) { this.intervalInMinutes = defaults.intervalInMinutes; this.retentionInHours = defaults.retentionInHours; this.storageRedundancy = defaults.storageRedundancy; + this.tier = defaults.tier; this.type = defaults.type; } @@ -113,6 +127,12 @@ public Builder storageRedundancy(@Nullable String storageRedundancy) { return this; } @CustomType.Setter + public Builder tier(@Nullable String tier) { + + this.tier = tier; + return this; + } + @CustomType.Setter public Builder type(String type) { if (type == null) { throw new MissingRequiredPropertyException("AccountBackup", "type"); @@ -125,6 +145,7 @@ public AccountBackup build() { _resultValue.intervalInMinutes = intervalInMinutes; _resultValue.retentionInHours = retentionInHours; _resultValue.storageRedundancy = storageRedundancy; + _resultValue.tier = tier; _resultValue.type = type; return _resultValue; } diff --git a/sdk/java/src/main/java/com/pulumi/azure/dataprotection/BackupVault.java b/sdk/java/src/main/java/com/pulumi/azure/dataprotection/BackupVault.java index 90ca9e46d1..a730700605 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/dataprotection/BackupVault.java +++ b/sdk/java/src/main/java/com/pulumi/azure/dataprotection/BackupVault.java @@ -11,6 +11,7 @@ import com.pulumi.core.annotations.Export; import com.pulumi.core.annotations.ResourceType; import com.pulumi.core.internal.Codegen; +import java.lang.Double; import java.lang.String; import java.util.Map; import java.util.Optional; @@ -159,6 +160,42 @@ public Output redundancy() { public Output resourceGroupName() { return this.resourceGroupName; } + /** + * The soft delete retention duration for this Backup Vault. Possible values are between `14` and `180`. Defaults to `14`. + * + * > **Note:** The `retention_duration_in_days` is the number of days for which deleted data is retained before being permanently deleted. Retention period till 14 days are free of cost, however, retention beyond 14 days may incur additional charges. The `retention_duration_in_days` is required when the `soft_delete` is set to `On`. + * + */ + @Export(name="retentionDurationInDays", refs={Double.class}, tree="[0]") + private Output retentionDurationInDays; + + /** + * @return The soft delete retention duration for this Backup Vault. Possible values are between `14` and `180`. Defaults to `14`. + * + * > **Note:** The `retention_duration_in_days` is the number of days for which deleted data is retained before being permanently deleted. Retention period till 14 days are free of cost, however, retention beyond 14 days may incur additional charges. The `retention_duration_in_days` is required when the `soft_delete` is set to `On`. + * + */ + public Output> retentionDurationInDays() { + return Codegen.optional(this.retentionDurationInDays); + } + /** + * The state of soft delete for this Backup Vault. Possible values are `AlwaysOn`, `Off` and `On`. Defaults to `On`. + * + * > **Note:** Once the `soft_delete` is set to `AlwaysOn`, the setting cannot be changed. + * + */ + @Export(name="softDelete", refs={String.class}, tree="[0]") + private Output softDelete; + + /** + * @return The state of soft delete for this Backup Vault. Possible values are `AlwaysOn`, `Off` and `On`. Defaults to `On`. + * + * > **Note:** Once the `soft_delete` is set to `AlwaysOn`, the setting cannot be changed. + * + */ + public Output> softDelete() { + return Codegen.optional(this.softDelete); + } /** * A mapping of tags which should be assigned to the Backup Vault. * diff --git a/sdk/java/src/main/java/com/pulumi/azure/dataprotection/BackupVaultArgs.java b/sdk/java/src/main/java/com/pulumi/azure/dataprotection/BackupVaultArgs.java index 11ff99b700..21a135c8fc 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/dataprotection/BackupVaultArgs.java +++ b/sdk/java/src/main/java/com/pulumi/azure/dataprotection/BackupVaultArgs.java @@ -7,6 +7,7 @@ import com.pulumi.core.Output; import com.pulumi.core.annotations.Import; import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.Double; import java.lang.String; import java.util.Map; import java.util.Objects; @@ -112,6 +113,44 @@ public Output resourceGroupName() { return this.resourceGroupName; } + /** + * The soft delete retention duration for this Backup Vault. Possible values are between `14` and `180`. Defaults to `14`. + * + * > **Note:** The `retention_duration_in_days` is the number of days for which deleted data is retained before being permanently deleted. Retention period till 14 days are free of cost, however, retention beyond 14 days may incur additional charges. The `retention_duration_in_days` is required when the `soft_delete` is set to `On`. + * + */ + @Import(name="retentionDurationInDays") + private @Nullable Output retentionDurationInDays; + + /** + * @return The soft delete retention duration for this Backup Vault. Possible values are between `14` and `180`. Defaults to `14`. + * + * > **Note:** The `retention_duration_in_days` is the number of days for which deleted data is retained before being permanently deleted. Retention period till 14 days are free of cost, however, retention beyond 14 days may incur additional charges. The `retention_duration_in_days` is required when the `soft_delete` is set to `On`. + * + */ + public Optional> retentionDurationInDays() { + return Optional.ofNullable(this.retentionDurationInDays); + } + + /** + * The state of soft delete for this Backup Vault. Possible values are `AlwaysOn`, `Off` and `On`. Defaults to `On`. + * + * > **Note:** Once the `soft_delete` is set to `AlwaysOn`, the setting cannot be changed. + * + */ + @Import(name="softDelete") + private @Nullable Output softDelete; + + /** + * @return The state of soft delete for this Backup Vault. Possible values are `AlwaysOn`, `Off` and `On`. Defaults to `On`. + * + * > **Note:** Once the `soft_delete` is set to `AlwaysOn`, the setting cannot be changed. + * + */ + public Optional> softDelete() { + return Optional.ofNullable(this.softDelete); + } + /** * A mapping of tags which should be assigned to the Backup Vault. * @@ -136,6 +175,8 @@ private BackupVaultArgs(BackupVaultArgs $) { this.name = $.name; this.redundancy = $.redundancy; this.resourceGroupName = $.resourceGroupName; + this.retentionDurationInDays = $.retentionDurationInDays; + this.softDelete = $.softDelete; this.tags = $.tags; } @@ -287,6 +328,56 @@ public Builder resourceGroupName(String resourceGroupName) { return resourceGroupName(Output.of(resourceGroupName)); } + /** + * @param retentionDurationInDays The soft delete retention duration for this Backup Vault. Possible values are between `14` and `180`. Defaults to `14`. + * + * > **Note:** The `retention_duration_in_days` is the number of days for which deleted data is retained before being permanently deleted. Retention period till 14 days are free of cost, however, retention beyond 14 days may incur additional charges. The `retention_duration_in_days` is required when the `soft_delete` is set to `On`. + * + * @return builder + * + */ + public Builder retentionDurationInDays(@Nullable Output retentionDurationInDays) { + $.retentionDurationInDays = retentionDurationInDays; + return this; + } + + /** + * @param retentionDurationInDays The soft delete retention duration for this Backup Vault. Possible values are between `14` and `180`. Defaults to `14`. + * + * > **Note:** The `retention_duration_in_days` is the number of days for which deleted data is retained before being permanently deleted. Retention period till 14 days are free of cost, however, retention beyond 14 days may incur additional charges. The `retention_duration_in_days` is required when the `soft_delete` is set to `On`. + * + * @return builder + * + */ + public Builder retentionDurationInDays(Double retentionDurationInDays) { + return retentionDurationInDays(Output.of(retentionDurationInDays)); + } + + /** + * @param softDelete The state of soft delete for this Backup Vault. Possible values are `AlwaysOn`, `Off` and `On`. Defaults to `On`. + * + * > **Note:** Once the `soft_delete` is set to `AlwaysOn`, the setting cannot be changed. + * + * @return builder + * + */ + public Builder softDelete(@Nullable Output softDelete) { + $.softDelete = softDelete; + return this; + } + + /** + * @param softDelete The state of soft delete for this Backup Vault. Possible values are `AlwaysOn`, `Off` and `On`. Defaults to `On`. + * + * > **Note:** Once the `soft_delete` is set to `AlwaysOn`, the setting cannot be changed. + * + * @return builder + * + */ + public Builder softDelete(String softDelete) { + return softDelete(Output.of(softDelete)); + } + /** * @param tags A mapping of tags which should be assigned to the Backup Vault. * diff --git a/sdk/java/src/main/java/com/pulumi/azure/dataprotection/inputs/BackupVaultState.java b/sdk/java/src/main/java/com/pulumi/azure/dataprotection/inputs/BackupVaultState.java index 6263e3ce97..a73629cbdd 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/dataprotection/inputs/BackupVaultState.java +++ b/sdk/java/src/main/java/com/pulumi/azure/dataprotection/inputs/BackupVaultState.java @@ -6,6 +6,7 @@ import com.pulumi.azure.dataprotection.inputs.BackupVaultIdentityArgs; import com.pulumi.core.Output; import com.pulumi.core.annotations.Import; +import java.lang.Double; import java.lang.String; import java.util.Map; import java.util.Objects; @@ -111,6 +112,44 @@ public Optional> resourceGroupName() { return Optional.ofNullable(this.resourceGroupName); } + /** + * The soft delete retention duration for this Backup Vault. Possible values are between `14` and `180`. Defaults to `14`. + * + * > **Note:** The `retention_duration_in_days` is the number of days for which deleted data is retained before being permanently deleted. Retention period till 14 days are free of cost, however, retention beyond 14 days may incur additional charges. The `retention_duration_in_days` is required when the `soft_delete` is set to `On`. + * + */ + @Import(name="retentionDurationInDays") + private @Nullable Output retentionDurationInDays; + + /** + * @return The soft delete retention duration for this Backup Vault. Possible values are between `14` and `180`. Defaults to `14`. + * + * > **Note:** The `retention_duration_in_days` is the number of days for which deleted data is retained before being permanently deleted. Retention period till 14 days are free of cost, however, retention beyond 14 days may incur additional charges. The `retention_duration_in_days` is required when the `soft_delete` is set to `On`. + * + */ + public Optional> retentionDurationInDays() { + return Optional.ofNullable(this.retentionDurationInDays); + } + + /** + * The state of soft delete for this Backup Vault. Possible values are `AlwaysOn`, `Off` and `On`. Defaults to `On`. + * + * > **Note:** Once the `soft_delete` is set to `AlwaysOn`, the setting cannot be changed. + * + */ + @Import(name="softDelete") + private @Nullable Output softDelete; + + /** + * @return The state of soft delete for this Backup Vault. Possible values are `AlwaysOn`, `Off` and `On`. Defaults to `On`. + * + * > **Note:** Once the `soft_delete` is set to `AlwaysOn`, the setting cannot be changed. + * + */ + public Optional> softDelete() { + return Optional.ofNullable(this.softDelete); + } + /** * A mapping of tags which should be assigned to the Backup Vault. * @@ -135,6 +174,8 @@ private BackupVaultState(BackupVaultState $) { this.name = $.name; this.redundancy = $.redundancy; this.resourceGroupName = $.resourceGroupName; + this.retentionDurationInDays = $.retentionDurationInDays; + this.softDelete = $.softDelete; this.tags = $.tags; } @@ -286,6 +327,56 @@ public Builder resourceGroupName(String resourceGroupName) { return resourceGroupName(Output.of(resourceGroupName)); } + /** + * @param retentionDurationInDays The soft delete retention duration for this Backup Vault. Possible values are between `14` and `180`. Defaults to `14`. + * + * > **Note:** The `retention_duration_in_days` is the number of days for which deleted data is retained before being permanently deleted. Retention period till 14 days are free of cost, however, retention beyond 14 days may incur additional charges. The `retention_duration_in_days` is required when the `soft_delete` is set to `On`. + * + * @return builder + * + */ + public Builder retentionDurationInDays(@Nullable Output retentionDurationInDays) { + $.retentionDurationInDays = retentionDurationInDays; + return this; + } + + /** + * @param retentionDurationInDays The soft delete retention duration for this Backup Vault. Possible values are between `14` and `180`. Defaults to `14`. + * + * > **Note:** The `retention_duration_in_days` is the number of days for which deleted data is retained before being permanently deleted. Retention period till 14 days are free of cost, however, retention beyond 14 days may incur additional charges. The `retention_duration_in_days` is required when the `soft_delete` is set to `On`. + * + * @return builder + * + */ + public Builder retentionDurationInDays(Double retentionDurationInDays) { + return retentionDurationInDays(Output.of(retentionDurationInDays)); + } + + /** + * @param softDelete The state of soft delete for this Backup Vault. Possible values are `AlwaysOn`, `Off` and `On`. Defaults to `On`. + * + * > **Note:** Once the `soft_delete` is set to `AlwaysOn`, the setting cannot be changed. + * + * @return builder + * + */ + public Builder softDelete(@Nullable Output softDelete) { + $.softDelete = softDelete; + return this; + } + + /** + * @param softDelete The state of soft delete for this Backup Vault. Possible values are `AlwaysOn`, `Off` and `On`. Defaults to `On`. + * + * > **Note:** Once the `soft_delete` is set to `AlwaysOn`, the setting cannot be changed. + * + * @return builder + * + */ + public Builder softDelete(String softDelete) { + return softDelete(Output.of(softDelete)); + } + /** * @param tags A mapping of tags which should be assigned to the Backup Vault. * diff --git a/sdk/java/src/main/java/com/pulumi/azure/devcenter/Catalog.java b/sdk/java/src/main/java/com/pulumi/azure/devcenter/Catalog.java new file mode 100644 index 0000000000..6a98f89e63 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/azure/devcenter/Catalog.java @@ -0,0 +1,100 @@ +// *** 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.devcenter; + +import com.pulumi.azure.Utilities; +import com.pulumi.azure.devcenter.CatalogArgs; +import com.pulumi.azure.devcenter.inputs.CatalogState; +import com.pulumi.azure.devcenter.outputs.CatalogCatalogAdogit; +import com.pulumi.azure.devcenter.outputs.CatalogCatalogGithub; +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; + +@ResourceType(type="azure:devcenter/catalog:Catalog") +public class Catalog extends com.pulumi.resources.CustomResource { + @Export(name="catalogAdogit", refs={CatalogCatalogAdogit.class}, tree="[0]") + private Output catalogAdogit; + + public Output> catalogAdogit() { + return Codegen.optional(this.catalogAdogit); + } + @Export(name="catalogGithub", refs={CatalogCatalogGithub.class}, tree="[0]") + private Output catalogGithub; + + public Output> catalogGithub() { + return Codegen.optional(this.catalogGithub); + } + @Export(name="devCenterId", refs={String.class}, tree="[0]") + private Output devCenterId; + + public Output devCenterId() { + return this.devCenterId; + } + @Export(name="name", refs={String.class}, tree="[0]") + private Output name; + + public Output name() { + return this.name; + } + @Export(name="resourceGroupName", refs={String.class}, tree="[0]") + private Output resourceGroupName; + + public Output resourceGroupName() { + return this.resourceGroupName; + } + + /** + * + * @param name The _unique_ name of the resulting resource. + */ + public Catalog(String name) { + this(name, CatalogArgs.Empty); + } + /** + * + * @param name The _unique_ name of the resulting resource. + * @param args The arguments to use to populate this resource's properties. + */ + public Catalog(String name, CatalogArgs 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 Catalog(String name, CatalogArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("azure:devcenter/catalog:Catalog", name, args == null ? CatalogArgs.Empty : args, makeResourceOptions(options, Codegen.empty())); + } + + private Catalog(String name, Output id, @Nullable CatalogState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("azure:devcenter/catalog:Catalog", name, state, makeResourceOptions(options, id)); + } + + 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 Catalog get(String name, Output id, @Nullable CatalogState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + return new Catalog(name, id, state, options); + } +} diff --git a/sdk/java/src/main/java/com/pulumi/azure/devcenter/CatalogArgs.java b/sdk/java/src/main/java/com/pulumi/azure/devcenter/CatalogArgs.java new file mode 100644 index 0000000000..1b5d132983 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/azure/devcenter/CatalogArgs.java @@ -0,0 +1,140 @@ +// *** 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.devcenter; + +import com.pulumi.azure.devcenter.inputs.CatalogCatalogAdogitArgs; +import com.pulumi.azure.devcenter.inputs.CatalogCatalogGithubArgs; +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 CatalogArgs extends com.pulumi.resources.ResourceArgs { + + public static final CatalogArgs Empty = new CatalogArgs(); + + @Import(name="catalogAdogit") + private @Nullable Output catalogAdogit; + + public Optional> catalogAdogit() { + return Optional.ofNullable(this.catalogAdogit); + } + + @Import(name="catalogGithub") + private @Nullable Output catalogGithub; + + public Optional> catalogGithub() { + return Optional.ofNullable(this.catalogGithub); + } + + @Import(name="devCenterId", required=true) + private Output devCenterId; + + public Output devCenterId() { + return this.devCenterId; + } + + @Import(name="name") + private @Nullable Output name; + + public Optional> name() { + return Optional.ofNullable(this.name); + } + + @Import(name="resourceGroupName", required=true) + private Output resourceGroupName; + + public Output resourceGroupName() { + return this.resourceGroupName; + } + + private CatalogArgs() {} + + private CatalogArgs(CatalogArgs $) { + this.catalogAdogit = $.catalogAdogit; + this.catalogGithub = $.catalogGithub; + this.devCenterId = $.devCenterId; + this.name = $.name; + this.resourceGroupName = $.resourceGroupName; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(CatalogArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private CatalogArgs $; + + public Builder() { + $ = new CatalogArgs(); + } + + public Builder(CatalogArgs defaults) { + $ = new CatalogArgs(Objects.requireNonNull(defaults)); + } + + public Builder catalogAdogit(@Nullable Output catalogAdogit) { + $.catalogAdogit = catalogAdogit; + return this; + } + + public Builder catalogAdogit(CatalogCatalogAdogitArgs catalogAdogit) { + return catalogAdogit(Output.of(catalogAdogit)); + } + + public Builder catalogGithub(@Nullable Output catalogGithub) { + $.catalogGithub = catalogGithub; + return this; + } + + public Builder catalogGithub(CatalogCatalogGithubArgs catalogGithub) { + return catalogGithub(Output.of(catalogGithub)); + } + + public Builder devCenterId(Output devCenterId) { + $.devCenterId = devCenterId; + return this; + } + + public Builder devCenterId(String devCenterId) { + return devCenterId(Output.of(devCenterId)); + } + + public Builder name(@Nullable Output name) { + $.name = name; + return this; + } + + public Builder name(String name) { + return name(Output.of(name)); + } + + public Builder resourceGroupName(Output resourceGroupName) { + $.resourceGroupName = resourceGroupName; + return this; + } + + public Builder resourceGroupName(String resourceGroupName) { + return resourceGroupName(Output.of(resourceGroupName)); + } + + public CatalogArgs build() { + if ($.devCenterId == null) { + throw new MissingRequiredPropertyException("CatalogArgs", "devCenterId"); + } + if ($.resourceGroupName == null) { + throw new MissingRequiredPropertyException("CatalogArgs", "resourceGroupName"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/azure/devcenter/inputs/CatalogCatalogAdogitArgs.java b/sdk/java/src/main/java/com/pulumi/azure/devcenter/inputs/CatalogCatalogAdogitArgs.java new file mode 100644 index 0000000000..1c4199ac5c --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/azure/devcenter/inputs/CatalogCatalogAdogitArgs.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.devcenter.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 CatalogCatalogAdogitArgs extends com.pulumi.resources.ResourceArgs { + + public static final CatalogCatalogAdogitArgs Empty = new CatalogCatalogAdogitArgs(); + + @Import(name="branch", required=true) + private Output branch; + + public Output branch() { + return this.branch; + } + + @Import(name="keyVaultKeyUrl", required=true) + private Output keyVaultKeyUrl; + + public Output keyVaultKeyUrl() { + return this.keyVaultKeyUrl; + } + + @Import(name="path", required=true) + private Output path; + + public Output path() { + return this.path; + } + + @Import(name="uri", required=true) + private Output uri; + + public Output uri() { + return this.uri; + } + + private CatalogCatalogAdogitArgs() {} + + private CatalogCatalogAdogitArgs(CatalogCatalogAdogitArgs $) { + this.branch = $.branch; + this.keyVaultKeyUrl = $.keyVaultKeyUrl; + this.path = $.path; + this.uri = $.uri; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(CatalogCatalogAdogitArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private CatalogCatalogAdogitArgs $; + + public Builder() { + $ = new CatalogCatalogAdogitArgs(); + } + + public Builder(CatalogCatalogAdogitArgs defaults) { + $ = new CatalogCatalogAdogitArgs(Objects.requireNonNull(defaults)); + } + + public Builder branch(Output branch) { + $.branch = branch; + return this; + } + + public Builder branch(String branch) { + return branch(Output.of(branch)); + } + + public Builder keyVaultKeyUrl(Output keyVaultKeyUrl) { + $.keyVaultKeyUrl = keyVaultKeyUrl; + return this; + } + + public Builder keyVaultKeyUrl(String keyVaultKeyUrl) { + return keyVaultKeyUrl(Output.of(keyVaultKeyUrl)); + } + + public Builder path(Output path) { + $.path = path; + return this; + } + + public Builder path(String path) { + return path(Output.of(path)); + } + + public Builder uri(Output uri) { + $.uri = uri; + return this; + } + + public Builder uri(String uri) { + return uri(Output.of(uri)); + } + + public CatalogCatalogAdogitArgs build() { + if ($.branch == null) { + throw new MissingRequiredPropertyException("CatalogCatalogAdogitArgs", "branch"); + } + if ($.keyVaultKeyUrl == null) { + throw new MissingRequiredPropertyException("CatalogCatalogAdogitArgs", "keyVaultKeyUrl"); + } + if ($.path == null) { + throw new MissingRequiredPropertyException("CatalogCatalogAdogitArgs", "path"); + } + if ($.uri == null) { + throw new MissingRequiredPropertyException("CatalogCatalogAdogitArgs", "uri"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/azure/devcenter/inputs/CatalogCatalogGithubArgs.java b/sdk/java/src/main/java/com/pulumi/azure/devcenter/inputs/CatalogCatalogGithubArgs.java new file mode 100644 index 0000000000..64852effda --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/azure/devcenter/inputs/CatalogCatalogGithubArgs.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.devcenter.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 CatalogCatalogGithubArgs extends com.pulumi.resources.ResourceArgs { + + public static final CatalogCatalogGithubArgs Empty = new CatalogCatalogGithubArgs(); + + @Import(name="branch", required=true) + private Output branch; + + public Output branch() { + return this.branch; + } + + @Import(name="keyVaultKeyUrl", required=true) + private Output keyVaultKeyUrl; + + public Output keyVaultKeyUrl() { + return this.keyVaultKeyUrl; + } + + @Import(name="path", required=true) + private Output path; + + public Output path() { + return this.path; + } + + @Import(name="uri", required=true) + private Output uri; + + public Output uri() { + return this.uri; + } + + private CatalogCatalogGithubArgs() {} + + private CatalogCatalogGithubArgs(CatalogCatalogGithubArgs $) { + this.branch = $.branch; + this.keyVaultKeyUrl = $.keyVaultKeyUrl; + this.path = $.path; + this.uri = $.uri; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(CatalogCatalogGithubArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private CatalogCatalogGithubArgs $; + + public Builder() { + $ = new CatalogCatalogGithubArgs(); + } + + public Builder(CatalogCatalogGithubArgs defaults) { + $ = new CatalogCatalogGithubArgs(Objects.requireNonNull(defaults)); + } + + public Builder branch(Output branch) { + $.branch = branch; + return this; + } + + public Builder branch(String branch) { + return branch(Output.of(branch)); + } + + public Builder keyVaultKeyUrl(Output keyVaultKeyUrl) { + $.keyVaultKeyUrl = keyVaultKeyUrl; + return this; + } + + public Builder keyVaultKeyUrl(String keyVaultKeyUrl) { + return keyVaultKeyUrl(Output.of(keyVaultKeyUrl)); + } + + public Builder path(Output path) { + $.path = path; + return this; + } + + public Builder path(String path) { + return path(Output.of(path)); + } + + public Builder uri(Output uri) { + $.uri = uri; + return this; + } + + public Builder uri(String uri) { + return uri(Output.of(uri)); + } + + public CatalogCatalogGithubArgs build() { + if ($.branch == null) { + throw new MissingRequiredPropertyException("CatalogCatalogGithubArgs", "branch"); + } + if ($.keyVaultKeyUrl == null) { + throw new MissingRequiredPropertyException("CatalogCatalogGithubArgs", "keyVaultKeyUrl"); + } + if ($.path == null) { + throw new MissingRequiredPropertyException("CatalogCatalogGithubArgs", "path"); + } + if ($.uri == null) { + throw new MissingRequiredPropertyException("CatalogCatalogGithubArgs", "uri"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/azure/devcenter/inputs/CatalogState.java b/sdk/java/src/main/java/com/pulumi/azure/devcenter/inputs/CatalogState.java new file mode 100644 index 0000000000..fd085458c9 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/azure/devcenter/inputs/CatalogState.java @@ -0,0 +1,133 @@ +// *** 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.devcenter.inputs; + +import com.pulumi.azure.devcenter.inputs.CatalogCatalogAdogitArgs; +import com.pulumi.azure.devcenter.inputs.CatalogCatalogGithubArgs; +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 CatalogState extends com.pulumi.resources.ResourceArgs { + + public static final CatalogState Empty = new CatalogState(); + + @Import(name="catalogAdogit") + private @Nullable Output catalogAdogit; + + public Optional> catalogAdogit() { + return Optional.ofNullable(this.catalogAdogit); + } + + @Import(name="catalogGithub") + private @Nullable Output catalogGithub; + + public Optional> catalogGithub() { + return Optional.ofNullable(this.catalogGithub); + } + + @Import(name="devCenterId") + private @Nullable Output devCenterId; + + public Optional> devCenterId() { + return Optional.ofNullable(this.devCenterId); + } + + @Import(name="name") + private @Nullable Output name; + + public Optional> name() { + return Optional.ofNullable(this.name); + } + + @Import(name="resourceGroupName") + private @Nullable Output resourceGroupName; + + public Optional> resourceGroupName() { + return Optional.ofNullable(this.resourceGroupName); + } + + private CatalogState() {} + + private CatalogState(CatalogState $) { + this.catalogAdogit = $.catalogAdogit; + this.catalogGithub = $.catalogGithub; + this.devCenterId = $.devCenterId; + this.name = $.name; + this.resourceGroupName = $.resourceGroupName; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(CatalogState defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private CatalogState $; + + public Builder() { + $ = new CatalogState(); + } + + public Builder(CatalogState defaults) { + $ = new CatalogState(Objects.requireNonNull(defaults)); + } + + public Builder catalogAdogit(@Nullable Output catalogAdogit) { + $.catalogAdogit = catalogAdogit; + return this; + } + + public Builder catalogAdogit(CatalogCatalogAdogitArgs catalogAdogit) { + return catalogAdogit(Output.of(catalogAdogit)); + } + + public Builder catalogGithub(@Nullable Output catalogGithub) { + $.catalogGithub = catalogGithub; + return this; + } + + public Builder catalogGithub(CatalogCatalogGithubArgs catalogGithub) { + return catalogGithub(Output.of(catalogGithub)); + } + + public Builder devCenterId(@Nullable Output devCenterId) { + $.devCenterId = devCenterId; + return this; + } + + public Builder devCenterId(String devCenterId) { + return devCenterId(Output.of(devCenterId)); + } + + public Builder name(@Nullable Output name) { + $.name = name; + return this; + } + + public Builder name(String name) { + return name(Output.of(name)); + } + + public Builder resourceGroupName(@Nullable Output resourceGroupName) { + $.resourceGroupName = resourceGroupName; + return this; + } + + public Builder resourceGroupName(String resourceGroupName) { + return resourceGroupName(Output.of(resourceGroupName)); + } + + public CatalogState build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/azure/devcenter/outputs/CatalogCatalogAdogit.java b/sdk/java/src/main/java/com/pulumi/azure/devcenter/outputs/CatalogCatalogAdogit.java new file mode 100644 index 0000000000..cfd41fafc4 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/azure/devcenter/outputs/CatalogCatalogAdogit.java @@ -0,0 +1,95 @@ +// *** 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.devcenter.outputs; + +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class CatalogCatalogAdogit { + private String branch; + private String keyVaultKeyUrl; + private String path; + private String uri; + + private CatalogCatalogAdogit() {} + public String branch() { + return this.branch; + } + public String keyVaultKeyUrl() { + return this.keyVaultKeyUrl; + } + public String path() { + return this.path; + } + public String uri() { + return this.uri; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(CatalogCatalogAdogit defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String branch; + private String keyVaultKeyUrl; + private String path; + private String uri; + public Builder() {} + public Builder(CatalogCatalogAdogit defaults) { + Objects.requireNonNull(defaults); + this.branch = defaults.branch; + this.keyVaultKeyUrl = defaults.keyVaultKeyUrl; + this.path = defaults.path; + this.uri = defaults.uri; + } + + @CustomType.Setter + public Builder branch(String branch) { + if (branch == null) { + throw new MissingRequiredPropertyException("CatalogCatalogAdogit", "branch"); + } + this.branch = branch; + return this; + } + @CustomType.Setter + public Builder keyVaultKeyUrl(String keyVaultKeyUrl) { + if (keyVaultKeyUrl == null) { + throw new MissingRequiredPropertyException("CatalogCatalogAdogit", "keyVaultKeyUrl"); + } + this.keyVaultKeyUrl = keyVaultKeyUrl; + return this; + } + @CustomType.Setter + public Builder path(String path) { + if (path == null) { + throw new MissingRequiredPropertyException("CatalogCatalogAdogit", "path"); + } + this.path = path; + return this; + } + @CustomType.Setter + public Builder uri(String uri) { + if (uri == null) { + throw new MissingRequiredPropertyException("CatalogCatalogAdogit", "uri"); + } + this.uri = uri; + return this; + } + public CatalogCatalogAdogit build() { + final var _resultValue = new CatalogCatalogAdogit(); + _resultValue.branch = branch; + _resultValue.keyVaultKeyUrl = keyVaultKeyUrl; + _resultValue.path = path; + _resultValue.uri = uri; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/azure/devcenter/outputs/CatalogCatalogGithub.java b/sdk/java/src/main/java/com/pulumi/azure/devcenter/outputs/CatalogCatalogGithub.java new file mode 100644 index 0000000000..7ed87c1ba2 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/azure/devcenter/outputs/CatalogCatalogGithub.java @@ -0,0 +1,95 @@ +// *** 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.devcenter.outputs; + +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class CatalogCatalogGithub { + private String branch; + private String keyVaultKeyUrl; + private String path; + private String uri; + + private CatalogCatalogGithub() {} + public String branch() { + return this.branch; + } + public String keyVaultKeyUrl() { + return this.keyVaultKeyUrl; + } + public String path() { + return this.path; + } + public String uri() { + return this.uri; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(CatalogCatalogGithub defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String branch; + private String keyVaultKeyUrl; + private String path; + private String uri; + public Builder() {} + public Builder(CatalogCatalogGithub defaults) { + Objects.requireNonNull(defaults); + this.branch = defaults.branch; + this.keyVaultKeyUrl = defaults.keyVaultKeyUrl; + this.path = defaults.path; + this.uri = defaults.uri; + } + + @CustomType.Setter + public Builder branch(String branch) { + if (branch == null) { + throw new MissingRequiredPropertyException("CatalogCatalogGithub", "branch"); + } + this.branch = branch; + return this; + } + @CustomType.Setter + public Builder keyVaultKeyUrl(String keyVaultKeyUrl) { + if (keyVaultKeyUrl == null) { + throw new MissingRequiredPropertyException("CatalogCatalogGithub", "keyVaultKeyUrl"); + } + this.keyVaultKeyUrl = keyVaultKeyUrl; + return this; + } + @CustomType.Setter + public Builder path(String path) { + if (path == null) { + throw new MissingRequiredPropertyException("CatalogCatalogGithub", "path"); + } + this.path = path; + return this; + } + @CustomType.Setter + public Builder uri(String uri) { + if (uri == null) { + throw new MissingRequiredPropertyException("CatalogCatalogGithub", "uri"); + } + this.uri = uri; + return this; + } + public CatalogCatalogGithub build() { + final var _resultValue = new CatalogCatalogGithub(); + _resultValue.branch = branch; + _resultValue.keyVaultKeyUrl = keyVaultKeyUrl; + _resultValue.path = path; + _resultValue.uri = uri; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/azure/eventhub/Namespace.java b/sdk/java/src/main/java/com/pulumi/azure/eventhub/Namespace.java index 2b2f135554..bfdfe14f6c 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/eventhub/Namespace.java +++ b/sdk/java/src/main/java/com/pulumi/azure/eventhub/Namespace.java @@ -262,6 +262,24 @@ public Output name() { public Output networkRuleSet() { return this.networkRuleSet; } + /** + * Specifies the number messaging partitions. Only valid when `sku` is `Premium` and the minimum number is `1`. Possible values include `0`, `1`, `2`, and `4`. Defaults to `0` for Standard, Basic namespace. Changing this forces a new resource to be created. + * + * > **Note:** It's not possible to change the partitioning option on any existing namespace. The number of partitions can only be set during namespace creation. Please check the doc https://learn.microsoft.com/en-us/azure/service-bus-messaging/enable-partitions-premium for more feature restrictions. + * + */ + @Export(name="premiumMessagingPartitions", refs={Integer.class}, tree="[0]") + private Output premiumMessagingPartitions; + + /** + * @return Specifies the number messaging partitions. Only valid when `sku` is `Premium` and the minimum number is `1`. Possible values include `0`, `1`, `2`, and `4`. Defaults to `0` for Standard, Basic namespace. Changing this forces a new resource to be created. + * + * > **Note:** It's not possible to change the partitioning option on any existing namespace. The number of partitions can only be set during namespace creation. Please check the doc https://learn.microsoft.com/en-us/azure/service-bus-messaging/enable-partitions-premium for more feature restrictions. + * + */ + public Output> premiumMessagingPartitions() { + return Codegen.optional(this.premiumMessagingPartitions); + } /** * Is public network access enabled for the Service Bus Namespace? Defaults to `true`. * diff --git a/sdk/java/src/main/java/com/pulumi/azure/eventhub/NamespaceArgs.java b/sdk/java/src/main/java/com/pulumi/azure/eventhub/NamespaceArgs.java index e3e2a7784a..3f2b39a17b 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/eventhub/NamespaceArgs.java +++ b/sdk/java/src/main/java/com/pulumi/azure/eventhub/NamespaceArgs.java @@ -142,6 +142,25 @@ public Optional> networkRuleSet() { return Optional.ofNullable(this.networkRuleSet); } + /** + * Specifies the number messaging partitions. Only valid when `sku` is `Premium` and the minimum number is `1`. Possible values include `0`, `1`, `2`, and `4`. Defaults to `0` for Standard, Basic namespace. Changing this forces a new resource to be created. + * + * > **Note:** It's not possible to change the partitioning option on any existing namespace. The number of partitions can only be set during namespace creation. Please check the doc https://learn.microsoft.com/en-us/azure/service-bus-messaging/enable-partitions-premium for more feature restrictions. + * + */ + @Import(name="premiumMessagingPartitions") + private @Nullable Output premiumMessagingPartitions; + + /** + * @return Specifies the number messaging partitions. Only valid when `sku` is `Premium` and the minimum number is `1`. Possible values include `0`, `1`, `2`, and `4`. Defaults to `0` for Standard, Basic namespace. Changing this forces a new resource to be created. + * + * > **Note:** It's not possible to change the partitioning option on any existing namespace. The number of partitions can only be set during namespace creation. Please check the doc https://learn.microsoft.com/en-us/azure/service-bus-messaging/enable-partitions-premium for more feature restrictions. + * + */ + public Optional> premiumMessagingPartitions() { + return Optional.ofNullable(this.premiumMessagingPartitions); + } + /** * Is public network access enabled for the Service Bus Namespace? Defaults to `true`. * @@ -230,6 +249,7 @@ private NamespaceArgs(NamespaceArgs $) { this.minimumTlsVersion = $.minimumTlsVersion; this.name = $.name; this.networkRuleSet = $.networkRuleSet; + this.premiumMessagingPartitions = $.premiumMessagingPartitions; this.publicNetworkAccessEnabled = $.publicNetworkAccessEnabled; this.resourceGroupName = $.resourceGroupName; this.sku = $.sku; @@ -423,6 +443,31 @@ public Builder networkRuleSet(NamespaceNetworkRuleSetArgs networkRuleSet) { return networkRuleSet(Output.of(networkRuleSet)); } + /** + * @param premiumMessagingPartitions Specifies the number messaging partitions. Only valid when `sku` is `Premium` and the minimum number is `1`. Possible values include `0`, `1`, `2`, and `4`. Defaults to `0` for Standard, Basic namespace. Changing this forces a new resource to be created. + * + * > **Note:** It's not possible to change the partitioning option on any existing namespace. The number of partitions can only be set during namespace creation. Please check the doc https://learn.microsoft.com/en-us/azure/service-bus-messaging/enable-partitions-premium for more feature restrictions. + * + * @return builder + * + */ + public Builder premiumMessagingPartitions(@Nullable Output premiumMessagingPartitions) { + $.premiumMessagingPartitions = premiumMessagingPartitions; + return this; + } + + /** + * @param premiumMessagingPartitions Specifies the number messaging partitions. Only valid when `sku` is `Premium` and the minimum number is `1`. Possible values include `0`, `1`, `2`, and `4`. Defaults to `0` for Standard, Basic namespace. Changing this forces a new resource to be created. + * + * > **Note:** It's not possible to change the partitioning option on any existing namespace. The number of partitions can only be set during namespace creation. Please check the doc https://learn.microsoft.com/en-us/azure/service-bus-messaging/enable-partitions-premium for more feature restrictions. + * + * @return builder + * + */ + public Builder premiumMessagingPartitions(Integer premiumMessagingPartitions) { + return premiumMessagingPartitions(Output.of(premiumMessagingPartitions)); + } + /** * @param publicNetworkAccessEnabled Is public network access enabled for the Service Bus Namespace? Defaults to `true`. * diff --git a/sdk/java/src/main/java/com/pulumi/azure/eventhub/Topic.java b/sdk/java/src/main/java/com/pulumi/azure/eventhub/Topic.java index 0983803155..0cf7b1f381 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/eventhub/Topic.java +++ b/sdk/java/src/main/java/com/pulumi/azure/eventhub/Topic.java @@ -236,18 +236,14 @@ public Output namespaceName() { return this.namespaceName; } /** - * Boolean flag which controls whether Changing this forces a new resource to be created. - * the Topic requires duplicate detection. Defaults to false. Changing this forces - * a new resource to be created. + * Boolean flag which controls whether the Topic requires duplicate detection. Defaults to false. Changing this forcesa new resource to be created. * */ @Export(name="requiresDuplicateDetection", refs={Boolean.class}, tree="[0]") private Output requiresDuplicateDetection; /** - * @return Boolean flag which controls whether Changing this forces a new resource to be created. - * the Topic requires duplicate detection. Defaults to false. Changing this forces - * a new resource to be created. + * @return Boolean flag which controls whether the Topic requires duplicate detection. Defaults to false. Changing this forcesa new resource to be created. * */ public Output> requiresDuplicateDetection() { diff --git a/sdk/java/src/main/java/com/pulumi/azure/eventhub/TopicArgs.java b/sdk/java/src/main/java/com/pulumi/azure/eventhub/TopicArgs.java index 5a3581cc51..495e4147f5 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/eventhub/TopicArgs.java +++ b/sdk/java/src/main/java/com/pulumi/azure/eventhub/TopicArgs.java @@ -173,18 +173,14 @@ public Output namespaceId() { } /** - * Boolean flag which controls whether Changing this forces a new resource to be created. - * the Topic requires duplicate detection. Defaults to false. Changing this forces - * a new resource to be created. + * Boolean flag which controls whether the Topic requires duplicate detection. Defaults to false. Changing this forcesa new resource to be created. * */ @Import(name="requiresDuplicateDetection") private @Nullable Output requiresDuplicateDetection; /** - * @return Boolean flag which controls whether Changing this forces a new resource to be created. - * the Topic requires duplicate detection. Defaults to false. Changing this forces - * a new resource to be created. + * @return Boolean flag which controls whether the Topic requires duplicate detection. Defaults to false. Changing this forcesa new resource to be created. * */ public Optional> requiresDuplicateDetection() { @@ -472,9 +468,7 @@ public Builder namespaceId(String namespaceId) { } /** - * @param requiresDuplicateDetection Boolean flag which controls whether Changing this forces a new resource to be created. - * the Topic requires duplicate detection. Defaults to false. Changing this forces - * a new resource to be created. + * @param requiresDuplicateDetection Boolean flag which controls whether the Topic requires duplicate detection. Defaults to false. Changing this forcesa new resource to be created. * * @return builder * @@ -485,9 +479,7 @@ public Builder requiresDuplicateDetection(@Nullable Output requiresDupl } /** - * @param requiresDuplicateDetection Boolean flag which controls whether Changing this forces a new resource to be created. - * the Topic requires duplicate detection. Defaults to false. Changing this forces - * a new resource to be created. + * @param requiresDuplicateDetection Boolean flag which controls whether the Topic requires duplicate detection. Defaults to false. Changing this forcesa new resource to be created. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/azure/eventhub/inputs/NamespaceState.java b/sdk/java/src/main/java/com/pulumi/azure/eventhub/inputs/NamespaceState.java index 5b5f7e5bc5..98ea91130c 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/eventhub/inputs/NamespaceState.java +++ b/sdk/java/src/main/java/com/pulumi/azure/eventhub/inputs/NamespaceState.java @@ -216,6 +216,25 @@ public Optional> networkRuleSet() { return Optional.ofNullable(this.networkRuleSet); } + /** + * Specifies the number messaging partitions. Only valid when `sku` is `Premium` and the minimum number is `1`. Possible values include `0`, `1`, `2`, and `4`. Defaults to `0` for Standard, Basic namespace. Changing this forces a new resource to be created. + * + * > **Note:** It's not possible to change the partitioning option on any existing namespace. The number of partitions can only be set during namespace creation. Please check the doc https://learn.microsoft.com/en-us/azure/service-bus-messaging/enable-partitions-premium for more feature restrictions. + * + */ + @Import(name="premiumMessagingPartitions") + private @Nullable Output premiumMessagingPartitions; + + /** + * @return Specifies the number messaging partitions. Only valid when `sku` is `Premium` and the minimum number is `1`. Possible values include `0`, `1`, `2`, and `4`. Defaults to `0` for Standard, Basic namespace. Changing this forces a new resource to be created. + * + * > **Note:** It's not possible to change the partitioning option on any existing namespace. The number of partitions can only be set during namespace creation. Please check the doc https://learn.microsoft.com/en-us/azure/service-bus-messaging/enable-partitions-premium for more feature restrictions. + * + */ + public Optional> premiumMessagingPartitions() { + return Optional.ofNullable(this.premiumMessagingPartitions); + } + /** * Is public network access enabled for the Service Bus Namespace? Defaults to `true`. * @@ -309,6 +328,7 @@ private NamespaceState(NamespaceState $) { this.minimumTlsVersion = $.minimumTlsVersion; this.name = $.name; this.networkRuleSet = $.networkRuleSet; + this.premiumMessagingPartitions = $.premiumMessagingPartitions; this.publicNetworkAccessEnabled = $.publicNetworkAccessEnabled; this.resourceGroupName = $.resourceGroupName; this.sku = $.sku; @@ -607,6 +627,31 @@ public Builder networkRuleSet(NamespaceNetworkRuleSetArgs networkRuleSet) { return networkRuleSet(Output.of(networkRuleSet)); } + /** + * @param premiumMessagingPartitions Specifies the number messaging partitions. Only valid when `sku` is `Premium` and the minimum number is `1`. Possible values include `0`, `1`, `2`, and `4`. Defaults to `0` for Standard, Basic namespace. Changing this forces a new resource to be created. + * + * > **Note:** It's not possible to change the partitioning option on any existing namespace. The number of partitions can only be set during namespace creation. Please check the doc https://learn.microsoft.com/en-us/azure/service-bus-messaging/enable-partitions-premium for more feature restrictions. + * + * @return builder + * + */ + public Builder premiumMessagingPartitions(@Nullable Output premiumMessagingPartitions) { + $.premiumMessagingPartitions = premiumMessagingPartitions; + return this; + } + + /** + * @param premiumMessagingPartitions Specifies the number messaging partitions. Only valid when `sku` is `Premium` and the minimum number is `1`. Possible values include `0`, `1`, `2`, and `4`. Defaults to `0` for Standard, Basic namespace. Changing this forces a new resource to be created. + * + * > **Note:** It's not possible to change the partitioning option on any existing namespace. The number of partitions can only be set during namespace creation. Please check the doc https://learn.microsoft.com/en-us/azure/service-bus-messaging/enable-partitions-premium for more feature restrictions. + * + * @return builder + * + */ + public Builder premiumMessagingPartitions(Integer premiumMessagingPartitions) { + return premiumMessagingPartitions(Output.of(premiumMessagingPartitions)); + } + /** * @param publicNetworkAccessEnabled Is public network access enabled for the Service Bus Namespace? Defaults to `true`. * diff --git a/sdk/java/src/main/java/com/pulumi/azure/eventhub/inputs/TopicState.java b/sdk/java/src/main/java/com/pulumi/azure/eventhub/inputs/TopicState.java index a83781b42d..81effb4fe9 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/eventhub/inputs/TopicState.java +++ b/sdk/java/src/main/java/com/pulumi/azure/eventhub/inputs/TopicState.java @@ -179,18 +179,14 @@ public Optional> namespaceName() { } /** - * Boolean flag which controls whether Changing this forces a new resource to be created. - * the Topic requires duplicate detection. Defaults to false. Changing this forces - * a new resource to be created. + * Boolean flag which controls whether the Topic requires duplicate detection. Defaults to false. Changing this forcesa new resource to be created. * */ @Import(name="requiresDuplicateDetection") private @Nullable Output requiresDuplicateDetection; /** - * @return Boolean flag which controls whether Changing this forces a new resource to be created. - * the Topic requires duplicate detection. Defaults to false. Changing this forces - * a new resource to be created. + * @return Boolean flag which controls whether the Topic requires duplicate detection. Defaults to false. Changing this forcesa new resource to be created. * */ public Optional> requiresDuplicateDetection() { @@ -496,9 +492,7 @@ public Builder namespaceName(String namespaceName) { } /** - * @param requiresDuplicateDetection Boolean flag which controls whether Changing this forces a new resource to be created. - * the Topic requires duplicate detection. Defaults to false. Changing this forces - * a new resource to be created. + * @param requiresDuplicateDetection Boolean flag which controls whether the Topic requires duplicate detection. Defaults to false. Changing this forcesa new resource to be created. * * @return builder * @@ -509,9 +503,7 @@ public Builder requiresDuplicateDetection(@Nullable Output requiresDupl } /** - * @param requiresDuplicateDetection Boolean flag which controls whether Changing this forces a new resource to be created. - * the Topic requires duplicate detection. Defaults to false. Changing this forces - * a new resource to be created. + * @param requiresDuplicateDetection Boolean flag which controls whether the Topic requires duplicate detection. Defaults to false. Changing this forcesa new resource to be created. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/azure/eventhub/outputs/GetServiceBusNamespaceResult.java b/sdk/java/src/main/java/com/pulumi/azure/eventhub/outputs/GetServiceBusNamespaceResult.java index 6ded30d496..143e063947 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/eventhub/outputs/GetServiceBusNamespaceResult.java +++ b/sdk/java/src/main/java/com/pulumi/azure/eventhub/outputs/GetServiceBusNamespaceResult.java @@ -56,6 +56,11 @@ public final class GetServiceBusNamespaceResult { */ private String location; private String name; + /** + * @return The messaging partitions of the ServiceBus Namespace. + * + */ + private Integer premiumMessagingPartitions; private String resourceGroupName; /** * @return The Tier used for the ServiceBus Namespace. @@ -135,6 +140,13 @@ public String location() { public String name() { return this.name; } + /** + * @return The messaging partitions of the ServiceBus Namespace. + * + */ + public Integer premiumMessagingPartitions() { + return this.premiumMessagingPartitions; + } public String resourceGroupName() { return this.resourceGroupName; } @@ -178,6 +190,7 @@ public static final class Builder { private String id; private String location; private String name; + private Integer premiumMessagingPartitions; private String resourceGroupName; private String sku; private Map tags; @@ -194,6 +207,7 @@ public Builder(GetServiceBusNamespaceResult defaults) { this.id = defaults.id; this.location = defaults.location; this.name = defaults.name; + this.premiumMessagingPartitions = defaults.premiumMessagingPartitions; this.resourceGroupName = defaults.resourceGroupName; this.sku = defaults.sku; this.tags = defaults.tags; @@ -273,6 +287,14 @@ public Builder name(String name) { return this; } @CustomType.Setter + public Builder premiumMessagingPartitions(Integer premiumMessagingPartitions) { + if (premiumMessagingPartitions == null) { + throw new MissingRequiredPropertyException("GetServiceBusNamespaceResult", "premiumMessagingPartitions"); + } + this.premiumMessagingPartitions = premiumMessagingPartitions; + return this; + } + @CustomType.Setter public Builder resourceGroupName(String resourceGroupName) { if (resourceGroupName == null) { throw new MissingRequiredPropertyException("GetServiceBusNamespaceResult", "resourceGroupName"); @@ -315,6 +337,7 @@ public GetServiceBusNamespaceResult build() { _resultValue.id = id; _resultValue.location = location; _resultValue.name = name; + _resultValue.premiumMessagingPartitions = premiumMessagingPartitions; _resultValue.resourceGroupName = resourceGroupName; _resultValue.sku = sku; _resultValue.tags = tags; diff --git a/sdk/java/src/main/java/com/pulumi/azure/expressroute/ExpressrouteFunctions.java b/sdk/java/src/main/java/com/pulumi/azure/expressroute/ExpressrouteFunctions.java new file mode 100644 index 0000000000..ff06c04877 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/azure/expressroute/ExpressrouteFunctions.java @@ -0,0 +1,181 @@ +// *** 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.expressroute; + +import com.pulumi.azure.Utilities; +import com.pulumi.azure.expressroute.inputs.GetCircuitPeeringArgs; +import com.pulumi.azure.expressroute.inputs.GetCircuitPeeringPlainArgs; +import com.pulumi.azure.expressroute.outputs.GetCircuitPeeringResult; +import com.pulumi.core.Output; +import com.pulumi.core.TypeShape; +import com.pulumi.deployment.Deployment; +import com.pulumi.deployment.InvokeOptions; +import java.util.concurrent.CompletableFuture; + +public final class ExpressrouteFunctions { + /** + * Manages an ExpressRoute Circuit Peering. + * + * ## Example Usage + * ### Creating A Microsoft Peering) + * + * ```java + * package generated_program; + * + * import com.pulumi.Context; + * import com.pulumi.Pulumi; + * import com.pulumi.core.Output; + * import com.pulumi.azure.expressroute.ExpressrouteFunctions; + * import com.pulumi.azure.expressroute.inputs.GetCircuitPeeringArgs; + * 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 = ExpressrouteFunctions.getCircuitPeering(GetCircuitPeeringArgs.builder() + * .name("example-peering") + * .expressRouteCircuitName("example-expressroute") + * .resourceGroupName("example-resources") + * .build()); + * + * } + * } + * ``` + * + */ + public static Output getCircuitPeering(GetCircuitPeeringArgs args) { + return getCircuitPeering(args, InvokeOptions.Empty); + } + /** + * Manages an ExpressRoute Circuit Peering. + * + * ## Example Usage + * ### Creating A Microsoft Peering) + * + * ```java + * package generated_program; + * + * import com.pulumi.Context; + * import com.pulumi.Pulumi; + * import com.pulumi.core.Output; + * import com.pulumi.azure.expressroute.ExpressrouteFunctions; + * import com.pulumi.azure.expressroute.inputs.GetCircuitPeeringArgs; + * 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 = ExpressrouteFunctions.getCircuitPeering(GetCircuitPeeringArgs.builder() + * .name("example-peering") + * .expressRouteCircuitName("example-expressroute") + * .resourceGroupName("example-resources") + * .build()); + * + * } + * } + * ``` + * + */ + public static CompletableFuture getCircuitPeeringPlain(GetCircuitPeeringPlainArgs args) { + return getCircuitPeeringPlain(args, InvokeOptions.Empty); + } + /** + * Manages an ExpressRoute Circuit Peering. + * + * ## Example Usage + * ### Creating A Microsoft Peering) + * + * ```java + * package generated_program; + * + * import com.pulumi.Context; + * import com.pulumi.Pulumi; + * import com.pulumi.core.Output; + * import com.pulumi.azure.expressroute.ExpressrouteFunctions; + * import com.pulumi.azure.expressroute.inputs.GetCircuitPeeringArgs; + * 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 = ExpressrouteFunctions.getCircuitPeering(GetCircuitPeeringArgs.builder() + * .name("example-peering") + * .expressRouteCircuitName("example-expressroute") + * .resourceGroupName("example-resources") + * .build()); + * + * } + * } + * ``` + * + */ + public static Output getCircuitPeering(GetCircuitPeeringArgs args, InvokeOptions options) { + return Deployment.getInstance().invoke("azure:expressroute/getCircuitPeering:getCircuitPeering", TypeShape.of(GetCircuitPeeringResult.class), args, Utilities.withVersion(options)); + } + /** + * Manages an ExpressRoute Circuit Peering. + * + * ## Example Usage + * ### Creating A Microsoft Peering) + * + * ```java + * package generated_program; + * + * import com.pulumi.Context; + * import com.pulumi.Pulumi; + * import com.pulumi.core.Output; + * import com.pulumi.azure.expressroute.ExpressrouteFunctions; + * import com.pulumi.azure.expressroute.inputs.GetCircuitPeeringArgs; + * 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 = ExpressrouteFunctions.getCircuitPeering(GetCircuitPeeringArgs.builder() + * .name("example-peering") + * .expressRouteCircuitName("example-expressroute") + * .resourceGroupName("example-resources") + * .build()); + * + * } + * } + * ``` + * + */ + public static CompletableFuture getCircuitPeeringPlain(GetCircuitPeeringPlainArgs args, InvokeOptions options) { + return Deployment.getInstance().invokeAsync("azure:expressroute/getCircuitPeering:getCircuitPeering", TypeShape.of(GetCircuitPeeringResult.class), args, Utilities.withVersion(options)); + } +} diff --git a/sdk/java/src/main/java/com/pulumi/azure/expressroute/inputs/GetCircuitPeeringArgs.java b/sdk/java/src/main/java/com/pulumi/azure/expressroute/inputs/GetCircuitPeeringArgs.java new file mode 100644 index 0000000000..48fc15358a --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/azure/expressroute/inputs/GetCircuitPeeringArgs.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.expressroute.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 GetCircuitPeeringArgs extends com.pulumi.resources.InvokeArgs { + + public static final GetCircuitPeeringArgs Empty = new GetCircuitPeeringArgs(); + + /** + * The name of the ExpressRoute Circuit in which to create the Peering. Changing this forces a new resource to be created. + * + */ + @Import(name="expressRouteCircuitName", required=true) + private Output expressRouteCircuitName; + + /** + * @return The name of the ExpressRoute Circuit in which to create the Peering. Changing this forces a new resource to be created. + * + */ + public Output expressRouteCircuitName() { + return this.expressRouteCircuitName; + } + + /** + * The type of the ExpressRoute Circuit Peering. Acceptable values include `AzurePrivatePeering`, `AzurePublicPeering` and `MicrosoftPeering`. + * + */ + @Import(name="peeringType", required=true) + private Output peeringType; + + /** + * @return The type of the ExpressRoute Circuit Peering. Acceptable values include `AzurePrivatePeering`, `AzurePublicPeering` and `MicrosoftPeering`. + * + */ + public Output peeringType() { + return this.peeringType; + } + + /** + * The name of the resource group in which to create the Express Route Circuit Peering. Changing this forces a new resource to be created. + * + */ + @Import(name="resourceGroupName", required=true) + private Output resourceGroupName; + + /** + * @return The name of the resource group in which to create the Express Route Circuit Peering. Changing this forces a new resource to be created. + * + */ + public Output resourceGroupName() { + return this.resourceGroupName; + } + + private GetCircuitPeeringArgs() {} + + private GetCircuitPeeringArgs(GetCircuitPeeringArgs $) { + this.expressRouteCircuitName = $.expressRouteCircuitName; + this.peeringType = $.peeringType; + this.resourceGroupName = $.resourceGroupName; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(GetCircuitPeeringArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private GetCircuitPeeringArgs $; + + public Builder() { + $ = new GetCircuitPeeringArgs(); + } + + public Builder(GetCircuitPeeringArgs defaults) { + $ = new GetCircuitPeeringArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param expressRouteCircuitName The name of the ExpressRoute Circuit in which to create the Peering. Changing this forces a new resource to be created. + * + * @return builder + * + */ + public Builder expressRouteCircuitName(Output expressRouteCircuitName) { + $.expressRouteCircuitName = expressRouteCircuitName; + return this; + } + + /** + * @param expressRouteCircuitName The name of the ExpressRoute Circuit in which to create the Peering. Changing this forces a new resource to be created. + * + * @return builder + * + */ + public Builder expressRouteCircuitName(String expressRouteCircuitName) { + return expressRouteCircuitName(Output.of(expressRouteCircuitName)); + } + + /** + * @param peeringType The type of the ExpressRoute Circuit Peering. Acceptable values include `AzurePrivatePeering`, `AzurePublicPeering` and `MicrosoftPeering`. + * + * @return builder + * + */ + public Builder peeringType(Output peeringType) { + $.peeringType = peeringType; + return this; + } + + /** + * @param peeringType The type of the ExpressRoute Circuit Peering. Acceptable values include `AzurePrivatePeering`, `AzurePublicPeering` and `MicrosoftPeering`. + * + * @return builder + * + */ + public Builder peeringType(String peeringType) { + return peeringType(Output.of(peeringType)); + } + + /** + * @param resourceGroupName The name of the resource group in which to create the Express Route Circuit Peering. 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 in which to create the Express Route Circuit Peering. Changing this forces a new resource to be created. + * + * @return builder + * + */ + public Builder resourceGroupName(String resourceGroupName) { + return resourceGroupName(Output.of(resourceGroupName)); + } + + public GetCircuitPeeringArgs build() { + if ($.expressRouteCircuitName == null) { + throw new MissingRequiredPropertyException("GetCircuitPeeringArgs", "expressRouteCircuitName"); + } + if ($.peeringType == null) { + throw new MissingRequiredPropertyException("GetCircuitPeeringArgs", "peeringType"); + } + if ($.resourceGroupName == null) { + throw new MissingRequiredPropertyException("GetCircuitPeeringArgs", "resourceGroupName"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/azure/expressroute/inputs/GetCircuitPeeringPlainArgs.java b/sdk/java/src/main/java/com/pulumi/azure/expressroute/inputs/GetCircuitPeeringPlainArgs.java new file mode 100644 index 0000000000..e5566ce33d --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/azure/expressroute/inputs/GetCircuitPeeringPlainArgs.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.expressroute.inputs; + +import com.pulumi.core.annotations.Import; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.Objects; + + +public final class GetCircuitPeeringPlainArgs extends com.pulumi.resources.InvokeArgs { + + public static final GetCircuitPeeringPlainArgs Empty = new GetCircuitPeeringPlainArgs(); + + /** + * The name of the ExpressRoute Circuit in which to create the Peering. Changing this forces a new resource to be created. + * + */ + @Import(name="expressRouteCircuitName", required=true) + private String expressRouteCircuitName; + + /** + * @return The name of the ExpressRoute Circuit in which to create the Peering. Changing this forces a new resource to be created. + * + */ + public String expressRouteCircuitName() { + return this.expressRouteCircuitName; + } + + /** + * The type of the ExpressRoute Circuit Peering. Acceptable values include `AzurePrivatePeering`, `AzurePublicPeering` and `MicrosoftPeering`. + * + */ + @Import(name="peeringType", required=true) + private String peeringType; + + /** + * @return The type of the ExpressRoute Circuit Peering. Acceptable values include `AzurePrivatePeering`, `AzurePublicPeering` and `MicrosoftPeering`. + * + */ + public String peeringType() { + return this.peeringType; + } + + /** + * The name of the resource group in which to create the Express Route Circuit Peering. Changing this forces a new resource to be created. + * + */ + @Import(name="resourceGroupName", required=true) + private String resourceGroupName; + + /** + * @return The name of the resource group in which to create the Express Route Circuit Peering. Changing this forces a new resource to be created. + * + */ + public String resourceGroupName() { + return this.resourceGroupName; + } + + private GetCircuitPeeringPlainArgs() {} + + private GetCircuitPeeringPlainArgs(GetCircuitPeeringPlainArgs $) { + this.expressRouteCircuitName = $.expressRouteCircuitName; + this.peeringType = $.peeringType; + this.resourceGroupName = $.resourceGroupName; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(GetCircuitPeeringPlainArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private GetCircuitPeeringPlainArgs $; + + public Builder() { + $ = new GetCircuitPeeringPlainArgs(); + } + + public Builder(GetCircuitPeeringPlainArgs defaults) { + $ = new GetCircuitPeeringPlainArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param expressRouteCircuitName The name of the ExpressRoute Circuit in which to create the Peering. Changing this forces a new resource to be created. + * + * @return builder + * + */ + public Builder expressRouteCircuitName(String expressRouteCircuitName) { + $.expressRouteCircuitName = expressRouteCircuitName; + return this; + } + + /** + * @param peeringType The type of the ExpressRoute Circuit Peering. Acceptable values include `AzurePrivatePeering`, `AzurePublicPeering` and `MicrosoftPeering`. + * + * @return builder + * + */ + public Builder peeringType(String peeringType) { + $.peeringType = peeringType; + return this; + } + + /** + * @param resourceGroupName The name of the resource group in which to create the Express Route Circuit Peering. Changing this forces a new resource to be created. + * + * @return builder + * + */ + public Builder resourceGroupName(String resourceGroupName) { + $.resourceGroupName = resourceGroupName; + return this; + } + + public GetCircuitPeeringPlainArgs build() { + if ($.expressRouteCircuitName == null) { + throw new MissingRequiredPropertyException("GetCircuitPeeringPlainArgs", "expressRouteCircuitName"); + } + if ($.peeringType == null) { + throw new MissingRequiredPropertyException("GetCircuitPeeringPlainArgs", "peeringType"); + } + if ($.resourceGroupName == null) { + throw new MissingRequiredPropertyException("GetCircuitPeeringPlainArgs", "resourceGroupName"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/azure/expressroute/outputs/GetCircuitPeeringResult.java b/sdk/java/src/main/java/com/pulumi/azure/expressroute/outputs/GetCircuitPeeringResult.java new file mode 100644 index 0000000000..7192d5389c --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/azure/expressroute/outputs/GetCircuitPeeringResult.java @@ -0,0 +1,334 @@ +// *** 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.expressroute.outputs; + +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.Boolean; +import java.lang.Integer; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class GetCircuitPeeringResult { + /** + * @return The ASN used by Azure for the peering. + * + */ + private Integer azureAsn; + private String expressRouteCircuitName; + private String gatewayManagerEtag; + /** + * @return The provider-assigned unique ID for this managed resource. + * + */ + private String id; + /** + * @return Indicates if IPv4 is enabled. + * + */ + private Boolean ipv4Enabled; + private Integer peerAsn; + /** + * @return The type of the ExpressRoute Circuit Peering. + * + */ + private String peeringType; + /** + * @return The primary port used by Azure for this peering. + * + */ + private String primaryAzurePort; + /** + * @return The primary peer address prefix. + * + */ + private String primaryPeerAddressPrefix; + private String resourceGroupName; + private String routeFilterId; + /** + * @return The secondary port used by Azure for this peering. + * + */ + private String secondaryAzurePort; + /** + * @return The secondary peer address prefix. + * + */ + private String secondaryPeerAddressPrefix; + private String sharedKey; + /** + * @return The VLAN ID used for this peering. + * + */ + private Integer vlanId; + + private GetCircuitPeeringResult() {} + /** + * @return The ASN used by Azure for the peering. + * + */ + public Integer azureAsn() { + return this.azureAsn; + } + public String expressRouteCircuitName() { + return this.expressRouteCircuitName; + } + public String gatewayManagerEtag() { + return this.gatewayManagerEtag; + } + /** + * @return The provider-assigned unique ID for this managed resource. + * + */ + public String id() { + return this.id; + } + /** + * @return Indicates if IPv4 is enabled. + * + */ + public Boolean ipv4Enabled() { + return this.ipv4Enabled; + } + public Integer peerAsn() { + return this.peerAsn; + } + /** + * @return The type of the ExpressRoute Circuit Peering. + * + */ + public String peeringType() { + return this.peeringType; + } + /** + * @return The primary port used by Azure for this peering. + * + */ + public String primaryAzurePort() { + return this.primaryAzurePort; + } + /** + * @return The primary peer address prefix. + * + */ + public String primaryPeerAddressPrefix() { + return this.primaryPeerAddressPrefix; + } + public String resourceGroupName() { + return this.resourceGroupName; + } + public String routeFilterId() { + return this.routeFilterId; + } + /** + * @return The secondary port used by Azure for this peering. + * + */ + public String secondaryAzurePort() { + return this.secondaryAzurePort; + } + /** + * @return The secondary peer address prefix. + * + */ + public String secondaryPeerAddressPrefix() { + return this.secondaryPeerAddressPrefix; + } + public String sharedKey() { + return this.sharedKey; + } + /** + * @return The VLAN ID used for this peering. + * + */ + public Integer vlanId() { + return this.vlanId; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetCircuitPeeringResult defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private Integer azureAsn; + private String expressRouteCircuitName; + private String gatewayManagerEtag; + private String id; + private Boolean ipv4Enabled; + private Integer peerAsn; + private String peeringType; + private String primaryAzurePort; + private String primaryPeerAddressPrefix; + private String resourceGroupName; + private String routeFilterId; + private String secondaryAzurePort; + private String secondaryPeerAddressPrefix; + private String sharedKey; + private Integer vlanId; + public Builder() {} + public Builder(GetCircuitPeeringResult defaults) { + Objects.requireNonNull(defaults); + this.azureAsn = defaults.azureAsn; + this.expressRouteCircuitName = defaults.expressRouteCircuitName; + this.gatewayManagerEtag = defaults.gatewayManagerEtag; + this.id = defaults.id; + this.ipv4Enabled = defaults.ipv4Enabled; + this.peerAsn = defaults.peerAsn; + this.peeringType = defaults.peeringType; + this.primaryAzurePort = defaults.primaryAzurePort; + this.primaryPeerAddressPrefix = defaults.primaryPeerAddressPrefix; + this.resourceGroupName = defaults.resourceGroupName; + this.routeFilterId = defaults.routeFilterId; + this.secondaryAzurePort = defaults.secondaryAzurePort; + this.secondaryPeerAddressPrefix = defaults.secondaryPeerAddressPrefix; + this.sharedKey = defaults.sharedKey; + this.vlanId = defaults.vlanId; + } + + @CustomType.Setter + public Builder azureAsn(Integer azureAsn) { + if (azureAsn == null) { + throw new MissingRequiredPropertyException("GetCircuitPeeringResult", "azureAsn"); + } + this.azureAsn = azureAsn; + return this; + } + @CustomType.Setter + public Builder expressRouteCircuitName(String expressRouteCircuitName) { + if (expressRouteCircuitName == null) { + throw new MissingRequiredPropertyException("GetCircuitPeeringResult", "expressRouteCircuitName"); + } + this.expressRouteCircuitName = expressRouteCircuitName; + return this; + } + @CustomType.Setter + public Builder gatewayManagerEtag(String gatewayManagerEtag) { + if (gatewayManagerEtag == null) { + throw new MissingRequiredPropertyException("GetCircuitPeeringResult", "gatewayManagerEtag"); + } + this.gatewayManagerEtag = gatewayManagerEtag; + return this; + } + @CustomType.Setter + public Builder id(String id) { + if (id == null) { + throw new MissingRequiredPropertyException("GetCircuitPeeringResult", "id"); + } + this.id = id; + return this; + } + @CustomType.Setter + public Builder ipv4Enabled(Boolean ipv4Enabled) { + if (ipv4Enabled == null) { + throw new MissingRequiredPropertyException("GetCircuitPeeringResult", "ipv4Enabled"); + } + this.ipv4Enabled = ipv4Enabled; + return this; + } + @CustomType.Setter + public Builder peerAsn(Integer peerAsn) { + if (peerAsn == null) { + throw new MissingRequiredPropertyException("GetCircuitPeeringResult", "peerAsn"); + } + this.peerAsn = peerAsn; + return this; + } + @CustomType.Setter + public Builder peeringType(String peeringType) { + if (peeringType == null) { + throw new MissingRequiredPropertyException("GetCircuitPeeringResult", "peeringType"); + } + this.peeringType = peeringType; + return this; + } + @CustomType.Setter + public Builder primaryAzurePort(String primaryAzurePort) { + if (primaryAzurePort == null) { + throw new MissingRequiredPropertyException("GetCircuitPeeringResult", "primaryAzurePort"); + } + this.primaryAzurePort = primaryAzurePort; + return this; + } + @CustomType.Setter + public Builder primaryPeerAddressPrefix(String primaryPeerAddressPrefix) { + if (primaryPeerAddressPrefix == null) { + throw new MissingRequiredPropertyException("GetCircuitPeeringResult", "primaryPeerAddressPrefix"); + } + this.primaryPeerAddressPrefix = primaryPeerAddressPrefix; + return this; + } + @CustomType.Setter + public Builder resourceGroupName(String resourceGroupName) { + if (resourceGroupName == null) { + throw new MissingRequiredPropertyException("GetCircuitPeeringResult", "resourceGroupName"); + } + this.resourceGroupName = resourceGroupName; + return this; + } + @CustomType.Setter + public Builder routeFilterId(String routeFilterId) { + if (routeFilterId == null) { + throw new MissingRequiredPropertyException("GetCircuitPeeringResult", "routeFilterId"); + } + this.routeFilterId = routeFilterId; + return this; + } + @CustomType.Setter + public Builder secondaryAzurePort(String secondaryAzurePort) { + if (secondaryAzurePort == null) { + throw new MissingRequiredPropertyException("GetCircuitPeeringResult", "secondaryAzurePort"); + } + this.secondaryAzurePort = secondaryAzurePort; + return this; + } + @CustomType.Setter + public Builder secondaryPeerAddressPrefix(String secondaryPeerAddressPrefix) { + if (secondaryPeerAddressPrefix == null) { + throw new MissingRequiredPropertyException("GetCircuitPeeringResult", "secondaryPeerAddressPrefix"); + } + this.secondaryPeerAddressPrefix = secondaryPeerAddressPrefix; + return this; + } + @CustomType.Setter + public Builder sharedKey(String sharedKey) { + if (sharedKey == null) { + throw new MissingRequiredPropertyException("GetCircuitPeeringResult", "sharedKey"); + } + this.sharedKey = sharedKey; + return this; + } + @CustomType.Setter + public Builder vlanId(Integer vlanId) { + if (vlanId == null) { + throw new MissingRequiredPropertyException("GetCircuitPeeringResult", "vlanId"); + } + this.vlanId = vlanId; + return this; + } + public GetCircuitPeeringResult build() { + final var _resultValue = new GetCircuitPeeringResult(); + _resultValue.azureAsn = azureAsn; + _resultValue.expressRouteCircuitName = expressRouteCircuitName; + _resultValue.gatewayManagerEtag = gatewayManagerEtag; + _resultValue.id = id; + _resultValue.ipv4Enabled = ipv4Enabled; + _resultValue.peerAsn = peerAsn; + _resultValue.peeringType = peeringType; + _resultValue.primaryAzurePort = primaryAzurePort; + _resultValue.primaryPeerAddressPrefix = primaryPeerAddressPrefix; + _resultValue.resourceGroupName = resourceGroupName; + _resultValue.routeFilterId = routeFilterId; + _resultValue.secondaryAzurePort = secondaryAzurePort; + _resultValue.secondaryPeerAddressPrefix = secondaryPeerAddressPrefix; + _resultValue.sharedKey = sharedKey; + _resultValue.vlanId = vlanId; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/azure/inputs/ProviderFeaturesVirtualMachineScaleSetArgs.java b/sdk/java/src/main/java/com/pulumi/azure/inputs/ProviderFeaturesVirtualMachineScaleSetArgs.java index b65e9aea2e..ff0497f702 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/inputs/ProviderFeaturesVirtualMachineScaleSetArgs.java +++ b/sdk/java/src/main/java/com/pulumi/azure/inputs/ProviderFeaturesVirtualMachineScaleSetArgs.java @@ -22,6 +22,13 @@ public Optional> forceDelete() { return Optional.ofNullable(this.forceDelete); } + @Import(name="reimageOnManualUpgrade") + private @Nullable Output reimageOnManualUpgrade; + + public Optional> reimageOnManualUpgrade() { + return Optional.ofNullable(this.reimageOnManualUpgrade); + } + @Import(name="rollInstancesWhenRequired") private @Nullable Output rollInstancesWhenRequired; @@ -40,6 +47,7 @@ private ProviderFeaturesVirtualMachineScaleSetArgs() {} private ProviderFeaturesVirtualMachineScaleSetArgs(ProviderFeaturesVirtualMachineScaleSetArgs $) { this.forceDelete = $.forceDelete; + this.reimageOnManualUpgrade = $.reimageOnManualUpgrade; this.rollInstancesWhenRequired = $.rollInstancesWhenRequired; this.scaleToZeroBeforeDeletion = $.scaleToZeroBeforeDeletion; } @@ -71,6 +79,15 @@ public Builder forceDelete(Boolean forceDelete) { return forceDelete(Output.of(forceDelete)); } + public Builder reimageOnManualUpgrade(@Nullable Output reimageOnManualUpgrade) { + $.reimageOnManualUpgrade = reimageOnManualUpgrade; + return this; + } + + public Builder reimageOnManualUpgrade(Boolean reimageOnManualUpgrade) { + return reimageOnManualUpgrade(Output.of(reimageOnManualUpgrade)); + } + public Builder rollInstancesWhenRequired(@Nullable Output rollInstancesWhenRequired) { $.rollInstancesWhenRequired = rollInstancesWhenRequired; return this; diff --git a/sdk/java/src/main/java/com/pulumi/azure/keyvault/Certifiate.java b/sdk/java/src/main/java/com/pulumi/azure/keyvault/Certifiate.java index 0d1ac7d141..406dab2e4e 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/keyvault/Certifiate.java +++ b/sdk/java/src/main/java/com/pulumi/azure/keyvault/Certifiate.java @@ -345,7 +345,7 @@ public Output certificateDataBase64() { return this.certificateDataBase64; } /** - * A `certificate_policy` block as defined below. Changing this will create a new version of the Key Vault Certificate. + * A `certificate_policy` block as defined below. Changing this (except the `lifetime_action` field) will create a new version of the Key Vault Certificate. * * > **NOTE:** When creating a Key Vault Certificate, at least one of `certificate` or `certificate_policy` is required. Provide `certificate` to import an existing certificate, `certificate_policy` to generate a new certificate. * @@ -354,7 +354,7 @@ public Output certificateDataBase64() { private Output certificatePolicy; /** - * @return A `certificate_policy` block as defined below. Changing this will create a new version of the Key Vault Certificate. + * @return A `certificate_policy` block as defined below. Changing this (except the `lifetime_action` field) will create a new version of the Key Vault Certificate. * * > **NOTE:** When creating a Key Vault Certificate, at least one of `certificate` or `certificate_policy` is required. Provide `certificate` to import an existing certificate, `certificate_policy` to generate a new certificate. * diff --git a/sdk/java/src/main/java/com/pulumi/azure/keyvault/CertifiateArgs.java b/sdk/java/src/main/java/com/pulumi/azure/keyvault/CertifiateArgs.java index 706abdac75..c288f7582c 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/keyvault/CertifiateArgs.java +++ b/sdk/java/src/main/java/com/pulumi/azure/keyvault/CertifiateArgs.java @@ -35,7 +35,7 @@ public Optional> certificate() { } /** - * A `certificate_policy` block as defined below. Changing this will create a new version of the Key Vault Certificate. + * A `certificate_policy` block as defined below. Changing this (except the `lifetime_action` field) will create a new version of the Key Vault Certificate. * * > **NOTE:** When creating a Key Vault Certificate, at least one of `certificate` or `certificate_policy` is required. Provide `certificate` to import an existing certificate, `certificate_policy` to generate a new certificate. * @@ -44,7 +44,7 @@ public Optional> certificate() { private @Nullable Output certificatePolicy; /** - * @return A `certificate_policy` block as defined below. Changing this will create a new version of the Key Vault Certificate. + * @return A `certificate_policy` block as defined below. Changing this (except the `lifetime_action` field) will create a new version of the Key Vault Certificate. * * > **NOTE:** When creating a Key Vault Certificate, at least one of `certificate` or `certificate_policy` is required. Provide `certificate` to import an existing certificate, `certificate_policy` to generate a new certificate. * @@ -148,7 +148,7 @@ public Builder certificate(CertifiateCertificateArgs certificate) { } /** - * @param certificatePolicy A `certificate_policy` block as defined below. Changing this will create a new version of the Key Vault Certificate. + * @param certificatePolicy A `certificate_policy` block as defined below. Changing this (except the `lifetime_action` field) will create a new version of the Key Vault Certificate. * * > **NOTE:** When creating a Key Vault Certificate, at least one of `certificate` or `certificate_policy` is required. Provide `certificate` to import an existing certificate, `certificate_policy` to generate a new certificate. * @@ -161,7 +161,7 @@ public Builder certificatePolicy(@Nullable Output certificateDataBase64() { return this.certificateDataBase64; } /** - * A `certificate_policy` block as defined below. Changing this will create a new version of the Key Vault Certificate. + * A `certificate_policy` block as defined below. Changing this (except the `lifetime_action` field) will create a new version of the Key Vault Certificate. * * > **NOTE:** When creating a Key Vault Certificate, at least one of `certificate` or `certificate_policy` is required. Provide `certificate` to import an existing certificate, `certificate_policy` to generate a new certificate. * @@ -351,7 +351,7 @@ public Output certificateDataBase64() { private Output certificatePolicy; /** - * @return A `certificate_policy` block as defined below. Changing this will create a new version of the Key Vault Certificate. + * @return A `certificate_policy` block as defined below. Changing this (except the `lifetime_action` field) will create a new version of the Key Vault Certificate. * * > **NOTE:** When creating a Key Vault Certificate, at least one of `certificate` or `certificate_policy` is required. Provide `certificate` to import an existing certificate, `certificate_policy` to generate a new certificate. * diff --git a/sdk/java/src/main/java/com/pulumi/azure/keyvault/CertificateArgs.java b/sdk/java/src/main/java/com/pulumi/azure/keyvault/CertificateArgs.java index 3542277e5c..122ee2b3e6 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/keyvault/CertificateArgs.java +++ b/sdk/java/src/main/java/com/pulumi/azure/keyvault/CertificateArgs.java @@ -35,7 +35,7 @@ public Optional> certificate() { } /** - * A `certificate_policy` block as defined below. Changing this will create a new version of the Key Vault Certificate. + * A `certificate_policy` block as defined below. Changing this (except the `lifetime_action` field) will create a new version of the Key Vault Certificate. * * > **NOTE:** When creating a Key Vault Certificate, at least one of `certificate` or `certificate_policy` is required. Provide `certificate` to import an existing certificate, `certificate_policy` to generate a new certificate. * @@ -44,7 +44,7 @@ public Optional> certificate() { private @Nullable Output certificatePolicy; /** - * @return A `certificate_policy` block as defined below. Changing this will create a new version of the Key Vault Certificate. + * @return A `certificate_policy` block as defined below. Changing this (except the `lifetime_action` field) will create a new version of the Key Vault Certificate. * * > **NOTE:** When creating a Key Vault Certificate, at least one of `certificate` or `certificate_policy` is required. Provide `certificate` to import an existing certificate, `certificate_policy` to generate a new certificate. * @@ -148,7 +148,7 @@ public Builder certificate(CertificateCertificateArgs certificate) { } /** - * @param certificatePolicy A `certificate_policy` block as defined below. Changing this will create a new version of the Key Vault Certificate. + * @param certificatePolicy A `certificate_policy` block as defined below. Changing this (except the `lifetime_action` field) will create a new version of the Key Vault Certificate. * * > **NOTE:** When creating a Key Vault Certificate, at least one of `certificate` or `certificate_policy` is required. Provide `certificate` to import an existing certificate, `certificate_policy` to generate a new certificate. * @@ -161,7 +161,7 @@ public Builder certificatePolicy(@Nullable Output e() { return this.e; } /** - * Expiration UTC datetime (Y-m-d'T'H:M:S'Z'). + * Expiration UTC datetime (Y-m-d'T'H:M:S'Z'). When this parameter gets changed on reruns, if newer date is ahead of current date, an update is performed. If the newer date is before the current date, resource will be force created. * */ @Export(name="expirationDate", refs={String.class}, tree="[0]") private Output expirationDate; /** - * @return Expiration UTC datetime (Y-m-d'T'H:M:S'Z'). + * @return Expiration UTC datetime (Y-m-d'T'H:M:S'Z'). When this parameter gets changed on reruns, if newer date is ahead of current date, an update is performed. If the newer date is before the current date, resource will be force created. * */ public Output> expirationDate() { @@ -251,6 +251,8 @@ public Output name() { /** * Key not usable before the provided UTC datetime (Y-m-d'T'H:M:S'Z'). * + * > **Note:** Once `expiration_date` is set, it's not possible to unset the key even if it is deleted & recreated as underlying Azure API uses the restore of the purged key. + * */ @Export(name="notBeforeDate", refs={String.class}, tree="[0]") private Output notBeforeDate; @@ -258,6 +260,8 @@ public Output name() { /** * @return Key not usable before the provided UTC datetime (Y-m-d'T'H:M:S'Z'). * + * > **Note:** Once `expiration_date` is set, it's not possible to unset the key even if it is deleted & recreated as underlying Azure API uses the restore of the purged key. + * */ public Output> notBeforeDate() { return Codegen.optional(this.notBeforeDate); diff --git a/sdk/java/src/main/java/com/pulumi/azure/keyvault/KeyArgs.java b/sdk/java/src/main/java/com/pulumi/azure/keyvault/KeyArgs.java index f443cd66bc..d611f513db 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/keyvault/KeyArgs.java +++ b/sdk/java/src/main/java/com/pulumi/azure/keyvault/KeyArgs.java @@ -36,14 +36,14 @@ public Optional> curve() { } /** - * Expiration UTC datetime (Y-m-d'T'H:M:S'Z'). + * Expiration UTC datetime (Y-m-d'T'H:M:S'Z'). When this parameter gets changed on reruns, if newer date is ahead of current date, an update is performed. If the newer date is before the current date, resource will be force created. * */ @Import(name="expirationDate") private @Nullable Output expirationDate; /** - * @return Expiration UTC datetime (Y-m-d'T'H:M:S'Z'). + * @return Expiration UTC datetime (Y-m-d'T'H:M:S'Z'). When this parameter gets changed on reruns, if newer date is ahead of current date, an update is performed. If the newer date is before the current date, resource will be force created. * */ public Optional> expirationDate() { @@ -128,6 +128,8 @@ public Optional> name() { /** * Key not usable before the provided UTC datetime (Y-m-d'T'H:M:S'Z'). * + * > **Note:** Once `expiration_date` is set, it's not possible to unset the key even if it is deleted & recreated as underlying Azure API uses the restore of the purged key. + * */ @Import(name="notBeforeDate") private @Nullable Output notBeforeDate; @@ -135,6 +137,8 @@ public Optional> name() { /** * @return Key not usable before the provided UTC datetime (Y-m-d'T'H:M:S'Z'). * + * > **Note:** Once `expiration_date` is set, it's not possible to unset the key even if it is deleted & recreated as underlying Azure API uses the restore of the purged key. + * */ public Optional> notBeforeDate() { return Optional.ofNullable(this.notBeforeDate); @@ -225,7 +229,7 @@ public Builder curve(String curve) { } /** - * @param expirationDate Expiration UTC datetime (Y-m-d'T'H:M:S'Z'). + * @param expirationDate Expiration UTC datetime (Y-m-d'T'H:M:S'Z'). When this parameter gets changed on reruns, if newer date is ahead of current date, an update is performed. If the newer date is before the current date, resource will be force created. * * @return builder * @@ -236,7 +240,7 @@ public Builder expirationDate(@Nullable Output expirationDate) { } /** - * @param expirationDate Expiration UTC datetime (Y-m-d'T'H:M:S'Z'). + * @param expirationDate Expiration UTC datetime (Y-m-d'T'H:M:S'Z'). When this parameter gets changed on reruns, if newer date is ahead of current date, an update is performed. If the newer date is before the current date, resource will be force created. * * @return builder * @@ -363,6 +367,8 @@ public Builder name(String name) { /** * @param notBeforeDate Key not usable before the provided UTC datetime (Y-m-d'T'H:M:S'Z'). * + * > **Note:** Once `expiration_date` is set, it's not possible to unset the key even if it is deleted & recreated as underlying Azure API uses the restore of the purged key. + * * @return builder * */ @@ -374,6 +380,8 @@ public Builder notBeforeDate(@Nullable Output notBeforeDate) { /** * @param notBeforeDate Key not usable before the provided UTC datetime (Y-m-d'T'H:M:S'Z'). * + * > **Note:** Once `expiration_date` is set, it's not possible to unset the key even if it is deleted & recreated as underlying Azure API uses the restore of the purged key. + * * @return builder * */ diff --git a/sdk/java/src/main/java/com/pulumi/azure/keyvault/inputs/CertifiateState.java b/sdk/java/src/main/java/com/pulumi/azure/keyvault/inputs/CertifiateState.java index cf2edc16dd..f8334b675c 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/keyvault/inputs/CertifiateState.java +++ b/sdk/java/src/main/java/com/pulumi/azure/keyvault/inputs/CertifiateState.java @@ -81,7 +81,7 @@ public Optional> certificateDataBase64() { } /** - * A `certificate_policy` block as defined below. Changing this will create a new version of the Key Vault Certificate. + * A `certificate_policy` block as defined below. Changing this (except the `lifetime_action` field) will create a new version of the Key Vault Certificate. * * > **NOTE:** When creating a Key Vault Certificate, at least one of `certificate` or `certificate_policy` is required. Provide `certificate` to import an existing certificate, `certificate_policy` to generate a new certificate. * @@ -90,7 +90,7 @@ public Optional> certificateDataBase64() { private @Nullable Output certificatePolicy; /** - * @return A `certificate_policy` block as defined below. Changing this will create a new version of the Key Vault Certificate. + * @return A `certificate_policy` block as defined below. Changing this (except the `lifetime_action` field) will create a new version of the Key Vault Certificate. * * > **NOTE:** When creating a Key Vault Certificate, at least one of `certificate` or `certificate_policy` is required. Provide `certificate` to import an existing certificate, `certificate_policy` to generate a new certificate. * @@ -382,7 +382,7 @@ public Builder certificateDataBase64(String certificateDataBase64) { } /** - * @param certificatePolicy A `certificate_policy` block as defined below. Changing this will create a new version of the Key Vault Certificate. + * @param certificatePolicy A `certificate_policy` block as defined below. Changing this (except the `lifetime_action` field) will create a new version of the Key Vault Certificate. * * > **NOTE:** When creating a Key Vault Certificate, at least one of `certificate` or `certificate_policy` is required. Provide `certificate` to import an existing certificate, `certificate_policy` to generate a new certificate. * @@ -395,7 +395,7 @@ public Builder certificatePolicy(@Nullable Output> certificateDataBase64() { } /** - * A `certificate_policy` block as defined below. Changing this will create a new version of the Key Vault Certificate. + * A `certificate_policy` block as defined below. Changing this (except the `lifetime_action` field) will create a new version of the Key Vault Certificate. * * > **NOTE:** When creating a Key Vault Certificate, at least one of `certificate` or `certificate_policy` is required. Provide `certificate` to import an existing certificate, `certificate_policy` to generate a new certificate. * @@ -90,7 +90,7 @@ public Optional> certificateDataBase64() { private @Nullable Output certificatePolicy; /** - * @return A `certificate_policy` block as defined below. Changing this will create a new version of the Key Vault Certificate. + * @return A `certificate_policy` block as defined below. Changing this (except the `lifetime_action` field) will create a new version of the Key Vault Certificate. * * > **NOTE:** When creating a Key Vault Certificate, at least one of `certificate` or `certificate_policy` is required. Provide `certificate` to import an existing certificate, `certificate_policy` to generate a new certificate. * @@ -382,7 +382,7 @@ public Builder certificateDataBase64(String certificateDataBase64) { } /** - * @param certificatePolicy A `certificate_policy` block as defined below. Changing this will create a new version of the Key Vault Certificate. + * @param certificatePolicy A `certificate_policy` block as defined below. Changing this (except the `lifetime_action` field) will create a new version of the Key Vault Certificate. * * > **NOTE:** When creating a Key Vault Certificate, at least one of `certificate` or `certificate_policy` is required. Provide `certificate` to import an existing certificate, `certificate_policy` to generate a new certificate. * @@ -395,7 +395,7 @@ public Builder certificatePolicy(@Nullable Output> e() { } /** - * Expiration UTC datetime (Y-m-d'T'H:M:S'Z'). + * Expiration UTC datetime (Y-m-d'T'H:M:S'Z'). When this parameter gets changed on reruns, if newer date is ahead of current date, an update is performed. If the newer date is before the current date, resource will be force created. * */ @Import(name="expirationDate") private @Nullable Output expirationDate; /** - * @return Expiration UTC datetime (Y-m-d'T'H:M:S'Z'). + * @return Expiration UTC datetime (Y-m-d'T'H:M:S'Z'). When this parameter gets changed on reruns, if newer date is ahead of current date, an update is performed. If the newer date is before the current date, resource will be force created. * */ public Optional> expirationDate() { @@ -157,6 +157,8 @@ public Optional> name() { /** * Key not usable before the provided UTC datetime (Y-m-d'T'H:M:S'Z'). * + * > **Note:** Once `expiration_date` is set, it's not possible to unset the key even if it is deleted & recreated as underlying Azure API uses the restore of the purged key. + * */ @Import(name="notBeforeDate") private @Nullable Output notBeforeDate; @@ -164,6 +166,8 @@ public Optional> name() { /** * @return Key not usable before the provided UTC datetime (Y-m-d'T'H:M:S'Z'). * + * > **Note:** Once `expiration_date` is set, it's not possible to unset the key even if it is deleted & recreated as underlying Azure API uses the restore of the purged key. + * */ public Optional> notBeforeDate() { return Optional.ofNullable(this.notBeforeDate); @@ -405,7 +409,7 @@ public Builder e(String e) { } /** - * @param expirationDate Expiration UTC datetime (Y-m-d'T'H:M:S'Z'). + * @param expirationDate Expiration UTC datetime (Y-m-d'T'H:M:S'Z'). When this parameter gets changed on reruns, if newer date is ahead of current date, an update is performed. If the newer date is before the current date, resource will be force created. * * @return builder * @@ -416,7 +420,7 @@ public Builder expirationDate(@Nullable Output expirationDate) { } /** - * @param expirationDate Expiration UTC datetime (Y-m-d'T'H:M:S'Z'). + * @param expirationDate Expiration UTC datetime (Y-m-d'T'H:M:S'Z'). When this parameter gets changed on reruns, if newer date is ahead of current date, an update is performed. If the newer date is before the current date, resource will be force created. * * @return builder * @@ -564,6 +568,8 @@ public Builder name(String name) { /** * @param notBeforeDate Key not usable before the provided UTC datetime (Y-m-d'T'H:M:S'Z'). * + * > **Note:** Once `expiration_date` is set, it's not possible to unset the key even if it is deleted & recreated as underlying Azure API uses the restore of the purged key. + * * @return builder * */ @@ -575,6 +581,8 @@ public Builder notBeforeDate(@Nullable Output notBeforeDate) { /** * @param notBeforeDate Key not usable before the provided UTC datetime (Y-m-d'T'H:M:S'Z'). * + * > **Note:** Once `expiration_date` is set, it's not possible to unset the key even if it is deleted & recreated as underlying Azure API uses the restore of the purged key. + * * @return builder * */ diff --git a/sdk/java/src/main/java/com/pulumi/azure/machinelearning/Workspace.java b/sdk/java/src/main/java/com/pulumi/azure/machinelearning/Workspace.java index b5e30d04d2..5edec5afb6 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/machinelearning/Workspace.java +++ b/sdk/java/src/main/java/com/pulumi/azure/machinelearning/Workspace.java @@ -9,6 +9,7 @@ import com.pulumi.azure.machinelearning.outputs.WorkspaceEncryption; import com.pulumi.azure.machinelearning.outputs.WorkspaceFeatureStore; import com.pulumi.azure.machinelearning.outputs.WorkspaceIdentity; +import com.pulumi.azure.machinelearning.outputs.WorkspaceManagedNetwork; import com.pulumi.core.Output; import com.pulumi.core.annotations.Export; import com.pulumi.core.annotations.ResourceType; @@ -600,6 +601,20 @@ public Output> kind() { public Output location() { return this.location; } + /** + * A `managed_network` block as defined below. + * + */ + @Export(name="managedNetwork", refs={WorkspaceManagedNetwork.class}, tree="[0]") + private Output managedNetwork; + + /** + * @return A `managed_network` block as defined below. + * + */ + public Output managedNetwork() { + return this.managedNetwork; + } /** * Specifies the name of the Machine Learning Workspace. Changing this forces a new resource to be created. * @@ -679,14 +694,14 @@ public Output resourceGroupName() { return this.resourceGroupName; } /** - * SKU/edition of the Machine Learning Workspace, possible values are `Basic`. Defaults to `Basic`. + * SKU/edition of the Machine Learning Workspace, possible values are `Free`, `Basic`, `Standard` and `Premium`. Defaults to `Basic`. * */ @Export(name="skuName", refs={String.class}, tree="[0]") private Output skuName; /** - * @return SKU/edition of the Machine Learning Workspace, possible values are `Basic`. Defaults to `Basic`. + * @return SKU/edition of the Machine Learning Workspace, possible values are `Free`, `Basic`, `Standard` and `Premium`. Defaults to `Basic`. * */ public Output> skuName() { diff --git a/sdk/java/src/main/java/com/pulumi/azure/machinelearning/WorkspaceArgs.java b/sdk/java/src/main/java/com/pulumi/azure/machinelearning/WorkspaceArgs.java index a78cef2611..1db488a87f 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/machinelearning/WorkspaceArgs.java +++ b/sdk/java/src/main/java/com/pulumi/azure/machinelearning/WorkspaceArgs.java @@ -6,6 +6,7 @@ import com.pulumi.azure.machinelearning.inputs.WorkspaceEncryptionArgs; import com.pulumi.azure.machinelearning.inputs.WorkspaceFeatureStoreArgs; import com.pulumi.azure.machinelearning.inputs.WorkspaceIdentityArgs; +import com.pulumi.azure.machinelearning.inputs.WorkspaceManagedNetworkArgs; import com.pulumi.core.Output; import com.pulumi.core.annotations.Import; import com.pulumi.exceptions.MissingRequiredPropertyException; @@ -205,6 +206,21 @@ public Optional> location() { return Optional.ofNullable(this.location); } + /** + * A `managed_network` block as defined below. + * + */ + @Import(name="managedNetwork") + private @Nullable Output managedNetwork; + + /** + * @return A `managed_network` block as defined below. + * + */ + public Optional> managedNetwork() { + return Optional.ofNullable(this.managedNetwork); + } + /** * Specifies the name of the Machine Learning Workspace. Changing this forces a new resource to be created. * @@ -293,14 +309,14 @@ public Output resourceGroupName() { } /** - * SKU/edition of the Machine Learning Workspace, possible values are `Basic`. Defaults to `Basic`. + * SKU/edition of the Machine Learning Workspace, possible values are `Free`, `Basic`, `Standard` and `Premium`. Defaults to `Basic`. * */ @Import(name="skuName") private @Nullable Output skuName; /** - * @return SKU/edition of the Machine Learning Workspace, possible values are `Basic`. Defaults to `Basic`. + * @return SKU/edition of the Machine Learning Workspace, possible values are `Free`, `Basic`, `Standard` and `Premium`. Defaults to `Basic`. * */ public Optional> skuName() { @@ -371,6 +387,7 @@ private WorkspaceArgs(WorkspaceArgs $) { this.keyVaultId = $.keyVaultId; this.kind = $.kind; this.location = $.location; + this.managedNetwork = $.managedNetwork; this.name = $.name; this.primaryUserAssignedIdentity = $.primaryUserAssignedIdentity; this.publicAccessBehindVirtualNetworkEnabled = $.publicAccessBehindVirtualNetworkEnabled; @@ -656,6 +673,27 @@ public Builder location(String location) { return location(Output.of(location)); } + /** + * @param managedNetwork A `managed_network` block as defined below. + * + * @return builder + * + */ + public Builder managedNetwork(@Nullable Output managedNetwork) { + $.managedNetwork = managedNetwork; + return this; + } + + /** + * @param managedNetwork A `managed_network` block as defined below. + * + * @return builder + * + */ + public Builder managedNetwork(WorkspaceManagedNetworkArgs managedNetwork) { + return managedNetwork(Output.of(managedNetwork)); + } + /** * @param name Specifies the name of the Machine Learning Workspace. Changing this forces a new resource to be created. * @@ -774,7 +812,7 @@ public Builder resourceGroupName(String resourceGroupName) { } /** - * @param skuName SKU/edition of the Machine Learning Workspace, possible values are `Basic`. Defaults to `Basic`. + * @param skuName SKU/edition of the Machine Learning Workspace, possible values are `Free`, `Basic`, `Standard` and `Premium`. Defaults to `Basic`. * * @return builder * @@ -785,7 +823,7 @@ public Builder skuName(@Nullable Output skuName) { } /** - * @param skuName SKU/edition of the Machine Learning Workspace, possible values are `Basic`. Defaults to `Basic`. + * @param skuName SKU/edition of the Machine Learning Workspace, possible values are `Free`, `Basic`, `Standard` and `Premium`. Defaults to `Basic`. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/azure/machinelearning/inputs/InferenceClusterSslArgs.java b/sdk/java/src/main/java/com/pulumi/azure/machinelearning/inputs/InferenceClusterSslArgs.java index 0b7c25661a..eae08898dd 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/machinelearning/inputs/InferenceClusterSslArgs.java +++ b/sdk/java/src/main/java/com/pulumi/azure/machinelearning/inputs/InferenceClusterSslArgs.java @@ -17,14 +17,14 @@ public final class InferenceClusterSslArgs extends com.pulumi.resources.Resource public static final InferenceClusterSslArgs Empty = new InferenceClusterSslArgs(); /** - * The certificate for the SSL configuration.Conflicts with `ssl.0.leaf_domain_label`,`ssl.0.overwrite_existing_domain`. Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `""`. + * The certificate for the SSL configuration.Conflicts with `ssl[0].leaf_domain_label`,`ssl[0].overwrite_existing_domain`. Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `""`. * */ @Import(name="cert") private @Nullable Output cert; /** - * @return The certificate for the SSL configuration.Conflicts with `ssl.0.leaf_domain_label`,`ssl.0.overwrite_existing_domain`. Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `""`. + * @return The certificate for the SSL configuration.Conflicts with `ssl[0].leaf_domain_label`,`ssl[0].overwrite_existing_domain`. Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `""`. * */ public Optional> cert() { @@ -32,14 +32,14 @@ public Optional> cert() { } /** - * The cname of the SSL configuration.Conflicts with `ssl.0.leaf_domain_label`,`ssl.0.overwrite_existing_domain`. Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `""`. + * The cname of the SSL configuration.Conflicts with `ssl[0].leaf_domain_label`,`ssl[0].overwrite_existing_domain`. Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `""`. * */ @Import(name="cname") private @Nullable Output cname; /** - * @return The cname of the SSL configuration.Conflicts with `ssl.0.leaf_domain_label`,`ssl.0.overwrite_existing_domain`. Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `""`. + * @return The cname of the SSL configuration.Conflicts with `ssl[0].leaf_domain_label`,`ssl[0].overwrite_existing_domain`. Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `""`. * */ public Optional> cname() { @@ -47,14 +47,14 @@ public Optional> cname() { } /** - * The key content for the SSL configuration.Conflicts with `ssl.0.leaf_domain_label`,`ssl.0.overwrite_existing_domain`. Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `""`. + * The key content for the SSL configuration.Conflicts with `ssl[0].leaf_domain_label`,`ssl[0].overwrite_existing_domain`. Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `""`. * */ @Import(name="key") private @Nullable Output key; /** - * @return The key content for the SSL configuration.Conflicts with `ssl.0.leaf_domain_label`,`ssl.0.overwrite_existing_domain`. Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `""`. + * @return The key content for the SSL configuration.Conflicts with `ssl[0].leaf_domain_label`,`ssl[0].overwrite_existing_domain`. Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `""`. * */ public Optional> key() { @@ -62,14 +62,14 @@ public Optional> key() { } /** - * The leaf domain label for the SSL configuration. Conflicts with `ssl.0.cert`,`ssl.0.key`,`ssl.0.cname`. Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `""`. + * The leaf domain label for the SSL configuration. Conflicts with `ssl[0].cert`,`ssl[0].key`,`ssl[0].cname`. Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `""`. * */ @Import(name="leafDomainLabel") private @Nullable Output leafDomainLabel; /** - * @return The leaf domain label for the SSL configuration. Conflicts with `ssl.0.cert`,`ssl.0.key`,`ssl.0.cname`. Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `""`. + * @return The leaf domain label for the SSL configuration. Conflicts with `ssl[0].cert`,`ssl[0].key`,`ssl[0].cname`. Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `""`. * */ public Optional> leafDomainLabel() { @@ -77,14 +77,14 @@ public Optional> leafDomainLabel() { } /** - * Whether or not to overwrite existing leaf domain. Conflicts with `ssl.0.cert`,`ssl.0.key`,`ssl.0.cname` Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `""`. + * Whether or not to overwrite existing leaf domain. Conflicts with `ssl[0].cert`,`ssl[0].key`,`ssl[0].cname` Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `""`. * */ @Import(name="overwriteExistingDomain") private @Nullable Output overwriteExistingDomain; /** - * @return Whether or not to overwrite existing leaf domain. Conflicts with `ssl.0.cert`,`ssl.0.key`,`ssl.0.cname` Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `""`. + * @return Whether or not to overwrite existing leaf domain. Conflicts with `ssl[0].cert`,`ssl[0].key`,`ssl[0].cname` Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `""`. * */ public Optional> overwriteExistingDomain() { @@ -120,7 +120,7 @@ public Builder(InferenceClusterSslArgs defaults) { } /** - * @param cert The certificate for the SSL configuration.Conflicts with `ssl.0.leaf_domain_label`,`ssl.0.overwrite_existing_domain`. Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `""`. + * @param cert The certificate for the SSL configuration.Conflicts with `ssl[0].leaf_domain_label`,`ssl[0].overwrite_existing_domain`. Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `""`. * * @return builder * @@ -131,7 +131,7 @@ public Builder cert(@Nullable Output cert) { } /** - * @param cert The certificate for the SSL configuration.Conflicts with `ssl.0.leaf_domain_label`,`ssl.0.overwrite_existing_domain`. Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `""`. + * @param cert The certificate for the SSL configuration.Conflicts with `ssl[0].leaf_domain_label`,`ssl[0].overwrite_existing_domain`. Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `""`. * * @return builder * @@ -141,7 +141,7 @@ public Builder cert(String cert) { } /** - * @param cname The cname of the SSL configuration.Conflicts with `ssl.0.leaf_domain_label`,`ssl.0.overwrite_existing_domain`. Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `""`. + * @param cname The cname of the SSL configuration.Conflicts with `ssl[0].leaf_domain_label`,`ssl[0].overwrite_existing_domain`. Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `""`. * * @return builder * @@ -152,7 +152,7 @@ public Builder cname(@Nullable Output cname) { } /** - * @param cname The cname of the SSL configuration.Conflicts with `ssl.0.leaf_domain_label`,`ssl.0.overwrite_existing_domain`. Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `""`. + * @param cname The cname of the SSL configuration.Conflicts with `ssl[0].leaf_domain_label`,`ssl[0].overwrite_existing_domain`. Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `""`. * * @return builder * @@ -162,7 +162,7 @@ public Builder cname(String cname) { } /** - * @param key The key content for the SSL configuration.Conflicts with `ssl.0.leaf_domain_label`,`ssl.0.overwrite_existing_domain`. Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `""`. + * @param key The key content for the SSL configuration.Conflicts with `ssl[0].leaf_domain_label`,`ssl[0].overwrite_existing_domain`. Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `""`. * * @return builder * @@ -173,7 +173,7 @@ public Builder key(@Nullable Output key) { } /** - * @param key The key content for the SSL configuration.Conflicts with `ssl.0.leaf_domain_label`,`ssl.0.overwrite_existing_domain`. Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `""`. + * @param key The key content for the SSL configuration.Conflicts with `ssl[0].leaf_domain_label`,`ssl[0].overwrite_existing_domain`. Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `""`. * * @return builder * @@ -183,7 +183,7 @@ public Builder key(String key) { } /** - * @param leafDomainLabel The leaf domain label for the SSL configuration. Conflicts with `ssl.0.cert`,`ssl.0.key`,`ssl.0.cname`. Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `""`. + * @param leafDomainLabel The leaf domain label for the SSL configuration. Conflicts with `ssl[0].cert`,`ssl[0].key`,`ssl[0].cname`. Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `""`. * * @return builder * @@ -194,7 +194,7 @@ public Builder leafDomainLabel(@Nullable Output leafDomainLabel) { } /** - * @param leafDomainLabel The leaf domain label for the SSL configuration. Conflicts with `ssl.0.cert`,`ssl.0.key`,`ssl.0.cname`. Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `""`. + * @param leafDomainLabel The leaf domain label for the SSL configuration. Conflicts with `ssl[0].cert`,`ssl[0].key`,`ssl[0].cname`. Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `""`. * * @return builder * @@ -204,7 +204,7 @@ public Builder leafDomainLabel(String leafDomainLabel) { } /** - * @param overwriteExistingDomain Whether or not to overwrite existing leaf domain. Conflicts with `ssl.0.cert`,`ssl.0.key`,`ssl.0.cname` Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `""`. + * @param overwriteExistingDomain Whether or not to overwrite existing leaf domain. Conflicts with `ssl[0].cert`,`ssl[0].key`,`ssl[0].cname` Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `""`. * * @return builder * @@ -215,7 +215,7 @@ public Builder overwriteExistingDomain(@Nullable Output overwriteExisti } /** - * @param overwriteExistingDomain Whether or not to overwrite existing leaf domain. Conflicts with `ssl.0.cert`,`ssl.0.key`,`ssl.0.cname` Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `""`. + * @param overwriteExistingDomain Whether or not to overwrite existing leaf domain. Conflicts with `ssl[0].cert`,`ssl[0].key`,`ssl[0].cname` Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `""`. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/azure/machinelearning/inputs/WorkspaceManagedNetworkArgs.java b/sdk/java/src/main/java/com/pulumi/azure/machinelearning/inputs/WorkspaceManagedNetworkArgs.java new file mode 100644 index 0000000000..f638d4b62a --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/azure/machinelearning/inputs/WorkspaceManagedNetworkArgs.java @@ -0,0 +1,83 @@ +// *** 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.machinelearning.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 WorkspaceManagedNetworkArgs extends com.pulumi.resources.ResourceArgs { + + public static final WorkspaceManagedNetworkArgs Empty = new WorkspaceManagedNetworkArgs(); + + /** + * The isolation mode of the Machine Learning Workspace. Possible values are `Disabled`, `AllowOnlyApprovedOutbound`, and `AllowInternetOutbound` + * + */ + @Import(name="isolationMode") + private @Nullable Output isolationMode; + + /** + * @return The isolation mode of the Machine Learning Workspace. Possible values are `Disabled`, `AllowOnlyApprovedOutbound`, and `AllowInternetOutbound` + * + */ + public Optional> isolationMode() { + return Optional.ofNullable(this.isolationMode); + } + + private WorkspaceManagedNetworkArgs() {} + + private WorkspaceManagedNetworkArgs(WorkspaceManagedNetworkArgs $) { + this.isolationMode = $.isolationMode; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(WorkspaceManagedNetworkArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private WorkspaceManagedNetworkArgs $; + + public Builder() { + $ = new WorkspaceManagedNetworkArgs(); + } + + public Builder(WorkspaceManagedNetworkArgs defaults) { + $ = new WorkspaceManagedNetworkArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param isolationMode The isolation mode of the Machine Learning Workspace. Possible values are `Disabled`, `AllowOnlyApprovedOutbound`, and `AllowInternetOutbound` + * + * @return builder + * + */ + public Builder isolationMode(@Nullable Output isolationMode) { + $.isolationMode = isolationMode; + return this; + } + + /** + * @param isolationMode The isolation mode of the Machine Learning Workspace. Possible values are `Disabled`, `AllowOnlyApprovedOutbound`, and `AllowInternetOutbound` + * + * @return builder + * + */ + public Builder isolationMode(String isolationMode) { + return isolationMode(Output.of(isolationMode)); + } + + public WorkspaceManagedNetworkArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/azure/machinelearning/inputs/WorkspaceState.java b/sdk/java/src/main/java/com/pulumi/azure/machinelearning/inputs/WorkspaceState.java index 108572f5a8..1f2699f2d7 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/machinelearning/inputs/WorkspaceState.java +++ b/sdk/java/src/main/java/com/pulumi/azure/machinelearning/inputs/WorkspaceState.java @@ -6,6 +6,7 @@ import com.pulumi.azure.machinelearning.inputs.WorkspaceEncryptionArgs; import com.pulumi.azure.machinelearning.inputs.WorkspaceFeatureStoreArgs; import com.pulumi.azure.machinelearning.inputs.WorkspaceIdentityArgs; +import com.pulumi.azure.machinelearning.inputs.WorkspaceManagedNetworkArgs; import com.pulumi.core.Output; import com.pulumi.core.annotations.Import; import java.lang.Boolean; @@ -219,6 +220,21 @@ public Optional> location() { return Optional.ofNullable(this.location); } + /** + * A `managed_network` block as defined below. + * + */ + @Import(name="managedNetwork") + private @Nullable Output managedNetwork; + + /** + * @return A `managed_network` block as defined below. + * + */ + public Optional> managedNetwork() { + return Optional.ofNullable(this.managedNetwork); + } + /** * Specifies the name of the Machine Learning Workspace. Changing this forces a new resource to be created. * @@ -307,14 +323,14 @@ public Optional> resourceGroupName() { } /** - * SKU/edition of the Machine Learning Workspace, possible values are `Basic`. Defaults to `Basic`. + * SKU/edition of the Machine Learning Workspace, possible values are `Free`, `Basic`, `Standard` and `Premium`. Defaults to `Basic`. * */ @Import(name="skuName") private @Nullable Output skuName; /** - * @return SKU/edition of the Machine Learning Workspace, possible values are `Basic`. Defaults to `Basic`. + * @return SKU/edition of the Machine Learning Workspace, possible values are `Free`, `Basic`, `Standard` and `Premium`. Defaults to `Basic`. * */ public Optional> skuName() { @@ -401,6 +417,7 @@ private WorkspaceState(WorkspaceState $) { this.keyVaultId = $.keyVaultId; this.kind = $.kind; this.location = $.location; + this.managedNetwork = $.managedNetwork; this.name = $.name; this.primaryUserAssignedIdentity = $.primaryUserAssignedIdentity; this.publicAccessBehindVirtualNetworkEnabled = $.publicAccessBehindVirtualNetworkEnabled; @@ -708,6 +725,27 @@ public Builder location(String location) { return location(Output.of(location)); } + /** + * @param managedNetwork A `managed_network` block as defined below. + * + * @return builder + * + */ + public Builder managedNetwork(@Nullable Output managedNetwork) { + $.managedNetwork = managedNetwork; + return this; + } + + /** + * @param managedNetwork A `managed_network` block as defined below. + * + * @return builder + * + */ + public Builder managedNetwork(WorkspaceManagedNetworkArgs managedNetwork) { + return managedNetwork(Output.of(managedNetwork)); + } + /** * @param name Specifies the name of the Machine Learning Workspace. Changing this forces a new resource to be created. * @@ -826,7 +864,7 @@ public Builder resourceGroupName(String resourceGroupName) { } /** - * @param skuName SKU/edition of the Machine Learning Workspace, possible values are `Basic`. Defaults to `Basic`. + * @param skuName SKU/edition of the Machine Learning Workspace, possible values are `Free`, `Basic`, `Standard` and `Premium`. Defaults to `Basic`. * * @return builder * @@ -837,7 +875,7 @@ public Builder skuName(@Nullable Output skuName) { } /** - * @param skuName SKU/edition of the Machine Learning Workspace, possible values are `Basic`. Defaults to `Basic`. + * @param skuName SKU/edition of the Machine Learning Workspace, possible values are `Free`, `Basic`, `Standard` and `Premium`. Defaults to `Basic`. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/azure/machinelearning/outputs/InferenceClusterSsl.java b/sdk/java/src/main/java/com/pulumi/azure/machinelearning/outputs/InferenceClusterSsl.java index 1c7982a5f4..803ec187f1 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/machinelearning/outputs/InferenceClusterSsl.java +++ b/sdk/java/src/main/java/com/pulumi/azure/machinelearning/outputs/InferenceClusterSsl.java @@ -13,62 +13,62 @@ @CustomType public final class InferenceClusterSsl { /** - * @return The certificate for the SSL configuration.Conflicts with `ssl.0.leaf_domain_label`,`ssl.0.overwrite_existing_domain`. Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `""`. + * @return The certificate for the SSL configuration.Conflicts with `ssl[0].leaf_domain_label`,`ssl[0].overwrite_existing_domain`. Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `""`. * */ private @Nullable String cert; /** - * @return The cname of the SSL configuration.Conflicts with `ssl.0.leaf_domain_label`,`ssl.0.overwrite_existing_domain`. Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `""`. + * @return The cname of the SSL configuration.Conflicts with `ssl[0].leaf_domain_label`,`ssl[0].overwrite_existing_domain`. Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `""`. * */ private @Nullable String cname; /** - * @return The key content for the SSL configuration.Conflicts with `ssl.0.leaf_domain_label`,`ssl.0.overwrite_existing_domain`. Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `""`. + * @return The key content for the SSL configuration.Conflicts with `ssl[0].leaf_domain_label`,`ssl[0].overwrite_existing_domain`. Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `""`. * */ private @Nullable String key; /** - * @return The leaf domain label for the SSL configuration. Conflicts with `ssl.0.cert`,`ssl.0.key`,`ssl.0.cname`. Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `""`. + * @return The leaf domain label for the SSL configuration. Conflicts with `ssl[0].cert`,`ssl[0].key`,`ssl[0].cname`. Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `""`. * */ private @Nullable String leafDomainLabel; /** - * @return Whether or not to overwrite existing leaf domain. Conflicts with `ssl.0.cert`,`ssl.0.key`,`ssl.0.cname` Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `""`. + * @return Whether or not to overwrite existing leaf domain. Conflicts with `ssl[0].cert`,`ssl[0].key`,`ssl[0].cname` Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `""`. * */ private @Nullable Boolean overwriteExistingDomain; private InferenceClusterSsl() {} /** - * @return The certificate for the SSL configuration.Conflicts with `ssl.0.leaf_domain_label`,`ssl.0.overwrite_existing_domain`. Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `""`. + * @return The certificate for the SSL configuration.Conflicts with `ssl[0].leaf_domain_label`,`ssl[0].overwrite_existing_domain`. Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `""`. * */ public Optional cert() { return Optional.ofNullable(this.cert); } /** - * @return The cname of the SSL configuration.Conflicts with `ssl.0.leaf_domain_label`,`ssl.0.overwrite_existing_domain`. Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `""`. + * @return The cname of the SSL configuration.Conflicts with `ssl[0].leaf_domain_label`,`ssl[0].overwrite_existing_domain`. Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `""`. * */ public Optional cname() { return Optional.ofNullable(this.cname); } /** - * @return The key content for the SSL configuration.Conflicts with `ssl.0.leaf_domain_label`,`ssl.0.overwrite_existing_domain`. Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `""`. + * @return The key content for the SSL configuration.Conflicts with `ssl[0].leaf_domain_label`,`ssl[0].overwrite_existing_domain`. Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `""`. * */ public Optional key() { return Optional.ofNullable(this.key); } /** - * @return The leaf domain label for the SSL configuration. Conflicts with `ssl.0.cert`,`ssl.0.key`,`ssl.0.cname`. Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `""`. + * @return The leaf domain label for the SSL configuration. Conflicts with `ssl[0].cert`,`ssl[0].key`,`ssl[0].cname`. Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `""`. * */ public Optional leafDomainLabel() { return Optional.ofNullable(this.leafDomainLabel); } /** - * @return Whether or not to overwrite existing leaf domain. Conflicts with `ssl.0.cert`,`ssl.0.key`,`ssl.0.cname` Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `""`. + * @return Whether or not to overwrite existing leaf domain. Conflicts with `ssl[0].cert`,`ssl[0].key`,`ssl[0].cname` Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `""`. * */ public Optional overwriteExistingDomain() { diff --git a/sdk/java/src/main/java/com/pulumi/azure/machinelearning/outputs/WorkspaceManagedNetwork.java b/sdk/java/src/main/java/com/pulumi/azure/machinelearning/outputs/WorkspaceManagedNetwork.java new file mode 100644 index 0000000000..63d9003db4 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/azure/machinelearning/outputs/WorkspaceManagedNetwork.java @@ -0,0 +1,57 @@ +// *** 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.machinelearning.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 WorkspaceManagedNetwork { + /** + * @return The isolation mode of the Machine Learning Workspace. Possible values are `Disabled`, `AllowOnlyApprovedOutbound`, and `AllowInternetOutbound` + * + */ + private @Nullable String isolationMode; + + private WorkspaceManagedNetwork() {} + /** + * @return The isolation mode of the Machine Learning Workspace. Possible values are `Disabled`, `AllowOnlyApprovedOutbound`, and `AllowInternetOutbound` + * + */ + public Optional isolationMode() { + return Optional.ofNullable(this.isolationMode); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(WorkspaceManagedNetwork defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable String isolationMode; + public Builder() {} + public Builder(WorkspaceManagedNetwork defaults) { + Objects.requireNonNull(defaults); + this.isolationMode = defaults.isolationMode; + } + + @CustomType.Setter + public Builder isolationMode(@Nullable String isolationMode) { + + this.isolationMode = isolationMode; + return this; + } + public WorkspaceManagedNetwork build() { + final var _resultValue = new WorkspaceManagedNetwork(); + _resultValue.isolationMode = isolationMode; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/azure/mssql/Database.java b/sdk/java/src/main/java/com/pulumi/azure/mssql/Database.java index b1eb457897..86669e2c38 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/mssql/Database.java +++ b/sdk/java/src/main/java/com/pulumi/azure/mssql/Database.java @@ -520,6 +520,20 @@ public Output readScale() { public Output> recoverDatabaseId() { return Codegen.optional(this.recoverDatabaseId); } + /** + * The ID of the Recovery Services Recovery Point Id to be restored. This property is only applicable when the `create_mode` is `Recovery`. + * + */ + @Export(name="recoveryPointId", refs={String.class}, tree="[0]") + private Output recoveryPointId; + + /** + * @return The ID of the Recovery Services Recovery Point Id to be restored. This property is only applicable when the `create_mode` is `Recovery`. + * + */ + public Output> recoveryPointId() { + return Codegen.optional(this.recoveryPointId); + } /** * The ID of the database to be restored. This property is only applicable when the `create_mode` is `Restore`. * @@ -534,6 +548,20 @@ public Output> recoverDatabaseId() { public Output> restoreDroppedDatabaseId() { return Codegen.optional(this.restoreDroppedDatabaseId); } + /** + * The ID of the long term retention backup to be restored. This property is only applicable when the `create_mode` is `RestoreLongTermRetentionBackup`. + * + */ + @Export(name="restoreLongTermRetentionBackupId", refs={String.class}, tree="[0]") + private Output restoreLongTermRetentionBackupId; + + /** + * @return The ID of the long term retention backup to be restored. This property is only applicable when the `create_mode` is `RestoreLongTermRetentionBackup`. + * + */ + public Output> restoreLongTermRetentionBackupId() { + return Codegen.optional(this.restoreLongTermRetentionBackupId); + } /** * Specifies the point in time (ISO8601 format) of the source database that will be restored to create the new database. This property is only settable for `create_mode`= `PointInTimeRestore` databases. * diff --git a/sdk/java/src/main/java/com/pulumi/azure/mssql/DatabaseArgs.java b/sdk/java/src/main/java/com/pulumi/azure/mssql/DatabaseArgs.java index e26bac4ced..8c2b814a48 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/mssql/DatabaseArgs.java +++ b/sdk/java/src/main/java/com/pulumi/azure/mssql/DatabaseArgs.java @@ -334,6 +334,21 @@ public Optional> recoverDatabaseId() { return Optional.ofNullable(this.recoverDatabaseId); } + /** + * The ID of the Recovery Services Recovery Point Id to be restored. This property is only applicable when the `create_mode` is `Recovery`. + * + */ + @Import(name="recoveryPointId") + private @Nullable Output recoveryPointId; + + /** + * @return The ID of the Recovery Services Recovery Point Id to be restored. This property is only applicable when the `create_mode` is `Recovery`. + * + */ + public Optional> recoveryPointId() { + return Optional.ofNullable(this.recoveryPointId); + } + /** * The ID of the database to be restored. This property is only applicable when the `create_mode` is `Restore`. * @@ -349,6 +364,21 @@ public Optional> restoreDroppedDatabaseId() { return Optional.ofNullable(this.restoreDroppedDatabaseId); } + /** + * The ID of the long term retention backup to be restored. This property is only applicable when the `create_mode` is `RestoreLongTermRetentionBackup`. + * + */ + @Import(name="restoreLongTermRetentionBackupId") + private @Nullable Output restoreLongTermRetentionBackupId; + + /** + * @return The ID of the long term retention backup to be restored. This property is only applicable when the `create_mode` is `RestoreLongTermRetentionBackup`. + * + */ + public Optional> restoreLongTermRetentionBackupId() { + return Optional.ofNullable(this.restoreLongTermRetentionBackupId); + } + /** * Specifies the point in time (ISO8601 format) of the source database that will be restored to create the new database. This property is only settable for `create_mode`= `PointInTimeRestore` databases. * @@ -567,7 +597,9 @@ private DatabaseArgs(DatabaseArgs $) { this.readReplicaCount = $.readReplicaCount; this.readScale = $.readScale; this.recoverDatabaseId = $.recoverDatabaseId; + this.recoveryPointId = $.recoveryPointId; this.restoreDroppedDatabaseId = $.restoreDroppedDatabaseId; + this.restoreLongTermRetentionBackupId = $.restoreLongTermRetentionBackupId; this.restorePointInTime = $.restorePointInTime; this.sampleName = $.sampleName; this.serverId = $.serverId; @@ -1023,6 +1055,27 @@ public Builder recoverDatabaseId(String recoverDatabaseId) { return recoverDatabaseId(Output.of(recoverDatabaseId)); } + /** + * @param recoveryPointId The ID of the Recovery Services Recovery Point Id to be restored. This property is only applicable when the `create_mode` is `Recovery`. + * + * @return builder + * + */ + public Builder recoveryPointId(@Nullable Output recoveryPointId) { + $.recoveryPointId = recoveryPointId; + return this; + } + + /** + * @param recoveryPointId The ID of the Recovery Services Recovery Point Id to be restored. This property is only applicable when the `create_mode` is `Recovery`. + * + * @return builder + * + */ + public Builder recoveryPointId(String recoveryPointId) { + return recoveryPointId(Output.of(recoveryPointId)); + } + /** * @param restoreDroppedDatabaseId The ID of the database to be restored. This property is only applicable when the `create_mode` is `Restore`. * @@ -1044,6 +1097,27 @@ public Builder restoreDroppedDatabaseId(String restoreDroppedDatabaseId) { return restoreDroppedDatabaseId(Output.of(restoreDroppedDatabaseId)); } + /** + * @param restoreLongTermRetentionBackupId The ID of the long term retention backup to be restored. This property is only applicable when the `create_mode` is `RestoreLongTermRetentionBackup`. + * + * @return builder + * + */ + public Builder restoreLongTermRetentionBackupId(@Nullable Output restoreLongTermRetentionBackupId) { + $.restoreLongTermRetentionBackupId = restoreLongTermRetentionBackupId; + return this; + } + + /** + * @param restoreLongTermRetentionBackupId The ID of the long term retention backup to be restored. This property is only applicable when the `create_mode` is `RestoreLongTermRetentionBackup`. + * + * @return builder + * + */ + public Builder restoreLongTermRetentionBackupId(String restoreLongTermRetentionBackupId) { + return restoreLongTermRetentionBackupId(Output.of(restoreLongTermRetentionBackupId)); + } + /** * @param restorePointInTime Specifies the point in time (ISO8601 format) of the source database that will be restored to create the new database. This property is only settable for `create_mode`= `PointInTimeRestore` databases. * diff --git a/sdk/java/src/main/java/com/pulumi/azure/mssql/ManagedInstance.java b/sdk/java/src/main/java/com/pulumi/azure/mssql/ManagedInstance.java index 6f5e6a149e..eef65e06a8 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/mssql/ManagedInstance.java +++ b/sdk/java/src/main/java/com/pulumi/azure/mssql/ManagedInstance.java @@ -572,6 +572,12 @@ public Output> timezoneId() { public Output vcores() { return this.vcores; } + @Export(name="zoneRedundantEnabled", refs={Boolean.class}, tree="[0]") + private Output zoneRedundantEnabled; + + public Output> zoneRedundantEnabled() { + return Codegen.optional(this.zoneRedundantEnabled); + } /** * diff --git a/sdk/java/src/main/java/com/pulumi/azure/mssql/ManagedInstanceArgs.java b/sdk/java/src/main/java/com/pulumi/azure/mssql/ManagedInstanceArgs.java index 1b6d70e5f0..00d02fbf66 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/mssql/ManagedInstanceArgs.java +++ b/sdk/java/src/main/java/com/pulumi/azure/mssql/ManagedInstanceArgs.java @@ -320,6 +320,13 @@ public Output vcores() { return this.vcores; } + @Import(name="zoneRedundantEnabled") + private @Nullable Output zoneRedundantEnabled; + + public Optional> zoneRedundantEnabled() { + return Optional.ofNullable(this.zoneRedundantEnabled); + } + private ManagedInstanceArgs() {} private ManagedInstanceArgs(ManagedInstanceArgs $) { @@ -343,6 +350,7 @@ private ManagedInstanceArgs(ManagedInstanceArgs $) { this.tags = $.tags; this.timezoneId = $.timezoneId; this.vcores = $.vcores; + this.zoneRedundantEnabled = $.zoneRedundantEnabled; } public static Builder builder() { @@ -783,6 +791,15 @@ public Builder vcores(Integer vcores) { return vcores(Output.of(vcores)); } + public Builder zoneRedundantEnabled(@Nullable Output zoneRedundantEnabled) { + $.zoneRedundantEnabled = zoneRedundantEnabled; + return this; + } + + public Builder zoneRedundantEnabled(Boolean zoneRedundantEnabled) { + return zoneRedundantEnabled(Output.of(zoneRedundantEnabled)); + } + public ManagedInstanceArgs build() { if ($.administratorLogin == null) { throw new MissingRequiredPropertyException("ManagedInstanceArgs", "administratorLogin"); diff --git a/sdk/java/src/main/java/com/pulumi/azure/mssql/ServerVulnerabilityAssessment.java b/sdk/java/src/main/java/com/pulumi/azure/mssql/ServerVulnerabilityAssessment.java index ac3452c379..d45f30589f 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/mssql/ServerVulnerabilityAssessment.java +++ b/sdk/java/src/main/java/com/pulumi/azure/mssql/ServerVulnerabilityAssessment.java @@ -30,8 +30,8 @@ * import com.pulumi.core.Output; * import com.pulumi.azure.core.ResourceGroup; * import com.pulumi.azure.core.ResourceGroupArgs; - * import com.pulumi.azure.sql.SqlServer; - * import com.pulumi.azure.sql.SqlServerArgs; + * import com.pulumi.azure.mssql.Server; + * import com.pulumi.azure.mssql.ServerArgs; * import com.pulumi.azure.storage.Account; * import com.pulumi.azure.storage.AccountArgs; * import com.pulumi.azure.storage.Container; @@ -59,7 +59,7 @@ * .location("West Europe") * .build()); * - * var exampleSqlServer = new SqlServer("exampleSqlServer", SqlServerArgs.builder() + * var exampleServer = new Server("exampleServer", ServerArgs.builder() * .name("mysqlserver") * .resourceGroupName(example.name()) * .location(example.location()) @@ -84,7 +84,7 @@ * * var exampleServerSecurityAlertPolicy = new ServerSecurityAlertPolicy("exampleServerSecurityAlertPolicy", ServerSecurityAlertPolicyArgs.builder() * .resourceGroupName(example.name()) - * .serverName(exampleSqlServer.name()) + * .serverName(exampleServer.name()) * .state("Enabled") * .build()); * diff --git a/sdk/java/src/main/java/com/pulumi/azure/mssql/inputs/DatabaseState.java b/sdk/java/src/main/java/com/pulumi/azure/mssql/inputs/DatabaseState.java index 8903f1024a..3645823968 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/mssql/inputs/DatabaseState.java +++ b/sdk/java/src/main/java/com/pulumi/azure/mssql/inputs/DatabaseState.java @@ -333,6 +333,21 @@ public Optional> recoverDatabaseId() { return Optional.ofNullable(this.recoverDatabaseId); } + /** + * The ID of the Recovery Services Recovery Point Id to be restored. This property is only applicable when the `create_mode` is `Recovery`. + * + */ + @Import(name="recoveryPointId") + private @Nullable Output recoveryPointId; + + /** + * @return The ID of the Recovery Services Recovery Point Id to be restored. This property is only applicable when the `create_mode` is `Recovery`. + * + */ + public Optional> recoveryPointId() { + return Optional.ofNullable(this.recoveryPointId); + } + /** * The ID of the database to be restored. This property is only applicable when the `create_mode` is `Restore`. * @@ -348,6 +363,21 @@ public Optional> restoreDroppedDatabaseId() { return Optional.ofNullable(this.restoreDroppedDatabaseId); } + /** + * The ID of the long term retention backup to be restored. This property is only applicable when the `create_mode` is `RestoreLongTermRetentionBackup`. + * + */ + @Import(name="restoreLongTermRetentionBackupId") + private @Nullable Output restoreLongTermRetentionBackupId; + + /** + * @return The ID of the long term retention backup to be restored. This property is only applicable when the `create_mode` is `RestoreLongTermRetentionBackup`. + * + */ + public Optional> restoreLongTermRetentionBackupId() { + return Optional.ofNullable(this.restoreLongTermRetentionBackupId); + } + /** * Specifies the point in time (ISO8601 format) of the source database that will be restored to create the new database. This property is only settable for `create_mode`= `PointInTimeRestore` databases. * @@ -566,7 +596,9 @@ private DatabaseState(DatabaseState $) { this.readReplicaCount = $.readReplicaCount; this.readScale = $.readScale; this.recoverDatabaseId = $.recoverDatabaseId; + this.recoveryPointId = $.recoveryPointId; this.restoreDroppedDatabaseId = $.restoreDroppedDatabaseId; + this.restoreLongTermRetentionBackupId = $.restoreLongTermRetentionBackupId; this.restorePointInTime = $.restorePointInTime; this.sampleName = $.sampleName; this.serverId = $.serverId; @@ -1022,6 +1054,27 @@ public Builder recoverDatabaseId(String recoverDatabaseId) { return recoverDatabaseId(Output.of(recoverDatabaseId)); } + /** + * @param recoveryPointId The ID of the Recovery Services Recovery Point Id to be restored. This property is only applicable when the `create_mode` is `Recovery`. + * + * @return builder + * + */ + public Builder recoveryPointId(@Nullable Output recoveryPointId) { + $.recoveryPointId = recoveryPointId; + return this; + } + + /** + * @param recoveryPointId The ID of the Recovery Services Recovery Point Id to be restored. This property is only applicable when the `create_mode` is `Recovery`. + * + * @return builder + * + */ + public Builder recoveryPointId(String recoveryPointId) { + return recoveryPointId(Output.of(recoveryPointId)); + } + /** * @param restoreDroppedDatabaseId The ID of the database to be restored. This property is only applicable when the `create_mode` is `Restore`. * @@ -1043,6 +1096,27 @@ public Builder restoreDroppedDatabaseId(String restoreDroppedDatabaseId) { return restoreDroppedDatabaseId(Output.of(restoreDroppedDatabaseId)); } + /** + * @param restoreLongTermRetentionBackupId The ID of the long term retention backup to be restored. This property is only applicable when the `create_mode` is `RestoreLongTermRetentionBackup`. + * + * @return builder + * + */ + public Builder restoreLongTermRetentionBackupId(@Nullable Output restoreLongTermRetentionBackupId) { + $.restoreLongTermRetentionBackupId = restoreLongTermRetentionBackupId; + return this; + } + + /** + * @param restoreLongTermRetentionBackupId The ID of the long term retention backup to be restored. This property is only applicable when the `create_mode` is `RestoreLongTermRetentionBackup`. + * + * @return builder + * + */ + public Builder restoreLongTermRetentionBackupId(String restoreLongTermRetentionBackupId) { + return restoreLongTermRetentionBackupId(Output.of(restoreLongTermRetentionBackupId)); + } + /** * @param restorePointInTime Specifies the point in time (ISO8601 format) of the source database that will be restored to create the new database. This property is only settable for `create_mode`= `PointInTimeRestore` databases. * diff --git a/sdk/java/src/main/java/com/pulumi/azure/mssql/inputs/ManagedInstanceState.java b/sdk/java/src/main/java/com/pulumi/azure/mssql/inputs/ManagedInstanceState.java index 3244036bf8..ffbead0903 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/mssql/inputs/ManagedInstanceState.java +++ b/sdk/java/src/main/java/com/pulumi/azure/mssql/inputs/ManagedInstanceState.java @@ -349,6 +349,13 @@ public Optional> vcores() { return Optional.ofNullable(this.vcores); } + @Import(name="zoneRedundantEnabled") + private @Nullable Output zoneRedundantEnabled; + + public Optional> zoneRedundantEnabled() { + return Optional.ofNullable(this.zoneRedundantEnabled); + } + private ManagedInstanceState() {} private ManagedInstanceState(ManagedInstanceState $) { @@ -374,6 +381,7 @@ private ManagedInstanceState(ManagedInstanceState $) { this.tags = $.tags; this.timezoneId = $.timezoneId; this.vcores = $.vcores; + this.zoneRedundantEnabled = $.zoneRedundantEnabled; } public static Builder builder() { @@ -856,6 +864,15 @@ public Builder vcores(Integer vcores) { return vcores(Output.of(vcores)); } + public Builder zoneRedundantEnabled(@Nullable Output zoneRedundantEnabled) { + $.zoneRedundantEnabled = zoneRedundantEnabled; + return this; + } + + public Builder zoneRedundantEnabled(Boolean zoneRedundantEnabled) { + return zoneRedundantEnabled(Output.of(zoneRedundantEnabled)); + } + public ManagedInstanceState build() { return $; } diff --git a/sdk/java/src/main/java/com/pulumi/azure/mssql/inputs/ServerAzureadAdministratorArgs.java b/sdk/java/src/main/java/com/pulumi/azure/mssql/inputs/ServerAzureadAdministratorArgs.java index 34e0f34f9e..cc22e110c0 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/mssql/inputs/ServerAzureadAdministratorArgs.java +++ b/sdk/java/src/main/java/com/pulumi/azure/mssql/inputs/ServerAzureadAdministratorArgs.java @@ -18,14 +18,14 @@ public final class ServerAzureadAdministratorArgs extends com.pulumi.resources.R public static final ServerAzureadAdministratorArgs Empty = new ServerAzureadAdministratorArgs(); /** - * Specifies whether only AD Users and administrators (e.g. `azuread_administrator.0.login_username`) can be used to login, or also local database users (e.g. `administrator_login`). When `true`, the `administrator_login` and `administrator_login_password` properties can be omitted. + * Specifies whether only AD Users and administrators (e.g. `azuread_administrator[0].login_username`) can be used to login, or also local database users (e.g. `administrator_login`). When `true`, the `administrator_login` and `administrator_login_password` properties can be omitted. * */ @Import(name="azureadAuthenticationOnly") private @Nullable Output azureadAuthenticationOnly; /** - * @return Specifies whether only AD Users and administrators (e.g. `azuread_administrator.0.login_username`) can be used to login, or also local database users (e.g. `administrator_login`). When `true`, the `administrator_login` and `administrator_login_password` properties can be omitted. + * @return Specifies whether only AD Users and administrators (e.g. `azuread_administrator[0].login_username`) can be used to login, or also local database users (e.g. `administrator_login`). When `true`, the `administrator_login` and `administrator_login_password` properties can be omitted. * */ public Optional> azureadAuthenticationOnly() { @@ -105,7 +105,7 @@ public Builder(ServerAzureadAdministratorArgs defaults) { } /** - * @param azureadAuthenticationOnly Specifies whether only AD Users and administrators (e.g. `azuread_administrator.0.login_username`) can be used to login, or also local database users (e.g. `administrator_login`). When `true`, the `administrator_login` and `administrator_login_password` properties can be omitted. + * @param azureadAuthenticationOnly Specifies whether only AD Users and administrators (e.g. `azuread_administrator[0].login_username`) can be used to login, or also local database users (e.g. `administrator_login`). When `true`, the `administrator_login` and `administrator_login_password` properties can be omitted. * * @return builder * @@ -116,7 +116,7 @@ public Builder azureadAuthenticationOnly(@Nullable Output azureadAuthen } /** - * @param azureadAuthenticationOnly Specifies whether only AD Users and administrators (e.g. `azuread_administrator.0.login_username`) can be used to login, or also local database users (e.g. `administrator_login`). When `true`, the `administrator_login` and `administrator_login_password` properties can be omitted. + * @param azureadAuthenticationOnly Specifies whether only AD Users and administrators (e.g. `azuread_administrator[0].login_username`) can be used to login, or also local database users (e.g. `administrator_login`). When `true`, the `administrator_login` and `administrator_login_password` properties can be omitted. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/azure/mssql/outputs/ServerAzureadAdministrator.java b/sdk/java/src/main/java/com/pulumi/azure/mssql/outputs/ServerAzureadAdministrator.java index 1f0872b7ec..9ab6ca25be 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/mssql/outputs/ServerAzureadAdministrator.java +++ b/sdk/java/src/main/java/com/pulumi/azure/mssql/outputs/ServerAzureadAdministrator.java @@ -14,7 +14,7 @@ @CustomType public final class ServerAzureadAdministrator { /** - * @return Specifies whether only AD Users and administrators (e.g. `azuread_administrator.0.login_username`) can be used to login, or also local database users (e.g. `administrator_login`). When `true`, the `administrator_login` and `administrator_login_password` properties can be omitted. + * @return Specifies whether only AD Users and administrators (e.g. `azuread_administrator[0].login_username`) can be used to login, or also local database users (e.g. `administrator_login`). When `true`, the `administrator_login` and `administrator_login_password` properties can be omitted. * */ private @Nullable Boolean azureadAuthenticationOnly; @@ -36,7 +36,7 @@ public final class ServerAzureadAdministrator { private ServerAzureadAdministrator() {} /** - * @return Specifies whether only AD Users and administrators (e.g. `azuread_administrator.0.login_username`) can be used to login, or also local database users (e.g. `administrator_login`). When `true`, the `administrator_login` and `administrator_login_password` properties can be omitted. + * @return Specifies whether only AD Users and administrators (e.g. `azuread_administrator[0].login_username`) can be used to login, or also local database users (e.g. `administrator_login`). When `true`, the `administrator_login` and `administrator_login_password` properties can be omitted. * */ public Optional azureadAuthenticationOnly() { diff --git a/sdk/java/src/main/java/com/pulumi/azure/mysql/inputs/FlexibleServerHighAvailabilityArgs.java b/sdk/java/src/main/java/com/pulumi/azure/mysql/inputs/FlexibleServerHighAvailabilityArgs.java index ec08534e51..8a306015d7 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/mysql/inputs/FlexibleServerHighAvailabilityArgs.java +++ b/sdk/java/src/main/java/com/pulumi/azure/mysql/inputs/FlexibleServerHighAvailabilityArgs.java @@ -19,7 +19,7 @@ public final class FlexibleServerHighAvailabilityArgs extends com.pulumi.resourc /** * The high availability mode for the MySQL Flexible Server. Possibles values are `SameZone` and `ZoneRedundant`. * - * > **NOTE:** `storage.0.auto_grow_enabled` must be enabled when `high_availability` is enabled. To change the `high_availability` for a MySQL Flexible Server created with `high_availability` disabled during creation, the resource has to be recreated. + * > **NOTE:** `storage[0].auto_grow_enabled` must be enabled when `high_availability` is enabled. To change the `high_availability` for a MySQL Flexible Server created with `high_availability` disabled during creation, the resource has to be recreated. * */ @Import(name="mode", required=true) @@ -28,7 +28,7 @@ public final class FlexibleServerHighAvailabilityArgs extends com.pulumi.resourc /** * @return The high availability mode for the MySQL Flexible Server. Possibles values are `SameZone` and `ZoneRedundant`. * - * > **NOTE:** `storage.0.auto_grow_enabled` must be enabled when `high_availability` is enabled. To change the `high_availability` for a MySQL Flexible Server created with `high_availability` disabled during creation, the resource has to be recreated. + * > **NOTE:** `storage[0].auto_grow_enabled` must be enabled when `high_availability` is enabled. To change the `high_availability` for a MySQL Flexible Server created with `high_availability` disabled during creation, the resource has to be recreated. * */ public Output mode() { @@ -70,7 +70,7 @@ public Builder(FlexibleServerHighAvailabilityArgs defaults) { /** * @param mode The high availability mode for the MySQL Flexible Server. Possibles values are `SameZone` and `ZoneRedundant`. * - * > **NOTE:** `storage.0.auto_grow_enabled` must be enabled when `high_availability` is enabled. To change the `high_availability` for a MySQL Flexible Server created with `high_availability` disabled during creation, the resource has to be recreated. + * > **NOTE:** `storage[0].auto_grow_enabled` must be enabled when `high_availability` is enabled. To change the `high_availability` for a MySQL Flexible Server created with `high_availability` disabled during creation, the resource has to be recreated. * * @return builder * @@ -83,7 +83,7 @@ public Builder mode(Output mode) { /** * @param mode The high availability mode for the MySQL Flexible Server. Possibles values are `SameZone` and `ZoneRedundant`. * - * > **NOTE:** `storage.0.auto_grow_enabled` must be enabled when `high_availability` is enabled. To change the `high_availability` for a MySQL Flexible Server created with `high_availability` disabled during creation, the resource has to be recreated. + * > **NOTE:** `storage[0].auto_grow_enabled` must be enabled when `high_availability` is enabled. To change the `high_availability` for a MySQL Flexible Server created with `high_availability` disabled during creation, the resource has to be recreated. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/azure/mysql/outputs/FlexibleServerHighAvailability.java b/sdk/java/src/main/java/com/pulumi/azure/mysql/outputs/FlexibleServerHighAvailability.java index 091158b932..e539562526 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/mysql/outputs/FlexibleServerHighAvailability.java +++ b/sdk/java/src/main/java/com/pulumi/azure/mysql/outputs/FlexibleServerHighAvailability.java @@ -15,7 +15,7 @@ public final class FlexibleServerHighAvailability { /** * @return The high availability mode for the MySQL Flexible Server. Possibles values are `SameZone` and `ZoneRedundant`. * - * > **NOTE:** `storage.0.auto_grow_enabled` must be enabled when `high_availability` is enabled. To change the `high_availability` for a MySQL Flexible Server created with `high_availability` disabled during creation, the resource has to be recreated. + * > **NOTE:** `storage[0].auto_grow_enabled` must be enabled when `high_availability` is enabled. To change the `high_availability` for a MySQL Flexible Server created with `high_availability` disabled during creation, the resource has to be recreated. * */ private String mode; @@ -25,7 +25,7 @@ private FlexibleServerHighAvailability() {} /** * @return The high availability mode for the MySQL Flexible Server. Possibles values are `SameZone` and `ZoneRedundant`. * - * > **NOTE:** `storage.0.auto_grow_enabled` must be enabled when `high_availability` is enabled. To change the `high_availability` for a MySQL Flexible Server created with `high_availability` disabled during creation, the resource has to be recreated. + * > **NOTE:** `storage[0].auto_grow_enabled` must be enabled when `high_availability` is enabled. To change the `high_availability` for a MySQL Flexible Server created with `high_availability` disabled during creation, the resource has to be recreated. * */ public String mode() { diff --git a/sdk/java/src/main/java/com/pulumi/azure/netapp/Pool.java b/sdk/java/src/main/java/com/pulumi/azure/netapp/Pool.java index fcd57dd48f..b5449ebf3d 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/netapp/Pool.java +++ b/sdk/java/src/main/java/com/pulumi/azure/netapp/Pool.java @@ -94,6 +94,20 @@ public class Pool extends com.pulumi.resources.CustomResource { public Output accountName() { return this.accountName; } + /** + * The encryption type of the pool. Valid values include `Single`, and `Double`. Defaults to `Single`. Changing this forces a new resource to be created. + * + */ + @Export(name="encryptionType", refs={String.class}, tree="[0]") + private Output encryptionType; + + /** + * @return The encryption type of the pool. Valid values include `Single`, and `Double`. Defaults to `Single`. Changing this forces a new resource to be created. + * + */ + public Output> encryptionType() { + return Codegen.optional(this.encryptionType); + } /** * Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created. * @@ -151,14 +165,14 @@ public Output resourceGroupName() { return this.resourceGroupName; } /** - * The service level of the file system. Valid values include `Premium`, `Standard`, or `Ultra`. Changing this forces a new resource to be created. + * The service level of the file system. Valid values include `Premium`, `Standard`, and `Ultra`. Changing this forces a new resource to be created. * */ @Export(name="serviceLevel", refs={String.class}, tree="[0]") private Output serviceLevel; /** - * @return The service level of the file system. Valid values include `Premium`, `Standard`, or `Ultra`. Changing this forces a new resource to be created. + * @return The service level of the file system. Valid values include `Premium`, `Standard`, and `Ultra`. Changing this forces a new resource to be created. * */ public Output serviceLevel() { diff --git a/sdk/java/src/main/java/com/pulumi/azure/netapp/PoolArgs.java b/sdk/java/src/main/java/com/pulumi/azure/netapp/PoolArgs.java index c9e479abbf..25f1aceba6 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/netapp/PoolArgs.java +++ b/sdk/java/src/main/java/com/pulumi/azure/netapp/PoolArgs.java @@ -33,6 +33,21 @@ public Output accountName() { return this.accountName; } + /** + * The encryption type of the pool. Valid values include `Single`, and `Double`. Defaults to `Single`. Changing this forces a new resource to be created. + * + */ + @Import(name="encryptionType") + private @Nullable Output encryptionType; + + /** + * @return The encryption type of the pool. Valid values include `Single`, and `Double`. Defaults to `Single`. Changing this forces a new resource to be created. + * + */ + public Optional> encryptionType() { + return Optional.ofNullable(this.encryptionType); + } + /** * Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created. * @@ -94,14 +109,14 @@ public Output resourceGroupName() { } /** - * The service level of the file system. Valid values include `Premium`, `Standard`, or `Ultra`. Changing this forces a new resource to be created. + * The service level of the file system. Valid values include `Premium`, `Standard`, and `Ultra`. Changing this forces a new resource to be created. * */ @Import(name="serviceLevel", required=true) private Output serviceLevel; /** - * @return The service level of the file system. Valid values include `Premium`, `Standard`, or `Ultra`. Changing this forces a new resource to be created. + * @return The service level of the file system. Valid values include `Premium`, `Standard`, and `Ultra`. Changing this forces a new resource to be created. * */ public Output serviceLevel() { @@ -146,6 +161,7 @@ private PoolArgs() {} private PoolArgs(PoolArgs $) { this.accountName = $.accountName; + this.encryptionType = $.encryptionType; this.location = $.location; this.name = $.name; this.qosType = $.qosType; @@ -194,6 +210,27 @@ public Builder accountName(String accountName) { return accountName(Output.of(accountName)); } + /** + * @param encryptionType The encryption type of the pool. Valid values include `Single`, and `Double`. Defaults to `Single`. Changing this forces a new resource to be created. + * + * @return builder + * + */ + public Builder encryptionType(@Nullable Output encryptionType) { + $.encryptionType = encryptionType; + return this; + } + + /** + * @param encryptionType The encryption type of the pool. Valid values include `Single`, and `Double`. Defaults to `Single`. Changing this forces a new resource to be created. + * + * @return builder + * + */ + public Builder encryptionType(String encryptionType) { + return encryptionType(Output.of(encryptionType)); + } + /** * @param location Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created. * @@ -279,7 +316,7 @@ public Builder resourceGroupName(String resourceGroupName) { } /** - * @param serviceLevel The service level of the file system. Valid values include `Premium`, `Standard`, or `Ultra`. Changing this forces a new resource to be created. + * @param serviceLevel The service level of the file system. Valid values include `Premium`, `Standard`, and `Ultra`. Changing this forces a new resource to be created. * * @return builder * @@ -290,7 +327,7 @@ public Builder serviceLevel(Output serviceLevel) { } /** - * @param serviceLevel The service level of the file system. Valid values include `Premium`, `Standard`, or `Ultra`. Changing this forces a new resource to be created. + * @param serviceLevel The service level of the file system. Valid values include `Premium`, `Standard`, and `Ultra`. Changing this forces a new resource to be created. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/azure/netapp/Volume.java b/sdk/java/src/main/java/com/pulumi/azure/netapp/Volume.java index c03541a90a..7fbe9114e5 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/netapp/Volume.java +++ b/sdk/java/src/main/java/com/pulumi/azure/netapp/Volume.java @@ -272,6 +272,34 @@ public Output securityStyle() { public Output serviceLevel() { return this.serviceLevel; } + /** + * Limits enumeration of files and folders (that is, listing the contents) in SMB only to users with allowed access on the share. For instance, if a user doesn't have access to read a file or folder in a share with access-based enumeration enabled, then the file or folder doesn't show up in directory listings. Defaults to `false`. For more information, please refer to [Understand NAS share permissions in Azure NetApp Files](https://learn.microsoft.com/en-us/azure/azure-netapp-files/network-attached-storage-permissions#:~:text=security%20for%20administrators.-,Access%2Dbased%20enumeration,in%20an%20Azure%20NetApp%20Files%20SMB%20volume.%20Only%20contosoadmin%20has%20access.,-In%20the%20below) + * + */ + @Export(name="smbAccessBasedEnumerationEnabled", refs={Boolean.class}, tree="[0]") + private Output smbAccessBasedEnumerationEnabled; + + /** + * @return Limits enumeration of files and folders (that is, listing the contents) in SMB only to users with allowed access on the share. For instance, if a user doesn't have access to read a file or folder in a share with access-based enumeration enabled, then the file or folder doesn't show up in directory listings. Defaults to `false`. For more information, please refer to [Understand NAS share permissions in Azure NetApp Files](https://learn.microsoft.com/en-us/azure/azure-netapp-files/network-attached-storage-permissions#:~:text=security%20for%20administrators.-,Access%2Dbased%20enumeration,in%20an%20Azure%20NetApp%20Files%20SMB%20volume.%20Only%20contosoadmin%20has%20access.,-In%20the%20below) + * + */ + public Output> smbAccessBasedEnumerationEnabled() { + return Codegen.optional(this.smbAccessBasedEnumerationEnabled); + } + /** + * Limits clients from browsing for an SMB share by hiding the share from view in Windows Explorer or when listing shares in "net view." Only end users that know the absolute paths to the share are able to find the share. Defaults to `false`. For more information, please refer to [Understand NAS share permissions in Azure NetApp Files](https://learn.microsoft.com/en-us/azure/azure-netapp-files/network-attached-storage-permissions#:~:text=Non%2Dbrowsable%20shares,find%20the%20share.) + * + */ + @Export(name="smbNonBrowsableEnabled", refs={Boolean.class}, tree="[0]") + private Output smbNonBrowsableEnabled; + + /** + * @return Limits clients from browsing for an SMB share by hiding the share from view in Windows Explorer or when listing shares in "net view." Only end users that know the absolute paths to the share are able to find the share. Defaults to `false`. For more information, please refer to [Understand NAS share permissions in Azure NetApp Files](https://learn.microsoft.com/en-us/azure/azure-netapp-files/network-attached-storage-permissions#:~:text=Non%2Dbrowsable%20shares,find%20the%20share.) + * + */ + public Output> smbNonBrowsableEnabled() { + return Codegen.optional(this.smbNonBrowsableEnabled); + } /** * Specifies whether the .snapshot (NFS clients) or ~snapshot (SMB clients) path of a volume is visible, default value is true. * diff --git a/sdk/java/src/main/java/com/pulumi/azure/netapp/VolumeArgs.java b/sdk/java/src/main/java/com/pulumi/azure/netapp/VolumeArgs.java index c2d9530041..58f04bf521 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/netapp/VolumeArgs.java +++ b/sdk/java/src/main/java/com/pulumi/azure/netapp/VolumeArgs.java @@ -264,6 +264,36 @@ public Output serviceLevel() { return this.serviceLevel; } + /** + * Limits enumeration of files and folders (that is, listing the contents) in SMB only to users with allowed access on the share. For instance, if a user doesn't have access to read a file or folder in a share with access-based enumeration enabled, then the file or folder doesn't show up in directory listings. Defaults to `false`. For more information, please refer to [Understand NAS share permissions in Azure NetApp Files](https://learn.microsoft.com/en-us/azure/azure-netapp-files/network-attached-storage-permissions#:~:text=security%20for%20administrators.-,Access%2Dbased%20enumeration,in%20an%20Azure%20NetApp%20Files%20SMB%20volume.%20Only%20contosoadmin%20has%20access.,-In%20the%20below) + * + */ + @Import(name="smbAccessBasedEnumerationEnabled") + private @Nullable Output smbAccessBasedEnumerationEnabled; + + /** + * @return Limits enumeration of files and folders (that is, listing the contents) in SMB only to users with allowed access on the share. For instance, if a user doesn't have access to read a file or folder in a share with access-based enumeration enabled, then the file or folder doesn't show up in directory listings. Defaults to `false`. For more information, please refer to [Understand NAS share permissions in Azure NetApp Files](https://learn.microsoft.com/en-us/azure/azure-netapp-files/network-attached-storage-permissions#:~:text=security%20for%20administrators.-,Access%2Dbased%20enumeration,in%20an%20Azure%20NetApp%20Files%20SMB%20volume.%20Only%20contosoadmin%20has%20access.,-In%20the%20below) + * + */ + public Optional> smbAccessBasedEnumerationEnabled() { + return Optional.ofNullable(this.smbAccessBasedEnumerationEnabled); + } + + /** + * Limits clients from browsing for an SMB share by hiding the share from view in Windows Explorer or when listing shares in "net view." Only end users that know the absolute paths to the share are able to find the share. Defaults to `false`. For more information, please refer to [Understand NAS share permissions in Azure NetApp Files](https://learn.microsoft.com/en-us/azure/azure-netapp-files/network-attached-storage-permissions#:~:text=Non%2Dbrowsable%20shares,find%20the%20share.) + * + */ + @Import(name="smbNonBrowsableEnabled") + private @Nullable Output smbNonBrowsableEnabled; + + /** + * @return Limits clients from browsing for an SMB share by hiding the share from view in Windows Explorer or when listing shares in "net view." Only end users that know the absolute paths to the share are able to find the share. Defaults to `false`. For more information, please refer to [Understand NAS share permissions in Azure NetApp Files](https://learn.microsoft.com/en-us/azure/azure-netapp-files/network-attached-storage-permissions#:~:text=Non%2Dbrowsable%20shares,find%20the%20share.) + * + */ + public Optional> smbNonBrowsableEnabled() { + return Optional.ofNullable(this.smbNonBrowsableEnabled); + } + /** * Specifies whether the .snapshot (NFS clients) or ~snapshot (SMB clients) path of a volume is visible, default value is true. * @@ -392,6 +422,8 @@ private VolumeArgs(VolumeArgs $) { this.resourceGroupName = $.resourceGroupName; this.securityStyle = $.securityStyle; this.serviceLevel = $.serviceLevel; + this.smbAccessBasedEnumerationEnabled = $.smbAccessBasedEnumerationEnabled; + this.smbNonBrowsableEnabled = $.smbNonBrowsableEnabled; this.snapshotDirectoryVisible = $.snapshotDirectoryVisible; this.storageQuotaInGb = $.storageQuotaInGb; this.subnetId = $.subnetId; @@ -775,6 +807,48 @@ public Builder serviceLevel(String serviceLevel) { return serviceLevel(Output.of(serviceLevel)); } + /** + * @param smbAccessBasedEnumerationEnabled Limits enumeration of files and folders (that is, listing the contents) in SMB only to users with allowed access on the share. For instance, if a user doesn't have access to read a file or folder in a share with access-based enumeration enabled, then the file or folder doesn't show up in directory listings. Defaults to `false`. For more information, please refer to [Understand NAS share permissions in Azure NetApp Files](https://learn.microsoft.com/en-us/azure/azure-netapp-files/network-attached-storage-permissions#:~:text=security%20for%20administrators.-,Access%2Dbased%20enumeration,in%20an%20Azure%20NetApp%20Files%20SMB%20volume.%20Only%20contosoadmin%20has%20access.,-In%20the%20below) + * + * @return builder + * + */ + public Builder smbAccessBasedEnumerationEnabled(@Nullable Output smbAccessBasedEnumerationEnabled) { + $.smbAccessBasedEnumerationEnabled = smbAccessBasedEnumerationEnabled; + return this; + } + + /** + * @param smbAccessBasedEnumerationEnabled Limits enumeration of files and folders (that is, listing the contents) in SMB only to users with allowed access on the share. For instance, if a user doesn't have access to read a file or folder in a share with access-based enumeration enabled, then the file or folder doesn't show up in directory listings. Defaults to `false`. For more information, please refer to [Understand NAS share permissions in Azure NetApp Files](https://learn.microsoft.com/en-us/azure/azure-netapp-files/network-attached-storage-permissions#:~:text=security%20for%20administrators.-,Access%2Dbased%20enumeration,in%20an%20Azure%20NetApp%20Files%20SMB%20volume.%20Only%20contosoadmin%20has%20access.,-In%20the%20below) + * + * @return builder + * + */ + public Builder smbAccessBasedEnumerationEnabled(Boolean smbAccessBasedEnumerationEnabled) { + return smbAccessBasedEnumerationEnabled(Output.of(smbAccessBasedEnumerationEnabled)); + } + + /** + * @param smbNonBrowsableEnabled Limits clients from browsing for an SMB share by hiding the share from view in Windows Explorer or when listing shares in "net view." Only end users that know the absolute paths to the share are able to find the share. Defaults to `false`. For more information, please refer to [Understand NAS share permissions in Azure NetApp Files](https://learn.microsoft.com/en-us/azure/azure-netapp-files/network-attached-storage-permissions#:~:text=Non%2Dbrowsable%20shares,find%20the%20share.) + * + * @return builder + * + */ + public Builder smbNonBrowsableEnabled(@Nullable Output smbNonBrowsableEnabled) { + $.smbNonBrowsableEnabled = smbNonBrowsableEnabled; + return this; + } + + /** + * @param smbNonBrowsableEnabled Limits clients from browsing for an SMB share by hiding the share from view in Windows Explorer or when listing shares in "net view." Only end users that know the absolute paths to the share are able to find the share. Defaults to `false`. For more information, please refer to [Understand NAS share permissions in Azure NetApp Files](https://learn.microsoft.com/en-us/azure/azure-netapp-files/network-attached-storage-permissions#:~:text=Non%2Dbrowsable%20shares,find%20the%20share.) + * + * @return builder + * + */ + public Builder smbNonBrowsableEnabled(Boolean smbNonBrowsableEnabled) { + return smbNonBrowsableEnabled(Output.of(smbNonBrowsableEnabled)); + } + /** * @param snapshotDirectoryVisible Specifies whether the .snapshot (NFS clients) or ~snapshot (SMB clients) path of a volume is visible, default value is true. * diff --git a/sdk/java/src/main/java/com/pulumi/azure/netapp/inputs/PoolState.java b/sdk/java/src/main/java/com/pulumi/azure/netapp/inputs/PoolState.java index 08d34fd738..30384525a1 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/netapp/inputs/PoolState.java +++ b/sdk/java/src/main/java/com/pulumi/azure/netapp/inputs/PoolState.java @@ -32,6 +32,21 @@ public Optional> accountName() { return Optional.ofNullable(this.accountName); } + /** + * The encryption type of the pool. Valid values include `Single`, and `Double`. Defaults to `Single`. Changing this forces a new resource to be created. + * + */ + @Import(name="encryptionType") + private @Nullable Output encryptionType; + + /** + * @return The encryption type of the pool. Valid values include `Single`, and `Double`. Defaults to `Single`. Changing this forces a new resource to be created. + * + */ + public Optional> encryptionType() { + return Optional.ofNullable(this.encryptionType); + } + /** * Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created. * @@ -93,14 +108,14 @@ public Optional> resourceGroupName() { } /** - * The service level of the file system. Valid values include `Premium`, `Standard`, or `Ultra`. Changing this forces a new resource to be created. + * The service level of the file system. Valid values include `Premium`, `Standard`, and `Ultra`. Changing this forces a new resource to be created. * */ @Import(name="serviceLevel") private @Nullable Output serviceLevel; /** - * @return The service level of the file system. Valid values include `Premium`, `Standard`, or `Ultra`. Changing this forces a new resource to be created. + * @return The service level of the file system. Valid values include `Premium`, `Standard`, and `Ultra`. Changing this forces a new resource to be created. * */ public Optional> serviceLevel() { @@ -145,6 +160,7 @@ private PoolState() {} private PoolState(PoolState $) { this.accountName = $.accountName; + this.encryptionType = $.encryptionType; this.location = $.location; this.name = $.name; this.qosType = $.qosType; @@ -193,6 +209,27 @@ public Builder accountName(String accountName) { return accountName(Output.of(accountName)); } + /** + * @param encryptionType The encryption type of the pool. Valid values include `Single`, and `Double`. Defaults to `Single`. Changing this forces a new resource to be created. + * + * @return builder + * + */ + public Builder encryptionType(@Nullable Output encryptionType) { + $.encryptionType = encryptionType; + return this; + } + + /** + * @param encryptionType The encryption type of the pool. Valid values include `Single`, and `Double`. Defaults to `Single`. Changing this forces a new resource to be created. + * + * @return builder + * + */ + public Builder encryptionType(String encryptionType) { + return encryptionType(Output.of(encryptionType)); + } + /** * @param location Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created. * @@ -278,7 +315,7 @@ public Builder resourceGroupName(String resourceGroupName) { } /** - * @param serviceLevel The service level of the file system. Valid values include `Premium`, `Standard`, or `Ultra`. Changing this forces a new resource to be created. + * @param serviceLevel The service level of the file system. Valid values include `Premium`, `Standard`, and `Ultra`. Changing this forces a new resource to be created. * * @return builder * @@ -289,7 +326,7 @@ public Builder serviceLevel(@Nullable Output serviceLevel) { } /** - * @param serviceLevel The service level of the file system. Valid values include `Premium`, `Standard`, or `Ultra`. Changing this forces a new resource to be created. + * @param serviceLevel The service level of the file system. Valid values include `Premium`, `Standard`, and `Ultra`. Changing this forces a new resource to be created. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/azure/netapp/inputs/VolumeState.java b/sdk/java/src/main/java/com/pulumi/azure/netapp/inputs/VolumeState.java index 3dd927dfdd..a10fb5ce88 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/netapp/inputs/VolumeState.java +++ b/sdk/java/src/main/java/com/pulumi/azure/netapp/inputs/VolumeState.java @@ -278,6 +278,36 @@ public Optional> serviceLevel() { return Optional.ofNullable(this.serviceLevel); } + /** + * Limits enumeration of files and folders (that is, listing the contents) in SMB only to users with allowed access on the share. For instance, if a user doesn't have access to read a file or folder in a share with access-based enumeration enabled, then the file or folder doesn't show up in directory listings. Defaults to `false`. For more information, please refer to [Understand NAS share permissions in Azure NetApp Files](https://learn.microsoft.com/en-us/azure/azure-netapp-files/network-attached-storage-permissions#:~:text=security%20for%20administrators.-,Access%2Dbased%20enumeration,in%20an%20Azure%20NetApp%20Files%20SMB%20volume.%20Only%20contosoadmin%20has%20access.,-In%20the%20below) + * + */ + @Import(name="smbAccessBasedEnumerationEnabled") + private @Nullable Output smbAccessBasedEnumerationEnabled; + + /** + * @return Limits enumeration of files and folders (that is, listing the contents) in SMB only to users with allowed access on the share. For instance, if a user doesn't have access to read a file or folder in a share with access-based enumeration enabled, then the file or folder doesn't show up in directory listings. Defaults to `false`. For more information, please refer to [Understand NAS share permissions in Azure NetApp Files](https://learn.microsoft.com/en-us/azure/azure-netapp-files/network-attached-storage-permissions#:~:text=security%20for%20administrators.-,Access%2Dbased%20enumeration,in%20an%20Azure%20NetApp%20Files%20SMB%20volume.%20Only%20contosoadmin%20has%20access.,-In%20the%20below) + * + */ + public Optional> smbAccessBasedEnumerationEnabled() { + return Optional.ofNullable(this.smbAccessBasedEnumerationEnabled); + } + + /** + * Limits clients from browsing for an SMB share by hiding the share from view in Windows Explorer or when listing shares in "net view." Only end users that know the absolute paths to the share are able to find the share. Defaults to `false`. For more information, please refer to [Understand NAS share permissions in Azure NetApp Files](https://learn.microsoft.com/en-us/azure/azure-netapp-files/network-attached-storage-permissions#:~:text=Non%2Dbrowsable%20shares,find%20the%20share.) + * + */ + @Import(name="smbNonBrowsableEnabled") + private @Nullable Output smbNonBrowsableEnabled; + + /** + * @return Limits clients from browsing for an SMB share by hiding the share from view in Windows Explorer or when listing shares in "net view." Only end users that know the absolute paths to the share are able to find the share. Defaults to `false`. For more information, please refer to [Understand NAS share permissions in Azure NetApp Files](https://learn.microsoft.com/en-us/azure/azure-netapp-files/network-attached-storage-permissions#:~:text=Non%2Dbrowsable%20shares,find%20the%20share.) + * + */ + public Optional> smbNonBrowsableEnabled() { + return Optional.ofNullable(this.smbNonBrowsableEnabled); + } + /** * Specifies whether the .snapshot (NFS clients) or ~snapshot (SMB clients) path of a volume is visible, default value is true. * @@ -407,6 +437,8 @@ private VolumeState(VolumeState $) { this.resourceGroupName = $.resourceGroupName; this.securityStyle = $.securityStyle; this.serviceLevel = $.serviceLevel; + this.smbAccessBasedEnumerationEnabled = $.smbAccessBasedEnumerationEnabled; + this.smbNonBrowsableEnabled = $.smbNonBrowsableEnabled; this.snapshotDirectoryVisible = $.snapshotDirectoryVisible; this.storageQuotaInGb = $.storageQuotaInGb; this.subnetId = $.subnetId; @@ -821,6 +853,48 @@ public Builder serviceLevel(String serviceLevel) { return serviceLevel(Output.of(serviceLevel)); } + /** + * @param smbAccessBasedEnumerationEnabled Limits enumeration of files and folders (that is, listing the contents) in SMB only to users with allowed access on the share. For instance, if a user doesn't have access to read a file or folder in a share with access-based enumeration enabled, then the file or folder doesn't show up in directory listings. Defaults to `false`. For more information, please refer to [Understand NAS share permissions in Azure NetApp Files](https://learn.microsoft.com/en-us/azure/azure-netapp-files/network-attached-storage-permissions#:~:text=security%20for%20administrators.-,Access%2Dbased%20enumeration,in%20an%20Azure%20NetApp%20Files%20SMB%20volume.%20Only%20contosoadmin%20has%20access.,-In%20the%20below) + * + * @return builder + * + */ + public Builder smbAccessBasedEnumerationEnabled(@Nullable Output smbAccessBasedEnumerationEnabled) { + $.smbAccessBasedEnumerationEnabled = smbAccessBasedEnumerationEnabled; + return this; + } + + /** + * @param smbAccessBasedEnumerationEnabled Limits enumeration of files and folders (that is, listing the contents) in SMB only to users with allowed access on the share. For instance, if a user doesn't have access to read a file or folder in a share with access-based enumeration enabled, then the file or folder doesn't show up in directory listings. Defaults to `false`. For more information, please refer to [Understand NAS share permissions in Azure NetApp Files](https://learn.microsoft.com/en-us/azure/azure-netapp-files/network-attached-storage-permissions#:~:text=security%20for%20administrators.-,Access%2Dbased%20enumeration,in%20an%20Azure%20NetApp%20Files%20SMB%20volume.%20Only%20contosoadmin%20has%20access.,-In%20the%20below) + * + * @return builder + * + */ + public Builder smbAccessBasedEnumerationEnabled(Boolean smbAccessBasedEnumerationEnabled) { + return smbAccessBasedEnumerationEnabled(Output.of(smbAccessBasedEnumerationEnabled)); + } + + /** + * @param smbNonBrowsableEnabled Limits clients from browsing for an SMB share by hiding the share from view in Windows Explorer or when listing shares in "net view." Only end users that know the absolute paths to the share are able to find the share. Defaults to `false`. For more information, please refer to [Understand NAS share permissions in Azure NetApp Files](https://learn.microsoft.com/en-us/azure/azure-netapp-files/network-attached-storage-permissions#:~:text=Non%2Dbrowsable%20shares,find%20the%20share.) + * + * @return builder + * + */ + public Builder smbNonBrowsableEnabled(@Nullable Output smbNonBrowsableEnabled) { + $.smbNonBrowsableEnabled = smbNonBrowsableEnabled; + return this; + } + + /** + * @param smbNonBrowsableEnabled Limits clients from browsing for an SMB share by hiding the share from view in Windows Explorer or when listing shares in "net view." Only end users that know the absolute paths to the share are able to find the share. Defaults to `false`. For more information, please refer to [Understand NAS share permissions in Azure NetApp Files](https://learn.microsoft.com/en-us/azure/azure-netapp-files/network-attached-storage-permissions#:~:text=Non%2Dbrowsable%20shares,find%20the%20share.) + * + * @return builder + * + */ + public Builder smbNonBrowsableEnabled(Boolean smbNonBrowsableEnabled) { + return smbNonBrowsableEnabled(Output.of(smbNonBrowsableEnabled)); + } + /** * @param snapshotDirectoryVisible Specifies whether the .snapshot (NFS clients) or ~snapshot (SMB clients) path of a volume is visible, default value is true. * diff --git a/sdk/java/src/main/java/com/pulumi/azure/netapp/outputs/GetPoolResult.java b/sdk/java/src/main/java/com/pulumi/azure/netapp/outputs/GetPoolResult.java index 1e8cfa2c29..778cfc69e7 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/netapp/outputs/GetPoolResult.java +++ b/sdk/java/src/main/java/com/pulumi/azure/netapp/outputs/GetPoolResult.java @@ -12,6 +12,11 @@ @CustomType public final class GetPoolResult { private String accountName; + /** + * @return The encryption type of the pool. + * + */ + private String encryptionType; /** * @return The provider-assigned unique ID for this managed resource. * @@ -39,6 +44,13 @@ private GetPoolResult() {} public String accountName() { return this.accountName; } + /** + * @return The encryption type of the pool. + * + */ + public String encryptionType() { + return this.encryptionType; + } /** * @return The provider-assigned unique ID for this managed resource. * @@ -84,6 +96,7 @@ public static Builder builder(GetPoolResult defaults) { @CustomType.Builder public static final class Builder { private String accountName; + private String encryptionType; private String id; private String location; private String name; @@ -94,6 +107,7 @@ public Builder() {} public Builder(GetPoolResult defaults) { Objects.requireNonNull(defaults); this.accountName = defaults.accountName; + this.encryptionType = defaults.encryptionType; this.id = defaults.id; this.location = defaults.location; this.name = defaults.name; @@ -111,6 +125,14 @@ public Builder accountName(String accountName) { return this; } @CustomType.Setter + public Builder encryptionType(String encryptionType) { + if (encryptionType == null) { + throw new MissingRequiredPropertyException("GetPoolResult", "encryptionType"); + } + this.encryptionType = encryptionType; + return this; + } + @CustomType.Setter public Builder id(String id) { if (id == null) { throw new MissingRequiredPropertyException("GetPoolResult", "id"); @@ -161,6 +183,7 @@ public Builder sizeInTb(Integer sizeInTb) { public GetPoolResult build() { final var _resultValue = new GetPoolResult(); _resultValue.accountName = accountName; + _resultValue.encryptionType = encryptionType; _resultValue.id = id; _resultValue.location = location; _resultValue.name = name; diff --git a/sdk/java/src/main/java/com/pulumi/azure/netapp/outputs/GetVolumeResult.java b/sdk/java/src/main/java/com/pulumi/azure/netapp/outputs/GetVolumeResult.java index 2e65fd35e5..5a94bee2f7 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/netapp/outputs/GetVolumeResult.java +++ b/sdk/java/src/main/java/com/pulumi/azure/netapp/outputs/GetVolumeResult.java @@ -6,6 +6,7 @@ import com.pulumi.azure.netapp.outputs.GetVolumeDataProtectionReplication; import com.pulumi.core.annotations.CustomType; import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.Boolean; import java.lang.Integer; import java.lang.String; import java.util.List; @@ -61,6 +62,17 @@ public final class GetVolumeResult { * */ private String serviceLevel; + /** + * @return Limits enumeration of files and folders (that is, listing the contents) in SMB only to users with allowed access on the share. + * --- + * + */ + private Boolean smbAccessBasedEnumerationEnabled; + /** + * @return Limits clients from browsing for an SMB share. + * + */ + private Boolean smbNonBrowsableEnabled; /** * @return The maximum Storage Quota in Gigabytes allowed for a file system. * @@ -157,6 +169,21 @@ public Optional securityStyle() { public String serviceLevel() { return this.serviceLevel; } + /** + * @return Limits enumeration of files and folders (that is, listing the contents) in SMB only to users with allowed access on the share. + * --- + * + */ + public Boolean smbAccessBasedEnumerationEnabled() { + return this.smbAccessBasedEnumerationEnabled; + } + /** + * @return Limits clients from browsing for an SMB share. + * + */ + public Boolean smbNonBrowsableEnabled() { + return this.smbNonBrowsableEnabled; + } /** * @return The maximum Storage Quota in Gigabytes allowed for a file system. * @@ -209,6 +236,8 @@ public static final class Builder { private String resourceGroupName; private @Nullable String securityStyle; private String serviceLevel; + private Boolean smbAccessBasedEnumerationEnabled; + private Boolean smbNonBrowsableEnabled; private Integer storageQuotaInGb; private String subnetId; private String volumePath; @@ -230,6 +259,8 @@ public Builder(GetVolumeResult defaults) { this.resourceGroupName = defaults.resourceGroupName; this.securityStyle = defaults.securityStyle; this.serviceLevel = defaults.serviceLevel; + this.smbAccessBasedEnumerationEnabled = defaults.smbAccessBasedEnumerationEnabled; + this.smbNonBrowsableEnabled = defaults.smbNonBrowsableEnabled; this.storageQuotaInGb = defaults.storageQuotaInGb; this.subnetId = defaults.subnetId; this.volumePath = defaults.volumePath; @@ -356,6 +387,22 @@ public Builder serviceLevel(String serviceLevel) { return this; } @CustomType.Setter + public Builder smbAccessBasedEnumerationEnabled(Boolean smbAccessBasedEnumerationEnabled) { + if (smbAccessBasedEnumerationEnabled == null) { + throw new MissingRequiredPropertyException("GetVolumeResult", "smbAccessBasedEnumerationEnabled"); + } + this.smbAccessBasedEnumerationEnabled = smbAccessBasedEnumerationEnabled; + return this; + } + @CustomType.Setter + public Builder smbNonBrowsableEnabled(Boolean smbNonBrowsableEnabled) { + if (smbNonBrowsableEnabled == null) { + throw new MissingRequiredPropertyException("GetVolumeResult", "smbNonBrowsableEnabled"); + } + this.smbNonBrowsableEnabled = smbNonBrowsableEnabled; + return this; + } + @CustomType.Setter public Builder storageQuotaInGb(Integer storageQuotaInGb) { if (storageQuotaInGb == null) { throw new MissingRequiredPropertyException("GetVolumeResult", "storageQuotaInGb"); @@ -403,6 +450,8 @@ public GetVolumeResult build() { _resultValue.resourceGroupName = resourceGroupName; _resultValue.securityStyle = securityStyle; _resultValue.serviceLevel = serviceLevel; + _resultValue.smbAccessBasedEnumerationEnabled = smbAccessBasedEnumerationEnabled; + _resultValue.smbNonBrowsableEnabled = smbNonBrowsableEnabled; _resultValue.storageQuotaInGb = storageQuotaInGb; _resultValue.subnetId = subnetId; _resultValue.volumePath = volumePath; diff --git a/sdk/java/src/main/java/com/pulumi/azure/network/inputs/ApplicationGatewayRequestRoutingRuleArgs.java b/sdk/java/src/main/java/com/pulumi/azure/network/inputs/ApplicationGatewayRequestRoutingRuleArgs.java index 06f450b681..3731a6147a 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/network/inputs/ApplicationGatewayRequestRoutingRuleArgs.java +++ b/sdk/java/src/main/java/com/pulumi/azure/network/inputs/ApplicationGatewayRequestRoutingRuleArgs.java @@ -140,7 +140,7 @@ public Output name() { /** * Rule evaluation order can be dictated by specifying an integer value from `1` to `20000` with `1` being the highest priority and `20000` being the lowest priority. * - * > **NOTE:** `priority` is required when `sku.0.tier` is set to `*_v2`. + * > **NOTE:** `priority` is required when `sku[0].tier` is set to `*_v2`. * */ @Import(name="priority") @@ -149,7 +149,7 @@ public Output name() { /** * @return Rule evaluation order can be dictated by specifying an integer value from `1` to `20000` with `1` being the highest priority and `20000` being the lowest priority. * - * > **NOTE:** `priority` is required when `sku.0.tier` is set to `*_v2`. + * > **NOTE:** `priority` is required when `sku[0].tier` is set to `*_v2`. * */ public Optional> priority() { @@ -475,7 +475,7 @@ public Builder name(String name) { /** * @param priority Rule evaluation order can be dictated by specifying an integer value from `1` to `20000` with `1` being the highest priority and `20000` being the lowest priority. * - * > **NOTE:** `priority` is required when `sku.0.tier` is set to `*_v2`. + * > **NOTE:** `priority` is required when `sku[0].tier` is set to `*_v2`. * * @return builder * @@ -488,7 +488,7 @@ public Builder priority(@Nullable Output priority) { /** * @param priority Rule evaluation order can be dictated by specifying an integer value from `1` to `20000` with `1` being the highest priority and `20000` being the lowest priority. * - * > **NOTE:** `priority` is required when `sku.0.tier` is set to `*_v2`. + * > **NOTE:** `priority` is required when `sku[0].tier` is set to `*_v2`. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/azure/network/inputs/VirtualNetworkGatewayIpConfigurationArgs.java b/sdk/java/src/main/java/com/pulumi/azure/network/inputs/VirtualNetworkGatewayIpConfigurationArgs.java index 0d84c56656..fd5bfb653d 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/network/inputs/VirtualNetworkGatewayIpConfigurationArgs.java +++ b/sdk/java/src/main/java/com/pulumi/azure/network/inputs/VirtualNetworkGatewayIpConfigurationArgs.java @@ -32,14 +32,14 @@ public Optional> name() { } /** - * Defines how the private IP address of the gateways virtual interface is assigned. Valid options are `Static` or `Dynamic`. Defaults to `Dynamic`. + * Defines how the private IP address of the gateways virtual interface is assigned. The only valid value is `Dynamic` for Virtual Network Gateway (`Static` is not supported by the service yet). Defaults to `Dynamic`. * */ @Import(name="privateIpAddressAllocation") private @Nullable Output privateIpAddressAllocation; /** - * @return Defines how the private IP address of the gateways virtual interface is assigned. Valid options are `Static` or `Dynamic`. Defaults to `Dynamic`. + * @return Defines how the private IP address of the gateways virtual interface is assigned. The only valid value is `Dynamic` for Virtual Network Gateway (`Static` is not supported by the service yet). Defaults to `Dynamic`. * */ public Optional> privateIpAddressAllocation() { @@ -125,7 +125,7 @@ public Builder name(String name) { } /** - * @param privateIpAddressAllocation Defines how the private IP address of the gateways virtual interface is assigned. Valid options are `Static` or `Dynamic`. Defaults to `Dynamic`. + * @param privateIpAddressAllocation Defines how the private IP address of the gateways virtual interface is assigned. The only valid value is `Dynamic` for Virtual Network Gateway (`Static` is not supported by the service yet). Defaults to `Dynamic`. * * @return builder * @@ -136,7 +136,7 @@ public Builder privateIpAddressAllocation(@Nullable Output privateIpAddr } /** - * @param privateIpAddressAllocation Defines how the private IP address of the gateways virtual interface is assigned. Valid options are `Static` or `Dynamic`. Defaults to `Dynamic`. + * @param privateIpAddressAllocation Defines how the private IP address of the gateways virtual interface is assigned. The only valid value is `Dynamic` for Virtual Network Gateway (`Static` is not supported by the service yet). Defaults to `Dynamic`. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/azure/network/outputs/ApplicationGatewayRequestRoutingRule.java b/sdk/java/src/main/java/com/pulumi/azure/network/outputs/ApplicationGatewayRequestRoutingRule.java index 7a8ce7f3be..92872fbe68 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/network/outputs/ApplicationGatewayRequestRoutingRule.java +++ b/sdk/java/src/main/java/com/pulumi/azure/network/outputs/ApplicationGatewayRequestRoutingRule.java @@ -56,7 +56,7 @@ public final class ApplicationGatewayRequestRoutingRule { /** * @return Rule evaluation order can be dictated by specifying an integer value from `1` to `20000` with `1` being the highest priority and `20000` being the lowest priority. * - * > **NOTE:** `priority` is required when `sku.0.tier` is set to `*_v2`. + * > **NOTE:** `priority` is required when `sku[0].tier` is set to `*_v2`. * */ private @Nullable Integer priority; @@ -158,7 +158,7 @@ public String name() { /** * @return Rule evaluation order can be dictated by specifying an integer value from `1` to `20000` with `1` being the highest priority and `20000` being the lowest priority. * - * > **NOTE:** `priority` is required when `sku.0.tier` is set to `*_v2`. + * > **NOTE:** `priority` is required when `sku[0].tier` is set to `*_v2`. * */ public Optional priority() { diff --git a/sdk/java/src/main/java/com/pulumi/azure/network/outputs/VirtualNetworkGatewayIpConfiguration.java b/sdk/java/src/main/java/com/pulumi/azure/network/outputs/VirtualNetworkGatewayIpConfiguration.java index d5d6ae3a37..f959b1c40d 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/network/outputs/VirtualNetworkGatewayIpConfiguration.java +++ b/sdk/java/src/main/java/com/pulumi/azure/network/outputs/VirtualNetworkGatewayIpConfiguration.java @@ -18,7 +18,7 @@ public final class VirtualNetworkGatewayIpConfiguration { */ private @Nullable String name; /** - * @return Defines how the private IP address of the gateways virtual interface is assigned. Valid options are `Static` or `Dynamic`. Defaults to `Dynamic`. + * @return Defines how the private IP address of the gateways virtual interface is assigned. The only valid value is `Dynamic` for Virtual Network Gateway (`Static` is not supported by the service yet). Defaults to `Dynamic`. * */ private @Nullable String privateIpAddressAllocation; @@ -42,7 +42,7 @@ public Optional name() { return Optional.ofNullable(this.name); } /** - * @return Defines how the private IP address of the gateways virtual interface is assigned. Valid options are `Static` or `Dynamic`. Defaults to `Dynamic`. + * @return Defines how the private IP address of the gateways virtual interface is assigned. The only valid value is `Dynamic` for Virtual Network Gateway (`Static` is not supported by the service yet). Defaults to `Dynamic`. * */ public Optional privateIpAddressAllocation() { 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 5b2cab6ef3..f674420eb6 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,6 +102,7 @@ * .location(example.location()) * .managedResourceGroup("example") * .diagnoseSupportEnabled(true) + * .automaticUpgradeChannel("stable") * .frontendPublic(DeploymentFrontendPublicArgs.builder() * .ipAddresses(examplePublicIp.id()) * .build()) @@ -127,6 +128,20 @@ */ @ResourceType(type="azure:nginx/deployment:Deployment") public class Deployment extends com.pulumi.resources.CustomResource { + /** + * Specify the automatic upgrade channel for the NGINX deployment. Defaults to `stable`. The possible values are `stable` and `preview`. + * + */ + @Export(name="automaticUpgradeChannel", refs={String.class}, tree="[0]") + private Output automaticUpgradeChannel; + + /** + * @return Specify the automatic upgrade channel for the NGINX deployment. Defaults to `stable`. The possible values are `stable` and `preview`. + * + */ + public Output> automaticUpgradeChannel() { + return Codegen.optional(this.automaticUpgradeChannel); + } /** * Specify the number of NGINX capacity units for this NGINX deployment. Defaults to `20`. * @@ -328,14 +343,14 @@ public Output resourceGroupName() { return this.resourceGroupName; } /** - * Specify the Name of Nginx deployment SKU. The possible value are `publicpreview_Monthly_gmz7xq9ge3py` and `standard_Monthly`. + * Specify the Name of Nginx deployment SKU. The possible value are `publicpreview_Monthly_gmz7xq9ge3py` and `standard_Monthly`. Changing this forces a new Nginx Deployment to be created. * */ @Export(name="sku", refs={String.class}, tree="[0]") private Output sku; /** - * @return Specify the Name of Nginx deployment SKU. The possible value are `publicpreview_Monthly_gmz7xq9ge3py` and `standard_Monthly`. + * @return Specify the Name of Nginx deployment SKU. The possible value are `publicpreview_Monthly_gmz7xq9ge3py` and `standard_Monthly`. Changing this forces a new Nginx Deployment to be created. * */ public Output sku() { diff --git a/sdk/java/src/main/java/com/pulumi/azure/nginx/DeploymentArgs.java b/sdk/java/src/main/java/com/pulumi/azure/nginx/DeploymentArgs.java index e9df4d1d54..fb4ec8bfbf 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/nginx/DeploymentArgs.java +++ b/sdk/java/src/main/java/com/pulumi/azure/nginx/DeploymentArgs.java @@ -25,6 +25,21 @@ public final class DeploymentArgs extends com.pulumi.resources.ResourceArgs { public static final DeploymentArgs Empty = new DeploymentArgs(); + /** + * Specify the automatic upgrade channel for the NGINX deployment. Defaults to `stable`. The possible values are `stable` and `preview`. + * + */ + @Import(name="automaticUpgradeChannel") + private @Nullable Output automaticUpgradeChannel; + + /** + * @return Specify the automatic upgrade channel for the NGINX deployment. Defaults to `stable`. The possible values are `stable` and `preview`. + * + */ + public Optional> automaticUpgradeChannel() { + return Optional.ofNullable(this.automaticUpgradeChannel); + } + /** * Specify the number of NGINX capacity units for this NGINX deployment. Defaults to `20`. * @@ -210,14 +225,14 @@ public Output resourceGroupName() { } /** - * Specify the Name of Nginx deployment SKU. The possible value are `publicpreview_Monthly_gmz7xq9ge3py` and `standard_Monthly`. + * Specify the Name of Nginx deployment SKU. The possible value are `publicpreview_Monthly_gmz7xq9ge3py` and `standard_Monthly`. Changing this forces a new Nginx Deployment to be created. * */ @Import(name="sku", required=true) private Output sku; /** - * @return Specify the Name of Nginx deployment SKU. The possible value are `publicpreview_Monthly_gmz7xq9ge3py` and `standard_Monthly`. + * @return Specify the Name of Nginx deployment SKU. The possible value are `publicpreview_Monthly_gmz7xq9ge3py` and `standard_Monthly`. Changing this forces a new Nginx Deployment to be created. * */ public Output sku() { @@ -242,6 +257,7 @@ public Optional>> tags() { private DeploymentArgs() {} private DeploymentArgs(DeploymentArgs $) { + this.automaticUpgradeChannel = $.automaticUpgradeChannel; this.capacity = $.capacity; this.diagnoseSupportEnabled = $.diagnoseSupportEnabled; this.email = $.email; @@ -276,6 +292,27 @@ public Builder(DeploymentArgs defaults) { $ = new DeploymentArgs(Objects.requireNonNull(defaults)); } + /** + * @param automaticUpgradeChannel Specify the automatic upgrade channel for the NGINX deployment. Defaults to `stable`. The possible values are `stable` and `preview`. + * + * @return builder + * + */ + public Builder automaticUpgradeChannel(@Nullable Output automaticUpgradeChannel) { + $.automaticUpgradeChannel = automaticUpgradeChannel; + return this; + } + + /** + * @param automaticUpgradeChannel Specify the automatic upgrade channel for the NGINX deployment. Defaults to `stable`. The possible values are `stable` and `preview`. + * + * @return builder + * + */ + public Builder automaticUpgradeChannel(String automaticUpgradeChannel) { + return automaticUpgradeChannel(Output.of(automaticUpgradeChannel)); + } + /** * @param capacity Specify the number of NGINX capacity units for this NGINX deployment. Defaults to `20`. * @@ -563,7 +600,7 @@ public Builder resourceGroupName(String resourceGroupName) { } /** - * @param sku Specify the Name of Nginx deployment SKU. The possible value are `publicpreview_Monthly_gmz7xq9ge3py` and `standard_Monthly`. + * @param sku Specify the Name of Nginx deployment SKU. The possible value are `publicpreview_Monthly_gmz7xq9ge3py` and `standard_Monthly`. Changing this forces a new Nginx Deployment to be created. * * @return builder * @@ -574,7 +611,7 @@ public Builder sku(Output sku) { } /** - * @param sku Specify the Name of Nginx deployment SKU. The possible value are `publicpreview_Monthly_gmz7xq9ge3py` and `standard_Monthly`. + * @param sku Specify the Name of Nginx deployment SKU. The possible value are `publicpreview_Monthly_gmz7xq9ge3py` and `standard_Monthly`. Changing this forces a new Nginx Deployment to be created. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/azure/nginx/inputs/DeploymentState.java b/sdk/java/src/main/java/com/pulumi/azure/nginx/inputs/DeploymentState.java index 99b909fb70..524caf41d7 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/nginx/inputs/DeploymentState.java +++ b/sdk/java/src/main/java/com/pulumi/azure/nginx/inputs/DeploymentState.java @@ -24,6 +24,21 @@ public final class DeploymentState extends com.pulumi.resources.ResourceArgs { public static final DeploymentState Empty = new DeploymentState(); + /** + * Specify the automatic upgrade channel for the NGINX deployment. Defaults to `stable`. The possible values are `stable` and `preview`. + * + */ + @Import(name="automaticUpgradeChannel") + private @Nullable Output automaticUpgradeChannel; + + /** + * @return Specify the automatic upgrade channel for the NGINX deployment. Defaults to `stable`. The possible values are `stable` and `preview`. + * + */ + public Optional> automaticUpgradeChannel() { + return Optional.ofNullable(this.automaticUpgradeChannel); + } + /** * Specify the number of NGINX capacity units for this NGINX deployment. Defaults to `20`. * @@ -239,14 +254,14 @@ public Optional> resourceGroupName() { } /** - * Specify the Name of Nginx deployment SKU. The possible value are `publicpreview_Monthly_gmz7xq9ge3py` and `standard_Monthly`. + * Specify the Name of Nginx deployment SKU. The possible value are `publicpreview_Monthly_gmz7xq9ge3py` and `standard_Monthly`. Changing this forces a new Nginx Deployment to be created. * */ @Import(name="sku") private @Nullable Output sku; /** - * @return Specify the Name of Nginx deployment SKU. The possible value are `publicpreview_Monthly_gmz7xq9ge3py` and `standard_Monthly`. + * @return Specify the Name of Nginx deployment SKU. The possible value are `publicpreview_Monthly_gmz7xq9ge3py` and `standard_Monthly`. Changing this forces a new Nginx Deployment to be created. * */ public Optional> sku() { @@ -271,6 +286,7 @@ public Optional>> tags() { private DeploymentState() {} private DeploymentState(DeploymentState $) { + this.automaticUpgradeChannel = $.automaticUpgradeChannel; this.capacity = $.capacity; this.diagnoseSupportEnabled = $.diagnoseSupportEnabled; this.email = $.email; @@ -307,6 +323,27 @@ public Builder(DeploymentState defaults) { $ = new DeploymentState(Objects.requireNonNull(defaults)); } + /** + * @param automaticUpgradeChannel Specify the automatic upgrade channel for the NGINX deployment. Defaults to `stable`. The possible values are `stable` and `preview`. + * + * @return builder + * + */ + public Builder automaticUpgradeChannel(@Nullable Output automaticUpgradeChannel) { + $.automaticUpgradeChannel = automaticUpgradeChannel; + return this; + } + + /** + * @param automaticUpgradeChannel Specify the automatic upgrade channel for the NGINX deployment. Defaults to `stable`. The possible values are `stable` and `preview`. + * + * @return builder + * + */ + public Builder automaticUpgradeChannel(String automaticUpgradeChannel) { + return automaticUpgradeChannel(Output.of(automaticUpgradeChannel)); + } + /** * @param capacity Specify the number of NGINX capacity units for this NGINX deployment. Defaults to `20`. * @@ -636,7 +673,7 @@ public Builder resourceGroupName(String resourceGroupName) { } /** - * @param sku Specify the Name of Nginx deployment SKU. The possible value are `publicpreview_Monthly_gmz7xq9ge3py` and `standard_Monthly`. + * @param sku Specify the Name of Nginx deployment SKU. The possible value are `publicpreview_Monthly_gmz7xq9ge3py` and `standard_Monthly`. Changing this forces a new Nginx Deployment to be created. * * @return builder * @@ -647,7 +684,7 @@ public Builder sku(@Nullable Output sku) { } /** - * @param sku Specify the Name of Nginx deployment SKU. The possible value are `publicpreview_Monthly_gmz7xq9ge3py` and `standard_Monthly`. + * @param sku Specify the Name of Nginx deployment SKU. The possible value are `publicpreview_Monthly_gmz7xq9ge3py` and `standard_Monthly`. Changing this forces a new Nginx Deployment to be created. * * @return builder * 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 3399b33eda..c5cbfb02c3 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 @@ -19,6 +19,11 @@ @CustomType public final class GetDeploymentResult { + /** + * @return The automatic upgrade channel for this NGINX deployment. + * + */ + private String automaticUpgradeChannel; /** * @return The number of NGINX capacity units for this Nginx Deployment. * @@ -102,6 +107,13 @@ public final class GetDeploymentResult { private Map tags; private GetDeploymentResult() {} + /** + * @return The automatic upgrade channel for this NGINX deployment. + * + */ + public String automaticUpgradeChannel() { + return this.automaticUpgradeChannel; + } /** * @return The number of NGINX capacity units for this Nginx Deployment. * @@ -227,6 +239,7 @@ public static Builder builder(GetDeploymentResult defaults) { } @CustomType.Builder public static final class Builder { + private String automaticUpgradeChannel; private Integer capacity; private Boolean diagnoseSupportEnabled; private String email; @@ -247,6 +260,7 @@ public static final class Builder { public Builder() {} public Builder(GetDeploymentResult defaults) { Objects.requireNonNull(defaults); + this.automaticUpgradeChannel = defaults.automaticUpgradeChannel; this.capacity = defaults.capacity; this.diagnoseSupportEnabled = defaults.diagnoseSupportEnabled; this.email = defaults.email; @@ -266,6 +280,14 @@ public Builder(GetDeploymentResult defaults) { this.tags = defaults.tags; } + @CustomType.Setter + public Builder automaticUpgradeChannel(String automaticUpgradeChannel) { + if (automaticUpgradeChannel == null) { + throw new MissingRequiredPropertyException("GetDeploymentResult", "automaticUpgradeChannel"); + } + this.automaticUpgradeChannel = automaticUpgradeChannel; + return this; + } @CustomType.Setter public Builder capacity(Integer capacity) { if (capacity == null) { @@ -419,6 +441,7 @@ public Builder tags(Map tags) { } public GetDeploymentResult build() { final var _resultValue = new GetDeploymentResult(); + _resultValue.automaticUpgradeChannel = automaticUpgradeChannel; _resultValue.capacity = capacity; _resultValue.diagnoseSupportEnabled = diagnoseSupportEnabled; _resultValue.email = email; diff --git a/sdk/java/src/main/java/com/pulumi/azure/paloalto/inputs/NextGenerationFirewallVirtualNetworkLocalRulestackDnsSettingsArgs.java b/sdk/java/src/main/java/com/pulumi/azure/paloalto/inputs/NextGenerationFirewallVirtualNetworkLocalRulestackDnsSettingsArgs.java index 1fac5332d5..7f9f14b4df 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/paloalto/inputs/NextGenerationFirewallVirtualNetworkLocalRulestackDnsSettingsArgs.java +++ b/sdk/java/src/main/java/com/pulumi/azure/paloalto/inputs/NextGenerationFirewallVirtualNetworkLocalRulestackDnsSettingsArgs.java @@ -25,14 +25,14 @@ public Optional>> azureDnsServers() { } /** - * Specifies a list of DNS servers to use. Conflicts with `dns_settings.0.use_azure_dns`. + * Specifies a list of DNS servers to use. Conflicts with `dns_settings[0].use_azure_dns`. * */ @Import(name="dnsServers") private @Nullable Output> dnsServers; /** - * @return Specifies a list of DNS servers to use. Conflicts with `dns_settings.0.use_azure_dns`. + * @return Specifies a list of DNS servers to use. Conflicts with `dns_settings[0].use_azure_dns`. * */ public Optional>> dnsServers() { @@ -40,14 +40,14 @@ public Optional>> dnsServers() { } /** - * Should the Firewall use Azure Supplied DNS servers. Conflicts with `dns_settings.0.dns_servers`. Defaults to `false`. + * Should the Firewall use Azure Supplied DNS servers. Conflicts with `dns_settings[0].dns_servers`. Defaults to `false`. * */ @Import(name="useAzureDns") private @Nullable Output useAzureDns; /** - * @return Should the Firewall use Azure Supplied DNS servers. Conflicts with `dns_settings.0.dns_servers`. Defaults to `false`. + * @return Should the Firewall use Azure Supplied DNS servers. Conflicts with `dns_settings[0].dns_servers`. Defaults to `false`. * */ public Optional> useAzureDns() { @@ -94,7 +94,7 @@ public Builder azureDnsServers(String... azureDnsServers) { } /** - * @param dnsServers Specifies a list of DNS servers to use. Conflicts with `dns_settings.0.use_azure_dns`. + * @param dnsServers Specifies a list of DNS servers to use. Conflicts with `dns_settings[0].use_azure_dns`. * * @return builder * @@ -105,7 +105,7 @@ public Builder dnsServers(@Nullable Output> dnsServers) { } /** - * @param dnsServers Specifies a list of DNS servers to use. Conflicts with `dns_settings.0.use_azure_dns`. + * @param dnsServers Specifies a list of DNS servers to use. Conflicts with `dns_settings[0].use_azure_dns`. * * @return builder * @@ -115,7 +115,7 @@ public Builder dnsServers(List dnsServers) { } /** - * @param dnsServers Specifies a list of DNS servers to use. Conflicts with `dns_settings.0.use_azure_dns`. + * @param dnsServers Specifies a list of DNS servers to use. Conflicts with `dns_settings[0].use_azure_dns`. * * @return builder * @@ -125,7 +125,7 @@ public Builder dnsServers(String... dnsServers) { } /** - * @param useAzureDns Should the Firewall use Azure Supplied DNS servers. Conflicts with `dns_settings.0.dns_servers`. Defaults to `false`. + * @param useAzureDns Should the Firewall use Azure Supplied DNS servers. Conflicts with `dns_settings[0].dns_servers`. Defaults to `false`. * * @return builder * @@ -136,7 +136,7 @@ public Builder useAzureDns(@Nullable Output useAzureDns) { } /** - * @param useAzureDns Should the Firewall use Azure Supplied DNS servers. Conflicts with `dns_settings.0.dns_servers`. Defaults to `false`. + * @param useAzureDns Should the Firewall use Azure Supplied DNS servers. Conflicts with `dns_settings[0].dns_servers`. Defaults to `false`. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/azure/paloalto/inputs/NextGenerationFirewallVirtualNetworkPanoramaDnsSettingsArgs.java b/sdk/java/src/main/java/com/pulumi/azure/paloalto/inputs/NextGenerationFirewallVirtualNetworkPanoramaDnsSettingsArgs.java index 59fbbf376a..be6733c15d 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/paloalto/inputs/NextGenerationFirewallVirtualNetworkPanoramaDnsSettingsArgs.java +++ b/sdk/java/src/main/java/com/pulumi/azure/paloalto/inputs/NextGenerationFirewallVirtualNetworkPanoramaDnsSettingsArgs.java @@ -25,14 +25,14 @@ public Optional>> azureDnsServers() { } /** - * Specifies a list of DNS servers to use. Conflicts with `dns_settings.0.use_azure_dns`. + * Specifies a list of DNS servers to use. Conflicts with `dns_settings[0].use_azure_dns`. * */ @Import(name="dnsServers") private @Nullable Output> dnsServers; /** - * @return Specifies a list of DNS servers to use. Conflicts with `dns_settings.0.use_azure_dns`. + * @return Specifies a list of DNS servers to use. Conflicts with `dns_settings[0].use_azure_dns`. * */ public Optional>> dnsServers() { @@ -40,14 +40,14 @@ public Optional>> dnsServers() { } /** - * Should the Firewall use Azure Supplied DNS servers. Conflicts with `dns_settings.0.dns_servers`. Defaults to `false`. + * Should the Firewall use Azure Supplied DNS servers. Conflicts with `dns_settings[0].dns_servers`. Defaults to `false`. * */ @Import(name="useAzureDns") private @Nullable Output useAzureDns; /** - * @return Should the Firewall use Azure Supplied DNS servers. Conflicts with `dns_settings.0.dns_servers`. Defaults to `false`. + * @return Should the Firewall use Azure Supplied DNS servers. Conflicts with `dns_settings[0].dns_servers`. Defaults to `false`. * */ public Optional> useAzureDns() { @@ -94,7 +94,7 @@ public Builder azureDnsServers(String... azureDnsServers) { } /** - * @param dnsServers Specifies a list of DNS servers to use. Conflicts with `dns_settings.0.use_azure_dns`. + * @param dnsServers Specifies a list of DNS servers to use. Conflicts with `dns_settings[0].use_azure_dns`. * * @return builder * @@ -105,7 +105,7 @@ public Builder dnsServers(@Nullable Output> dnsServers) { } /** - * @param dnsServers Specifies a list of DNS servers to use. Conflicts with `dns_settings.0.use_azure_dns`. + * @param dnsServers Specifies a list of DNS servers to use. Conflicts with `dns_settings[0].use_azure_dns`. * * @return builder * @@ -115,7 +115,7 @@ public Builder dnsServers(List dnsServers) { } /** - * @param dnsServers Specifies a list of DNS servers to use. Conflicts with `dns_settings.0.use_azure_dns`. + * @param dnsServers Specifies a list of DNS servers to use. Conflicts with `dns_settings[0].use_azure_dns`. * * @return builder * @@ -125,7 +125,7 @@ public Builder dnsServers(String... dnsServers) { } /** - * @param useAzureDns Should the Firewall use Azure Supplied DNS servers. Conflicts with `dns_settings.0.dns_servers`. Defaults to `false`. + * @param useAzureDns Should the Firewall use Azure Supplied DNS servers. Conflicts with `dns_settings[0].dns_servers`. Defaults to `false`. * * @return builder * @@ -136,7 +136,7 @@ public Builder useAzureDns(@Nullable Output useAzureDns) { } /** - * @param useAzureDns Should the Firewall use Azure Supplied DNS servers. Conflicts with `dns_settings.0.dns_servers`. Defaults to `false`. + * @param useAzureDns Should the Firewall use Azure Supplied DNS servers. Conflicts with `dns_settings[0].dns_servers`. Defaults to `false`. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/azure/paloalto/outputs/NextGenerationFirewallVirtualNetworkLocalRulestackDnsSettings.java b/sdk/java/src/main/java/com/pulumi/azure/paloalto/outputs/NextGenerationFirewallVirtualNetworkLocalRulestackDnsSettings.java index deeb8eafc6..93f762e4dc 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/paloalto/outputs/NextGenerationFirewallVirtualNetworkLocalRulestackDnsSettings.java +++ b/sdk/java/src/main/java/com/pulumi/azure/paloalto/outputs/NextGenerationFirewallVirtualNetworkLocalRulestackDnsSettings.java @@ -15,12 +15,12 @@ public final class NextGenerationFirewallVirtualNetworkLocalRulestackDnsSettings { private @Nullable List azureDnsServers; /** - * @return Specifies a list of DNS servers to use. Conflicts with `dns_settings.0.use_azure_dns`. + * @return Specifies a list of DNS servers to use. Conflicts with `dns_settings[0].use_azure_dns`. * */ private @Nullable List dnsServers; /** - * @return Should the Firewall use Azure Supplied DNS servers. Conflicts with `dns_settings.0.dns_servers`. Defaults to `false`. + * @return Should the Firewall use Azure Supplied DNS servers. Conflicts with `dns_settings[0].dns_servers`. Defaults to `false`. * */ private @Nullable Boolean useAzureDns; @@ -30,14 +30,14 @@ public List azureDnsServers() { return this.azureDnsServers == null ? List.of() : this.azureDnsServers; } /** - * @return Specifies a list of DNS servers to use. Conflicts with `dns_settings.0.use_azure_dns`. + * @return Specifies a list of DNS servers to use. Conflicts with `dns_settings[0].use_azure_dns`. * */ public List dnsServers() { return this.dnsServers == null ? List.of() : this.dnsServers; } /** - * @return Should the Firewall use Azure Supplied DNS servers. Conflicts with `dns_settings.0.dns_servers`. Defaults to `false`. + * @return Should the Firewall use Azure Supplied DNS servers. Conflicts with `dns_settings[0].dns_servers`. Defaults to `false`. * */ public Optional useAzureDns() { diff --git a/sdk/java/src/main/java/com/pulumi/azure/paloalto/outputs/NextGenerationFirewallVirtualNetworkPanoramaDnsSettings.java b/sdk/java/src/main/java/com/pulumi/azure/paloalto/outputs/NextGenerationFirewallVirtualNetworkPanoramaDnsSettings.java index f4eb606a49..e669cbece2 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/paloalto/outputs/NextGenerationFirewallVirtualNetworkPanoramaDnsSettings.java +++ b/sdk/java/src/main/java/com/pulumi/azure/paloalto/outputs/NextGenerationFirewallVirtualNetworkPanoramaDnsSettings.java @@ -15,12 +15,12 @@ public final class NextGenerationFirewallVirtualNetworkPanoramaDnsSettings { private @Nullable List azureDnsServers; /** - * @return Specifies a list of DNS servers to use. Conflicts with `dns_settings.0.use_azure_dns`. + * @return Specifies a list of DNS servers to use. Conflicts with `dns_settings[0].use_azure_dns`. * */ private @Nullable List dnsServers; /** - * @return Should the Firewall use Azure Supplied DNS servers. Conflicts with `dns_settings.0.dns_servers`. Defaults to `false`. + * @return Should the Firewall use Azure Supplied DNS servers. Conflicts with `dns_settings[0].dns_servers`. Defaults to `false`. * */ private @Nullable Boolean useAzureDns; @@ -30,14 +30,14 @@ public List azureDnsServers() { return this.azureDnsServers == null ? List.of() : this.azureDnsServers; } /** - * @return Specifies a list of DNS servers to use. Conflicts with `dns_settings.0.use_azure_dns`. + * @return Specifies a list of DNS servers to use. Conflicts with `dns_settings[0].use_azure_dns`. * */ public List dnsServers() { return this.dnsServers == null ? List.of() : this.dnsServers; } /** - * @return Should the Firewall use Azure Supplied DNS servers. Conflicts with `dns_settings.0.dns_servers`. Defaults to `false`. + * @return Should the Firewall use Azure Supplied DNS servers. Conflicts with `dns_settings[0].dns_servers`. Defaults to `false`. * */ public Optional useAzureDns() { diff --git a/sdk/java/src/main/java/com/pulumi/azure/pim/inputs/ActiveRoleAssignmentScheduleExpirationArgs.java b/sdk/java/src/main/java/com/pulumi/azure/pim/inputs/ActiveRoleAssignmentScheduleExpirationArgs.java index 7d66f69778..7463cbcb05 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/pim/inputs/ActiveRoleAssignmentScheduleExpirationArgs.java +++ b/sdk/java/src/main/java/com/pulumi/azure/pim/inputs/ActiveRoleAssignmentScheduleExpirationArgs.java @@ -17,14 +17,14 @@ public final class ActiveRoleAssignmentScheduleExpirationArgs extends com.pulumi public static final ActiveRoleAssignmentScheduleExpirationArgs Empty = new ActiveRoleAssignmentScheduleExpirationArgs(); /** - * The duration of the role assignment in days. Conflicts with `schedule.0.expiration.0.duration_hours`,`schedule.0.expiration.0.end_date_time` Changing this forces a new Pim Active Role Assignment to be created. + * The duration of the role assignment in days. Conflicts with `schedule[0].expiration[0].duration_hours`,`schedule[0].expiration[0].end_date_time` Changing this forces a new Pim Active Role Assignment to be created. * */ @Import(name="durationDays") private @Nullable Output durationDays; /** - * @return The duration of the role assignment in days. Conflicts with `schedule.0.expiration.0.duration_hours`,`schedule.0.expiration.0.end_date_time` Changing this forces a new Pim Active Role Assignment to be created. + * @return The duration of the role assignment in days. Conflicts with `schedule[0].expiration[0].duration_hours`,`schedule[0].expiration[0].end_date_time` Changing this forces a new Pim Active Role Assignment to be created. * */ public Optional> durationDays() { @@ -32,14 +32,14 @@ public Optional> durationDays() { } /** - * The duration of the role assignment in hours. Conflicts with `schedule.0.expiration.0.duration_days`,`schedule.0.expiration.0.end_date_time` Changing this forces a new Pim Active Role Assignment to be created. + * The duration of the role assignment in hours. Conflicts with `schedule[0].expiration[0].duration_days`,`schedule[0].expiration[0].end_date_time` Changing this forces a new Pim Active Role Assignment to be created. * */ @Import(name="durationHours") private @Nullable Output durationHours; /** - * @return The duration of the role assignment in hours. Conflicts with `schedule.0.expiration.0.duration_days`,`schedule.0.expiration.0.end_date_time` Changing this forces a new Pim Active Role Assignment to be created. + * @return The duration of the role assignment in hours. Conflicts with `schedule[0].expiration[0].duration_days`,`schedule[0].expiration[0].end_date_time` Changing this forces a new Pim Active Role Assignment to be created. * */ public Optional> durationHours() { @@ -47,14 +47,14 @@ public Optional> durationHours() { } /** - * The end date time of the role assignment. Conflicts with `schedule.0.expiration.0.duration_days`,`schedule.0.expiration.0.duration_hours` Changing this forces a new Pim Active Role Assignment to be created. + * The end date time of the role assignment. Conflicts with `schedule[0].expiration[0].duration_days`,`schedule[0].expiration[0].duration_hours` Changing this forces a new Pim Active Role Assignment to be created. * */ @Import(name="endDateTime") private @Nullable Output endDateTime; /** - * @return The end date time of the role assignment. Conflicts with `schedule.0.expiration.0.duration_days`,`schedule.0.expiration.0.duration_hours` Changing this forces a new Pim Active Role Assignment to be created. + * @return The end date time of the role assignment. Conflicts with `schedule[0].expiration[0].duration_days`,`schedule[0].expiration[0].duration_hours` Changing this forces a new Pim Active Role Assignment to be created. * */ public Optional> endDateTime() { @@ -88,7 +88,7 @@ public Builder(ActiveRoleAssignmentScheduleExpirationArgs defaults) { } /** - * @param durationDays The duration of the role assignment in days. Conflicts with `schedule.0.expiration.0.duration_hours`,`schedule.0.expiration.0.end_date_time` Changing this forces a new Pim Active Role Assignment to be created. + * @param durationDays The duration of the role assignment in days. Conflicts with `schedule[0].expiration[0].duration_hours`,`schedule[0].expiration[0].end_date_time` Changing this forces a new Pim Active Role Assignment to be created. * * @return builder * @@ -99,7 +99,7 @@ public Builder durationDays(@Nullable Output durationDays) { } /** - * @param durationDays The duration of the role assignment in days. Conflicts with `schedule.0.expiration.0.duration_hours`,`schedule.0.expiration.0.end_date_time` Changing this forces a new Pim Active Role Assignment to be created. + * @param durationDays The duration of the role assignment in days. Conflicts with `schedule[0].expiration[0].duration_hours`,`schedule[0].expiration[0].end_date_time` Changing this forces a new Pim Active Role Assignment to be created. * * @return builder * @@ -109,7 +109,7 @@ public Builder durationDays(Integer durationDays) { } /** - * @param durationHours The duration of the role assignment in hours. Conflicts with `schedule.0.expiration.0.duration_days`,`schedule.0.expiration.0.end_date_time` Changing this forces a new Pim Active Role Assignment to be created. + * @param durationHours The duration of the role assignment in hours. Conflicts with `schedule[0].expiration[0].duration_days`,`schedule[0].expiration[0].end_date_time` Changing this forces a new Pim Active Role Assignment to be created. * * @return builder * @@ -120,7 +120,7 @@ public Builder durationHours(@Nullable Output durationHours) { } /** - * @param durationHours The duration of the role assignment in hours. Conflicts with `schedule.0.expiration.0.duration_days`,`schedule.0.expiration.0.end_date_time` Changing this forces a new Pim Active Role Assignment to be created. + * @param durationHours The duration of the role assignment in hours. Conflicts with `schedule[0].expiration[0].duration_days`,`schedule[0].expiration[0].end_date_time` Changing this forces a new Pim Active Role Assignment to be created. * * @return builder * @@ -130,7 +130,7 @@ public Builder durationHours(Integer durationHours) { } /** - * @param endDateTime The end date time of the role assignment. Conflicts with `schedule.0.expiration.0.duration_days`,`schedule.0.expiration.0.duration_hours` Changing this forces a new Pim Active Role Assignment to be created. + * @param endDateTime The end date time of the role assignment. Conflicts with `schedule[0].expiration[0].duration_days`,`schedule[0].expiration[0].duration_hours` Changing this forces a new Pim Active Role Assignment to be created. * * @return builder * @@ -141,7 +141,7 @@ public Builder endDateTime(@Nullable Output endDateTime) { } /** - * @param endDateTime The end date time of the role assignment. Conflicts with `schedule.0.expiration.0.duration_days`,`schedule.0.expiration.0.duration_hours` Changing this forces a new Pim Active Role Assignment to be created. + * @param endDateTime The end date time of the role assignment. Conflicts with `schedule[0].expiration[0].duration_days`,`schedule[0].expiration[0].duration_hours` Changing this forces a new Pim Active Role Assignment to be created. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/azure/pim/inputs/EligibleRoleAssignmentScheduleExpirationArgs.java b/sdk/java/src/main/java/com/pulumi/azure/pim/inputs/EligibleRoleAssignmentScheduleExpirationArgs.java index 86eecae3f5..7f7d753d41 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/pim/inputs/EligibleRoleAssignmentScheduleExpirationArgs.java +++ b/sdk/java/src/main/java/com/pulumi/azure/pim/inputs/EligibleRoleAssignmentScheduleExpirationArgs.java @@ -17,14 +17,14 @@ public final class EligibleRoleAssignmentScheduleExpirationArgs extends com.pulu public static final EligibleRoleAssignmentScheduleExpirationArgs Empty = new EligibleRoleAssignmentScheduleExpirationArgs(); /** - * The duration of the role assignment in days. Conflicts with `schedule.0.expiration.0.duration_hours`,`schedule.0.expiration.0.end_date_time` Changing this forces a new Pim Eligible Role Assignment to be created. + * The duration of the role assignment in days. Conflicts with `schedule[0].expiration[0].duration_hours`,`schedule[0].expiration[0].end_date_time` Changing this forces a new Pim Eligible Role Assignment to be created. * */ @Import(name="durationDays") private @Nullable Output durationDays; /** - * @return The duration of the role assignment in days. Conflicts with `schedule.0.expiration.0.duration_hours`,`schedule.0.expiration.0.end_date_time` Changing this forces a new Pim Eligible Role Assignment to be created. + * @return The duration of the role assignment in days. Conflicts with `schedule[0].expiration[0].duration_hours`,`schedule[0].expiration[0].end_date_time` Changing this forces a new Pim Eligible Role Assignment to be created. * */ public Optional> durationDays() { @@ -32,14 +32,14 @@ public Optional> durationDays() { } /** - * The duration of the role assignment in hours. Conflicts with `schedule.0.expiration.0.duration_days`,`schedule.0.expiration.0.end_date_time` Changing this forces a new Pim Eligible Role Assignment to be created. + * The duration of the role assignment in hours. Conflicts with `schedule[0].expiration[0].duration_days`,`schedule[0].expiration[0].end_date_time` Changing this forces a new Pim Eligible Role Assignment to be created. * */ @Import(name="durationHours") private @Nullable Output durationHours; /** - * @return The duration of the role assignment in hours. Conflicts with `schedule.0.expiration.0.duration_days`,`schedule.0.expiration.0.end_date_time` Changing this forces a new Pim Eligible Role Assignment to be created. + * @return The duration of the role assignment in hours. Conflicts with `schedule[0].expiration[0].duration_days`,`schedule[0].expiration[0].end_date_time` Changing this forces a new Pim Eligible Role Assignment to be created. * */ public Optional> durationHours() { @@ -47,14 +47,14 @@ public Optional> durationHours() { } /** - * The end date time of the role assignment. Conflicts with `schedule.0.expiration.0.duration_days`,`schedule.0.expiration.0.duration_hours` Changing this forces a new Pim Eligible Role Assignment to be created. + * The end date time of the role assignment. Conflicts with `schedule[0].expiration[0].duration_days`,`schedule[0].expiration[0].duration_hours` Changing this forces a new Pim Eligible Role Assignment to be created. * */ @Import(name="endDateTime") private @Nullable Output endDateTime; /** - * @return The end date time of the role assignment. Conflicts with `schedule.0.expiration.0.duration_days`,`schedule.0.expiration.0.duration_hours` Changing this forces a new Pim Eligible Role Assignment to be created. + * @return The end date time of the role assignment. Conflicts with `schedule[0].expiration[0].duration_days`,`schedule[0].expiration[0].duration_hours` Changing this forces a new Pim Eligible Role Assignment to be created. * */ public Optional> endDateTime() { @@ -88,7 +88,7 @@ public Builder(EligibleRoleAssignmentScheduleExpirationArgs defaults) { } /** - * @param durationDays The duration of the role assignment in days. Conflicts with `schedule.0.expiration.0.duration_hours`,`schedule.0.expiration.0.end_date_time` Changing this forces a new Pim Eligible Role Assignment to be created. + * @param durationDays The duration of the role assignment in days. Conflicts with `schedule[0].expiration[0].duration_hours`,`schedule[0].expiration[0].end_date_time` Changing this forces a new Pim Eligible Role Assignment to be created. * * @return builder * @@ -99,7 +99,7 @@ public Builder durationDays(@Nullable Output durationDays) { } /** - * @param durationDays The duration of the role assignment in days. Conflicts with `schedule.0.expiration.0.duration_hours`,`schedule.0.expiration.0.end_date_time` Changing this forces a new Pim Eligible Role Assignment to be created. + * @param durationDays The duration of the role assignment in days. Conflicts with `schedule[0].expiration[0].duration_hours`,`schedule[0].expiration[0].end_date_time` Changing this forces a new Pim Eligible Role Assignment to be created. * * @return builder * @@ -109,7 +109,7 @@ public Builder durationDays(Integer durationDays) { } /** - * @param durationHours The duration of the role assignment in hours. Conflicts with `schedule.0.expiration.0.duration_days`,`schedule.0.expiration.0.end_date_time` Changing this forces a new Pim Eligible Role Assignment to be created. + * @param durationHours The duration of the role assignment in hours. Conflicts with `schedule[0].expiration[0].duration_days`,`schedule[0].expiration[0].end_date_time` Changing this forces a new Pim Eligible Role Assignment to be created. * * @return builder * @@ -120,7 +120,7 @@ public Builder durationHours(@Nullable Output durationHours) { } /** - * @param durationHours The duration of the role assignment in hours. Conflicts with `schedule.0.expiration.0.duration_days`,`schedule.0.expiration.0.end_date_time` Changing this forces a new Pim Eligible Role Assignment to be created. + * @param durationHours The duration of the role assignment in hours. Conflicts with `schedule[0].expiration[0].duration_days`,`schedule[0].expiration[0].end_date_time` Changing this forces a new Pim Eligible Role Assignment to be created. * * @return builder * @@ -130,7 +130,7 @@ public Builder durationHours(Integer durationHours) { } /** - * @param endDateTime The end date time of the role assignment. Conflicts with `schedule.0.expiration.0.duration_days`,`schedule.0.expiration.0.duration_hours` Changing this forces a new Pim Eligible Role Assignment to be created. + * @param endDateTime The end date time of the role assignment. Conflicts with `schedule[0].expiration[0].duration_days`,`schedule[0].expiration[0].duration_hours` Changing this forces a new Pim Eligible Role Assignment to be created. * * @return builder * @@ -141,7 +141,7 @@ public Builder endDateTime(@Nullable Output endDateTime) { } /** - * @param endDateTime The end date time of the role assignment. Conflicts with `schedule.0.expiration.0.duration_days`,`schedule.0.expiration.0.duration_hours` Changing this forces a new Pim Eligible Role Assignment to be created. + * @param endDateTime The end date time of the role assignment. Conflicts with `schedule[0].expiration[0].duration_days`,`schedule[0].expiration[0].duration_hours` Changing this forces a new Pim Eligible Role Assignment to be created. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/azure/pim/outputs/ActiveRoleAssignmentScheduleExpiration.java b/sdk/java/src/main/java/com/pulumi/azure/pim/outputs/ActiveRoleAssignmentScheduleExpiration.java index 6fd5f9d136..16f01fa224 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/pim/outputs/ActiveRoleAssignmentScheduleExpiration.java +++ b/sdk/java/src/main/java/com/pulumi/azure/pim/outputs/ActiveRoleAssignmentScheduleExpiration.java @@ -13,38 +13,38 @@ @CustomType public final class ActiveRoleAssignmentScheduleExpiration { /** - * @return The duration of the role assignment in days. Conflicts with `schedule.0.expiration.0.duration_hours`,`schedule.0.expiration.0.end_date_time` Changing this forces a new Pim Active Role Assignment to be created. + * @return The duration of the role assignment in days. Conflicts with `schedule[0].expiration[0].duration_hours`,`schedule[0].expiration[0].end_date_time` Changing this forces a new Pim Active Role Assignment to be created. * */ private @Nullable Integer durationDays; /** - * @return The duration of the role assignment in hours. Conflicts with `schedule.0.expiration.0.duration_days`,`schedule.0.expiration.0.end_date_time` Changing this forces a new Pim Active Role Assignment to be created. + * @return The duration of the role assignment in hours. Conflicts with `schedule[0].expiration[0].duration_days`,`schedule[0].expiration[0].end_date_time` Changing this forces a new Pim Active Role Assignment to be created. * */ private @Nullable Integer durationHours; /** - * @return The end date time of the role assignment. Conflicts with `schedule.0.expiration.0.duration_days`,`schedule.0.expiration.0.duration_hours` Changing this forces a new Pim Active Role Assignment to be created. + * @return The end date time of the role assignment. Conflicts with `schedule[0].expiration[0].duration_days`,`schedule[0].expiration[0].duration_hours` Changing this forces a new Pim Active Role Assignment to be created. * */ private @Nullable String endDateTime; private ActiveRoleAssignmentScheduleExpiration() {} /** - * @return The duration of the role assignment in days. Conflicts with `schedule.0.expiration.0.duration_hours`,`schedule.0.expiration.0.end_date_time` Changing this forces a new Pim Active Role Assignment to be created. + * @return The duration of the role assignment in days. Conflicts with `schedule[0].expiration[0].duration_hours`,`schedule[0].expiration[0].end_date_time` Changing this forces a new Pim Active Role Assignment to be created. * */ public Optional durationDays() { return Optional.ofNullable(this.durationDays); } /** - * @return The duration of the role assignment in hours. Conflicts with `schedule.0.expiration.0.duration_days`,`schedule.0.expiration.0.end_date_time` Changing this forces a new Pim Active Role Assignment to be created. + * @return The duration of the role assignment in hours. Conflicts with `schedule[0].expiration[0].duration_days`,`schedule[0].expiration[0].end_date_time` Changing this forces a new Pim Active Role Assignment to be created. * */ public Optional durationHours() { return Optional.ofNullable(this.durationHours); } /** - * @return The end date time of the role assignment. Conflicts with `schedule.0.expiration.0.duration_days`,`schedule.0.expiration.0.duration_hours` Changing this forces a new Pim Active Role Assignment to be created. + * @return The end date time of the role assignment. Conflicts with `schedule[0].expiration[0].duration_days`,`schedule[0].expiration[0].duration_hours` Changing this forces a new Pim Active Role Assignment to be created. * */ public Optional endDateTime() { diff --git a/sdk/java/src/main/java/com/pulumi/azure/pim/outputs/EligibleRoleAssignmentScheduleExpiration.java b/sdk/java/src/main/java/com/pulumi/azure/pim/outputs/EligibleRoleAssignmentScheduleExpiration.java index aef6efec04..35bab6aa6f 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/pim/outputs/EligibleRoleAssignmentScheduleExpiration.java +++ b/sdk/java/src/main/java/com/pulumi/azure/pim/outputs/EligibleRoleAssignmentScheduleExpiration.java @@ -13,38 +13,38 @@ @CustomType public final class EligibleRoleAssignmentScheduleExpiration { /** - * @return The duration of the role assignment in days. Conflicts with `schedule.0.expiration.0.duration_hours`,`schedule.0.expiration.0.end_date_time` Changing this forces a new Pim Eligible Role Assignment to be created. + * @return The duration of the role assignment in days. Conflicts with `schedule[0].expiration[0].duration_hours`,`schedule[0].expiration[0].end_date_time` Changing this forces a new Pim Eligible Role Assignment to be created. * */ private @Nullable Integer durationDays; /** - * @return The duration of the role assignment in hours. Conflicts with `schedule.0.expiration.0.duration_days`,`schedule.0.expiration.0.end_date_time` Changing this forces a new Pim Eligible Role Assignment to be created. + * @return The duration of the role assignment in hours. Conflicts with `schedule[0].expiration[0].duration_days`,`schedule[0].expiration[0].end_date_time` Changing this forces a new Pim Eligible Role Assignment to be created. * */ private @Nullable Integer durationHours; /** - * @return The end date time of the role assignment. Conflicts with `schedule.0.expiration.0.duration_days`,`schedule.0.expiration.0.duration_hours` Changing this forces a new Pim Eligible Role Assignment to be created. + * @return The end date time of the role assignment. Conflicts with `schedule[0].expiration[0].duration_days`,`schedule[0].expiration[0].duration_hours` Changing this forces a new Pim Eligible Role Assignment to be created. * */ private @Nullable String endDateTime; private EligibleRoleAssignmentScheduleExpiration() {} /** - * @return The duration of the role assignment in days. Conflicts with `schedule.0.expiration.0.duration_hours`,`schedule.0.expiration.0.end_date_time` Changing this forces a new Pim Eligible Role Assignment to be created. + * @return The duration of the role assignment in days. Conflicts with `schedule[0].expiration[0].duration_hours`,`schedule[0].expiration[0].end_date_time` Changing this forces a new Pim Eligible Role Assignment to be created. * */ public Optional durationDays() { return Optional.ofNullable(this.durationDays); } /** - * @return The duration of the role assignment in hours. Conflicts with `schedule.0.expiration.0.duration_days`,`schedule.0.expiration.0.end_date_time` Changing this forces a new Pim Eligible Role Assignment to be created. + * @return The duration of the role assignment in hours. Conflicts with `schedule[0].expiration[0].duration_days`,`schedule[0].expiration[0].end_date_time` Changing this forces a new Pim Eligible Role Assignment to be created. * */ public Optional durationHours() { return Optional.ofNullable(this.durationHours); } /** - * @return The end date time of the role assignment. Conflicts with `schedule.0.expiration.0.duration_days`,`schedule.0.expiration.0.duration_hours` Changing this forces a new Pim Eligible Role Assignment to be created. + * @return The end date time of the role assignment. Conflicts with `schedule[0].expiration[0].duration_days`,`schedule[0].expiration[0].duration_hours` Changing this forces a new Pim Eligible Role Assignment to be created. * */ public Optional endDateTime() { diff --git a/sdk/java/src/main/java/com/pulumi/azure/postgresql/FlexibleServer.java b/sdk/java/src/main/java/com/pulumi/azure/postgresql/FlexibleServer.java index cb2837c497..b1d57bb6e8 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/postgresql/FlexibleServer.java +++ b/sdk/java/src/main/java/com/pulumi/azure/postgresql/FlexibleServer.java @@ -110,12 +110,33 @@ * .administratorPassword("H@Sh1CoR3!") * .zone("1") * .storageMb(32768) + * .storageTier("P30") * .skuName("GP_Standard_D4s_v3") * .build()); * * } * } * ``` + * ## `storage_tier` defaults based on `storage_mb` + * + * | `storage_mb` | GiB | TiB | Default | Supported `storage_tier`'s | Provisioned `IOPS` | + * |:------------:|:-----:|:---:|:-------:|:------------------------------------:|:-------------------:| + * | 32768 | 32 | - | P4 | P4, P6, P10, P15, P20, P30, P40, P50 | 120 | + * | 65536 | 64 | - | P6 | P6, P10, P15, P20, P30, P40, P50 | 240 | + * | 131072 | 128 | - | P10 | P10, P15, P20, P30, P40, P50 | 500 | + * | 262144 | 256 | - | P15 | P15, P20, P30, P40, P50 | 1,100 | + * | 524288 | 512 | - | P20 | P20, P30, P40, P50 | 2,300 | + * | 1048576 | 1024 | 1 | P30 | P30, P40, P50 | 5,000 | + * | 2097152 | 2048 | 2 | P40 | P40, P50 | 7,500 | + * | 4193280 | 4095 | 4 | P50 | P50 | 7,500 | + * | 4194304 | 4096 | 4 | P50 | P50 | 7,500 | + * | 8388608 | 8192 | 8 | P60 | P60, P70 | 16,000 | + * | 16777216 | 16384 | 16 | P70 | P70, P80 | 18,000 | + * | 33553408 | 32767 | 32 | P80 | P80 | 20,000 | + * + * > **Note:** Host Caching (ReadOnly and Read/Write) is supported on disk sizes less than 4194304 MiB. This means any disk that is provisioned up to 4193280 MiB can take advantage of Host Caching. Host caching is not supported for disk sizes larger than 4193280 MiB. For example, a P50 premium disk provisioned at 4193280 GiB can take advantage of Host caching while a P50 disk provisioned at 4194304 MiB cannot. Moving from a smaller disk size to a larger disk size, greater than 4193280 MiB, will cause the disk to lose the disk caching ability. + * + * *** * * ## Import * @@ -371,7 +392,7 @@ public Output> pointInTimeRestoreTimeInUtc() { /** * The ID of the private DNS zone to create the PostgreSQL Flexible Server. * - * > **NOTE:** There will be a breaking change from upstream service at 15th July 2021, the `private_dns_zone_id` will be required when setting a `delegated_subnet_id`. For existing flexible servers who don't want to be recreated, you need to provide the `private_dns_zone_id` to the service team to manually migrate to the specified private DNS zone. The `azure.privatedns.Zone` should end with suffix `.postgres.database.azure.com`. + * > **Note:** There will be a breaking change from upstream service at 15th July 2021, the `private_dns_zone_id` will be required when setting a `delegated_subnet_id`. For existing flexible servers who don't want to be recreated, you need to provide the `private_dns_zone_id` to the service team to manually migrate to the specified private DNS zone. The `azure.privatedns.Zone` should end with suffix `.postgres.database.azure.com`. * */ @Export(name="privateDnsZoneId", refs={String.class}, tree="[0]") @@ -380,7 +401,7 @@ public Output> pointInTimeRestoreTimeInUtc() { /** * @return The ID of the private DNS zone to create the PostgreSQL Flexible Server. * - * > **NOTE:** There will be a breaking change from upstream service at 15th July 2021, the `private_dns_zone_id` will be required when setting a `delegated_subnet_id`. For existing flexible servers who don't want to be recreated, you need to provide the `private_dns_zone_id` to the service team to manually migrate to the specified private DNS zone. The `azure.privatedns.Zone` should end with suffix `.postgres.database.azure.com`. + * > **Note:** There will be a breaking change from upstream service at 15th July 2021, the `private_dns_zone_id` will be required when setting a `delegated_subnet_id`. For existing flexible servers who don't want to be recreated, you need to provide the `private_dns_zone_id` to the service team to manually migrate to the specified private DNS zone. The `azure.privatedns.Zone` should end with suffix `.postgres.database.azure.com`. * */ public Output privateDnsZoneId() { @@ -403,7 +424,7 @@ public Output publicNetworkAccessEnabled() { /** * The replication role for the PostgreSQL Flexible Server. Possible value is `None`. * - * > **NOTE:** The `replication_role` cannot be set while creating and only can be updated to `None` for replica server. + * > **Note:** The `replication_role` cannot be set while creating and only can be updated to `None` for replica server. * */ @Export(name="replicationRole", refs={String.class}, tree="[0]") @@ -412,7 +433,7 @@ public Output publicNetworkAccessEnabled() { /** * @return The replication role for the PostgreSQL Flexible Server. Possible value is `None`. * - * > **NOTE:** The `replication_role` cannot be set while creating and only can be updated to `None` for replica server. + * > **Note:** The `replication_role` cannot be set while creating and only can be updated to `None` for replica server. * */ public Output> replicationRole() { @@ -463,6 +484,10 @@ public Output> sourceServerId() { /** * The max storage allowed for the PostgreSQL Flexible Server. Possible values are `32768`, `65536`, `131072`, `262144`, `524288`, `1048576`, `2097152`, `4193280`, `4194304`, `8388608`, `16777216` and `33553408`. * + * > **Note:** If the `storage_mb` field is undefined on the initial deployment of the PostgreSQL Flexible Server resource it will default to `32768`. If the `storage_mb` field has been defined and then removed, the `storage_mb` field will retain the previously defined value. + * + * > **Note:** The `storage_mb` can only be scaled up, for example, you can scale the `storage_mb` from `32768` to `65536`, but not from `65536` to `32768`. + * */ @Export(name="storageMb", refs={Integer.class}, tree="[0]") private Output storageMb; @@ -470,10 +495,32 @@ public Output> sourceServerId() { /** * @return The max storage allowed for the PostgreSQL Flexible Server. Possible values are `32768`, `65536`, `131072`, `262144`, `524288`, `1048576`, `2097152`, `4193280`, `4194304`, `8388608`, `16777216` and `33553408`. * + * > **Note:** If the `storage_mb` field is undefined on the initial deployment of the PostgreSQL Flexible Server resource it will default to `32768`. If the `storage_mb` field has been defined and then removed, the `storage_mb` field will retain the previously defined value. + * + * > **Note:** The `storage_mb` can only be scaled up, for example, you can scale the `storage_mb` from `32768` to `65536`, but not from `65536` to `32768`. + * */ public Output storageMb() { return this.storageMb; } + /** + * The name of storage performance tier for IOPS of the PostgreSQL Flexible Server. Possible values are `P4`, `P6`, `P10`, `P15`,`P20`, `P30`,`P40`, `P50`,`P60`, `P70` or `P80`. Default value is dependant on the `storage_mb` value. Please see the `storage_tier` defaults based on `storage_mb` table below. + * + * > **Note:** The `storage_tier` can be scaled once every 12 hours, this restriction is in place to ensure stability and performance after any changes to your PostgreSQL Flexible Server's configuration. + * + */ + @Export(name="storageTier", refs={String.class}, tree="[0]") + private Output storageTier; + + /** + * @return The name of storage performance tier for IOPS of the PostgreSQL Flexible Server. Possible values are `P4`, `P6`, `P10`, `P15`,`P20`, `P30`,`P40`, `P50`,`P60`, `P70` or `P80`. Default value is dependant on the `storage_mb` value. Please see the `storage_tier` defaults based on `storage_mb` table below. + * + * > **Note:** The `storage_tier` can be scaled once every 12 hours, this restriction is in place to ensure stability and performance after any changes to your PostgreSQL Flexible Server's configuration. + * + */ + public Output storageTier() { + return this.storageTier; + } /** * A mapping of tags which should be assigned to the PostgreSQL Flexible Server. * diff --git a/sdk/java/src/main/java/com/pulumi/azure/postgresql/FlexibleServerArgs.java b/sdk/java/src/main/java/com/pulumi/azure/postgresql/FlexibleServerArgs.java index 1421018524..a09b5e8a40 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/postgresql/FlexibleServerArgs.java +++ b/sdk/java/src/main/java/com/pulumi/azure/postgresql/FlexibleServerArgs.java @@ -268,7 +268,7 @@ public Optional> pointInTimeRestoreTimeInUtc() { /** * The ID of the private DNS zone to create the PostgreSQL Flexible Server. * - * > **NOTE:** There will be a breaking change from upstream service at 15th July 2021, the `private_dns_zone_id` will be required when setting a `delegated_subnet_id`. For existing flexible servers who don't want to be recreated, you need to provide the `private_dns_zone_id` to the service team to manually migrate to the specified private DNS zone. The `azure.privatedns.Zone` should end with suffix `.postgres.database.azure.com`. + * > **Note:** There will be a breaking change from upstream service at 15th July 2021, the `private_dns_zone_id` will be required when setting a `delegated_subnet_id`. For existing flexible servers who don't want to be recreated, you need to provide the `private_dns_zone_id` to the service team to manually migrate to the specified private DNS zone. The `azure.privatedns.Zone` should end with suffix `.postgres.database.azure.com`. * */ @Import(name="privateDnsZoneId") @@ -277,7 +277,7 @@ public Optional> pointInTimeRestoreTimeInUtc() { /** * @return The ID of the private DNS zone to create the PostgreSQL Flexible Server. * - * > **NOTE:** There will be a breaking change from upstream service at 15th July 2021, the `private_dns_zone_id` will be required when setting a `delegated_subnet_id`. For existing flexible servers who don't want to be recreated, you need to provide the `private_dns_zone_id` to the service team to manually migrate to the specified private DNS zone. The `azure.privatedns.Zone` should end with suffix `.postgres.database.azure.com`. + * > **Note:** There will be a breaking change from upstream service at 15th July 2021, the `private_dns_zone_id` will be required when setting a `delegated_subnet_id`. For existing flexible servers who don't want to be recreated, you need to provide the `private_dns_zone_id` to the service team to manually migrate to the specified private DNS zone. The `azure.privatedns.Zone` should end with suffix `.postgres.database.azure.com`. * */ public Optional> privateDnsZoneId() { @@ -287,7 +287,7 @@ public Optional> privateDnsZoneId() { /** * The replication role for the PostgreSQL Flexible Server. Possible value is `None`. * - * > **NOTE:** The `replication_role` cannot be set while creating and only can be updated to `None` for replica server. + * > **Note:** The `replication_role` cannot be set while creating and only can be updated to `None` for replica server. * */ @Import(name="replicationRole") @@ -296,7 +296,7 @@ public Optional> privateDnsZoneId() { /** * @return The replication role for the PostgreSQL Flexible Server. Possible value is `None`. * - * > **NOTE:** The `replication_role` cannot be set while creating and only can be updated to `None` for replica server. + * > **Note:** The `replication_role` cannot be set while creating and only can be updated to `None` for replica server. * */ public Optional> replicationRole() { @@ -351,6 +351,10 @@ public Optional> sourceServerId() { /** * The max storage allowed for the PostgreSQL Flexible Server. Possible values are `32768`, `65536`, `131072`, `262144`, `524288`, `1048576`, `2097152`, `4193280`, `4194304`, `8388608`, `16777216` and `33553408`. * + * > **Note:** If the `storage_mb` field is undefined on the initial deployment of the PostgreSQL Flexible Server resource it will default to `32768`. If the `storage_mb` field has been defined and then removed, the `storage_mb` field will retain the previously defined value. + * + * > **Note:** The `storage_mb` can only be scaled up, for example, you can scale the `storage_mb` from `32768` to `65536`, but not from `65536` to `32768`. + * */ @Import(name="storageMb") private @Nullable Output storageMb; @@ -358,11 +362,34 @@ public Optional> sourceServerId() { /** * @return The max storage allowed for the PostgreSQL Flexible Server. Possible values are `32768`, `65536`, `131072`, `262144`, `524288`, `1048576`, `2097152`, `4193280`, `4194304`, `8388608`, `16777216` and `33553408`. * + * > **Note:** If the `storage_mb` field is undefined on the initial deployment of the PostgreSQL Flexible Server resource it will default to `32768`. If the `storage_mb` field has been defined and then removed, the `storage_mb` field will retain the previously defined value. + * + * > **Note:** The `storage_mb` can only be scaled up, for example, you can scale the `storage_mb` from `32768` to `65536`, but not from `65536` to `32768`. + * */ public Optional> storageMb() { return Optional.ofNullable(this.storageMb); } + /** + * The name of storage performance tier for IOPS of the PostgreSQL Flexible Server. Possible values are `P4`, `P6`, `P10`, `P15`,`P20`, `P30`,`P40`, `P50`,`P60`, `P70` or `P80`. Default value is dependant on the `storage_mb` value. Please see the `storage_tier` defaults based on `storage_mb` table below. + * + * > **Note:** The `storage_tier` can be scaled once every 12 hours, this restriction is in place to ensure stability and performance after any changes to your PostgreSQL Flexible Server's configuration. + * + */ + @Import(name="storageTier") + private @Nullable Output storageTier; + + /** + * @return The name of storage performance tier for IOPS of the PostgreSQL Flexible Server. Possible values are `P4`, `P6`, `P10`, `P15`,`P20`, `P30`,`P40`, `P50`,`P60`, `P70` or `P80`. Default value is dependant on the `storage_mb` value. Please see the `storage_tier` defaults based on `storage_mb` table below. + * + * > **Note:** The `storage_tier` can be scaled once every 12 hours, this restriction is in place to ensure stability and performance after any changes to your PostgreSQL Flexible Server's configuration. + * + */ + public Optional> storageTier() { + return Optional.ofNullable(this.storageTier); + } + /** * A mapping of tags which should be assigned to the PostgreSQL Flexible Server. * @@ -428,6 +455,7 @@ private FlexibleServerArgs(FlexibleServerArgs $) { this.skuName = $.skuName; this.sourceServerId = $.sourceServerId; this.storageMb = $.storageMb; + this.storageTier = $.storageTier; this.tags = $.tags; this.version = $.version; this.zone = $.zone; @@ -785,7 +813,7 @@ public Builder pointInTimeRestoreTimeInUtc(String pointInTimeRestoreTimeInUtc) { /** * @param privateDnsZoneId The ID of the private DNS zone to create the PostgreSQL Flexible Server. * - * > **NOTE:** There will be a breaking change from upstream service at 15th July 2021, the `private_dns_zone_id` will be required when setting a `delegated_subnet_id`. For existing flexible servers who don't want to be recreated, you need to provide the `private_dns_zone_id` to the service team to manually migrate to the specified private DNS zone. The `azure.privatedns.Zone` should end with suffix `.postgres.database.azure.com`. + * > **Note:** There will be a breaking change from upstream service at 15th July 2021, the `private_dns_zone_id` will be required when setting a `delegated_subnet_id`. For existing flexible servers who don't want to be recreated, you need to provide the `private_dns_zone_id` to the service team to manually migrate to the specified private DNS zone. The `azure.privatedns.Zone` should end with suffix `.postgres.database.azure.com`. * * @return builder * @@ -798,7 +826,7 @@ public Builder privateDnsZoneId(@Nullable Output privateDnsZoneId) { /** * @param privateDnsZoneId The ID of the private DNS zone to create the PostgreSQL Flexible Server. * - * > **NOTE:** There will be a breaking change from upstream service at 15th July 2021, the `private_dns_zone_id` will be required when setting a `delegated_subnet_id`. For existing flexible servers who don't want to be recreated, you need to provide the `private_dns_zone_id` to the service team to manually migrate to the specified private DNS zone. The `azure.privatedns.Zone` should end with suffix `.postgres.database.azure.com`. + * > **Note:** There will be a breaking change from upstream service at 15th July 2021, the `private_dns_zone_id` will be required when setting a `delegated_subnet_id`. For existing flexible servers who don't want to be recreated, you need to provide the `private_dns_zone_id` to the service team to manually migrate to the specified private DNS zone. The `azure.privatedns.Zone` should end with suffix `.postgres.database.azure.com`. * * @return builder * @@ -810,7 +838,7 @@ public Builder privateDnsZoneId(String privateDnsZoneId) { /** * @param replicationRole The replication role for the PostgreSQL Flexible Server. Possible value is `None`. * - * > **NOTE:** The `replication_role` cannot be set while creating and only can be updated to `None` for replica server. + * > **Note:** The `replication_role` cannot be set while creating and only can be updated to `None` for replica server. * * @return builder * @@ -823,7 +851,7 @@ public Builder replicationRole(@Nullable Output replicationRole) { /** * @param replicationRole The replication role for the PostgreSQL Flexible Server. Possible value is `None`. * - * > **NOTE:** The `replication_role` cannot be set while creating and only can be updated to `None` for replica server. + * > **Note:** The `replication_role` cannot be set while creating and only can be updated to `None` for replica server. * * @return builder * @@ -898,6 +926,10 @@ public Builder sourceServerId(String sourceServerId) { /** * @param storageMb The max storage allowed for the PostgreSQL Flexible Server. Possible values are `32768`, `65536`, `131072`, `262144`, `524288`, `1048576`, `2097152`, `4193280`, `4194304`, `8388608`, `16777216` and `33553408`. * + * > **Note:** If the `storage_mb` field is undefined on the initial deployment of the PostgreSQL Flexible Server resource it will default to `32768`. If the `storage_mb` field has been defined and then removed, the `storage_mb` field will retain the previously defined value. + * + * > **Note:** The `storage_mb` can only be scaled up, for example, you can scale the `storage_mb` from `32768` to `65536`, but not from `65536` to `32768`. + * * @return builder * */ @@ -909,6 +941,10 @@ public Builder storageMb(@Nullable Output storageMb) { /** * @param storageMb The max storage allowed for the PostgreSQL Flexible Server. Possible values are `32768`, `65536`, `131072`, `262144`, `524288`, `1048576`, `2097152`, `4193280`, `4194304`, `8388608`, `16777216` and `33553408`. * + * > **Note:** If the `storage_mb` field is undefined on the initial deployment of the PostgreSQL Flexible Server resource it will default to `32768`. If the `storage_mb` field has been defined and then removed, the `storage_mb` field will retain the previously defined value. + * + * > **Note:** The `storage_mb` can only be scaled up, for example, you can scale the `storage_mb` from `32768` to `65536`, but not from `65536` to `32768`. + * * @return builder * */ @@ -916,6 +952,31 @@ public Builder storageMb(Integer storageMb) { return storageMb(Output.of(storageMb)); } + /** + * @param storageTier The name of storage performance tier for IOPS of the PostgreSQL Flexible Server. Possible values are `P4`, `P6`, `P10`, `P15`,`P20`, `P30`,`P40`, `P50`,`P60`, `P70` or `P80`. Default value is dependant on the `storage_mb` value. Please see the `storage_tier` defaults based on `storage_mb` table below. + * + * > **Note:** The `storage_tier` can be scaled once every 12 hours, this restriction is in place to ensure stability and performance after any changes to your PostgreSQL Flexible Server's configuration. + * + * @return builder + * + */ + public Builder storageTier(@Nullable Output storageTier) { + $.storageTier = storageTier; + return this; + } + + /** + * @param storageTier The name of storage performance tier for IOPS of the PostgreSQL Flexible Server. Possible values are `P4`, `P6`, `P10`, `P15`,`P20`, `P30`,`P40`, `P50`,`P60`, `P70` or `P80`. Default value is dependant on the `storage_mb` value. Please see the `storage_tier` defaults based on `storage_mb` table below. + * + * > **Note:** The `storage_tier` can be scaled once every 12 hours, this restriction is in place to ensure stability and performance after any changes to your PostgreSQL Flexible Server's configuration. + * + * @return builder + * + */ + public Builder storageTier(String storageTier) { + return storageTier(Output.of(storageTier)); + } + /** * @param tags A mapping of tags which should be assigned to the PostgreSQL Flexible Server. * diff --git a/sdk/java/src/main/java/com/pulumi/azure/postgresql/FlexibleServerDatabase.java b/sdk/java/src/main/java/com/pulumi/azure/postgresql/FlexibleServerDatabase.java index 6b05018b08..480e04ca4d 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/postgresql/FlexibleServerDatabase.java +++ b/sdk/java/src/main/java/com/pulumi/azure/postgresql/FlexibleServerDatabase.java @@ -58,7 +58,7 @@ * .build()); * * var exampleFlexibleServerDatabase = new FlexibleServerDatabase("exampleFlexibleServerDatabase", FlexibleServerDatabaseArgs.builder() - * .name("example-db") + * .name("exampledb") * .serverId(exampleFlexibleServer.id()) * .collation("en_US.utf8") * .charset("utf8") @@ -108,14 +108,14 @@ public Output> collation() { return Codegen.optional(this.collation); } /** - * The name which should be used for this Azure PostgreSQL Flexible Server Database. Changing this forces a new Azure PostgreSQL Flexible Server Database to be created. + * Specifies the name of the PostgreSQL Database, which needs [to be a valid PostgreSQL identifier](https://www.postgresql.org/docs/current/sql-syntax-lexical.html#SQL-SYNTAX-IDENTIFIERS). Changing this forces a new Azure PostgreSQL Flexible Server Database to be created. * */ @Export(name="name", refs={String.class}, tree="[0]") private Output name; /** - * @return The name which should be used for this Azure PostgreSQL Flexible Server Database. Changing this forces a new Azure PostgreSQL Flexible Server Database to be created. + * @return Specifies the name of the PostgreSQL Database, which needs [to be a valid PostgreSQL identifier](https://www.postgresql.org/docs/current/sql-syntax-lexical.html#SQL-SYNTAX-IDENTIFIERS). Changing this forces a new Azure PostgreSQL Flexible Server Database to be created. * */ public Output name() { diff --git a/sdk/java/src/main/java/com/pulumi/azure/postgresql/FlexibleServerDatabaseArgs.java b/sdk/java/src/main/java/com/pulumi/azure/postgresql/FlexibleServerDatabaseArgs.java index 0d32214d3e..65706f338b 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/postgresql/FlexibleServerDatabaseArgs.java +++ b/sdk/java/src/main/java/com/pulumi/azure/postgresql/FlexibleServerDatabaseArgs.java @@ -47,14 +47,14 @@ public Optional> collation() { } /** - * The name which should be used for this Azure PostgreSQL Flexible Server Database. Changing this forces a new Azure PostgreSQL Flexible Server Database to be created. + * Specifies the name of the PostgreSQL Database, which needs [to be a valid PostgreSQL identifier](https://www.postgresql.org/docs/current/sql-syntax-lexical.html#SQL-SYNTAX-IDENTIFIERS). Changing this forces a new Azure PostgreSQL Flexible Server Database to be created. * */ @Import(name="name") private @Nullable Output name; /** - * @return The name which should be used for this Azure PostgreSQL Flexible Server Database. Changing this forces a new Azure PostgreSQL Flexible Server Database to be created. + * @return Specifies the name of the PostgreSQL Database, which needs [to be a valid PostgreSQL identifier](https://www.postgresql.org/docs/current/sql-syntax-lexical.html#SQL-SYNTAX-IDENTIFIERS). Changing this forces a new Azure PostgreSQL Flexible Server Database to be created. * */ public Optional> name() { @@ -146,7 +146,7 @@ public Builder collation(String collation) { } /** - * @param name The name which should be used for this Azure PostgreSQL Flexible Server Database. Changing this forces a new Azure PostgreSQL Flexible Server Database to be created. + * @param name Specifies the name of the PostgreSQL Database, which needs [to be a valid PostgreSQL identifier](https://www.postgresql.org/docs/current/sql-syntax-lexical.html#SQL-SYNTAX-IDENTIFIERS). Changing this forces a new Azure PostgreSQL Flexible Server Database to be created. * * @return builder * @@ -157,7 +157,7 @@ public Builder name(@Nullable Output name) { } /** - * @param name The name which should be used for this Azure PostgreSQL Flexible Server Database. Changing this forces a new Azure PostgreSQL Flexible Server Database to be created. + * @param name Specifies the name of the PostgreSQL Database, which needs [to be a valid PostgreSQL identifier](https://www.postgresql.org/docs/current/sql-syntax-lexical.html#SQL-SYNTAX-IDENTIFIERS). Changing this forces a new Azure PostgreSQL Flexible Server Database to be created. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/azure/postgresql/inputs/FlexibleServerCustomerManagedKeyArgs.java b/sdk/java/src/main/java/com/pulumi/azure/postgresql/inputs/FlexibleServerCustomerManagedKeyArgs.java index bfc5777945..9a65316617 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/postgresql/inputs/FlexibleServerCustomerManagedKeyArgs.java +++ b/sdk/java/src/main/java/com/pulumi/azure/postgresql/inputs/FlexibleServerCustomerManagedKeyArgs.java @@ -5,6 +5,7 @@ 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; @@ -33,7 +34,7 @@ public Optional> geoBackupKeyVaultKeyId() { /** * The geo backup user managed identity id for a Customer Managed Key. Should be added with `identity_ids`. It can't cross region and need identity in same region as geo backup. * - * > **NOTE:** `primary_user_assigned_identity_id` or `geo_backup_user_assigned_identity_id` is required when `type` is set to `UserAssigned`. + * > **Note:** `primary_user_assigned_identity_id` or `geo_backup_user_assigned_identity_id` is required when `type` is set to `UserAssigned`. * */ @Import(name="geoBackupUserAssignedIdentityId") @@ -42,7 +43,7 @@ public Optional> geoBackupKeyVaultKeyId() { /** * @return The geo backup user managed identity id for a Customer Managed Key. Should be added with `identity_ids`. It can't cross region and need identity in same region as geo backup. * - * > **NOTE:** `primary_user_assigned_identity_id` or `geo_backup_user_assigned_identity_id` is required when `type` is set to `UserAssigned`. + * > **Note:** `primary_user_assigned_identity_id` or `geo_backup_user_assigned_identity_id` is required when `type` is set to `UserAssigned`. * */ public Optional> geoBackupUserAssignedIdentityId() { @@ -53,15 +54,15 @@ public Optional> geoBackupUserAssignedIdentityId() { * The ID of the Key Vault Key. * */ - @Import(name="keyVaultKeyId") - private @Nullable Output keyVaultKeyId; + @Import(name="keyVaultKeyId", required=true) + private Output keyVaultKeyId; /** * @return The ID of the Key Vault Key. * */ - public Optional> keyVaultKeyId() { - return Optional.ofNullable(this.keyVaultKeyId); + public Output keyVaultKeyId() { + return this.keyVaultKeyId; } /** @@ -130,7 +131,7 @@ public Builder geoBackupKeyVaultKeyId(String geoBackupKeyVaultKeyId) { /** * @param geoBackupUserAssignedIdentityId The geo backup user managed identity id for a Customer Managed Key. Should be added with `identity_ids`. It can't cross region and need identity in same region as geo backup. * - * > **NOTE:** `primary_user_assigned_identity_id` or `geo_backup_user_assigned_identity_id` is required when `type` is set to `UserAssigned`. + * > **Note:** `primary_user_assigned_identity_id` or `geo_backup_user_assigned_identity_id` is required when `type` is set to `UserAssigned`. * * @return builder * @@ -143,7 +144,7 @@ public Builder geoBackupUserAssignedIdentityId(@Nullable Output geoBacku /** * @param geoBackupUserAssignedIdentityId The geo backup user managed identity id for a Customer Managed Key. Should be added with `identity_ids`. It can't cross region and need identity in same region as geo backup. * - * > **NOTE:** `primary_user_assigned_identity_id` or `geo_backup_user_assigned_identity_id` is required when `type` is set to `UserAssigned`. + * > **Note:** `primary_user_assigned_identity_id` or `geo_backup_user_assigned_identity_id` is required when `type` is set to `UserAssigned`. * * @return builder * @@ -158,7 +159,7 @@ public Builder geoBackupUserAssignedIdentityId(String geoBackupUserAssignedIdent * @return builder * */ - public Builder keyVaultKeyId(@Nullable Output keyVaultKeyId) { + public Builder keyVaultKeyId(Output keyVaultKeyId) { $.keyVaultKeyId = keyVaultKeyId; return this; } @@ -195,6 +196,9 @@ public Builder primaryUserAssignedIdentityId(String primaryUserAssignedIdentityI } public FlexibleServerCustomerManagedKeyArgs build() { + if ($.keyVaultKeyId == null) { + throw new MissingRequiredPropertyException("FlexibleServerCustomerManagedKeyArgs", "keyVaultKeyId"); + } return $; } } diff --git a/sdk/java/src/main/java/com/pulumi/azure/postgresql/inputs/FlexibleServerDatabaseState.java b/sdk/java/src/main/java/com/pulumi/azure/postgresql/inputs/FlexibleServerDatabaseState.java index fe4204441f..d4e4fa2950 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/postgresql/inputs/FlexibleServerDatabaseState.java +++ b/sdk/java/src/main/java/com/pulumi/azure/postgresql/inputs/FlexibleServerDatabaseState.java @@ -46,14 +46,14 @@ public Optional> collation() { } /** - * The name which should be used for this Azure PostgreSQL Flexible Server Database. Changing this forces a new Azure PostgreSQL Flexible Server Database to be created. + * Specifies the name of the PostgreSQL Database, which needs [to be a valid PostgreSQL identifier](https://www.postgresql.org/docs/current/sql-syntax-lexical.html#SQL-SYNTAX-IDENTIFIERS). Changing this forces a new Azure PostgreSQL Flexible Server Database to be created. * */ @Import(name="name") private @Nullable Output name; /** - * @return The name which should be used for this Azure PostgreSQL Flexible Server Database. Changing this forces a new Azure PostgreSQL Flexible Server Database to be created. + * @return Specifies the name of the PostgreSQL Database, which needs [to be a valid PostgreSQL identifier](https://www.postgresql.org/docs/current/sql-syntax-lexical.html#SQL-SYNTAX-IDENTIFIERS). Changing this forces a new Azure PostgreSQL Flexible Server Database to be created. * */ public Optional> name() { @@ -145,7 +145,7 @@ public Builder collation(String collation) { } /** - * @param name The name which should be used for this Azure PostgreSQL Flexible Server Database. Changing this forces a new Azure PostgreSQL Flexible Server Database to be created. + * @param name Specifies the name of the PostgreSQL Database, which needs [to be a valid PostgreSQL identifier](https://www.postgresql.org/docs/current/sql-syntax-lexical.html#SQL-SYNTAX-IDENTIFIERS). Changing this forces a new Azure PostgreSQL Flexible Server Database to be created. * * @return builder * @@ -156,7 +156,7 @@ public Builder name(@Nullable Output name) { } /** - * @param name The name which should be used for this Azure PostgreSQL Flexible Server Database. Changing this forces a new Azure PostgreSQL Flexible Server Database to be created. + * @param name Specifies the name of the PostgreSQL Database, which needs [to be a valid PostgreSQL identifier](https://www.postgresql.org/docs/current/sql-syntax-lexical.html#SQL-SYNTAX-IDENTIFIERS). Changing this forces a new Azure PostgreSQL Flexible Server Database to be created. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/azure/postgresql/inputs/FlexibleServerState.java b/sdk/java/src/main/java/com/pulumi/azure/postgresql/inputs/FlexibleServerState.java index c4a76a740f..243940f018 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/postgresql/inputs/FlexibleServerState.java +++ b/sdk/java/src/main/java/com/pulumi/azure/postgresql/inputs/FlexibleServerState.java @@ -282,7 +282,7 @@ public Optional> pointInTimeRestoreTimeInUtc() { /** * The ID of the private DNS zone to create the PostgreSQL Flexible Server. * - * > **NOTE:** There will be a breaking change from upstream service at 15th July 2021, the `private_dns_zone_id` will be required when setting a `delegated_subnet_id`. For existing flexible servers who don't want to be recreated, you need to provide the `private_dns_zone_id` to the service team to manually migrate to the specified private DNS zone. The `azure.privatedns.Zone` should end with suffix `.postgres.database.azure.com`. + * > **Note:** There will be a breaking change from upstream service at 15th July 2021, the `private_dns_zone_id` will be required when setting a `delegated_subnet_id`. For existing flexible servers who don't want to be recreated, you need to provide the `private_dns_zone_id` to the service team to manually migrate to the specified private DNS zone. The `azure.privatedns.Zone` should end with suffix `.postgres.database.azure.com`. * */ @Import(name="privateDnsZoneId") @@ -291,7 +291,7 @@ public Optional> pointInTimeRestoreTimeInUtc() { /** * @return The ID of the private DNS zone to create the PostgreSQL Flexible Server. * - * > **NOTE:** There will be a breaking change from upstream service at 15th July 2021, the `private_dns_zone_id` will be required when setting a `delegated_subnet_id`. For existing flexible servers who don't want to be recreated, you need to provide the `private_dns_zone_id` to the service team to manually migrate to the specified private DNS zone. The `azure.privatedns.Zone` should end with suffix `.postgres.database.azure.com`. + * > **Note:** There will be a breaking change from upstream service at 15th July 2021, the `private_dns_zone_id` will be required when setting a `delegated_subnet_id`. For existing flexible servers who don't want to be recreated, you need to provide the `private_dns_zone_id` to the service team to manually migrate to the specified private DNS zone. The `azure.privatedns.Zone` should end with suffix `.postgres.database.azure.com`. * */ public Optional> privateDnsZoneId() { @@ -316,7 +316,7 @@ public Optional> publicNetworkAccessEnabled() { /** * The replication role for the PostgreSQL Flexible Server. Possible value is `None`. * - * > **NOTE:** The `replication_role` cannot be set while creating and only can be updated to `None` for replica server. + * > **Note:** The `replication_role` cannot be set while creating and only can be updated to `None` for replica server. * */ @Import(name="replicationRole") @@ -325,7 +325,7 @@ public Optional> publicNetworkAccessEnabled() { /** * @return The replication role for the PostgreSQL Flexible Server. Possible value is `None`. * - * > **NOTE:** The `replication_role` cannot be set while creating and only can be updated to `None` for replica server. + * > **Note:** The `replication_role` cannot be set while creating and only can be updated to `None` for replica server. * */ public Optional> replicationRole() { @@ -380,6 +380,10 @@ public Optional> sourceServerId() { /** * The max storage allowed for the PostgreSQL Flexible Server. Possible values are `32768`, `65536`, `131072`, `262144`, `524288`, `1048576`, `2097152`, `4193280`, `4194304`, `8388608`, `16777216` and `33553408`. * + * > **Note:** If the `storage_mb` field is undefined on the initial deployment of the PostgreSQL Flexible Server resource it will default to `32768`. If the `storage_mb` field has been defined and then removed, the `storage_mb` field will retain the previously defined value. + * + * > **Note:** The `storage_mb` can only be scaled up, for example, you can scale the `storage_mb` from `32768` to `65536`, but not from `65536` to `32768`. + * */ @Import(name="storageMb") private @Nullable Output storageMb; @@ -387,11 +391,34 @@ public Optional> sourceServerId() { /** * @return The max storage allowed for the PostgreSQL Flexible Server. Possible values are `32768`, `65536`, `131072`, `262144`, `524288`, `1048576`, `2097152`, `4193280`, `4194304`, `8388608`, `16777216` and `33553408`. * + * > **Note:** If the `storage_mb` field is undefined on the initial deployment of the PostgreSQL Flexible Server resource it will default to `32768`. If the `storage_mb` field has been defined and then removed, the `storage_mb` field will retain the previously defined value. + * + * > **Note:** The `storage_mb` can only be scaled up, for example, you can scale the `storage_mb` from `32768` to `65536`, but not from `65536` to `32768`. + * */ public Optional> storageMb() { return Optional.ofNullable(this.storageMb); } + /** + * The name of storage performance tier for IOPS of the PostgreSQL Flexible Server. Possible values are `P4`, `P6`, `P10`, `P15`,`P20`, `P30`,`P40`, `P50`,`P60`, `P70` or `P80`. Default value is dependant on the `storage_mb` value. Please see the `storage_tier` defaults based on `storage_mb` table below. + * + * > **Note:** The `storage_tier` can be scaled once every 12 hours, this restriction is in place to ensure stability and performance after any changes to your PostgreSQL Flexible Server's configuration. + * + */ + @Import(name="storageTier") + private @Nullable Output storageTier; + + /** + * @return The name of storage performance tier for IOPS of the PostgreSQL Flexible Server. Possible values are `P4`, `P6`, `P10`, `P15`,`P20`, `P30`,`P40`, `P50`,`P60`, `P70` or `P80`. Default value is dependant on the `storage_mb` value. Please see the `storage_tier` defaults based on `storage_mb` table below. + * + * > **Note:** The `storage_tier` can be scaled once every 12 hours, this restriction is in place to ensure stability and performance after any changes to your PostgreSQL Flexible Server's configuration. + * + */ + public Optional> storageTier() { + return Optional.ofNullable(this.storageTier); + } + /** * A mapping of tags which should be assigned to the PostgreSQL Flexible Server. * @@ -459,6 +486,7 @@ private FlexibleServerState(FlexibleServerState $) { this.skuName = $.skuName; this.sourceServerId = $.sourceServerId; this.storageMb = $.storageMb; + this.storageTier = $.storageTier; this.tags = $.tags; this.version = $.version; this.zone = $.zone; @@ -837,7 +865,7 @@ public Builder pointInTimeRestoreTimeInUtc(String pointInTimeRestoreTimeInUtc) { /** * @param privateDnsZoneId The ID of the private DNS zone to create the PostgreSQL Flexible Server. * - * > **NOTE:** There will be a breaking change from upstream service at 15th July 2021, the `private_dns_zone_id` will be required when setting a `delegated_subnet_id`. For existing flexible servers who don't want to be recreated, you need to provide the `private_dns_zone_id` to the service team to manually migrate to the specified private DNS zone. The `azure.privatedns.Zone` should end with suffix `.postgres.database.azure.com`. + * > **Note:** There will be a breaking change from upstream service at 15th July 2021, the `private_dns_zone_id` will be required when setting a `delegated_subnet_id`. For existing flexible servers who don't want to be recreated, you need to provide the `private_dns_zone_id` to the service team to manually migrate to the specified private DNS zone. The `azure.privatedns.Zone` should end with suffix `.postgres.database.azure.com`. * * @return builder * @@ -850,7 +878,7 @@ public Builder privateDnsZoneId(@Nullable Output privateDnsZoneId) { /** * @param privateDnsZoneId The ID of the private DNS zone to create the PostgreSQL Flexible Server. * - * > **NOTE:** There will be a breaking change from upstream service at 15th July 2021, the `private_dns_zone_id` will be required when setting a `delegated_subnet_id`. For existing flexible servers who don't want to be recreated, you need to provide the `private_dns_zone_id` to the service team to manually migrate to the specified private DNS zone. The `azure.privatedns.Zone` should end with suffix `.postgres.database.azure.com`. + * > **Note:** There will be a breaking change from upstream service at 15th July 2021, the `private_dns_zone_id` will be required when setting a `delegated_subnet_id`. For existing flexible servers who don't want to be recreated, you need to provide the `private_dns_zone_id` to the service team to manually migrate to the specified private DNS zone. The `azure.privatedns.Zone` should end with suffix `.postgres.database.azure.com`. * * @return builder * @@ -883,7 +911,7 @@ public Builder publicNetworkAccessEnabled(Boolean publicNetworkAccessEnabled) { /** * @param replicationRole The replication role for the PostgreSQL Flexible Server. Possible value is `None`. * - * > **NOTE:** The `replication_role` cannot be set while creating and only can be updated to `None` for replica server. + * > **Note:** The `replication_role` cannot be set while creating and only can be updated to `None` for replica server. * * @return builder * @@ -896,7 +924,7 @@ public Builder replicationRole(@Nullable Output replicationRole) { /** * @param replicationRole The replication role for the PostgreSQL Flexible Server. Possible value is `None`. * - * > **NOTE:** The `replication_role` cannot be set while creating and only can be updated to `None` for replica server. + * > **Note:** The `replication_role` cannot be set while creating and only can be updated to `None` for replica server. * * @return builder * @@ -971,6 +999,10 @@ public Builder sourceServerId(String sourceServerId) { /** * @param storageMb The max storage allowed for the PostgreSQL Flexible Server. Possible values are `32768`, `65536`, `131072`, `262144`, `524288`, `1048576`, `2097152`, `4193280`, `4194304`, `8388608`, `16777216` and `33553408`. * + * > **Note:** If the `storage_mb` field is undefined on the initial deployment of the PostgreSQL Flexible Server resource it will default to `32768`. If the `storage_mb` field has been defined and then removed, the `storage_mb` field will retain the previously defined value. + * + * > **Note:** The `storage_mb` can only be scaled up, for example, you can scale the `storage_mb` from `32768` to `65536`, but not from `65536` to `32768`. + * * @return builder * */ @@ -982,6 +1014,10 @@ public Builder storageMb(@Nullable Output storageMb) { /** * @param storageMb The max storage allowed for the PostgreSQL Flexible Server. Possible values are `32768`, `65536`, `131072`, `262144`, `524288`, `1048576`, `2097152`, `4193280`, `4194304`, `8388608`, `16777216` and `33553408`. * + * > **Note:** If the `storage_mb` field is undefined on the initial deployment of the PostgreSQL Flexible Server resource it will default to `32768`. If the `storage_mb` field has been defined and then removed, the `storage_mb` field will retain the previously defined value. + * + * > **Note:** The `storage_mb` can only be scaled up, for example, you can scale the `storage_mb` from `32768` to `65536`, but not from `65536` to `32768`. + * * @return builder * */ @@ -989,6 +1025,31 @@ public Builder storageMb(Integer storageMb) { return storageMb(Output.of(storageMb)); } + /** + * @param storageTier The name of storage performance tier for IOPS of the PostgreSQL Flexible Server. Possible values are `P4`, `P6`, `P10`, `P15`,`P20`, `P30`,`P40`, `P50`,`P60`, `P70` or `P80`. Default value is dependant on the `storage_mb` value. Please see the `storage_tier` defaults based on `storage_mb` table below. + * + * > **Note:** The `storage_tier` can be scaled once every 12 hours, this restriction is in place to ensure stability and performance after any changes to your PostgreSQL Flexible Server's configuration. + * + * @return builder + * + */ + public Builder storageTier(@Nullable Output storageTier) { + $.storageTier = storageTier; + return this; + } + + /** + * @param storageTier The name of storage performance tier for IOPS of the PostgreSQL Flexible Server. Possible values are `P4`, `P6`, `P10`, `P15`,`P20`, `P30`,`P40`, `P50`,`P60`, `P70` or `P80`. Default value is dependant on the `storage_mb` value. Please see the `storage_tier` defaults based on `storage_mb` table below. + * + * > **Note:** The `storage_tier` can be scaled once every 12 hours, this restriction is in place to ensure stability and performance after any changes to your PostgreSQL Flexible Server's configuration. + * + * @return builder + * + */ + public Builder storageTier(String storageTier) { + return storageTier(Output.of(storageTier)); + } + /** * @param tags A mapping of tags which should be assigned to the PostgreSQL Flexible Server. * diff --git a/sdk/java/src/main/java/com/pulumi/azure/postgresql/outputs/FlexibleServerCustomerManagedKey.java b/sdk/java/src/main/java/com/pulumi/azure/postgresql/outputs/FlexibleServerCustomerManagedKey.java index cc72564e19..f1c4fc317b 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/postgresql/outputs/FlexibleServerCustomerManagedKey.java +++ b/sdk/java/src/main/java/com/pulumi/azure/postgresql/outputs/FlexibleServerCustomerManagedKey.java @@ -4,6 +4,7 @@ package com.pulumi.azure.postgresql.outputs; import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; import java.lang.String; import java.util.Objects; import java.util.Optional; @@ -19,7 +20,7 @@ public final class FlexibleServerCustomerManagedKey { /** * @return The geo backup user managed identity id for a Customer Managed Key. Should be added with `identity_ids`. It can't cross region and need identity in same region as geo backup. * - * > **NOTE:** `primary_user_assigned_identity_id` or `geo_backup_user_assigned_identity_id` is required when `type` is set to `UserAssigned`. + * > **Note:** `primary_user_assigned_identity_id` or `geo_backup_user_assigned_identity_id` is required when `type` is set to `UserAssigned`. * */ private @Nullable String geoBackupUserAssignedIdentityId; @@ -27,7 +28,7 @@ public final class FlexibleServerCustomerManagedKey { * @return The ID of the Key Vault Key. * */ - private @Nullable String keyVaultKeyId; + private String keyVaultKeyId; /** * @return Specifies the primary user managed identity id for a Customer Managed Key. Should be added with `identity_ids`. * @@ -45,7 +46,7 @@ public Optional geoBackupKeyVaultKeyId() { /** * @return The geo backup user managed identity id for a Customer Managed Key. Should be added with `identity_ids`. It can't cross region and need identity in same region as geo backup. * - * > **NOTE:** `primary_user_assigned_identity_id` or `geo_backup_user_assigned_identity_id` is required when `type` is set to `UserAssigned`. + * > **Note:** `primary_user_assigned_identity_id` or `geo_backup_user_assigned_identity_id` is required when `type` is set to `UserAssigned`. * */ public Optional geoBackupUserAssignedIdentityId() { @@ -55,8 +56,8 @@ public Optional geoBackupUserAssignedIdentityId() { * @return The ID of the Key Vault Key. * */ - public Optional keyVaultKeyId() { - return Optional.ofNullable(this.keyVaultKeyId); + public String keyVaultKeyId() { + return this.keyVaultKeyId; } /** * @return Specifies the primary user managed identity id for a Customer Managed Key. Should be added with `identity_ids`. @@ -77,7 +78,7 @@ public static Builder builder(FlexibleServerCustomerManagedKey defaults) { public static final class Builder { private @Nullable String geoBackupKeyVaultKeyId; private @Nullable String geoBackupUserAssignedIdentityId; - private @Nullable String keyVaultKeyId; + private String keyVaultKeyId; private @Nullable String primaryUserAssignedIdentityId; public Builder() {} public Builder(FlexibleServerCustomerManagedKey defaults) { @@ -101,8 +102,10 @@ public Builder geoBackupUserAssignedIdentityId(@Nullable String geoBackupUserAss return this; } @CustomType.Setter - public Builder keyVaultKeyId(@Nullable String keyVaultKeyId) { - + public Builder keyVaultKeyId(String keyVaultKeyId) { + if (keyVaultKeyId == null) { + throw new MissingRequiredPropertyException("FlexibleServerCustomerManagedKey", "keyVaultKeyId"); + } this.keyVaultKeyId = keyVaultKeyId; return this; } diff --git a/sdk/java/src/main/java/com/pulumi/azure/privatedns/inputs/ResolverInboundEndpointIpConfigurationArgs.java b/sdk/java/src/main/java/com/pulumi/azure/privatedns/inputs/ResolverInboundEndpointIpConfigurationArgs.java index 3fb0e669bf..d804351c53 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/privatedns/inputs/ResolverInboundEndpointIpConfigurationArgs.java +++ b/sdk/java/src/main/java/com/pulumi/azure/privatedns/inputs/ResolverInboundEndpointIpConfigurationArgs.java @@ -32,14 +32,14 @@ public Optional> privateIpAddress() { } /** - * Private IP address allocation method. Allowed value is `Dynamic`. Defaults to `Dynamic`. + * Private IP address allocation method. Allowed value is `Dynamic` and `Static`. Defaults to `Dynamic`. * */ @Import(name="privateIpAllocationMethod") private @Nullable Output privateIpAllocationMethod; /** - * @return Private IP address allocation method. Allowed value is `Dynamic`. Defaults to `Dynamic`. + * @return Private IP address allocation method. Allowed value is `Dynamic` and `Static`. Defaults to `Dynamic`. * */ public Optional> privateIpAllocationMethod() { @@ -109,7 +109,7 @@ public Builder privateIpAddress(String privateIpAddress) { } /** - * @param privateIpAllocationMethod Private IP address allocation method. Allowed value is `Dynamic`. Defaults to `Dynamic`. + * @param privateIpAllocationMethod Private IP address allocation method. Allowed value is `Dynamic` and `Static`. Defaults to `Dynamic`. * * @return builder * @@ -120,7 +120,7 @@ public Builder privateIpAllocationMethod(@Nullable Output privateIpAlloc } /** - * @param privateIpAllocationMethod Private IP address allocation method. Allowed value is `Dynamic`. Defaults to `Dynamic`. + * @param privateIpAllocationMethod Private IP address allocation method. Allowed value is `Dynamic` and `Static`. Defaults to `Dynamic`. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/azure/privatedns/outputs/ResolverInboundEndpointIpConfiguration.java b/sdk/java/src/main/java/com/pulumi/azure/privatedns/outputs/ResolverInboundEndpointIpConfiguration.java index d98deac3e5..87959c9998 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/privatedns/outputs/ResolverInboundEndpointIpConfiguration.java +++ b/sdk/java/src/main/java/com/pulumi/azure/privatedns/outputs/ResolverInboundEndpointIpConfiguration.java @@ -18,7 +18,7 @@ public final class ResolverInboundEndpointIpConfiguration { */ private @Nullable String privateIpAddress; /** - * @return Private IP address allocation method. Allowed value is `Dynamic`. Defaults to `Dynamic`. + * @return Private IP address allocation method. Allowed value is `Dynamic` and `Static`. Defaults to `Dynamic`. * */ private @Nullable String privateIpAllocationMethod; @@ -37,7 +37,7 @@ public Optional privateIpAddress() { return Optional.ofNullable(this.privateIpAddress); } /** - * @return Private IP address allocation method. Allowed value is `Dynamic`. Defaults to `Dynamic`. + * @return Private IP address allocation method. Allowed value is `Dynamic` and `Static`. Defaults to `Dynamic`. * */ public Optional privateIpAllocationMethod() { diff --git a/sdk/java/src/main/java/com/pulumi/azure/recoveryservices/inputs/VaultEncryptionArgs.java b/sdk/java/src/main/java/com/pulumi/azure/recoveryservices/inputs/VaultEncryptionArgs.java index 1eb75d039a..6c435de793 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/recoveryservices/inputs/VaultEncryptionArgs.java +++ b/sdk/java/src/main/java/com/pulumi/azure/recoveryservices/inputs/VaultEncryptionArgs.java @@ -48,7 +48,7 @@ public Output keyId() { } /** - * Indicate that system assigned identity should be used or not. Defaults to `true`. + * Indicate that system assigned identity should be used or not. Defaults to `true`. Must be set to `false` when `user_assigned_identity_id` is set. * * !> **Note:** `use_system_assigned_identity` only be able to set to `false` for **new** vaults. Any vaults containing existing items registered or attempted to be registered to it are not supported. Details can be found in [the document](https://learn.microsoft.com/en-us/azure/backup/encryption-at-rest-with-cmk?tabs=portal#before-you-start) * @@ -59,7 +59,7 @@ public Output keyId() { private @Nullable Output useSystemAssignedIdentity; /** - * @return Indicate that system assigned identity should be used or not. Defaults to `true`. + * @return Indicate that system assigned identity should be used or not. Defaults to `true`. Must be set to `false` when `user_assigned_identity_id` is set. * * !> **Note:** `use_system_assigned_identity` only be able to set to `false` for **new** vaults. Any vaults containing existing items registered or attempted to be registered to it are not supported. Details can be found in [the document](https://learn.microsoft.com/en-us/azure/backup/encryption-at-rest-with-cmk?tabs=portal#before-you-start) * @@ -155,7 +155,7 @@ public Builder keyId(String keyId) { } /** - * @param useSystemAssignedIdentity Indicate that system assigned identity should be used or not. Defaults to `true`. + * @param useSystemAssignedIdentity Indicate that system assigned identity should be used or not. Defaults to `true`. Must be set to `false` when `user_assigned_identity_id` is set. * * !> **Note:** `use_system_assigned_identity` only be able to set to `false` for **new** vaults. Any vaults containing existing items registered or attempted to be registered to it are not supported. Details can be found in [the document](https://learn.microsoft.com/en-us/azure/backup/encryption-at-rest-with-cmk?tabs=portal#before-you-start) * @@ -170,7 +170,7 @@ public Builder useSystemAssignedIdentity(@Nullable Output useSystemAssi } /** - * @param useSystemAssignedIdentity Indicate that system assigned identity should be used or not. Defaults to `true`. + * @param useSystemAssignedIdentity Indicate that system assigned identity should be used or not. Defaults to `true`. Must be set to `false` when `user_assigned_identity_id` is set. * * !> **Note:** `use_system_assigned_identity` only be able to set to `false` for **new** vaults. Any vaults containing existing items registered or attempted to be registered to it are not supported. Details can be found in [the document](https://learn.microsoft.com/en-us/azure/backup/encryption-at-rest-with-cmk?tabs=portal#before-you-start) * diff --git a/sdk/java/src/main/java/com/pulumi/azure/recoveryservices/outputs/VaultEncryption.java b/sdk/java/src/main/java/com/pulumi/azure/recoveryservices/outputs/VaultEncryption.java index 9fd49e6b49..6df38e0c67 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/recoveryservices/outputs/VaultEncryption.java +++ b/sdk/java/src/main/java/com/pulumi/azure/recoveryservices/outputs/VaultEncryption.java @@ -24,7 +24,7 @@ public final class VaultEncryption { */ private String keyId; /** - * @return Indicate that system assigned identity should be used or not. Defaults to `true`. + * @return Indicate that system assigned identity should be used or not. Defaults to `true`. Must be set to `false` when `user_assigned_identity_id` is set. * * !> **Note:** `use_system_assigned_identity` only be able to set to `false` for **new** vaults. Any vaults containing existing items registered or attempted to be registered to it are not supported. Details can be found in [the document](https://learn.microsoft.com/en-us/azure/backup/encryption-at-rest-with-cmk?tabs=portal#before-you-start) * @@ -54,7 +54,7 @@ public String keyId() { return this.keyId; } /** - * @return Indicate that system assigned identity should be used or not. Defaults to `true`. + * @return Indicate that system assigned identity should be used or not. Defaults to `true`. Must be set to `false` when `user_assigned_identity_id` is set. * * !> **Note:** `use_system_assigned_identity` only be able to set to `false` for **new** vaults. Any vaults containing existing items registered or attempted to be registered to it are not supported. Details can be found in [the document](https://learn.microsoft.com/en-us/azure/backup/encryption-at-rest-with-cmk?tabs=portal#before-you-start) * diff --git a/sdk/java/src/main/java/com/pulumi/azure/redis/inputs/CacheRedisConfigurationArgs.java b/sdk/java/src/main/java/com/pulumi/azure/redis/inputs/CacheRedisConfigurationArgs.java index b1996c5696..343952ca3f 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/redis/inputs/CacheRedisConfigurationArgs.java +++ b/sdk/java/src/main/java/com/pulumi/azure/redis/inputs/CacheRedisConfigurationArgs.java @@ -85,6 +85,21 @@ public Optional> aofStorageConnectionString1() { return Optional.ofNullable(this.aofStorageConnectionString1); } + /** + * Preferred auth method to communicate to storage account used for data persistence. Possible values are `SAS` and `ManagedIdentity`. Defaults to `SAS`. + * + */ + @Import(name="dataPersistenceAuthenticationMethod") + private @Nullable Output dataPersistenceAuthenticationMethod; + + /** + * @return Preferred auth method to communicate to storage account used for data persistence. Possible values are `SAS` and `ManagedIdentity`. Defaults to `SAS`. + * + */ + public Optional> dataPersistenceAuthenticationMethod() { + return Optional.ofNullable(this.dataPersistenceAuthenticationMethod); + } + /** * If set to `false`, the Redis instance will be accessible without authentication. Defaults to `true`. * @@ -342,6 +357,7 @@ private CacheRedisConfigurationArgs(CacheRedisConfigurationArgs $) { this.aofBackupEnabled = $.aofBackupEnabled; this.aofStorageConnectionString0 = $.aofStorageConnectionString0; this.aofStorageConnectionString1 = $.aofStorageConnectionString1; + this.dataPersistenceAuthenticationMethod = $.dataPersistenceAuthenticationMethod; this.enableAuthentication = $.enableAuthentication; this.maxclients = $.maxclients; this.maxfragmentationmemoryReserved = $.maxfragmentationmemoryReserved; @@ -466,6 +482,27 @@ public Builder aofStorageConnectionString1(String aofStorageConnectionString1) { return aofStorageConnectionString1(Output.of(aofStorageConnectionString1)); } + /** + * @param dataPersistenceAuthenticationMethod Preferred auth method to communicate to storage account used for data persistence. Possible values are `SAS` and `ManagedIdentity`. Defaults to `SAS`. + * + * @return builder + * + */ + public Builder dataPersistenceAuthenticationMethod(@Nullable Output dataPersistenceAuthenticationMethod) { + $.dataPersistenceAuthenticationMethod = dataPersistenceAuthenticationMethod; + return this; + } + + /** + * @param dataPersistenceAuthenticationMethod Preferred auth method to communicate to storage account used for data persistence. Possible values are `SAS` and `ManagedIdentity`. Defaults to `SAS`. + * + * @return builder + * + */ + public Builder dataPersistenceAuthenticationMethod(String dataPersistenceAuthenticationMethod) { + return dataPersistenceAuthenticationMethod(Output.of(dataPersistenceAuthenticationMethod)); + } + /** * @param enableAuthentication If set to `false`, the Redis instance will be accessible without authentication. Defaults to `true`. * diff --git a/sdk/java/src/main/java/com/pulumi/azure/redis/outputs/CacheRedisConfiguration.java b/sdk/java/src/main/java/com/pulumi/azure/redis/outputs/CacheRedisConfiguration.java index 0fda31842b..2bb7286d77 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/redis/outputs/CacheRedisConfiguration.java +++ b/sdk/java/src/main/java/com/pulumi/azure/redis/outputs/CacheRedisConfiguration.java @@ -37,6 +37,11 @@ public final class CacheRedisConfiguration { * */ private @Nullable String aofStorageConnectionString1; + /** + * @return Preferred auth method to communicate to storage account used for data persistence. Possible values are `SAS` and `ManagedIdentity`. Defaults to `SAS`. + * + */ + private @Nullable String dataPersistenceAuthenticationMethod; /** * @return If set to `false`, the Redis instance will be accessible without authentication. Defaults to `true`. * @@ -166,6 +171,13 @@ public Optional aofStorageConnectionString0() { public Optional aofStorageConnectionString1() { return Optional.ofNullable(this.aofStorageConnectionString1); } + /** + * @return Preferred auth method to communicate to storage account used for data persistence. Possible values are `SAS` and `ManagedIdentity`. Defaults to `SAS`. + * + */ + public Optional dataPersistenceAuthenticationMethod() { + return Optional.ofNullable(this.dataPersistenceAuthenticationMethod); + } /** * @return If set to `false`, the Redis instance will be accessible without authentication. Defaults to `true`. * @@ -299,6 +311,7 @@ public static final class Builder { private @Nullable Boolean aofBackupEnabled; private @Nullable String aofStorageConnectionString0; private @Nullable String aofStorageConnectionString1; + private @Nullable String dataPersistenceAuthenticationMethod; private @Nullable Boolean enableAuthentication; private @Nullable Integer maxclients; private @Nullable Integer maxfragmentationmemoryReserved; @@ -318,6 +331,7 @@ public Builder(CacheRedisConfiguration defaults) { this.aofBackupEnabled = defaults.aofBackupEnabled; this.aofStorageConnectionString0 = defaults.aofStorageConnectionString0; this.aofStorageConnectionString1 = defaults.aofStorageConnectionString1; + this.dataPersistenceAuthenticationMethod = defaults.dataPersistenceAuthenticationMethod; this.enableAuthentication = defaults.enableAuthentication; this.maxclients = defaults.maxclients; this.maxfragmentationmemoryReserved = defaults.maxfragmentationmemoryReserved; @@ -357,6 +371,12 @@ public Builder aofStorageConnectionString1(@Nullable String aofStorageConnection return this; } @CustomType.Setter + public Builder dataPersistenceAuthenticationMethod(@Nullable String dataPersistenceAuthenticationMethod) { + + this.dataPersistenceAuthenticationMethod = dataPersistenceAuthenticationMethod; + return this; + } + @CustomType.Setter public Builder enableAuthentication(@Nullable Boolean enableAuthentication) { this.enableAuthentication = enableAuthentication; @@ -434,6 +454,7 @@ public CacheRedisConfiguration build() { _resultValue.aofBackupEnabled = aofBackupEnabled; _resultValue.aofStorageConnectionString0 = aofStorageConnectionString0; _resultValue.aofStorageConnectionString1 = aofStorageConnectionString1; + _resultValue.dataPersistenceAuthenticationMethod = dataPersistenceAuthenticationMethod; _resultValue.enableAuthentication = enableAuthentication; _resultValue.maxclients = maxclients; _resultValue.maxfragmentationmemoryReserved = maxfragmentationmemoryReserved; diff --git a/sdk/java/src/main/java/com/pulumi/azure/redis/outputs/GetCacheRedisConfiguration.java b/sdk/java/src/main/java/com/pulumi/azure/redis/outputs/GetCacheRedisConfiguration.java index 6c95bd2029..a0bf569341 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/redis/outputs/GetCacheRedisConfiguration.java +++ b/sdk/java/src/main/java/com/pulumi/azure/redis/outputs/GetCacheRedisConfiguration.java @@ -15,6 +15,7 @@ public final class GetCacheRedisConfiguration { private Boolean aofBackupEnabled; private String aofStorageConnectionString0; private String aofStorageConnectionString1; + private String dataPersistenceAuthenticationMethod; /** * @return Specifies if authentication is enabled * @@ -78,6 +79,9 @@ public String aofStorageConnectionString0() { public String aofStorageConnectionString1() { return this.aofStorageConnectionString1; } + public String dataPersistenceAuthenticationMethod() { + return this.dataPersistenceAuthenticationMethod; + } /** * @return Specifies if authentication is enabled * @@ -167,6 +171,7 @@ public static final class Builder { private Boolean aofBackupEnabled; private String aofStorageConnectionString0; private String aofStorageConnectionString1; + private String dataPersistenceAuthenticationMethod; private Boolean enableAuthentication; private Integer maxclients; private Integer maxfragmentationmemoryReserved; @@ -185,6 +190,7 @@ public Builder(GetCacheRedisConfiguration defaults) { this.aofBackupEnabled = defaults.aofBackupEnabled; this.aofStorageConnectionString0 = defaults.aofStorageConnectionString0; this.aofStorageConnectionString1 = defaults.aofStorageConnectionString1; + this.dataPersistenceAuthenticationMethod = defaults.dataPersistenceAuthenticationMethod; this.enableAuthentication = defaults.enableAuthentication; this.maxclients = defaults.maxclients; this.maxfragmentationmemoryReserved = defaults.maxfragmentationmemoryReserved; @@ -224,6 +230,14 @@ public Builder aofStorageConnectionString1(String aofStorageConnectionString1) { return this; } @CustomType.Setter + public Builder dataPersistenceAuthenticationMethod(String dataPersistenceAuthenticationMethod) { + if (dataPersistenceAuthenticationMethod == null) { + throw new MissingRequiredPropertyException("GetCacheRedisConfiguration", "dataPersistenceAuthenticationMethod"); + } + this.dataPersistenceAuthenticationMethod = dataPersistenceAuthenticationMethod; + return this; + } + @CustomType.Setter public Builder enableAuthentication(Boolean enableAuthentication) { if (enableAuthentication == null) { throw new MissingRequiredPropertyException("GetCacheRedisConfiguration", "enableAuthentication"); @@ -324,6 +338,7 @@ public GetCacheRedisConfiguration build() { _resultValue.aofBackupEnabled = aofBackupEnabled; _resultValue.aofStorageConnectionString0 = aofStorageConnectionString0; _resultValue.aofStorageConnectionString1 = aofStorageConnectionString1; + _resultValue.dataPersistenceAuthenticationMethod = dataPersistenceAuthenticationMethod; _resultValue.enableAuthentication = enableAuthentication; _resultValue.maxclients = maxclients; _resultValue.maxfragmentationmemoryReserved = maxfragmentationmemoryReserved; diff --git a/sdk/java/src/main/java/com/pulumi/azure/servicebus/Namespace.java b/sdk/java/src/main/java/com/pulumi/azure/servicebus/Namespace.java index be57a8c174..ded16f2c42 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/servicebus/Namespace.java +++ b/sdk/java/src/main/java/com/pulumi/azure/servicebus/Namespace.java @@ -259,6 +259,24 @@ public Output name() { public Output networkRuleSet() { return this.networkRuleSet; } + /** + * Specifies the number messaging partitions. Only valid when `sku` is `Premium` and the minimum number is `1`. Possible values include `0`, `1`, `2`, and `4`. Defaults to `0` for Standard, Basic namespace. Changing this forces a new resource to be created. + * + * > **Note:** It's not possible to change the partitioning option on any existing namespace. The number of partitions can only be set during namespace creation. Please check the doc https://learn.microsoft.com/en-us/azure/service-bus-messaging/enable-partitions-premium for more feature restrictions. + * + */ + @Export(name="premiumMessagingPartitions", refs={Integer.class}, tree="[0]") + private Output premiumMessagingPartitions; + + /** + * @return Specifies the number messaging partitions. Only valid when `sku` is `Premium` and the minimum number is `1`. Possible values include `0`, `1`, `2`, and `4`. Defaults to `0` for Standard, Basic namespace. Changing this forces a new resource to be created. + * + * > **Note:** It's not possible to change the partitioning option on any existing namespace. The number of partitions can only be set during namespace creation. Please check the doc https://learn.microsoft.com/en-us/azure/service-bus-messaging/enable-partitions-premium for more feature restrictions. + * + */ + public Output> premiumMessagingPartitions() { + return Codegen.optional(this.premiumMessagingPartitions); + } /** * Is public network access enabled for the Service Bus Namespace? Defaults to `true`. * diff --git a/sdk/java/src/main/java/com/pulumi/azure/servicebus/NamespaceArgs.java b/sdk/java/src/main/java/com/pulumi/azure/servicebus/NamespaceArgs.java index de4295ff77..9c53a454d9 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/servicebus/NamespaceArgs.java +++ b/sdk/java/src/main/java/com/pulumi/azure/servicebus/NamespaceArgs.java @@ -142,6 +142,25 @@ public Optional> networkRuleSet() { return Optional.ofNullable(this.networkRuleSet); } + /** + * Specifies the number messaging partitions. Only valid when `sku` is `Premium` and the minimum number is `1`. Possible values include `0`, `1`, `2`, and `4`. Defaults to `0` for Standard, Basic namespace. Changing this forces a new resource to be created. + * + * > **Note:** It's not possible to change the partitioning option on any existing namespace. The number of partitions can only be set during namespace creation. Please check the doc https://learn.microsoft.com/en-us/azure/service-bus-messaging/enable-partitions-premium for more feature restrictions. + * + */ + @Import(name="premiumMessagingPartitions") + private @Nullable Output premiumMessagingPartitions; + + /** + * @return Specifies the number messaging partitions. Only valid when `sku` is `Premium` and the minimum number is `1`. Possible values include `0`, `1`, `2`, and `4`. Defaults to `0` for Standard, Basic namespace. Changing this forces a new resource to be created. + * + * > **Note:** It's not possible to change the partitioning option on any existing namespace. The number of partitions can only be set during namespace creation. Please check the doc https://learn.microsoft.com/en-us/azure/service-bus-messaging/enable-partitions-premium for more feature restrictions. + * + */ + public Optional> premiumMessagingPartitions() { + return Optional.ofNullable(this.premiumMessagingPartitions); + } + /** * Is public network access enabled for the Service Bus Namespace? Defaults to `true`. * @@ -230,6 +249,7 @@ private NamespaceArgs(NamespaceArgs $) { this.minimumTlsVersion = $.minimumTlsVersion; this.name = $.name; this.networkRuleSet = $.networkRuleSet; + this.premiumMessagingPartitions = $.premiumMessagingPartitions; this.publicNetworkAccessEnabled = $.publicNetworkAccessEnabled; this.resourceGroupName = $.resourceGroupName; this.sku = $.sku; @@ -423,6 +443,31 @@ public Builder networkRuleSet(NamespaceNetworkRuleSetArgs networkRuleSet) { return networkRuleSet(Output.of(networkRuleSet)); } + /** + * @param premiumMessagingPartitions Specifies the number messaging partitions. Only valid when `sku` is `Premium` and the minimum number is `1`. Possible values include `0`, `1`, `2`, and `4`. Defaults to `0` for Standard, Basic namespace. Changing this forces a new resource to be created. + * + * > **Note:** It's not possible to change the partitioning option on any existing namespace. The number of partitions can only be set during namespace creation. Please check the doc https://learn.microsoft.com/en-us/azure/service-bus-messaging/enable-partitions-premium for more feature restrictions. + * + * @return builder + * + */ + public Builder premiumMessagingPartitions(@Nullable Output premiumMessagingPartitions) { + $.premiumMessagingPartitions = premiumMessagingPartitions; + return this; + } + + /** + * @param premiumMessagingPartitions Specifies the number messaging partitions. Only valid when `sku` is `Premium` and the minimum number is `1`. Possible values include `0`, `1`, `2`, and `4`. Defaults to `0` for Standard, Basic namespace. Changing this forces a new resource to be created. + * + * > **Note:** It's not possible to change the partitioning option on any existing namespace. The number of partitions can only be set during namespace creation. Please check the doc https://learn.microsoft.com/en-us/azure/service-bus-messaging/enable-partitions-premium for more feature restrictions. + * + * @return builder + * + */ + public Builder premiumMessagingPartitions(Integer premiumMessagingPartitions) { + return premiumMessagingPartitions(Output.of(premiumMessagingPartitions)); + } + /** * @param publicNetworkAccessEnabled Is public network access enabled for the Service Bus Namespace? Defaults to `true`. * diff --git a/sdk/java/src/main/java/com/pulumi/azure/servicebus/Topic.java b/sdk/java/src/main/java/com/pulumi/azure/servicebus/Topic.java index 080d8ae937..36a27154b6 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/servicebus/Topic.java +++ b/sdk/java/src/main/java/com/pulumi/azure/servicebus/Topic.java @@ -234,18 +234,14 @@ public Output namespaceName() { return this.namespaceName; } /** - * Boolean flag which controls whether Changing this forces a new resource to be created. - * the Topic requires duplicate detection. Defaults to false. Changing this forces - * a new resource to be created. + * Boolean flag which controls whether the Topic requires duplicate detection. Defaults to false. Changing this forcesa new resource to be created. * */ @Export(name="requiresDuplicateDetection", refs={Boolean.class}, tree="[0]") private Output requiresDuplicateDetection; /** - * @return Boolean flag which controls whether Changing this forces a new resource to be created. - * the Topic requires duplicate detection. Defaults to false. Changing this forces - * a new resource to be created. + * @return Boolean flag which controls whether the Topic requires duplicate detection. Defaults to false. Changing this forcesa new resource to be created. * */ public Output> requiresDuplicateDetection() { diff --git a/sdk/java/src/main/java/com/pulumi/azure/servicebus/TopicArgs.java b/sdk/java/src/main/java/com/pulumi/azure/servicebus/TopicArgs.java index 0fc785f2bd..3e5533960b 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/servicebus/TopicArgs.java +++ b/sdk/java/src/main/java/com/pulumi/azure/servicebus/TopicArgs.java @@ -173,18 +173,14 @@ public Output namespaceId() { } /** - * Boolean flag which controls whether Changing this forces a new resource to be created. - * the Topic requires duplicate detection. Defaults to false. Changing this forces - * a new resource to be created. + * Boolean flag which controls whether the Topic requires duplicate detection. Defaults to false. Changing this forcesa new resource to be created. * */ @Import(name="requiresDuplicateDetection") private @Nullable Output requiresDuplicateDetection; /** - * @return Boolean flag which controls whether Changing this forces a new resource to be created. - * the Topic requires duplicate detection. Defaults to false. Changing this forces - * a new resource to be created. + * @return Boolean flag which controls whether the Topic requires duplicate detection. Defaults to false. Changing this forcesa new resource to be created. * */ public Optional> requiresDuplicateDetection() { @@ -472,9 +468,7 @@ public Builder namespaceId(String namespaceId) { } /** - * @param requiresDuplicateDetection Boolean flag which controls whether Changing this forces a new resource to be created. - * the Topic requires duplicate detection. Defaults to false. Changing this forces - * a new resource to be created. + * @param requiresDuplicateDetection Boolean flag which controls whether the Topic requires duplicate detection. Defaults to false. Changing this forcesa new resource to be created. * * @return builder * @@ -485,9 +479,7 @@ public Builder requiresDuplicateDetection(@Nullable Output requiresDupl } /** - * @param requiresDuplicateDetection Boolean flag which controls whether Changing this forces a new resource to be created. - * the Topic requires duplicate detection. Defaults to false. Changing this forces - * a new resource to be created. + * @param requiresDuplicateDetection Boolean flag which controls whether the Topic requires duplicate detection. Defaults to false. Changing this forcesa new resource to be created. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/azure/servicebus/inputs/NamespaceState.java b/sdk/java/src/main/java/com/pulumi/azure/servicebus/inputs/NamespaceState.java index 796ec04156..de2a2fa592 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/servicebus/inputs/NamespaceState.java +++ b/sdk/java/src/main/java/com/pulumi/azure/servicebus/inputs/NamespaceState.java @@ -216,6 +216,25 @@ public Optional> networkRuleSet() { return Optional.ofNullable(this.networkRuleSet); } + /** + * Specifies the number messaging partitions. Only valid when `sku` is `Premium` and the minimum number is `1`. Possible values include `0`, `1`, `2`, and `4`. Defaults to `0` for Standard, Basic namespace. Changing this forces a new resource to be created. + * + * > **Note:** It's not possible to change the partitioning option on any existing namespace. The number of partitions can only be set during namespace creation. Please check the doc https://learn.microsoft.com/en-us/azure/service-bus-messaging/enable-partitions-premium for more feature restrictions. + * + */ + @Import(name="premiumMessagingPartitions") + private @Nullable Output premiumMessagingPartitions; + + /** + * @return Specifies the number messaging partitions. Only valid when `sku` is `Premium` and the minimum number is `1`. Possible values include `0`, `1`, `2`, and `4`. Defaults to `0` for Standard, Basic namespace. Changing this forces a new resource to be created. + * + * > **Note:** It's not possible to change the partitioning option on any existing namespace. The number of partitions can only be set during namespace creation. Please check the doc https://learn.microsoft.com/en-us/azure/service-bus-messaging/enable-partitions-premium for more feature restrictions. + * + */ + public Optional> premiumMessagingPartitions() { + return Optional.ofNullable(this.premiumMessagingPartitions); + } + /** * Is public network access enabled for the Service Bus Namespace? Defaults to `true`. * @@ -309,6 +328,7 @@ private NamespaceState(NamespaceState $) { this.minimumTlsVersion = $.minimumTlsVersion; this.name = $.name; this.networkRuleSet = $.networkRuleSet; + this.premiumMessagingPartitions = $.premiumMessagingPartitions; this.publicNetworkAccessEnabled = $.publicNetworkAccessEnabled; this.resourceGroupName = $.resourceGroupName; this.sku = $.sku; @@ -607,6 +627,31 @@ public Builder networkRuleSet(NamespaceNetworkRuleSetArgs networkRuleSet) { return networkRuleSet(Output.of(networkRuleSet)); } + /** + * @param premiumMessagingPartitions Specifies the number messaging partitions. Only valid when `sku` is `Premium` and the minimum number is `1`. Possible values include `0`, `1`, `2`, and `4`. Defaults to `0` for Standard, Basic namespace. Changing this forces a new resource to be created. + * + * > **Note:** It's not possible to change the partitioning option on any existing namespace. The number of partitions can only be set during namespace creation. Please check the doc https://learn.microsoft.com/en-us/azure/service-bus-messaging/enable-partitions-premium for more feature restrictions. + * + * @return builder + * + */ + public Builder premiumMessagingPartitions(@Nullable Output premiumMessagingPartitions) { + $.premiumMessagingPartitions = premiumMessagingPartitions; + return this; + } + + /** + * @param premiumMessagingPartitions Specifies the number messaging partitions. Only valid when `sku` is `Premium` and the minimum number is `1`. Possible values include `0`, `1`, `2`, and `4`. Defaults to `0` for Standard, Basic namespace. Changing this forces a new resource to be created. + * + * > **Note:** It's not possible to change the partitioning option on any existing namespace. The number of partitions can only be set during namespace creation. Please check the doc https://learn.microsoft.com/en-us/azure/service-bus-messaging/enable-partitions-premium for more feature restrictions. + * + * @return builder + * + */ + public Builder premiumMessagingPartitions(Integer premiumMessagingPartitions) { + return premiumMessagingPartitions(Output.of(premiumMessagingPartitions)); + } + /** * @param publicNetworkAccessEnabled Is public network access enabled for the Service Bus Namespace? Defaults to `true`. * diff --git a/sdk/java/src/main/java/com/pulumi/azure/servicebus/inputs/TopicState.java b/sdk/java/src/main/java/com/pulumi/azure/servicebus/inputs/TopicState.java index 7debe468e4..b4e9e22534 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/servicebus/inputs/TopicState.java +++ b/sdk/java/src/main/java/com/pulumi/azure/servicebus/inputs/TopicState.java @@ -179,18 +179,14 @@ public Optional> namespaceName() { } /** - * Boolean flag which controls whether Changing this forces a new resource to be created. - * the Topic requires duplicate detection. Defaults to false. Changing this forces - * a new resource to be created. + * Boolean flag which controls whether the Topic requires duplicate detection. Defaults to false. Changing this forcesa new resource to be created. * */ @Import(name="requiresDuplicateDetection") private @Nullable Output requiresDuplicateDetection; /** - * @return Boolean flag which controls whether Changing this forces a new resource to be created. - * the Topic requires duplicate detection. Defaults to false. Changing this forces - * a new resource to be created. + * @return Boolean flag which controls whether the Topic requires duplicate detection. Defaults to false. Changing this forcesa new resource to be created. * */ public Optional> requiresDuplicateDetection() { @@ -496,9 +492,7 @@ public Builder namespaceName(String namespaceName) { } /** - * @param requiresDuplicateDetection Boolean flag which controls whether Changing this forces a new resource to be created. - * the Topic requires duplicate detection. Defaults to false. Changing this forces - * a new resource to be created. + * @param requiresDuplicateDetection Boolean flag which controls whether the Topic requires duplicate detection. Defaults to false. Changing this forcesa new resource to be created. * * @return builder * @@ -509,9 +503,7 @@ public Builder requiresDuplicateDetection(@Nullable Output requiresDupl } /** - * @param requiresDuplicateDetection Boolean flag which controls whether Changing this forces a new resource to be created. - * the Topic requires duplicate detection. Defaults to false. Changing this forces - * a new resource to be created. + * @param requiresDuplicateDetection Boolean flag which controls whether the Topic requires duplicate detection. Defaults to false. Changing this forcesa new resource to be created. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/azure/servicebus/outputs/GetNamespaceResult.java b/sdk/java/src/main/java/com/pulumi/azure/servicebus/outputs/GetNamespaceResult.java index 28845e942b..f66d7a89d4 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/servicebus/outputs/GetNamespaceResult.java +++ b/sdk/java/src/main/java/com/pulumi/azure/servicebus/outputs/GetNamespaceResult.java @@ -56,6 +56,11 @@ public final class GetNamespaceResult { */ private String location; private String name; + /** + * @return The messaging partitions of the ServiceBus Namespace. + * + */ + private Integer premiumMessagingPartitions; private String resourceGroupName; /** * @return The Tier used for the ServiceBus Namespace. @@ -135,6 +140,13 @@ public String location() { public String name() { return this.name; } + /** + * @return The messaging partitions of the ServiceBus Namespace. + * + */ + public Integer premiumMessagingPartitions() { + return this.premiumMessagingPartitions; + } public String resourceGroupName() { return this.resourceGroupName; } @@ -178,6 +190,7 @@ public static final class Builder { private String id; private String location; private String name; + private Integer premiumMessagingPartitions; private String resourceGroupName; private String sku; private Map tags; @@ -194,6 +207,7 @@ public Builder(GetNamespaceResult defaults) { this.id = defaults.id; this.location = defaults.location; this.name = defaults.name; + this.premiumMessagingPartitions = defaults.premiumMessagingPartitions; this.resourceGroupName = defaults.resourceGroupName; this.sku = defaults.sku; this.tags = defaults.tags; @@ -273,6 +287,14 @@ public Builder name(String name) { return this; } @CustomType.Setter + public Builder premiumMessagingPartitions(Integer premiumMessagingPartitions) { + if (premiumMessagingPartitions == null) { + throw new MissingRequiredPropertyException("GetNamespaceResult", "premiumMessagingPartitions"); + } + this.premiumMessagingPartitions = premiumMessagingPartitions; + return this; + } + @CustomType.Setter public Builder resourceGroupName(String resourceGroupName) { if (resourceGroupName == null) { throw new MissingRequiredPropertyException("GetNamespaceResult", "resourceGroupName"); @@ -315,6 +337,7 @@ public GetNamespaceResult build() { _resultValue.id = id; _resultValue.location = location; _resultValue.name = name; + _resultValue.premiumMessagingPartitions = premiumMessagingPartitions; _resultValue.resourceGroupName = resourceGroupName; _resultValue.sku = sku; _resultValue.tags = tags; diff --git a/sdk/java/src/main/java/com/pulumi/azure/storage/StorageFunctions.java b/sdk/java/src/main/java/com/pulumi/azure/storage/StorageFunctions.java index b25a20203b..3093a2677f 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/storage/StorageFunctions.java +++ b/sdk/java/src/main/java/com/pulumi/azure/storage/StorageFunctions.java @@ -26,6 +26,8 @@ import com.pulumi.azure.storage.inputs.GetSyncGroupArgs; import com.pulumi.azure.storage.inputs.GetSyncGroupPlainArgs; import com.pulumi.azure.storage.inputs.GetSyncPlainArgs; +import com.pulumi.azure.storage.inputs.GetTableEntitiesArgs; +import com.pulumi.azure.storage.inputs.GetTableEntitiesPlainArgs; import com.pulumi.azure.storage.inputs.GetTableEntityArgs; import com.pulumi.azure.storage.inputs.GetTableEntityPlainArgs; import com.pulumi.azure.storage.outputs.GetAccountBlobContainerSASResult; @@ -39,6 +41,7 @@ import com.pulumi.azure.storage.outputs.GetStorageContainerResult; import com.pulumi.azure.storage.outputs.GetSyncGroupResult; import com.pulumi.azure.storage.outputs.GetSyncResult; +import com.pulumi.azure.storage.outputs.GetTableEntitiesResult; import com.pulumi.azure.storage.outputs.GetTableEntityResult; import com.pulumi.core.Output; import com.pulumi.core.TypeShape; @@ -2183,6 +2186,162 @@ public static Output getSyncGroup(GetSyncGroupArgs args, Inv public static CompletableFuture getSyncGroupPlain(GetSyncGroupPlainArgs args, InvokeOptions options) { return Deployment.getInstance().invokeAsync("azure:storage/getSyncGroup:getSyncGroup", TypeShape.of(GetSyncGroupResult.class), args, Utilities.withVersion(options)); } + /** + * Use this data source to access information about an existing Storage Table Entity. + * + * ## Example Usage + * ```java + * package generated_program; + * + * import com.pulumi.Context; + * import com.pulumi.Pulumi; + * import com.pulumi.core.Output; + * import com.pulumi.azure.storage.StorageFunctions; + * import com.pulumi.azure.storage.inputs.GetTableEntitiesArgs; + * 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 = StorageFunctions.getTableEntities(GetTableEntitiesArgs.builder() + * .tableName("example-table-name") + * .storageAccountName("example-storage-account-name") + * .filter("PartitionKey eq 'example'") + * .build()); + * + * } + * } + * ``` + * + */ + public static Output getTableEntities(GetTableEntitiesArgs args) { + return getTableEntities(args, InvokeOptions.Empty); + } + /** + * Use this data source to access information about an existing Storage Table Entity. + * + * ## Example Usage + * ```java + * package generated_program; + * + * import com.pulumi.Context; + * import com.pulumi.Pulumi; + * import com.pulumi.core.Output; + * import com.pulumi.azure.storage.StorageFunctions; + * import com.pulumi.azure.storage.inputs.GetTableEntitiesArgs; + * 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 = StorageFunctions.getTableEntities(GetTableEntitiesArgs.builder() + * .tableName("example-table-name") + * .storageAccountName("example-storage-account-name") + * .filter("PartitionKey eq 'example'") + * .build()); + * + * } + * } + * ``` + * + */ + public static CompletableFuture getTableEntitiesPlain(GetTableEntitiesPlainArgs args) { + return getTableEntitiesPlain(args, InvokeOptions.Empty); + } + /** + * Use this data source to access information about an existing Storage Table Entity. + * + * ## Example Usage + * ```java + * package generated_program; + * + * import com.pulumi.Context; + * import com.pulumi.Pulumi; + * import com.pulumi.core.Output; + * import com.pulumi.azure.storage.StorageFunctions; + * import com.pulumi.azure.storage.inputs.GetTableEntitiesArgs; + * 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 = StorageFunctions.getTableEntities(GetTableEntitiesArgs.builder() + * .tableName("example-table-name") + * .storageAccountName("example-storage-account-name") + * .filter("PartitionKey eq 'example'") + * .build()); + * + * } + * } + * ``` + * + */ + public static Output getTableEntities(GetTableEntitiesArgs args, InvokeOptions options) { + return Deployment.getInstance().invoke("azure:storage/getTableEntities:getTableEntities", TypeShape.of(GetTableEntitiesResult.class), args, Utilities.withVersion(options)); + } + /** + * Use this data source to access information about an existing Storage Table Entity. + * + * ## Example Usage + * ```java + * package generated_program; + * + * import com.pulumi.Context; + * import com.pulumi.Pulumi; + * import com.pulumi.core.Output; + * import com.pulumi.azure.storage.StorageFunctions; + * import com.pulumi.azure.storage.inputs.GetTableEntitiesArgs; + * 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 = StorageFunctions.getTableEntities(GetTableEntitiesArgs.builder() + * .tableName("example-table-name") + * .storageAccountName("example-storage-account-name") + * .filter("PartitionKey eq 'example'") + * .build()); + * + * } + * } + * ``` + * + */ + public static CompletableFuture getTableEntitiesPlain(GetTableEntitiesPlainArgs args, InvokeOptions options) { + return Deployment.getInstance().invokeAsync("azure:storage/getTableEntities:getTableEntities", TypeShape.of(GetTableEntitiesResult.class), args, Utilities.withVersion(options)); + } /** * Use this data source to access information about an existing Storage Table Entity. * diff --git a/sdk/java/src/main/java/com/pulumi/azure/storage/inputs/GetTableEntitiesArgs.java b/sdk/java/src/main/java/com/pulumi/azure/storage/inputs/GetTableEntitiesArgs.java new file mode 100644 index 0000000000..f53ee0e1c9 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/azure/storage/inputs/GetTableEntitiesArgs.java @@ -0,0 +1,215 @@ +// *** 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.storage.inputs; + +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 GetTableEntitiesArgs extends com.pulumi.resources.InvokeArgs { + + public static final GetTableEntitiesArgs Empty = new GetTableEntitiesArgs(); + + /** + * The filter used to retrieve the entities. + * + */ + @Import(name="filter", required=true) + private Output filter; + + /** + * @return The filter used to retrieve the entities. + * + */ + public Output filter() { + return this.filter; + } + + /** + * A list of properties to select from the returned Storage Table Entities. + * + */ + @Import(name="selects") + private @Nullable Output> selects; + + /** + * @return A list of properties to select from the returned Storage Table Entities. + * + */ + public Optional>> selects() { + return Optional.ofNullable(this.selects); + } + + /** + * The name of the Storage Account where the Table exists. + * + */ + @Import(name="storageAccountName", required=true) + private Output storageAccountName; + + /** + * @return The name of the Storage Account where the Table exists. + * + */ + public Output storageAccountName() { + return this.storageAccountName; + } + + /** + * The name of the Table. + * + */ + @Import(name="tableName", required=true) + private Output tableName; + + /** + * @return The name of the Table. + * + */ + public Output tableName() { + return this.tableName; + } + + private GetTableEntitiesArgs() {} + + private GetTableEntitiesArgs(GetTableEntitiesArgs $) { + this.filter = $.filter; + this.selects = $.selects; + this.storageAccountName = $.storageAccountName; + this.tableName = $.tableName; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(GetTableEntitiesArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private GetTableEntitiesArgs $; + + public Builder() { + $ = new GetTableEntitiesArgs(); + } + + public Builder(GetTableEntitiesArgs defaults) { + $ = new GetTableEntitiesArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param filter The filter used to retrieve the entities. + * + * @return builder + * + */ + public Builder filter(Output filter) { + $.filter = filter; + return this; + } + + /** + * @param filter The filter used to retrieve the entities. + * + * @return builder + * + */ + public Builder filter(String filter) { + return filter(Output.of(filter)); + } + + /** + * @param selects A list of properties to select from the returned Storage Table Entities. + * + * @return builder + * + */ + public Builder selects(@Nullable Output> selects) { + $.selects = selects; + return this; + } + + /** + * @param selects A list of properties to select from the returned Storage Table Entities. + * + * @return builder + * + */ + public Builder selects(List selects) { + return selects(Output.of(selects)); + } + + /** + * @param selects A list of properties to select from the returned Storage Table Entities. + * + * @return builder + * + */ + public Builder selects(String... selects) { + return selects(List.of(selects)); + } + + /** + * @param storageAccountName The name of the Storage Account where the Table exists. + * + * @return builder + * + */ + public Builder storageAccountName(Output storageAccountName) { + $.storageAccountName = storageAccountName; + return this; + } + + /** + * @param storageAccountName The name of the Storage Account where the Table exists. + * + * @return builder + * + */ + public Builder storageAccountName(String storageAccountName) { + return storageAccountName(Output.of(storageAccountName)); + } + + /** + * @param tableName The name of the Table. + * + * @return builder + * + */ + public Builder tableName(Output tableName) { + $.tableName = tableName; + return this; + } + + /** + * @param tableName The name of the Table. + * + * @return builder + * + */ + public Builder tableName(String tableName) { + return tableName(Output.of(tableName)); + } + + public GetTableEntitiesArgs build() { + if ($.filter == null) { + throw new MissingRequiredPropertyException("GetTableEntitiesArgs", "filter"); + } + if ($.storageAccountName == null) { + throw new MissingRequiredPropertyException("GetTableEntitiesArgs", "storageAccountName"); + } + if ($.tableName == null) { + throw new MissingRequiredPropertyException("GetTableEntitiesArgs", "tableName"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/azure/storage/inputs/GetTableEntitiesPlainArgs.java b/sdk/java/src/main/java/com/pulumi/azure/storage/inputs/GetTableEntitiesPlainArgs.java new file mode 100644 index 0000000000..dcb6d18ef8 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/azure/storage/inputs/GetTableEntitiesPlainArgs.java @@ -0,0 +1,174 @@ +// *** 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.storage.inputs; + +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 GetTableEntitiesPlainArgs extends com.pulumi.resources.InvokeArgs { + + public static final GetTableEntitiesPlainArgs Empty = new GetTableEntitiesPlainArgs(); + + /** + * The filter used to retrieve the entities. + * + */ + @Import(name="filter", required=true) + private String filter; + + /** + * @return The filter used to retrieve the entities. + * + */ + public String filter() { + return this.filter; + } + + /** + * A list of properties to select from the returned Storage Table Entities. + * + */ + @Import(name="selects") + private @Nullable List selects; + + /** + * @return A list of properties to select from the returned Storage Table Entities. + * + */ + public Optional> selects() { + return Optional.ofNullable(this.selects); + } + + /** + * The name of the Storage Account where the Table exists. + * + */ + @Import(name="storageAccountName", required=true) + private String storageAccountName; + + /** + * @return The name of the Storage Account where the Table exists. + * + */ + public String storageAccountName() { + return this.storageAccountName; + } + + /** + * The name of the Table. + * + */ + @Import(name="tableName", required=true) + private String tableName; + + /** + * @return The name of the Table. + * + */ + public String tableName() { + return this.tableName; + } + + private GetTableEntitiesPlainArgs() {} + + private GetTableEntitiesPlainArgs(GetTableEntitiesPlainArgs $) { + this.filter = $.filter; + this.selects = $.selects; + this.storageAccountName = $.storageAccountName; + this.tableName = $.tableName; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(GetTableEntitiesPlainArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private GetTableEntitiesPlainArgs $; + + public Builder() { + $ = new GetTableEntitiesPlainArgs(); + } + + public Builder(GetTableEntitiesPlainArgs defaults) { + $ = new GetTableEntitiesPlainArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param filter The filter used to retrieve the entities. + * + * @return builder + * + */ + public Builder filter(String filter) { + $.filter = filter; + return this; + } + + /** + * @param selects A list of properties to select from the returned Storage Table Entities. + * + * @return builder + * + */ + public Builder selects(@Nullable List selects) { + $.selects = selects; + return this; + } + + /** + * @param selects A list of properties to select from the returned Storage Table Entities. + * + * @return builder + * + */ + public Builder selects(String... selects) { + return selects(List.of(selects)); + } + + /** + * @param storageAccountName The name of the Storage Account where the Table exists. + * + * @return builder + * + */ + public Builder storageAccountName(String storageAccountName) { + $.storageAccountName = storageAccountName; + return this; + } + + /** + * @param tableName The name of the Table. + * + * @return builder + * + */ + public Builder tableName(String tableName) { + $.tableName = tableName; + return this; + } + + public GetTableEntitiesPlainArgs build() { + if ($.filter == null) { + throw new MissingRequiredPropertyException("GetTableEntitiesPlainArgs", "filter"); + } + if ($.storageAccountName == null) { + throw new MissingRequiredPropertyException("GetTableEntitiesPlainArgs", "storageAccountName"); + } + if ($.tableName == null) { + throw new MissingRequiredPropertyException("GetTableEntitiesPlainArgs", "tableName"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/azure/storage/outputs/GetTableEntitiesItem.java b/sdk/java/src/main/java/com/pulumi/azure/storage/outputs/GetTableEntitiesItem.java new file mode 100644 index 0000000000..9cbf0c71e8 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/azure/storage/outputs/GetTableEntitiesItem.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.storage.outputs; + +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.Map; +import java.util.Objects; + +@CustomType +public final class GetTableEntitiesItem { + /** + * @return Partition Key of the Entity. + * + */ + private String partitionKey; + /** + * @return A map of any additional properties in key-value format. + * + */ + private Map properties; + /** + * @return Row Key of the Entity. + * + */ + private String rowKey; + + private GetTableEntitiesItem() {} + /** + * @return Partition Key of the Entity. + * + */ + public String partitionKey() { + return this.partitionKey; + } + /** + * @return A map of any additional properties in key-value format. + * + */ + public Map properties() { + return this.properties; + } + /** + * @return Row Key of the Entity. + * + */ + public String rowKey() { + return this.rowKey; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetTableEntitiesItem defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String partitionKey; + private Map properties; + private String rowKey; + public Builder() {} + public Builder(GetTableEntitiesItem defaults) { + Objects.requireNonNull(defaults); + this.partitionKey = defaults.partitionKey; + this.properties = defaults.properties; + this.rowKey = defaults.rowKey; + } + + @CustomType.Setter + public Builder partitionKey(String partitionKey) { + if (partitionKey == null) { + throw new MissingRequiredPropertyException("GetTableEntitiesItem", "partitionKey"); + } + this.partitionKey = partitionKey; + return this; + } + @CustomType.Setter + public Builder properties(Map properties) { + if (properties == null) { + throw new MissingRequiredPropertyException("GetTableEntitiesItem", "properties"); + } + this.properties = properties; + return this; + } + @CustomType.Setter + public Builder rowKey(String rowKey) { + if (rowKey == null) { + throw new MissingRequiredPropertyException("GetTableEntitiesItem", "rowKey"); + } + this.rowKey = rowKey; + return this; + } + public GetTableEntitiesItem build() { + final var _resultValue = new GetTableEntitiesItem(); + _resultValue.partitionKey = partitionKey; + _resultValue.properties = properties; + _resultValue.rowKey = rowKey; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/azure/storage/outputs/GetTableEntitiesResult.java b/sdk/java/src/main/java/com/pulumi/azure/storage/outputs/GetTableEntitiesResult.java new file mode 100644 index 0000000000..b782837e45 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/azure/storage/outputs/GetTableEntitiesResult.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.storage.outputs; + +import com.pulumi.azure.storage.outputs.GetTableEntitiesItem; +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import javax.annotation.Nullable; + +@CustomType +public final class GetTableEntitiesResult { + private String filter; + /** + * @return The provider-assigned unique ID for this managed resource. + * + */ + private String id; + /** + * @return A list of `items` blocks as defined below. + * + */ + private List items; + private @Nullable List selects; + private String storageAccountName; + private String tableName; + + private GetTableEntitiesResult() {} + public String filter() { + return this.filter; + } + /** + * @return The provider-assigned unique ID for this managed resource. + * + */ + public String id() { + return this.id; + } + /** + * @return A list of `items` blocks as defined below. + * + */ + public List items() { + return this.items; + } + public List selects() { + return this.selects == null ? List.of() : this.selects; + } + public String storageAccountName() { + return this.storageAccountName; + } + public String tableName() { + return this.tableName; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetTableEntitiesResult defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String filter; + private String id; + private List items; + private @Nullable List selects; + private String storageAccountName; + private String tableName; + public Builder() {} + public Builder(GetTableEntitiesResult defaults) { + Objects.requireNonNull(defaults); + this.filter = defaults.filter; + this.id = defaults.id; + this.items = defaults.items; + this.selects = defaults.selects; + this.storageAccountName = defaults.storageAccountName; + this.tableName = defaults.tableName; + } + + @CustomType.Setter + public Builder filter(String filter) { + if (filter == null) { + throw new MissingRequiredPropertyException("GetTableEntitiesResult", "filter"); + } + this.filter = filter; + return this; + } + @CustomType.Setter + public Builder id(String id) { + if (id == null) { + throw new MissingRequiredPropertyException("GetTableEntitiesResult", "id"); + } + this.id = id; + return this; + } + @CustomType.Setter + public Builder items(List items) { + if (items == null) { + throw new MissingRequiredPropertyException("GetTableEntitiesResult", "items"); + } + this.items = items; + return this; + } + public Builder items(GetTableEntitiesItem... items) { + return items(List.of(items)); + } + @CustomType.Setter + public Builder selects(@Nullable List selects) { + + this.selects = selects; + return this; + } + public Builder selects(String... selects) { + return selects(List.of(selects)); + } + @CustomType.Setter + public Builder storageAccountName(String storageAccountName) { + if (storageAccountName == null) { + throw new MissingRequiredPropertyException("GetTableEntitiesResult", "storageAccountName"); + } + this.storageAccountName = storageAccountName; + return this; + } + @CustomType.Setter + public Builder tableName(String tableName) { + if (tableName == null) { + throw new MissingRequiredPropertyException("GetTableEntitiesResult", "tableName"); + } + this.tableName = tableName; + return this; + } + public GetTableEntitiesResult build() { + final var _resultValue = new GetTableEntitiesResult(); + _resultValue.filter = filter; + _resultValue.id = id; + _resultValue.items = items; + _resultValue.selects = selects; + _resultValue.storageAccountName = storageAccountName; + _resultValue.tableName = tableName; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/azure/synapse/Workspace.java b/sdk/java/src/main/java/com/pulumi/azure/synapse/Workspace.java index 1d58d24a81..aff6958bf9 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/synapse/Workspace.java +++ b/sdk/java/src/main/java/com/pulumi/azure/synapse/Workspace.java @@ -248,14 +248,14 @@ @ResourceType(type="azure:synapse/workspace:Workspace") public class Workspace extends com.pulumi.resources.CustomResource { /** - * An `aad_admin` block as defined below. Conflicts with `customer_managed_key`. + * An `aad_admin` block as defined below. * */ @Export(name="aadAdmin", refs={WorkspaceAadAdmin.class}, tree="[0]") private Output aadAdmin; /** - * @return An `aad_admin` block as defined below. Conflicts with `customer_managed_key`. + * @return An `aad_admin` block as defined below. * */ public Output aadAdmin() { @@ -318,14 +318,14 @@ public Output> connectivityEndpoints() { return this.connectivityEndpoints; } /** - * A `customer_managed_key` block as defined below. Conflicts with `aad_admin`. + * A `customer_managed_key` block as defined below. * */ @Export(name="customerManagedKey", refs={WorkspaceCustomerManagedKey.class}, tree="[0]") private Output customerManagedKey; /** - * @return A `customer_managed_key` block as defined below. Conflicts with `aad_admin`. + * @return A `customer_managed_key` block as defined below. * */ public Output> customerManagedKey() { diff --git a/sdk/java/src/main/java/com/pulumi/azure/synapse/WorkspaceArgs.java b/sdk/java/src/main/java/com/pulumi/azure/synapse/WorkspaceArgs.java index 9020e8418e..2f85e73bb9 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/synapse/WorkspaceArgs.java +++ b/sdk/java/src/main/java/com/pulumi/azure/synapse/WorkspaceArgs.java @@ -26,14 +26,14 @@ public final class WorkspaceArgs extends com.pulumi.resources.ResourceArgs { public static final WorkspaceArgs Empty = new WorkspaceArgs(); /** - * An `aad_admin` block as defined below. Conflicts with `customer_managed_key`. + * An `aad_admin` block as defined below. * */ @Import(name="aadAdmin") private @Nullable Output aadAdmin; /** - * @return An `aad_admin` block as defined below. Conflicts with `customer_managed_key`. + * @return An `aad_admin` block as defined below. * */ public Optional> aadAdmin() { @@ -86,14 +86,14 @@ public Optional> computeSubnetId() { } /** - * A `customer_managed_key` block as defined below. Conflicts with `aad_admin`. + * A `customer_managed_key` block as defined below. * */ @Import(name="customerManagedKey") private @Nullable Output customerManagedKey; /** - * @return A `customer_managed_key` block as defined below. Conflicts with `aad_admin`. + * @return A `customer_managed_key` block as defined below. * */ public Optional> customerManagedKey() { @@ -401,7 +401,7 @@ public Builder(WorkspaceArgs defaults) { } /** - * @param aadAdmin An `aad_admin` block as defined below. Conflicts with `customer_managed_key`. + * @param aadAdmin An `aad_admin` block as defined below. * * @return builder * @@ -412,7 +412,7 @@ public Builder aadAdmin(@Nullable Output aadAdmin) { } /** - * @param aadAdmin An `aad_admin` block as defined below. Conflicts with `customer_managed_key`. + * @param aadAdmin An `aad_admin` block as defined below. * * @return builder * @@ -485,7 +485,7 @@ public Builder computeSubnetId(String computeSubnetId) { } /** - * @param customerManagedKey A `customer_managed_key` block as defined below. Conflicts with `aad_admin`. + * @param customerManagedKey A `customer_managed_key` block as defined below. * * @return builder * @@ -496,7 +496,7 @@ public Builder customerManagedKey(@Nullable Output keyVersionlessId() { return this.keyVersionlessId; } + /** + * The User Assigned Identity ID to be used for accessing the Customer Managed Key for encryption. + * + */ + @Import(name="userAssignedIdentityId") + private @Nullable Output userAssignedIdentityId; + + /** + * @return The User Assigned Identity ID to be used for accessing the Customer Managed Key for encryption. + * + */ + public Optional> userAssignedIdentityId() { + return Optional.ofNullable(this.userAssignedIdentityId); + } + private WorkspaceCustomerManagedKeyArgs() {} private WorkspaceCustomerManagedKeyArgs(WorkspaceCustomerManagedKeyArgs $) { this.keyName = $.keyName; this.keyVersionlessId = $.keyVersionlessId; + this.userAssignedIdentityId = $.userAssignedIdentityId; } public static Builder builder() { @@ -113,6 +129,27 @@ public Builder keyVersionlessId(String keyVersionlessId) { return keyVersionlessId(Output.of(keyVersionlessId)); } + /** + * @param userAssignedIdentityId The User Assigned Identity ID to be used for accessing the Customer Managed Key for encryption. + * + * @return builder + * + */ + public Builder userAssignedIdentityId(@Nullable Output userAssignedIdentityId) { + $.userAssignedIdentityId = userAssignedIdentityId; + return this; + } + + /** + * @param userAssignedIdentityId The User Assigned Identity ID to be used for accessing the Customer Managed Key for encryption. + * + * @return builder + * + */ + public Builder userAssignedIdentityId(String userAssignedIdentityId) { + return userAssignedIdentityId(Output.of(userAssignedIdentityId)); + } + public WorkspaceCustomerManagedKeyArgs build() { if ($.keyVersionlessId == null) { throw new MissingRequiredPropertyException("WorkspaceCustomerManagedKeyArgs", "keyVersionlessId"); diff --git a/sdk/java/src/main/java/com/pulumi/azure/synapse/inputs/WorkspaceState.java b/sdk/java/src/main/java/com/pulumi/azure/synapse/inputs/WorkspaceState.java index 75704341bd..bdc8360fe4 100644 --- a/sdk/java/src/main/java/com/pulumi/azure/synapse/inputs/WorkspaceState.java +++ b/sdk/java/src/main/java/com/pulumi/azure/synapse/inputs/WorkspaceState.java @@ -25,14 +25,14 @@ public final class WorkspaceState extends com.pulumi.resources.ResourceArgs { public static final WorkspaceState Empty = new WorkspaceState(); /** - * An `aad_admin` block as defined below. Conflicts with `customer_managed_key`. + * An `aad_admin` block as defined below. * */ @Import(name="aadAdmin") private @Nullable Output aadAdmin; /** - * @return An `aad_admin` block as defined below. Conflicts with `customer_managed_key`. + * @return An `aad_admin` block as defined below. * */ public Optional> aadAdmin() { @@ -100,14 +100,14 @@ public Optional>> connectivityEndpoints() { } /** - * A `customer_managed_key` block as defined below. Conflicts with `aad_admin`. + * A `customer_managed_key` block as defined below. * */ @Import(name="customerManagedKey") private @Nullable Output customerManagedKey; /** - * @return A `customer_managed_key` block as defined below. Conflicts with `aad_admin`. + * @return A `customer_managed_key` block as defined below. * */ public Optional> customerManagedKey() { @@ -416,7 +416,7 @@ public Builder(WorkspaceState defaults) { } /** - * @param aadAdmin An `aad_admin` block as defined below. Conflicts with `customer_managed_key`. + * @param aadAdmin An `aad_admin` block as defined below. * * @return builder * @@ -427,7 +427,7 @@ public Builder aadAdmin(@Nullable Output aadAdmin) { } /** - * @param aadAdmin An `aad_admin` block as defined below. Conflicts with `customer_managed_key`. + * @param aadAdmin An `aad_admin` block as defined below. * * @return builder * @@ -521,7 +521,7 @@ public Builder connectivityEndpoints(Map connectivityEndpoints) { } /** - * @param customerManagedKey A `customer_managed_key` block as defined below. Conflicts with `aad_admin`. + * @param customerManagedKey A `customer_managed_key` block as defined below. * * @return builder * @@ -532,7 +532,7 @@ public Builder customerManagedKey(@Nullable Output keyName() { public String keyVersionlessId() { return this.keyVersionlessId; } + /** + * @return The User Assigned Identity ID to be used for accessing the Customer Managed Key for encryption. + * + */ + public Optional userAssignedIdentityId() { + return Optional.ofNullable(this.userAssignedIdentityId); + } public static Builder builder() { return new Builder(); @@ -50,11 +62,13 @@ public static Builder builder(WorkspaceCustomerManagedKey defaults) { public static final class Builder { private @Nullable String keyName; private String keyVersionlessId; + private @Nullable String userAssignedIdentityId; public Builder() {} public Builder(WorkspaceCustomerManagedKey defaults) { Objects.requireNonNull(defaults); this.keyName = defaults.keyName; this.keyVersionlessId = defaults.keyVersionlessId; + this.userAssignedIdentityId = defaults.userAssignedIdentityId; } @CustomType.Setter @@ -71,10 +85,17 @@ public Builder keyVersionlessId(String keyVersionlessId) { this.keyVersionlessId = keyVersionlessId; return this; } + @CustomType.Setter + public Builder userAssignedIdentityId(@Nullable String userAssignedIdentityId) { + + this.userAssignedIdentityId = userAssignedIdentityId; + return this; + } public WorkspaceCustomerManagedKey build() { final var _resultValue = new WorkspaceCustomerManagedKey(); _resultValue.keyName = keyName; _resultValue.keyVersionlessId = keyVersionlessId; + _resultValue.userAssignedIdentityId = userAssignedIdentityId; return _resultValue; } } diff --git a/sdk/java/src/main/java/com/pulumi/azure/systemcenter/VirtualMachineManagerServer.java b/sdk/java/src/main/java/com/pulumi/azure/systemcenter/VirtualMachineManagerServer.java new file mode 100644 index 0000000000..7173de5b1c --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/azure/systemcenter/VirtualMachineManagerServer.java @@ -0,0 +1,259 @@ +// *** 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.systemcenter; + +import com.pulumi.azure.Utilities; +import com.pulumi.azure.systemcenter.VirtualMachineManagerServerArgs; +import com.pulumi.azure.systemcenter.inputs.VirtualMachineManagerServerState; +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.Integer; +import java.lang.String; +import java.util.List; +import java.util.Map; +import java.util.Optional; +import javax.annotation.Nullable; + +/** + * Manages a System Center Virtual Machine Manager Server. + * + * > **Note:** By request of the service team the provider no longer automatically registering the `Microsoft.ScVmm` Resource Provider for this resource. To register it you can run `az provider register --namespace Microsoft.ScVmm`. + * + * > **Note:** This resource depends on an existing `System Center Virtual Machine Manager Host Machine`, `Arc Resource Bridge` and `Custom Location`. Installing and configuring these dependencies is outside the scope of this document. See [Virtual Machine Manager documentation](https://learn.microsoft.com/en-us/system-center/vmm/?view=sc-vmm-2022) and [Install VMM](https://learn.microsoft.com/en-us/system-center/vmm/install?view=sc-vmm-2022) for more details of `System Center Virtual Machine Manager Host Machine`. See [What is Azure Arc resource bridge](https://learn.microsoft.com/en-us/azure/azure-arc/resource-bridge/overview) and [Overview of Arc-enabled System Center Virtual Machine Manager](https://learn.microsoft.com/en-us/azure/azure-arc/system-center-virtual-machine-manager/overview) for more details of `Arc Resource Bridge/Appliance`. See [Create and manage custom locations on Azure Arc-enabled Kubernetes](https://learn.microsoft.com/en-us/azure/azure-arc/kubernetes/custom-locations) for more details of `Custom Location`. If you encounter issues while configuring, we'd recommend opening a ticket with Microsoft Support. + * + * ## Example Usage + * ```java + * 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.systemcenter.VirtualMachineManagerServer; + * import com.pulumi.azure.systemcenter.VirtualMachineManagerServerArgs; + * 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 exampleVirtualMachineManagerServer = new VirtualMachineManagerServer("exampleVirtualMachineManagerServer", VirtualMachineManagerServerArgs.builder() + * .name("example-scvmmms") + * .resourceGroupName(example.name()) + * .location(example.location()) + * .customLocationId("/subscriptions/12345678-1234-9876-4563-123456789012/resourceGroups/resGroup1/providers/Microsoft.ExtendedLocation/customLocations/customLocation1") + * .fqdn("example.labtest") + * .username("testUser") + * .password("H@Sh1CoR3!") + * .build()); + * + * } + * } + * ``` + * + * ## Import + * + * System Center Virtual Machine Manager Servers can be imported using the `resource id`, e.g. + * + * ```sh + * $ pulumi import azure:systemcenter/virtualMachineManagerServer:VirtualMachineManagerServer example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup1/providers/Microsoft.ScVmm/vmmServers/vmmServer1 + * ``` + * + */ +@ResourceType(type="azure:systemcenter/virtualMachineManagerServer:VirtualMachineManagerServer") +public class VirtualMachineManagerServer extends com.pulumi.resources.CustomResource { + /** + * The ID of the Custom Location for the System Center Virtual Machine Manager Server. Changing this forces a new resource to be created. + * + */ + @Export(name="customLocationId", refs={String.class}, tree="[0]") + private Output customLocationId; + + /** + * @return The ID of the Custom Location for the System Center Virtual Machine Manager Server. Changing this forces a new resource to be created. + * + */ + public Output customLocationId() { + return this.customLocationId; + } + /** + * The FQDN of the System Center Virtual Machine Manager Server. Changing this forces a new resource to be created. + * + */ + @Export(name="fqdn", refs={String.class}, tree="[0]") + private Output fqdn; + + /** + * @return The FQDN of the System Center Virtual Machine Manager Server. Changing this forces a new resource to be created. + * + */ + public Output fqdn() { + return this.fqdn; + } + /** + * The Azure Region where the System Center Virtual Machine Manager Server 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 System Center Virtual Machine Manager Server should exist. Changing this forces a new resource to be created. + * + */ + public Output location() { + return this.location; + } + /** + * The name of the System Center Virtual Machine Manager Server. Changing this forces a new resource to be created. + * + */ + @Export(name="name", refs={String.class}, tree="[0]") + private Output name; + + /** + * @return The name of the System Center Virtual Machine Manager Server. Changing this forces a new resource to be created. + * + */ + public Output name() { + return this.name; + } + /** + * The password that is used to connect to the System Center Virtual Machine Manager Server. Changing this forces a new resource to be created. + * + */ + @Export(name="password", refs={String.class}, tree="[0]") + private Output password; + + /** + * @return The password that is used to connect to the System Center Virtual Machine Manager Server. Changing this forces a new resource to be created. + * + */ + public Output password() { + return this.password; + } + /** + * The port on which the System Center Virtual Machine Manager Server is listening. Possible values are between `1` and `65535`. Changing this forces a new resource to be created. + * + */ + @Export(name="port", refs={Integer.class}, tree="[0]") + private Output port; + + /** + * @return The port on which the System Center Virtual Machine Manager Server is listening. Possible values are between `1` and `65535`. Changing this forces a new resource to be created. + * + */ + public Output> port() { + return Codegen.optional(this.port); + } + /** + * The name of the Resource Group where the System Center Virtual Machine Manager 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 System Center Virtual Machine Manager 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 System Center Virtual Machine Manager Server. + * + */ + @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 System Center Virtual Machine Manager Server. + * + */ + public Output>> tags() { + return Codegen.optional(this.tags); + } + /** + * The username that is used to connect to the System Center Virtual Machine Manager Server. Changing this forces a new resource to be created. + * + */ + @Export(name="username", refs={String.class}, tree="[0]") + private Output username; + + /** + * @return The username that is used to connect to the System Center Virtual Machine Manager Server. Changing this forces a new resource to be created. + * + */ + public Output username() { + return this.username; + } + + /** + * + * @param name The _unique_ name of the resulting resource. + */ + public VirtualMachineManagerServer(String name) { + this(name, VirtualMachineManagerServerArgs.Empty); + } + /** + * + * @param name The _unique_ name of the resulting resource. + * @param args The arguments to use to populate this resource's properties. + */ + public VirtualMachineManagerServer(String name, VirtualMachineManagerServerArgs 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 VirtualMachineManagerServer(String name, VirtualMachineManagerServerArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("azure:systemcenter/virtualMachineManagerServer:VirtualMachineManagerServer", name, args == null ? VirtualMachineManagerServerArgs.Empty : args, makeResourceOptions(options, Codegen.empty())); + } + + private VirtualMachineManagerServer(String name, Output id, @Nullable VirtualMachineManagerServerState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("azure:systemcenter/virtualMachineManagerServer:VirtualMachineManagerServer", name, state, makeResourceOptions(options, id)); + } + + 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()) + .additionalSecretOutputs(List.of( + "password" + )) + .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 VirtualMachineManagerServer get(String name, Output id, @Nullable VirtualMachineManagerServerState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + return new VirtualMachineManagerServer(name, id, state, options); + } +} diff --git a/sdk/java/src/main/java/com/pulumi/azure/systemcenter/VirtualMachineManagerServerArgs.java b/sdk/java/src/main/java/com/pulumi/azure/systemcenter/VirtualMachineManagerServerArgs.java new file mode 100644 index 0000000000..c10069966c --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/azure/systemcenter/VirtualMachineManagerServerArgs.java @@ -0,0 +1,397 @@ +// *** 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.systemcenter; + +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.Map; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class VirtualMachineManagerServerArgs extends com.pulumi.resources.ResourceArgs { + + public static final VirtualMachineManagerServerArgs Empty = new VirtualMachineManagerServerArgs(); + + /** + * The ID of the Custom Location for the System Center Virtual Machine Manager Server. Changing this forces a new resource to be created. + * + */ + @Import(name="customLocationId", required=true) + private Output customLocationId; + + /** + * @return The ID of the Custom Location for the System Center Virtual Machine Manager Server. Changing this forces a new resource to be created. + * + */ + public Output customLocationId() { + return this.customLocationId; + } + + /** + * The FQDN of the System Center Virtual Machine Manager Server. Changing this forces a new resource to be created. + * + */ + @Import(name="fqdn", required=true) + private Output fqdn; + + /** + * @return The FQDN of the System Center Virtual Machine Manager Server. Changing this forces a new resource to be created. + * + */ + public Output fqdn() { + return this.fqdn; + } + + /** + * The Azure Region where the System Center Virtual Machine Manager Server should exist. Changing this forces a new resource to be created. + * + */ + @Import(name="location") + private @Nullable Output location; + + /** + * @return The Azure Region where the System Center Virtual Machine Manager Server should exist. Changing this forces a new resource to be created. + * + */ + public Optional> location() { + return Optional.ofNullable(this.location); + } + + /** + * The name of the System Center Virtual Machine Manager Server. Changing this forces a new resource to be created. + * + */ + @Import(name="name") + private @Nullable Output name; + + /** + * @return The name of the System Center Virtual Machine Manager Server. Changing this forces a new resource to be created. + * + */ + public Optional> name() { + return Optional.ofNullable(this.name); + } + + /** + * The password that is used to connect to the System Center Virtual Machine Manager Server. Changing this forces a new resource to be created. + * + */ + @Import(name="password", required=true) + private Output password; + + /** + * @return The password that is used to connect to the System Center Virtual Machine Manager Server. Changing this forces a new resource to be created. + * + */ + public Output password() { + return this.password; + } + + /** + * The port on which the System Center Virtual Machine Manager Server is listening. Possible values are between `1` and `65535`. Changing this forces a new resource to be created. + * + */ + @Import(name="port") + private @Nullable Output port; + + /** + * @return The port on which the System Center Virtual Machine Manager Server is listening. Possible values are between `1` and `65535`. Changing this forces a new resource to be created. + * + */ + public Optional> port() { + return Optional.ofNullable(this.port); + } + + /** + * The name of the Resource Group where the System Center Virtual Machine Manager 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 System Center Virtual Machine Manager 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 System Center Virtual Machine Manager Server. + * + */ + @Import(name="tags") + private @Nullable Output> tags; + + /** + * @return A mapping of tags which should be assigned to the System Center Virtual Machine Manager Server. + * + */ + public Optional>> tags() { + return Optional.ofNullable(this.tags); + } + + /** + * The username that is used to connect to the System Center Virtual Machine Manager Server. Changing this forces a new resource to be created. + * + */ + @Import(name="username", required=true) + private Output username; + + /** + * @return The username that is used to connect to the System Center Virtual Machine Manager Server. Changing this forces a new resource to be created. + * + */ + public Output username() { + return this.username; + } + + private VirtualMachineManagerServerArgs() {} + + private VirtualMachineManagerServerArgs(VirtualMachineManagerServerArgs $) { + this.customLocationId = $.customLocationId; + this.fqdn = $.fqdn; + this.location = $.location; + this.name = $.name; + this.password = $.password; + this.port = $.port; + this.resourceGroupName = $.resourceGroupName; + this.tags = $.tags; + this.username = $.username; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(VirtualMachineManagerServerArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private VirtualMachineManagerServerArgs $; + + public Builder() { + $ = new VirtualMachineManagerServerArgs(); + } + + public Builder(VirtualMachineManagerServerArgs defaults) { + $ = new VirtualMachineManagerServerArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param customLocationId The ID of the Custom Location for the System Center Virtual Machine Manager Server. 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 the Custom Location for the System Center Virtual Machine Manager Server. Changing this forces a new resource to be created. + * + * @return builder + * + */ + public Builder customLocationId(String customLocationId) { + return customLocationId(Output.of(customLocationId)); + } + + /** + * @param fqdn The FQDN of the System Center Virtual Machine Manager Server. Changing this forces a new resource to be created. + * + * @return builder + * + */ + public Builder fqdn(Output fqdn) { + $.fqdn = fqdn; + return this; + } + + /** + * @param fqdn The FQDN of the System Center Virtual Machine Manager Server. Changing this forces a new resource to be created. + * + * @return builder + * + */ + public Builder fqdn(String fqdn) { + return fqdn(Output.of(fqdn)); + } + + /** + * @param location The Azure Region where the System Center Virtual Machine Manager Server 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 System Center Virtual Machine Manager Server 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 of the System Center Virtual Machine Manager Server. 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 of the System Center Virtual Machine Manager Server. Changing this forces a new resource to be created. + * + * @return builder + * + */ + public Builder name(String name) { + return name(Output.of(name)); + } + + /** + * @param password The password that is used to connect to the System Center Virtual Machine Manager Server. Changing this forces a new resource to be created. + * + * @return builder + * + */ + public Builder password(Output password) { + $.password = password; + return this; + } + + /** + * @param password The password that is used to connect to the System Center Virtual Machine Manager Server. Changing this forces a new resource to be created. + * + * @return builder + * + */ + public Builder password(String password) { + return password(Output.of(password)); + } + + /** + * @param port The port on which the System Center Virtual Machine Manager Server is listening. Possible values are between `1` and `65535`. Changing this forces a new resource to be created. + * + * @return builder + * + */ + public Builder port(@Nullable Output port) { + $.port = port; + return this; + } + + /** + * @param port The port on which the System Center Virtual Machine Manager Server is listening. Possible values are between `1` and `65535`. Changing this forces a new resource to be created. + * + * @return builder + * + */ + public Builder port(Integer port) { + return port(Output.of(port)); + } + + /** + * @param resourceGroupName The name of the Resource Group where the System Center Virtual Machine Manager 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 System Center Virtual Machine Manager 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 System Center Virtual Machine Manager Server. + * + * @return builder + * + */ + public Builder tags(@Nullable Output> tags) { + $.tags = tags; + return this; + } + + /** + * @param tags A mapping of tags which should be assigned to the System Center Virtual Machine Manager Server. + * + * @return builder + * + */ + public Builder tags(Map tags) { + return tags(Output.of(tags)); + } + + /** + * @param username The username that is used to connect to the System Center Virtual Machine Manager Server. Changing this forces a new resource to be created. + * + * @return builder + * + */ + public Builder username(Output username) { + $.username = username; + return this; + } + + /** + * @param username The username that is used to connect to the System Center Virtual Machine Manager Server. Changing this forces a new resource to be created. + * + * @return builder + * + */ + public Builder username(String username) { + return username(Output.of(username)); + } + + public VirtualMachineManagerServerArgs build() { + if ($.customLocationId == null) { + throw new MissingRequiredPropertyException("VirtualMachineManagerServerArgs", "customLocationId"); + } + if ($.fqdn == null) { + throw new MissingRequiredPropertyException("VirtualMachineManagerServerArgs", "fqdn"); + } + if ($.password == null) { + throw new MissingRequiredPropertyException("VirtualMachineManagerServerArgs", "password"); + } + if ($.resourceGroupName == null) { + throw new MissingRequiredPropertyException("VirtualMachineManagerServerArgs", "resourceGroupName"); + } + if ($.username == null) { + throw new MissingRequiredPropertyException("VirtualMachineManagerServerArgs", "username"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/azure/systemcenter/inputs/VirtualMachineManagerServerState.java b/sdk/java/src/main/java/com/pulumi/azure/systemcenter/inputs/VirtualMachineManagerServerState.java new file mode 100644 index 0000000000..6841e8e1b7 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/azure/systemcenter/inputs/VirtualMachineManagerServerState.java @@ -0,0 +1,381 @@ +// *** 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.systemcenter.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.Integer; +import java.lang.String; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class VirtualMachineManagerServerState extends com.pulumi.resources.ResourceArgs { + + public static final VirtualMachineManagerServerState Empty = new VirtualMachineManagerServerState(); + + /** + * The ID of the Custom Location for the System Center Virtual Machine Manager Server. Changing this forces a new resource to be created. + * + */ + @Import(name="customLocationId") + private @Nullable Output customLocationId; + + /** + * @return The ID of the Custom Location for the System Center Virtual Machine Manager Server. Changing this forces a new resource to be created. + * + */ + public Optional> customLocationId() { + return Optional.ofNullable(this.customLocationId); + } + + /** + * The FQDN of the System Center Virtual Machine Manager Server. Changing this forces a new resource to be created. + * + */ + @Import(name="fqdn") + private @Nullable Output fqdn; + + /** + * @return The FQDN of the System Center Virtual Machine Manager Server. Changing this forces a new resource to be created. + * + */ + public Optional> fqdn() { + return Optional.ofNullable(this.fqdn); + } + + /** + * The Azure Region where the System Center Virtual Machine Manager Server should exist. Changing this forces a new resource to be created. + * + */ + @Import(name="location") + private @Nullable Output location; + + /** + * @return The Azure Region where the System Center Virtual Machine Manager Server should exist. Changing this forces a new resource to be created. + * + */ + public Optional> location() { + return Optional.ofNullable(this.location); + } + + /** + * The name of the System Center Virtual Machine Manager Server. Changing this forces a new resource to be created. + * + */ + @Import(name="name") + private @Nullable Output name; + + /** + * @return The name of the System Center Virtual Machine Manager Server. Changing this forces a new resource to be created. + * + */ + public Optional> name() { + return Optional.ofNullable(this.name); + } + + /** + * The password that is used to connect to the System Center Virtual Machine Manager Server. Changing this forces a new resource to be created. + * + */ + @Import(name="password") + private @Nullable Output password; + + /** + * @return The password that is used to connect to the System Center Virtual Machine Manager Server. Changing this forces a new resource to be created. + * + */ + public Optional> password() { + return Optional.ofNullable(this.password); + } + + /** + * The port on which the System Center Virtual Machine Manager Server is listening. Possible values are between `1` and `65535`. Changing this forces a new resource to be created. + * + */ + @Import(name="port") + private @Nullable Output port; + + /** + * @return The port on which the System Center Virtual Machine Manager Server is listening. Possible values are between `1` and `65535`. Changing this forces a new resource to be created. + * + */ + public Optional> port() { + return Optional.ofNullable(this.port); + } + + /** + * The name of the Resource Group where the System Center Virtual Machine Manager 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 System Center Virtual Machine Manager 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 System Center Virtual Machine Manager Server. + * + */ + @Import(name="tags") + private @Nullable Output> tags; + + /** + * @return A mapping of tags which should be assigned to the System Center Virtual Machine Manager Server. + * + */ + public Optional>> tags() { + return Optional.ofNullable(this.tags); + } + + /** + * The username that is used to connect to the System Center Virtual Machine Manager Server. Changing this forces a new resource to be created. + * + */ + @Import(name="username") + private @Nullable Output username; + + /** + * @return The username that is used to connect to the System Center Virtual Machine Manager Server. Changing this forces a new resource to be created. + * + */ + public Optional> username() { + return Optional.ofNullable(this.username); + } + + private VirtualMachineManagerServerState() {} + + private VirtualMachineManagerServerState(VirtualMachineManagerServerState $) { + this.customLocationId = $.customLocationId; + this.fqdn = $.fqdn; + this.location = $.location; + this.name = $.name; + this.password = $.password; + this.port = $.port; + this.resourceGroupName = $.resourceGroupName; + this.tags = $.tags; + this.username = $.username; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(VirtualMachineManagerServerState defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private VirtualMachineManagerServerState $; + + public Builder() { + $ = new VirtualMachineManagerServerState(); + } + + public Builder(VirtualMachineManagerServerState defaults) { + $ = new VirtualMachineManagerServerState(Objects.requireNonNull(defaults)); + } + + /** + * @param customLocationId The ID of the Custom Location for the System Center Virtual Machine Manager Server. 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 the Custom Location for the System Center Virtual Machine Manager Server. Changing this forces a new resource to be created. + * + * @return builder + * + */ + public Builder customLocationId(String customLocationId) { + return customLocationId(Output.of(customLocationId)); + } + + /** + * @param fqdn The FQDN of the System Center Virtual Machine Manager Server. Changing this forces a new resource to be created. + * + * @return builder + * + */ + public Builder fqdn(@Nullable Output fqdn) { + $.fqdn = fqdn; + return this; + } + + /** + * @param fqdn The FQDN of the System Center Virtual Machine Manager Server. Changing this forces a new resource to be created. + * + * @return builder + * + */ + public Builder fqdn(String fqdn) { + return fqdn(Output.of(fqdn)); + } + + /** + * @param location The Azure Region where the System Center Virtual Machine Manager Server 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 System Center Virtual Machine Manager Server 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 of the System Center Virtual Machine Manager Server. 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 of the System Center Virtual Machine Manager Server. Changing this forces a new resource to be created. + * + * @return builder + * + */ + public Builder name(String name) { + return name(Output.of(name)); + } + + /** + * @param password The password that is used to connect to the System Center Virtual Machine Manager Server. Changing this forces a new resource to be created. + * + * @return builder + * + */ + public Builder password(@Nullable Output password) { + $.password = password; + return this; + } + + /** + * @param password The password that is used to connect to the System Center Virtual Machine Manager Server. Changing this forces a new resource to be created. + * + * @return builder + * + */ + public Builder password(String password) { + return password(Output.of(password)); + } + + /** + * @param port The port on which the System Center Virtual Machine Manager Server is listening. Possible values are between `1` and `65535`. Changing this forces a new resource to be created. + * + * @return builder + * + */ + public Builder port(@Nullable Output port) { + $.port = port; + return this; + } + + /** + * @param port The port on which the System Center Virtual Machine Manager Server is listening. Possible values are between `1` and `65535`. Changing this forces a new resource to be created. + * + * @return builder + * + */ + public Builder port(Integer port) { + return port(Output.of(port)); + } + + /** + * @param resourceGroupName The name of the Resource Group where the System Center Virtual Machine Manager 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 System Center Virtual Machine Manager 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 System Center Virtual Machine Manager Server. + * + * @return builder + * + */ + public Builder tags(@Nullable Output> tags) { + $.tags = tags; + return this; + } + + /** + * @param tags A mapping of tags which should be assigned to the System Center Virtual Machine Manager Server. + * + * @return builder + * + */ + public Builder tags(Map tags) { + return tags(Output.of(tags)); + } + + /** + * @param username The username that is used to connect to the System Center Virtual Machine Manager Server. Changing this forces a new resource to be created. + * + * @return builder + * + */ + public Builder username(@Nullable Output username) { + $.username = username; + return this; + } + + /** + * @param username The username that is used to connect to the System Center Virtual Machine Manager Server. Changing this forces a new resource to be created. + * + * @return builder + * + */ + public Builder username(String username) { + return username(Output.of(username)); + } + + public VirtualMachineManagerServerState build() { + return $; + } + } + +} diff --git a/sdk/nodejs/appplatform/springCloudConfigurationService.ts b/sdk/nodejs/appplatform/springCloudConfigurationService.ts index c716d1209d..7133274816 100644 --- a/sdk/nodejs/appplatform/springCloudConfigurationService.ts +++ b/sdk/nodejs/appplatform/springCloudConfigurationService.ts @@ -90,6 +90,10 @@ export class SpringCloudConfigurationService extends pulumi.CustomResource { * The name which should be used for this Spring Cloud Configuration Service. The only possible value is `default`. Changing this forces a new Spring Cloud Configuration Service to be created. */ public readonly name!: pulumi.Output; + /** + * Specifies how often to check repository updates. Minimum value is 0. + */ + public readonly refreshIntervalInSeconds!: pulumi.Output; /** * One or more `repository` blocks as defined below. */ @@ -114,6 +118,7 @@ export class SpringCloudConfigurationService extends pulumi.CustomResource { const state = argsOrState as SpringCloudConfigurationServiceState | undefined; resourceInputs["generation"] = state ? state.generation : undefined; resourceInputs["name"] = state ? state.name : undefined; + resourceInputs["refreshIntervalInSeconds"] = state ? state.refreshIntervalInSeconds : undefined; resourceInputs["repositories"] = state ? state.repositories : undefined; resourceInputs["springCloudServiceId"] = state ? state.springCloudServiceId : undefined; } else { @@ -123,6 +128,7 @@ export class SpringCloudConfigurationService extends pulumi.CustomResource { } resourceInputs["generation"] = args ? args.generation : undefined; resourceInputs["name"] = args ? args.name : undefined; + resourceInputs["refreshIntervalInSeconds"] = args ? args.refreshIntervalInSeconds : undefined; resourceInputs["repositories"] = args ? args.repositories : undefined; resourceInputs["springCloudServiceId"] = args ? args.springCloudServiceId : undefined; } @@ -143,6 +149,10 @@ export interface SpringCloudConfigurationServiceState { * The name which should be used for this Spring Cloud Configuration Service. The only possible value is `default`. Changing this forces a new Spring Cloud Configuration Service to be created. */ name?: pulumi.Input; + /** + * Specifies how often to check repository updates. Minimum value is 0. + */ + refreshIntervalInSeconds?: pulumi.Input; /** * One or more `repository` blocks as defined below. */ @@ -165,6 +175,10 @@ export interface SpringCloudConfigurationServiceArgs { * The name which should be used for this Spring Cloud Configuration Service. The only possible value is `default`. Changing this forces a new Spring Cloud Configuration Service to be created. */ name?: pulumi.Input; + /** + * Specifies how often to check repository updates. Minimum value is 0. + */ + refreshIntervalInSeconds?: pulumi.Input; /** * One or more `repository` blocks as defined below. */ diff --git a/sdk/nodejs/appplatform/springCloudGateway.ts b/sdk/nodejs/appplatform/springCloudGateway.ts index 6a43c3f728..0b2ae4a848 100644 --- a/sdk/nodejs/appplatform/springCloudGateway.ts +++ b/sdk/nodejs/appplatform/springCloudGateway.ts @@ -105,6 +105,10 @@ export class SpringCloudGateway extends pulumi.CustomResource { * A `apiMetadata` block as defined below. */ public readonly apiMetadata!: pulumi.Output; + /** + * Specifies a list of Spring Cloud Application Performance Monitoring IDs. + */ + public readonly applicationPerformanceMonitoringIds!: pulumi.Output; /** * Specifies a list of application performance monitoring types used in the Spring Cloud Gateway. The allowed values are `AppDynamics`, `ApplicationInsights`, `Dynatrace`, `ElasticAPM` and `NewRelic`. */ @@ -180,6 +184,7 @@ export class SpringCloudGateway extends pulumi.CustomResource { if (opts.id) { const state = argsOrState as SpringCloudGatewayState | undefined; resourceInputs["apiMetadata"] = state ? state.apiMetadata : undefined; + resourceInputs["applicationPerformanceMonitoringIds"] = state ? state.applicationPerformanceMonitoringIds : undefined; resourceInputs["applicationPerformanceMonitoringTypes"] = state ? state.applicationPerformanceMonitoringTypes : undefined; resourceInputs["clientAuthorization"] = state ? state.clientAuthorization : undefined; resourceInputs["cors"] = state ? state.cors : undefined; @@ -201,6 +206,7 @@ export class SpringCloudGateway extends pulumi.CustomResource { throw new Error("Missing required property 'springCloudServiceId'"); } resourceInputs["apiMetadata"] = args ? args.apiMetadata : undefined; + resourceInputs["applicationPerformanceMonitoringIds"] = args ? args.applicationPerformanceMonitoringIds : undefined; resourceInputs["applicationPerformanceMonitoringTypes"] = args ? args.applicationPerformanceMonitoringTypes : undefined; resourceInputs["clientAuthorization"] = args ? args.clientAuthorization : undefined; resourceInputs["cors"] = args ? args.cors : undefined; @@ -232,6 +238,10 @@ export interface SpringCloudGatewayState { * A `apiMetadata` block as defined below. */ apiMetadata?: pulumi.Input; + /** + * Specifies a list of Spring Cloud Application Performance Monitoring IDs. + */ + applicationPerformanceMonitoringIds?: pulumi.Input[]>; /** * Specifies a list of application performance monitoring types used in the Spring Cloud Gateway. The allowed values are `AppDynamics`, `ApplicationInsights`, `Dynatrace`, `ElasticAPM` and `NewRelic`. */ @@ -302,6 +312,10 @@ export interface SpringCloudGatewayArgs { * A `apiMetadata` block as defined below. */ apiMetadata?: pulumi.Input; + /** + * Specifies a list of Spring Cloud Application Performance Monitoring IDs. + */ + applicationPerformanceMonitoringIds?: pulumi.Input[]>; /** * Specifies a list of application performance monitoring types used in the Spring Cloud Gateway. The allowed values are `AppDynamics`, `ApplicationInsights`, `Dynatrace`, `ElasticAPM` and `NewRelic`. */ diff --git a/sdk/nodejs/armmsi/federatedIdentityCredential.ts b/sdk/nodejs/armmsi/federatedIdentityCredential.ts index e528e10e95..e03d4d059a 100644 --- a/sdk/nodejs/armmsi/federatedIdentityCredential.ts +++ b/sdk/nodejs/armmsi/federatedIdentityCredential.ts @@ -69,15 +69,15 @@ export class FederatedIdentityCredential extends pulumi.CustomResource { } /** - * Specifies the audience for this Federated Identity Credential. Changing this forces a new Federated Identity Credential to be created. + * Specifies the audience for this Federated Identity Credential. */ public readonly audience!: pulumi.Output; /** - * Specifies the issuer of this Federated Identity Credential. Changing this forces a new Federated Identity Credential to be created. + * Specifies the issuer of this Federated Identity Credential. */ public readonly issuer!: pulumi.Output; /** - * Specifies the name of this Federated Identity Credential. Changing this forces a new Federated Identity Credential to be created. + * Specifies the name of this Federated Identity Credential. */ public readonly name!: pulumi.Output; /** @@ -89,7 +89,7 @@ export class FederatedIdentityCredential extends pulumi.CustomResource { */ public readonly resourceGroupName!: pulumi.Output; /** - * Specifies the subject for this Federated Identity Credential. Changing this forces a new Federated Identity Credential to be created. + * Specifies the subject for this Federated Identity Credential. */ public readonly subject!: pulumi.Output; @@ -146,15 +146,15 @@ export class FederatedIdentityCredential extends pulumi.CustomResource { */ export interface FederatedIdentityCredentialState { /** - * Specifies the audience for this Federated Identity Credential. Changing this forces a new Federated Identity Credential to be created. + * Specifies the audience for this Federated Identity Credential. */ audience?: pulumi.Input; /** - * Specifies the issuer of this Federated Identity Credential. Changing this forces a new Federated Identity Credential to be created. + * Specifies the issuer of this Federated Identity Credential. */ issuer?: pulumi.Input; /** - * Specifies the name of this Federated Identity Credential. Changing this forces a new Federated Identity Credential to be created. + * Specifies the name of this Federated Identity Credential. */ name?: pulumi.Input; /** @@ -166,7 +166,7 @@ export interface FederatedIdentityCredentialState { */ resourceGroupName?: pulumi.Input; /** - * Specifies the subject for this Federated Identity Credential. Changing this forces a new Federated Identity Credential to be created. + * Specifies the subject for this Federated Identity Credential. */ subject?: pulumi.Input; } @@ -176,15 +176,15 @@ export interface FederatedIdentityCredentialState { */ export interface FederatedIdentityCredentialArgs { /** - * Specifies the audience for this Federated Identity Credential. Changing this forces a new Federated Identity Credential to be created. + * Specifies the audience for this Federated Identity Credential. */ audience: pulumi.Input; /** - * Specifies the issuer of this Federated Identity Credential. Changing this forces a new Federated Identity Credential to be created. + * Specifies the issuer of this Federated Identity Credential. */ issuer: pulumi.Input; /** - * Specifies the name of this Federated Identity Credential. Changing this forces a new Federated Identity Credential to be created. + * Specifies the name of this Federated Identity Credential. */ name?: pulumi.Input; /** @@ -196,7 +196,7 @@ export interface FederatedIdentityCredentialArgs { */ resourceGroupName: pulumi.Input; /** - * Specifies the subject for this Federated Identity Credential. Changing this forces a new Federated Identity Credential to be created. + * Specifies the subject for this Federated Identity Credential. */ subject: pulumi.Input; } diff --git a/sdk/nodejs/avs/privateCloud.ts b/sdk/nodejs/avs/privateCloud.ts index 0f4fa54649..e68ec37a4e 100644 --- a/sdk/nodejs/avs/privateCloud.ts +++ b/sdk/nodejs/avs/privateCloud.ts @@ -81,8 +81,8 @@ export class PrivateCloud extends pulumi.CustomResource { */ public /*out*/ readonly hcxCloudManagerEndpoint!: pulumi.Output; /** - * Is the Private Cluster connected to the internet? This field can not updated with `management_cluster.0.size` together. - * > **NOTE :** `internetConnectionEnabled` and `management_cluster.0.size` cannot be updated at the same time. + * Is the Private Cluster connected to the internet? This field can not updated with `management_cluster[0].size` together. + * > **NOTE :** `internetConnectionEnabled` and `management_cluster[0].size` cannot be updated at the same time. */ public readonly internetConnectionEnabled!: pulumi.Output; /** @@ -91,7 +91,7 @@ export class PrivateCloud extends pulumi.CustomResource { public readonly location!: pulumi.Output; /** * A `managementCluster` block as defined below. - * > **NOTE :** `internetConnectionEnabled` and `management_cluster.0.size` cannot be updated at the same time. + * > **NOTE :** `internetConnectionEnabled` and `management_cluster[0].size` cannot be updated at the same time. */ public readonly managementCluster!: pulumi.Output; /** @@ -237,8 +237,8 @@ export interface PrivateCloudState { */ hcxCloudManagerEndpoint?: pulumi.Input; /** - * Is the Private Cluster connected to the internet? This field can not updated with `management_cluster.0.size` together. - * > **NOTE :** `internetConnectionEnabled` and `management_cluster.0.size` cannot be updated at the same time. + * Is the Private Cluster connected to the internet? This field can not updated with `management_cluster[0].size` together. + * > **NOTE :** `internetConnectionEnabled` and `management_cluster[0].size` cannot be updated at the same time. */ internetConnectionEnabled?: pulumi.Input; /** @@ -247,7 +247,7 @@ export interface PrivateCloudState { location?: pulumi.Input; /** * A `managementCluster` block as defined below. - * > **NOTE :** `internetConnectionEnabled` and `management_cluster.0.size` cannot be updated at the same time. + * > **NOTE :** `internetConnectionEnabled` and `management_cluster[0].size` cannot be updated at the same time. */ managementCluster?: pulumi.Input; /** @@ -313,8 +313,8 @@ export interface PrivateCloudState { */ export interface PrivateCloudArgs { /** - * Is the Private Cluster connected to the internet? This field can not updated with `management_cluster.0.size` together. - * > **NOTE :** `internetConnectionEnabled` and `management_cluster.0.size` cannot be updated at the same time. + * Is the Private Cluster connected to the internet? This field can not updated with `management_cluster[0].size` together. + * > **NOTE :** `internetConnectionEnabled` and `management_cluster[0].size` cannot be updated at the same time. */ internetConnectionEnabled?: pulumi.Input; /** @@ -323,7 +323,7 @@ export interface PrivateCloudArgs { location?: pulumi.Input; /** * A `managementCluster` block as defined below. - * > **NOTE :** `internetConnectionEnabled` and `management_cluster.0.size` cannot be updated at the same time. + * > **NOTE :** `internetConnectionEnabled` and `management_cluster[0].size` cannot be updated at the same time. */ managementCluster: pulumi.Input; /** diff --git a/sdk/nodejs/cognitive/deployment.ts b/sdk/nodejs/cognitive/deployment.ts index 7d94ba710d..b295e57554 100644 --- a/sdk/nodejs/cognitive/deployment.ts +++ b/sdk/nodejs/cognitive/deployment.ts @@ -97,7 +97,7 @@ export class Deployment extends pulumi.CustomResource { */ public readonly scale!: pulumi.Output; /** - * Deployment model version upgrade option. Possible values are `OnceNewDefaultVersionAvailable`, `OnceCurrentVersionExpired`, and `NoAutoUpgrade`. Defaults to `OnceNewDefaultVersionAvailable`. Changing this forces a new resource to be created. + * Deployment model version upgrade option. Possible values are `OnceNewDefaultVersionAvailable`, `OnceCurrentVersionExpired`, and `NoAutoUpgrade`. Defaults to `OnceNewDefaultVersionAvailable`. */ public readonly versionUpgradeOption!: pulumi.Output; @@ -168,7 +168,7 @@ export interface DeploymentState { */ scale?: pulumi.Input; /** - * Deployment model version upgrade option. Possible values are `OnceNewDefaultVersionAvailable`, `OnceCurrentVersionExpired`, and `NoAutoUpgrade`. Defaults to `OnceNewDefaultVersionAvailable`. Changing this forces a new resource to be created. + * Deployment model version upgrade option. Possible values are `OnceNewDefaultVersionAvailable`, `OnceCurrentVersionExpired`, and `NoAutoUpgrade`. Defaults to `OnceNewDefaultVersionAvailable`. */ versionUpgradeOption?: pulumi.Input; } @@ -198,7 +198,7 @@ export interface DeploymentArgs { */ scale: pulumi.Input; /** - * Deployment model version upgrade option. Possible values are `OnceNewDefaultVersionAvailable`, `OnceCurrentVersionExpired`, and `NoAutoUpgrade`. Defaults to `OnceNewDefaultVersionAvailable`. Changing this forces a new resource to be created. + * Deployment model version upgrade option. Possible values are `OnceNewDefaultVersionAvailable`, `OnceCurrentVersionExpired`, and `NoAutoUpgrade`. Defaults to `OnceNewDefaultVersionAvailable`. */ versionUpgradeOption?: pulumi.Input; } diff --git a/sdk/nodejs/compute/linuxVirtualMachine.ts b/sdk/nodejs/compute/linuxVirtualMachine.ts index 1770ab3ae6..bbb8f8d35b 100644 --- a/sdk/nodejs/compute/linuxVirtualMachine.ts +++ b/sdk/nodejs/compute/linuxVirtualMachine.ts @@ -187,6 +187,10 @@ export class LinuxVirtualMachine extends pulumi.CustomResource { * > **NOTE:** When an `adminPassword` is specified `disablePasswordAuthentication` must be set to `false`. */ public readonly disablePasswordAuthentication!: pulumi.Output; + /** + * Specifies the Disk Controller Type used for this Virtual Machine. Possible values are `SCSI` and `NVMe`. + */ + public readonly diskControllerType!: pulumi.Output; /** * Specifies the Edge Zone within the Azure Region where this Linux Virtual Machine should exist. Changing this forces a new Linux Virtual Machine to be created. */ @@ -239,6 +243,10 @@ export class LinuxVirtualMachine extends pulumi.CustomResource { * A `osDisk` block as defined below. */ public readonly osDisk!: pulumi.Output; + /** + * A `osImageNotification` block as defined below. + */ + public readonly osImageNotification!: pulumi.Output; /** * Specifies the mode of VM Guest Patching for the Virtual Machine. Possible values are `AutomaticByPlatform` or `ImageDefault`. Defaults to `ImageDefault`. * @@ -340,11 +348,17 @@ export class LinuxVirtualMachine extends pulumi.CustomResource { */ public /*out*/ readonly virtualMachineId!: pulumi.Output; /** - * Specifies the Orchestrated Virtual Machine Scale Set that this Virtual Machine should be created within. Changing this forces a new resource to be created. + * Specifies the Orchestrated Virtual Machine Scale Set that this Virtual Machine should be created within. + * + * > **NOTE:** To update `virtualMachineScaleSetId` the Preview Feature `Microsoft.Compute/SingleFDAttachDetachVMToVmss` needs to be enabled, see [the documentation](https://review.learn.microsoft.com/azure/virtual-machine-scale-sets/virtual-machine-scale-sets-attach-detach-vm#enroll-in-the-preview) for more information. * * > **NOTE:** Orchestrated Virtual Machine Scale Sets can be provisioned using [the `azure.compute.OrchestratedVirtualMachineScaleSet` resource](https://www.terraform.io/docs/providers/azurerm/r/orchestrated_virtual_machine_scale_set.html). */ public readonly virtualMachineScaleSetId!: pulumi.Output; + /** + * Specifies whether VMAgent Platform Updates is enabled. Defaults to `false`. + */ + public readonly vmAgentPlatformUpdatesEnabled!: pulumi.Output; /** * Specifies whether vTPM should be enabled on the virtual machine. Changing this forces a new resource to be created. */ @@ -381,6 +395,7 @@ export class LinuxVirtualMachine extends pulumi.CustomResource { resourceInputs["dedicatedHostGroupId"] = state ? state.dedicatedHostGroupId : undefined; resourceInputs["dedicatedHostId"] = state ? state.dedicatedHostId : undefined; resourceInputs["disablePasswordAuthentication"] = state ? state.disablePasswordAuthentication : undefined; + resourceInputs["diskControllerType"] = state ? state.diskControllerType : undefined; resourceInputs["edgeZone"] = state ? state.edgeZone : undefined; resourceInputs["encryptionAtHostEnabled"] = state ? state.encryptionAtHostEnabled : undefined; resourceInputs["evictionPolicy"] = state ? state.evictionPolicy : undefined; @@ -393,6 +408,7 @@ export class LinuxVirtualMachine extends pulumi.CustomResource { resourceInputs["name"] = state ? state.name : undefined; resourceInputs["networkInterfaceIds"] = state ? state.networkInterfaceIds : undefined; resourceInputs["osDisk"] = state ? state.osDisk : undefined; + resourceInputs["osImageNotification"] = state ? state.osImageNotification : undefined; resourceInputs["patchAssessmentMode"] = state ? state.patchAssessmentMode : undefined; resourceInputs["patchMode"] = state ? state.patchMode : undefined; resourceInputs["plan"] = state ? state.plan : undefined; @@ -416,6 +432,7 @@ export class LinuxVirtualMachine extends pulumi.CustomResource { resourceInputs["userData"] = state ? state.userData : undefined; resourceInputs["virtualMachineId"] = state ? state.virtualMachineId : undefined; resourceInputs["virtualMachineScaleSetId"] = state ? state.virtualMachineScaleSetId : undefined; + resourceInputs["vmAgentPlatformUpdatesEnabled"] = state ? state.vmAgentPlatformUpdatesEnabled : undefined; resourceInputs["vtpmEnabled"] = state ? state.vtpmEnabled : undefined; resourceInputs["zone"] = state ? state.zone : undefined; } else { @@ -449,6 +466,7 @@ export class LinuxVirtualMachine extends pulumi.CustomResource { resourceInputs["dedicatedHostGroupId"] = args ? args.dedicatedHostGroupId : undefined; resourceInputs["dedicatedHostId"] = args ? args.dedicatedHostId : undefined; resourceInputs["disablePasswordAuthentication"] = args ? args.disablePasswordAuthentication : undefined; + resourceInputs["diskControllerType"] = args ? args.diskControllerType : undefined; resourceInputs["edgeZone"] = args ? args.edgeZone : undefined; resourceInputs["encryptionAtHostEnabled"] = args ? args.encryptionAtHostEnabled : undefined; resourceInputs["evictionPolicy"] = args ? args.evictionPolicy : undefined; @@ -461,6 +479,7 @@ export class LinuxVirtualMachine extends pulumi.CustomResource { resourceInputs["name"] = args ? args.name : undefined; resourceInputs["networkInterfaceIds"] = args ? args.networkInterfaceIds : undefined; resourceInputs["osDisk"] = args ? args.osDisk : undefined; + resourceInputs["osImageNotification"] = args ? args.osImageNotification : undefined; resourceInputs["patchAssessmentMode"] = args ? args.patchAssessmentMode : undefined; resourceInputs["patchMode"] = args ? args.patchMode : undefined; resourceInputs["plan"] = args ? args.plan : undefined; @@ -479,6 +498,7 @@ export class LinuxVirtualMachine extends pulumi.CustomResource { resourceInputs["terminationNotification"] = args ? args.terminationNotification : undefined; resourceInputs["userData"] = args ? args.userData : undefined; resourceInputs["virtualMachineScaleSetId"] = args ? args.virtualMachineScaleSetId : undefined; + resourceInputs["vmAgentPlatformUpdatesEnabled"] = args ? args.vmAgentPlatformUpdatesEnabled : undefined; resourceInputs["vtpmEnabled"] = args ? args.vtpmEnabled : undefined; resourceInputs["zone"] = args ? args.zone : undefined; resourceInputs["privateIpAddress"] = undefined /*out*/; @@ -567,6 +587,10 @@ export interface LinuxVirtualMachineState { * > **NOTE:** When an `adminPassword` is specified `disablePasswordAuthentication` must be set to `false`. */ disablePasswordAuthentication?: pulumi.Input; + /** + * Specifies the Disk Controller Type used for this Virtual Machine. Possible values are `SCSI` and `NVMe`. + */ + diskControllerType?: pulumi.Input; /** * Specifies the Edge Zone within the Azure Region where this Linux Virtual Machine should exist. Changing this forces a new Linux Virtual Machine to be created. */ @@ -619,6 +643,10 @@ export interface LinuxVirtualMachineState { * A `osDisk` block as defined below. */ osDisk?: pulumi.Input; + /** + * A `osImageNotification` block as defined below. + */ + osImageNotification?: pulumi.Input; /** * Specifies the mode of VM Guest Patching for the Virtual Machine. Possible values are `AutomaticByPlatform` or `ImageDefault`. Defaults to `ImageDefault`. * @@ -720,11 +748,17 @@ export interface LinuxVirtualMachineState { */ virtualMachineId?: pulumi.Input; /** - * Specifies the Orchestrated Virtual Machine Scale Set that this Virtual Machine should be created within. Changing this forces a new resource to be created. + * Specifies the Orchestrated Virtual Machine Scale Set that this Virtual Machine should be created within. + * + * > **NOTE:** To update `virtualMachineScaleSetId` the Preview Feature `Microsoft.Compute/SingleFDAttachDetachVMToVmss` needs to be enabled, see [the documentation](https://review.learn.microsoft.com/azure/virtual-machine-scale-sets/virtual-machine-scale-sets-attach-detach-vm#enroll-in-the-preview) for more information. * * > **NOTE:** Orchestrated Virtual Machine Scale Sets can be provisioned using [the `azure.compute.OrchestratedVirtualMachineScaleSet` resource](https://www.terraform.io/docs/providers/azurerm/r/orchestrated_virtual_machine_scale_set.html). */ virtualMachineScaleSetId?: pulumi.Input; + /** + * Specifies whether VMAgent Platform Updates is enabled. Defaults to `false`. + */ + vmAgentPlatformUpdatesEnabled?: pulumi.Input; /** * Specifies whether vTPM should be enabled on the virtual machine. Changing this forces a new resource to be created. */ @@ -808,6 +842,10 @@ export interface LinuxVirtualMachineArgs { * > **NOTE:** When an `adminPassword` is specified `disablePasswordAuthentication` must be set to `false`. */ disablePasswordAuthentication?: pulumi.Input; + /** + * Specifies the Disk Controller Type used for this Virtual Machine. Possible values are `SCSI` and `NVMe`. + */ + diskControllerType?: pulumi.Input; /** * Specifies the Edge Zone within the Azure Region where this Linux Virtual Machine should exist. Changing this forces a new Linux Virtual Machine to be created. */ @@ -860,6 +898,10 @@ export interface LinuxVirtualMachineArgs { * A `osDisk` block as defined below. */ osDisk: pulumi.Input; + /** + * A `osImageNotification` block as defined below. + */ + osImageNotification?: pulumi.Input; /** * Specifies the mode of VM Guest Patching for the Virtual Machine. Possible values are `AutomaticByPlatform` or `ImageDefault`. Defaults to `ImageDefault`. * @@ -941,11 +983,17 @@ export interface LinuxVirtualMachineArgs { */ userData?: pulumi.Input; /** - * Specifies the Orchestrated Virtual Machine Scale Set that this Virtual Machine should be created within. Changing this forces a new resource to be created. + * Specifies the Orchestrated Virtual Machine Scale Set that this Virtual Machine should be created within. + * + * > **NOTE:** To update `virtualMachineScaleSetId` the Preview Feature `Microsoft.Compute/SingleFDAttachDetachVMToVmss` needs to be enabled, see [the documentation](https://review.learn.microsoft.com/azure/virtual-machine-scale-sets/virtual-machine-scale-sets-attach-detach-vm#enroll-in-the-preview) for more information. * * > **NOTE:** Orchestrated Virtual Machine Scale Sets can be provisioned using [the `azure.compute.OrchestratedVirtualMachineScaleSet` resource](https://www.terraform.io/docs/providers/azurerm/r/orchestrated_virtual_machine_scale_set.html). */ virtualMachineScaleSetId?: pulumi.Input; + /** + * Specifies whether VMAgent Platform Updates is enabled. Defaults to `false`. + */ + vmAgentPlatformUpdatesEnabled?: pulumi.Input; /** * Specifies whether vTPM should be enabled on the virtual machine. Changing this forces a new resource to be created. */ diff --git a/sdk/nodejs/compute/orchestratedVirtualMachineScaleSet.ts b/sdk/nodejs/compute/orchestratedVirtualMachineScaleSet.ts index 62950754f5..06853894c7 100644 --- a/sdk/nodejs/compute/orchestratedVirtualMachineScaleSet.ts +++ b/sdk/nodejs/compute/orchestratedVirtualMachineScaleSet.ts @@ -101,7 +101,7 @@ export class OrchestratedVirtualMachineScaleSet extends pulumi.CustomResource { */ public readonly encryptionAtHostEnabled!: pulumi.Output; /** - * The Policy which should be used Virtual Machines are Evicted from the Scale Set. Possible values are `Deallocate` and `Delete`. Changing this forces a new resource to be created. + * The Policy which should be used by Spot Virtual Machines that are Evicted from the Scale Set. Possible values are `Deallocate` and `Delete`. Changing this forces a new resource to be created. */ public readonly evictionPolicy!: pulumi.Output; /** @@ -361,7 +361,7 @@ export interface OrchestratedVirtualMachineScaleSetState { */ encryptionAtHostEnabled?: pulumi.Input; /** - * The Policy which should be used Virtual Machines are Evicted from the Scale Set. Possible values are `Deallocate` and `Delete`. Changing this forces a new resource to be created. + * The Policy which should be used by Spot Virtual Machines that are Evicted from the Scale Set. Possible values are `Deallocate` and `Delete`. Changing this forces a new resource to be created. */ evictionPolicy?: pulumi.Input; /** @@ -523,7 +523,7 @@ export interface OrchestratedVirtualMachineScaleSetArgs { */ encryptionAtHostEnabled?: pulumi.Input; /** - * The Policy which should be used Virtual Machines are Evicted from the Scale Set. Possible values are `Deallocate` and `Delete`. Changing this forces a new resource to be created. + * The Policy which should be used by Spot Virtual Machines that are Evicted from the Scale Set. Possible values are `Deallocate` and `Delete`. Changing this forces a new resource to be created. */ evictionPolicy?: pulumi.Input; /** diff --git a/sdk/nodejs/compute/windowsVirtualMachine.ts b/sdk/nodejs/compute/windowsVirtualMachine.ts index a870113255..a20e8bfd8a 100644 --- a/sdk/nodejs/compute/windowsVirtualMachine.ts +++ b/sdk/nodejs/compute/windowsVirtualMachine.ts @@ -168,6 +168,10 @@ export class WindowsVirtualMachine extends pulumi.CustomResource { * The ID of a Dedicated Host where this machine should be run on. Conflicts with `dedicatedHostGroupId`. */ public readonly dedicatedHostId!: pulumi.Output; + /** + * Specifies the Disk Controller Type used for this Virtual Machine. Possible values are `SCSI` and `NVMe`. + */ + public readonly diskControllerType!: pulumi.Output; /** * Specifies the Edge Zone within the Azure Region where this Windows Virtual Machine should exist. Changing this forces a new Windows Virtual Machine to be created. */ @@ -230,6 +234,10 @@ export class WindowsVirtualMachine extends pulumi.CustomResource { * A `osDisk` block as defined below. */ public readonly osDisk!: pulumi.Output; + /** + * A `osImageNotification` block as defined below. + */ + public readonly osImageNotification!: pulumi.Output; /** * Specifies the mode of VM Guest Patching for the Virtual Machine. Possible values are `AutomaticByPlatform` or `ImageDefault`. Defaults to `ImageDefault`. * @@ -335,11 +343,17 @@ export class WindowsVirtualMachine extends pulumi.CustomResource { */ public /*out*/ readonly virtualMachineId!: pulumi.Output; /** - * Specifies the Orchestrated Virtual Machine Scale Set that this Virtual Machine should be created within. Changing this forces a new resource to be created. + * Specifies the Orchestrated Virtual Machine Scale Set that this Virtual Machine should be created within. + * + * > **NOTE:** To update `virtualMachineScaleSetId` the Preview Feature `Microsoft.Compute/SingleFDAttachDetachVMToVmss` needs to be enabled, see [the documentation](https://review.learn.microsoft.com/azure/virtual-machine-scale-sets/virtual-machine-scale-sets-attach-detach-vm#enroll-in-the-preview) for more information. * * > **NOTE:** Orchestrated Virtual Machine Scale Sets can be provisioned using [the `azure.compute.OrchestratedVirtualMachineScaleSet` resource](https://www.terraform.io/docs/providers/azurerm/r/orchestrated_virtual_machine_scale_set.html). */ public readonly virtualMachineScaleSetId!: pulumi.Output; + /** + * Specifies whether VMAgent Platform Updates is enabled. Defaults to `false`. + */ + public readonly vmAgentPlatformUpdatesEnabled!: pulumi.Output; /** * Specifies if vTPM (virtual Trusted Platform Module) and Trusted Launch is enabled for the Virtual Machine. Changing this forces a new resource to be created. */ @@ -379,6 +393,7 @@ export class WindowsVirtualMachine extends pulumi.CustomResource { resourceInputs["customData"] = state ? state.customData : undefined; resourceInputs["dedicatedHostGroupId"] = state ? state.dedicatedHostGroupId : undefined; resourceInputs["dedicatedHostId"] = state ? state.dedicatedHostId : undefined; + resourceInputs["diskControllerType"] = state ? state.diskControllerType : undefined; resourceInputs["edgeZone"] = state ? state.edgeZone : undefined; resourceInputs["enableAutomaticUpdates"] = state ? state.enableAutomaticUpdates : undefined; resourceInputs["encryptionAtHostEnabled"] = state ? state.encryptionAtHostEnabled : undefined; @@ -393,6 +408,7 @@ export class WindowsVirtualMachine extends pulumi.CustomResource { resourceInputs["name"] = state ? state.name : undefined; resourceInputs["networkInterfaceIds"] = state ? state.networkInterfaceIds : undefined; resourceInputs["osDisk"] = state ? state.osDisk : undefined; + resourceInputs["osImageNotification"] = state ? state.osImageNotification : undefined; resourceInputs["patchAssessmentMode"] = state ? state.patchAssessmentMode : undefined; resourceInputs["patchMode"] = state ? state.patchMode : undefined; resourceInputs["plan"] = state ? state.plan : undefined; @@ -417,6 +433,7 @@ export class WindowsVirtualMachine extends pulumi.CustomResource { resourceInputs["userData"] = state ? state.userData : undefined; resourceInputs["virtualMachineId"] = state ? state.virtualMachineId : undefined; resourceInputs["virtualMachineScaleSetId"] = state ? state.virtualMachineScaleSetId : undefined; + resourceInputs["vmAgentPlatformUpdatesEnabled"] = state ? state.vmAgentPlatformUpdatesEnabled : undefined; resourceInputs["vtpmEnabled"] = state ? state.vtpmEnabled : undefined; resourceInputs["winrmListeners"] = state ? state.winrmListeners : undefined; resourceInputs["zone"] = state ? state.zone : undefined; @@ -453,6 +470,7 @@ export class WindowsVirtualMachine extends pulumi.CustomResource { resourceInputs["customData"] = args?.customData ? pulumi.secret(args.customData) : undefined; resourceInputs["dedicatedHostGroupId"] = args ? args.dedicatedHostGroupId : undefined; resourceInputs["dedicatedHostId"] = args ? args.dedicatedHostId : undefined; + resourceInputs["diskControllerType"] = args ? args.diskControllerType : undefined; resourceInputs["edgeZone"] = args ? args.edgeZone : undefined; resourceInputs["enableAutomaticUpdates"] = args ? args.enableAutomaticUpdates : undefined; resourceInputs["encryptionAtHostEnabled"] = args ? args.encryptionAtHostEnabled : undefined; @@ -467,6 +485,7 @@ export class WindowsVirtualMachine extends pulumi.CustomResource { resourceInputs["name"] = args ? args.name : undefined; resourceInputs["networkInterfaceIds"] = args ? args.networkInterfaceIds : undefined; resourceInputs["osDisk"] = args ? args.osDisk : undefined; + resourceInputs["osImageNotification"] = args ? args.osImageNotification : undefined; resourceInputs["patchAssessmentMode"] = args ? args.patchAssessmentMode : undefined; resourceInputs["patchMode"] = args ? args.patchMode : undefined; resourceInputs["plan"] = args ? args.plan : undefined; @@ -486,6 +505,7 @@ export class WindowsVirtualMachine extends pulumi.CustomResource { resourceInputs["timezone"] = args ? args.timezone : undefined; resourceInputs["userData"] = args ? args.userData : undefined; resourceInputs["virtualMachineScaleSetId"] = args ? args.virtualMachineScaleSetId : undefined; + resourceInputs["vmAgentPlatformUpdatesEnabled"] = args ? args.vmAgentPlatformUpdatesEnabled : undefined; resourceInputs["vtpmEnabled"] = args ? args.vtpmEnabled : undefined; resourceInputs["winrmListeners"] = args ? args.winrmListeners : undefined; resourceInputs["zone"] = args ? args.zone : undefined; @@ -562,6 +582,10 @@ export interface WindowsVirtualMachineState { * The ID of a Dedicated Host where this machine should be run on. Conflicts with `dedicatedHostGroupId`. */ dedicatedHostId?: pulumi.Input; + /** + * Specifies the Disk Controller Type used for this Virtual Machine. Possible values are `SCSI` and `NVMe`. + */ + diskControllerType?: pulumi.Input; /** * Specifies the Edge Zone within the Azure Region where this Windows Virtual Machine should exist. Changing this forces a new Windows Virtual Machine to be created. */ @@ -624,6 +648,10 @@ export interface WindowsVirtualMachineState { * A `osDisk` block as defined below. */ osDisk?: pulumi.Input; + /** + * A `osImageNotification` block as defined below. + */ + osImageNotification?: pulumi.Input; /** * Specifies the mode of VM Guest Patching for the Virtual Machine. Possible values are `AutomaticByPlatform` or `ImageDefault`. Defaults to `ImageDefault`. * @@ -729,11 +757,17 @@ export interface WindowsVirtualMachineState { */ virtualMachineId?: pulumi.Input; /** - * Specifies the Orchestrated Virtual Machine Scale Set that this Virtual Machine should be created within. Changing this forces a new resource to be created. + * Specifies the Orchestrated Virtual Machine Scale Set that this Virtual Machine should be created within. + * + * > **NOTE:** To update `virtualMachineScaleSetId` the Preview Feature `Microsoft.Compute/SingleFDAttachDetachVMToVmss` needs to be enabled, see [the documentation](https://review.learn.microsoft.com/azure/virtual-machine-scale-sets/virtual-machine-scale-sets-attach-detach-vm#enroll-in-the-preview) for more information. * * > **NOTE:** Orchestrated Virtual Machine Scale Sets can be provisioned using [the `azure.compute.OrchestratedVirtualMachineScaleSet` resource](https://www.terraform.io/docs/providers/azurerm/r/orchestrated_virtual_machine_scale_set.html). */ virtualMachineScaleSetId?: pulumi.Input; + /** + * Specifies whether VMAgent Platform Updates is enabled. Defaults to `false`. + */ + vmAgentPlatformUpdatesEnabled?: pulumi.Input; /** * Specifies if vTPM (virtual Trusted Platform Module) and Trusted Launch is enabled for the Virtual Machine. Changing this forces a new resource to be created. */ @@ -808,6 +842,10 @@ export interface WindowsVirtualMachineArgs { * The ID of a Dedicated Host where this machine should be run on. Conflicts with `dedicatedHostGroupId`. */ dedicatedHostId?: pulumi.Input; + /** + * Specifies the Disk Controller Type used for this Virtual Machine. Possible values are `SCSI` and `NVMe`. + */ + diskControllerType?: pulumi.Input; /** * Specifies the Edge Zone within the Azure Region where this Windows Virtual Machine should exist. Changing this forces a new Windows Virtual Machine to be created. */ @@ -870,6 +908,10 @@ export interface WindowsVirtualMachineArgs { * A `osDisk` block as defined below. */ osDisk: pulumi.Input; + /** + * A `osImageNotification` block as defined below. + */ + osImageNotification?: pulumi.Input; /** * Specifies the mode of VM Guest Patching for the Virtual Machine. Possible values are `AutomaticByPlatform` or `ImageDefault`. Defaults to `ImageDefault`. * @@ -955,11 +997,17 @@ export interface WindowsVirtualMachineArgs { */ userData?: pulumi.Input; /** - * Specifies the Orchestrated Virtual Machine Scale Set that this Virtual Machine should be created within. Changing this forces a new resource to be created. + * Specifies the Orchestrated Virtual Machine Scale Set that this Virtual Machine should be created within. + * + * > **NOTE:** To update `virtualMachineScaleSetId` the Preview Feature `Microsoft.Compute/SingleFDAttachDetachVMToVmss` needs to be enabled, see [the documentation](https://review.learn.microsoft.com/azure/virtual-machine-scale-sets/virtual-machine-scale-sets-attach-detach-vm#enroll-in-the-preview) for more information. * * > **NOTE:** Orchestrated Virtual Machine Scale Sets can be provisioned using [the `azure.compute.OrchestratedVirtualMachineScaleSet` resource](https://www.terraform.io/docs/providers/azurerm/r/orchestrated_virtual_machine_scale_set.html). */ virtualMachineScaleSetId?: pulumi.Input; + /** + * Specifies whether VMAgent Platform Updates is enabled. Defaults to `false`. + */ + vmAgentPlatformUpdatesEnabled?: pulumi.Input; /** * Specifies if vTPM (virtual Trusted Platform Module) and Trusted Launch is enabled for the Virtual Machine. Changing this forces a new resource to be created. */ diff --git a/sdk/nodejs/containerservice/fleetUpdateRun.ts b/sdk/nodejs/containerservice/fleetUpdateRun.ts new file mode 100644 index 0000000000..343c9161e1 --- /dev/null +++ b/sdk/nodejs/containerservice/fleetUpdateRun.ts @@ -0,0 +1,216 @@ +// *** 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 Kubernetes Fleet Update Run. + * + * ## 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: "westeurope", + * }); + * const exampleKubernetesFleetManager = new azure.containerservice.KubernetesFleetManager("example", { + * location: example.location, + * name: "example", + * resourceGroupName: example.name, + * hubProfile: { + * dnsPrefix: "example-dns-prefix", + * }, + * }); + * const exampleKubernetesCluster = new azure.containerservice.KubernetesCluster("example", { + * name: "example", + * location: example.location, + * resourceGroupName: example.name, + * dnsPrefix: "example", + * defaultNodePool: { + * name: "default", + * nodeCount: 1, + * vmSize: "Standard_DS2_v2", + * }, + * identity: { + * type: "SystemAssigned", + * }, + * }); + * const exampleFleetMember = new azure.containerservice.FleetMember("example", { + * name: "example", + * kubernetesFleetId: exampleKubernetesFleetManager.id, + * kubernetesClusterId: exampleKubernetesCluster.id, + * group: "example-group", + * }); + * const exampleFleetUpdateRun = new azure.containerservice.FleetUpdateRun("example", { + * name: "example", + * kubernetesFleetManagerId: exampleKubernetesFleetManager.id, + * managedClusterUpdate: { + * upgrade: { + * type: "Full", + * kubernetesVersion: "1.27", + * }, + * nodeImageSelection: { + * type: "Latest", + * }, + * }, + * stages: [{ + * name: "example", + * groups: [{ + * name: "example-group", + * }], + * afterStageWaitInSeconds: 21, + * }], + * }); + * ``` + * + * ## Import + * + * Kubernetes Fleet Update Runs can be imported using the `resource id`, e.g. + * + * ```sh + * $ pulumi import azure:containerservice/fleetUpdateRun:FleetUpdateRun example /subscriptions/12345678-1234-9876-4563-123456789012/resourceGroups/resourceGroup1/providers/Microsoft.ContainerService/fleets/fleet1/updateRuns/updateRun1 + * ``` + */ +export class FleetUpdateRun extends pulumi.CustomResource { + /** + * Get an existing FleetUpdateRun 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?: FleetUpdateRunState, opts?: pulumi.CustomResourceOptions): FleetUpdateRun { + return new FleetUpdateRun(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'azure:containerservice/fleetUpdateRun:FleetUpdateRun'; + + /** + * Returns true if the given object is an instance of FleetUpdateRun. 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 FleetUpdateRun { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === FleetUpdateRun.__pulumiType; + } + + /** + * The ID of the Fleet Update Strategy. Only one of `fleetUpdateStrategyId` or `stage` can be specified. + */ + public readonly fleetUpdateStrategyId!: pulumi.Output; + /** + * The ID of the Fleet Manager. Changing this forces a new Kubernetes Fleet Update Run to be created. + */ + public readonly kubernetesFleetManagerId!: pulumi.Output; + /** + * A `managedClusterUpdate` block as defined below. + */ + public readonly managedClusterUpdate!: pulumi.Output; + /** + * The name which should be used for this Kubernetes Fleet Update Run. Changing this forces a new Kubernetes Fleet Update Run to be created. + */ + public readonly name!: pulumi.Output; + /** + * One or more `stage` blocks as defined below. Only one of `stage` or `fleetUpdateStrategyId` can be specified. + */ + public readonly stages!: pulumi.Output; + + /** + * Create a FleetUpdateRun 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: FleetUpdateRunArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: FleetUpdateRunArgs | FleetUpdateRunState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as FleetUpdateRunState | undefined; + resourceInputs["fleetUpdateStrategyId"] = state ? state.fleetUpdateStrategyId : undefined; + resourceInputs["kubernetesFleetManagerId"] = state ? state.kubernetesFleetManagerId : undefined; + resourceInputs["managedClusterUpdate"] = state ? state.managedClusterUpdate : undefined; + resourceInputs["name"] = state ? state.name : undefined; + resourceInputs["stages"] = state ? state.stages : undefined; + } else { + const args = argsOrState as FleetUpdateRunArgs | undefined; + if ((!args || args.kubernetesFleetManagerId === undefined) && !opts.urn) { + throw new Error("Missing required property 'kubernetesFleetManagerId'"); + } + if ((!args || args.managedClusterUpdate === undefined) && !opts.urn) { + throw new Error("Missing required property 'managedClusterUpdate'"); + } + resourceInputs["fleetUpdateStrategyId"] = args ? args.fleetUpdateStrategyId : undefined; + resourceInputs["kubernetesFleetManagerId"] = args ? args.kubernetesFleetManagerId : undefined; + resourceInputs["managedClusterUpdate"] = args ? args.managedClusterUpdate : undefined; + resourceInputs["name"] = args ? args.name : undefined; + resourceInputs["stages"] = args ? args.stages : undefined; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(FleetUpdateRun.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering FleetUpdateRun resources. + */ +export interface FleetUpdateRunState { + /** + * The ID of the Fleet Update Strategy. Only one of `fleetUpdateStrategyId` or `stage` can be specified. + */ + fleetUpdateStrategyId?: pulumi.Input; + /** + * The ID of the Fleet Manager. Changing this forces a new Kubernetes Fleet Update Run to be created. + */ + kubernetesFleetManagerId?: pulumi.Input; + /** + * A `managedClusterUpdate` block as defined below. + */ + managedClusterUpdate?: pulumi.Input; + /** + * The name which should be used for this Kubernetes Fleet Update Run. Changing this forces a new Kubernetes Fleet Update Run to be created. + */ + name?: pulumi.Input; + /** + * One or more `stage` blocks as defined below. Only one of `stage` or `fleetUpdateStrategyId` can be specified. + */ + stages?: pulumi.Input[]>; +} + +/** + * The set of arguments for constructing a FleetUpdateRun resource. + */ +export interface FleetUpdateRunArgs { + /** + * The ID of the Fleet Update Strategy. Only one of `fleetUpdateStrategyId` or `stage` can be specified. + */ + fleetUpdateStrategyId?: pulumi.Input; + /** + * The ID of the Fleet Manager. Changing this forces a new Kubernetes Fleet Update Run to be created. + */ + kubernetesFleetManagerId: pulumi.Input; + /** + * A `managedClusterUpdate` block as defined below. + */ + managedClusterUpdate: pulumi.Input; + /** + * The name which should be used for this Kubernetes Fleet Update Run. Changing this forces a new Kubernetes Fleet Update Run to be created. + */ + name?: pulumi.Input; + /** + * One or more `stage` blocks as defined below. Only one of `stage` or `fleetUpdateStrategyId` can be specified. + */ + stages?: pulumi.Input[]>; +} diff --git a/sdk/nodejs/containerservice/index.ts b/sdk/nodejs/containerservice/index.ts index 4e2a50199f..477b0d72dc 100644 --- a/sdk/nodejs/containerservice/index.ts +++ b/sdk/nodejs/containerservice/index.ts @@ -20,6 +20,11 @@ export type FleetMember = import("./fleetMember").FleetMember; export const FleetMember: typeof import("./fleetMember").FleetMember = null as any; utilities.lazyLoad(exports, ["FleetMember"], () => require("./fleetMember")); +export { FleetUpdateRunArgs, FleetUpdateRunState } from "./fleetUpdateRun"; +export type FleetUpdateRun = import("./fleetUpdateRun").FleetUpdateRun; +export const FleetUpdateRun: typeof import("./fleetUpdateRun").FleetUpdateRun = null as any; +utilities.lazyLoad(exports, ["FleetUpdateRun"], () => require("./fleetUpdateRun")); + export { FleetUpdateStrategyArgs, FleetUpdateStrategyState } from "./fleetUpdateStrategy"; export type FleetUpdateStrategy = import("./fleetUpdateStrategy").FleetUpdateStrategy; export const FleetUpdateStrategy: typeof import("./fleetUpdateStrategy").FleetUpdateStrategy = null as any; @@ -151,6 +156,8 @@ const _module = { return new ConnectedRegistry(name, undefined, { urn }) case "azure:containerservice/fleetMember:FleetMember": return new FleetMember(name, undefined, { urn }) + case "azure:containerservice/fleetUpdateRun:FleetUpdateRun": + return new FleetUpdateRun(name, undefined, { urn }) case "azure:containerservice/fleetUpdateStrategy:FleetUpdateStrategy": return new FleetUpdateStrategy(name, undefined, { urn }) case "azure:containerservice/fluxConfiguration:FluxConfiguration": @@ -191,6 +198,7 @@ const _module = { pulumi.runtime.registerResourceModule("azure", "containerservice/clusterTrustedAccessRoleBinding", _module) pulumi.runtime.registerResourceModule("azure", "containerservice/connectedRegistry", _module) pulumi.runtime.registerResourceModule("azure", "containerservice/fleetMember", _module) +pulumi.runtime.registerResourceModule("azure", "containerservice/fleetUpdateRun", _module) pulumi.runtime.registerResourceModule("azure", "containerservice/fleetUpdateStrategy", _module) pulumi.runtime.registerResourceModule("azure", "containerservice/fluxConfiguration", _module) pulumi.runtime.registerResourceModule("azure", "containerservice/group", _module) diff --git a/sdk/nodejs/containerservice/kubernetesCluster.ts b/sdk/nodejs/containerservice/kubernetesCluster.ts index ed44e7c4e4..8e3ded0b14 100644 --- a/sdk/nodejs/containerservice/kubernetesCluster.ts +++ b/sdk/nodejs/containerservice/kubernetesCluster.ts @@ -114,6 +114,10 @@ export class KubernetesCluster extends pulumi.CustomResource { * A `confidentialComputing` block as defined below. For more details please [the documentation](https://learn.microsoft.com/en-us/azure/confidential-computing/confidential-nodes-aks-overview) */ public readonly confidentialComputing!: pulumi.Output; + /** + * The current version running on the Azure Kubernetes Managed Cluster. + */ + public /*out*/ readonly currentKubernetesVersion!: pulumi.Output; /** * A list of up to 10 base64 encoded CAs that will be added to the trust store on nodes with the `customCaTrustEnabled` feature enabled. * @@ -446,6 +450,7 @@ export class KubernetesCluster extends pulumi.CustomResource { resourceInputs["azureActiveDirectoryRoleBasedAccessControl"] = state ? state.azureActiveDirectoryRoleBasedAccessControl : undefined; resourceInputs["azurePolicyEnabled"] = state ? state.azurePolicyEnabled : undefined; resourceInputs["confidentialComputing"] = state ? state.confidentialComputing : undefined; + resourceInputs["currentKubernetesVersion"] = state ? state.currentKubernetesVersion : undefined; resourceInputs["customCaTrustCertificatesBase64s"] = state ? state.customCaTrustCertificatesBase64s : undefined; resourceInputs["defaultNodePool"] = state ? state.defaultNodePool : undefined; resourceInputs["diskEncryptionSetId"] = state ? state.diskEncryptionSetId : undefined; @@ -570,6 +575,7 @@ export class KubernetesCluster extends pulumi.CustomResource { resourceInputs["windowsProfile"] = args ? args.windowsProfile : undefined; resourceInputs["workloadAutoscalerProfile"] = args ? args.workloadAutoscalerProfile : undefined; resourceInputs["workloadIdentityEnabled"] = args ? args.workloadIdentityEnabled : undefined; + resourceInputs["currentKubernetesVersion"] = undefined /*out*/; resourceInputs["fqdn"] = undefined /*out*/; resourceInputs["httpApplicationRoutingZoneName"] = undefined /*out*/; resourceInputs["kubeAdminConfigRaw"] = undefined /*out*/; @@ -628,6 +634,10 @@ export interface KubernetesClusterState { * A `confidentialComputing` block as defined below. For more details please [the documentation](https://learn.microsoft.com/en-us/azure/confidential-computing/confidential-nodes-aks-overview) */ confidentialComputing?: pulumi.Input; + /** + * The current version running on the Azure Kubernetes Managed Cluster. + */ + currentKubernetesVersion?: pulumi.Input; /** * A list of up to 10 base64 encoded CAs that will be added to the trust store on nodes with the `customCaTrustEnabled` feature enabled. * diff --git a/sdk/nodejs/containerservice/kubernetesClusterNodePool.ts b/sdk/nodejs/containerservice/kubernetesClusterNodePool.ts index 2e6449964e..9713ce69a6 100644 --- a/sdk/nodejs/containerservice/kubernetesClusterNodePool.ts +++ b/sdk/nodejs/containerservice/kubernetesClusterNodePool.ts @@ -208,7 +208,7 @@ export class KubernetesClusterNodePool extends pulumi.CustomResource { */ public readonly osDiskType!: pulumi.Output; /** - * Specifies the OS SKU used by the agent pool. Possible values are `AzureLinux`, `CBLMariner`, `Mariner`, `Ubuntu`, `Windows2019` and `Windows2022`. If not specified, the default is `Ubuntu` if OSType=Linux or `Windows2019` if OSType=Windows. And the default Windows OSSKU will be changed to `Windows2022` after Windows2019 is deprecated. Changing this forces a new resource to be created. + * Specifies the OS SKU used by the agent pool. Possible values are `AzureLinux`, `Ubuntu`, `Windows2019` and `Windows2022`. If not specified, the default is `Ubuntu` if OSType=Linux or `Windows2019` if OSType=Windows. And the default Windows OSSKU will be changed to `Windows2022` after Windows2019 is deprecated. Changing this forces a new resource to be created. */ public readonly osSku!: pulumi.Output; /** @@ -524,7 +524,7 @@ export interface KubernetesClusterNodePoolState { */ osDiskType?: pulumi.Input; /** - * Specifies the OS SKU used by the agent pool. Possible values are `AzureLinux`, `CBLMariner`, `Mariner`, `Ubuntu`, `Windows2019` and `Windows2022`. If not specified, the default is `Ubuntu` if OSType=Linux or `Windows2019` if OSType=Windows. And the default Windows OSSKU will be changed to `Windows2022` after Windows2019 is deprecated. Changing this forces a new resource to be created. + * Specifies the OS SKU used by the agent pool. Possible values are `AzureLinux`, `Ubuntu`, `Windows2019` and `Windows2022`. If not specified, the default is `Ubuntu` if OSType=Linux or `Windows2019` if OSType=Windows. And the default Windows OSSKU will be changed to `Windows2022` after Windows2019 is deprecated. Changing this forces a new resource to be created. */ osSku?: pulumi.Input; /** @@ -728,7 +728,7 @@ export interface KubernetesClusterNodePoolArgs { */ osDiskType?: pulumi.Input; /** - * Specifies the OS SKU used by the agent pool. Possible values are `AzureLinux`, `CBLMariner`, `Mariner`, `Ubuntu`, `Windows2019` and `Windows2022`. If not specified, the default is `Ubuntu` if OSType=Linux or `Windows2019` if OSType=Windows. And the default Windows OSSKU will be changed to `Windows2022` after Windows2019 is deprecated. Changing this forces a new resource to be created. + * Specifies the OS SKU used by the agent pool. Possible values are `AzureLinux`, `Ubuntu`, `Windows2019` and `Windows2022`. If not specified, the default is `Ubuntu` if OSType=Linux or `Windows2019` if OSType=Windows. And the default Windows OSSKU will be changed to `Windows2022` after Windows2019 is deprecated. Changing this forces a new resource to be created. */ osSku?: pulumi.Input; /** diff --git a/sdk/nodejs/cosmosdb/account.ts b/sdk/nodejs/cosmosdb/account.ts index af7f43a54e..bbea9420b5 100644 --- a/sdk/nodejs/cosmosdb/account.ts +++ b/sdk/nodejs/cosmosdb/account.ts @@ -242,6 +242,10 @@ export class Account extends pulumi.CustomResource { * Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created. */ public readonly location!: pulumi.Output; + /** + * Specifies the minimal TLS version for the CosmosDB account. Possible values are: `Tls`, `Tls11`, and `Tls12`. Defaults to `Tls12`. + */ + public readonly minimalTlsVersion!: pulumi.Output; /** * The Server Version of a MongoDB account. Possible values are `4.2`, `4.0`, `3.6`, and `3.2`. */ @@ -381,6 +385,7 @@ export class Account extends pulumi.CustomResource { resourceInputs["kind"] = state ? state.kind : undefined; resourceInputs["localAuthenticationDisabled"] = state ? state.localAuthenticationDisabled : undefined; resourceInputs["location"] = state ? state.location : undefined; + resourceInputs["minimalTlsVersion"] = state ? state.minimalTlsVersion : undefined; resourceInputs["mongoServerVersion"] = state ? state.mongoServerVersion : undefined; resourceInputs["name"] = state ? state.name : undefined; resourceInputs["networkAclBypassForAzureServices"] = state ? state.networkAclBypassForAzureServices : undefined; @@ -441,6 +446,7 @@ export class Account extends pulumi.CustomResource { resourceInputs["kind"] = args ? args.kind : undefined; resourceInputs["localAuthenticationDisabled"] = args ? args.localAuthenticationDisabled : undefined; resourceInputs["location"] = args ? args.location : undefined; + resourceInputs["minimalTlsVersion"] = args ? args.minimalTlsVersion : undefined; resourceInputs["mongoServerVersion"] = args ? args.mongoServerVersion : undefined; resourceInputs["name"] = args ? args.name : undefined; resourceInputs["networkAclBypassForAzureServices"] = args ? args.networkAclBypassForAzureServices : undefined; @@ -582,6 +588,10 @@ export interface AccountState { * Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created. */ location?: pulumi.Input; + /** + * Specifies the minimal TLS version for the CosmosDB account. Possible values are: `Tls`, `Tls11`, and `Tls12`. Defaults to `Tls12`. + */ + minimalTlsVersion?: pulumi.Input; /** * The Server Version of a MongoDB account. Possible values are `4.2`, `4.0`, `3.6`, and `3.2`. */ @@ -784,6 +794,10 @@ export interface AccountArgs { * Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created. */ location?: pulumi.Input; + /** + * Specifies the minimal TLS version for the CosmosDB account. Possible values are: `Tls`, `Tls11`, and `Tls12`. Defaults to `Tls12`. + */ + minimalTlsVersion?: pulumi.Input; /** * The Server Version of a MongoDB account. Possible values are `4.2`, `4.0`, `3.6`, and `3.2`. */ diff --git a/sdk/nodejs/dataprotection/backupVault.ts b/sdk/nodejs/dataprotection/backupVault.ts index eaaf08e667..8201de6f08 100644 --- a/sdk/nodejs/dataprotection/backupVault.ts +++ b/sdk/nodejs/dataprotection/backupVault.ts @@ -90,6 +90,18 @@ export class BackupVault extends pulumi.CustomResource { * The name of the Resource Group where the Backup Vault should exist. Changing this forces a new Backup Vault to be created. */ public readonly resourceGroupName!: pulumi.Output; + /** + * The soft delete retention duration for this Backup Vault. Possible values are between `14` and `180`. Defaults to `14`. + * + * > **Note:** The `retentionDurationInDays` is the number of days for which deleted data is retained before being permanently deleted. Retention period till 14 days are free of cost, however, retention beyond 14 days may incur additional charges. The `retentionDurationInDays` is required when the `softDelete` is set to `On`. + */ + public readonly retentionDurationInDays!: pulumi.Output; + /** + * The state of soft delete for this Backup Vault. Possible values are `AlwaysOn`, `Off` and `On`. Defaults to `On`. + * + * > **Note:** Once the `softDelete` is set to `AlwaysOn`, the setting cannot be changed. + */ + public readonly softDelete!: pulumi.Output; /** * A mapping of tags which should be assigned to the Backup Vault. */ @@ -114,6 +126,8 @@ export class BackupVault extends pulumi.CustomResource { resourceInputs["name"] = state ? state.name : undefined; resourceInputs["redundancy"] = state ? state.redundancy : undefined; resourceInputs["resourceGroupName"] = state ? state.resourceGroupName : undefined; + resourceInputs["retentionDurationInDays"] = state ? state.retentionDurationInDays : undefined; + resourceInputs["softDelete"] = state ? state.softDelete : undefined; resourceInputs["tags"] = state ? state.tags : undefined; } else { const args = argsOrState as BackupVaultArgs | undefined; @@ -132,6 +146,8 @@ export class BackupVault extends pulumi.CustomResource { resourceInputs["name"] = args ? args.name : undefined; resourceInputs["redundancy"] = args ? args.redundancy : undefined; resourceInputs["resourceGroupName"] = args ? args.resourceGroupName : undefined; + resourceInputs["retentionDurationInDays"] = args ? args.retentionDurationInDays : undefined; + resourceInputs["softDelete"] = args ? args.softDelete : undefined; resourceInputs["tags"] = args ? args.tags : undefined; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); @@ -169,6 +185,18 @@ export interface BackupVaultState { * The name of the Resource Group where the Backup Vault should exist. Changing this forces a new Backup Vault to be created. */ resourceGroupName?: pulumi.Input; + /** + * The soft delete retention duration for this Backup Vault. Possible values are between `14` and `180`. Defaults to `14`. + * + * > **Note:** The `retentionDurationInDays` is the number of days for which deleted data is retained before being permanently deleted. Retention period till 14 days are free of cost, however, retention beyond 14 days may incur additional charges. The `retentionDurationInDays` is required when the `softDelete` is set to `On`. + */ + retentionDurationInDays?: pulumi.Input; + /** + * The state of soft delete for this Backup Vault. Possible values are `AlwaysOn`, `Off` and `On`. Defaults to `On`. + * + * > **Note:** Once the `softDelete` is set to `AlwaysOn`, the setting cannot be changed. + */ + softDelete?: pulumi.Input; /** * A mapping of tags which should be assigned to the Backup Vault. */ @@ -205,6 +233,18 @@ export interface BackupVaultArgs { * The name of the Resource Group where the Backup Vault should exist. Changing this forces a new Backup Vault to be created. */ resourceGroupName: pulumi.Input; + /** + * The soft delete retention duration for this Backup Vault. Possible values are between `14` and `180`. Defaults to `14`. + * + * > **Note:** The `retentionDurationInDays` is the number of days for which deleted data is retained before being permanently deleted. Retention period till 14 days are free of cost, however, retention beyond 14 days may incur additional charges. The `retentionDurationInDays` is required when the `softDelete` is set to `On`. + */ + retentionDurationInDays?: pulumi.Input; + /** + * The state of soft delete for this Backup Vault. Possible values are `AlwaysOn`, `Off` and `On`. Defaults to `On`. + * + * > **Note:** Once the `softDelete` is set to `AlwaysOn`, the setting cannot be changed. + */ + softDelete?: pulumi.Input; /** * A mapping of tags which should be assigned to the Backup Vault. */ diff --git a/sdk/nodejs/devcenter/catalog.ts b/sdk/nodejs/devcenter/catalog.ts new file mode 100644 index 0000000000..35e86c517d --- /dev/null +++ b/sdk/nodejs/devcenter/catalog.ts @@ -0,0 +1,100 @@ +// *** 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"; + +export class Catalog extends pulumi.CustomResource { + /** + * Get an existing Catalog 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?: CatalogState, opts?: pulumi.CustomResourceOptions): Catalog { + return new Catalog(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'azure:devcenter/catalog:Catalog'; + + /** + * Returns true if the given object is an instance of Catalog. 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 Catalog { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === Catalog.__pulumiType; + } + + public readonly catalogAdogit!: pulumi.Output; + public readonly catalogGithub!: pulumi.Output; + public readonly devCenterId!: pulumi.Output; + public readonly name!: pulumi.Output; + public readonly resourceGroupName!: pulumi.Output; + + /** + * Create a Catalog 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: CatalogArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: CatalogArgs | CatalogState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as CatalogState | undefined; + resourceInputs["catalogAdogit"] = state ? state.catalogAdogit : undefined; + resourceInputs["catalogGithub"] = state ? state.catalogGithub : undefined; + resourceInputs["devCenterId"] = state ? state.devCenterId : undefined; + resourceInputs["name"] = state ? state.name : undefined; + resourceInputs["resourceGroupName"] = state ? state.resourceGroupName : undefined; + } else { + const args = argsOrState as CatalogArgs | undefined; + if ((!args || args.devCenterId === undefined) && !opts.urn) { + throw new Error("Missing required property 'devCenterId'"); + } + if ((!args || args.resourceGroupName === undefined) && !opts.urn) { + throw new Error("Missing required property 'resourceGroupName'"); + } + resourceInputs["catalogAdogit"] = args ? args.catalogAdogit : undefined; + resourceInputs["catalogGithub"] = args ? args.catalogGithub : undefined; + resourceInputs["devCenterId"] = args ? args.devCenterId : undefined; + resourceInputs["name"] = args ? args.name : undefined; + resourceInputs["resourceGroupName"] = args ? args.resourceGroupName : undefined; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(Catalog.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering Catalog resources. + */ +export interface CatalogState { + catalogAdogit?: pulumi.Input; + catalogGithub?: pulumi.Input; + devCenterId?: pulumi.Input; + name?: pulumi.Input; + resourceGroupName?: pulumi.Input; +} + +/** + * The set of arguments for constructing a Catalog resource. + */ +export interface CatalogArgs { + catalogAdogit?: pulumi.Input; + catalogGithub?: pulumi.Input; + devCenterId: pulumi.Input; + name?: pulumi.Input; + resourceGroupName: pulumi.Input; +} diff --git a/sdk/nodejs/devcenter/index.ts b/sdk/nodejs/devcenter/index.ts index eaa9798790..b28059f276 100644 --- a/sdk/nodejs/devcenter/index.ts +++ b/sdk/nodejs/devcenter/index.ts @@ -5,6 +5,11 @@ import * as pulumi from "@pulumi/pulumi"; import * as utilities from "../utilities"; // Export members: +export { CatalogArgs, CatalogState } from "./catalog"; +export type Catalog = import("./catalog").Catalog; +export const Catalog: typeof import("./catalog").Catalog = null as any; +utilities.lazyLoad(exports, ["Catalog"], () => require("./catalog")); + export { DevCenterArgs, DevCenterState } from "./devCenter"; export type DevCenter = import("./devCenter").DevCenter; export const DevCenter: typeof import("./devCenter").DevCenter = null as any; @@ -25,6 +30,8 @@ const _module = { version: utilities.getVersion(), construct: (name: string, type: string, urn: string): pulumi.Resource => { switch (type) { + case "azure:devcenter/catalog:Catalog": + return new Catalog(name, undefined, { urn }) case "azure:devcenter/devCenter:DevCenter": return new DevCenter(name, undefined, { urn }) case "azure:devcenter/gallery:Gallery": @@ -36,6 +43,7 @@ const _module = { } }, }; +pulumi.runtime.registerResourceModule("azure", "devcenter/catalog", _module) pulumi.runtime.registerResourceModule("azure", "devcenter/devCenter", _module) pulumi.runtime.registerResourceModule("azure", "devcenter/gallery", _module) pulumi.runtime.registerResourceModule("azure", "devcenter/project", _module) diff --git a/sdk/nodejs/eventhub/getServiceBusNamespace.ts b/sdk/nodejs/eventhub/getServiceBusNamespace.ts index b2930741d5..ed68ebc80f 100644 --- a/sdk/nodejs/eventhub/getServiceBusNamespace.ts +++ b/sdk/nodejs/eventhub/getServiceBusNamespace.ts @@ -84,6 +84,10 @@ export interface GetServiceBusNamespaceResult { */ readonly location: string; readonly name: string; + /** + * The messaging partitions of the ServiceBus Namespace. + */ + readonly premiumMessagingPartitions: number; readonly resourceGroupName: string; /** * The Tier used for the ServiceBus Namespace. diff --git a/sdk/nodejs/eventhub/namespace.ts b/sdk/nodejs/eventhub/namespace.ts index d9c30f1eea..a5d673118e 100644 --- a/sdk/nodejs/eventhub/namespace.ts +++ b/sdk/nodejs/eventhub/namespace.ts @@ -121,6 +121,12 @@ export class Namespace extends pulumi.CustomResource { * An `networkRuleSet` block as defined below. */ public readonly networkRuleSet!: pulumi.Output; + /** + * Specifies the number messaging partitions. Only valid when `sku` is `Premium` and the minimum number is `1`. Possible values include `0`, `1`, `2`, and `4`. Defaults to `0` for Standard, Basic namespace. Changing this forces a new resource to be created. + * + * > **Note:** It's not possible to change the partitioning option on any existing namespace. The number of partitions can only be set during namespace creation. Please check the doc https://learn.microsoft.com/en-us/azure/service-bus-messaging/enable-partitions-premium for more feature restrictions. + */ + public readonly premiumMessagingPartitions!: pulumi.Output; /** * Is public network access enabled for the Service Bus Namespace? Defaults to `true`. */ @@ -172,6 +178,7 @@ export class Namespace extends pulumi.CustomResource { resourceInputs["minimumTlsVersion"] = state ? state.minimumTlsVersion : undefined; resourceInputs["name"] = state ? state.name : undefined; resourceInputs["networkRuleSet"] = state ? state.networkRuleSet : undefined; + resourceInputs["premiumMessagingPartitions"] = state ? state.premiumMessagingPartitions : undefined; resourceInputs["publicNetworkAccessEnabled"] = state ? state.publicNetworkAccessEnabled : undefined; resourceInputs["resourceGroupName"] = state ? state.resourceGroupName : undefined; resourceInputs["sku"] = state ? state.sku : undefined; @@ -193,6 +200,7 @@ export class Namespace extends pulumi.CustomResource { resourceInputs["minimumTlsVersion"] = args ? args.minimumTlsVersion : undefined; resourceInputs["name"] = args ? args.name : undefined; resourceInputs["networkRuleSet"] = args ? args.networkRuleSet : undefined; + resourceInputs["premiumMessagingPartitions"] = args ? args.premiumMessagingPartitions : undefined; resourceInputs["publicNetworkAccessEnabled"] = args ? args.publicNetworkAccessEnabled : undefined; resourceInputs["resourceGroupName"] = args ? args.resourceGroupName : undefined; resourceInputs["sku"] = args ? args.sku : undefined; @@ -267,6 +275,12 @@ export interface NamespaceState { * An `networkRuleSet` block as defined below. */ networkRuleSet?: pulumi.Input; + /** + * Specifies the number messaging partitions. Only valid when `sku` is `Premium` and the minimum number is `1`. Possible values include `0`, `1`, `2`, and `4`. Defaults to `0` for Standard, Basic namespace. Changing this forces a new resource to be created. + * + * > **Note:** It's not possible to change the partitioning option on any existing namespace. The number of partitions can only be set during namespace creation. Please check the doc https://learn.microsoft.com/en-us/azure/service-bus-messaging/enable-partitions-premium for more feature restrictions. + */ + premiumMessagingPartitions?: pulumi.Input; /** * Is public network access enabled for the Service Bus Namespace? Defaults to `true`. */ @@ -326,6 +340,12 @@ export interface NamespaceArgs { * An `networkRuleSet` block as defined below. */ networkRuleSet?: pulumi.Input; + /** + * Specifies the number messaging partitions. Only valid when `sku` is `Premium` and the minimum number is `1`. Possible values include `0`, `1`, `2`, and `4`. Defaults to `0` for Standard, Basic namespace. Changing this forces a new resource to be created. + * + * > **Note:** It's not possible to change the partitioning option on any existing namespace. The number of partitions can only be set during namespace creation. Please check the doc https://learn.microsoft.com/en-us/azure/service-bus-messaging/enable-partitions-premium for more feature restrictions. + */ + premiumMessagingPartitions?: pulumi.Input; /** * Is public network access enabled for the Service Bus Namespace? Defaults to `true`. */ diff --git a/sdk/nodejs/eventhub/topic.ts b/sdk/nodejs/eventhub/topic.ts index 44bb33d888..dd7271a83a 100644 --- a/sdk/nodejs/eventhub/topic.ts +++ b/sdk/nodejs/eventhub/topic.ts @@ -118,9 +118,7 @@ export class Topic extends pulumi.CustomResource { public readonly namespaceId!: pulumi.Output; public /*out*/ readonly namespaceName!: pulumi.Output; /** - * Boolean flag which controls whether Changing this forces a new resource to be created. - * the Topic requires duplicate detection. Defaults to false. Changing this forces - * a new resource to be created. + * Boolean flag which controls whether the Topic requires duplicate detection. Defaults to false. Changing this forcesa new resource to be created. */ public readonly requiresDuplicateDetection!: pulumi.Output; public /*out*/ readonly resourceGroupName!: pulumi.Output; @@ -238,9 +236,7 @@ export interface TopicState { namespaceId?: pulumi.Input; namespaceName?: pulumi.Input; /** - * Boolean flag which controls whether Changing this forces a new resource to be created. - * the Topic requires duplicate detection. Defaults to false. Changing this forces - * a new resource to be created. + * Boolean flag which controls whether the Topic requires duplicate detection. Defaults to false. Changing this forcesa new resource to be created. */ requiresDuplicateDetection?: pulumi.Input; resourceGroupName?: pulumi.Input; @@ -301,9 +297,7 @@ export interface TopicArgs { */ namespaceId: pulumi.Input; /** - * Boolean flag which controls whether Changing this forces a new resource to be created. - * the Topic requires duplicate detection. Defaults to false. Changing this forces - * a new resource to be created. + * Boolean flag which controls whether the Topic requires duplicate detection. Defaults to false. Changing this forcesa new resource to be created. */ requiresDuplicateDetection?: pulumi.Input; /** diff --git a/sdk/nodejs/expressroute/getCircuitPeering.ts b/sdk/nodejs/expressroute/getCircuitPeering.ts new file mode 100644 index 0000000000..6d6f908b42 --- /dev/null +++ b/sdk/nodejs/expressroute/getCircuitPeering.ts @@ -0,0 +1,112 @@ +// *** 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 ExpressRoute Circuit Peering. + * + * ## Example Usage + */ +export function getCircuitPeering(args: GetCircuitPeeringArgs, opts?: pulumi.InvokeOptions): Promise { + + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("azure:expressroute/getCircuitPeering:getCircuitPeering", { + "expressRouteCircuitName": args.expressRouteCircuitName, + "peeringType": args.peeringType, + "resourceGroupName": args.resourceGroupName, + }, opts); +} + +/** + * A collection of arguments for invoking getCircuitPeering. + */ +export interface GetCircuitPeeringArgs { + /** + * The name of the ExpressRoute Circuit in which to create the Peering. Changing this forces a new resource to be created. + */ + expressRouteCircuitName: string; + /** + * The type of the ExpressRoute Circuit Peering. Acceptable values include `AzurePrivatePeering`, `AzurePublicPeering` and `MicrosoftPeering`. + */ + peeringType: string; + /** + * The name of the resource group in which to create the Express Route Circuit Peering. Changing this forces a new resource to be created. + */ + resourceGroupName: string; +} + +/** + * A collection of values returned by getCircuitPeering. + */ +export interface GetCircuitPeeringResult { + /** + * The ASN used by Azure for the peering. + */ + readonly azureAsn: number; + readonly expressRouteCircuitName: string; + readonly gatewayManagerEtag: string; + /** + * The provider-assigned unique ID for this managed resource. + */ + readonly id: string; + /** + * Indicates if IPv4 is enabled. + */ + readonly ipv4Enabled: boolean; + readonly peerAsn: number; + /** + * The type of the ExpressRoute Circuit Peering. + */ + readonly peeringType: string; + /** + * The primary port used by Azure for this peering. + */ + readonly primaryAzurePort: string; + /** + * The primary peer address prefix. + */ + readonly primaryPeerAddressPrefix: string; + readonly resourceGroupName: string; + readonly routeFilterId: string; + /** + * The secondary port used by Azure for this peering. + */ + readonly secondaryAzurePort: string; + /** + * The secondary peer address prefix. + */ + readonly secondaryPeerAddressPrefix: string; + readonly sharedKey: string; + /** + * The VLAN ID used for this peering. + */ + readonly vlanId: number; +} +/** + * Manages an ExpressRoute Circuit Peering. + * + * ## Example Usage + */ +export function getCircuitPeeringOutput(args: GetCircuitPeeringOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { + return pulumi.output(args).apply((a: any) => getCircuitPeering(a, opts)) +} + +/** + * A collection of arguments for invoking getCircuitPeering. + */ +export interface GetCircuitPeeringOutputArgs { + /** + * The name of the ExpressRoute Circuit in which to create the Peering. Changing this forces a new resource to be created. + */ + expressRouteCircuitName: pulumi.Input; + /** + * The type of the ExpressRoute Circuit Peering. Acceptable values include `AzurePrivatePeering`, `AzurePublicPeering` and `MicrosoftPeering`. + */ + peeringType: pulumi.Input; + /** + * The name of the resource group in which to create the Express Route Circuit Peering. Changing this forces a new resource to be created. + */ + resourceGroupName: pulumi.Input; +} diff --git a/sdk/nodejs/expressroute/index.ts b/sdk/nodejs/expressroute/index.ts new file mode 100644 index 0000000000..4f25ed60a7 --- /dev/null +++ b/sdk/nodejs/expressroute/index.ts @@ -0,0 +1,11 @@ +// *** 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 utilities from "../utilities"; + +// Export members: +export { GetCircuitPeeringArgs, GetCircuitPeeringResult, GetCircuitPeeringOutputArgs } from "./getCircuitPeering"; +export const getCircuitPeering: typeof import("./getCircuitPeering").getCircuitPeering = null as any; +export const getCircuitPeeringOutput: typeof import("./getCircuitPeering").getCircuitPeeringOutput = null as any; +utilities.lazyLoad(exports, ["getCircuitPeering","getCircuitPeeringOutput"], () => require("./getCircuitPeering")); + diff --git a/sdk/nodejs/index.ts b/sdk/nodejs/index.ts index d9977a3921..19eea56597 100644 --- a/sdk/nodejs/index.ts +++ b/sdk/nodejs/index.ts @@ -69,6 +69,7 @@ import * as elasticcloud from "./elasticcloud"; import * as elasticsan from "./elasticsan"; import * as eventgrid from "./eventgrid"; import * as eventhub from "./eventhub"; +import * as expressroute from "./expressroute"; import * as fluidrelay from "./fluidrelay"; import * as frontdoor from "./frontdoor"; import * as graph from "./graph"; @@ -140,6 +141,7 @@ import * as stack from "./stack"; import * as storage from "./storage"; import * as streamanalytics from "./streamanalytics"; import * as synapse from "./synapse"; +import * as systemcenter from "./systemcenter"; import * as trafficmanager from "./trafficmanager"; import * as types from "./types"; import * as videoanalyzer from "./videoanalyzer"; @@ -203,6 +205,7 @@ export { elasticsan, eventgrid, eventhub, + expressroute, fluidrelay, frontdoor, graph, @@ -274,6 +277,7 @@ export { storage, streamanalytics, synapse, + systemcenter, trafficmanager, types, videoanalyzer, diff --git a/sdk/nodejs/keyvault/certifiate.ts b/sdk/nodejs/keyvault/certifiate.ts index 01bddb29e1..1a50cf131c 100644 --- a/sdk/nodejs/keyvault/certifiate.ts +++ b/sdk/nodejs/keyvault/certifiate.ts @@ -262,7 +262,7 @@ export class Certifiate extends pulumi.CustomResource { */ public /*out*/ readonly certificateDataBase64!: pulumi.Output; /** - * A `certificatePolicy` block as defined below. Changing this will create a new version of the Key Vault Certificate. + * A `certificatePolicy` block as defined below. Changing this (except the `lifetimeAction` field) will create a new version of the Key Vault Certificate. * * > **NOTE:** When creating a Key Vault Certificate, at least one of `certificate` or `certificatePolicy` is required. Provide `certificate` to import an existing certificate, `certificatePolicy` to generate a new certificate. */ @@ -386,7 +386,7 @@ export interface CertifiateState { */ certificateDataBase64?: pulumi.Input; /** - * A `certificatePolicy` block as defined below. Changing this will create a new version of the Key Vault Certificate. + * A `certificatePolicy` block as defined below. Changing this (except the `lifetimeAction` field) will create a new version of the Key Vault Certificate. * * > **NOTE:** When creating a Key Vault Certificate, at least one of `certificate` or `certificatePolicy` is required. Provide `certificate` to import an existing certificate, `certificatePolicy` to generate a new certificate. */ @@ -442,7 +442,7 @@ export interface CertifiateArgs { */ certificate?: pulumi.Input; /** - * A `certificatePolicy` block as defined below. Changing this will create a new version of the Key Vault Certificate. + * A `certificatePolicy` block as defined below. Changing this (except the `lifetimeAction` field) will create a new version of the Key Vault Certificate. * * > **NOTE:** When creating a Key Vault Certificate, at least one of `certificate` or `certificatePolicy` is required. Provide `certificate` to import an existing certificate, `certificatePolicy` to generate a new certificate. */ diff --git a/sdk/nodejs/keyvault/certificate.ts b/sdk/nodejs/keyvault/certificate.ts index ec08c590cb..346bab1253 100644 --- a/sdk/nodejs/keyvault/certificate.ts +++ b/sdk/nodejs/keyvault/certificate.ts @@ -259,7 +259,7 @@ export class Certificate extends pulumi.CustomResource { */ public /*out*/ readonly certificateDataBase64!: pulumi.Output; /** - * A `certificatePolicy` block as defined below. Changing this will create a new version of the Key Vault Certificate. + * A `certificatePolicy` block as defined below. Changing this (except the `lifetimeAction` field) will create a new version of the Key Vault Certificate. * * > **NOTE:** When creating a Key Vault Certificate, at least one of `certificate` or `certificatePolicy` is required. Provide `certificate` to import an existing certificate, `certificatePolicy` to generate a new certificate. */ @@ -382,7 +382,7 @@ export interface CertificateState { */ certificateDataBase64?: pulumi.Input; /** - * A `certificatePolicy` block as defined below. Changing this will create a new version of the Key Vault Certificate. + * A `certificatePolicy` block as defined below. Changing this (except the `lifetimeAction` field) will create a new version of the Key Vault Certificate. * * > **NOTE:** When creating a Key Vault Certificate, at least one of `certificate` or `certificatePolicy` is required. Provide `certificate` to import an existing certificate, `certificatePolicy` to generate a new certificate. */ @@ -438,7 +438,7 @@ export interface CertificateArgs { */ certificate?: pulumi.Input; /** - * A `certificatePolicy` block as defined below. Changing this will create a new version of the Key Vault Certificate. + * A `certificatePolicy` block as defined below. Changing this (except the `lifetimeAction` field) will create a new version of the Key Vault Certificate. * * > **NOTE:** When creating a Key Vault Certificate, at least one of `certificate` or `certificatePolicy` is required. Provide `certificate` to import an existing certificate, `certificatePolicy` to generate a new certificate. */ diff --git a/sdk/nodejs/keyvault/key.ts b/sdk/nodejs/keyvault/key.ts index f1c9e9c62a..f67097f6ed 100644 --- a/sdk/nodejs/keyvault/key.ts +++ b/sdk/nodejs/keyvault/key.ts @@ -116,7 +116,7 @@ export class Key extends pulumi.CustomResource { */ public /*out*/ readonly e!: pulumi.Output; /** - * Expiration UTC datetime (Y-m-d'T'H:M:S'Z'). + * Expiration UTC datetime (Y-m-d'T'H:M:S'Z'). When this parameter gets changed on reruns, if newer date is ahead of current date, an update is performed. If the newer date is before the current date, resource will be force created. */ public readonly expirationDate!: pulumi.Output; /** @@ -145,6 +145,8 @@ export class Key extends pulumi.CustomResource { public readonly name!: pulumi.Output; /** * Key not usable before the provided UTC datetime (Y-m-d'T'H:M:S'Z'). + * + * > **Note:** Once `expirationDate` is set, it's not possible to unset the key even if it is deleted & recreated as underlying Azure API uses the restore of the purged key. */ public readonly notBeforeDate!: pulumi.Output; /** @@ -271,7 +273,7 @@ export interface KeyState { */ e?: pulumi.Input; /** - * Expiration UTC datetime (Y-m-d'T'H:M:S'Z'). + * Expiration UTC datetime (Y-m-d'T'H:M:S'Z'). When this parameter gets changed on reruns, if newer date is ahead of current date, an update is performed. If the newer date is before the current date, resource will be force created. */ expirationDate?: pulumi.Input; /** @@ -300,6 +302,8 @@ export interface KeyState { name?: pulumi.Input; /** * Key not usable before the provided UTC datetime (Y-m-d'T'H:M:S'Z'). + * + * > **Note:** Once `expirationDate` is set, it's not possible to unset the key even if it is deleted & recreated as underlying Azure API uses the restore of the purged key. */ notBeforeDate?: pulumi.Input; /** @@ -353,7 +357,7 @@ export interface KeyArgs { */ curve?: pulumi.Input; /** - * Expiration UTC datetime (Y-m-d'T'H:M:S'Z'). + * Expiration UTC datetime (Y-m-d'T'H:M:S'Z'). When this parameter gets changed on reruns, if newer date is ahead of current date, an update is performed. If the newer date is before the current date, resource will be force created. */ expirationDate?: pulumi.Input; /** @@ -378,6 +382,8 @@ export interface KeyArgs { name?: pulumi.Input; /** * Key not usable before the provided UTC datetime (Y-m-d'T'H:M:S'Z'). + * + * > **Note:** Once `expirationDate` is set, it's not possible to unset the key even if it is deleted & recreated as underlying Azure API uses the restore of the purged key. */ notBeforeDate?: pulumi.Input; /** diff --git a/sdk/nodejs/machinelearning/workspace.ts b/sdk/nodejs/machinelearning/workspace.ts index e184c059b7..1c31713eec 100644 --- a/sdk/nodejs/machinelearning/workspace.ts +++ b/sdk/nodejs/machinelearning/workspace.ts @@ -358,6 +358,10 @@ export class Workspace extends pulumi.CustomResource { * Specifies the supported Azure location where the Machine Learning Workspace should exist. Changing this forces a new resource to be created. */ public readonly location!: pulumi.Output; + /** + * A `managedNetwork` block as defined below. + */ + public readonly managedNetwork!: pulumi.Output; /** * Specifies the name of the Machine Learning Workspace. Changing this forces a new resource to be created. */ @@ -383,7 +387,7 @@ export class Workspace extends pulumi.CustomResource { */ public readonly resourceGroupName!: pulumi.Output; /** - * SKU/edition of the Machine Learning Workspace, possible values are `Basic`. Defaults to `Basic`. + * SKU/edition of the Machine Learning Workspace, possible values are `Free`, `Basic`, `Standard` and `Premium`. Defaults to `Basic`. */ public readonly skuName!: pulumi.Output; /** @@ -431,6 +435,7 @@ export class Workspace extends pulumi.CustomResource { resourceInputs["keyVaultId"] = state ? state.keyVaultId : undefined; resourceInputs["kind"] = state ? state.kind : undefined; resourceInputs["location"] = state ? state.location : undefined; + resourceInputs["managedNetwork"] = state ? state.managedNetwork : undefined; resourceInputs["name"] = state ? state.name : undefined; resourceInputs["primaryUserAssignedIdentity"] = state ? state.primaryUserAssignedIdentity : undefined; resourceInputs["publicAccessBehindVirtualNetworkEnabled"] = state ? state.publicAccessBehindVirtualNetworkEnabled : undefined; @@ -470,6 +475,7 @@ export class Workspace extends pulumi.CustomResource { resourceInputs["keyVaultId"] = args ? args.keyVaultId : undefined; resourceInputs["kind"] = args ? args.kind : undefined; resourceInputs["location"] = args ? args.location : undefined; + resourceInputs["managedNetwork"] = args ? args.managedNetwork : undefined; resourceInputs["name"] = args ? args.name : undefined; resourceInputs["primaryUserAssignedIdentity"] = args ? args.primaryUserAssignedIdentity : undefined; resourceInputs["publicAccessBehindVirtualNetworkEnabled"] = args ? args.publicAccessBehindVirtualNetworkEnabled : undefined; @@ -545,6 +551,10 @@ export interface WorkspaceState { * Specifies the supported Azure location where the Machine Learning Workspace should exist. Changing this forces a new resource to be created. */ location?: pulumi.Input; + /** + * A `managedNetwork` block as defined below. + */ + managedNetwork?: pulumi.Input; /** * Specifies the name of the Machine Learning Workspace. Changing this forces a new resource to be created. */ @@ -570,7 +580,7 @@ export interface WorkspaceState { */ resourceGroupName?: pulumi.Input; /** - * SKU/edition of the Machine Learning Workspace, possible values are `Basic`. Defaults to `Basic`. + * SKU/edition of the Machine Learning Workspace, possible values are `Free`, `Basic`, `Standard` and `Premium`. Defaults to `Basic`. */ skuName?: pulumi.Input; /** @@ -647,6 +657,10 @@ export interface WorkspaceArgs { * Specifies the supported Azure location where the Machine Learning Workspace should exist. Changing this forces a new resource to be created. */ location?: pulumi.Input; + /** + * A `managedNetwork` block as defined below. + */ + managedNetwork?: pulumi.Input; /** * Specifies the name of the Machine Learning Workspace. Changing this forces a new resource to be created. */ @@ -672,7 +686,7 @@ export interface WorkspaceArgs { */ resourceGroupName: pulumi.Input; /** - * SKU/edition of the Machine Learning Workspace, possible values are `Basic`. Defaults to `Basic`. + * SKU/edition of the Machine Learning Workspace, possible values are `Free`, `Basic`, `Standard` and `Premium`. Defaults to `Basic`. */ skuName?: pulumi.Input; /** diff --git a/sdk/nodejs/mssql/database.ts b/sdk/nodejs/mssql/database.ts index eee1856433..385c1fecc5 100644 --- a/sdk/nodejs/mssql/database.ts +++ b/sdk/nodejs/mssql/database.ts @@ -267,10 +267,18 @@ export class Database extends pulumi.CustomResource { * The ID of the database to be recovered. This property is only applicable when the `createMode` is `Recovery`. */ public readonly recoverDatabaseId!: pulumi.Output; + /** + * The ID of the Recovery Services Recovery Point Id to be restored. This property is only applicable when the `createMode` is `Recovery`. + */ + public readonly recoveryPointId!: pulumi.Output; /** * The ID of the database to be restored. This property is only applicable when the `createMode` is `Restore`. */ public readonly restoreDroppedDatabaseId!: pulumi.Output; + /** + * The ID of the long term retention backup to be restored. This property is only applicable when the `createMode` is `RestoreLongTermRetentionBackup`. + */ + public readonly restoreLongTermRetentionBackupId!: pulumi.Output; /** * Specifies the point in time (ISO8601 format) of the source database that will be restored to create the new database. This property is only settable for `createMode`= `PointInTimeRestore` databases. */ @@ -360,7 +368,9 @@ export class Database extends pulumi.CustomResource { resourceInputs["readReplicaCount"] = state ? state.readReplicaCount : undefined; resourceInputs["readScale"] = state ? state.readScale : undefined; resourceInputs["recoverDatabaseId"] = state ? state.recoverDatabaseId : undefined; + resourceInputs["recoveryPointId"] = state ? state.recoveryPointId : undefined; resourceInputs["restoreDroppedDatabaseId"] = state ? state.restoreDroppedDatabaseId : undefined; + resourceInputs["restoreLongTermRetentionBackupId"] = state ? state.restoreLongTermRetentionBackupId : undefined; resourceInputs["restorePointInTime"] = state ? state.restorePointInTime : undefined; resourceInputs["sampleName"] = state ? state.sampleName : undefined; resourceInputs["serverId"] = state ? state.serverId : undefined; @@ -397,7 +407,9 @@ export class Database extends pulumi.CustomResource { resourceInputs["readReplicaCount"] = args ? args.readReplicaCount : undefined; resourceInputs["readScale"] = args ? args.readScale : undefined; resourceInputs["recoverDatabaseId"] = args ? args.recoverDatabaseId : undefined; + resourceInputs["recoveryPointId"] = args ? args.recoveryPointId : undefined; resourceInputs["restoreDroppedDatabaseId"] = args ? args.restoreDroppedDatabaseId : undefined; + resourceInputs["restoreLongTermRetentionBackupId"] = args ? args.restoreLongTermRetentionBackupId : undefined; resourceInputs["restorePointInTime"] = args ? args.restorePointInTime : undefined; resourceInputs["sampleName"] = args ? args.sampleName : undefined; resourceInputs["serverId"] = args ? args.serverId : undefined; @@ -508,10 +520,18 @@ export interface DatabaseState { * The ID of the database to be recovered. This property is only applicable when the `createMode` is `Recovery`. */ recoverDatabaseId?: pulumi.Input; + /** + * The ID of the Recovery Services Recovery Point Id to be restored. This property is only applicable when the `createMode` is `Recovery`. + */ + recoveryPointId?: pulumi.Input; /** * The ID of the database to be restored. This property is only applicable when the `createMode` is `Restore`. */ restoreDroppedDatabaseId?: pulumi.Input; + /** + * The ID of the long term retention backup to be restored. This property is only applicable when the `createMode` is `RestoreLongTermRetentionBackup`. + */ + restoreLongTermRetentionBackupId?: pulumi.Input; /** * Specifies the point in time (ISO8601 format) of the source database that will be restored to create the new database. This property is only settable for `createMode`= `PointInTimeRestore` databases. */ @@ -662,10 +682,18 @@ export interface DatabaseArgs { * The ID of the database to be recovered. This property is only applicable when the `createMode` is `Recovery`. */ recoverDatabaseId?: pulumi.Input; + /** + * The ID of the Recovery Services Recovery Point Id to be restored. This property is only applicable when the `createMode` is `Recovery`. + */ + recoveryPointId?: pulumi.Input; /** * The ID of the database to be restored. This property is only applicable when the `createMode` is `Restore`. */ restoreDroppedDatabaseId?: pulumi.Input; + /** + * The ID of the long term retention backup to be restored. This property is only applicable when the `createMode` is `RestoreLongTermRetentionBackup`. + */ + restoreLongTermRetentionBackupId?: pulumi.Input; /** * Specifies the point in time (ISO8601 format) of the source database that will be restored to create the new database. This property is only settable for `createMode`= `PointInTimeRestore` databases. */ diff --git a/sdk/nodejs/mssql/managedInstance.ts b/sdk/nodejs/mssql/managedInstance.ts index f62c071f78..80f0b714d5 100644 --- a/sdk/nodejs/mssql/managedInstance.ts +++ b/sdk/nodejs/mssql/managedInstance.ts @@ -315,6 +315,7 @@ export class ManagedInstance extends pulumi.CustomResource { * Number of cores that should be assigned to the SQL Managed Instance. Values can be `8`, `16`, or `24` for Gen4 SKUs, or `4`, `6`, `8`, `10`, `12`, `16`, `20`, `24`, `32`, `40`, `48`, `56`, `64`, `80`, `96` or `128` for Gen5 SKUs. */ public readonly vcores!: pulumi.Output; + public readonly zoneRedundantEnabled!: pulumi.Output; /** * Create a ManagedInstance resource with the given unique name, arguments, and options. @@ -351,6 +352,7 @@ export class ManagedInstance extends pulumi.CustomResource { resourceInputs["tags"] = state ? state.tags : undefined; resourceInputs["timezoneId"] = state ? state.timezoneId : undefined; resourceInputs["vcores"] = state ? state.vcores : undefined; + resourceInputs["zoneRedundantEnabled"] = state ? state.zoneRedundantEnabled : undefined; } else { const args = argsOrState as ManagedInstanceArgs | undefined; if ((!args || args.administratorLogin === undefined) && !opts.urn) { @@ -397,6 +399,7 @@ export class ManagedInstance extends pulumi.CustomResource { resourceInputs["tags"] = args ? args.tags : undefined; resourceInputs["timezoneId"] = args ? args.timezoneId : undefined; resourceInputs["vcores"] = args ? args.vcores : undefined; + resourceInputs["zoneRedundantEnabled"] = args ? args.zoneRedundantEnabled : undefined; resourceInputs["dnsZone"] = undefined /*out*/; resourceInputs["fqdn"] = undefined /*out*/; } @@ -499,6 +502,7 @@ export interface ManagedInstanceState { * Number of cores that should be assigned to the SQL Managed Instance. Values can be `8`, `16`, or `24` for Gen4 SKUs, or `4`, `6`, `8`, `10`, `12`, `16`, `20`, `24`, `32`, `40`, `48`, `56`, `64`, `80`, `96` or `128` for Gen5 SKUs. */ vcores?: pulumi.Input; + zoneRedundantEnabled?: pulumi.Input; } /** @@ -585,4 +589,5 @@ export interface ManagedInstanceArgs { * Number of cores that should be assigned to the SQL Managed Instance. Values can be `8`, `16`, or `24` for Gen4 SKUs, or `4`, `6`, `8`, `10`, `12`, `16`, `20`, `24`, `32`, `40`, `48`, `56`, `64`, `80`, `96` or `128` for Gen5 SKUs. */ vcores: pulumi.Input; + zoneRedundantEnabled?: pulumi.Input; } diff --git a/sdk/nodejs/mssql/serverVulnerabilityAssessment.ts b/sdk/nodejs/mssql/serverVulnerabilityAssessment.ts index dce84667ce..a2520a3143 100644 --- a/sdk/nodejs/mssql/serverVulnerabilityAssessment.ts +++ b/sdk/nodejs/mssql/serverVulnerabilityAssessment.ts @@ -21,7 +21,7 @@ import * as utilities from "../utilities"; * name: "example-resources", * location: "West Europe", * }); - * const exampleSqlServer = new azure.sql.SqlServer("example", { + * const exampleServer = new azure.mssql.Server("example", { * name: "mysqlserver", * resourceGroupName: example.name, * location: example.location, @@ -43,7 +43,7 @@ import * as utilities from "../utilities"; * }); * const exampleServerSecurityAlertPolicy = new azure.mssql.ServerSecurityAlertPolicy("example", { * resourceGroupName: example.name, - * serverName: exampleSqlServer.name, + * serverName: exampleServer.name, * state: "Enabled", * }); * const exampleServerVulnerabilityAssessment = new azure.mssql.ServerVulnerabilityAssessment("example", { diff --git a/sdk/nodejs/netapp/getPool.ts b/sdk/nodejs/netapp/getPool.ts index 56ff6188f4..2aa638750a 100644 --- a/sdk/nodejs/netapp/getPool.ts +++ b/sdk/nodejs/netapp/getPool.ts @@ -54,6 +54,10 @@ export interface GetPoolArgs { */ export interface GetPoolResult { readonly accountName: string; + /** + * The encryption type of the pool. + */ + readonly encryptionType: string; /** * The provider-assigned unique ID for this managed resource. */ diff --git a/sdk/nodejs/netapp/getVolume.ts b/sdk/nodejs/netapp/getVolume.ts index 5bdf352c49..6d1a778b15 100644 --- a/sdk/nodejs/netapp/getVolume.ts +++ b/sdk/nodejs/netapp/getVolume.ts @@ -104,6 +104,15 @@ export interface GetVolumeResult { * The service level of the file system. */ readonly serviceLevel: string; + /** + * Limits enumeration of files and folders (that is, listing the contents) in SMB only to users with allowed access on the share. + * --- + */ + readonly smbAccessBasedEnumerationEnabled: boolean; + /** + * Limits clients from browsing for an SMB share. + */ + readonly smbNonBrowsableEnabled: boolean; /** * The maximum Storage Quota in Gigabytes allowed for a file system. */ diff --git a/sdk/nodejs/netapp/pool.ts b/sdk/nodejs/netapp/pool.ts index f6a9524a1c..e34236efcc 100644 --- a/sdk/nodejs/netapp/pool.ts +++ b/sdk/nodejs/netapp/pool.ts @@ -72,6 +72,10 @@ export class Pool extends pulumi.CustomResource { * The name of the NetApp account in which the NetApp Pool should be created. Changing this forces a new resource to be created. */ public readonly accountName!: pulumi.Output; + /** + * The encryption type of the pool. Valid values include `Single`, and `Double`. Defaults to `Single`. Changing this forces a new resource to be created. + */ + public readonly encryptionType!: pulumi.Output; /** * Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created. */ @@ -89,7 +93,7 @@ export class Pool extends pulumi.CustomResource { */ public readonly resourceGroupName!: pulumi.Output; /** - * The service level of the file system. Valid values include `Premium`, `Standard`, or `Ultra`. Changing this forces a new resource to be created. + * The service level of the file system. Valid values include `Premium`, `Standard`, and `Ultra`. Changing this forces a new resource to be created. */ public readonly serviceLevel!: pulumi.Output; /** @@ -117,6 +121,7 @@ export class Pool extends pulumi.CustomResource { if (opts.id) { const state = argsOrState as PoolState | undefined; resourceInputs["accountName"] = state ? state.accountName : undefined; + resourceInputs["encryptionType"] = state ? state.encryptionType : undefined; resourceInputs["location"] = state ? state.location : undefined; resourceInputs["name"] = state ? state.name : undefined; resourceInputs["qosType"] = state ? state.qosType : undefined; @@ -139,6 +144,7 @@ export class Pool extends pulumi.CustomResource { throw new Error("Missing required property 'sizeInTb'"); } resourceInputs["accountName"] = args ? args.accountName : undefined; + resourceInputs["encryptionType"] = args ? args.encryptionType : undefined; resourceInputs["location"] = args ? args.location : undefined; resourceInputs["name"] = args ? args.name : undefined; resourceInputs["qosType"] = args ? args.qosType : undefined; @@ -160,6 +166,10 @@ export interface PoolState { * The name of the NetApp account in which the NetApp Pool should be created. Changing this forces a new resource to be created. */ accountName?: pulumi.Input; + /** + * The encryption type of the pool. Valid values include `Single`, and `Double`. Defaults to `Single`. Changing this forces a new resource to be created. + */ + encryptionType?: pulumi.Input; /** * Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created. */ @@ -177,7 +187,7 @@ export interface PoolState { */ resourceGroupName?: pulumi.Input; /** - * The service level of the file system. Valid values include `Premium`, `Standard`, or `Ultra`. Changing this forces a new resource to be created. + * The service level of the file system. Valid values include `Premium`, `Standard`, and `Ultra`. Changing this forces a new resource to be created. */ serviceLevel?: pulumi.Input; /** @@ -200,6 +210,10 @@ export interface PoolArgs { * The name of the NetApp account in which the NetApp Pool should be created. Changing this forces a new resource to be created. */ accountName: pulumi.Input; + /** + * The encryption type of the pool. Valid values include `Single`, and `Double`. Defaults to `Single`. Changing this forces a new resource to be created. + */ + encryptionType?: pulumi.Input; /** * Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created. */ @@ -217,7 +231,7 @@ export interface PoolArgs { */ resourceGroupName: pulumi.Input; /** - * The service level of the file system. Valid values include `Premium`, `Standard`, or `Ultra`. Changing this forces a new resource to be created. + * The service level of the file system. Valid values include `Premium`, `Standard`, and `Ultra`. Changing this forces a new resource to be created. */ serviceLevel: pulumi.Input; /** diff --git a/sdk/nodejs/netapp/volume.ts b/sdk/nodejs/netapp/volume.ts index 7de55b612e..5a48b7518f 100644 --- a/sdk/nodejs/netapp/volume.ts +++ b/sdk/nodejs/netapp/volume.ts @@ -111,6 +111,14 @@ export class Volume extends pulumi.CustomResource { * The target performance of the file system. Valid values include `Premium`, `Standard`, or `Ultra`. Changing this forces a new resource to be created. */ public readonly serviceLevel!: pulumi.Output; + /** + * Limits enumeration of files and folders (that is, listing the contents) in SMB only to users with allowed access on the share. For instance, if a user doesn't have access to read a file or folder in a share with access-based enumeration enabled, then the file or folder doesn't show up in directory listings. Defaults to `false`. For more information, please refer to [Understand NAS share permissions in Azure NetApp Files](https://learn.microsoft.com/en-us/azure/azure-netapp-files/network-attached-storage-permissions#:~:text=security%20for%20administrators.-,Access%2Dbased%20enumeration,in%20an%20Azure%20NetApp%20Files%20SMB%20volume.%20Only%20contosoadmin%20has%20access.,-In%20the%20below) + */ + public readonly smbAccessBasedEnumerationEnabled!: pulumi.Output; + /** + * Limits clients from browsing for an SMB share by hiding the share from view in Windows Explorer or when listing shares in "net view." Only end users that know the absolute paths to the share are able to find the share. Defaults to `false`. For more information, please refer to [Understand NAS share permissions in Azure NetApp Files](https://learn.microsoft.com/en-us/azure/azure-netapp-files/network-attached-storage-permissions#:~:text=Non%2Dbrowsable%20shares,find%20the%20share.) + */ + public readonly smbNonBrowsableEnabled!: pulumi.Output; /** * Specifies whether the .snapshot (NFS clients) or ~snapshot (SMB clients) path of a volume is visible, default value is true. */ @@ -172,6 +180,8 @@ export class Volume extends pulumi.CustomResource { resourceInputs["resourceGroupName"] = state ? state.resourceGroupName : undefined; resourceInputs["securityStyle"] = state ? state.securityStyle : undefined; resourceInputs["serviceLevel"] = state ? state.serviceLevel : undefined; + resourceInputs["smbAccessBasedEnumerationEnabled"] = state ? state.smbAccessBasedEnumerationEnabled : undefined; + resourceInputs["smbNonBrowsableEnabled"] = state ? state.smbNonBrowsableEnabled : undefined; resourceInputs["snapshotDirectoryVisible"] = state ? state.snapshotDirectoryVisible : undefined; resourceInputs["storageQuotaInGb"] = state ? state.storageQuotaInGb : undefined; resourceInputs["subnetId"] = state ? state.subnetId : undefined; @@ -218,6 +228,8 @@ export class Volume extends pulumi.CustomResource { resourceInputs["resourceGroupName"] = args ? args.resourceGroupName : undefined; resourceInputs["securityStyle"] = args ? args.securityStyle : undefined; resourceInputs["serviceLevel"] = args ? args.serviceLevel : undefined; + resourceInputs["smbAccessBasedEnumerationEnabled"] = args ? args.smbAccessBasedEnumerationEnabled : undefined; + resourceInputs["smbNonBrowsableEnabled"] = args ? args.smbNonBrowsableEnabled : undefined; resourceInputs["snapshotDirectoryVisible"] = args ? args.snapshotDirectoryVisible : undefined; resourceInputs["storageQuotaInGb"] = args ? args.storageQuotaInGb : undefined; resourceInputs["subnetId"] = args ? args.subnetId : undefined; @@ -304,6 +316,14 @@ export interface VolumeState { * The target performance of the file system. Valid values include `Premium`, `Standard`, or `Ultra`. Changing this forces a new resource to be created. */ serviceLevel?: pulumi.Input; + /** + * Limits enumeration of files and folders (that is, listing the contents) in SMB only to users with allowed access on the share. For instance, if a user doesn't have access to read a file or folder in a share with access-based enumeration enabled, then the file or folder doesn't show up in directory listings. Defaults to `false`. For more information, please refer to [Understand NAS share permissions in Azure NetApp Files](https://learn.microsoft.com/en-us/azure/azure-netapp-files/network-attached-storage-permissions#:~:text=security%20for%20administrators.-,Access%2Dbased%20enumeration,in%20an%20Azure%20NetApp%20Files%20SMB%20volume.%20Only%20contosoadmin%20has%20access.,-In%20the%20below) + */ + smbAccessBasedEnumerationEnabled?: pulumi.Input; + /** + * Limits clients from browsing for an SMB share by hiding the share from view in Windows Explorer or when listing shares in "net view." Only end users that know the absolute paths to the share are able to find the share. Defaults to `false`. For more information, please refer to [Understand NAS share permissions in Azure NetApp Files](https://learn.microsoft.com/en-us/azure/azure-netapp-files/network-attached-storage-permissions#:~:text=Non%2Dbrowsable%20shares,find%20the%20share.) + */ + smbNonBrowsableEnabled?: pulumi.Input; /** * Specifies whether the .snapshot (NFS clients) or ~snapshot (SMB clients) path of a volume is visible, default value is true. */ @@ -404,6 +424,14 @@ export interface VolumeArgs { * The target performance of the file system. Valid values include `Premium`, `Standard`, or `Ultra`. Changing this forces a new resource to be created. */ serviceLevel: pulumi.Input; + /** + * Limits enumeration of files and folders (that is, listing the contents) in SMB only to users with allowed access on the share. For instance, if a user doesn't have access to read a file or folder in a share with access-based enumeration enabled, then the file or folder doesn't show up in directory listings. Defaults to `false`. For more information, please refer to [Understand NAS share permissions in Azure NetApp Files](https://learn.microsoft.com/en-us/azure/azure-netapp-files/network-attached-storage-permissions#:~:text=security%20for%20administrators.-,Access%2Dbased%20enumeration,in%20an%20Azure%20NetApp%20Files%20SMB%20volume.%20Only%20contosoadmin%20has%20access.,-In%20the%20below) + */ + smbAccessBasedEnumerationEnabled?: pulumi.Input; + /** + * Limits clients from browsing for an SMB share by hiding the share from view in Windows Explorer or when listing shares in "net view." Only end users that know the absolute paths to the share are able to find the share. Defaults to `false`. For more information, please refer to [Understand NAS share permissions in Azure NetApp Files](https://learn.microsoft.com/en-us/azure/azure-netapp-files/network-attached-storage-permissions#:~:text=Non%2Dbrowsable%20shares,find%20the%20share.) + */ + smbNonBrowsableEnabled?: pulumi.Input; /** * Specifies whether the .snapshot (NFS clients) or ~snapshot (SMB clients) path of a volume is visible, default value is true. */ diff --git a/sdk/nodejs/nginx/deployment.ts b/sdk/nodejs/nginx/deployment.ts index 2dfde34912..e04703f36b 100644 --- a/sdk/nodejs/nginx/deployment.ts +++ b/sdk/nodejs/nginx/deployment.ts @@ -55,6 +55,7 @@ import * as utilities from "../utilities"; * location: example.location, * managedResourceGroup: "example", * diagnoseSupportEnabled: true, + * automaticUpgradeChannel: "stable", * frontendPublic: { * ipAddresses: [examplePublicIp.id], * }, @@ -102,6 +103,10 @@ export class Deployment extends pulumi.CustomResource { return obj['__pulumiType'] === Deployment.__pulumiType; } + /** + * Specify the automatic upgrade channel for the NGINX deployment. Defaults to `stable`. The possible values are `stable` and `preview`. + */ + public readonly automaticUpgradeChannel!: pulumi.Output; /** * Specify the number of NGINX capacity units for this NGINX deployment. Defaults to `20`. * @@ -161,7 +166,7 @@ export class Deployment extends pulumi.CustomResource { */ public readonly resourceGroupName!: pulumi.Output; /** - * Specify the Name of Nginx deployment SKU. The possible value are `publicpreview_Monthly_gmz7xq9ge3py` and `standard_Monthly`. + * Specify the Name of Nginx deployment SKU. The possible value are `publicpreview_Monthly_gmz7xq9ge3py` and `standard_Monthly`. Changing this forces a new Nginx Deployment to be created. */ public readonly sku!: pulumi.Output; /** @@ -182,6 +187,7 @@ export class Deployment extends pulumi.CustomResource { opts = opts || {}; if (opts.id) { const state = argsOrState as DeploymentState | undefined; + resourceInputs["automaticUpgradeChannel"] = state ? state.automaticUpgradeChannel : undefined; resourceInputs["capacity"] = state ? state.capacity : undefined; resourceInputs["diagnoseSupportEnabled"] = state ? state.diagnoseSupportEnabled : undefined; resourceInputs["email"] = state ? state.email : undefined; @@ -206,6 +212,7 @@ export class Deployment extends pulumi.CustomResource { if ((!args || args.sku === undefined) && !opts.urn) { throw new Error("Missing required property 'sku'"); } + resourceInputs["automaticUpgradeChannel"] = args ? args.automaticUpgradeChannel : undefined; resourceInputs["capacity"] = args ? args.capacity : undefined; resourceInputs["diagnoseSupportEnabled"] = args ? args.diagnoseSupportEnabled : undefined; resourceInputs["email"] = args ? args.email : undefined; @@ -232,6 +239,10 @@ export class Deployment extends pulumi.CustomResource { * Input properties used for looking up and filtering Deployment resources. */ export interface DeploymentState { + /** + * Specify the automatic upgrade channel for the NGINX deployment. Defaults to `stable`. The possible values are `stable` and `preview`. + */ + automaticUpgradeChannel?: pulumi.Input; /** * Specify the number of NGINX capacity units for this NGINX deployment. Defaults to `20`. * @@ -291,7 +302,7 @@ export interface DeploymentState { */ resourceGroupName?: pulumi.Input; /** - * Specify the Name of Nginx deployment SKU. The possible value are `publicpreview_Monthly_gmz7xq9ge3py` and `standard_Monthly`. + * Specify the Name of Nginx deployment SKU. The possible value are `publicpreview_Monthly_gmz7xq9ge3py` and `standard_Monthly`. Changing this forces a new Nginx Deployment to be created. */ sku?: pulumi.Input; /** @@ -304,6 +315,10 @@ export interface DeploymentState { * The set of arguments for constructing a Deployment resource. */ export interface DeploymentArgs { + /** + * Specify the automatic upgrade channel for the NGINX deployment. Defaults to `stable`. The possible values are `stable` and `preview`. + */ + automaticUpgradeChannel?: pulumi.Input; /** * Specify the number of NGINX capacity units for this NGINX deployment. Defaults to `20`. * @@ -355,7 +370,7 @@ export interface DeploymentArgs { */ resourceGroupName: pulumi.Input; /** - * Specify the Name of Nginx deployment SKU. The possible value are `publicpreview_Monthly_gmz7xq9ge3py` and `standard_Monthly`. + * Specify the Name of Nginx deployment SKU. The possible value are `publicpreview_Monthly_gmz7xq9ge3py` and `standard_Monthly`. Changing this forces a new Nginx Deployment to be created. */ sku: pulumi.Input; /** diff --git a/sdk/nodejs/nginx/getDeployment.ts b/sdk/nodejs/nginx/getDeployment.ts index 9f9719eda1..ba7e41b4d0 100644 --- a/sdk/nodejs/nginx/getDeployment.ts +++ b/sdk/nodejs/nginx/getDeployment.ts @@ -49,6 +49,10 @@ export interface GetDeploymentArgs { * A collection of values returned by getDeployment. */ export interface GetDeploymentResult { + /** + * The automatic upgrade channel for this NGINX deployment. + */ + readonly automaticUpgradeChannel: string; /** * The number of NGINX capacity units for this Nginx Deployment. */ diff --git a/sdk/nodejs/postgresql/flexibleServer.ts b/sdk/nodejs/postgresql/flexibleServer.ts index d788e76293..834b57f721 100644 --- a/sdk/nodejs/postgresql/flexibleServer.ts +++ b/sdk/nodejs/postgresql/flexibleServer.ts @@ -60,9 +60,30 @@ import * as utilities from "../utilities"; * administratorPassword: "H@Sh1CoR3!", * zone: "1", * storageMb: 32768, + * storageTier: "P30", * skuName: "GP_Standard_D4s_v3", * }); * ``` + * ## `storageTier` defaults based on `storageMb` + * + * | `storageMb` | GiB | TiB | Default | Supported `storageTier`'s | Provisioned `IOPS` | + * |:------------:|:-----:|:---:|:-------:|:------------------------------------:|:-------------------:| + * | 32768 | 32 | - | P4 | P4, P6, P10, P15, P20, P30, P40, P50 | 120 | + * | 65536 | 64 | - | P6 | P6, P10, P15, P20, P30, P40, P50 | 240 | + * | 131072 | 128 | - | P10 | P10, P15, P20, P30, P40, P50 | 500 | + * | 262144 | 256 | - | P15 | P15, P20, P30, P40, P50 | 1,100 | + * | 524288 | 512 | - | P20 | P20, P30, P40, P50 | 2,300 | + * | 1048576 | 1024 | 1 | P30 | P30, P40, P50 | 5,000 | + * | 2097152 | 2048 | 2 | P40 | P40, P50 | 7,500 | + * | 4193280 | 4095 | 4 | P50 | P50 | 7,500 | + * | 4194304 | 4096 | 4 | P50 | P50 | 7,500 | + * | 8388608 | 8192 | 8 | P60 | P60, P70 | 16,000 | + * | 16777216 | 16384 | 16 | P70 | P70, P80 | 18,000 | + * | 33553408 | 32767 | 32 | P80 | P80 | 20,000 | + * + * > **Note:** Host Caching (ReadOnly and Read/Write) is supported on disk sizes less than 4194304 MiB. This means any disk that is provisioned up to 4193280 MiB can take advantage of Host Caching. Host caching is not supported for disk sizes larger than 4193280 MiB. For example, a P50 premium disk provisioned at 4193280 GiB can take advantage of Host caching while a P50 disk provisioned at 4194304 MiB cannot. Moving from a smaller disk size to a larger disk size, greater than 4193280 MiB, will cause the disk to lose the disk caching ability. + * + * *** * * ## Import * @@ -175,7 +196,7 @@ export class FlexibleServer extends pulumi.CustomResource { /** * The ID of the private DNS zone to create the PostgreSQL Flexible Server. * - * > **NOTE:** There will be a breaking change from upstream service at 15th July 2021, the `privateDnsZoneId` will be required when setting a `delegatedSubnetId`. For existing flexible servers who don't want to be recreated, you need to provide the `privateDnsZoneId` to the service team to manually migrate to the specified private DNS zone. The `azure.privatedns.Zone` should end with suffix `.postgres.database.azure.com`. + * > **Note:** There will be a breaking change from upstream service at 15th July 2021, the `privateDnsZoneId` will be required when setting a `delegatedSubnetId`. For existing flexible servers who don't want to be recreated, you need to provide the `privateDnsZoneId` to the service team to manually migrate to the specified private DNS zone. The `azure.privatedns.Zone` should end with suffix `.postgres.database.azure.com`. */ public readonly privateDnsZoneId!: pulumi.Output; /** @@ -185,7 +206,7 @@ export class FlexibleServer extends pulumi.CustomResource { /** * The replication role for the PostgreSQL Flexible Server. Possible value is `None`. * - * > **NOTE:** The `replicationRole` cannot be set while creating and only can be updated to `None` for replica server. + * > **Note:** The `replicationRole` cannot be set while creating and only can be updated to `None` for replica server. */ public readonly replicationRole!: pulumi.Output; /** @@ -202,8 +223,18 @@ export class FlexibleServer extends pulumi.CustomResource { public readonly sourceServerId!: pulumi.Output; /** * The max storage allowed for the PostgreSQL Flexible Server. Possible values are `32768`, `65536`, `131072`, `262144`, `524288`, `1048576`, `2097152`, `4193280`, `4194304`, `8388608`, `16777216` and `33553408`. + * + * > **Note:** If the `storageMb` field is undefined on the initial deployment of the PostgreSQL Flexible Server resource it will default to `32768`. If the `storageMb` field has been defined and then removed, the `storageMb` field will retain the previously defined value. + * + * > **Note:** The `storageMb` can only be scaled up, for example, you can scale the `storageMb` from `32768` to `65536`, but not from `65536` to `32768`. */ public readonly storageMb!: pulumi.Output; + /** + * The name of storage performance tier for IOPS of the PostgreSQL Flexible Server. Possible values are `P4`, `P6`, `P10`, `P15`,`P20`, `P30`,`P40`, `P50`,`P60`, `P70` or `P80`. Default value is dependant on the `storageMb` value. Please see the `storageTier` defaults based on `storageMb` table below. + * + * > **Note:** The `storageTier` can be scaled once every 12 hours, this restriction is in place to ensure stability and performance after any changes to your PostgreSQL Flexible Server's configuration. + */ + public readonly storageTier!: pulumi.Output; /** * A mapping of tags which should be assigned to the PostgreSQL Flexible Server. */ @@ -252,6 +283,7 @@ export class FlexibleServer extends pulumi.CustomResource { resourceInputs["skuName"] = state ? state.skuName : undefined; resourceInputs["sourceServerId"] = state ? state.sourceServerId : undefined; resourceInputs["storageMb"] = state ? state.storageMb : undefined; + resourceInputs["storageTier"] = state ? state.storageTier : undefined; resourceInputs["tags"] = state ? state.tags : undefined; resourceInputs["version"] = state ? state.version : undefined; resourceInputs["zone"] = state ? state.zone : undefined; @@ -281,6 +313,7 @@ export class FlexibleServer extends pulumi.CustomResource { resourceInputs["skuName"] = args ? args.skuName : undefined; resourceInputs["sourceServerId"] = args ? args.sourceServerId : undefined; resourceInputs["storageMb"] = args ? args.storageMb : undefined; + resourceInputs["storageTier"] = args ? args.storageTier : undefined; resourceInputs["tags"] = args ? args.tags : undefined; resourceInputs["version"] = args ? args.version : undefined; resourceInputs["zone"] = args ? args.zone : undefined; @@ -373,7 +406,7 @@ export interface FlexibleServerState { /** * The ID of the private DNS zone to create the PostgreSQL Flexible Server. * - * > **NOTE:** There will be a breaking change from upstream service at 15th July 2021, the `privateDnsZoneId` will be required when setting a `delegatedSubnetId`. For existing flexible servers who don't want to be recreated, you need to provide the `privateDnsZoneId` to the service team to manually migrate to the specified private DNS zone. The `azure.privatedns.Zone` should end with suffix `.postgres.database.azure.com`. + * > **Note:** There will be a breaking change from upstream service at 15th July 2021, the `privateDnsZoneId` will be required when setting a `delegatedSubnetId`. For existing flexible servers who don't want to be recreated, you need to provide the `privateDnsZoneId` to the service team to manually migrate to the specified private DNS zone. The `azure.privatedns.Zone` should end with suffix `.postgres.database.azure.com`. */ privateDnsZoneId?: pulumi.Input; /** @@ -383,7 +416,7 @@ export interface FlexibleServerState { /** * The replication role for the PostgreSQL Flexible Server. Possible value is `None`. * - * > **NOTE:** The `replicationRole` cannot be set while creating and only can be updated to `None` for replica server. + * > **Note:** The `replicationRole` cannot be set while creating and only can be updated to `None` for replica server. */ replicationRole?: pulumi.Input; /** @@ -400,8 +433,18 @@ export interface FlexibleServerState { sourceServerId?: pulumi.Input; /** * The max storage allowed for the PostgreSQL Flexible Server. Possible values are `32768`, `65536`, `131072`, `262144`, `524288`, `1048576`, `2097152`, `4193280`, `4194304`, `8388608`, `16777216` and `33553408`. + * + * > **Note:** If the `storageMb` field is undefined on the initial deployment of the PostgreSQL Flexible Server resource it will default to `32768`. If the `storageMb` field has been defined and then removed, the `storageMb` field will retain the previously defined value. + * + * > **Note:** The `storageMb` can only be scaled up, for example, you can scale the `storageMb` from `32768` to `65536`, but not from `65536` to `32768`. */ storageMb?: pulumi.Input; + /** + * The name of storage performance tier for IOPS of the PostgreSQL Flexible Server. Possible values are `P4`, `P6`, `P10`, `P15`,`P20`, `P30`,`P40`, `P50`,`P60`, `P70` or `P80`. Default value is dependant on the `storageMb` value. Please see the `storageTier` defaults based on `storageMb` table below. + * + * > **Note:** The `storageTier` can be scaled once every 12 hours, this restriction is in place to ensure stability and performance after any changes to your PostgreSQL Flexible Server's configuration. + */ + storageTier?: pulumi.Input; /** * A mapping of tags which should be assigned to the PostgreSQL Flexible Server. */ @@ -490,13 +533,13 @@ export interface FlexibleServerArgs { /** * The ID of the private DNS zone to create the PostgreSQL Flexible Server. * - * > **NOTE:** There will be a breaking change from upstream service at 15th July 2021, the `privateDnsZoneId` will be required when setting a `delegatedSubnetId`. For existing flexible servers who don't want to be recreated, you need to provide the `privateDnsZoneId` to the service team to manually migrate to the specified private DNS zone. The `azure.privatedns.Zone` should end with suffix `.postgres.database.azure.com`. + * > **Note:** There will be a breaking change from upstream service at 15th July 2021, the `privateDnsZoneId` will be required when setting a `delegatedSubnetId`. For existing flexible servers who don't want to be recreated, you need to provide the `privateDnsZoneId` to the service team to manually migrate to the specified private DNS zone. The `azure.privatedns.Zone` should end with suffix `.postgres.database.azure.com`. */ privateDnsZoneId?: pulumi.Input; /** * The replication role for the PostgreSQL Flexible Server. Possible value is `None`. * - * > **NOTE:** The `replicationRole` cannot be set while creating and only can be updated to `None` for replica server. + * > **Note:** The `replicationRole` cannot be set while creating and only can be updated to `None` for replica server. */ replicationRole?: pulumi.Input; /** @@ -513,8 +556,18 @@ export interface FlexibleServerArgs { sourceServerId?: pulumi.Input; /** * The max storage allowed for the PostgreSQL Flexible Server. Possible values are `32768`, `65536`, `131072`, `262144`, `524288`, `1048576`, `2097152`, `4193280`, `4194304`, `8388608`, `16777216` and `33553408`. + * + * > **Note:** If the `storageMb` field is undefined on the initial deployment of the PostgreSQL Flexible Server resource it will default to `32768`. If the `storageMb` field has been defined and then removed, the `storageMb` field will retain the previously defined value. + * + * > **Note:** The `storageMb` can only be scaled up, for example, you can scale the `storageMb` from `32768` to `65536`, but not from `65536` to `32768`. */ storageMb?: pulumi.Input; + /** + * The name of storage performance tier for IOPS of the PostgreSQL Flexible Server. Possible values are `P4`, `P6`, `P10`, `P15`,`P20`, `P30`,`P40`, `P50`,`P60`, `P70` or `P80`. Default value is dependant on the `storageMb` value. Please see the `storageTier` defaults based on `storageMb` table below. + * + * > **Note:** The `storageTier` can be scaled once every 12 hours, this restriction is in place to ensure stability and performance after any changes to your PostgreSQL Flexible Server's configuration. + */ + storageTier?: pulumi.Input; /** * A mapping of tags which should be assigned to the PostgreSQL Flexible Server. */ diff --git a/sdk/nodejs/postgresql/flexibleServerDatabase.ts b/sdk/nodejs/postgresql/flexibleServerDatabase.ts index 1879a2caea..12ede4ddba 100644 --- a/sdk/nodejs/postgresql/flexibleServerDatabase.ts +++ b/sdk/nodejs/postgresql/flexibleServerDatabase.ts @@ -26,7 +26,7 @@ import * as utilities from "../utilities"; * skuName: "GP_Standard_D4s_v3", * }); * const exampleFlexibleServerDatabase = new azure.postgresql.FlexibleServerDatabase("example", { - * name: "example-db", + * name: "exampledb", * serverId: exampleFlexibleServer.id, * collation: "en_US.utf8", * charset: "utf8", @@ -78,7 +78,7 @@ export class FlexibleServerDatabase extends pulumi.CustomResource { */ public readonly collation!: pulumi.Output; /** - * The name which should be used for this Azure PostgreSQL Flexible Server Database. Changing this forces a new Azure PostgreSQL Flexible Server Database to be created. + * Specifies the name of the PostgreSQL Database, which needs [to be a valid PostgreSQL identifier](https://www.postgresql.org/docs/current/sql-syntax-lexical.html#SQL-SYNTAX-IDENTIFIERS). Changing this forces a new Azure PostgreSQL Flexible Server Database to be created. */ public readonly name!: pulumi.Output; /** @@ -131,7 +131,7 @@ export interface FlexibleServerDatabaseState { */ collation?: pulumi.Input; /** - * The name which should be used for this Azure PostgreSQL Flexible Server Database. Changing this forces a new Azure PostgreSQL Flexible Server Database to be created. + * Specifies the name of the PostgreSQL Database, which needs [to be a valid PostgreSQL identifier](https://www.postgresql.org/docs/current/sql-syntax-lexical.html#SQL-SYNTAX-IDENTIFIERS). Changing this forces a new Azure PostgreSQL Flexible Server Database to be created. */ name?: pulumi.Input; /** @@ -153,7 +153,7 @@ export interface FlexibleServerDatabaseArgs { */ collation?: pulumi.Input; /** - * The name which should be used for this Azure PostgreSQL Flexible Server Database. Changing this forces a new Azure PostgreSQL Flexible Server Database to be created. + * Specifies the name of the PostgreSQL Database, which needs [to be a valid PostgreSQL identifier](https://www.postgresql.org/docs/current/sql-syntax-lexical.html#SQL-SYNTAX-IDENTIFIERS). Changing this forces a new Azure PostgreSQL Flexible Server Database to be created. */ name?: pulumi.Input; /** diff --git a/sdk/nodejs/servicebus/getNamespace.ts b/sdk/nodejs/servicebus/getNamespace.ts index 3a5a845979..0832f67577 100644 --- a/sdk/nodejs/servicebus/getNamespace.ts +++ b/sdk/nodejs/servicebus/getNamespace.ts @@ -82,6 +82,10 @@ export interface GetNamespaceResult { */ readonly location: string; readonly name: string; + /** + * The messaging partitions of the ServiceBus Namespace. + */ + readonly premiumMessagingPartitions: number; readonly resourceGroupName: string; /** * The Tier used for the ServiceBus Namespace. diff --git a/sdk/nodejs/servicebus/namespace.ts b/sdk/nodejs/servicebus/namespace.ts index 63a6c86159..f83092ed4f 100644 --- a/sdk/nodejs/servicebus/namespace.ts +++ b/sdk/nodejs/servicebus/namespace.ts @@ -118,6 +118,12 @@ export class Namespace extends pulumi.CustomResource { * An `networkRuleSet` block as defined below. */ public readonly networkRuleSet!: pulumi.Output; + /** + * Specifies the number messaging partitions. Only valid when `sku` is `Premium` and the minimum number is `1`. Possible values include `0`, `1`, `2`, and `4`. Defaults to `0` for Standard, Basic namespace. Changing this forces a new resource to be created. + * + * > **Note:** It's not possible to change the partitioning option on any existing namespace. The number of partitions can only be set during namespace creation. Please check the doc https://learn.microsoft.com/en-us/azure/service-bus-messaging/enable-partitions-premium for more feature restrictions. + */ + public readonly premiumMessagingPartitions!: pulumi.Output; /** * Is public network access enabled for the Service Bus Namespace? Defaults to `true`. */ @@ -166,6 +172,7 @@ export class Namespace extends pulumi.CustomResource { resourceInputs["minimumTlsVersion"] = state ? state.minimumTlsVersion : undefined; resourceInputs["name"] = state ? state.name : undefined; resourceInputs["networkRuleSet"] = state ? state.networkRuleSet : undefined; + resourceInputs["premiumMessagingPartitions"] = state ? state.premiumMessagingPartitions : undefined; resourceInputs["publicNetworkAccessEnabled"] = state ? state.publicNetworkAccessEnabled : undefined; resourceInputs["resourceGroupName"] = state ? state.resourceGroupName : undefined; resourceInputs["sku"] = state ? state.sku : undefined; @@ -187,6 +194,7 @@ export class Namespace extends pulumi.CustomResource { resourceInputs["minimumTlsVersion"] = args ? args.minimumTlsVersion : undefined; resourceInputs["name"] = args ? args.name : undefined; resourceInputs["networkRuleSet"] = args ? args.networkRuleSet : undefined; + resourceInputs["premiumMessagingPartitions"] = args ? args.premiumMessagingPartitions : undefined; resourceInputs["publicNetworkAccessEnabled"] = args ? args.publicNetworkAccessEnabled : undefined; resourceInputs["resourceGroupName"] = args ? args.resourceGroupName : undefined; resourceInputs["sku"] = args ? args.sku : undefined; @@ -263,6 +271,12 @@ export interface NamespaceState { * An `networkRuleSet` block as defined below. */ networkRuleSet?: pulumi.Input; + /** + * Specifies the number messaging partitions. Only valid when `sku` is `Premium` and the minimum number is `1`. Possible values include `0`, `1`, `2`, and `4`. Defaults to `0` for Standard, Basic namespace. Changing this forces a new resource to be created. + * + * > **Note:** It's not possible to change the partitioning option on any existing namespace. The number of partitions can only be set during namespace creation. Please check the doc https://learn.microsoft.com/en-us/azure/service-bus-messaging/enable-partitions-premium for more feature restrictions. + */ + premiumMessagingPartitions?: pulumi.Input; /** * Is public network access enabled for the Service Bus Namespace? Defaults to `true`. */ @@ -322,6 +336,12 @@ export interface NamespaceArgs { * An `networkRuleSet` block as defined below. */ networkRuleSet?: pulumi.Input; + /** + * Specifies the number messaging partitions. Only valid when `sku` is `Premium` and the minimum number is `1`. Possible values include `0`, `1`, `2`, and `4`. Defaults to `0` for Standard, Basic namespace. Changing this forces a new resource to be created. + * + * > **Note:** It's not possible to change the partitioning option on any existing namespace. The number of partitions can only be set during namespace creation. Please check the doc https://learn.microsoft.com/en-us/azure/service-bus-messaging/enable-partitions-premium for more feature restrictions. + */ + premiumMessagingPartitions?: pulumi.Input; /** * Is public network access enabled for the Service Bus Namespace? Defaults to `true`. */ diff --git a/sdk/nodejs/servicebus/topic.ts b/sdk/nodejs/servicebus/topic.ts index 027cca2611..7ea941e138 100644 --- a/sdk/nodejs/servicebus/topic.ts +++ b/sdk/nodejs/servicebus/topic.ts @@ -115,9 +115,7 @@ export class Topic extends pulumi.CustomResource { public readonly namespaceId!: pulumi.Output; public /*out*/ readonly namespaceName!: pulumi.Output; /** - * Boolean flag which controls whether Changing this forces a new resource to be created. - * the Topic requires duplicate detection. Defaults to false. Changing this forces - * a new resource to be created. + * Boolean flag which controls whether the Topic requires duplicate detection. Defaults to false. Changing this forcesa new resource to be created. */ public readonly requiresDuplicateDetection!: pulumi.Output; public /*out*/ readonly resourceGroupName!: pulumi.Output; @@ -234,9 +232,7 @@ export interface TopicState { namespaceId?: pulumi.Input; namespaceName?: pulumi.Input; /** - * Boolean flag which controls whether Changing this forces a new resource to be created. - * the Topic requires duplicate detection. Defaults to false. Changing this forces - * a new resource to be created. + * Boolean flag which controls whether the Topic requires duplicate detection. Defaults to false. Changing this forcesa new resource to be created. */ requiresDuplicateDetection?: pulumi.Input; resourceGroupName?: pulumi.Input; @@ -297,9 +293,7 @@ export interface TopicArgs { */ namespaceId: pulumi.Input; /** - * Boolean flag which controls whether Changing this forces a new resource to be created. - * the Topic requires duplicate detection. Defaults to false. Changing this forces - * a new resource to be created. + * Boolean flag which controls whether the Topic requires duplicate detection. Defaults to false. Changing this forcesa new resource to be created. */ requiresDuplicateDetection?: pulumi.Input; /** diff --git a/sdk/nodejs/storage/getTableEntities.ts b/sdk/nodejs/storage/getTableEntities.ts new file mode 100644 index 0000000000..68f249d21e --- /dev/null +++ b/sdk/nodejs/storage/getTableEntities.ts @@ -0,0 +1,115 @@ +// *** 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 Storage Table Entity. + * + * ## Example Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as azure from "@pulumi/azure"; + * + * const example = azure.storage.getTableEntities({ + * tableName: "example-table-name", + * storageAccountName: "example-storage-account-name", + * filter: "PartitionKey eq 'example'", + * }); + * ``` + */ +export function getTableEntities(args: GetTableEntitiesArgs, opts?: pulumi.InvokeOptions): Promise { + + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("azure:storage/getTableEntities:getTableEntities", { + "filter": args.filter, + "selects": args.selects, + "storageAccountName": args.storageAccountName, + "tableName": args.tableName, + }, opts); +} + +/** + * A collection of arguments for invoking getTableEntities. + */ +export interface GetTableEntitiesArgs { + /** + * The filter used to retrieve the entities. + */ + filter: string; + /** + * A list of properties to select from the returned Storage Table Entities. + */ + selects?: string[]; + /** + * The name of the Storage Account where the Table exists. + */ + storageAccountName: string; + /** + * The name of the Table. + */ + tableName: string; +} + +/** + * A collection of values returned by getTableEntities. + */ +export interface GetTableEntitiesResult { + readonly filter: string; + /** + * The provider-assigned unique ID for this managed resource. + */ + readonly id: string; + /** + * A list of `items` blocks as defined below. + */ + readonly items: outputs.storage.GetTableEntitiesItem[]; + readonly selects?: string[]; + readonly storageAccountName: string; + readonly tableName: string; +} +/** + * Use this data source to access information about an existing Storage Table Entity. + * + * ## Example Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as azure from "@pulumi/azure"; + * + * const example = azure.storage.getTableEntities({ + * tableName: "example-table-name", + * storageAccountName: "example-storage-account-name", + * filter: "PartitionKey eq 'example'", + * }); + * ``` + */ +export function getTableEntitiesOutput(args: GetTableEntitiesOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { + return pulumi.output(args).apply((a: any) => getTableEntities(a, opts)) +} + +/** + * A collection of arguments for invoking getTableEntities. + */ +export interface GetTableEntitiesOutputArgs { + /** + * The filter used to retrieve the entities. + */ + filter: pulumi.Input; + /** + * A list of properties to select from the returned Storage Table Entities. + */ + selects?: pulumi.Input[]>; + /** + * The name of the Storage Account where the Table exists. + */ + storageAccountName: pulumi.Input; + /** + * The name of the Table. + */ + tableName: pulumi.Input; +} diff --git a/sdk/nodejs/storage/index.ts b/sdk/nodejs/storage/index.ts index 032ca2b371..2d646827a9 100644 --- a/sdk/nodejs/storage/index.ts +++ b/sdk/nodejs/storage/index.ts @@ -105,6 +105,11 @@ export const getSyncGroup: typeof import("./getSyncGroup").getSyncGroup = null a export const getSyncGroupOutput: typeof import("./getSyncGroup").getSyncGroupOutput = null as any; utilities.lazyLoad(exports, ["getSyncGroup","getSyncGroupOutput"], () => require("./getSyncGroup")); +export { GetTableEntitiesArgs, GetTableEntitiesResult, GetTableEntitiesOutputArgs } from "./getTableEntities"; +export const getTableEntities: typeof import("./getTableEntities").getTableEntities = null as any; +export const getTableEntitiesOutput: typeof import("./getTableEntities").getTableEntitiesOutput = null as any; +utilities.lazyLoad(exports, ["getTableEntities","getTableEntitiesOutput"], () => require("./getTableEntities")); + export { GetTableEntityArgs, GetTableEntityResult, GetTableEntityOutputArgs } from "./getTableEntity"; export const getTableEntity: typeof import("./getTableEntity").getTableEntity = null as any; export const getTableEntityOutput: typeof import("./getTableEntity").getTableEntityOutput = null as any; diff --git a/sdk/nodejs/synapse/workspace.ts b/sdk/nodejs/synapse/workspace.ts index 80865e407d..f5bff547b6 100644 --- a/sdk/nodejs/synapse/workspace.ts +++ b/sdk/nodejs/synapse/workspace.ts @@ -185,7 +185,7 @@ export class Workspace extends pulumi.CustomResource { } /** - * An `aadAdmin` block as defined below. Conflicts with `customerManagedKey`. + * An `aadAdmin` block as defined below. */ public readonly aadAdmin!: pulumi.Output; /** @@ -205,7 +205,7 @@ export class Workspace extends pulumi.CustomResource { */ public /*out*/ readonly connectivityEndpoints!: pulumi.Output<{[key: string]: string}>; /** - * A `customerManagedKey` block as defined below. Conflicts with `aadAdmin`. + * A `customerManagedKey` block as defined below. */ public readonly customerManagedKey!: pulumi.Output; /** @@ -357,7 +357,7 @@ export class Workspace extends pulumi.CustomResource { */ export interface WorkspaceState { /** - * An `aadAdmin` block as defined below. Conflicts with `customerManagedKey`. + * An `aadAdmin` block as defined below. */ aadAdmin?: pulumi.Input; /** @@ -377,7 +377,7 @@ export interface WorkspaceState { */ connectivityEndpoints?: pulumi.Input<{[key: string]: pulumi.Input}>; /** - * A `customerManagedKey` block as defined below. Conflicts with `aadAdmin`. + * A `customerManagedKey` block as defined below. */ customerManagedKey?: pulumi.Input; /** @@ -455,7 +455,7 @@ export interface WorkspaceState { */ export interface WorkspaceArgs { /** - * An `aadAdmin` block as defined below. Conflicts with `customerManagedKey`. + * An `aadAdmin` block as defined below. */ aadAdmin?: pulumi.Input; /** @@ -471,7 +471,7 @@ export interface WorkspaceArgs { */ computeSubnetId?: pulumi.Input; /** - * A `customerManagedKey` block as defined below. Conflicts with `aadAdmin`. + * A `customerManagedKey` block as defined below. */ customerManagedKey?: pulumi.Input; /** diff --git a/sdk/nodejs/systemcenter/index.ts b/sdk/nodejs/systemcenter/index.ts new file mode 100644 index 0000000000..920687a0e7 --- /dev/null +++ b/sdk/nodejs/systemcenter/index.ts @@ -0,0 +1,25 @@ +// *** 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: +export { VirtualMachineManagerServerArgs, VirtualMachineManagerServerState } from "./virtualMachineManagerServer"; +export type VirtualMachineManagerServer = import("./virtualMachineManagerServer").VirtualMachineManagerServer; +export const VirtualMachineManagerServer: typeof import("./virtualMachineManagerServer").VirtualMachineManagerServer = null as any; +utilities.lazyLoad(exports, ["VirtualMachineManagerServer"], () => require("./virtualMachineManagerServer")); + + +const _module = { + version: utilities.getVersion(), + construct: (name: string, type: string, urn: string): pulumi.Resource => { + switch (type) { + case "azure:systemcenter/virtualMachineManagerServer:VirtualMachineManagerServer": + return new VirtualMachineManagerServer(name, undefined, { urn }) + default: + throw new Error(`unknown resource type ${type}`); + } + }, +}; +pulumi.runtime.registerResourceModule("azure", "systemcenter/virtualMachineManagerServer", _module) diff --git a/sdk/nodejs/systemcenter/virtualMachineManagerServer.ts b/sdk/nodejs/systemcenter/virtualMachineManagerServer.ts new file mode 100644 index 0000000000..625c8b2e2c --- /dev/null +++ b/sdk/nodejs/systemcenter/virtualMachineManagerServer.ts @@ -0,0 +1,246 @@ +// *** 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 System Center Virtual Machine Manager Server. + * + * > **Note:** By request of the service team the provider no longer automatically registering the `Microsoft.ScVmm` Resource Provider for this resource. To register it you can run `az provider register --namespace Microsoft.ScVmm`. + * + * > **Note:** This resource depends on an existing `System Center Virtual Machine Manager Host Machine`, `Arc Resource Bridge` and `Custom Location`. Installing and configuring these dependencies is outside the scope of this document. See [Virtual Machine Manager documentation](https://learn.microsoft.com/en-us/system-center/vmm/?view=sc-vmm-2022) and [Install VMM](https://learn.microsoft.com/en-us/system-center/vmm/install?view=sc-vmm-2022) for more details of `System Center Virtual Machine Manager Host Machine`. See [What is Azure Arc resource bridge](https://learn.microsoft.com/en-us/azure/azure-arc/resource-bridge/overview) and [Overview of Arc-enabled System Center Virtual Machine Manager](https://learn.microsoft.com/en-us/azure/azure-arc/system-center-virtual-machine-manager/overview) for more details of `Arc Resource Bridge/Appliance`. See [Create and manage custom locations on Azure Arc-enabled Kubernetes](https://learn.microsoft.com/en-us/azure/azure-arc/kubernetes/custom-locations) for more details of `Custom Location`. If you encounter issues while configuring, we'd recommend opening a ticket with Microsoft Support. + * + * ## 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 exampleVirtualMachineManagerServer = new azure.systemcenter.VirtualMachineManagerServer("example", { + * name: "example-scvmmms", + * resourceGroupName: example.name, + * location: example.location, + * customLocationId: "/subscriptions/12345678-1234-9876-4563-123456789012/resourceGroups/resGroup1/providers/Microsoft.ExtendedLocation/customLocations/customLocation1", + * fqdn: "example.labtest", + * username: "testUser", + * password: "H@Sh1CoR3!", + * }); + * ``` + * + * ## Import + * + * System Center Virtual Machine Manager Servers can be imported using the `resource id`, e.g. + * + * ```sh + * $ pulumi import azure:systemcenter/virtualMachineManagerServer:VirtualMachineManagerServer example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup1/providers/Microsoft.ScVmm/vmmServers/vmmServer1 + * ``` + */ +export class VirtualMachineManagerServer extends pulumi.CustomResource { + /** + * Get an existing VirtualMachineManagerServer 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?: VirtualMachineManagerServerState, opts?: pulumi.CustomResourceOptions): VirtualMachineManagerServer { + return new VirtualMachineManagerServer(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'azure:systemcenter/virtualMachineManagerServer:VirtualMachineManagerServer'; + + /** + * Returns true if the given object is an instance of VirtualMachineManagerServer. 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 VirtualMachineManagerServer { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === VirtualMachineManagerServer.__pulumiType; + } + + /** + * The ID of the Custom Location for the System Center Virtual Machine Manager Server. Changing this forces a new resource to be created. + */ + public readonly customLocationId!: pulumi.Output; + /** + * The FQDN of the System Center Virtual Machine Manager Server. Changing this forces a new resource to be created. + */ + public readonly fqdn!: pulumi.Output; + /** + * The Azure Region where the System Center Virtual Machine Manager Server should exist. Changing this forces a new resource to be created. + */ + public readonly location!: pulumi.Output; + /** + * The name of the System Center Virtual Machine Manager Server. Changing this forces a new resource to be created. + */ + public readonly name!: pulumi.Output; + /** + * The password that is used to connect to the System Center Virtual Machine Manager Server. Changing this forces a new resource to be created. + */ + public readonly password!: pulumi.Output; + /** + * The port on which the System Center Virtual Machine Manager Server is listening. Possible values are between `1` and `65535`. Changing this forces a new resource to be created. + */ + public readonly port!: pulumi.Output; + /** + * The name of the Resource Group where the System Center Virtual Machine Manager 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 System Center Virtual Machine Manager Server. + */ + public readonly tags!: pulumi.Output<{[key: string]: string} | undefined>; + /** + * The username that is used to connect to the System Center Virtual Machine Manager Server. Changing this forces a new resource to be created. + */ + public readonly username!: pulumi.Output; + + /** + * Create a VirtualMachineManagerServer 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: VirtualMachineManagerServerArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: VirtualMachineManagerServerArgs | VirtualMachineManagerServerState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as VirtualMachineManagerServerState | undefined; + resourceInputs["customLocationId"] = state ? state.customLocationId : undefined; + resourceInputs["fqdn"] = state ? state.fqdn : undefined; + resourceInputs["location"] = state ? state.location : undefined; + resourceInputs["name"] = state ? state.name : undefined; + resourceInputs["password"] = state ? state.password : undefined; + resourceInputs["port"] = state ? state.port : undefined; + resourceInputs["resourceGroupName"] = state ? state.resourceGroupName : undefined; + resourceInputs["tags"] = state ? state.tags : undefined; + resourceInputs["username"] = state ? state.username : undefined; + } else { + const args = argsOrState as VirtualMachineManagerServerArgs | undefined; + if ((!args || args.customLocationId === undefined) && !opts.urn) { + throw new Error("Missing required property 'customLocationId'"); + } + if ((!args || args.fqdn === undefined) && !opts.urn) { + throw new Error("Missing required property 'fqdn'"); + } + if ((!args || args.password === undefined) && !opts.urn) { + throw new Error("Missing required property 'password'"); + } + if ((!args || args.resourceGroupName === undefined) && !opts.urn) { + throw new Error("Missing required property 'resourceGroupName'"); + } + if ((!args || args.username === undefined) && !opts.urn) { + throw new Error("Missing required property 'username'"); + } + resourceInputs["customLocationId"] = args ? args.customLocationId : undefined; + resourceInputs["fqdn"] = args ? args.fqdn : undefined; + resourceInputs["location"] = args ? args.location : undefined; + resourceInputs["name"] = args ? args.name : undefined; + resourceInputs["password"] = args?.password ? pulumi.secret(args.password) : undefined; + resourceInputs["port"] = args ? args.port : undefined; + resourceInputs["resourceGroupName"] = args ? args.resourceGroupName : undefined; + resourceInputs["tags"] = args ? args.tags : undefined; + resourceInputs["username"] = args ? args.username : undefined; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + const secretOpts = { additionalSecretOutputs: ["password"] }; + opts = pulumi.mergeOptions(opts, secretOpts); + super(VirtualMachineManagerServer.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering VirtualMachineManagerServer resources. + */ +export interface VirtualMachineManagerServerState { + /** + * The ID of the Custom Location for the System Center Virtual Machine Manager Server. Changing this forces a new resource to be created. + */ + customLocationId?: pulumi.Input; + /** + * The FQDN of the System Center Virtual Machine Manager Server. Changing this forces a new resource to be created. + */ + fqdn?: pulumi.Input; + /** + * The Azure Region where the System Center Virtual Machine Manager Server should exist. Changing this forces a new resource to be created. + */ + location?: pulumi.Input; + /** + * The name of the System Center Virtual Machine Manager Server. Changing this forces a new resource to be created. + */ + name?: pulumi.Input; + /** + * The password that is used to connect to the System Center Virtual Machine Manager Server. Changing this forces a new resource to be created. + */ + password?: pulumi.Input; + /** + * The port on which the System Center Virtual Machine Manager Server is listening. Possible values are between `1` and `65535`. Changing this forces a new resource to be created. + */ + port?: pulumi.Input; + /** + * The name of the Resource Group where the System Center Virtual Machine Manager should exist. Changing this forces a new resource to be created. + */ + resourceGroupName?: pulumi.Input; + /** + * A mapping of tags which should be assigned to the System Center Virtual Machine Manager Server. + */ + tags?: pulumi.Input<{[key: string]: pulumi.Input}>; + /** + * The username that is used to connect to the System Center Virtual Machine Manager Server. Changing this forces a new resource to be created. + */ + username?: pulumi.Input; +} + +/** + * The set of arguments for constructing a VirtualMachineManagerServer resource. + */ +export interface VirtualMachineManagerServerArgs { + /** + * The ID of the Custom Location for the System Center Virtual Machine Manager Server. Changing this forces a new resource to be created. + */ + customLocationId: pulumi.Input; + /** + * The FQDN of the System Center Virtual Machine Manager Server. Changing this forces a new resource to be created. + */ + fqdn: pulumi.Input; + /** + * The Azure Region where the System Center Virtual Machine Manager Server should exist. Changing this forces a new resource to be created. + */ + location?: pulumi.Input; + /** + * The name of the System Center Virtual Machine Manager Server. Changing this forces a new resource to be created. + */ + name?: pulumi.Input; + /** + * The password that is used to connect to the System Center Virtual Machine Manager Server. Changing this forces a new resource to be created. + */ + password: pulumi.Input; + /** + * The port on which the System Center Virtual Machine Manager Server is listening. Possible values are between `1` and `65535`. Changing this forces a new resource to be created. + */ + port?: pulumi.Input; + /** + * The name of the Resource Group where the System Center Virtual Machine Manager should exist. Changing this forces a new resource to be created. + */ + resourceGroupName: pulumi.Input; + /** + * A mapping of tags which should be assigned to the System Center Virtual Machine Manager Server. + */ + tags?: pulumi.Input<{[key: string]: pulumi.Input}>; + /** + * The username that is used to connect to the System Center Virtual Machine Manager Server. Changing this forces a new resource to be created. + */ + username: pulumi.Input; +} diff --git a/sdk/nodejs/tsconfig.json b/sdk/nodejs/tsconfig.json index 3ec3ee42bf..c31c534119 100644 --- a/sdk/nodejs/tsconfig.json +++ b/sdk/nodejs/tsconfig.json @@ -416,6 +416,7 @@ "containerservice/clusterTrustedAccessRoleBinding.ts", "containerservice/connectedRegistry.ts", "containerservice/fleetMember.ts", + "containerservice/fleetUpdateRun.ts", "containerservice/fleetUpdateStrategy.ts", "containerservice/fluxConfiguration.ts", "containerservice/getClusterNodePool.ts", @@ -632,6 +633,7 @@ "desktopvirtualization/scalingPlan.ts", "desktopvirtualization/workspace.ts", "desktopvirtualization/workspaceApplicationGroupAssociation.ts", + "devcenter/catalog.ts", "devcenter/devCenter.ts", "devcenter/gallery.ts", "devcenter/index.ts", @@ -731,6 +733,8 @@ "eventhub/topic.ts", "eventhub/topicAuthorizationRule.ts", "eventhub/zMixins.ts", + "expressroute/getCircuitPeering.ts", + "expressroute/index.ts", "fluidrelay/index.ts", "fluidrelay/server.ts", "frontdoor/customHttpsConfiguration.ts", @@ -1507,6 +1511,7 @@ "storage/getStorageContainer.ts", "storage/getSync.ts", "storage/getSyncGroup.ts", + "storage/getTableEntities.ts", "storage/getTableEntity.ts", "storage/index.ts", "storage/localUser.ts", @@ -1577,6 +1582,8 @@ "synapse/workspaceSecurityAlertPolicy.ts", "synapse/workspaceSqlAadAdmin.ts", "synapse/workspaceVulnerabilityAssessment.ts", + "systemcenter/index.ts", + "systemcenter/virtualMachineManagerServer.ts", "trafficmanager/getGeographicalLocation.ts", "trafficmanager/index.ts", "trafficmanager/profile.ts", diff --git a/sdk/nodejs/types/input.ts b/sdk/nodejs/types/input.ts index dca5b27077..335f3463b1 100644 --- a/sdk/nodejs/types/input.ts +++ b/sdk/nodejs/types/input.ts @@ -110,6 +110,7 @@ export interface ProviderFeaturesVirtualMachine { export interface ProviderFeaturesVirtualMachineScaleSet { forceDelete?: pulumi.Input; + reimageOnManualUpgrade?: pulumi.Input; rollInstancesWhenRequired?: pulumi.Input; scaleToZeroBeforeDeletion?: pulumi.Input; } @@ -2560,7 +2561,7 @@ export namespace appplatform { export interface SpringCloudCustomizedAcceleratorGitRepository { /** - * A `basicAuth` block as defined below. Conflicts with `git_repository.0.ssh_auth`. Changing this forces a new Spring Cloud Customized Accelerator to be created. + * A `basicAuth` block as defined below. Conflicts with `git_repository[0].ssh_auth`. Changing this forces a new Spring Cloud Customized Accelerator to be created. */ basicAuth?: pulumi.Input; /** @@ -2588,7 +2589,7 @@ export namespace appplatform { */ path?: pulumi.Input; /** - * A `sshAuth` block as defined below. Conflicts with `git_repository.0.basic_auth`. Changing this forces a new Spring Cloud Customized Accelerator to be created. + * A `sshAuth` block as defined below. Conflicts with `git_repository[0].basic_auth`. Changing this forces a new Spring Cloud Customized Accelerator to be created. */ sshAuth?: pulumi.Input; /** @@ -7502,7 +7503,7 @@ export namespace appservice { */ pythonVersion?: pulumi.Input; /** - * Te version of Ruby to run. Possible values include `2.6` and `2.7`. + * The version of Ruby to run. Possible values include `2.6` and `2.7`. */ rubyVersion?: pulumi.Input; } @@ -8620,7 +8621,7 @@ export namespace appservice { */ pythonVersion?: pulumi.Input; /** - * Te version of Ruby to run. Possible values include `2.6` and `2.7`. + * The version of Ruby to run. Possible values include `2.6` and `2.7`. */ rubyVersion?: pulumi.Input; } @@ -15396,7 +15397,7 @@ export namespace batch { */ name: pulumi.Input; /** - * The extension can contain either `protectedSettings` or `provisionAfterExtensions` or no protected settings at all. + * JSON formatted protected settings for the extension, the value should be encoded with `jsonencode` function. The extension can contain either `protectedSettings` or `provisionAfterExtensions` or no protected settings at all. */ protectedSettings?: pulumi.Input; /** @@ -15408,7 +15409,7 @@ export namespace batch { */ publisher: pulumi.Input; /** - * JSON formatted public settings for the extension. + * JSON formatted public settings for the extension, the value should be encoded with `jsonencode` function. */ settingsJson?: pulumi.Input; /** @@ -17901,6 +17902,10 @@ export namespace compute { } export interface LinuxVirtualMachineGalleryApplication { + /** + * Specifies whether the version will be automatically updated for the VM when a new Gallery Application version is available in PIR/SIG. Defaults to `false`. + */ + automaticUpgradeEnabled?: pulumi.Input; /** * Specifies the URI to an Azure Blob that will replace the default configuration for the package if provided. */ @@ -17913,6 +17918,10 @@ export namespace compute { * Specifies a passthrough value for more generic context. This field can be any valid `string` value. */ tag?: pulumi.Input; + /** + * Specifies whether any failure for any operation in the VmApplication will fail the deployment of the VM. Defaults to `false`. + */ + treatFailureAsDeploymentFailureEnabled?: pulumi.Input; /** * Specifies the Gallery Application Version resource ID. */ @@ -18004,6 +18013,13 @@ export namespace compute { placement?: pulumi.Input; } + export interface LinuxVirtualMachineOsImageNotification { + /** + * Length of time a notification to be sent to the VM on the instance metadata server till the VM gets OS upgraded. The only possible value is `PT15M`. Defaults to `PT15M`. + */ + timeout?: pulumi.Input; + } + export interface LinuxVirtualMachinePlan { /** * Specifies the Name of the Marketplace Image this Virtual Machine should be created from. Changing this forces a new resource to be created. @@ -18661,13 +18677,13 @@ export namespace compute { */ diskEncryptionSetId?: pulumi.Input; /** - * The size of the Data Disk which should be created. + * The size of the Data Disk which should be created. Required if `createOption` is specified as `Empty`. */ - diskSizeGb: pulumi.Input; + diskSizeGb?: pulumi.Input; /** - * The Logical Unit Number of the Data Disk, which must be unique within the Virtual Machine. + * The Logical Unit Number of the Data Disk, which must be unique within the Virtual Machine. Required if `createOption` is specified as `Empty`. */ - lun: pulumi.Input; + lun?: pulumi.Input; /** * The Type of Storage Account which should back this Data Disk. Possible values include `Standard_LRS`, `StandardSSD_LRS`, `StandardSSD_ZRS`, `Premium_LRS`, `PremiumV2_LRS`, `Premium_ZRS` and `UltraSSD_LRS`. */ @@ -20243,6 +20259,10 @@ export namespace compute { } export interface WindowsVirtualMachineGalleryApplication { + /** + * Specifies whether the version will be automatically updated for the VM when a new Gallery Application version is available in PIR/SIG. Defaults to `false`. + */ + automaticUpgradeEnabled?: pulumi.Input; /** * Specifies the URI to an Azure Blob that will replace the default configuration for the package if provided. */ @@ -20255,6 +20275,10 @@ export namespace compute { * Specifies a passthrough value for more generic context. This field can be any valid `string` value. */ tag?: pulumi.Input; + /** + * Specifies whether any failure for any operation in the VmApplication will fail the deployment of the VM. Defaults to `false`. + */ + treatFailureAsDeploymentFailureEnabled?: pulumi.Input; /** * Specifies the Gallery Application Version resource ID. */ @@ -20346,6 +20370,13 @@ export namespace compute { placement?: pulumi.Input; } + export interface WindowsVirtualMachineOsImageNotification { + /** + * Length of time a notification to be sent to the VM on the instance metadata server till the VM gets OS upgraded. The only possible value is `PT15M`. Defaults to `PT15M`. + */ + timeout?: pulumi.Input; + } + export interface WindowsVirtualMachinePlan { /** * Specifies the Name of the Marketplace Image this Virtual Machine should be created from. Changing this forces a new resource to be created. @@ -22092,6 +22123,57 @@ export namespace containerservice { tag?: pulumi.Input; } + export interface FleetUpdateRunManagedClusterUpdate { + /** + * A `nodeImageSelection` block as defined below. + */ + nodeImageSelection?: pulumi.Input; + /** + * A `upgrade` block as defined below. + */ + upgrade: pulumi.Input; + } + + export interface FleetUpdateRunManagedClusterUpdateNodeImageSelection { + /** + * Specifies the node image upgrade type. Possible values are `Latest` and `Consistent`. + */ + type: pulumi.Input; + } + + export interface FleetUpdateRunManagedClusterUpdateUpgrade { + /** + * Specifies the Kubernetes version to upgrade the member clusters to. This is required if `type` is set to `Full`. + */ + kubernetesVersion?: pulumi.Input; + /** + * Specifies the type of upgrade to perform. Possible values are `Full` and `NodeImageOnly`. + */ + type: pulumi.Input; + } + + export interface FleetUpdateRunStage { + /** + * Specifies the time in seconds to wait at the end of this stage before starting the next one. + */ + afterStageWaitInSeconds?: pulumi.Input; + /** + * One or more `group` blocks as defined below. + */ + groups: pulumi.Input[]>; + /** + * The name which should be used for this stage. + */ + name: pulumi.Input; + } + + export interface FleetUpdateRunStageGroup { + /** + * The name which should be used for this group. + */ + name: pulumi.Input; + } + export interface FleetUpdateStrategyStage { /** * Specifies the time in seconds to wait at the end of this stage before starting the next one. @@ -23058,7 +23140,7 @@ export namespace containerservice { */ osDiskType?: pulumi.Input; /** - * Specifies the OS SKU used by the agent pool. Possible values are `AzureLinux`, `CBLMariner`, `Mariner`, `Ubuntu`, `Windows2019` and `Windows2022`. If not specified, the default is `Ubuntu` if OSType=Linux or `Windows2019` if OSType=Windows. And the default Windows OSSKU will be changed to `Windows2022` after Windows2019 is deprecated. `temporaryNameForRotation` must be specified when attempting a change. + * Specifies the OS SKU used by the agent pool. Possible values are `AzureLinux`, `Ubuntu`, `Windows2019` and `Windows2022`. If not specified, the default is `Ubuntu` if OSType=Linux or `Windows2019` if OSType=Windows. And the default Windows OSSKU will be changed to `Windows2022` after Windows2019 is deprecated. `temporaryNameForRotation` must be specified when attempting a change. */ osSku?: pulumi.Input; /** @@ -23474,7 +23556,7 @@ export namespace containerservice { export interface KubernetesClusterKeyManagementService { /** - * Identifier of Azure Key Vault key. See [key identifier format](https://learn.microsoft.com/en-us/azure/key-vault/general/about-keys-secrets-certificates#vault-name-and-object-name) for more details. When Azure Key Vault key management service is enabled, this field is required and must be a valid key identifier. When `enabled` is `false`, leave the field empty. + * Identifier of Azure Key Vault key. See [key identifier format](https://learn.microsoft.com/en-us/azure/key-vault/general/about-keys-secrets-certificates#vault-name-and-object-name) for more details. */ keyVaultKeyId: pulumi.Input; /** @@ -23840,7 +23922,7 @@ export namespace containerservice { */ networkPolicy?: pulumi.Input; /** - * The outbound (egress) routing method which should be used for this Kubernetes Cluster. Possible values are `loadBalancer`, `userDefinedRouting`, `managedNATGateway` and `userAssignedNATGateway`. Defaults to `loadBalancer`. Changing this forces a new resource to be created. + * The outbound (egress) routing method which should be used for this Kubernetes Cluster. Possible values are `loadBalancer`, `userDefinedRouting`, `managedNATGateway` and `userAssignedNATGateway`. Defaults to `loadBalancer`. More information on supported migration paths for `outboundType` can be found in [this documentation](https://learn.microsoft.com/azure/aks/egress-outboundtype#updating-outboundtype-after-cluster-creation). */ outboundType?: pulumi.Input; /** @@ -24700,7 +24782,7 @@ export namespace containerservice { export interface TokenPasswordPassword1 { /** - * The expiration date of the password in RFC3339 format. Changing this forces a new resource to be created. + * The expiration date of the password in RFC3339 format. If not specified, the password never expires. Changing this forces a new resource to be created. */ expiry?: pulumi.Input; /** @@ -24711,7 +24793,7 @@ export namespace containerservice { export interface TokenPasswordPassword2 { /** - * The expiration date of the password in RFC3339 format. Changing this forces a new resource to be created. + * The expiration date of the password in RFC3339 format. If not specified, the password never expires. Changing this forces a new resource to be created. */ expiry?: pulumi.Input; /** @@ -25315,6 +25397,10 @@ export namespace cosmosdb { * > **Note:** You can only configure `intervalInMinutes`, `retentionInHours` and `storageRedundancy` when the `type` field is set to `Periodic`. */ storageRedundancy?: pulumi.Input; + /** + * The continuous backup tier. Possible values are `Continuous7Days` and `Continuous30Days`. + */ + tier?: pulumi.Input; /** * The type of the `backup`. Possible values are `Continuous` and `Periodic`. * @@ -28229,6 +28315,20 @@ export namespace desktopvirtualization { } export namespace devcenter { + export interface CatalogCatalogAdogit { + branch: pulumi.Input; + keyVaultKeyUrl: pulumi.Input; + path: pulumi.Input; + uri: pulumi.Input; + } + + export interface CatalogCatalogGithub { + branch: pulumi.Input; + keyVaultKeyUrl: pulumi.Input; + path: pulumi.Input; + uri: pulumi.Input; + } + export interface DevCenterIdentity { identityIds?: pulumi.Input[]>; principalId?: pulumi.Input; @@ -36421,23 +36521,23 @@ export namespace machinelearning { export interface InferenceClusterSsl { /** - * The certificate for the SSL configuration.Conflicts with `ssl.0.leaf_domain_label`,`ssl.0.overwrite_existing_domain`. Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `""`. + * The certificate for the SSL configuration.Conflicts with `ssl[0].leaf_domain_label`,`ssl[0].overwrite_existing_domain`. Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `""`. */ cert?: pulumi.Input; /** - * The cname of the SSL configuration.Conflicts with `ssl.0.leaf_domain_label`,`ssl.0.overwrite_existing_domain`. Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `""`. + * The cname of the SSL configuration.Conflicts with `ssl[0].leaf_domain_label`,`ssl[0].overwrite_existing_domain`. Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `""`. */ cname?: pulumi.Input; /** - * The key content for the SSL configuration.Conflicts with `ssl.0.leaf_domain_label`,`ssl.0.overwrite_existing_domain`. Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `""`. + * The key content for the SSL configuration.Conflicts with `ssl[0].leaf_domain_label`,`ssl[0].overwrite_existing_domain`. Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `""`. */ key?: pulumi.Input; /** - * The leaf domain label for the SSL configuration. Conflicts with `ssl.0.cert`,`ssl.0.key`,`ssl.0.cname`. Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `""`. + * The leaf domain label for the SSL configuration. Conflicts with `ssl[0].cert`,`ssl[0].key`,`ssl[0].cname`. Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `""`. */ leafDomainLabel?: pulumi.Input; /** - * Whether or not to overwrite existing leaf domain. Conflicts with `ssl.0.cert`,`ssl.0.key`,`ssl.0.cname` Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `""`. + * Whether or not to overwrite existing leaf domain. Conflicts with `ssl[0].cert`,`ssl[0].key`,`ssl[0].cname` Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `""`. */ overwriteExistingDomain?: pulumi.Input; } @@ -36517,6 +36617,13 @@ export namespace machinelearning { */ type: pulumi.Input; } + + export interface WorkspaceManagedNetwork { + /** + * The isolation mode of the Machine Learning Workspace. Possible values are `Disabled`, `AllowOnlyApprovedOutbound`, and `AllowInternetOutbound` + */ + isolationMode?: pulumi.Input; + } } export namespace maintenance { @@ -41672,7 +41779,7 @@ export namespace mssql { export interface ServerAzureadAdministrator { /** - * Specifies whether only AD Users and administrators (e.g. `azuread_administrator.0.login_username`) can be used to login, or also local database users (e.g. `administratorLogin`). When `true`, the `administratorLogin` and `administratorLoginPassword` properties can be omitted. + * Specifies whether only AD Users and administrators (e.g. `azuread_administrator[0].login_username`) can be used to login, or also local database users (e.g. `administratorLogin`). When `true`, the `administratorLogin` and `administratorLoginPassword` properties can be omitted. */ azureadAuthenticationOnly?: pulumi.Input; /** @@ -42108,7 +42215,7 @@ export namespace mysql { /** * The high availability mode for the MySQL Flexible Server. Possibles values are `SameZone` and `ZoneRedundant`. * - * > **NOTE:** `storage.0.auto_grow_enabled` must be enabled when `highAvailability` is enabled. To change the `highAvailability` for a MySQL Flexible Server created with `highAvailability` disabled during creation, the resource has to be recreated. + * > **NOTE:** `storage[0].auto_grow_enabled` must be enabled when `highAvailability` is enabled. To change the `highAvailability` for a MySQL Flexible Server created with `highAvailability` disabled during creation, the resource has to be recreated. */ mode: pulumi.Input; standbyAvailabilityZone?: pulumi.Input; @@ -43014,7 +43121,7 @@ export namespace network { /** * Rule evaluation order can be dictated by specifying an integer value from `1` to `20000` with `1` being the highest priority and `20000` being the lowest priority. * - * > **NOTE:** `priority` is required when `sku.0.tier` is set to `*_v2`. + * > **NOTE:** `priority` is required when `sku[0].tier` is set to `*_v2`. */ priority?: pulumi.Input; /** @@ -45335,7 +45442,7 @@ export namespace network { */ name?: pulumi.Input; /** - * Defines how the private IP address of the gateways virtual interface is assigned. Valid options are `Static` or `Dynamic`. Defaults to `Dynamic`. + * Defines how the private IP address of the gateways virtual interface is assigned. The only valid value is `Dynamic` for Virtual Network Gateway (`Static` is not supported by the service yet). Defaults to `Dynamic`. */ privateIpAddressAllocation?: pulumi.Input; /** @@ -46524,11 +46631,11 @@ export namespace paloalto { export interface NextGenerationFirewallVirtualNetworkLocalRulestackDnsSettings { azureDnsServers?: pulumi.Input[]>; /** - * Specifies a list of DNS servers to use. Conflicts with `dns_settings.0.use_azure_dns`. + * Specifies a list of DNS servers to use. Conflicts with `dns_settings[0].use_azure_dns`. */ dnsServers?: pulumi.Input[]>; /** - * Should the Firewall use Azure Supplied DNS servers. Conflicts with `dns_settings.0.dns_servers`. Defaults to `false`. + * Should the Firewall use Azure Supplied DNS servers. Conflicts with `dns_settings[0].dns_servers`. Defaults to `false`. */ useAzureDns?: pulumi.Input; } @@ -46616,11 +46723,11 @@ export namespace paloalto { export interface NextGenerationFirewallVirtualNetworkPanoramaDnsSettings { azureDnsServers?: pulumi.Input[]>; /** - * Specifies a list of DNS servers to use. Conflicts with `dns_settings.0.use_azure_dns`. + * Specifies a list of DNS servers to use. Conflicts with `dns_settings[0].use_azure_dns`. */ dnsServers?: pulumi.Input[]>; /** - * Should the Firewall use Azure Supplied DNS servers. Conflicts with `dns_settings.0.dns_servers`. Defaults to `false`. + * Should the Firewall use Azure Supplied DNS servers. Conflicts with `dns_settings[0].dns_servers`. Defaults to `false`. */ useAzureDns?: pulumi.Input; } @@ -46708,15 +46815,15 @@ export namespace pim { export interface ActiveRoleAssignmentScheduleExpiration { /** - * The duration of the role assignment in days. Conflicts with `schedule.0.expiration.0.duration_hours`,`schedule.0.expiration.0.end_date_time` Changing this forces a new Pim Active Role Assignment to be created. + * The duration of the role assignment in days. Conflicts with `schedule[0].expiration[0].duration_hours`,`schedule[0].expiration[0].end_date_time` Changing this forces a new Pim Active Role Assignment to be created. */ durationDays?: pulumi.Input; /** - * The duration of the role assignment in hours. Conflicts with `schedule.0.expiration.0.duration_days`,`schedule.0.expiration.0.end_date_time` Changing this forces a new Pim Active Role Assignment to be created. + * The duration of the role assignment in hours. Conflicts with `schedule[0].expiration[0].duration_days`,`schedule[0].expiration[0].end_date_time` Changing this forces a new Pim Active Role Assignment to be created. */ durationHours?: pulumi.Input; /** - * The end date time of the role assignment. Conflicts with `schedule.0.expiration.0.duration_days`,`schedule.0.expiration.0.duration_hours` Changing this forces a new Pim Active Role Assignment to be created. + * The end date time of the role assignment. Conflicts with `schedule[0].expiration[0].duration_days`,`schedule[0].expiration[0].duration_hours` Changing this forces a new Pim Active Role Assignment to be created. */ endDateTime?: pulumi.Input; } @@ -46745,15 +46852,15 @@ export namespace pim { export interface EligibleRoleAssignmentScheduleExpiration { /** - * The duration of the role assignment in days. Conflicts with `schedule.0.expiration.0.duration_hours`,`schedule.0.expiration.0.end_date_time` Changing this forces a new Pim Eligible Role Assignment to be created. + * The duration of the role assignment in days. Conflicts with `schedule[0].expiration[0].duration_hours`,`schedule[0].expiration[0].end_date_time` Changing this forces a new Pim Eligible Role Assignment to be created. */ durationDays?: pulumi.Input; /** - * The duration of the role assignment in hours. Conflicts with `schedule.0.expiration.0.duration_days`,`schedule.0.expiration.0.end_date_time` Changing this forces a new Pim Eligible Role Assignment to be created. + * The duration of the role assignment in hours. Conflicts with `schedule[0].expiration[0].duration_days`,`schedule[0].expiration[0].end_date_time` Changing this forces a new Pim Eligible Role Assignment to be created. */ durationHours?: pulumi.Input; /** - * The end date time of the role assignment. Conflicts with `schedule.0.expiration.0.duration_days`,`schedule.0.expiration.0.duration_hours` Changing this forces a new Pim Eligible Role Assignment to be created. + * The end date time of the role assignment. Conflicts with `schedule[0].expiration[0].duration_days`,`schedule[0].expiration[0].duration_hours` Changing this forces a new Pim Eligible Role Assignment to be created. */ endDateTime?: pulumi.Input; } @@ -46878,13 +46985,13 @@ export namespace postgresql { /** * The geo backup user managed identity id for a Customer Managed Key. Should be added with `identityIds`. It can't cross region and need identity in same region as geo backup. * - * > **NOTE:** `primaryUserAssignedIdentityId` or `geoBackupUserAssignedIdentityId` is required when `type` is set to `UserAssigned`. + * > **Note:** `primaryUserAssignedIdentityId` or `geoBackupUserAssignedIdentityId` is required when `type` is set to `UserAssigned`. */ geoBackupUserAssignedIdentityId?: pulumi.Input; /** * The ID of the Key Vault Key. */ - keyVaultKeyId?: pulumi.Input; + keyVaultKeyId: pulumi.Input; /** * Specifies the primary user managed identity id for a Customer Managed Key. Should be added with `identityIds`. */ @@ -47026,7 +47133,7 @@ export namespace privatedns { */ privateIpAddress?: pulumi.Input; /** - * Private IP address allocation method. Allowed value is `Dynamic`. Defaults to `Dynamic`. + * Private IP address allocation method. Allowed value is `Dynamic` and `Static`. Defaults to `Dynamic`. */ privateIpAllocationMethod?: pulumi.Input; /** @@ -47292,7 +47399,7 @@ export namespace recoveryservices { */ keyId: pulumi.Input; /** - * Indicate that system assigned identity should be used or not. Defaults to `true`. + * Indicate that system assigned identity should be used or not. Defaults to `true`. Must be set to `false` when `userAssignedIdentityId` is set. * * !> **Note:** `useSystemAssignedIdentity` only be able to set to `false` for **new** vaults. Any vaults containing existing items registered or attempted to be registered to it are not supported. Details can be found in [the document](https://learn.microsoft.com/en-us/azure/backup/encryption-at-rest-with-cmk?tabs=portal#before-you-start) * @@ -47525,6 +47632,10 @@ export namespace redis { * Example usage: */ aofStorageConnectionString1?: pulumi.Input; + /** + * Preferred auth method to communicate to storage account used for data persistence. Possible values are `SAS` and `ManagedIdentity`. Defaults to `SAS`. + */ + dataPersistenceAuthenticationMethod?: pulumi.Input; /** * If set to `false`, the Redis instance will be accessible without authentication. Defaults to `true`. * @@ -51495,6 +51606,10 @@ export namespace synapse { * The Azure Key Vault Key Versionless ID to be used as the Customer Managed Key (CMK) for double encryption (e.g. `https://example-keyvault.vault.azure.net/type/cmk/`). */ keyVersionlessId: pulumi.Input; + /** + * The User Assigned Identity ID to be used for accessing the Customer Managed Key for encryption. + */ + userAssignedIdentityId?: pulumi.Input; } export interface WorkspaceGithubRepo { diff --git a/sdk/nodejs/types/output.ts b/sdk/nodejs/types/output.ts index 60d1751a66..d0289dc2b2 100644 --- a/sdk/nodejs/types/output.ts +++ b/sdk/nodejs/types/output.ts @@ -2990,7 +2990,7 @@ export namespace appplatform { export interface SpringCloudCustomizedAcceleratorGitRepository { /** - * A `basicAuth` block as defined below. Conflicts with `git_repository.0.ssh_auth`. Changing this forces a new Spring Cloud Customized Accelerator to be created. + * A `basicAuth` block as defined below. Conflicts with `git_repository[0].ssh_auth`. Changing this forces a new Spring Cloud Customized Accelerator to be created. */ basicAuth?: outputs.appplatform.SpringCloudCustomizedAcceleratorGitRepositoryBasicAuth; /** @@ -3018,7 +3018,7 @@ export namespace appplatform { */ path?: string; /** - * A `sshAuth` block as defined below. Conflicts with `git_repository.0.basic_auth`. Changing this forces a new Spring Cloud Customized Accelerator to be created. + * A `sshAuth` block as defined below. Conflicts with `git_repository[0].basic_auth`. Changing this forces a new Spring Cloud Customized Accelerator to be created. */ sshAuth?: outputs.appplatform.SpringCloudCustomizedAcceleratorGitRepositorySshAuth; /** @@ -12565,7 +12565,7 @@ export namespace appservice { */ pythonVersion?: string; /** - * Te version of Ruby to run. Possible values include `2.6` and `2.7`. + * The version of Ruby to run. Possible values include `2.6` and `2.7`. */ rubyVersion?: string; } @@ -13683,7 +13683,7 @@ export namespace appservice { */ pythonVersion?: string; /** - * Te version of Ruby to run. Possible values include `2.6` and `2.7`. + * The version of Ruby to run. Possible values include `2.6` and `2.7`. */ rubyVersion?: string; } @@ -21386,7 +21386,7 @@ export namespace batch { */ name: string; /** - * The extension can contain either `protectedSettings` or `provisionAfterExtensions` or no protected settings at all. + * JSON formatted protected settings for the extension, the value should be encoded with `jsonencode` function. The extension can contain either `protectedSettings` or `provisionAfterExtensions` or no protected settings at all. */ protectedSettings?: string; /** @@ -21398,7 +21398,7 @@ export namespace batch { */ publisher: string; /** - * JSON formatted public settings for the extension. + * JSON formatted public settings for the extension, the value should be encoded with `jsonencode` function. */ settingsJson?: string; /** @@ -24634,6 +24634,10 @@ export namespace compute { } export interface LinuxVirtualMachineGalleryApplication { + /** + * Specifies whether the version will be automatically updated for the VM when a new Gallery Application version is available in PIR/SIG. Defaults to `false`. + */ + automaticUpgradeEnabled?: boolean; /** * Specifies the URI to an Azure Blob that will replace the default configuration for the package if provided. */ @@ -24646,6 +24650,10 @@ export namespace compute { * Specifies a passthrough value for more generic context. This field can be any valid `string` value. */ tag?: string; + /** + * Specifies whether any failure for any operation in the VmApplication will fail the deployment of the VM. Defaults to `false`. + */ + treatFailureAsDeploymentFailureEnabled?: boolean; /** * Specifies the Gallery Application Version resource ID. */ @@ -24737,6 +24745,13 @@ export namespace compute { placement?: string; } + export interface LinuxVirtualMachineOsImageNotification { + /** + * Length of time a notification to be sent to the VM on the instance metadata server till the VM gets OS upgraded. The only possible value is `PT15M`. Defaults to `PT15M`. + */ + timeout?: string; + } + export interface LinuxVirtualMachinePlan { /** * Specifies the Name of the Marketplace Image this Virtual Machine should be created from. Changing this forces a new resource to be created. @@ -25394,11 +25409,11 @@ export namespace compute { */ diskEncryptionSetId?: string; /** - * The size of the Data Disk which should be created. + * The size of the Data Disk which should be created. Required if `createOption` is specified as `Empty`. */ diskSizeGb: number; /** - * The Logical Unit Number of the Data Disk, which must be unique within the Virtual Machine. + * The Logical Unit Number of the Data Disk, which must be unique within the Virtual Machine. Required if `createOption` is specified as `Empty`. */ lun: number; /** @@ -26976,6 +26991,10 @@ export namespace compute { } export interface WindowsVirtualMachineGalleryApplication { + /** + * Specifies whether the version will be automatically updated for the VM when a new Gallery Application version is available in PIR/SIG. Defaults to `false`. + */ + automaticUpgradeEnabled?: boolean; /** * Specifies the URI to an Azure Blob that will replace the default configuration for the package if provided. */ @@ -26988,6 +27007,10 @@ export namespace compute { * Specifies a passthrough value for more generic context. This field can be any valid `string` value. */ tag?: string; + /** + * Specifies whether any failure for any operation in the VmApplication will fail the deployment of the VM. Defaults to `false`. + */ + treatFailureAsDeploymentFailureEnabled?: boolean; /** * Specifies the Gallery Application Version resource ID. */ @@ -27079,6 +27102,13 @@ export namespace compute { placement?: string; } + export interface WindowsVirtualMachineOsImageNotification { + /** + * Length of time a notification to be sent to the VM on the instance metadata server till the VM gets OS upgraded. The only possible value is `PT15M`. Defaults to `PT15M`. + */ + timeout?: string; + } + export interface WindowsVirtualMachinePlan { /** * Specifies the Name of the Marketplace Image this Virtual Machine should be created from. Changing this forces a new resource to be created. @@ -27827,6 +27857,7 @@ export namespace config { export interface FeaturesVirtualMachineScaleSet { forceDelete?: boolean; + reimageOnManualUpgrade?: boolean; rollInstancesWhenRequired?: boolean; scaleToZeroBeforeDeletion?: boolean; } @@ -29748,6 +29779,57 @@ export namespace containerservice { tag?: string; } + export interface FleetUpdateRunManagedClusterUpdate { + /** + * A `nodeImageSelection` block as defined below. + */ + nodeImageSelection?: outputs.containerservice.FleetUpdateRunManagedClusterUpdateNodeImageSelection; + /** + * A `upgrade` block as defined below. + */ + upgrade: outputs.containerservice.FleetUpdateRunManagedClusterUpdateUpgrade; + } + + export interface FleetUpdateRunManagedClusterUpdateNodeImageSelection { + /** + * Specifies the node image upgrade type. Possible values are `Latest` and `Consistent`. + */ + type: string; + } + + export interface FleetUpdateRunManagedClusterUpdateUpgrade { + /** + * Specifies the Kubernetes version to upgrade the member clusters to. This is required if `type` is set to `Full`. + */ + kubernetesVersion?: string; + /** + * Specifies the type of upgrade to perform. Possible values are `Full` and `NodeImageOnly`. + */ + type: string; + } + + export interface FleetUpdateRunStage { + /** + * Specifies the time in seconds to wait at the end of this stage before starting the next one. + */ + afterStageWaitInSeconds?: number; + /** + * One or more `group` blocks as defined below. + */ + groups: outputs.containerservice.FleetUpdateRunStageGroup[]; + /** + * The name which should be used for this stage. + */ + name: string; + } + + export interface FleetUpdateRunStageGroup { + /** + * The name which should be used for this group. + */ + name: string; + } + export interface FleetUpdateStrategyStage { /** * Specifies the time in seconds to wait at the end of this stage before starting the next one. @@ -31157,7 +31239,7 @@ export namespace containerservice { */ osDiskType?: string; /** - * Specifies the OS SKU used by the agent pool. Possible values are `AzureLinux`, `CBLMariner`, `Mariner`, `Ubuntu`, `Windows2019` and `Windows2022`. If not specified, the default is `Ubuntu` if OSType=Linux or `Windows2019` if OSType=Windows. And the default Windows OSSKU will be changed to `Windows2022` after Windows2019 is deprecated. `temporaryNameForRotation` must be specified when attempting a change. + * Specifies the OS SKU used by the agent pool. Possible values are `AzureLinux`, `Ubuntu`, `Windows2019` and `Windows2022`. If not specified, the default is `Ubuntu` if OSType=Linux or `Windows2019` if OSType=Windows. And the default Windows OSSKU will be changed to `Windows2022` after Windows2019 is deprecated. `temporaryNameForRotation` must be specified when attempting a change. */ osSku: string; /** @@ -31573,7 +31655,7 @@ export namespace containerservice { export interface KubernetesClusterKeyManagementService { /** - * Identifier of Azure Key Vault key. See [key identifier format](https://learn.microsoft.com/en-us/azure/key-vault/general/about-keys-secrets-certificates#vault-name-and-object-name) for more details. When Azure Key Vault key management service is enabled, this field is required and must be a valid key identifier. When `enabled` is `false`, leave the field empty. + * Identifier of Azure Key Vault key. See [key identifier format](https://learn.microsoft.com/en-us/azure/key-vault/general/about-keys-secrets-certificates#vault-name-and-object-name) for more details. */ keyVaultKeyId: string; /** @@ -31939,7 +32021,7 @@ export namespace containerservice { */ networkPolicy: string; /** - * The outbound (egress) routing method which should be used for this Kubernetes Cluster. Possible values are `loadBalancer`, `userDefinedRouting`, `managedNATGateway` and `userAssignedNATGateway`. Defaults to `loadBalancer`. Changing this forces a new resource to be created. + * The outbound (egress) routing method which should be used for this Kubernetes Cluster. Possible values are `loadBalancer`, `userDefinedRouting`, `managedNATGateway` and `userAssignedNATGateway`. Defaults to `loadBalancer`. More information on supported migration paths for `outboundType` can be found in [this documentation](https://learn.microsoft.com/azure/aks/egress-outboundtype#updating-outboundtype-after-cluster-creation). */ outboundType?: string; /** @@ -32799,7 +32881,7 @@ export namespace containerservice { export interface TokenPasswordPassword1 { /** - * The expiration date of the password in RFC3339 format. Changing this forces a new resource to be created. + * The expiration date of the password in RFC3339 format. If not specified, the password never expires. Changing this forces a new resource to be created. */ expiry?: string; /** @@ -32810,7 +32892,7 @@ export namespace containerservice { export interface TokenPasswordPassword2 { /** - * The expiration date of the password in RFC3339 format. Changing this forces a new resource to be created. + * The expiration date of the password in RFC3339 format. If not specified, the password never expires. Changing this forces a new resource to be created. */ expiry?: string; /** @@ -33493,6 +33575,10 @@ export namespace cosmosdb { * > **Note:** You can only configure `intervalInMinutes`, `retentionInHours` and `storageRedundancy` when the `type` field is set to `Periodic`. */ storageRedundancy: string; + /** + * The continuous backup tier. Possible values are `Continuous7Days` and `Continuous30Days`. + */ + tier: string; /** * The type of the `backup`. Possible values are `Continuous` and `Periodic`. * @@ -36821,6 +36907,20 @@ export namespace desktopvirtualization { } export namespace devcenter { + export interface CatalogCatalogAdogit { + branch: string; + keyVaultKeyUrl: string; + path: string; + uri: string; + } + + export interface CatalogCatalogGithub { + branch: string; + keyVaultKeyUrl: string; + path: string; + uri: string; + } + export interface DevCenterIdentity { identityIds?: string[]; principalId: string; @@ -45982,23 +46082,23 @@ export namespace machinelearning { export interface InferenceClusterSsl { /** - * The certificate for the SSL configuration.Conflicts with `ssl.0.leaf_domain_label`,`ssl.0.overwrite_existing_domain`. Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `""`. + * The certificate for the SSL configuration.Conflicts with `ssl[0].leaf_domain_label`,`ssl[0].overwrite_existing_domain`. Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `""`. */ cert?: string; /** - * The cname of the SSL configuration.Conflicts with `ssl.0.leaf_domain_label`,`ssl.0.overwrite_existing_domain`. Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `""`. + * The cname of the SSL configuration.Conflicts with `ssl[0].leaf_domain_label`,`ssl[0].overwrite_existing_domain`. Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `""`. */ cname?: string; /** - * The key content for the SSL configuration.Conflicts with `ssl.0.leaf_domain_label`,`ssl.0.overwrite_existing_domain`. Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `""`. + * The key content for the SSL configuration.Conflicts with `ssl[0].leaf_domain_label`,`ssl[0].overwrite_existing_domain`. Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `""`. */ key?: string; /** - * The leaf domain label for the SSL configuration. Conflicts with `ssl.0.cert`,`ssl.0.key`,`ssl.0.cname`. Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `""`. + * The leaf domain label for the SSL configuration. Conflicts with `ssl[0].cert`,`ssl[0].key`,`ssl[0].cname`. Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `""`. */ leafDomainLabel?: string; /** - * Whether or not to overwrite existing leaf domain. Conflicts with `ssl.0.cert`,`ssl.0.key`,`ssl.0.cname` Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `""`. + * Whether or not to overwrite existing leaf domain. Conflicts with `ssl[0].cert`,`ssl[0].key`,`ssl[0].cname` Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `""`. */ overwriteExistingDomain?: boolean; } @@ -46079,6 +46179,13 @@ export namespace machinelearning { type: string; } + export interface WorkspaceManagedNetwork { + /** + * The isolation mode of the Machine Learning Workspace. Possible values are `Disabled`, `AllowOnlyApprovedOutbound`, and `AllowInternetOutbound` + */ + isolationMode: string; + } + } export namespace maintenance { @@ -52489,7 +52596,7 @@ export namespace mssql { export interface ServerAzureadAdministrator { /** - * Specifies whether only AD Users and administrators (e.g. `azuread_administrator.0.login_username`) can be used to login, or also local database users (e.g. `administratorLogin`). When `true`, the `administratorLogin` and `administratorLoginPassword` properties can be omitted. + * Specifies whether only AD Users and administrators (e.g. `azuread_administrator[0].login_username`) can be used to login, or also local database users (e.g. `administratorLogin`). When `true`, the `administratorLogin` and `administratorLoginPassword` properties can be omitted. */ azureadAuthenticationOnly: boolean; /** @@ -52926,7 +53033,7 @@ export namespace mysql { /** * The high availability mode for the MySQL Flexible Server. Possibles values are `SameZone` and `ZoneRedundant`. * - * > **NOTE:** `storage.0.auto_grow_enabled` must be enabled when `highAvailability` is enabled. To change the `highAvailability` for a MySQL Flexible Server created with `highAvailability` disabled during creation, the resource has to be recreated. + * > **NOTE:** `storage[0].auto_grow_enabled` must be enabled when `highAvailability` is enabled. To change the `highAvailability` for a MySQL Flexible Server created with `highAvailability` disabled during creation, the resource has to be recreated. */ mode: string; standbyAvailabilityZone?: string; @@ -54130,7 +54237,7 @@ export namespace network { /** * Rule evaluation order can be dictated by specifying an integer value from `1` to `20000` with `1` being the highest priority and `20000` being the lowest priority. * - * > **NOTE:** `priority` is required when `sku.0.tier` is set to `*_v2`. + * > **NOTE:** `priority` is required when `sku[0].tier` is set to `*_v2`. */ priority?: number; /** @@ -58088,7 +58195,7 @@ export namespace network { */ name?: string; /** - * Defines how the private IP address of the gateways virtual interface is assigned. Valid options are `Static` or `Dynamic`. Defaults to `Dynamic`. + * Defines how the private IP address of the gateways virtual interface is assigned. The only valid value is `Dynamic` for Virtual Network Gateway (`Static` is not supported by the service yet). Defaults to `Dynamic`. */ privateIpAddressAllocation?: string; /** @@ -59395,11 +59502,11 @@ export namespace paloalto { export interface NextGenerationFirewallVirtualNetworkLocalRulestackDnsSettings { azureDnsServers: string[]; /** - * Specifies a list of DNS servers to use. Conflicts with `dns_settings.0.use_azure_dns`. + * Specifies a list of DNS servers to use. Conflicts with `dns_settings[0].use_azure_dns`. */ dnsServers?: string[]; /** - * Should the Firewall use Azure Supplied DNS servers. Conflicts with `dns_settings.0.dns_servers`. Defaults to `false`. + * Should the Firewall use Azure Supplied DNS servers. Conflicts with `dns_settings[0].dns_servers`. Defaults to `false`. */ useAzureDns?: boolean; } @@ -59487,11 +59594,11 @@ export namespace paloalto { export interface NextGenerationFirewallVirtualNetworkPanoramaDnsSettings { azureDnsServers: string[]; /** - * Specifies a list of DNS servers to use. Conflicts with `dns_settings.0.use_azure_dns`. + * Specifies a list of DNS servers to use. Conflicts with `dns_settings[0].use_azure_dns`. */ dnsServers?: string[]; /** - * Should the Firewall use Azure Supplied DNS servers. Conflicts with `dns_settings.0.dns_servers`. Defaults to `false`. + * Should the Firewall use Azure Supplied DNS servers. Conflicts with `dns_settings[0].dns_servers`. Defaults to `false`. */ useAzureDns?: boolean; } @@ -59580,15 +59687,15 @@ export namespace pim { export interface ActiveRoleAssignmentScheduleExpiration { /** - * The duration of the role assignment in days. Conflicts with `schedule.0.expiration.0.duration_hours`,`schedule.0.expiration.0.end_date_time` Changing this forces a new Pim Active Role Assignment to be created. + * The duration of the role assignment in days. Conflicts with `schedule[0].expiration[0].duration_hours`,`schedule[0].expiration[0].end_date_time` Changing this forces a new Pim Active Role Assignment to be created. */ durationDays: number; /** - * The duration of the role assignment in hours. Conflicts with `schedule.0.expiration.0.duration_days`,`schedule.0.expiration.0.end_date_time` Changing this forces a new Pim Active Role Assignment to be created. + * The duration of the role assignment in hours. Conflicts with `schedule[0].expiration[0].duration_days`,`schedule[0].expiration[0].end_date_time` Changing this forces a new Pim Active Role Assignment to be created. */ durationHours: number; /** - * The end date time of the role assignment. Conflicts with `schedule.0.expiration.0.duration_days`,`schedule.0.expiration.0.duration_hours` Changing this forces a new Pim Active Role Assignment to be created. + * The end date time of the role assignment. Conflicts with `schedule[0].expiration[0].duration_days`,`schedule[0].expiration[0].duration_hours` Changing this forces a new Pim Active Role Assignment to be created. */ endDateTime: string; } @@ -59617,15 +59724,15 @@ export namespace pim { export interface EligibleRoleAssignmentScheduleExpiration { /** - * The duration of the role assignment in days. Conflicts with `schedule.0.expiration.0.duration_hours`,`schedule.0.expiration.0.end_date_time` Changing this forces a new Pim Eligible Role Assignment to be created. + * The duration of the role assignment in days. Conflicts with `schedule[0].expiration[0].duration_hours`,`schedule[0].expiration[0].end_date_time` Changing this forces a new Pim Eligible Role Assignment to be created. */ durationDays: number; /** - * The duration of the role assignment in hours. Conflicts with `schedule.0.expiration.0.duration_days`,`schedule.0.expiration.0.end_date_time` Changing this forces a new Pim Eligible Role Assignment to be created. + * The duration of the role assignment in hours. Conflicts with `schedule[0].expiration[0].duration_days`,`schedule[0].expiration[0].end_date_time` Changing this forces a new Pim Eligible Role Assignment to be created. */ durationHours: number; /** - * The end date time of the role assignment. Conflicts with `schedule.0.expiration.0.duration_days`,`schedule.0.expiration.0.duration_hours` Changing this forces a new Pim Eligible Role Assignment to be created. + * The end date time of the role assignment. Conflicts with `schedule[0].expiration[0].duration_days`,`schedule[0].expiration[0].duration_hours` Changing this forces a new Pim Eligible Role Assignment to be created. */ endDateTime: string; } @@ -59830,13 +59937,13 @@ export namespace postgresql { /** * The geo backup user managed identity id for a Customer Managed Key. Should be added with `identityIds`. It can't cross region and need identity in same region as geo backup. * - * > **NOTE:** `primaryUserAssignedIdentityId` or `geoBackupUserAssignedIdentityId` is required when `type` is set to `UserAssigned`. + * > **Note:** `primaryUserAssignedIdentityId` or `geoBackupUserAssignedIdentityId` is required when `type` is set to `UserAssigned`. */ geoBackupUserAssignedIdentityId?: string; /** * The ID of the Key Vault Key. */ - keyVaultKeyId?: string; + keyVaultKeyId: string; /** * Specifies the primary user managed identity id for a Customer Managed Key. Should be added with `identityIds`. */ @@ -60057,7 +60164,7 @@ export namespace privatedns { */ privateIpAddress: string; /** - * Private IP address allocation method. Allowed value is `Dynamic`. Defaults to `Dynamic`. + * Private IP address allocation method. Allowed value is `Dynamic` and `Static`. Defaults to `Dynamic`. */ privateIpAllocationMethod?: string; /** @@ -60414,7 +60521,7 @@ export namespace recoveryservices { */ keyId: string; /** - * Indicate that system assigned identity should be used or not. Defaults to `true`. + * Indicate that system assigned identity should be used or not. Defaults to `true`. Must be set to `false` when `userAssignedIdentityId` is set. * * !> **Note:** `useSystemAssignedIdentity` only be able to set to `false` for **new** vaults. Any vaults containing existing items registered or attempted to be registered to it are not supported. Details can be found in [the document](https://learn.microsoft.com/en-us/azure/backup/encryption-at-rest-with-cmk?tabs=portal#before-you-start) * @@ -60649,6 +60756,10 @@ export namespace redis { * Example usage: */ aofStorageConnectionString1?: string; + /** + * Preferred auth method to communicate to storage account used for data persistence. Possible values are `SAS` and `ManagedIdentity`. Defaults to `SAS`. + */ + dataPersistenceAuthenticationMethod?: string; /** * If set to `false`, the Redis instance will be accessible without authentication. Defaults to `true`. * @@ -60736,6 +60847,7 @@ export namespace redis { aofBackupEnabled: boolean; aofStorageConnectionString0: string; aofStorageConnectionString1: string; + dataPersistenceAuthenticationMethod: string; /** * Specifies if authentication is enabled */ @@ -64404,6 +64516,21 @@ export namespace storage { start: string; } + export interface GetTableEntitiesItem { + /** + * Partition Key of the Entity. + */ + partitionKey: string; + /** + * A map of any additional properties in key-value format. + */ + properties: {[key: string]: string}; + /** + * Row Key of the Entity. + */ + rowKey: string; + } + export interface LocalUserPermissionScope { /** * A `permissions` block as defined below. @@ -65157,6 +65284,10 @@ export namespace synapse { * The Azure Key Vault Key Versionless ID to be used as the Customer Managed Key (CMK) for double encryption (e.g. `https://example-keyvault.vault.azure.net/type/cmk/`). */ keyVersionlessId: string; + /** + * The User Assigned Identity ID to be used for accessing the Customer Managed Key for encryption. + */ + userAssignedIdentityId?: string; } export interface WorkspaceGithubRepo { diff --git a/sdk/python/pulumi_azure/__init__.py b/sdk/python/pulumi_azure/__init__.py index ead29a5136..8a4171c8f5 100644 --- a/sdk/python/pulumi_azure/__init__.py +++ b/sdk/python/pulumi_azure/__init__.py @@ -120,6 +120,8 @@ eventgrid = __eventgrid import pulumi_azure.eventhub as __eventhub eventhub = __eventhub + import pulumi_azure.expressroute as __expressroute + expressroute = __expressroute import pulumi_azure.fluidrelay as __fluidrelay fluidrelay = __fluidrelay import pulumi_azure.frontdoor as __frontdoor @@ -262,6 +264,8 @@ streamanalytics = __streamanalytics import pulumi_azure.synapse as __synapse synapse = __synapse + import pulumi_azure.systemcenter as __systemcenter + systemcenter = __systemcenter import pulumi_azure.trafficmanager as __trafficmanager trafficmanager = __trafficmanager import pulumi_azure.videoanalyzer as __videoanalyzer @@ -328,6 +332,7 @@ elasticsan = _utilities.lazy_import('pulumi_azure.elasticsan') eventgrid = _utilities.lazy_import('pulumi_azure.eventgrid') eventhub = _utilities.lazy_import('pulumi_azure.eventhub') + expressroute = _utilities.lazy_import('pulumi_azure.expressroute') fluidrelay = _utilities.lazy_import('pulumi_azure.fluidrelay') frontdoor = _utilities.lazy_import('pulumi_azure.frontdoor') graph = _utilities.lazy_import('pulumi_azure.graph') @@ -399,6 +404,7 @@ storage = _utilities.lazy_import('pulumi_azure.storage') streamanalytics = _utilities.lazy_import('pulumi_azure.streamanalytics') synapse = _utilities.lazy_import('pulumi_azure.synapse') + systemcenter = _utilities.lazy_import('pulumi_azure.systemcenter') trafficmanager = _utilities.lazy_import('pulumi_azure.trafficmanager') videoanalyzer = _utilities.lazy_import('pulumi_azure.videoanalyzer') voice = _utilities.lazy_import('pulumi_azure.voice') @@ -2608,6 +2614,14 @@ "azure:containerservice/fleetMember:FleetMember": "FleetMember" } }, + { + "pkg": "azure", + "mod": "containerservice/fleetUpdateRun", + "fqn": "pulumi_azure.containerservice", + "classes": { + "azure:containerservice/fleetUpdateRun:FleetUpdateRun": "FleetUpdateRun" + } + }, { "pkg": "azure", "mod": "containerservice/fleetUpdateStrategy", @@ -3840,6 +3854,14 @@ "azure:desktopvirtualization/workspaceApplicationGroupAssociation:WorkspaceApplicationGroupAssociation": "WorkspaceApplicationGroupAssociation" } }, + { + "pkg": "azure", + "mod": "devcenter/catalog", + "fqn": "pulumi_azure.devcenter", + "classes": { + "azure:devcenter/catalog:Catalog": "Catalog" + } + }, { "pkg": "azure", "mod": "devcenter/devCenter", @@ -9008,6 +9030,14 @@ "azure:synapse/workspaceVulnerabilityAssessment:WorkspaceVulnerabilityAssessment": "WorkspaceVulnerabilityAssessment" } }, + { + "pkg": "azure", + "mod": "systemcenter/virtualMachineManagerServer", + "fqn": "pulumi_azure.systemcenter", + "classes": { + "azure:systemcenter/virtualMachineManagerServer:VirtualMachineManagerServer": "VirtualMachineManagerServer" + } + }, { "pkg": "azure", "mod": "trafficmanager/profile", diff --git a/sdk/python/pulumi_azure/_inputs.py b/sdk/python/pulumi_azure/_inputs.py index 40a5d856ef..661cedabb4 100644 --- a/sdk/python/pulumi_azure/_inputs.py +++ b/sdk/python/pulumi_azure/_inputs.py @@ -576,10 +576,13 @@ def skip_shutdown_and_force_delete(self, value: Optional[pulumi.Input[bool]]): class ProviderFeaturesVirtualMachineScaleSetArgs: def __init__(__self__, *, force_delete: Optional[pulumi.Input[bool]] = None, + reimage_on_manual_upgrade: Optional[pulumi.Input[bool]] = None, roll_instances_when_required: Optional[pulumi.Input[bool]] = None, scale_to_zero_before_deletion: Optional[pulumi.Input[bool]] = None): if force_delete is not None: pulumi.set(__self__, "force_delete", force_delete) + if reimage_on_manual_upgrade is not None: + pulumi.set(__self__, "reimage_on_manual_upgrade", reimage_on_manual_upgrade) if roll_instances_when_required is not None: pulumi.set(__self__, "roll_instances_when_required", roll_instances_when_required) if scale_to_zero_before_deletion is not None: @@ -594,6 +597,15 @@ def force_delete(self) -> Optional[pulumi.Input[bool]]: def force_delete(self, value: Optional[pulumi.Input[bool]]): pulumi.set(self, "force_delete", value) + @property + @pulumi.getter(name="reimageOnManualUpgrade") + def reimage_on_manual_upgrade(self) -> Optional[pulumi.Input[bool]]: + return pulumi.get(self, "reimage_on_manual_upgrade") + + @reimage_on_manual_upgrade.setter + def reimage_on_manual_upgrade(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "reimage_on_manual_upgrade", value) + @property @pulumi.getter(name="rollInstancesWhenRequired") def roll_instances_when_required(self) -> Optional[pulumi.Input[bool]]: diff --git a/sdk/python/pulumi_azure/appplatform/_inputs.py b/sdk/python/pulumi_azure/appplatform/_inputs.py index 766afa571f..0d897715ea 100644 --- a/sdk/python/pulumi_azure/appplatform/_inputs.py +++ b/sdk/python/pulumi_azure/appplatform/_inputs.py @@ -962,14 +962,14 @@ def __init__(__self__, *, ssh_auth: Optional[pulumi.Input['SpringCloudCustomizedAcceleratorGitRepositorySshAuthArgs']] = None): """ :param pulumi.Input[str] url: Specifies Git repository URL for the accelerator. - :param pulumi.Input['SpringCloudCustomizedAcceleratorGitRepositoryBasicAuthArgs'] basic_auth: A `basic_auth` block as defined below. Conflicts with `git_repository.0.ssh_auth`. Changing this forces a new Spring Cloud Customized Accelerator to be created. + :param pulumi.Input['SpringCloudCustomizedAcceleratorGitRepositoryBasicAuthArgs'] basic_auth: A `basic_auth` block as defined below. Conflicts with `git_repository[0].ssh_auth`. Changing this forces a new Spring Cloud Customized Accelerator to be created. :param pulumi.Input[str] branch: Specifies the Git repository branch to be used. :param pulumi.Input[str] ca_certificate_id: Specifies the ID of the CA Spring Cloud Certificate for https URL of Git repository. :param pulumi.Input[str] commit: Specifies the Git repository commit to be used. :param pulumi.Input[str] git_tag: Specifies the Git repository tag to be used. :param pulumi.Input[int] interval_in_seconds: Specifies the interval for checking for updates to Git or image repository. It should be greater than 10. :param pulumi.Input[str] path: Specifies the path under the git repository to be treated as the root directory of the accelerator or the fragment (depending on `accelerator_type`). - :param pulumi.Input['SpringCloudCustomizedAcceleratorGitRepositorySshAuthArgs'] ssh_auth: A `ssh_auth` block as defined below. Conflicts with `git_repository.0.basic_auth`. Changing this forces a new Spring Cloud Customized Accelerator to be created. + :param pulumi.Input['SpringCloudCustomizedAcceleratorGitRepositorySshAuthArgs'] ssh_auth: A `ssh_auth` block as defined below. Conflicts with `git_repository[0].basic_auth`. Changing this forces a new Spring Cloud Customized Accelerator to be created. """ pulumi.set(__self__, "url", url) if basic_auth is not None: @@ -1005,7 +1005,7 @@ def url(self, value: pulumi.Input[str]): @pulumi.getter(name="basicAuth") def basic_auth(self) -> Optional[pulumi.Input['SpringCloudCustomizedAcceleratorGitRepositoryBasicAuthArgs']]: """ - A `basic_auth` block as defined below. Conflicts with `git_repository.0.ssh_auth`. Changing this forces a new Spring Cloud Customized Accelerator to be created. + A `basic_auth` block as defined below. Conflicts with `git_repository[0].ssh_auth`. Changing this forces a new Spring Cloud Customized Accelerator to be created. """ return pulumi.get(self, "basic_auth") @@ -1089,7 +1089,7 @@ def path(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="sshAuth") def ssh_auth(self) -> Optional[pulumi.Input['SpringCloudCustomizedAcceleratorGitRepositorySshAuthArgs']]: """ - A `ssh_auth` block as defined below. Conflicts with `git_repository.0.basic_auth`. Changing this forces a new Spring Cloud Customized Accelerator to be created. + A `ssh_auth` block as defined below. Conflicts with `git_repository[0].basic_auth`. Changing this forces a new Spring Cloud Customized Accelerator to be created. """ return pulumi.get(self, "ssh_auth") diff --git a/sdk/python/pulumi_azure/appplatform/outputs.py b/sdk/python/pulumi_azure/appplatform/outputs.py index 3fe959445d..b076f917db 100644 --- a/sdk/python/pulumi_azure/appplatform/outputs.py +++ b/sdk/python/pulumi_azure/appplatform/outputs.py @@ -990,14 +990,14 @@ def __init__(__self__, *, ssh_auth: Optional['outputs.SpringCloudCustomizedAcceleratorGitRepositorySshAuth'] = None): """ :param str url: Specifies Git repository URL for the accelerator. - :param 'SpringCloudCustomizedAcceleratorGitRepositoryBasicAuthArgs' basic_auth: A `basic_auth` block as defined below. Conflicts with `git_repository.0.ssh_auth`. Changing this forces a new Spring Cloud Customized Accelerator to be created. + :param 'SpringCloudCustomizedAcceleratorGitRepositoryBasicAuthArgs' basic_auth: A `basic_auth` block as defined below. Conflicts with `git_repository[0].ssh_auth`. Changing this forces a new Spring Cloud Customized Accelerator to be created. :param str branch: Specifies the Git repository branch to be used. :param str ca_certificate_id: Specifies the ID of the CA Spring Cloud Certificate for https URL of Git repository. :param str commit: Specifies the Git repository commit to be used. :param str git_tag: Specifies the Git repository tag to be used. :param int interval_in_seconds: Specifies the interval for checking for updates to Git or image repository. It should be greater than 10. :param str path: Specifies the path under the git repository to be treated as the root directory of the accelerator or the fragment (depending on `accelerator_type`). - :param 'SpringCloudCustomizedAcceleratorGitRepositorySshAuthArgs' ssh_auth: A `ssh_auth` block as defined below. Conflicts with `git_repository.0.basic_auth`. Changing this forces a new Spring Cloud Customized Accelerator to be created. + :param 'SpringCloudCustomizedAcceleratorGitRepositorySshAuthArgs' ssh_auth: A `ssh_auth` block as defined below. Conflicts with `git_repository[0].basic_auth`. Changing this forces a new Spring Cloud Customized Accelerator to be created. """ pulumi.set(__self__, "url", url) if basic_auth is not None: @@ -1029,7 +1029,7 @@ def url(self) -> str: @pulumi.getter(name="basicAuth") def basic_auth(self) -> Optional['outputs.SpringCloudCustomizedAcceleratorGitRepositoryBasicAuth']: """ - A `basic_auth` block as defined below. Conflicts with `git_repository.0.ssh_auth`. Changing this forces a new Spring Cloud Customized Accelerator to be created. + A `basic_auth` block as defined below. Conflicts with `git_repository[0].ssh_auth`. Changing this forces a new Spring Cloud Customized Accelerator to be created. """ return pulumi.get(self, "basic_auth") @@ -1085,7 +1085,7 @@ def path(self) -> Optional[str]: @pulumi.getter(name="sshAuth") def ssh_auth(self) -> Optional['outputs.SpringCloudCustomizedAcceleratorGitRepositorySshAuth']: """ - A `ssh_auth` block as defined below. Conflicts with `git_repository.0.basic_auth`. Changing this forces a new Spring Cloud Customized Accelerator to be created. + A `ssh_auth` block as defined below. Conflicts with `git_repository[0].basic_auth`. Changing this forces a new Spring Cloud Customized Accelerator to be created. """ return pulumi.get(self, "ssh_auth") diff --git a/sdk/python/pulumi_azure/appplatform/spring_cloud_configuration_service.py b/sdk/python/pulumi_azure/appplatform/spring_cloud_configuration_service.py index a0b70c9afb..d4dc13da72 100644 --- a/sdk/python/pulumi_azure/appplatform/spring_cloud_configuration_service.py +++ b/sdk/python/pulumi_azure/appplatform/spring_cloud_configuration_service.py @@ -19,12 +19,14 @@ def __init__(__self__, *, spring_cloud_service_id: pulumi.Input[str], generation: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, + refresh_interval_in_seconds: Optional[pulumi.Input[int]] = None, repositories: Optional[pulumi.Input[Sequence[pulumi.Input['SpringCloudConfigurationServiceRepositoryArgs']]]] = None): """ The set of arguments for constructing a SpringCloudConfigurationService resource. :param pulumi.Input[str] spring_cloud_service_id: The ID of the Spring Cloud Service. Changing this forces a new Spring Cloud Configuration Service to be created. :param pulumi.Input[str] generation: The generation of the Spring Cloud Configuration Service. Possible values are `Gen1` and `Gen2`. :param pulumi.Input[str] name: The name which should be used for this Spring Cloud Configuration Service. The only possible value is `default`. Changing this forces a new Spring Cloud Configuration Service to be created. + :param pulumi.Input[int] refresh_interval_in_seconds: Specifies how often to check repository updates. Minimum value is 0. :param pulumi.Input[Sequence[pulumi.Input['SpringCloudConfigurationServiceRepositoryArgs']]] repositories: One or more `repository` blocks as defined below. """ pulumi.set(__self__, "spring_cloud_service_id", spring_cloud_service_id) @@ -32,6 +34,8 @@ def __init__(__self__, *, pulumi.set(__self__, "generation", generation) if name is not None: pulumi.set(__self__, "name", name) + if refresh_interval_in_seconds is not None: + pulumi.set(__self__, "refresh_interval_in_seconds", refresh_interval_in_seconds) if repositories is not None: pulumi.set(__self__, "repositories", repositories) @@ -71,6 +75,18 @@ def name(self) -> Optional[pulumi.Input[str]]: def name(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "name", value) + @property + @pulumi.getter(name="refreshIntervalInSeconds") + def refresh_interval_in_seconds(self) -> Optional[pulumi.Input[int]]: + """ + Specifies how often to check repository updates. Minimum value is 0. + """ + return pulumi.get(self, "refresh_interval_in_seconds") + + @refresh_interval_in_seconds.setter + def refresh_interval_in_seconds(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "refresh_interval_in_seconds", value) + @property @pulumi.getter def repositories(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['SpringCloudConfigurationServiceRepositoryArgs']]]]: @@ -89,12 +105,14 @@ class _SpringCloudConfigurationServiceState: def __init__(__self__, *, generation: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, + refresh_interval_in_seconds: Optional[pulumi.Input[int]] = None, repositories: Optional[pulumi.Input[Sequence[pulumi.Input['SpringCloudConfigurationServiceRepositoryArgs']]]] = None, spring_cloud_service_id: Optional[pulumi.Input[str]] = None): """ Input properties used for looking up and filtering SpringCloudConfigurationService resources. :param pulumi.Input[str] generation: The generation of the Spring Cloud Configuration Service. Possible values are `Gen1` and `Gen2`. :param pulumi.Input[str] name: The name which should be used for this Spring Cloud Configuration Service. The only possible value is `default`. Changing this forces a new Spring Cloud Configuration Service to be created. + :param pulumi.Input[int] refresh_interval_in_seconds: Specifies how often to check repository updates. Minimum value is 0. :param pulumi.Input[Sequence[pulumi.Input['SpringCloudConfigurationServiceRepositoryArgs']]] repositories: One or more `repository` blocks as defined below. :param pulumi.Input[str] spring_cloud_service_id: The ID of the Spring Cloud Service. Changing this forces a new Spring Cloud Configuration Service to be created. """ @@ -102,6 +120,8 @@ def __init__(__self__, *, pulumi.set(__self__, "generation", generation) if name is not None: pulumi.set(__self__, "name", name) + if refresh_interval_in_seconds is not None: + pulumi.set(__self__, "refresh_interval_in_seconds", refresh_interval_in_seconds) if repositories is not None: pulumi.set(__self__, "repositories", repositories) if spring_cloud_service_id is not None: @@ -131,6 +151,18 @@ def name(self) -> Optional[pulumi.Input[str]]: def name(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "name", value) + @property + @pulumi.getter(name="refreshIntervalInSeconds") + def refresh_interval_in_seconds(self) -> Optional[pulumi.Input[int]]: + """ + Specifies how often to check repository updates. Minimum value is 0. + """ + return pulumi.get(self, "refresh_interval_in_seconds") + + @refresh_interval_in_seconds.setter + def refresh_interval_in_seconds(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "refresh_interval_in_seconds", value) + @property @pulumi.getter def repositories(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['SpringCloudConfigurationServiceRepositoryArgs']]]]: @@ -163,6 +195,7 @@ def __init__(__self__, opts: Optional[pulumi.ResourceOptions] = None, generation: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, + refresh_interval_in_seconds: Optional[pulumi.Input[int]] = None, repositories: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['SpringCloudConfigurationServiceRepositoryArgs']]]]] = None, spring_cloud_service_id: Optional[pulumi.Input[str]] = None, __props__=None): @@ -215,6 +248,7 @@ def __init__(__self__, :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[str] generation: The generation of the Spring Cloud Configuration Service. Possible values are `Gen1` and `Gen2`. :param pulumi.Input[str] name: The name which should be used for this Spring Cloud Configuration Service. The only possible value is `default`. Changing this forces a new Spring Cloud Configuration Service to be created. + :param pulumi.Input[int] refresh_interval_in_seconds: Specifies how often to check repository updates. Minimum value is 0. :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['SpringCloudConfigurationServiceRepositoryArgs']]]] repositories: One or more `repository` blocks as defined below. :param pulumi.Input[str] spring_cloud_service_id: The ID of the Spring Cloud Service. Changing this forces a new Spring Cloud Configuration Service to be created. """ @@ -286,6 +320,7 @@ def _internal_init(__self__, opts: Optional[pulumi.ResourceOptions] = None, generation: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, + refresh_interval_in_seconds: Optional[pulumi.Input[int]] = None, repositories: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['SpringCloudConfigurationServiceRepositoryArgs']]]]] = None, spring_cloud_service_id: Optional[pulumi.Input[str]] = None, __props__=None): @@ -299,6 +334,7 @@ def _internal_init(__self__, __props__.__dict__["generation"] = generation __props__.__dict__["name"] = name + __props__.__dict__["refresh_interval_in_seconds"] = refresh_interval_in_seconds __props__.__dict__["repositories"] = repositories if spring_cloud_service_id is None and not opts.urn: raise TypeError("Missing required property 'spring_cloud_service_id'") @@ -315,6 +351,7 @@ def get(resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, generation: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, + refresh_interval_in_seconds: Optional[pulumi.Input[int]] = None, repositories: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['SpringCloudConfigurationServiceRepositoryArgs']]]]] = None, spring_cloud_service_id: Optional[pulumi.Input[str]] = None) -> 'SpringCloudConfigurationService': """ @@ -326,6 +363,7 @@ def get(resource_name: str, :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[str] generation: The generation of the Spring Cloud Configuration Service. Possible values are `Gen1` and `Gen2`. :param pulumi.Input[str] name: The name which should be used for this Spring Cloud Configuration Service. The only possible value is `default`. Changing this forces a new Spring Cloud Configuration Service to be created. + :param pulumi.Input[int] refresh_interval_in_seconds: Specifies how often to check repository updates. Minimum value is 0. :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['SpringCloudConfigurationServiceRepositoryArgs']]]] repositories: One or more `repository` blocks as defined below. :param pulumi.Input[str] spring_cloud_service_id: The ID of the Spring Cloud Service. Changing this forces a new Spring Cloud Configuration Service to be created. """ @@ -335,6 +373,7 @@ def get(resource_name: str, __props__.__dict__["generation"] = generation __props__.__dict__["name"] = name + __props__.__dict__["refresh_interval_in_seconds"] = refresh_interval_in_seconds __props__.__dict__["repositories"] = repositories __props__.__dict__["spring_cloud_service_id"] = spring_cloud_service_id return SpringCloudConfigurationService(resource_name, opts=opts, __props__=__props__) @@ -355,6 +394,14 @@ def name(self) -> pulumi.Output[str]: """ return pulumi.get(self, "name") + @property + @pulumi.getter(name="refreshIntervalInSeconds") + def refresh_interval_in_seconds(self) -> pulumi.Output[Optional[int]]: + """ + Specifies how often to check repository updates. Minimum value is 0. + """ + return pulumi.get(self, "refresh_interval_in_seconds") + @property @pulumi.getter def repositories(self) -> pulumi.Output[Optional[Sequence['outputs.SpringCloudConfigurationServiceRepository']]]: diff --git a/sdk/python/pulumi_azure/appplatform/spring_cloud_gateway.py b/sdk/python/pulumi_azure/appplatform/spring_cloud_gateway.py index e1925dc93b..58187bd657 100644 --- a/sdk/python/pulumi_azure/appplatform/spring_cloud_gateway.py +++ b/sdk/python/pulumi_azure/appplatform/spring_cloud_gateway.py @@ -18,6 +18,7 @@ class SpringCloudGatewayArgs: def __init__(__self__, *, spring_cloud_service_id: pulumi.Input[str], api_metadata: Optional[pulumi.Input['SpringCloudGatewayApiMetadataArgs']] = None, + application_performance_monitoring_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, application_performance_monitoring_types: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, client_authorization: Optional[pulumi.Input['SpringCloudGatewayClientAuthorizationArgs']] = None, cors: Optional[pulumi.Input['SpringCloudGatewayCorsArgs']] = None, @@ -35,6 +36,7 @@ def __init__(__self__, *, The set of arguments for constructing a SpringCloudGateway resource. :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['SpringCloudGatewayApiMetadataArgs'] api_metadata: A `api_metadata` block as defined below. + :param pulumi.Input[Sequence[pulumi.Input[str]]] application_performance_monitoring_ids: Specifies a list of Spring Cloud Application Performance Monitoring IDs. :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. @@ -52,6 +54,8 @@ def __init__(__self__, *, pulumi.set(__self__, "spring_cloud_service_id", spring_cloud_service_id) if api_metadata is not None: pulumi.set(__self__, "api_metadata", api_metadata) + if application_performance_monitoring_ids is not None: + pulumi.set(__self__, "application_performance_monitoring_ids", application_performance_monitoring_ids) if application_performance_monitoring_types is not None: pulumi.set(__self__, "application_performance_monitoring_types", application_performance_monitoring_types) if client_authorization is not None: @@ -103,6 +107,18 @@ def api_metadata(self) -> Optional[pulumi.Input['SpringCloudGatewayApiMetadataAr def api_metadata(self, value: Optional[pulumi.Input['SpringCloudGatewayApiMetadataArgs']]): pulumi.set(self, "api_metadata", value) + @property + @pulumi.getter(name="applicationPerformanceMonitoringIds") + def application_performance_monitoring_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Specifies a list of Spring Cloud Application Performance Monitoring IDs. + """ + return pulumi.get(self, "application_performance_monitoring_ids") + + @application_performance_monitoring_ids.setter + def application_performance_monitoring_ids(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "application_performance_monitoring_ids", value) + @property @pulumi.getter(name="applicationPerformanceMonitoringTypes") def application_performance_monitoring_types(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: @@ -264,6 +280,7 @@ def sso(self, value: Optional[pulumi.Input['SpringCloudGatewaySsoArgs']]): class _SpringCloudGatewayState: def __init__(__self__, *, api_metadata: Optional[pulumi.Input['SpringCloudGatewayApiMetadataArgs']] = None, + application_performance_monitoring_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, application_performance_monitoring_types: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, client_authorization: Optional[pulumi.Input['SpringCloudGatewayClientAuthorizationArgs']] = None, cors: Optional[pulumi.Input['SpringCloudGatewayCorsArgs']] = None, @@ -282,6 +299,7 @@ def __init__(__self__, *, """ Input properties used for looking up and filtering SpringCloudGateway resources. :param pulumi.Input['SpringCloudGatewayApiMetadataArgs'] api_metadata: A `api_metadata` block as defined below. + :param pulumi.Input[Sequence[pulumi.Input[str]]] application_performance_monitoring_ids: Specifies a list of Spring Cloud Application Performance Monitoring IDs. :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. @@ -300,6 +318,8 @@ def __init__(__self__, *, """ if api_metadata is not None: pulumi.set(__self__, "api_metadata", api_metadata) + if application_performance_monitoring_ids is not None: + pulumi.set(__self__, "application_performance_monitoring_ids", application_performance_monitoring_ids) if application_performance_monitoring_types is not None: pulumi.set(__self__, "application_performance_monitoring_types", application_performance_monitoring_types) if client_authorization is not None: @@ -343,6 +363,18 @@ def api_metadata(self) -> Optional[pulumi.Input['SpringCloudGatewayApiMetadataAr def api_metadata(self, value: Optional[pulumi.Input['SpringCloudGatewayApiMetadataArgs']]): pulumi.set(self, "api_metadata", value) + @property + @pulumi.getter(name="applicationPerformanceMonitoringIds") + def application_performance_monitoring_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Specifies a list of Spring Cloud Application Performance Monitoring IDs. + """ + return pulumi.get(self, "application_performance_monitoring_ids") + + @application_performance_monitoring_ids.setter + def application_performance_monitoring_ids(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "application_performance_monitoring_ids", value) + @property @pulumi.getter(name="applicationPerformanceMonitoringTypes") def application_performance_monitoring_types(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: @@ -530,6 +562,7 @@ def __init__(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, api_metadata: Optional[pulumi.Input[pulumi.InputType['SpringCloudGatewayApiMetadataArgs']]] = None, + application_performance_monitoring_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, application_performance_monitoring_types: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, client_authorization: Optional[pulumi.Input[pulumi.InputType['SpringCloudGatewayClientAuthorizationArgs']]] = None, cors: Optional[pulumi.Input[pulumi.InputType['SpringCloudGatewayCorsArgs']]] = None, @@ -612,6 +645,7 @@ def __init__(__self__, :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[pulumi.InputType['SpringCloudGatewayApiMetadataArgs']] api_metadata: A `api_metadata` block as defined below. + :param pulumi.Input[Sequence[pulumi.Input[str]]] application_performance_monitoring_ids: Specifies a list of Spring Cloud Application Performance Monitoring IDs. :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[pulumi.InputType['SpringCloudGatewayClientAuthorizationArgs']] client_authorization: A `client_authorization` block as defined below. :param pulumi.Input[pulumi.InputType['SpringCloudGatewayCorsArgs']] cors: A `cors` block as defined below. @@ -713,6 +747,7 @@ def _internal_init(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, api_metadata: Optional[pulumi.Input[pulumi.InputType['SpringCloudGatewayApiMetadataArgs']]] = None, + application_performance_monitoring_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, application_performance_monitoring_types: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, client_authorization: Optional[pulumi.Input[pulumi.InputType['SpringCloudGatewayClientAuthorizationArgs']]] = None, cors: Optional[pulumi.Input[pulumi.InputType['SpringCloudGatewayCorsArgs']]] = None, @@ -737,6 +772,7 @@ def _internal_init(__self__, __props__ = SpringCloudGatewayArgs.__new__(SpringCloudGatewayArgs) __props__.__dict__["api_metadata"] = api_metadata + __props__.__dict__["application_performance_monitoring_ids"] = application_performance_monitoring_ids __props__.__dict__["application_performance_monitoring_types"] = application_performance_monitoring_types __props__.__dict__["client_authorization"] = client_authorization __props__.__dict__["cors"] = cors @@ -767,6 +803,7 @@ def get(resource_name: str, id: pulumi.Input[str], opts: Optional[pulumi.ResourceOptions] = None, api_metadata: Optional[pulumi.Input[pulumi.InputType['SpringCloudGatewayApiMetadataArgs']]] = None, + application_performance_monitoring_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, application_performance_monitoring_types: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, client_authorization: Optional[pulumi.Input[pulumi.InputType['SpringCloudGatewayClientAuthorizationArgs']]] = None, cors: Optional[pulumi.Input[pulumi.InputType['SpringCloudGatewayCorsArgs']]] = None, @@ -790,6 +827,7 @@ 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[pulumi.InputType['SpringCloudGatewayApiMetadataArgs']] api_metadata: A `api_metadata` block as defined below. + :param pulumi.Input[Sequence[pulumi.Input[str]]] application_performance_monitoring_ids: Specifies a list of Spring Cloud Application Performance Monitoring IDs. :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[pulumi.InputType['SpringCloudGatewayClientAuthorizationArgs']] client_authorization: A `client_authorization` block as defined below. :param pulumi.Input[pulumi.InputType['SpringCloudGatewayCorsArgs']] cors: A `cors` block as defined below. @@ -811,6 +849,7 @@ def get(resource_name: str, __props__ = _SpringCloudGatewayState.__new__(_SpringCloudGatewayState) __props__.__dict__["api_metadata"] = api_metadata + __props__.__dict__["application_performance_monitoring_ids"] = application_performance_monitoring_ids __props__.__dict__["application_performance_monitoring_types"] = application_performance_monitoring_types __props__.__dict__["client_authorization"] = client_authorization __props__.__dict__["cors"] = cors @@ -836,6 +875,14 @@ def api_metadata(self) -> pulumi.Output[Optional['outputs.SpringCloudGatewayApiM """ return pulumi.get(self, "api_metadata") + @property + @pulumi.getter(name="applicationPerformanceMonitoringIds") + def application_performance_monitoring_ids(self) -> pulumi.Output[Optional[Sequence[str]]]: + """ + Specifies a list of Spring Cloud Application Performance Monitoring IDs. + """ + return pulumi.get(self, "application_performance_monitoring_ids") + @property @pulumi.getter(name="applicationPerformanceMonitoringTypes") def application_performance_monitoring_types(self) -> pulumi.Output[Optional[Sequence[str]]]: diff --git a/sdk/python/pulumi_azure/appservice/_inputs.py b/sdk/python/pulumi_azure/appservice/_inputs.py index 6f2fa238aa..6036806e30 100644 --- a/sdk/python/pulumi_azure/appservice/_inputs.py +++ b/sdk/python/pulumi_azure/appservice/_inputs.py @@ -16699,7 +16699,7 @@ def __init__(__self__, *, > **NOTE:** version `7.4` is deprecated and will be removed from the provider in a future version. :param pulumi.Input[str] python_version: The version of Python to run. Possible values include `3.7`, `3.8`, `3.9`, `3.10`, `3.11` and `3.12`. - :param pulumi.Input[str] ruby_version: Te version of Ruby to run. Possible values include `2.6` and `2.7`. + :param pulumi.Input[str] ruby_version: The version of Ruby to run. Possible values include `2.6` and `2.7`. """ if docker_image is not None: warnings.warn("""This property has been deprecated and will be removed in 4.0 of the provider.""", DeprecationWarning) @@ -16920,7 +16920,7 @@ def python_version(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="rubyVersion") def ruby_version(self) -> Optional[pulumi.Input[str]]: """ - Te version of Ruby to run. Possible values include `2.6` and `2.7`. + The version of Ruby to run. Possible values include `2.6` and `2.7`. """ return pulumi.get(self, "ruby_version") @@ -20858,7 +20858,7 @@ def __init__(__self__, *, > **NOTE:** version `7.4` is deprecated and will be removed from the provider in a future version. :param pulumi.Input[str] python_version: The version of Python to run. Possible values include `3.7`, `3.8`, `3.9`, `3.10`, `3.11` and `3.12`. - :param pulumi.Input[str] ruby_version: Te version of Ruby to run. Possible values include `2.6` and `2.7`. + :param pulumi.Input[str] ruby_version: The version of Ruby to run. Possible values include `2.6` and `2.7`. """ if docker_image is not None: warnings.warn("""This property has been deprecated and will be removed in 4.0 of the provider.""", DeprecationWarning) @@ -21079,7 +21079,7 @@ def python_version(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="rubyVersion") def ruby_version(self) -> Optional[pulumi.Input[str]]: """ - Te version of Ruby to run. Possible values include `2.6` and `2.7`. + The version of Ruby to run. Possible values include `2.6` and `2.7`. """ return pulumi.get(self, "ruby_version") diff --git a/sdk/python/pulumi_azure/appservice/outputs.py b/sdk/python/pulumi_azure/appservice/outputs.py index 8b56805e07..17e1abc172 100644 --- a/sdk/python/pulumi_azure/appservice/outputs.py +++ b/sdk/python/pulumi_azure/appservice/outputs.py @@ -16920,7 +16920,7 @@ def __init__(__self__, *, > **NOTE:** version `7.4` is deprecated and will be removed from the provider in a future version. :param str python_version: The version of Python to run. Possible values include `3.7`, `3.8`, `3.9`, `3.10`, `3.11` and `3.12`. - :param str ruby_version: Te version of Ruby to run. Possible values include `2.6` and `2.7`. + :param str ruby_version: The version of Ruby to run. Possible values include `2.6` and `2.7`. """ if docker_image is not None: pulumi.set(__self__, "docker_image", docker_image) @@ -17079,7 +17079,7 @@ def python_version(self) -> Optional[str]: @pulumi.getter(name="rubyVersion") def ruby_version(self) -> Optional[str]: """ - Te version of Ruby to run. Possible values include `2.6` and `2.7`. + The version of Ruby to run. Possible values include `2.6` and `2.7`. """ return pulumi.get(self, "ruby_version") @@ -21083,7 +21083,7 @@ def __init__(__self__, *, > **NOTE:** version `7.4` is deprecated and will be removed from the provider in a future version. :param str python_version: The version of Python to run. Possible values include `3.7`, `3.8`, `3.9`, `3.10`, `3.11` and `3.12`. - :param str ruby_version: Te version of Ruby to run. Possible values include `2.6` and `2.7`. + :param str ruby_version: The version of Ruby to run. Possible values include `2.6` and `2.7`. """ if docker_image is not None: pulumi.set(__self__, "docker_image", docker_image) @@ -21242,7 +21242,7 @@ def python_version(self) -> Optional[str]: @pulumi.getter(name="rubyVersion") def ruby_version(self) -> Optional[str]: """ - Te version of Ruby to run. Possible values include `2.6` and `2.7`. + The version of Ruby to run. Possible values include `2.6` and `2.7`. """ return pulumi.get(self, "ruby_version") diff --git a/sdk/python/pulumi_azure/armmsi/federated_identity_credential.py b/sdk/python/pulumi_azure/armmsi/federated_identity_credential.py index b08c31d651..adccb2eb8f 100644 --- a/sdk/python/pulumi_azure/armmsi/federated_identity_credential.py +++ b/sdk/python/pulumi_azure/armmsi/federated_identity_credential.py @@ -22,12 +22,12 @@ def __init__(__self__, *, name: Optional[pulumi.Input[str]] = None): """ The set of arguments for constructing a FederatedIdentityCredential resource. - :param pulumi.Input[str] audience: Specifies the audience for this Federated Identity Credential. Changing this forces a new Federated Identity Credential to be created. - :param pulumi.Input[str] issuer: Specifies the issuer of this Federated Identity Credential. Changing this forces a new Federated Identity Credential to be created. + :param pulumi.Input[str] audience: Specifies the audience for this Federated Identity Credential. + :param pulumi.Input[str] issuer: Specifies the issuer of this Federated Identity Credential. :param pulumi.Input[str] parent_id: Specifies parent ID of User Assigned Identity for this Federated Identity Credential. Changing this forces a new Federated Identity Credential to be created. :param pulumi.Input[str] resource_group_name: Specifies the name of the Resource Group within which this Federated Identity Credential should exist. Changing this forces a new Federated Identity Credential to be created. - :param pulumi.Input[str] subject: Specifies the subject for this Federated Identity Credential. Changing this forces a new Federated Identity Credential to be created. - :param pulumi.Input[str] name: Specifies the name of this Federated Identity Credential. Changing this forces a new Federated Identity Credential to be created. + :param pulumi.Input[str] subject: Specifies the subject for this Federated Identity Credential. + :param pulumi.Input[str] name: Specifies the name of this Federated Identity Credential. """ pulumi.set(__self__, "audience", audience) pulumi.set(__self__, "issuer", issuer) @@ -41,7 +41,7 @@ def __init__(__self__, *, @pulumi.getter def audience(self) -> pulumi.Input[str]: """ - Specifies the audience for this Federated Identity Credential. Changing this forces a new Federated Identity Credential to be created. + Specifies the audience for this Federated Identity Credential. """ return pulumi.get(self, "audience") @@ -53,7 +53,7 @@ def audience(self, value: pulumi.Input[str]): @pulumi.getter def issuer(self) -> pulumi.Input[str]: """ - Specifies the issuer of this Federated Identity Credential. Changing this forces a new Federated Identity Credential to be created. + Specifies the issuer of this Federated Identity Credential. """ return pulumi.get(self, "issuer") @@ -89,7 +89,7 @@ def resource_group_name(self, value: pulumi.Input[str]): @pulumi.getter def subject(self) -> pulumi.Input[str]: """ - Specifies the subject for this Federated Identity Credential. Changing this forces a new Federated Identity Credential to be created. + Specifies the subject for this Federated Identity Credential. """ return pulumi.get(self, "subject") @@ -101,7 +101,7 @@ def subject(self, value: pulumi.Input[str]): @pulumi.getter def name(self) -> Optional[pulumi.Input[str]]: """ - Specifies the name of this Federated Identity Credential. Changing this forces a new Federated Identity Credential to be created. + Specifies the name of this Federated Identity Credential. """ return pulumi.get(self, "name") @@ -121,12 +121,12 @@ def __init__(__self__, *, subject: Optional[pulumi.Input[str]] = None): """ Input properties used for looking up and filtering FederatedIdentityCredential resources. - :param pulumi.Input[str] audience: Specifies the audience for this Federated Identity Credential. Changing this forces a new Federated Identity Credential to be created. - :param pulumi.Input[str] issuer: Specifies the issuer of this Federated Identity Credential. Changing this forces a new Federated Identity Credential to be created. - :param pulumi.Input[str] name: Specifies the name of this Federated Identity Credential. Changing this forces a new Federated Identity Credential to be created. + :param pulumi.Input[str] audience: Specifies the audience for this Federated Identity Credential. + :param pulumi.Input[str] issuer: Specifies the issuer of this Federated Identity Credential. + :param pulumi.Input[str] name: Specifies the name of this Federated Identity Credential. :param pulumi.Input[str] parent_id: Specifies parent ID of User Assigned Identity for this Federated Identity Credential. Changing this forces a new Federated Identity Credential to be created. :param pulumi.Input[str] resource_group_name: Specifies the name of the Resource Group within which this Federated Identity Credential should exist. Changing this forces a new Federated Identity Credential to be created. - :param pulumi.Input[str] subject: Specifies the subject for this Federated Identity Credential. Changing this forces a new Federated Identity Credential to be created. + :param pulumi.Input[str] subject: Specifies the subject for this Federated Identity Credential. """ if audience is not None: pulumi.set(__self__, "audience", audience) @@ -145,7 +145,7 @@ def __init__(__self__, *, @pulumi.getter def audience(self) -> Optional[pulumi.Input[str]]: """ - Specifies the audience for this Federated Identity Credential. Changing this forces a new Federated Identity Credential to be created. + Specifies the audience for this Federated Identity Credential. """ return pulumi.get(self, "audience") @@ -157,7 +157,7 @@ def audience(self, value: Optional[pulumi.Input[str]]): @pulumi.getter def issuer(self) -> Optional[pulumi.Input[str]]: """ - Specifies the issuer of this Federated Identity Credential. Changing this forces a new Federated Identity Credential to be created. + Specifies the issuer of this Federated Identity Credential. """ return pulumi.get(self, "issuer") @@ -169,7 +169,7 @@ def issuer(self, value: Optional[pulumi.Input[str]]): @pulumi.getter def name(self) -> Optional[pulumi.Input[str]]: """ - Specifies the name of this Federated Identity Credential. Changing this forces a new Federated Identity Credential to be created. + Specifies the name of this Federated Identity Credential. """ return pulumi.get(self, "name") @@ -205,7 +205,7 @@ def resource_group_name(self, value: Optional[pulumi.Input[str]]): @pulumi.getter def subject(self) -> Optional[pulumi.Input[str]]: """ - Specifies the subject for this Federated Identity Credential. Changing this forces a new Federated Identity Credential to be created. + Specifies the subject for this Federated Identity Credential. """ return pulumi.get(self, "subject") @@ -261,12 +261,12 @@ def __init__(__self__, :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. - :param pulumi.Input[str] audience: Specifies the audience for this Federated Identity Credential. Changing this forces a new Federated Identity Credential to be created. - :param pulumi.Input[str] issuer: Specifies the issuer of this Federated Identity Credential. Changing this forces a new Federated Identity Credential to be created. - :param pulumi.Input[str] name: Specifies the name of this Federated Identity Credential. Changing this forces a new Federated Identity Credential to be created. + :param pulumi.Input[str] audience: Specifies the audience for this Federated Identity Credential. + :param pulumi.Input[str] issuer: Specifies the issuer of this Federated Identity Credential. + :param pulumi.Input[str] name: Specifies the name of this Federated Identity Credential. :param pulumi.Input[str] parent_id: Specifies parent ID of User Assigned Identity for this Federated Identity Credential. Changing this forces a new Federated Identity Credential to be created. :param pulumi.Input[str] resource_group_name: Specifies the name of the Resource Group within which this Federated Identity Credential should exist. Changing this forces a new Federated Identity Credential to be created. - :param pulumi.Input[str] subject: Specifies the subject for this Federated Identity Credential. Changing this forces a new Federated Identity Credential to be created. + :param pulumi.Input[str] subject: Specifies the subject for this Federated Identity Credential. """ ... @overload @@ -376,12 +376,12 @@ def get(resource_name: str, :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] audience: Specifies the audience for this Federated Identity Credential. Changing this forces a new Federated Identity Credential to be created. - :param pulumi.Input[str] issuer: Specifies the issuer of this Federated Identity Credential. Changing this forces a new Federated Identity Credential to be created. - :param pulumi.Input[str] name: Specifies the name of this Federated Identity Credential. Changing this forces a new Federated Identity Credential to be created. + :param pulumi.Input[str] audience: Specifies the audience for this Federated Identity Credential. + :param pulumi.Input[str] issuer: Specifies the issuer of this Federated Identity Credential. + :param pulumi.Input[str] name: Specifies the name of this Federated Identity Credential. :param pulumi.Input[str] parent_id: Specifies parent ID of User Assigned Identity for this Federated Identity Credential. Changing this forces a new Federated Identity Credential to be created. :param pulumi.Input[str] resource_group_name: Specifies the name of the Resource Group within which this Federated Identity Credential should exist. Changing this forces a new Federated Identity Credential to be created. - :param pulumi.Input[str] subject: Specifies the subject for this Federated Identity Credential. Changing this forces a new Federated Identity Credential to be created. + :param pulumi.Input[str] subject: Specifies the subject for this Federated Identity Credential. """ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) @@ -399,7 +399,7 @@ def get(resource_name: str, @pulumi.getter def audience(self) -> pulumi.Output[str]: """ - Specifies the audience for this Federated Identity Credential. Changing this forces a new Federated Identity Credential to be created. + Specifies the audience for this Federated Identity Credential. """ return pulumi.get(self, "audience") @@ -407,7 +407,7 @@ def audience(self) -> pulumi.Output[str]: @pulumi.getter def issuer(self) -> pulumi.Output[str]: """ - Specifies the issuer of this Federated Identity Credential. Changing this forces a new Federated Identity Credential to be created. + Specifies the issuer of this Federated Identity Credential. """ return pulumi.get(self, "issuer") @@ -415,7 +415,7 @@ def issuer(self) -> pulumi.Output[str]: @pulumi.getter def name(self) -> pulumi.Output[str]: """ - Specifies the name of this Federated Identity Credential. Changing this forces a new Federated Identity Credential to be created. + Specifies the name of this Federated Identity Credential. """ return pulumi.get(self, "name") @@ -439,7 +439,7 @@ def resource_group_name(self) -> pulumi.Output[str]: @pulumi.getter def subject(self) -> pulumi.Output[str]: """ - Specifies the subject for this Federated Identity Credential. Changing this forces a new Federated Identity Credential to be created. + Specifies the subject for this Federated Identity Credential. """ return pulumi.get(self, "subject") diff --git a/sdk/python/pulumi_azure/avs/private_cloud.py b/sdk/python/pulumi_azure/avs/private_cloud.py index ddbd18037a..f4ec40d8e3 100644 --- a/sdk/python/pulumi_azure/avs/private_cloud.py +++ b/sdk/python/pulumi_azure/avs/private_cloud.py @@ -29,12 +29,12 @@ def __init__(__self__, *, """ The set of arguments for constructing a PrivateCloud resource. :param pulumi.Input['PrivateCloudManagementClusterArgs'] management_cluster: A `management_cluster` block as defined below. - > **NOTE :** `internet_connection_enabled` and `management_cluster.0.size` cannot be updated at the same time. + > **NOTE :** `internet_connection_enabled` and `management_cluster[0].size` cannot be updated at the same time. :param pulumi.Input[str] network_subnet_cidr: The subnet which should be unique across virtual network in your subscription as well as on-premise. Changing this forces a new VMware Private Cloud to be created. :param pulumi.Input[str] resource_group_name: The name of the Resource Group where the VMware Private Cloud should exist. Changing this forces a new VMware Private Cloud to be created. :param pulumi.Input[str] sku_name: The Name of the SKU used for this Private Cloud. Possible values are `av20`, `av36`, `av36t`, `av36p`, `av36pt`, `av52`, `av52t`, and `av64`. Changing this forces a new VMware Private Cloud to be created. - :param pulumi.Input[bool] internet_connection_enabled: Is the Private Cluster connected to the internet? This field can not updated with `management_cluster.0.size` together. - > **NOTE :** `internet_connection_enabled` and `management_cluster.0.size` cannot be updated at the same time. + :param pulumi.Input[bool] internet_connection_enabled: Is the Private Cluster connected to the internet? This field can not updated with `management_cluster[0].size` together. + > **NOTE :** `internet_connection_enabled` and `management_cluster[0].size` cannot be updated at the same time. :param pulumi.Input[str] location: The Azure Region where the VMware Private Cloud should exist. Changing this forces a new VMware Private Cloud to be created. :param pulumi.Input[str] name: The name which should be used for this VMware Private Cloud. Changing this forces a new VMware Private Cloud to be created. :param pulumi.Input[str] nsxt_password: The password of the NSX-T Manager. Changing this forces a new VMware Private Cloud to be created. @@ -63,7 +63,7 @@ def __init__(__self__, *, def management_cluster(self) -> pulumi.Input['PrivateCloudManagementClusterArgs']: """ A `management_cluster` block as defined below. - > **NOTE :** `internet_connection_enabled` and `management_cluster.0.size` cannot be updated at the same time. + > **NOTE :** `internet_connection_enabled` and `management_cluster[0].size` cannot be updated at the same time. """ return pulumi.get(self, "management_cluster") @@ -111,8 +111,8 @@ def sku_name(self, value: pulumi.Input[str]): @pulumi.getter(name="internetConnectionEnabled") def internet_connection_enabled(self) -> Optional[pulumi.Input[bool]]: """ - Is the Private Cluster connected to the internet? This field can not updated with `management_cluster.0.size` together. - > **NOTE :** `internet_connection_enabled` and `management_cluster.0.size` cannot be updated at the same time. + Is the Private Cluster connected to the internet? This field can not updated with `management_cluster[0].size` together. + > **NOTE :** `internet_connection_enabled` and `management_cluster[0].size` cannot be updated at the same time. """ return pulumi.get(self, "internet_connection_enabled") @@ -207,11 +207,11 @@ def __init__(__self__, *, Input properties used for looking up and filtering PrivateCloud resources. :param pulumi.Input[Sequence[pulumi.Input['PrivateCloudCircuitArgs']]] circuits: A `circuit` block as defined below. :param pulumi.Input[str] hcx_cloud_manager_endpoint: The endpoint for the HCX Cloud Manager. - :param pulumi.Input[bool] internet_connection_enabled: Is the Private Cluster connected to the internet? This field can not updated with `management_cluster.0.size` together. - > **NOTE :** `internet_connection_enabled` and `management_cluster.0.size` cannot be updated at the same time. + :param pulumi.Input[bool] internet_connection_enabled: Is the Private Cluster connected to the internet? This field can not updated with `management_cluster[0].size` together. + > **NOTE :** `internet_connection_enabled` and `management_cluster[0].size` cannot be updated at the same time. :param pulumi.Input[str] location: The Azure Region where the VMware Private Cloud should exist. Changing this forces a new VMware Private Cloud to be created. :param pulumi.Input['PrivateCloudManagementClusterArgs'] management_cluster: A `management_cluster` block as defined below. - > **NOTE :** `internet_connection_enabled` and `management_cluster.0.size` cannot be updated at the same time. + > **NOTE :** `internet_connection_enabled` and `management_cluster[0].size` cannot be updated at the same time. :param pulumi.Input[str] management_subnet_cidr: The network used to access vCenter Server and NSX-T Manager. :param pulumi.Input[str] name: The name which should be used for this VMware Private Cloud. Changing this forces a new VMware Private Cloud to be created. :param pulumi.Input[str] network_subnet_cidr: The subnet which should be unique across virtual network in your subscription as well as on-premise. Changing this forces a new VMware Private Cloud to be created. @@ -294,8 +294,8 @@ def hcx_cloud_manager_endpoint(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="internetConnectionEnabled") def internet_connection_enabled(self) -> Optional[pulumi.Input[bool]]: """ - Is the Private Cluster connected to the internet? This field can not updated with `management_cluster.0.size` together. - > **NOTE :** `internet_connection_enabled` and `management_cluster.0.size` cannot be updated at the same time. + Is the Private Cluster connected to the internet? This field can not updated with `management_cluster[0].size` together. + > **NOTE :** `internet_connection_enabled` and `management_cluster[0].size` cannot be updated at the same time. """ return pulumi.get(self, "internet_connection_enabled") @@ -320,7 +320,7 @@ def location(self, value: Optional[pulumi.Input[str]]): def management_cluster(self) -> Optional[pulumi.Input['PrivateCloudManagementClusterArgs']]: """ A `management_cluster` block as defined below. - > **NOTE :** `internet_connection_enabled` and `management_cluster.0.size` cannot be updated at the same time. + > **NOTE :** `internet_connection_enabled` and `management_cluster[0].size` cannot be updated at the same time. """ return pulumi.get(self, "management_cluster") @@ -551,11 +551,11 @@ def __init__(__self__, :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. - :param pulumi.Input[bool] internet_connection_enabled: Is the Private Cluster connected to the internet? This field can not updated with `management_cluster.0.size` together. - > **NOTE :** `internet_connection_enabled` and `management_cluster.0.size` cannot be updated at the same time. + :param pulumi.Input[bool] internet_connection_enabled: Is the Private Cluster connected to the internet? This field can not updated with `management_cluster[0].size` together. + > **NOTE :** `internet_connection_enabled` and `management_cluster[0].size` cannot be updated at the same time. :param pulumi.Input[str] location: The Azure Region where the VMware Private Cloud should exist. Changing this forces a new VMware Private Cloud to be created. :param pulumi.Input[pulumi.InputType['PrivateCloudManagementClusterArgs']] management_cluster: A `management_cluster` block as defined below. - > **NOTE :** `internet_connection_enabled` and `management_cluster.0.size` cannot be updated at the same time. + > **NOTE :** `internet_connection_enabled` and `management_cluster[0].size` cannot be updated at the same time. :param pulumi.Input[str] name: The name which should be used for this VMware Private Cloud. Changing this forces a new VMware Private Cloud to be created. :param pulumi.Input[str] network_subnet_cidr: The subnet which should be unique across virtual network in your subscription as well as on-premise. Changing this forces a new VMware Private Cloud to be created. :param pulumi.Input[str] nsxt_password: The password of the NSX-T Manager. Changing this forces a new VMware Private Cloud to be created. @@ -707,11 +707,11 @@ def get(resource_name: str, :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['PrivateCloudCircuitArgs']]]] circuits: A `circuit` block as defined below. :param pulumi.Input[str] hcx_cloud_manager_endpoint: The endpoint for the HCX Cloud Manager. - :param pulumi.Input[bool] internet_connection_enabled: Is the Private Cluster connected to the internet? This field can not updated with `management_cluster.0.size` together. - > **NOTE :** `internet_connection_enabled` and `management_cluster.0.size` cannot be updated at the same time. + :param pulumi.Input[bool] internet_connection_enabled: Is the Private Cluster connected to the internet? This field can not updated with `management_cluster[0].size` together. + > **NOTE :** `internet_connection_enabled` and `management_cluster[0].size` cannot be updated at the same time. :param pulumi.Input[str] location: The Azure Region where the VMware Private Cloud should exist. Changing this forces a new VMware Private Cloud to be created. :param pulumi.Input[pulumi.InputType['PrivateCloudManagementClusterArgs']] management_cluster: A `management_cluster` block as defined below. - > **NOTE :** `internet_connection_enabled` and `management_cluster.0.size` cannot be updated at the same time. + > **NOTE :** `internet_connection_enabled` and `management_cluster[0].size` cannot be updated at the same time. :param pulumi.Input[str] management_subnet_cidr: The network used to access vCenter Server and NSX-T Manager. :param pulumi.Input[str] name: The name which should be used for this VMware Private Cloud. Changing this forces a new VMware Private Cloud to be created. :param pulumi.Input[str] network_subnet_cidr: The subnet which should be unique across virtual network in your subscription as well as on-premise. Changing this forces a new VMware Private Cloud to be created. @@ -772,8 +772,8 @@ def hcx_cloud_manager_endpoint(self) -> pulumi.Output[str]: @pulumi.getter(name="internetConnectionEnabled") def internet_connection_enabled(self) -> pulumi.Output[Optional[bool]]: """ - Is the Private Cluster connected to the internet? This field can not updated with `management_cluster.0.size` together. - > **NOTE :** `internet_connection_enabled` and `management_cluster.0.size` cannot be updated at the same time. + Is the Private Cluster connected to the internet? This field can not updated with `management_cluster[0].size` together. + > **NOTE :** `internet_connection_enabled` and `management_cluster[0].size` cannot be updated at the same time. """ return pulumi.get(self, "internet_connection_enabled") @@ -790,7 +790,7 @@ def location(self) -> pulumi.Output[str]: def management_cluster(self) -> pulumi.Output['outputs.PrivateCloudManagementCluster']: """ A `management_cluster` block as defined below. - > **NOTE :** `internet_connection_enabled` and `management_cluster.0.size` cannot be updated at the same time. + > **NOTE :** `internet_connection_enabled` and `management_cluster[0].size` cannot be updated at the same time. """ return pulumi.get(self, "management_cluster") diff --git a/sdk/python/pulumi_azure/batch/_inputs.py b/sdk/python/pulumi_azure/batch/_inputs.py index 01c706be3c..8e288a5eb0 100644 --- a/sdk/python/pulumi_azure/batch/_inputs.py +++ b/sdk/python/pulumi_azure/batch/_inputs.py @@ -728,9 +728,9 @@ def __init__(__self__, *, :param pulumi.Input[bool] automatic_upgrade_enabled: Indicates whether the extension should be automatically upgraded by the platform if there is a newer version available. Supported values are `true` and `false`. > **NOTE:** When `automatic_upgrade_enabled` is set to `true`, the `type_handler_version` is automatically updated by the Azure platform when a new version is available and any change in `type_handler_version` should be manually ignored by user. - :param pulumi.Input[str] protected_settings: The extension can contain either `protected_settings` or `provision_after_extensions` or no protected settings at all. + :param pulumi.Input[str] protected_settings: JSON formatted protected settings for the extension, the value should be encoded with `jsonencode` function. The extension can contain either `protected_settings` or `provision_after_extensions` or no protected settings at all. :param pulumi.Input[Sequence[pulumi.Input[str]]] provision_after_extensions: The collection of extension names. Collection of extension names after which this extension needs to be provisioned. - :param pulumi.Input[str] settings_json: JSON formatted public settings for the extension. + :param pulumi.Input[str] settings_json: JSON formatted public settings for the extension, the value should be encoded with `jsonencode` function. :param pulumi.Input[str] type_handler_version: The version of script handler. """ pulumi.set(__self__, "name", name) @@ -815,7 +815,7 @@ def automatic_upgrade_enabled(self, value: Optional[pulumi.Input[bool]]): @pulumi.getter(name="protectedSettings") def protected_settings(self) -> Optional[pulumi.Input[str]]: """ - The extension can contain either `protected_settings` or `provision_after_extensions` or no protected settings at all. + JSON formatted protected settings for the extension, the value should be encoded with `jsonencode` function. The extension can contain either `protected_settings` or `provision_after_extensions` or no protected settings at all. """ return pulumi.get(self, "protected_settings") @@ -839,7 +839,7 @@ def provision_after_extensions(self, value: Optional[pulumi.Input[Sequence[pulum @pulumi.getter(name="settingsJson") def settings_json(self) -> Optional[pulumi.Input[str]]: """ - JSON formatted public settings for the extension. + JSON formatted public settings for the extension, the value should be encoded with `jsonencode` function. """ return pulumi.get(self, "settings_json") diff --git a/sdk/python/pulumi_azure/batch/outputs.py b/sdk/python/pulumi_azure/batch/outputs.py index 5bc6795e42..2eb14fe085 100644 --- a/sdk/python/pulumi_azure/batch/outputs.py +++ b/sdk/python/pulumi_azure/batch/outputs.py @@ -887,9 +887,9 @@ def __init__(__self__, *, :param bool automatic_upgrade_enabled: Indicates whether the extension should be automatically upgraded by the platform if there is a newer version available. Supported values are `true` and `false`. > **NOTE:** When `automatic_upgrade_enabled` is set to `true`, the `type_handler_version` is automatically updated by the Azure platform when a new version is available and any change in `type_handler_version` should be manually ignored by user. - :param str protected_settings: The extension can contain either `protected_settings` or `provision_after_extensions` or no protected settings at all. + :param str protected_settings: JSON formatted protected settings for the extension, the value should be encoded with `jsonencode` function. The extension can contain either `protected_settings` or `provision_after_extensions` or no protected settings at all. :param Sequence[str] provision_after_extensions: The collection of extension names. Collection of extension names after which this extension needs to be provisioned. - :param str settings_json: JSON formatted public settings for the extension. + :param str settings_json: JSON formatted public settings for the extension, the value should be encoded with `jsonencode` function. :param str type_handler_version: The version of script handler. """ pulumi.set(__self__, "name", name) @@ -954,7 +954,7 @@ def automatic_upgrade_enabled(self) -> Optional[bool]: @pulumi.getter(name="protectedSettings") def protected_settings(self) -> Optional[str]: """ - The extension can contain either `protected_settings` or `provision_after_extensions` or no protected settings at all. + JSON formatted protected settings for the extension, the value should be encoded with `jsonencode` function. The extension can contain either `protected_settings` or `provision_after_extensions` or no protected settings at all. """ return pulumi.get(self, "protected_settings") @@ -970,7 +970,7 @@ def provision_after_extensions(self) -> Optional[Sequence[str]]: @pulumi.getter(name="settingsJson") def settings_json(self) -> Optional[str]: """ - JSON formatted public settings for the extension. + JSON formatted public settings for the extension, the value should be encoded with `jsonencode` function. """ return pulumi.get(self, "settings_json") diff --git a/sdk/python/pulumi_azure/cognitive/deployment.py b/sdk/python/pulumi_azure/cognitive/deployment.py index 25fffb9187..0825b5a08c 100644 --- a/sdk/python/pulumi_azure/cognitive/deployment.py +++ b/sdk/python/pulumi_azure/cognitive/deployment.py @@ -29,7 +29,7 @@ def __init__(__self__, *, :param pulumi.Input['DeploymentScaleArgs'] scale: A `scale` block as defined below. :param pulumi.Input[str] name: The name of the Cognitive Services Account Deployment. Changing this forces a new resource to be created. :param pulumi.Input[str] rai_policy_name: The name of RAI policy. - :param pulumi.Input[str] version_upgrade_option: Deployment model version upgrade option. Possible values are `OnceNewDefaultVersionAvailable`, `OnceCurrentVersionExpired`, and `NoAutoUpgrade`. Defaults to `OnceNewDefaultVersionAvailable`. Changing this forces a new resource to be created. + :param pulumi.Input[str] version_upgrade_option: Deployment model version upgrade option. Possible values are `OnceNewDefaultVersionAvailable`, `OnceCurrentVersionExpired`, and `NoAutoUpgrade`. Defaults to `OnceNewDefaultVersionAvailable`. """ pulumi.set(__self__, "cognitive_account_id", cognitive_account_id) pulumi.set(__self__, "model", model) @@ -105,7 +105,7 @@ def rai_policy_name(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="versionUpgradeOption") def version_upgrade_option(self) -> Optional[pulumi.Input[str]]: """ - Deployment model version upgrade option. Possible values are `OnceNewDefaultVersionAvailable`, `OnceCurrentVersionExpired`, and `NoAutoUpgrade`. Defaults to `OnceNewDefaultVersionAvailable`. Changing this forces a new resource to be created. + Deployment model version upgrade option. Possible values are `OnceNewDefaultVersionAvailable`, `OnceCurrentVersionExpired`, and `NoAutoUpgrade`. Defaults to `OnceNewDefaultVersionAvailable`. """ return pulumi.get(self, "version_upgrade_option") @@ -130,7 +130,7 @@ def __init__(__self__, *, :param pulumi.Input[str] name: The name of the Cognitive Services Account Deployment. Changing this forces a new resource to be created. :param pulumi.Input[str] rai_policy_name: The name of RAI policy. :param pulumi.Input['DeploymentScaleArgs'] scale: A `scale` block as defined below. - :param pulumi.Input[str] version_upgrade_option: Deployment model version upgrade option. Possible values are `OnceNewDefaultVersionAvailable`, `OnceCurrentVersionExpired`, and `NoAutoUpgrade`. Defaults to `OnceNewDefaultVersionAvailable`. Changing this forces a new resource to be created. + :param pulumi.Input[str] version_upgrade_option: Deployment model version upgrade option. Possible values are `OnceNewDefaultVersionAvailable`, `OnceCurrentVersionExpired`, and `NoAutoUpgrade`. Defaults to `OnceNewDefaultVersionAvailable`. """ if cognitive_account_id is not None: pulumi.set(__self__, "cognitive_account_id", cognitive_account_id) @@ -209,7 +209,7 @@ def scale(self, value: Optional[pulumi.Input['DeploymentScaleArgs']]): @pulumi.getter(name="versionUpgradeOption") def version_upgrade_option(self) -> Optional[pulumi.Input[str]]: """ - Deployment model version upgrade option. Possible values are `OnceNewDefaultVersionAvailable`, `OnceCurrentVersionExpired`, and `NoAutoUpgrade`. Defaults to `OnceNewDefaultVersionAvailable`. Changing this forces a new resource to be created. + Deployment model version upgrade option. Possible values are `OnceNewDefaultVersionAvailable`, `OnceCurrentVersionExpired`, and `NoAutoUpgrade`. Defaults to `OnceNewDefaultVersionAvailable`. """ return pulumi.get(self, "version_upgrade_option") @@ -276,7 +276,7 @@ def __init__(__self__, :param pulumi.Input[str] name: The name of the Cognitive Services Account Deployment. Changing this forces a new resource to be created. :param pulumi.Input[str] rai_policy_name: The name of RAI policy. :param pulumi.Input[pulumi.InputType['DeploymentScaleArgs']] scale: A `scale` block as defined below. - :param pulumi.Input[str] version_upgrade_option: Deployment model version upgrade option. Possible values are `OnceNewDefaultVersionAvailable`, `OnceCurrentVersionExpired`, and `NoAutoUpgrade`. Defaults to `OnceNewDefaultVersionAvailable`. Changing this forces a new resource to be created. + :param pulumi.Input[str] version_upgrade_option: Deployment model version upgrade option. Possible values are `OnceNewDefaultVersionAvailable`, `OnceCurrentVersionExpired`, and `NoAutoUpgrade`. Defaults to `OnceNewDefaultVersionAvailable`. """ ... @overload @@ -393,7 +393,7 @@ def get(resource_name: str, :param pulumi.Input[str] name: The name of the Cognitive Services Account Deployment. Changing this forces a new resource to be created. :param pulumi.Input[str] rai_policy_name: The name of RAI policy. :param pulumi.Input[pulumi.InputType['DeploymentScaleArgs']] scale: A `scale` block as defined below. - :param pulumi.Input[str] version_upgrade_option: Deployment model version upgrade option. Possible values are `OnceNewDefaultVersionAvailable`, `OnceCurrentVersionExpired`, and `NoAutoUpgrade`. Defaults to `OnceNewDefaultVersionAvailable`. Changing this forces a new resource to be created. + :param pulumi.Input[str] version_upgrade_option: Deployment model version upgrade option. Possible values are `OnceNewDefaultVersionAvailable`, `OnceCurrentVersionExpired`, and `NoAutoUpgrade`. Defaults to `OnceNewDefaultVersionAvailable`. """ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) @@ -451,7 +451,7 @@ def scale(self) -> pulumi.Output['outputs.DeploymentScale']: @pulumi.getter(name="versionUpgradeOption") def version_upgrade_option(self) -> pulumi.Output[Optional[str]]: """ - Deployment model version upgrade option. Possible values are `OnceNewDefaultVersionAvailable`, `OnceCurrentVersionExpired`, and `NoAutoUpgrade`. Defaults to `OnceNewDefaultVersionAvailable`. Changing this forces a new resource to be created. + Deployment model version upgrade option. Possible values are `OnceNewDefaultVersionAvailable`, `OnceCurrentVersionExpired`, and `NoAutoUpgrade`. Defaults to `OnceNewDefaultVersionAvailable`. """ return pulumi.get(self, "version_upgrade_option") diff --git a/sdk/python/pulumi_azure/compute/_inputs.py b/sdk/python/pulumi_azure/compute/_inputs.py index 42d6ef28cd..911536c7f8 100644 --- a/sdk/python/pulumi_azure/compute/_inputs.py +++ b/sdk/python/pulumi_azure/compute/_inputs.py @@ -26,6 +26,7 @@ 'LinuxVirtualMachineIdentityArgs', 'LinuxVirtualMachineOsDiskArgs', 'LinuxVirtualMachineOsDiskDiffDiskSettingsArgs', + 'LinuxVirtualMachineOsImageNotificationArgs', 'LinuxVirtualMachinePlanArgs', 'LinuxVirtualMachineScaleSetAdditionalCapabilitiesArgs', 'LinuxVirtualMachineScaleSetAdminSshKeyArgs', @@ -150,6 +151,7 @@ 'WindowsVirtualMachineIdentityArgs', 'WindowsVirtualMachineOsDiskArgs', 'WindowsVirtualMachineOsDiskDiffDiskSettingsArgs', + 'WindowsVirtualMachineOsImageNotificationArgs', 'WindowsVirtualMachinePlanArgs', 'WindowsVirtualMachineScaleSetAdditionalCapabilitiesArgs', 'WindowsVirtualMachineScaleSetAdditionalUnattendContentArgs', @@ -849,22 +851,30 @@ def storage_account_uri(self, value: Optional[pulumi.Input[str]]): class LinuxVirtualMachineGalleryApplicationArgs: def __init__(__self__, *, version_id: pulumi.Input[str], + automatic_upgrade_enabled: Optional[pulumi.Input[bool]] = None, configuration_blob_uri: Optional[pulumi.Input[str]] = None, order: Optional[pulumi.Input[int]] = None, - tag: Optional[pulumi.Input[str]] = None): + tag: Optional[pulumi.Input[str]] = None, + treat_failure_as_deployment_failure_enabled: Optional[pulumi.Input[bool]] = None): """ :param pulumi.Input[str] version_id: Specifies the Gallery Application Version resource ID. + :param pulumi.Input[bool] automatic_upgrade_enabled: Specifies whether the version will be automatically updated for the VM when a new Gallery Application version is available in PIR/SIG. Defaults to `false`. :param pulumi.Input[str] configuration_blob_uri: Specifies the URI to an Azure Blob that will replace the default configuration for the package if provided. :param pulumi.Input[int] order: Specifies the order in which the packages have to be installed. Possible values are between `0` and `2,147,483,647`. :param pulumi.Input[str] tag: Specifies a passthrough value for more generic context. This field can be any valid `string` value. + :param pulumi.Input[bool] treat_failure_as_deployment_failure_enabled: Specifies whether any failure for any operation in the VmApplication will fail the deployment of the VM. Defaults to `false`. """ pulumi.set(__self__, "version_id", version_id) + if automatic_upgrade_enabled is not None: + pulumi.set(__self__, "automatic_upgrade_enabled", automatic_upgrade_enabled) if configuration_blob_uri is not None: pulumi.set(__self__, "configuration_blob_uri", configuration_blob_uri) if order is not None: pulumi.set(__self__, "order", order) if tag is not None: pulumi.set(__self__, "tag", tag) + if treat_failure_as_deployment_failure_enabled is not None: + pulumi.set(__self__, "treat_failure_as_deployment_failure_enabled", treat_failure_as_deployment_failure_enabled) @property @pulumi.getter(name="versionId") @@ -878,6 +888,18 @@ def version_id(self) -> pulumi.Input[str]: def version_id(self, value: pulumi.Input[str]): pulumi.set(self, "version_id", value) + @property + @pulumi.getter(name="automaticUpgradeEnabled") + def automatic_upgrade_enabled(self) -> Optional[pulumi.Input[bool]]: + """ + Specifies whether the version will be automatically updated for the VM when a new Gallery Application version is available in PIR/SIG. Defaults to `false`. + """ + return pulumi.get(self, "automatic_upgrade_enabled") + + @automatic_upgrade_enabled.setter + def automatic_upgrade_enabled(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "automatic_upgrade_enabled", value) + @property @pulumi.getter(name="configurationBlobUri") def configuration_blob_uri(self) -> Optional[pulumi.Input[str]]: @@ -914,6 +936,18 @@ def tag(self) -> Optional[pulumi.Input[str]]: def tag(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "tag", value) + @property + @pulumi.getter(name="treatFailureAsDeploymentFailureEnabled") + def treat_failure_as_deployment_failure_enabled(self) -> Optional[pulumi.Input[bool]]: + """ + Specifies whether any failure for any operation in the VmApplication will fail the deployment of the VM. Defaults to `false`. + """ + return pulumi.get(self, "treat_failure_as_deployment_failure_enabled") + + @treat_failure_as_deployment_failure_enabled.setter + def treat_failure_as_deployment_failure_enabled(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "treat_failure_as_deployment_failure_enabled", value) + @pulumi.input_type class LinuxVirtualMachineIdentityArgs: @@ -1204,6 +1238,29 @@ def placement(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "placement", value) +@pulumi.input_type +class LinuxVirtualMachineOsImageNotificationArgs: + def __init__(__self__, *, + timeout: Optional[pulumi.Input[str]] = None): + """ + :param pulumi.Input[str] timeout: Length of time a notification to be sent to the VM on the instance metadata server till the VM gets OS upgraded. The only possible value is `PT15M`. Defaults to `PT15M`. + """ + if timeout is not None: + pulumi.set(__self__, "timeout", timeout) + + @property + @pulumi.getter + def timeout(self) -> Optional[pulumi.Input[str]]: + """ + Length of time a notification to be sent to the VM on the instance metadata server till the VM gets OS upgraded. The only possible value is `PT15M`. Defaults to `PT15M`. + """ + return pulumi.get(self, "timeout") + + @timeout.setter + def timeout(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "timeout", value) + + @pulumi.input_type class LinuxVirtualMachinePlanArgs: def __init__(__self__, *, @@ -3440,33 +3497,35 @@ def storage_account_uri(self, value: Optional[pulumi.Input[str]]): class OrchestratedVirtualMachineScaleSetDataDiskArgs: def __init__(__self__, *, caching: pulumi.Input[str], - disk_size_gb: pulumi.Input[int], - lun: pulumi.Input[int], storage_account_type: pulumi.Input[str], create_option: Optional[pulumi.Input[str]] = None, disk_encryption_set_id: Optional[pulumi.Input[str]] = None, + disk_size_gb: Optional[pulumi.Input[int]] = None, + lun: Optional[pulumi.Input[int]] = None, ultra_ssd_disk_iops_read_write: Optional[pulumi.Input[int]] = None, ultra_ssd_disk_mbps_read_write: Optional[pulumi.Input[int]] = None, write_accelerator_enabled: Optional[pulumi.Input[bool]] = None): """ :param pulumi.Input[str] caching: The type of Caching which should be used for this Data Disk. Possible values are None, ReadOnly and ReadWrite. - :param pulumi.Input[int] disk_size_gb: The size of the Data Disk which should be created. - :param pulumi.Input[int] lun: The Logical Unit Number of the Data Disk, which must be unique within the Virtual Machine. :param pulumi.Input[str] storage_account_type: The Type of Storage Account which should back this Data Disk. Possible values include `Standard_LRS`, `StandardSSD_LRS`, `StandardSSD_ZRS`, `Premium_LRS`, `PremiumV2_LRS`, `Premium_ZRS` and `UltraSSD_LRS`. :param pulumi.Input[str] create_option: The create option which should be used for this Data Disk. Possible values are Empty and FromImage. Defaults to `Empty`. (FromImage should only be used if the source image includes data disks). :param pulumi.Input[str] disk_encryption_set_id: The ID of the Disk Encryption Set which should be used to encrypt the Data Disk. Changing this forces a new resource to be created. + :param pulumi.Input[int] disk_size_gb: The size of the Data Disk which should be created. Required if `create_option` is specified as `Empty`. + :param pulumi.Input[int] lun: The Logical Unit Number of the Data Disk, which must be unique within the Virtual Machine. Required if `create_option` is specified as `Empty`. :param pulumi.Input[int] ultra_ssd_disk_iops_read_write: Specifies the Read-Write IOPS for this Data Disk. Only settable when `storage_account_type` is `PremiumV2_LRS` or `UltraSSD_LRS`. :param pulumi.Input[int] ultra_ssd_disk_mbps_read_write: Specifies the bandwidth in MB per second for this Data Disk. Only settable when `storage_account_type` is `PremiumV2_LRS` or `UltraSSD_LRS`. :param pulumi.Input[bool] write_accelerator_enabled: Specifies if Write Accelerator is enabled on the Data Disk. Defaults to `false`. """ pulumi.set(__self__, "caching", caching) - pulumi.set(__self__, "disk_size_gb", disk_size_gb) - pulumi.set(__self__, "lun", lun) pulumi.set(__self__, "storage_account_type", storage_account_type) if create_option is not None: pulumi.set(__self__, "create_option", create_option) if disk_encryption_set_id is not None: pulumi.set(__self__, "disk_encryption_set_id", disk_encryption_set_id) + if disk_size_gb is not None: + pulumi.set(__self__, "disk_size_gb", disk_size_gb) + if lun is not None: + pulumi.set(__self__, "lun", lun) if ultra_ssd_disk_iops_read_write is not None: pulumi.set(__self__, "ultra_ssd_disk_iops_read_write", ultra_ssd_disk_iops_read_write) if ultra_ssd_disk_mbps_read_write is not None: @@ -3486,30 +3545,6 @@ def caching(self) -> pulumi.Input[str]: def caching(self, value: pulumi.Input[str]): pulumi.set(self, "caching", value) - @property - @pulumi.getter(name="diskSizeGb") - def disk_size_gb(self) -> pulumi.Input[int]: - """ - The size of the Data Disk which should be created. - """ - return pulumi.get(self, "disk_size_gb") - - @disk_size_gb.setter - def disk_size_gb(self, value: pulumi.Input[int]): - pulumi.set(self, "disk_size_gb", value) - - @property - @pulumi.getter - def lun(self) -> pulumi.Input[int]: - """ - The Logical Unit Number of the Data Disk, which must be unique within the Virtual Machine. - """ - return pulumi.get(self, "lun") - - @lun.setter - def lun(self, value: pulumi.Input[int]): - pulumi.set(self, "lun", value) - @property @pulumi.getter(name="storageAccountType") def storage_account_type(self) -> pulumi.Input[str]: @@ -3546,6 +3581,30 @@ def disk_encryption_set_id(self) -> Optional[pulumi.Input[str]]: def disk_encryption_set_id(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "disk_encryption_set_id", value) + @property + @pulumi.getter(name="diskSizeGb") + def disk_size_gb(self) -> Optional[pulumi.Input[int]]: + """ + The size of the Data Disk which should be created. Required if `create_option` is specified as `Empty`. + """ + return pulumi.get(self, "disk_size_gb") + + @disk_size_gb.setter + def disk_size_gb(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "disk_size_gb", value) + + @property + @pulumi.getter + def lun(self) -> Optional[pulumi.Input[int]]: + """ + The Logical Unit Number of the Data Disk, which must be unique within the Virtual Machine. Required if `create_option` is specified as `Empty`. + """ + return pulumi.get(self, "lun") + + @lun.setter + def lun(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "lun", value) + @property @pulumi.getter(name="ultraSsdDiskIopsReadWrite") def ultra_ssd_disk_iops_read_write(self) -> Optional[pulumi.Input[int]]: @@ -9095,22 +9154,30 @@ def storage_account_uri(self, value: Optional[pulumi.Input[str]]): class WindowsVirtualMachineGalleryApplicationArgs: def __init__(__self__, *, version_id: pulumi.Input[str], + automatic_upgrade_enabled: Optional[pulumi.Input[bool]] = None, configuration_blob_uri: Optional[pulumi.Input[str]] = None, order: Optional[pulumi.Input[int]] = None, - tag: Optional[pulumi.Input[str]] = None): + tag: Optional[pulumi.Input[str]] = None, + treat_failure_as_deployment_failure_enabled: Optional[pulumi.Input[bool]] = None): """ :param pulumi.Input[str] version_id: Specifies the Gallery Application Version resource ID. + :param pulumi.Input[bool] automatic_upgrade_enabled: Specifies whether the version will be automatically updated for the VM when a new Gallery Application version is available in PIR/SIG. Defaults to `false`. :param pulumi.Input[str] configuration_blob_uri: Specifies the URI to an Azure Blob that will replace the default configuration for the package if provided. :param pulumi.Input[int] order: Specifies the order in which the packages have to be installed. Possible values are between `0` and `2,147,483,647`. :param pulumi.Input[str] tag: Specifies a passthrough value for more generic context. This field can be any valid `string` value. + :param pulumi.Input[bool] treat_failure_as_deployment_failure_enabled: Specifies whether any failure for any operation in the VmApplication will fail the deployment of the VM. Defaults to `false`. """ pulumi.set(__self__, "version_id", version_id) + if automatic_upgrade_enabled is not None: + pulumi.set(__self__, "automatic_upgrade_enabled", automatic_upgrade_enabled) if configuration_blob_uri is not None: pulumi.set(__self__, "configuration_blob_uri", configuration_blob_uri) if order is not None: pulumi.set(__self__, "order", order) if tag is not None: pulumi.set(__self__, "tag", tag) + if treat_failure_as_deployment_failure_enabled is not None: + pulumi.set(__self__, "treat_failure_as_deployment_failure_enabled", treat_failure_as_deployment_failure_enabled) @property @pulumi.getter(name="versionId") @@ -9124,6 +9191,18 @@ def version_id(self) -> pulumi.Input[str]: def version_id(self, value: pulumi.Input[str]): pulumi.set(self, "version_id", value) + @property + @pulumi.getter(name="automaticUpgradeEnabled") + def automatic_upgrade_enabled(self) -> Optional[pulumi.Input[bool]]: + """ + Specifies whether the version will be automatically updated for the VM when a new Gallery Application version is available in PIR/SIG. Defaults to `false`. + """ + return pulumi.get(self, "automatic_upgrade_enabled") + + @automatic_upgrade_enabled.setter + def automatic_upgrade_enabled(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "automatic_upgrade_enabled", value) + @property @pulumi.getter(name="configurationBlobUri") def configuration_blob_uri(self) -> Optional[pulumi.Input[str]]: @@ -9160,6 +9239,18 @@ def tag(self) -> Optional[pulumi.Input[str]]: def tag(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "tag", value) + @property + @pulumi.getter(name="treatFailureAsDeploymentFailureEnabled") + def treat_failure_as_deployment_failure_enabled(self) -> Optional[pulumi.Input[bool]]: + """ + Specifies whether any failure for any operation in the VmApplication will fail the deployment of the VM. Defaults to `false`. + """ + return pulumi.get(self, "treat_failure_as_deployment_failure_enabled") + + @treat_failure_as_deployment_failure_enabled.setter + def treat_failure_as_deployment_failure_enabled(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "treat_failure_as_deployment_failure_enabled", value) + @pulumi.input_type class WindowsVirtualMachineIdentityArgs: @@ -9450,6 +9541,29 @@ def placement(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "placement", value) +@pulumi.input_type +class WindowsVirtualMachineOsImageNotificationArgs: + def __init__(__self__, *, + timeout: Optional[pulumi.Input[str]] = None): + """ + :param pulumi.Input[str] timeout: Length of time a notification to be sent to the VM on the instance metadata server till the VM gets OS upgraded. The only possible value is `PT15M`. Defaults to `PT15M`. + """ + if timeout is not None: + pulumi.set(__self__, "timeout", timeout) + + @property + @pulumi.getter + def timeout(self) -> Optional[pulumi.Input[str]]: + """ + Length of time a notification to be sent to the VM on the instance metadata server till the VM gets OS upgraded. The only possible value is `PT15M`. Defaults to `PT15M`. + """ + return pulumi.get(self, "timeout") + + @timeout.setter + def timeout(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "timeout", value) + + @pulumi.input_type class WindowsVirtualMachinePlanArgs: def __init__(__self__, *, diff --git a/sdk/python/pulumi_azure/compute/linux_virtual_machine.py b/sdk/python/pulumi_azure/compute/linux_virtual_machine.py index 40c746f2a1..88ce6c2292 100644 --- a/sdk/python/pulumi_azure/compute/linux_virtual_machine.py +++ b/sdk/python/pulumi_azure/compute/linux_virtual_machine.py @@ -34,6 +34,7 @@ def __init__(__self__, *, dedicated_host_group_id: Optional[pulumi.Input[str]] = None, dedicated_host_id: Optional[pulumi.Input[str]] = None, disable_password_authentication: Optional[pulumi.Input[bool]] = None, + disk_controller_type: Optional[pulumi.Input[str]] = None, edge_zone: Optional[pulumi.Input[str]] = None, encryption_at_host_enabled: Optional[pulumi.Input[bool]] = None, eviction_policy: Optional[pulumi.Input[str]] = None, @@ -44,6 +45,7 @@ def __init__(__self__, *, location: Optional[pulumi.Input[str]] = None, max_bid_price: Optional[pulumi.Input[float]] = None, name: Optional[pulumi.Input[str]] = None, + os_image_notification: Optional[pulumi.Input['LinuxVirtualMachineOsImageNotificationArgs']] = None, patch_assessment_mode: Optional[pulumi.Input[str]] = None, patch_mode: Optional[pulumi.Input[str]] = None, plan: Optional[pulumi.Input['LinuxVirtualMachinePlanArgs']] = None, @@ -60,6 +62,7 @@ def __init__(__self__, *, termination_notification: Optional[pulumi.Input['LinuxVirtualMachineTerminationNotificationArgs']] = None, user_data: Optional[pulumi.Input[str]] = None, virtual_machine_scale_set_id: Optional[pulumi.Input[str]] = None, + vm_agent_platform_updates_enabled: Optional[pulumi.Input[bool]] = None, vtpm_enabled: Optional[pulumi.Input[bool]] = None, zone: Optional[pulumi.Input[str]] = None): """ @@ -95,6 +98,7 @@ def __init__(__self__, *, > In general we'd recommend using SSH Keys for authentication rather than Passwords - but there's tradeoff's to each - please [see this thread for more information](https://security.stackexchange.com/questions/69407/why-is-using-an-ssh-key-more-secure-than-using-passwords). > **NOTE:** When an `admin_password` is specified `disable_password_authentication` must be set to `false`. + :param pulumi.Input[str] disk_controller_type: Specifies the Disk Controller Type used for this Virtual Machine. Possible values are `SCSI` and `NVMe`. :param pulumi.Input[str] edge_zone: Specifies the Edge Zone within the Azure Region where this Linux Virtual Machine should exist. Changing this forces a new Linux Virtual Machine to be created. :param pulumi.Input[bool] encryption_at_host_enabled: Should all of the disks (including the temp disk) attached to this Virtual Machine be encrypted by enabling Encryption at Host? :param pulumi.Input[str] eviction_policy: Specifies what should happen when the Virtual Machine is evicted for price reasons when using a Spot instance. Possible values are `Deallocate` and `Delete`. Changing this forces a new resource to be created. @@ -109,6 +113,7 @@ def __init__(__self__, *, > **NOTE:** This can only be configured when `priority` is set to `Spot`. :param pulumi.Input[str] name: The name of the Linux Virtual Machine. Changing this forces a new resource to be created. + :param pulumi.Input['LinuxVirtualMachineOsImageNotificationArgs'] os_image_notification: A `os_image_notification` block as defined below. :param pulumi.Input[str] patch_assessment_mode: Specifies the mode of VM Guest Patching for the Virtual Machine. Possible values are `AutomaticByPlatform` or `ImageDefault`. Defaults to `ImageDefault`. > **NOTE:** If the `patch_assessment_mode` is set to `AutomaticByPlatform` then the `provision_vm_agent` field must be set to `true`. @@ -136,9 +141,12 @@ def __init__(__self__, *, :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A mapping of tags which should be assigned to this Virtual Machine. :param pulumi.Input['LinuxVirtualMachineTerminationNotificationArgs'] termination_notification: A `termination_notification` block as defined below. :param pulumi.Input[str] user_data: The Base64-Encoded User Data which should be used for this Virtual Machine. - :param pulumi.Input[str] virtual_machine_scale_set_id: Specifies the Orchestrated Virtual Machine Scale Set that this Virtual Machine should be created within. Changing this forces a new resource to be created. + :param pulumi.Input[str] virtual_machine_scale_set_id: Specifies the Orchestrated Virtual Machine Scale Set that this Virtual Machine should be created within. + + > **NOTE:** To update `virtual_machine_scale_set_id` the Preview Feature `Microsoft.Compute/SingleFDAttachDetachVMToVmss` needs to be enabled, see [the documentation](https://review.learn.microsoft.com/azure/virtual-machine-scale-sets/virtual-machine-scale-sets-attach-detach-vm#enroll-in-the-preview) for more information. > **NOTE:** Orchestrated Virtual Machine Scale Sets can be provisioned using [the `compute.OrchestratedVirtualMachineScaleSet` resource](https://www.terraform.io/docs/providers/azurerm/r/orchestrated_virtual_machine_scale_set.html). + :param pulumi.Input[bool] vm_agent_platform_updates_enabled: Specifies whether VMAgent Platform Updates is enabled. Defaults to `false`. :param pulumi.Input[bool] vtpm_enabled: Specifies whether vTPM should be enabled on the virtual machine. Changing this forces a new resource to be created. :param pulumi.Input[str] zone: Specifies the Availability Zones in which this Linux Virtual Machine should be located. Changing this forces a new Linux Virtual Machine to be created. """ @@ -173,6 +181,8 @@ def __init__(__self__, *, pulumi.set(__self__, "dedicated_host_id", dedicated_host_id) if disable_password_authentication is not None: pulumi.set(__self__, "disable_password_authentication", disable_password_authentication) + if disk_controller_type is not None: + pulumi.set(__self__, "disk_controller_type", disk_controller_type) if edge_zone is not None: pulumi.set(__self__, "edge_zone", edge_zone) if encryption_at_host_enabled is not None: @@ -193,6 +203,8 @@ def __init__(__self__, *, pulumi.set(__self__, "max_bid_price", max_bid_price) if name is not None: pulumi.set(__self__, "name", name) + if os_image_notification is not None: + pulumi.set(__self__, "os_image_notification", os_image_notification) if patch_assessment_mode is not None: pulumi.set(__self__, "patch_assessment_mode", patch_assessment_mode) if patch_mode is not None: @@ -225,6 +237,8 @@ def __init__(__self__, *, pulumi.set(__self__, "user_data", user_data) if virtual_machine_scale_set_id is not None: pulumi.set(__self__, "virtual_machine_scale_set_id", virtual_machine_scale_set_id) + if vm_agent_platform_updates_enabled is not None: + pulumi.set(__self__, "vm_agent_platform_updates_enabled", vm_agent_platform_updates_enabled) if vtpm_enabled is not None: pulumi.set(__self__, "vtpm_enabled", vtpm_enabled) if zone is not None: @@ -459,6 +473,18 @@ def disable_password_authentication(self) -> Optional[pulumi.Input[bool]]: def disable_password_authentication(self, value: Optional[pulumi.Input[bool]]): pulumi.set(self, "disable_password_authentication", value) + @property + @pulumi.getter(name="diskControllerType") + def disk_controller_type(self) -> Optional[pulumi.Input[str]]: + """ + Specifies the Disk Controller Type used for this Virtual Machine. Possible values are `SCSI` and `NVMe`. + """ + return pulumi.get(self, "disk_controller_type") + + @disk_controller_type.setter + def disk_controller_type(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "disk_controller_type", value) + @property @pulumi.getter(name="edgeZone") def edge_zone(self) -> Optional[pulumi.Input[str]]: @@ -583,6 +609,18 @@ def name(self) -> Optional[pulumi.Input[str]]: def name(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "name", value) + @property + @pulumi.getter(name="osImageNotification") + def os_image_notification(self) -> Optional[pulumi.Input['LinuxVirtualMachineOsImageNotificationArgs']]: + """ + A `os_image_notification` block as defined below. + """ + return pulumi.get(self, "os_image_notification") + + @os_image_notification.setter + def os_image_notification(self, value: Optional[pulumi.Input['LinuxVirtualMachineOsImageNotificationArgs']]): + pulumi.set(self, "os_image_notification", value) + @property @pulumi.getter(name="patchAssessmentMode") def patch_assessment_mode(self) -> Optional[pulumi.Input[str]]: @@ -779,7 +817,9 @@ def user_data(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="virtualMachineScaleSetId") def virtual_machine_scale_set_id(self) -> Optional[pulumi.Input[str]]: """ - Specifies the Orchestrated Virtual Machine Scale Set that this Virtual Machine should be created within. Changing this forces a new resource to be created. + Specifies the Orchestrated Virtual Machine Scale Set that this Virtual Machine should be created within. + + > **NOTE:** To update `virtual_machine_scale_set_id` the Preview Feature `Microsoft.Compute/SingleFDAttachDetachVMToVmss` needs to be enabled, see [the documentation](https://review.learn.microsoft.com/azure/virtual-machine-scale-sets/virtual-machine-scale-sets-attach-detach-vm#enroll-in-the-preview) for more information. > **NOTE:** Orchestrated Virtual Machine Scale Sets can be provisioned using [the `compute.OrchestratedVirtualMachineScaleSet` resource](https://www.terraform.io/docs/providers/azurerm/r/orchestrated_virtual_machine_scale_set.html). """ @@ -789,6 +829,18 @@ def virtual_machine_scale_set_id(self) -> Optional[pulumi.Input[str]]: def virtual_machine_scale_set_id(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "virtual_machine_scale_set_id", value) + @property + @pulumi.getter(name="vmAgentPlatformUpdatesEnabled") + def vm_agent_platform_updates_enabled(self) -> Optional[pulumi.Input[bool]]: + """ + Specifies whether VMAgent Platform Updates is enabled. Defaults to `false`. + """ + return pulumi.get(self, "vm_agent_platform_updates_enabled") + + @vm_agent_platform_updates_enabled.setter + def vm_agent_platform_updates_enabled(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "vm_agent_platform_updates_enabled", value) + @property @pulumi.getter(name="vtpmEnabled") def vtpm_enabled(self) -> Optional[pulumi.Input[bool]]: @@ -831,6 +883,7 @@ def __init__(__self__, *, dedicated_host_group_id: Optional[pulumi.Input[str]] = None, dedicated_host_id: Optional[pulumi.Input[str]] = None, disable_password_authentication: Optional[pulumi.Input[bool]] = None, + disk_controller_type: Optional[pulumi.Input[str]] = None, edge_zone: Optional[pulumi.Input[str]] = None, encryption_at_host_enabled: Optional[pulumi.Input[bool]] = None, eviction_policy: Optional[pulumi.Input[str]] = None, @@ -843,6 +896,7 @@ def __init__(__self__, *, name: Optional[pulumi.Input[str]] = None, network_interface_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, os_disk: Optional[pulumi.Input['LinuxVirtualMachineOsDiskArgs']] = None, + os_image_notification: Optional[pulumi.Input['LinuxVirtualMachineOsImageNotificationArgs']] = None, patch_assessment_mode: Optional[pulumi.Input[str]] = None, patch_mode: Optional[pulumi.Input[str]] = None, plan: Optional[pulumi.Input['LinuxVirtualMachinePlanArgs']] = None, @@ -866,6 +920,7 @@ def __init__(__self__, *, user_data: Optional[pulumi.Input[str]] = None, virtual_machine_id: Optional[pulumi.Input[str]] = None, virtual_machine_scale_set_id: Optional[pulumi.Input[str]] = None, + vm_agent_platform_updates_enabled: Optional[pulumi.Input[bool]] = None, vtpm_enabled: Optional[pulumi.Input[bool]] = None, zone: Optional[pulumi.Input[str]] = None): """ @@ -897,6 +952,7 @@ def __init__(__self__, *, > In general we'd recommend using SSH Keys for authentication rather than Passwords - but there's tradeoff's to each - please [see this thread for more information](https://security.stackexchange.com/questions/69407/why-is-using-an-ssh-key-more-secure-than-using-passwords). > **NOTE:** When an `admin_password` is specified `disable_password_authentication` must be set to `false`. + :param pulumi.Input[str] disk_controller_type: Specifies the Disk Controller Type used for this Virtual Machine. Possible values are `SCSI` and `NVMe`. :param pulumi.Input[str] edge_zone: Specifies the Edge Zone within the Azure Region where this Linux Virtual Machine should exist. Changing this forces a new Linux Virtual Machine to be created. :param pulumi.Input[bool] encryption_at_host_enabled: Should all of the disks (including the temp disk) attached to this Virtual Machine be encrypted by enabling Encryption at Host? :param pulumi.Input[str] eviction_policy: Specifies what should happen when the Virtual Machine is evicted for price reasons when using a Spot instance. Possible values are `Deallocate` and `Delete`. Changing this forces a new resource to be created. @@ -913,6 +969,7 @@ def __init__(__self__, *, :param pulumi.Input[str] name: The name of the Linux Virtual Machine. Changing this forces a new resource to be created. :param pulumi.Input[Sequence[pulumi.Input[str]]] network_interface_ids: . A list of Network Interface IDs which should be attached to this Virtual Machine. The first Network Interface ID in this list will be the Primary Network Interface on the Virtual Machine. :param pulumi.Input['LinuxVirtualMachineOsDiskArgs'] os_disk: A `os_disk` block as defined below. + :param pulumi.Input['LinuxVirtualMachineOsImageNotificationArgs'] os_image_notification: A `os_image_notification` block as defined below. :param pulumi.Input[str] patch_assessment_mode: Specifies the mode of VM Guest Patching for the Virtual Machine. Possible values are `AutomaticByPlatform` or `ImageDefault`. Defaults to `ImageDefault`. > **NOTE:** If the `patch_assessment_mode` is set to `AutomaticByPlatform` then the `provision_vm_agent` field must be set to `true`. @@ -947,9 +1004,12 @@ def __init__(__self__, *, :param pulumi.Input['LinuxVirtualMachineTerminationNotificationArgs'] termination_notification: A `termination_notification` block as defined below. :param pulumi.Input[str] user_data: The Base64-Encoded User Data which should be used for this Virtual Machine. :param pulumi.Input[str] virtual_machine_id: A 128-bit identifier which uniquely identifies this Virtual Machine. - :param pulumi.Input[str] virtual_machine_scale_set_id: Specifies the Orchestrated Virtual Machine Scale Set that this Virtual Machine should be created within. Changing this forces a new resource to be created. + :param pulumi.Input[str] virtual_machine_scale_set_id: Specifies the Orchestrated Virtual Machine Scale Set that this Virtual Machine should be created within. + + > **NOTE:** To update `virtual_machine_scale_set_id` the Preview Feature `Microsoft.Compute/SingleFDAttachDetachVMToVmss` needs to be enabled, see [the documentation](https://review.learn.microsoft.com/azure/virtual-machine-scale-sets/virtual-machine-scale-sets-attach-detach-vm#enroll-in-the-preview) for more information. > **NOTE:** Orchestrated Virtual Machine Scale Sets can be provisioned using [the `compute.OrchestratedVirtualMachineScaleSet` resource](https://www.terraform.io/docs/providers/azurerm/r/orchestrated_virtual_machine_scale_set.html). + :param pulumi.Input[bool] vm_agent_platform_updates_enabled: Specifies whether VMAgent Platform Updates is enabled. Defaults to `false`. :param pulumi.Input[bool] vtpm_enabled: Specifies whether vTPM should be enabled on the virtual machine. Changing this forces a new resource to be created. :param pulumi.Input[str] zone: Specifies the Availability Zones in which this Linux Virtual Machine should be located. Changing this forces a new Linux Virtual Machine to be created. """ @@ -981,6 +1041,8 @@ def __init__(__self__, *, pulumi.set(__self__, "dedicated_host_id", dedicated_host_id) if disable_password_authentication is not None: pulumi.set(__self__, "disable_password_authentication", disable_password_authentication) + if disk_controller_type is not None: + pulumi.set(__self__, "disk_controller_type", disk_controller_type) if edge_zone is not None: pulumi.set(__self__, "edge_zone", edge_zone) if encryption_at_host_enabled is not None: @@ -1005,6 +1067,8 @@ def __init__(__self__, *, pulumi.set(__self__, "network_interface_ids", network_interface_ids) if os_disk is not None: pulumi.set(__self__, "os_disk", os_disk) + if os_image_notification is not None: + pulumi.set(__self__, "os_image_notification", os_image_notification) if patch_assessment_mode is not None: pulumi.set(__self__, "patch_assessment_mode", patch_assessment_mode) if patch_mode is not None: @@ -1051,6 +1115,8 @@ def __init__(__self__, *, pulumi.set(__self__, "virtual_machine_id", virtual_machine_id) if virtual_machine_scale_set_id is not None: pulumi.set(__self__, "virtual_machine_scale_set_id", virtual_machine_scale_set_id) + if vm_agent_platform_updates_enabled is not None: + pulumi.set(__self__, "vm_agent_platform_updates_enabled", vm_agent_platform_updates_enabled) if vtpm_enabled is not None: pulumi.set(__self__, "vtpm_enabled", vtpm_enabled) if zone is not None: @@ -1237,6 +1303,18 @@ def disable_password_authentication(self) -> Optional[pulumi.Input[bool]]: def disable_password_authentication(self, value: Optional[pulumi.Input[bool]]): pulumi.set(self, "disable_password_authentication", value) + @property + @pulumi.getter(name="diskControllerType") + def disk_controller_type(self) -> Optional[pulumi.Input[str]]: + """ + Specifies the Disk Controller Type used for this Virtual Machine. Possible values are `SCSI` and `NVMe`. + """ + return pulumi.get(self, "disk_controller_type") + + @disk_controller_type.setter + def disk_controller_type(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "disk_controller_type", value) + @property @pulumi.getter(name="edgeZone") def edge_zone(self) -> Optional[pulumi.Input[str]]: @@ -1385,6 +1463,18 @@ def os_disk(self) -> Optional[pulumi.Input['LinuxVirtualMachineOsDiskArgs']]: def os_disk(self, value: Optional[pulumi.Input['LinuxVirtualMachineOsDiskArgs']]): pulumi.set(self, "os_disk", value) + @property + @pulumi.getter(name="osImageNotification") + def os_image_notification(self) -> Optional[pulumi.Input['LinuxVirtualMachineOsImageNotificationArgs']]: + """ + A `os_image_notification` block as defined below. + """ + return pulumi.get(self, "os_image_notification") + + @os_image_notification.setter + def os_image_notification(self, value: Optional[pulumi.Input['LinuxVirtualMachineOsImageNotificationArgs']]): + pulumi.set(self, "os_image_notification", value) + @property @pulumi.getter(name="patchAssessmentMode") def patch_assessment_mode(self) -> Optional[pulumi.Input[str]]: @@ -1665,7 +1755,9 @@ def virtual_machine_id(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="virtualMachineScaleSetId") def virtual_machine_scale_set_id(self) -> Optional[pulumi.Input[str]]: """ - Specifies the Orchestrated Virtual Machine Scale Set that this Virtual Machine should be created within. Changing this forces a new resource to be created. + Specifies the Orchestrated Virtual Machine Scale Set that this Virtual Machine should be created within. + + > **NOTE:** To update `virtual_machine_scale_set_id` the Preview Feature `Microsoft.Compute/SingleFDAttachDetachVMToVmss` needs to be enabled, see [the documentation](https://review.learn.microsoft.com/azure/virtual-machine-scale-sets/virtual-machine-scale-sets-attach-detach-vm#enroll-in-the-preview) for more information. > **NOTE:** Orchestrated Virtual Machine Scale Sets can be provisioned using [the `compute.OrchestratedVirtualMachineScaleSet` resource](https://www.terraform.io/docs/providers/azurerm/r/orchestrated_virtual_machine_scale_set.html). """ @@ -1675,6 +1767,18 @@ def virtual_machine_scale_set_id(self) -> Optional[pulumi.Input[str]]: def virtual_machine_scale_set_id(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "virtual_machine_scale_set_id", value) + @property + @pulumi.getter(name="vmAgentPlatformUpdatesEnabled") + def vm_agent_platform_updates_enabled(self) -> Optional[pulumi.Input[bool]]: + """ + Specifies whether VMAgent Platform Updates is enabled. Defaults to `false`. + """ + return pulumi.get(self, "vm_agent_platform_updates_enabled") + + @vm_agent_platform_updates_enabled.setter + def vm_agent_platform_updates_enabled(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "vm_agent_platform_updates_enabled", value) + @property @pulumi.getter(name="vtpmEnabled") def vtpm_enabled(self) -> Optional[pulumi.Input[bool]]: @@ -1719,6 +1823,7 @@ def __init__(__self__, dedicated_host_group_id: Optional[pulumi.Input[str]] = None, dedicated_host_id: Optional[pulumi.Input[str]] = None, disable_password_authentication: Optional[pulumi.Input[bool]] = None, + disk_controller_type: Optional[pulumi.Input[str]] = None, edge_zone: Optional[pulumi.Input[str]] = None, encryption_at_host_enabled: Optional[pulumi.Input[bool]] = None, eviction_policy: Optional[pulumi.Input[str]] = None, @@ -1731,6 +1836,7 @@ def __init__(__self__, name: Optional[pulumi.Input[str]] = None, network_interface_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, os_disk: Optional[pulumi.Input[pulumi.InputType['LinuxVirtualMachineOsDiskArgs']]] = None, + os_image_notification: Optional[pulumi.Input[pulumi.InputType['LinuxVirtualMachineOsImageNotificationArgs']]] = None, patch_assessment_mode: Optional[pulumi.Input[str]] = None, patch_mode: Optional[pulumi.Input[str]] = None, plan: Optional[pulumi.Input[pulumi.InputType['LinuxVirtualMachinePlanArgs']]] = None, @@ -1749,6 +1855,7 @@ def __init__(__self__, termination_notification: Optional[pulumi.Input[pulumi.InputType['LinuxVirtualMachineTerminationNotificationArgs']]] = None, user_data: Optional[pulumi.Input[str]] = None, virtual_machine_scale_set_id: Optional[pulumi.Input[str]] = None, + vm_agent_platform_updates_enabled: Optional[pulumi.Input[bool]] = None, vtpm_enabled: Optional[pulumi.Input[bool]] = None, zone: Optional[pulumi.Input[str]] = None, __props__=None): @@ -1858,6 +1965,7 @@ def __init__(__self__, > In general we'd recommend using SSH Keys for authentication rather than Passwords - but there's tradeoff's to each - please [see this thread for more information](https://security.stackexchange.com/questions/69407/why-is-using-an-ssh-key-more-secure-than-using-passwords). > **NOTE:** When an `admin_password` is specified `disable_password_authentication` must be set to `false`. + :param pulumi.Input[str] disk_controller_type: Specifies the Disk Controller Type used for this Virtual Machine. Possible values are `SCSI` and `NVMe`. :param pulumi.Input[str] edge_zone: Specifies the Edge Zone within the Azure Region where this Linux Virtual Machine should exist. Changing this forces a new Linux Virtual Machine to be created. :param pulumi.Input[bool] encryption_at_host_enabled: Should all of the disks (including the temp disk) attached to this Virtual Machine be encrypted by enabling Encryption at Host? :param pulumi.Input[str] eviction_policy: Specifies what should happen when the Virtual Machine is evicted for price reasons when using a Spot instance. Possible values are `Deallocate` and `Delete`. Changing this forces a new resource to be created. @@ -1874,6 +1982,7 @@ def __init__(__self__, :param pulumi.Input[str] name: The name of the Linux Virtual Machine. Changing this forces a new resource to be created. :param pulumi.Input[Sequence[pulumi.Input[str]]] network_interface_ids: . A list of Network Interface IDs which should be attached to this Virtual Machine. The first Network Interface ID in this list will be the Primary Network Interface on the Virtual Machine. :param pulumi.Input[pulumi.InputType['LinuxVirtualMachineOsDiskArgs']] os_disk: A `os_disk` block as defined below. + :param pulumi.Input[pulumi.InputType['LinuxVirtualMachineOsImageNotificationArgs']] os_image_notification: A `os_image_notification` block as defined below. :param pulumi.Input[str] patch_assessment_mode: Specifies the mode of VM Guest Patching for the Virtual Machine. Possible values are `AutomaticByPlatform` or `ImageDefault`. Defaults to `ImageDefault`. > **NOTE:** If the `patch_assessment_mode` is set to `AutomaticByPlatform` then the `provision_vm_agent` field must be set to `true`. @@ -1903,9 +2012,12 @@ def __init__(__self__, :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A mapping of tags which should be assigned to this Virtual Machine. :param pulumi.Input[pulumi.InputType['LinuxVirtualMachineTerminationNotificationArgs']] termination_notification: A `termination_notification` block as defined below. :param pulumi.Input[str] user_data: The Base64-Encoded User Data which should be used for this Virtual Machine. - :param pulumi.Input[str] virtual_machine_scale_set_id: Specifies the Orchestrated Virtual Machine Scale Set that this Virtual Machine should be created within. Changing this forces a new resource to be created. + :param pulumi.Input[str] virtual_machine_scale_set_id: Specifies the Orchestrated Virtual Machine Scale Set that this Virtual Machine should be created within. + + > **NOTE:** To update `virtual_machine_scale_set_id` the Preview Feature `Microsoft.Compute/SingleFDAttachDetachVMToVmss` needs to be enabled, see [the documentation](https://review.learn.microsoft.com/azure/virtual-machine-scale-sets/virtual-machine-scale-sets-attach-detach-vm#enroll-in-the-preview) for more information. > **NOTE:** Orchestrated Virtual Machine Scale Sets can be provisioned using [the `compute.OrchestratedVirtualMachineScaleSet` resource](https://www.terraform.io/docs/providers/azurerm/r/orchestrated_virtual_machine_scale_set.html). + :param pulumi.Input[bool] vm_agent_platform_updates_enabled: Specifies whether VMAgent Platform Updates is enabled. Defaults to `false`. :param pulumi.Input[bool] vtpm_enabled: Specifies whether vTPM should be enabled on the virtual machine. Changing this forces a new resource to be created. :param pulumi.Input[str] zone: Specifies the Availability Zones in which this Linux Virtual Machine should be located. Changing this forces a new Linux Virtual Machine to be created. """ @@ -2021,6 +2133,7 @@ def _internal_init(__self__, dedicated_host_group_id: Optional[pulumi.Input[str]] = None, dedicated_host_id: Optional[pulumi.Input[str]] = None, disable_password_authentication: Optional[pulumi.Input[bool]] = None, + disk_controller_type: Optional[pulumi.Input[str]] = None, edge_zone: Optional[pulumi.Input[str]] = None, encryption_at_host_enabled: Optional[pulumi.Input[bool]] = None, eviction_policy: Optional[pulumi.Input[str]] = None, @@ -2033,6 +2146,7 @@ def _internal_init(__self__, name: Optional[pulumi.Input[str]] = None, network_interface_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, os_disk: Optional[pulumi.Input[pulumi.InputType['LinuxVirtualMachineOsDiskArgs']]] = None, + os_image_notification: Optional[pulumi.Input[pulumi.InputType['LinuxVirtualMachineOsImageNotificationArgs']]] = None, patch_assessment_mode: Optional[pulumi.Input[str]] = None, patch_mode: Optional[pulumi.Input[str]] = None, plan: Optional[pulumi.Input[pulumi.InputType['LinuxVirtualMachinePlanArgs']]] = None, @@ -2051,6 +2165,7 @@ def _internal_init(__self__, termination_notification: Optional[pulumi.Input[pulumi.InputType['LinuxVirtualMachineTerminationNotificationArgs']]] = None, user_data: Optional[pulumi.Input[str]] = None, virtual_machine_scale_set_id: Optional[pulumi.Input[str]] = None, + vm_agent_platform_updates_enabled: Optional[pulumi.Input[bool]] = None, vtpm_enabled: Optional[pulumi.Input[bool]] = None, zone: Optional[pulumi.Input[str]] = None, __props__=None): @@ -2078,6 +2193,7 @@ def _internal_init(__self__, __props__.__dict__["dedicated_host_group_id"] = dedicated_host_group_id __props__.__dict__["dedicated_host_id"] = dedicated_host_id __props__.__dict__["disable_password_authentication"] = disable_password_authentication + __props__.__dict__["disk_controller_type"] = disk_controller_type __props__.__dict__["edge_zone"] = edge_zone __props__.__dict__["encryption_at_host_enabled"] = encryption_at_host_enabled __props__.__dict__["eviction_policy"] = eviction_policy @@ -2094,6 +2210,7 @@ def _internal_init(__self__, if os_disk is None and not opts.urn: raise TypeError("Missing required property 'os_disk'") __props__.__dict__["os_disk"] = os_disk + __props__.__dict__["os_image_notification"] = os_image_notification __props__.__dict__["patch_assessment_mode"] = patch_assessment_mode __props__.__dict__["patch_mode"] = patch_mode __props__.__dict__["plan"] = plan @@ -2116,6 +2233,7 @@ def _internal_init(__self__, __props__.__dict__["termination_notification"] = termination_notification __props__.__dict__["user_data"] = user_data __props__.__dict__["virtual_machine_scale_set_id"] = virtual_machine_scale_set_id + __props__.__dict__["vm_agent_platform_updates_enabled"] = vm_agent_platform_updates_enabled __props__.__dict__["vtpm_enabled"] = vtpm_enabled __props__.__dict__["zone"] = zone __props__.__dict__["private_ip_address"] = None @@ -2149,6 +2267,7 @@ def get(resource_name: str, dedicated_host_group_id: Optional[pulumi.Input[str]] = None, dedicated_host_id: Optional[pulumi.Input[str]] = None, disable_password_authentication: Optional[pulumi.Input[bool]] = None, + disk_controller_type: Optional[pulumi.Input[str]] = None, edge_zone: Optional[pulumi.Input[str]] = None, encryption_at_host_enabled: Optional[pulumi.Input[bool]] = None, eviction_policy: Optional[pulumi.Input[str]] = None, @@ -2161,6 +2280,7 @@ def get(resource_name: str, name: Optional[pulumi.Input[str]] = None, network_interface_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, os_disk: Optional[pulumi.Input[pulumi.InputType['LinuxVirtualMachineOsDiskArgs']]] = None, + os_image_notification: Optional[pulumi.Input[pulumi.InputType['LinuxVirtualMachineOsImageNotificationArgs']]] = None, patch_assessment_mode: Optional[pulumi.Input[str]] = None, patch_mode: Optional[pulumi.Input[str]] = None, plan: Optional[pulumi.Input[pulumi.InputType['LinuxVirtualMachinePlanArgs']]] = None, @@ -2184,6 +2304,7 @@ def get(resource_name: str, user_data: Optional[pulumi.Input[str]] = None, virtual_machine_id: Optional[pulumi.Input[str]] = None, virtual_machine_scale_set_id: Optional[pulumi.Input[str]] = None, + vm_agent_platform_updates_enabled: Optional[pulumi.Input[bool]] = None, vtpm_enabled: Optional[pulumi.Input[bool]] = None, zone: Optional[pulumi.Input[str]] = None) -> 'LinuxVirtualMachine': """ @@ -2220,6 +2341,7 @@ def get(resource_name: str, > In general we'd recommend using SSH Keys for authentication rather than Passwords - but there's tradeoff's to each - please [see this thread for more information](https://security.stackexchange.com/questions/69407/why-is-using-an-ssh-key-more-secure-than-using-passwords). > **NOTE:** When an `admin_password` is specified `disable_password_authentication` must be set to `false`. + :param pulumi.Input[str] disk_controller_type: Specifies the Disk Controller Type used for this Virtual Machine. Possible values are `SCSI` and `NVMe`. :param pulumi.Input[str] edge_zone: Specifies the Edge Zone within the Azure Region where this Linux Virtual Machine should exist. Changing this forces a new Linux Virtual Machine to be created. :param pulumi.Input[bool] encryption_at_host_enabled: Should all of the disks (including the temp disk) attached to this Virtual Machine be encrypted by enabling Encryption at Host? :param pulumi.Input[str] eviction_policy: Specifies what should happen when the Virtual Machine is evicted for price reasons when using a Spot instance. Possible values are `Deallocate` and `Delete`. Changing this forces a new resource to be created. @@ -2236,6 +2358,7 @@ def get(resource_name: str, :param pulumi.Input[str] name: The name of the Linux Virtual Machine. Changing this forces a new resource to be created. :param pulumi.Input[Sequence[pulumi.Input[str]]] network_interface_ids: . A list of Network Interface IDs which should be attached to this Virtual Machine. The first Network Interface ID in this list will be the Primary Network Interface on the Virtual Machine. :param pulumi.Input[pulumi.InputType['LinuxVirtualMachineOsDiskArgs']] os_disk: A `os_disk` block as defined below. + :param pulumi.Input[pulumi.InputType['LinuxVirtualMachineOsImageNotificationArgs']] os_image_notification: A `os_image_notification` block as defined below. :param pulumi.Input[str] patch_assessment_mode: Specifies the mode of VM Guest Patching for the Virtual Machine. Possible values are `AutomaticByPlatform` or `ImageDefault`. Defaults to `ImageDefault`. > **NOTE:** If the `patch_assessment_mode` is set to `AutomaticByPlatform` then the `provision_vm_agent` field must be set to `true`. @@ -2270,9 +2393,12 @@ def get(resource_name: str, :param pulumi.Input[pulumi.InputType['LinuxVirtualMachineTerminationNotificationArgs']] termination_notification: A `termination_notification` block as defined below. :param pulumi.Input[str] user_data: The Base64-Encoded User Data which should be used for this Virtual Machine. :param pulumi.Input[str] virtual_machine_id: A 128-bit identifier which uniquely identifies this Virtual Machine. - :param pulumi.Input[str] virtual_machine_scale_set_id: Specifies the Orchestrated Virtual Machine Scale Set that this Virtual Machine should be created within. Changing this forces a new resource to be created. + :param pulumi.Input[str] virtual_machine_scale_set_id: Specifies the Orchestrated Virtual Machine Scale Set that this Virtual Machine should be created within. + + > **NOTE:** To update `virtual_machine_scale_set_id` the Preview Feature `Microsoft.Compute/SingleFDAttachDetachVMToVmss` needs to be enabled, see [the documentation](https://review.learn.microsoft.com/azure/virtual-machine-scale-sets/virtual-machine-scale-sets-attach-detach-vm#enroll-in-the-preview) for more information. > **NOTE:** Orchestrated Virtual Machine Scale Sets can be provisioned using [the `compute.OrchestratedVirtualMachineScaleSet` resource](https://www.terraform.io/docs/providers/azurerm/r/orchestrated_virtual_machine_scale_set.html). + :param pulumi.Input[bool] vm_agent_platform_updates_enabled: Specifies whether VMAgent Platform Updates is enabled. Defaults to `false`. :param pulumi.Input[bool] vtpm_enabled: Specifies whether vTPM should be enabled on the virtual machine. Changing this forces a new resource to be created. :param pulumi.Input[str] zone: Specifies the Availability Zones in which this Linux Virtual Machine should be located. Changing this forces a new Linux Virtual Machine to be created. """ @@ -2294,6 +2420,7 @@ def get(resource_name: str, __props__.__dict__["dedicated_host_group_id"] = dedicated_host_group_id __props__.__dict__["dedicated_host_id"] = dedicated_host_id __props__.__dict__["disable_password_authentication"] = disable_password_authentication + __props__.__dict__["disk_controller_type"] = disk_controller_type __props__.__dict__["edge_zone"] = edge_zone __props__.__dict__["encryption_at_host_enabled"] = encryption_at_host_enabled __props__.__dict__["eviction_policy"] = eviction_policy @@ -2306,6 +2433,7 @@ def get(resource_name: str, __props__.__dict__["name"] = name __props__.__dict__["network_interface_ids"] = network_interface_ids __props__.__dict__["os_disk"] = os_disk + __props__.__dict__["os_image_notification"] = os_image_notification __props__.__dict__["patch_assessment_mode"] = patch_assessment_mode __props__.__dict__["patch_mode"] = patch_mode __props__.__dict__["plan"] = plan @@ -2329,6 +2457,7 @@ def get(resource_name: str, __props__.__dict__["user_data"] = user_data __props__.__dict__["virtual_machine_id"] = virtual_machine_id __props__.__dict__["virtual_machine_scale_set_id"] = virtual_machine_scale_set_id + __props__.__dict__["vm_agent_platform_updates_enabled"] = vm_agent_platform_updates_enabled __props__.__dict__["vtpm_enabled"] = vtpm_enabled __props__.__dict__["zone"] = zone return LinuxVirtualMachine(resource_name, opts=opts, __props__=__props__) @@ -2458,6 +2587,14 @@ def disable_password_authentication(self) -> pulumi.Output[Optional[bool]]: """ return pulumi.get(self, "disable_password_authentication") + @property + @pulumi.getter(name="diskControllerType") + def disk_controller_type(self) -> pulumi.Output[str]: + """ + Specifies the Disk Controller Type used for this Virtual Machine. Possible values are `SCSI` and `NVMe`. + """ + return pulumi.get(self, "disk_controller_type") + @property @pulumi.getter(name="edgeZone") def edge_zone(self) -> pulumi.Output[Optional[str]]: @@ -2558,6 +2695,14 @@ def os_disk(self) -> pulumi.Output['outputs.LinuxVirtualMachineOsDisk']: """ return pulumi.get(self, "os_disk") + @property + @pulumi.getter(name="osImageNotification") + def os_image_notification(self) -> pulumi.Output[Optional['outputs.LinuxVirtualMachineOsImageNotification']]: + """ + A `os_image_notification` block as defined below. + """ + return pulumi.get(self, "os_image_notification") + @property @pulumi.getter(name="patchAssessmentMode") def patch_assessment_mode(self) -> pulumi.Output[Optional[str]]: @@ -2750,12 +2895,22 @@ def virtual_machine_id(self) -> pulumi.Output[str]: @pulumi.getter(name="virtualMachineScaleSetId") def virtual_machine_scale_set_id(self) -> pulumi.Output[Optional[str]]: """ - Specifies the Orchestrated Virtual Machine Scale Set that this Virtual Machine should be created within. Changing this forces a new resource to be created. + Specifies the Orchestrated Virtual Machine Scale Set that this Virtual Machine should be created within. + + > **NOTE:** To update `virtual_machine_scale_set_id` the Preview Feature `Microsoft.Compute/SingleFDAttachDetachVMToVmss` needs to be enabled, see [the documentation](https://review.learn.microsoft.com/azure/virtual-machine-scale-sets/virtual-machine-scale-sets-attach-detach-vm#enroll-in-the-preview) for more information. > **NOTE:** Orchestrated Virtual Machine Scale Sets can be provisioned using [the `compute.OrchestratedVirtualMachineScaleSet` resource](https://www.terraform.io/docs/providers/azurerm/r/orchestrated_virtual_machine_scale_set.html). """ return pulumi.get(self, "virtual_machine_scale_set_id") + @property + @pulumi.getter(name="vmAgentPlatformUpdatesEnabled") + def vm_agent_platform_updates_enabled(self) -> pulumi.Output[Optional[bool]]: + """ + Specifies whether VMAgent Platform Updates is enabled. Defaults to `false`. + """ + return pulumi.get(self, "vm_agent_platform_updates_enabled") + @property @pulumi.getter(name="vtpmEnabled") def vtpm_enabled(self) -> pulumi.Output[Optional[bool]]: 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 af5385a290..e3e448a581 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 @@ -68,7 +68,7 @@ def __init__(__self__, *, > **NOTE:** If `capacity_reservation_group_id` is specified the `single_placement_group` must be set to `false`. :param pulumi.Input[Sequence[pulumi.Input['OrchestratedVirtualMachineScaleSetDataDiskArgs']]] data_disks: One or more `data_disk` blocks as defined below. :param pulumi.Input[bool] encryption_at_host_enabled: Should disks attached to this Virtual Machine Scale Set be encrypted by enabling Encryption at Host? - :param pulumi.Input[str] eviction_policy: The Policy which should be used Virtual Machines are Evicted from the Scale Set. Possible values are `Deallocate` and `Delete`. Changing this forces a new resource to be created. + :param pulumi.Input[str] eviction_policy: The Policy which should be used by Spot Virtual Machines that are Evicted from the Scale Set. Possible values are `Deallocate` and `Delete`. Changing this forces a new resource to be created. :param pulumi.Input[bool] extension_operations_enabled: Should extension operations be allowed on the Virtual Machine Scale Set? Possible values are `true` or `false`. Defaults to `true`. Changing this forces a new Virtual Machine Scale Set to be created. > **NOTE:** `extension_operations_enabled` may only be set to `false` if there are no extensions defined in the `extension` field. @@ -278,7 +278,7 @@ def encryption_at_host_enabled(self, value: Optional[pulumi.Input[bool]]): @pulumi.getter(name="evictionPolicy") def eviction_policy(self) -> Optional[pulumi.Input[str]]: """ - The Policy which should be used Virtual Machines are Evicted from the Scale Set. Possible values are `Deallocate` and `Delete`. Changing this forces a new resource to be created. + The Policy which should be used by Spot Virtual Machines that are Evicted from the Scale Set. Possible values are `Deallocate` and `Delete`. Changing this forces a new resource to be created. """ return pulumi.get(self, "eviction_policy") @@ -647,7 +647,7 @@ def __init__(__self__, *, > **NOTE:** If `capacity_reservation_group_id` is specified the `single_placement_group` must be set to `false`. :param pulumi.Input[Sequence[pulumi.Input['OrchestratedVirtualMachineScaleSetDataDiskArgs']]] data_disks: One or more `data_disk` blocks as defined below. :param pulumi.Input[bool] encryption_at_host_enabled: Should disks attached to this Virtual Machine Scale Set be encrypted by enabling Encryption at Host? - :param pulumi.Input[str] eviction_policy: The Policy which should be used Virtual Machines are Evicted from the Scale Set. Possible values are `Deallocate` and `Delete`. Changing this forces a new resource to be created. + :param pulumi.Input[str] eviction_policy: The Policy which should be used by Spot Virtual Machines that are Evicted from the Scale Set. Possible values are `Deallocate` and `Delete`. Changing this forces a new resource to be created. :param pulumi.Input[bool] extension_operations_enabled: Should extension operations be allowed on the Virtual Machine Scale Set? Possible values are `true` or `false`. Defaults to `true`. Changing this forces a new Virtual Machine Scale Set to be created. > **NOTE:** `extension_operations_enabled` may only be set to `false` if there are no extensions defined in the `extension` field. @@ -840,7 +840,7 @@ def encryption_at_host_enabled(self, value: Optional[pulumi.Input[bool]]): @pulumi.getter(name="evictionPolicy") def eviction_policy(self) -> Optional[pulumi.Input[str]]: """ - The Policy which should be used Virtual Machines are Evicted from the Scale Set. Possible values are `Deallocate` and `Delete`. Changing this forces a new resource to be created. + The Policy which should be used by Spot Virtual Machines that are Evicted from the Scale Set. Possible values are `Deallocate` and `Delete`. Changing this forces a new resource to be created. """ return pulumi.get(self, "eviction_policy") @@ -1283,7 +1283,7 @@ def __init__(__self__, > **NOTE:** If `capacity_reservation_group_id` is specified the `single_placement_group` must be set to `false`. :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['OrchestratedVirtualMachineScaleSetDataDiskArgs']]]] data_disks: One or more `data_disk` blocks as defined below. :param pulumi.Input[bool] encryption_at_host_enabled: Should disks attached to this Virtual Machine Scale Set be encrypted by enabling Encryption at Host? - :param pulumi.Input[str] eviction_policy: The Policy which should be used Virtual Machines are Evicted from the Scale Set. Possible values are `Deallocate` and `Delete`. Changing this forces a new resource to be created. + :param pulumi.Input[str] eviction_policy: The Policy which should be used by Spot Virtual Machines that are Evicted from the Scale Set. Possible values are `Deallocate` and `Delete`. Changing this forces a new resource to be created. :param pulumi.Input[bool] extension_operations_enabled: Should extension operations be allowed on the Virtual Machine Scale Set? Possible values are `true` or `false`. Defaults to `true`. Changing this forces a new Virtual Machine Scale Set to be created. > **NOTE:** `extension_operations_enabled` may only be set to `false` if there are no extensions defined in the `extension` field. @@ -1525,7 +1525,7 @@ def get(resource_name: str, > **NOTE:** If `capacity_reservation_group_id` is specified the `single_placement_group` must be set to `false`. :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['OrchestratedVirtualMachineScaleSetDataDiskArgs']]]] data_disks: One or more `data_disk` blocks as defined below. :param pulumi.Input[bool] encryption_at_host_enabled: Should disks attached to this Virtual Machine Scale Set be encrypted by enabling Encryption at Host? - :param pulumi.Input[str] eviction_policy: The Policy which should be used Virtual Machines are Evicted from the Scale Set. Possible values are `Deallocate` and `Delete`. Changing this forces a new resource to be created. + :param pulumi.Input[str] eviction_policy: The Policy which should be used by Spot Virtual Machines that are Evicted from the Scale Set. Possible values are `Deallocate` and `Delete`. Changing this forces a new resource to be created. :param pulumi.Input[bool] extension_operations_enabled: Should extension operations be allowed on the Virtual Machine Scale Set? Possible values are `true` or `false`. Defaults to `true`. Changing this forces a new Virtual Machine Scale Set to be created. > **NOTE:** `extension_operations_enabled` may only be set to `false` if there are no extensions defined in the `extension` field. @@ -1664,7 +1664,7 @@ def encryption_at_host_enabled(self) -> pulumi.Output[Optional[bool]]: @pulumi.getter(name="evictionPolicy") def eviction_policy(self) -> pulumi.Output[Optional[str]]: """ - The Policy which should be used Virtual Machines are Evicted from the Scale Set. Possible values are `Deallocate` and `Delete`. Changing this forces a new resource to be created. + The Policy which should be used by Spot Virtual Machines that are Evicted from the Scale Set. Possible values are `Deallocate` and `Delete`. Changing this forces a new resource to be created. """ return pulumi.get(self, "eviction_policy") diff --git a/sdk/python/pulumi_azure/compute/outputs.py b/sdk/python/pulumi_azure/compute/outputs.py index f8c97d4c9f..0797349663 100644 --- a/sdk/python/pulumi_azure/compute/outputs.py +++ b/sdk/python/pulumi_azure/compute/outputs.py @@ -27,6 +27,7 @@ 'LinuxVirtualMachineIdentity', 'LinuxVirtualMachineOsDisk', 'LinuxVirtualMachineOsDiskDiffDiskSettings', + 'LinuxVirtualMachineOsImageNotification', 'LinuxVirtualMachinePlan', 'LinuxVirtualMachineScaleSetAdditionalCapabilities', 'LinuxVirtualMachineScaleSetAdminSshKey', @@ -151,6 +152,7 @@ 'WindowsVirtualMachineIdentity', 'WindowsVirtualMachineOsDisk', 'WindowsVirtualMachineOsDiskDiffDiskSettings', + 'WindowsVirtualMachineOsImageNotification', 'WindowsVirtualMachinePlan', 'WindowsVirtualMachineScaleSetAdditionalCapabilities', 'WindowsVirtualMachineScaleSetAdditionalUnattendContent', @@ -939,8 +941,12 @@ def __key_warning(key: str): suggest = None if key == "versionId": suggest = "version_id" + elif key == "automaticUpgradeEnabled": + suggest = "automatic_upgrade_enabled" elif key == "configurationBlobUri": suggest = "configuration_blob_uri" + elif key == "treatFailureAsDeploymentFailureEnabled": + suggest = "treat_failure_as_deployment_failure_enabled" if suggest: pulumi.log.warn(f"Key '{key}' not found in LinuxVirtualMachineGalleryApplication. Access the value via the '{suggest}' property getter instead.") @@ -955,22 +961,30 @@ def get(self, key: str, default = None) -> Any: def __init__(__self__, *, version_id: str, + automatic_upgrade_enabled: Optional[bool] = None, configuration_blob_uri: Optional[str] = None, order: Optional[int] = None, - tag: Optional[str] = None): + tag: Optional[str] = None, + treat_failure_as_deployment_failure_enabled: Optional[bool] = None): """ :param str version_id: Specifies the Gallery Application Version resource ID. + :param bool automatic_upgrade_enabled: Specifies whether the version will be automatically updated for the VM when a new Gallery Application version is available in PIR/SIG. Defaults to `false`. :param str configuration_blob_uri: Specifies the URI to an Azure Blob that will replace the default configuration for the package if provided. :param int order: Specifies the order in which the packages have to be installed. Possible values are between `0` and `2,147,483,647`. :param str tag: Specifies a passthrough value for more generic context. This field can be any valid `string` value. + :param bool treat_failure_as_deployment_failure_enabled: Specifies whether any failure for any operation in the VmApplication will fail the deployment of the VM. Defaults to `false`. """ pulumi.set(__self__, "version_id", version_id) + if automatic_upgrade_enabled is not None: + pulumi.set(__self__, "automatic_upgrade_enabled", automatic_upgrade_enabled) if configuration_blob_uri is not None: pulumi.set(__self__, "configuration_blob_uri", configuration_blob_uri) if order is not None: pulumi.set(__self__, "order", order) if tag is not None: pulumi.set(__self__, "tag", tag) + if treat_failure_as_deployment_failure_enabled is not None: + pulumi.set(__self__, "treat_failure_as_deployment_failure_enabled", treat_failure_as_deployment_failure_enabled) @property @pulumi.getter(name="versionId") @@ -980,6 +994,14 @@ def version_id(self) -> str: """ return pulumi.get(self, "version_id") + @property + @pulumi.getter(name="automaticUpgradeEnabled") + def automatic_upgrade_enabled(self) -> Optional[bool]: + """ + Specifies whether the version will be automatically updated for the VM when a new Gallery Application version is available in PIR/SIG. Defaults to `false`. + """ + return pulumi.get(self, "automatic_upgrade_enabled") + @property @pulumi.getter(name="configurationBlobUri") def configuration_blob_uri(self) -> Optional[str]: @@ -1004,6 +1026,14 @@ def tag(self) -> Optional[str]: """ return pulumi.get(self, "tag") + @property + @pulumi.getter(name="treatFailureAsDeploymentFailureEnabled") + def treat_failure_as_deployment_failure_enabled(self) -> Optional[bool]: + """ + Specifies whether any failure for any operation in the VmApplication will fail the deployment of the VM. Defaults to `false`. + """ + return pulumi.get(self, "treat_failure_as_deployment_failure_enabled") + @pulumi.output_type class LinuxVirtualMachineIdentity(dict): @@ -1284,6 +1314,25 @@ def placement(self) -> Optional[str]: return pulumi.get(self, "placement") +@pulumi.output_type +class LinuxVirtualMachineOsImageNotification(dict): + def __init__(__self__, *, + timeout: Optional[str] = None): + """ + :param str timeout: Length of time a notification to be sent to the VM on the instance metadata server till the VM gets OS upgraded. The only possible value is `PT15M`. Defaults to `PT15M`. + """ + if timeout is not None: + pulumi.set(__self__, "timeout", timeout) + + @property + @pulumi.getter + def timeout(self) -> Optional[str]: + """ + Length of time a notification to be sent to the VM on the instance metadata server till the VM gets OS upgraded. The only possible value is `PT15M`. Defaults to `PT15M`. + """ + return pulumi.get(self, "timeout") + + @pulumi.output_type class LinuxVirtualMachinePlan(dict): def __init__(__self__, *, @@ -3526,14 +3575,14 @@ class OrchestratedVirtualMachineScaleSetDataDisk(dict): @staticmethod def __key_warning(key: str): suggest = None - if key == "diskSizeGb": - suggest = "disk_size_gb" - elif key == "storageAccountType": + if key == "storageAccountType": suggest = "storage_account_type" elif key == "createOption": suggest = "create_option" elif key == "diskEncryptionSetId": suggest = "disk_encryption_set_id" + elif key == "diskSizeGb": + suggest = "disk_size_gb" elif key == "ultraSsdDiskIopsReadWrite": suggest = "ultra_ssd_disk_iops_read_write" elif key == "ultraSsdDiskMbpsReadWrite": @@ -3554,33 +3603,35 @@ def get(self, key: str, default = None) -> Any: def __init__(__self__, *, caching: str, - disk_size_gb: int, - lun: int, storage_account_type: str, create_option: Optional[str] = None, disk_encryption_set_id: Optional[str] = None, + disk_size_gb: Optional[int] = None, + lun: Optional[int] = None, ultra_ssd_disk_iops_read_write: Optional[int] = None, ultra_ssd_disk_mbps_read_write: Optional[int] = None, write_accelerator_enabled: Optional[bool] = None): """ :param str caching: The type of Caching which should be used for this Data Disk. Possible values are None, ReadOnly and ReadWrite. - :param int disk_size_gb: The size of the Data Disk which should be created. - :param int lun: The Logical Unit Number of the Data Disk, which must be unique within the Virtual Machine. :param str storage_account_type: The Type of Storage Account which should back this Data Disk. Possible values include `Standard_LRS`, `StandardSSD_LRS`, `StandardSSD_ZRS`, `Premium_LRS`, `PremiumV2_LRS`, `Premium_ZRS` and `UltraSSD_LRS`. :param str create_option: The create option which should be used for this Data Disk. Possible values are Empty and FromImage. Defaults to `Empty`. (FromImage should only be used if the source image includes data disks). :param str disk_encryption_set_id: The ID of the Disk Encryption Set which should be used to encrypt the Data Disk. Changing this forces a new resource to be created. + :param int disk_size_gb: The size of the Data Disk which should be created. Required if `create_option` is specified as `Empty`. + :param int lun: The Logical Unit Number of the Data Disk, which must be unique within the Virtual Machine. Required if `create_option` is specified as `Empty`. :param int ultra_ssd_disk_iops_read_write: Specifies the Read-Write IOPS for this Data Disk. Only settable when `storage_account_type` is `PremiumV2_LRS` or `UltraSSD_LRS`. :param int ultra_ssd_disk_mbps_read_write: Specifies the bandwidth in MB per second for this Data Disk. Only settable when `storage_account_type` is `PremiumV2_LRS` or `UltraSSD_LRS`. :param bool write_accelerator_enabled: Specifies if Write Accelerator is enabled on the Data Disk. Defaults to `false`. """ pulumi.set(__self__, "caching", caching) - pulumi.set(__self__, "disk_size_gb", disk_size_gb) - pulumi.set(__self__, "lun", lun) pulumi.set(__self__, "storage_account_type", storage_account_type) if create_option is not None: pulumi.set(__self__, "create_option", create_option) if disk_encryption_set_id is not None: pulumi.set(__self__, "disk_encryption_set_id", disk_encryption_set_id) + if disk_size_gb is not None: + pulumi.set(__self__, "disk_size_gb", disk_size_gb) + if lun is not None: + pulumi.set(__self__, "lun", lun) if ultra_ssd_disk_iops_read_write is not None: pulumi.set(__self__, "ultra_ssd_disk_iops_read_write", ultra_ssd_disk_iops_read_write) if ultra_ssd_disk_mbps_read_write is not None: @@ -3596,22 +3647,6 @@ def caching(self) -> str: """ return pulumi.get(self, "caching") - @property - @pulumi.getter(name="diskSizeGb") - def disk_size_gb(self) -> int: - """ - The size of the Data Disk which should be created. - """ - return pulumi.get(self, "disk_size_gb") - - @property - @pulumi.getter - def lun(self) -> int: - """ - The Logical Unit Number of the Data Disk, which must be unique within the Virtual Machine. - """ - return pulumi.get(self, "lun") - @property @pulumi.getter(name="storageAccountType") def storage_account_type(self) -> str: @@ -3636,6 +3671,22 @@ def disk_encryption_set_id(self) -> Optional[str]: """ return pulumi.get(self, "disk_encryption_set_id") + @property + @pulumi.getter(name="diskSizeGb") + def disk_size_gb(self) -> Optional[int]: + """ + The size of the Data Disk which should be created. Required if `create_option` is specified as `Empty`. + """ + return pulumi.get(self, "disk_size_gb") + + @property + @pulumi.getter + def lun(self) -> Optional[int]: + """ + The Logical Unit Number of the Data Disk, which must be unique within the Virtual Machine. Required if `create_option` is specified as `Empty`. + """ + return pulumi.get(self, "lun") + @property @pulumi.getter(name="ultraSsdDiskIopsReadWrite") def ultra_ssd_disk_iops_read_write(self) -> Optional[int]: @@ -9318,8 +9369,12 @@ def __key_warning(key: str): suggest = None if key == "versionId": suggest = "version_id" + elif key == "automaticUpgradeEnabled": + suggest = "automatic_upgrade_enabled" elif key == "configurationBlobUri": suggest = "configuration_blob_uri" + elif key == "treatFailureAsDeploymentFailureEnabled": + suggest = "treat_failure_as_deployment_failure_enabled" if suggest: pulumi.log.warn(f"Key '{key}' not found in WindowsVirtualMachineGalleryApplication. Access the value via the '{suggest}' property getter instead.") @@ -9334,22 +9389,30 @@ def get(self, key: str, default = None) -> Any: def __init__(__self__, *, version_id: str, + automatic_upgrade_enabled: Optional[bool] = None, configuration_blob_uri: Optional[str] = None, order: Optional[int] = None, - tag: Optional[str] = None): + tag: Optional[str] = None, + treat_failure_as_deployment_failure_enabled: Optional[bool] = None): """ :param str version_id: Specifies the Gallery Application Version resource ID. + :param bool automatic_upgrade_enabled: Specifies whether the version will be automatically updated for the VM when a new Gallery Application version is available in PIR/SIG. Defaults to `false`. :param str configuration_blob_uri: Specifies the URI to an Azure Blob that will replace the default configuration for the package if provided. :param int order: Specifies the order in which the packages have to be installed. Possible values are between `0` and `2,147,483,647`. :param str tag: Specifies a passthrough value for more generic context. This field can be any valid `string` value. + :param bool treat_failure_as_deployment_failure_enabled: Specifies whether any failure for any operation in the VmApplication will fail the deployment of the VM. Defaults to `false`. """ pulumi.set(__self__, "version_id", version_id) + if automatic_upgrade_enabled is not None: + pulumi.set(__self__, "automatic_upgrade_enabled", automatic_upgrade_enabled) if configuration_blob_uri is not None: pulumi.set(__self__, "configuration_blob_uri", configuration_blob_uri) if order is not None: pulumi.set(__self__, "order", order) if tag is not None: pulumi.set(__self__, "tag", tag) + if treat_failure_as_deployment_failure_enabled is not None: + pulumi.set(__self__, "treat_failure_as_deployment_failure_enabled", treat_failure_as_deployment_failure_enabled) @property @pulumi.getter(name="versionId") @@ -9359,6 +9422,14 @@ def version_id(self) -> str: """ return pulumi.get(self, "version_id") + @property + @pulumi.getter(name="automaticUpgradeEnabled") + def automatic_upgrade_enabled(self) -> Optional[bool]: + """ + Specifies whether the version will be automatically updated for the VM when a new Gallery Application version is available in PIR/SIG. Defaults to `false`. + """ + return pulumi.get(self, "automatic_upgrade_enabled") + @property @pulumi.getter(name="configurationBlobUri") def configuration_blob_uri(self) -> Optional[str]: @@ -9383,6 +9454,14 @@ def tag(self) -> Optional[str]: """ return pulumi.get(self, "tag") + @property + @pulumi.getter(name="treatFailureAsDeploymentFailureEnabled") + def treat_failure_as_deployment_failure_enabled(self) -> Optional[bool]: + """ + Specifies whether any failure for any operation in the VmApplication will fail the deployment of the VM. Defaults to `false`. + """ + return pulumi.get(self, "treat_failure_as_deployment_failure_enabled") + @pulumi.output_type class WindowsVirtualMachineIdentity(dict): @@ -9663,6 +9742,25 @@ def placement(self) -> Optional[str]: return pulumi.get(self, "placement") +@pulumi.output_type +class WindowsVirtualMachineOsImageNotification(dict): + def __init__(__self__, *, + timeout: Optional[str] = None): + """ + :param str timeout: Length of time a notification to be sent to the VM on the instance metadata server till the VM gets OS upgraded. The only possible value is `PT15M`. Defaults to `PT15M`. + """ + if timeout is not None: + pulumi.set(__self__, "timeout", timeout) + + @property + @pulumi.getter + def timeout(self) -> Optional[str]: + """ + Length of time a notification to be sent to the VM on the instance metadata server till the VM gets OS upgraded. The only possible value is `PT15M`. Defaults to `PT15M`. + """ + return pulumi.get(self, "timeout") + + @pulumi.output_type class WindowsVirtualMachinePlan(dict): def __init__(__self__, *, diff --git a/sdk/python/pulumi_azure/compute/windows_virtual_machine.py b/sdk/python/pulumi_azure/compute/windows_virtual_machine.py index c142b59f91..691d7a3988 100644 --- a/sdk/python/pulumi_azure/compute/windows_virtual_machine.py +++ b/sdk/python/pulumi_azure/compute/windows_virtual_machine.py @@ -33,6 +33,7 @@ def __init__(__self__, *, custom_data: Optional[pulumi.Input[str]] = None, dedicated_host_group_id: Optional[pulumi.Input[str]] = None, dedicated_host_id: Optional[pulumi.Input[str]] = None, + disk_controller_type: Optional[pulumi.Input[str]] = None, edge_zone: Optional[pulumi.Input[str]] = None, enable_automatic_updates: Optional[pulumi.Input[bool]] = None, encryption_at_host_enabled: Optional[pulumi.Input[bool]] = None, @@ -45,6 +46,7 @@ def __init__(__self__, *, location: Optional[pulumi.Input[str]] = None, max_bid_price: Optional[pulumi.Input[float]] = None, name: Optional[pulumi.Input[str]] = None, + os_image_notification: Optional[pulumi.Input['WindowsVirtualMachineOsImageNotificationArgs']] = None, patch_assessment_mode: Optional[pulumi.Input[str]] = None, patch_mode: Optional[pulumi.Input[str]] = None, plan: Optional[pulumi.Input['WindowsVirtualMachinePlanArgs']] = None, @@ -62,6 +64,7 @@ def __init__(__self__, *, timezone: Optional[pulumi.Input[str]] = None, user_data: Optional[pulumi.Input[str]] = None, virtual_machine_scale_set_id: Optional[pulumi.Input[str]] = None, + vm_agent_platform_updates_enabled: Optional[pulumi.Input[bool]] = None, vtpm_enabled: Optional[pulumi.Input[bool]] = None, winrm_listeners: Optional[pulumi.Input[Sequence[pulumi.Input['WindowsVirtualMachineWinrmListenerArgs']]]] = None, zone: Optional[pulumi.Input[str]] = None): @@ -88,6 +91,7 @@ def __init__(__self__, *, :param pulumi.Input[str] custom_data: The Base64-Encoded Custom Data which should be used for this Virtual Machine. Changing this forces a new resource to be created. :param pulumi.Input[str] dedicated_host_group_id: The ID of a Dedicated Host Group that this Windows Virtual Machine should be run within. Conflicts with `dedicated_host_id`. :param pulumi.Input[str] dedicated_host_id: The ID of a Dedicated Host where this machine should be run on. Conflicts with `dedicated_host_group_id`. + :param pulumi.Input[str] disk_controller_type: Specifies the Disk Controller Type used for this Virtual Machine. Possible values are `SCSI` and `NVMe`. :param pulumi.Input[str] edge_zone: Specifies the Edge Zone within the Azure Region where this Windows Virtual Machine should exist. Changing this forces a new Windows Virtual Machine to be created. :param pulumi.Input[bool] enable_automatic_updates: Specifies if Automatic Updates are Enabled for the Windows Virtual Machine. Changing this forces a new resource to be created. Defaults to `true`. :param pulumi.Input[bool] encryption_at_host_enabled: Should all of the disks (including the temp disk) attached to this Virtual Machine be encrypted by enabling Encryption at Host? @@ -106,6 +110,7 @@ def __init__(__self__, *, > **NOTE:** This can only be configured when `priority` is set to `Spot`. :param pulumi.Input[str] name: The name of the Windows Virtual Machine. Changing this forces a new resource to be created. + :param pulumi.Input['WindowsVirtualMachineOsImageNotificationArgs'] os_image_notification: A `os_image_notification` block as defined below. :param pulumi.Input[str] patch_assessment_mode: Specifies the mode of VM Guest Patching for the Virtual Machine. Possible values are `AutomaticByPlatform` or `ImageDefault`. Defaults to `ImageDefault`. > **NOTE:** If the `patch_assessment_mode` is set to `AutomaticByPlatform` then the `provision_vm_agent` field must be set to `true`. @@ -134,9 +139,12 @@ def __init__(__self__, *, :param pulumi.Input['WindowsVirtualMachineTerminationNotificationArgs'] termination_notification: A `termination_notification` block as defined below. :param pulumi.Input[str] timezone: Specifies the Time Zone which should be used by the Virtual Machine, [the possible values are defined here](https://jackstromberg.com/2017/01/list-of-time-zones-consumed-by-azure/). Changing this forces a new resource to be created. :param pulumi.Input[str] user_data: The Base64-Encoded User Data which should be used for this Virtual Machine. - :param pulumi.Input[str] virtual_machine_scale_set_id: Specifies the Orchestrated Virtual Machine Scale Set that this Virtual Machine should be created within. Changing this forces a new resource to be created. + :param pulumi.Input[str] virtual_machine_scale_set_id: Specifies the Orchestrated Virtual Machine Scale Set that this Virtual Machine should be created within. + + > **NOTE:** To update `virtual_machine_scale_set_id` the Preview Feature `Microsoft.Compute/SingleFDAttachDetachVMToVmss` needs to be enabled, see [the documentation](https://review.learn.microsoft.com/azure/virtual-machine-scale-sets/virtual-machine-scale-sets-attach-detach-vm#enroll-in-the-preview) for more information. > **NOTE:** Orchestrated Virtual Machine Scale Sets can be provisioned using [the `compute.OrchestratedVirtualMachineScaleSet` resource](https://www.terraform.io/docs/providers/azurerm/r/orchestrated_virtual_machine_scale_set.html). + :param pulumi.Input[bool] vm_agent_platform_updates_enabled: Specifies whether VMAgent Platform Updates is enabled. Defaults to `false`. :param pulumi.Input[bool] vtpm_enabled: Specifies if vTPM (virtual Trusted Platform Module) and Trusted Launch is enabled for the Virtual Machine. Changing this forces a new resource to be created. :param pulumi.Input[Sequence[pulumi.Input['WindowsVirtualMachineWinrmListenerArgs']]] winrm_listeners: One or more `winrm_listener` blocks as defined below. Changing this forces a new resource to be created. :param pulumi.Input[str] zone: * `zones` - (Optional) Specifies the Availability Zone in which this Windows Virtual Machine should be located. Changing this forces a new Windows Virtual Machine to be created. @@ -169,6 +177,8 @@ def __init__(__self__, *, pulumi.set(__self__, "dedicated_host_group_id", dedicated_host_group_id) if dedicated_host_id is not None: pulumi.set(__self__, "dedicated_host_id", dedicated_host_id) + if disk_controller_type is not None: + pulumi.set(__self__, "disk_controller_type", disk_controller_type) if edge_zone is not None: pulumi.set(__self__, "edge_zone", edge_zone) if enable_automatic_updates is not None: @@ -193,6 +203,8 @@ def __init__(__self__, *, pulumi.set(__self__, "max_bid_price", max_bid_price) if name is not None: pulumi.set(__self__, "name", name) + if os_image_notification is not None: + pulumi.set(__self__, "os_image_notification", os_image_notification) if patch_assessment_mode is not None: pulumi.set(__self__, "patch_assessment_mode", patch_assessment_mode) if patch_mode is not None: @@ -227,6 +239,8 @@ def __init__(__self__, *, pulumi.set(__self__, "user_data", user_data) if virtual_machine_scale_set_id is not None: pulumi.set(__self__, "virtual_machine_scale_set_id", virtual_machine_scale_set_id) + if vm_agent_platform_updates_enabled is not None: + pulumi.set(__self__, "vm_agent_platform_updates_enabled", vm_agent_platform_updates_enabled) if vtpm_enabled is not None: pulumi.set(__self__, "vtpm_enabled", vtpm_enabled) if winrm_listeners is not None: @@ -442,6 +456,18 @@ def dedicated_host_id(self) -> Optional[pulumi.Input[str]]: def dedicated_host_id(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "dedicated_host_id", value) + @property + @pulumi.getter(name="diskControllerType") + def disk_controller_type(self) -> Optional[pulumi.Input[str]]: + """ + Specifies the Disk Controller Type used for this Virtual Machine. Possible values are `SCSI` and `NVMe`. + """ + return pulumi.get(self, "disk_controller_type") + + @disk_controller_type.setter + def disk_controller_type(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "disk_controller_type", value) + @property @pulumi.getter(name="edgeZone") def edge_zone(self) -> Optional[pulumi.Input[str]]: @@ -592,6 +618,18 @@ def name(self) -> Optional[pulumi.Input[str]]: def name(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "name", value) + @property + @pulumi.getter(name="osImageNotification") + def os_image_notification(self) -> Optional[pulumi.Input['WindowsVirtualMachineOsImageNotificationArgs']]: + """ + A `os_image_notification` block as defined below. + """ + return pulumi.get(self, "os_image_notification") + + @os_image_notification.setter + def os_image_notification(self, value: Optional[pulumi.Input['WindowsVirtualMachineOsImageNotificationArgs']]): + pulumi.set(self, "os_image_notification", value) + @property @pulumi.getter(name="patchAssessmentMode") def patch_assessment_mode(self) -> Optional[pulumi.Input[str]]: @@ -800,7 +838,9 @@ def user_data(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="virtualMachineScaleSetId") def virtual_machine_scale_set_id(self) -> Optional[pulumi.Input[str]]: """ - Specifies the Orchestrated Virtual Machine Scale Set that this Virtual Machine should be created within. Changing this forces a new resource to be created. + Specifies the Orchestrated Virtual Machine Scale Set that this Virtual Machine should be created within. + + > **NOTE:** To update `virtual_machine_scale_set_id` the Preview Feature `Microsoft.Compute/SingleFDAttachDetachVMToVmss` needs to be enabled, see [the documentation](https://review.learn.microsoft.com/azure/virtual-machine-scale-sets/virtual-machine-scale-sets-attach-detach-vm#enroll-in-the-preview) for more information. > **NOTE:** Orchestrated Virtual Machine Scale Sets can be provisioned using [the `compute.OrchestratedVirtualMachineScaleSet` resource](https://www.terraform.io/docs/providers/azurerm/r/orchestrated_virtual_machine_scale_set.html). """ @@ -810,6 +850,18 @@ def virtual_machine_scale_set_id(self) -> Optional[pulumi.Input[str]]: def virtual_machine_scale_set_id(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "virtual_machine_scale_set_id", value) + @property + @pulumi.getter(name="vmAgentPlatformUpdatesEnabled") + def vm_agent_platform_updates_enabled(self) -> Optional[pulumi.Input[bool]]: + """ + Specifies whether VMAgent Platform Updates is enabled. Defaults to `false`. + """ + return pulumi.get(self, "vm_agent_platform_updates_enabled") + + @vm_agent_platform_updates_enabled.setter + def vm_agent_platform_updates_enabled(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "vm_agent_platform_updates_enabled", value) + @property @pulumi.getter(name="vtpmEnabled") def vtpm_enabled(self) -> Optional[pulumi.Input[bool]]: @@ -863,6 +915,7 @@ def __init__(__self__, *, custom_data: Optional[pulumi.Input[str]] = None, dedicated_host_group_id: Optional[pulumi.Input[str]] = None, dedicated_host_id: Optional[pulumi.Input[str]] = None, + disk_controller_type: Optional[pulumi.Input[str]] = None, edge_zone: Optional[pulumi.Input[str]] = None, enable_automatic_updates: Optional[pulumi.Input[bool]] = None, encryption_at_host_enabled: Optional[pulumi.Input[bool]] = None, @@ -877,6 +930,7 @@ def __init__(__self__, *, name: Optional[pulumi.Input[str]] = None, network_interface_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, os_disk: Optional[pulumi.Input['WindowsVirtualMachineOsDiskArgs']] = None, + os_image_notification: Optional[pulumi.Input['WindowsVirtualMachineOsImageNotificationArgs']] = None, patch_assessment_mode: Optional[pulumi.Input[str]] = None, patch_mode: Optional[pulumi.Input[str]] = None, plan: Optional[pulumi.Input['WindowsVirtualMachinePlanArgs']] = None, @@ -901,6 +955,7 @@ def __init__(__self__, *, user_data: Optional[pulumi.Input[str]] = None, virtual_machine_id: Optional[pulumi.Input[str]] = None, virtual_machine_scale_set_id: Optional[pulumi.Input[str]] = None, + vm_agent_platform_updates_enabled: Optional[pulumi.Input[bool]] = None, vtpm_enabled: Optional[pulumi.Input[bool]] = None, winrm_listeners: Optional[pulumi.Input[Sequence[pulumi.Input['WindowsVirtualMachineWinrmListenerArgs']]]] = None, zone: Optional[pulumi.Input[str]] = None): @@ -923,6 +978,7 @@ def __init__(__self__, *, :param pulumi.Input[str] custom_data: The Base64-Encoded Custom Data which should be used for this Virtual Machine. Changing this forces a new resource to be created. :param pulumi.Input[str] dedicated_host_group_id: The ID of a Dedicated Host Group that this Windows Virtual Machine should be run within. Conflicts with `dedicated_host_id`. :param pulumi.Input[str] dedicated_host_id: The ID of a Dedicated Host where this machine should be run on. Conflicts with `dedicated_host_group_id`. + :param pulumi.Input[str] disk_controller_type: Specifies the Disk Controller Type used for this Virtual Machine. Possible values are `SCSI` and `NVMe`. :param pulumi.Input[str] edge_zone: Specifies the Edge Zone within the Azure Region where this Windows Virtual Machine should exist. Changing this forces a new Windows Virtual Machine to be created. :param pulumi.Input[bool] enable_automatic_updates: Specifies if Automatic Updates are Enabled for the Windows Virtual Machine. Changing this forces a new resource to be created. Defaults to `true`. :param pulumi.Input[bool] encryption_at_host_enabled: Should all of the disks (including the temp disk) attached to this Virtual Machine be encrypted by enabling Encryption at Host? @@ -943,6 +999,7 @@ def __init__(__self__, *, :param pulumi.Input[str] name: The name of the Windows Virtual Machine. Changing this forces a new resource to be created. :param pulumi.Input[Sequence[pulumi.Input[str]]] network_interface_ids: . A list of Network Interface IDs which should be attached to this Virtual Machine. The first Network Interface ID in this list will be the Primary Network Interface on the Virtual Machine. :param pulumi.Input['WindowsVirtualMachineOsDiskArgs'] os_disk: A `os_disk` block as defined below. + :param pulumi.Input['WindowsVirtualMachineOsImageNotificationArgs'] os_image_notification: A `os_image_notification` block as defined below. :param pulumi.Input[str] patch_assessment_mode: Specifies the mode of VM Guest Patching for the Virtual Machine. Possible values are `AutomaticByPlatform` or `ImageDefault`. Defaults to `ImageDefault`. > **NOTE:** If the `patch_assessment_mode` is set to `AutomaticByPlatform` then the `provision_vm_agent` field must be set to `true`. @@ -978,9 +1035,12 @@ def __init__(__self__, *, :param pulumi.Input[str] timezone: Specifies the Time Zone which should be used by the Virtual Machine, [the possible values are defined here](https://jackstromberg.com/2017/01/list-of-time-zones-consumed-by-azure/). Changing this forces a new resource to be created. :param pulumi.Input[str] user_data: The Base64-Encoded User Data which should be used for this Virtual Machine. :param pulumi.Input[str] virtual_machine_id: A 128-bit identifier which uniquely identifies this Virtual Machine. - :param pulumi.Input[str] virtual_machine_scale_set_id: Specifies the Orchestrated Virtual Machine Scale Set that this Virtual Machine should be created within. Changing this forces a new resource to be created. + :param pulumi.Input[str] virtual_machine_scale_set_id: Specifies the Orchestrated Virtual Machine Scale Set that this Virtual Machine should be created within. + + > **NOTE:** To update `virtual_machine_scale_set_id` the Preview Feature `Microsoft.Compute/SingleFDAttachDetachVMToVmss` needs to be enabled, see [the documentation](https://review.learn.microsoft.com/azure/virtual-machine-scale-sets/virtual-machine-scale-sets-attach-detach-vm#enroll-in-the-preview) for more information. > **NOTE:** Orchestrated Virtual Machine Scale Sets can be provisioned using [the `compute.OrchestratedVirtualMachineScaleSet` resource](https://www.terraform.io/docs/providers/azurerm/r/orchestrated_virtual_machine_scale_set.html). + :param pulumi.Input[bool] vm_agent_platform_updates_enabled: Specifies whether VMAgent Platform Updates is enabled. Defaults to `false`. :param pulumi.Input[bool] vtpm_enabled: Specifies if vTPM (virtual Trusted Platform Module) and Trusted Launch is enabled for the Virtual Machine. Changing this forces a new resource to be created. :param pulumi.Input[Sequence[pulumi.Input['WindowsVirtualMachineWinrmListenerArgs']]] winrm_listeners: One or more `winrm_listener` blocks as defined below. Changing this forces a new resource to be created. :param pulumi.Input[str] zone: * `zones` - (Optional) Specifies the Availability Zone in which this Windows Virtual Machine should be located. Changing this forces a new Windows Virtual Machine to be created. @@ -1011,6 +1071,8 @@ def __init__(__self__, *, pulumi.set(__self__, "dedicated_host_group_id", dedicated_host_group_id) if dedicated_host_id is not None: pulumi.set(__self__, "dedicated_host_id", dedicated_host_id) + if disk_controller_type is not None: + pulumi.set(__self__, "disk_controller_type", disk_controller_type) if edge_zone is not None: pulumi.set(__self__, "edge_zone", edge_zone) if enable_automatic_updates is not None: @@ -1039,6 +1101,8 @@ def __init__(__self__, *, pulumi.set(__self__, "network_interface_ids", network_interface_ids) if os_disk is not None: pulumi.set(__self__, "os_disk", os_disk) + if os_image_notification is not None: + pulumi.set(__self__, "os_image_notification", os_image_notification) if patch_assessment_mode is not None: pulumi.set(__self__, "patch_assessment_mode", patch_assessment_mode) if patch_mode is not None: @@ -1087,6 +1151,8 @@ def __init__(__self__, *, pulumi.set(__self__, "virtual_machine_id", virtual_machine_id) if virtual_machine_scale_set_id is not None: pulumi.set(__self__, "virtual_machine_scale_set_id", virtual_machine_scale_set_id) + if vm_agent_platform_updates_enabled is not None: + pulumi.set(__self__, "vm_agent_platform_updates_enabled", vm_agent_platform_updates_enabled) if vtpm_enabled is not None: pulumi.set(__self__, "vtpm_enabled", vtpm_enabled) if winrm_listeners is not None: @@ -1254,6 +1320,18 @@ def dedicated_host_id(self) -> Optional[pulumi.Input[str]]: def dedicated_host_id(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "dedicated_host_id", value) + @property + @pulumi.getter(name="diskControllerType") + def disk_controller_type(self) -> Optional[pulumi.Input[str]]: + """ + Specifies the Disk Controller Type used for this Virtual Machine. Possible values are `SCSI` and `NVMe`. + """ + return pulumi.get(self, "disk_controller_type") + + @disk_controller_type.setter + def disk_controller_type(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "disk_controller_type", value) + @property @pulumi.getter(name="edgeZone") def edge_zone(self) -> Optional[pulumi.Input[str]]: @@ -1428,6 +1506,18 @@ def os_disk(self) -> Optional[pulumi.Input['WindowsVirtualMachineOsDiskArgs']]: def os_disk(self, value: Optional[pulumi.Input['WindowsVirtualMachineOsDiskArgs']]): pulumi.set(self, "os_disk", value) + @property + @pulumi.getter(name="osImageNotification") + def os_image_notification(self) -> Optional[pulumi.Input['WindowsVirtualMachineOsImageNotificationArgs']]: + """ + A `os_image_notification` block as defined below. + """ + return pulumi.get(self, "os_image_notification") + + @os_image_notification.setter + def os_image_notification(self, value: Optional[pulumi.Input['WindowsVirtualMachineOsImageNotificationArgs']]): + pulumi.set(self, "os_image_notification", value) + @property @pulumi.getter(name="patchAssessmentMode") def patch_assessment_mode(self) -> Optional[pulumi.Input[str]]: @@ -1720,7 +1810,9 @@ def virtual_machine_id(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="virtualMachineScaleSetId") def virtual_machine_scale_set_id(self) -> Optional[pulumi.Input[str]]: """ - Specifies the Orchestrated Virtual Machine Scale Set that this Virtual Machine should be created within. Changing this forces a new resource to be created. + Specifies the Orchestrated Virtual Machine Scale Set that this Virtual Machine should be created within. + + > **NOTE:** To update `virtual_machine_scale_set_id` the Preview Feature `Microsoft.Compute/SingleFDAttachDetachVMToVmss` needs to be enabled, see [the documentation](https://review.learn.microsoft.com/azure/virtual-machine-scale-sets/virtual-machine-scale-sets-attach-detach-vm#enroll-in-the-preview) for more information. > **NOTE:** Orchestrated Virtual Machine Scale Sets can be provisioned using [the `compute.OrchestratedVirtualMachineScaleSet` resource](https://www.terraform.io/docs/providers/azurerm/r/orchestrated_virtual_machine_scale_set.html). """ @@ -1730,6 +1822,18 @@ def virtual_machine_scale_set_id(self) -> Optional[pulumi.Input[str]]: def virtual_machine_scale_set_id(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "virtual_machine_scale_set_id", value) + @property + @pulumi.getter(name="vmAgentPlatformUpdatesEnabled") + def vm_agent_platform_updates_enabled(self) -> Optional[pulumi.Input[bool]]: + """ + Specifies whether VMAgent Platform Updates is enabled. Defaults to `false`. + """ + return pulumi.get(self, "vm_agent_platform_updates_enabled") + + @vm_agent_platform_updates_enabled.setter + def vm_agent_platform_updates_enabled(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "vm_agent_platform_updates_enabled", value) + @property @pulumi.getter(name="vtpmEnabled") def vtpm_enabled(self) -> Optional[pulumi.Input[bool]]: @@ -1785,6 +1889,7 @@ def __init__(__self__, custom_data: Optional[pulumi.Input[str]] = None, dedicated_host_group_id: Optional[pulumi.Input[str]] = None, dedicated_host_id: Optional[pulumi.Input[str]] = None, + disk_controller_type: Optional[pulumi.Input[str]] = None, edge_zone: Optional[pulumi.Input[str]] = None, enable_automatic_updates: Optional[pulumi.Input[bool]] = None, encryption_at_host_enabled: Optional[pulumi.Input[bool]] = None, @@ -1799,6 +1904,7 @@ def __init__(__self__, name: Optional[pulumi.Input[str]] = None, network_interface_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, os_disk: Optional[pulumi.Input[pulumi.InputType['WindowsVirtualMachineOsDiskArgs']]] = None, + os_image_notification: Optional[pulumi.Input[pulumi.InputType['WindowsVirtualMachineOsImageNotificationArgs']]] = None, patch_assessment_mode: Optional[pulumi.Input[str]] = None, patch_mode: Optional[pulumi.Input[str]] = None, plan: Optional[pulumi.Input[pulumi.InputType['WindowsVirtualMachinePlanArgs']]] = None, @@ -1818,6 +1924,7 @@ def __init__(__self__, timezone: Optional[pulumi.Input[str]] = None, user_data: Optional[pulumi.Input[str]] = None, virtual_machine_scale_set_id: Optional[pulumi.Input[str]] = None, + vm_agent_platform_updates_enabled: Optional[pulumi.Input[bool]] = None, vtpm_enabled: Optional[pulumi.Input[bool]] = None, winrm_listeners: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['WindowsVirtualMachineWinrmListenerArgs']]]]] = None, zone: Optional[pulumi.Input[str]] = None, @@ -1914,6 +2021,7 @@ def __init__(__self__, :param pulumi.Input[str] custom_data: The Base64-Encoded Custom Data which should be used for this Virtual Machine. Changing this forces a new resource to be created. :param pulumi.Input[str] dedicated_host_group_id: The ID of a Dedicated Host Group that this Windows Virtual Machine should be run within. Conflicts with `dedicated_host_id`. :param pulumi.Input[str] dedicated_host_id: The ID of a Dedicated Host where this machine should be run on. Conflicts with `dedicated_host_group_id`. + :param pulumi.Input[str] disk_controller_type: Specifies the Disk Controller Type used for this Virtual Machine. Possible values are `SCSI` and `NVMe`. :param pulumi.Input[str] edge_zone: Specifies the Edge Zone within the Azure Region where this Windows Virtual Machine should exist. Changing this forces a new Windows Virtual Machine to be created. :param pulumi.Input[bool] enable_automatic_updates: Specifies if Automatic Updates are Enabled for the Windows Virtual Machine. Changing this forces a new resource to be created. Defaults to `true`. :param pulumi.Input[bool] encryption_at_host_enabled: Should all of the disks (including the temp disk) attached to this Virtual Machine be encrypted by enabling Encryption at Host? @@ -1934,6 +2042,7 @@ def __init__(__self__, :param pulumi.Input[str] name: The name of the Windows Virtual Machine. Changing this forces a new resource to be created. :param pulumi.Input[Sequence[pulumi.Input[str]]] network_interface_ids: . A list of Network Interface IDs which should be attached to this Virtual Machine. The first Network Interface ID in this list will be the Primary Network Interface on the Virtual Machine. :param pulumi.Input[pulumi.InputType['WindowsVirtualMachineOsDiskArgs']] os_disk: A `os_disk` block as defined below. + :param pulumi.Input[pulumi.InputType['WindowsVirtualMachineOsImageNotificationArgs']] os_image_notification: A `os_image_notification` block as defined below. :param pulumi.Input[str] patch_assessment_mode: Specifies the mode of VM Guest Patching for the Virtual Machine. Possible values are `AutomaticByPlatform` or `ImageDefault`. Defaults to `ImageDefault`. > **NOTE:** If the `patch_assessment_mode` is set to `AutomaticByPlatform` then the `provision_vm_agent` field must be set to `true`. @@ -1964,9 +2073,12 @@ def __init__(__self__, :param pulumi.Input[pulumi.InputType['WindowsVirtualMachineTerminationNotificationArgs']] termination_notification: A `termination_notification` block as defined below. :param pulumi.Input[str] timezone: Specifies the Time Zone which should be used by the Virtual Machine, [the possible values are defined here](https://jackstromberg.com/2017/01/list-of-time-zones-consumed-by-azure/). Changing this forces a new resource to be created. :param pulumi.Input[str] user_data: The Base64-Encoded User Data which should be used for this Virtual Machine. - :param pulumi.Input[str] virtual_machine_scale_set_id: Specifies the Orchestrated Virtual Machine Scale Set that this Virtual Machine should be created within. Changing this forces a new resource to be created. + :param pulumi.Input[str] virtual_machine_scale_set_id: Specifies the Orchestrated Virtual Machine Scale Set that this Virtual Machine should be created within. + + > **NOTE:** To update `virtual_machine_scale_set_id` the Preview Feature `Microsoft.Compute/SingleFDAttachDetachVMToVmss` needs to be enabled, see [the documentation](https://review.learn.microsoft.com/azure/virtual-machine-scale-sets/virtual-machine-scale-sets-attach-detach-vm#enroll-in-the-preview) for more information. > **NOTE:** Orchestrated Virtual Machine Scale Sets can be provisioned using [the `compute.OrchestratedVirtualMachineScaleSet` resource](https://www.terraform.io/docs/providers/azurerm/r/orchestrated_virtual_machine_scale_set.html). + :param pulumi.Input[bool] vm_agent_platform_updates_enabled: Specifies whether VMAgent Platform Updates is enabled. Defaults to `false`. :param pulumi.Input[bool] vtpm_enabled: Specifies if vTPM (virtual Trusted Platform Module) and Trusted Launch is enabled for the Virtual Machine. Changing this forces a new resource to be created. :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['WindowsVirtualMachineWinrmListenerArgs']]]] winrm_listeners: One or more `winrm_listener` blocks as defined below. Changing this forces a new resource to be created. :param pulumi.Input[str] zone: * `zones` - (Optional) Specifies the Availability Zone in which this Windows Virtual Machine should be located. Changing this forces a new Windows Virtual Machine to be created. @@ -2078,6 +2190,7 @@ def _internal_init(__self__, custom_data: Optional[pulumi.Input[str]] = None, dedicated_host_group_id: Optional[pulumi.Input[str]] = None, dedicated_host_id: Optional[pulumi.Input[str]] = None, + disk_controller_type: Optional[pulumi.Input[str]] = None, edge_zone: Optional[pulumi.Input[str]] = None, enable_automatic_updates: Optional[pulumi.Input[bool]] = None, encryption_at_host_enabled: Optional[pulumi.Input[bool]] = None, @@ -2092,6 +2205,7 @@ def _internal_init(__self__, name: Optional[pulumi.Input[str]] = None, network_interface_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, os_disk: Optional[pulumi.Input[pulumi.InputType['WindowsVirtualMachineOsDiskArgs']]] = None, + os_image_notification: Optional[pulumi.Input[pulumi.InputType['WindowsVirtualMachineOsImageNotificationArgs']]] = None, patch_assessment_mode: Optional[pulumi.Input[str]] = None, patch_mode: Optional[pulumi.Input[str]] = None, plan: Optional[pulumi.Input[pulumi.InputType['WindowsVirtualMachinePlanArgs']]] = None, @@ -2111,6 +2225,7 @@ def _internal_init(__self__, timezone: Optional[pulumi.Input[str]] = None, user_data: Optional[pulumi.Input[str]] = None, virtual_machine_scale_set_id: Optional[pulumi.Input[str]] = None, + vm_agent_platform_updates_enabled: Optional[pulumi.Input[bool]] = None, vtpm_enabled: Optional[pulumi.Input[bool]] = None, winrm_listeners: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['WindowsVirtualMachineWinrmListenerArgs']]]]] = None, zone: Optional[pulumi.Input[str]] = None, @@ -2140,6 +2255,7 @@ def _internal_init(__self__, __props__.__dict__["custom_data"] = None if custom_data is None else pulumi.Output.secret(custom_data) __props__.__dict__["dedicated_host_group_id"] = dedicated_host_group_id __props__.__dict__["dedicated_host_id"] = dedicated_host_id + __props__.__dict__["disk_controller_type"] = disk_controller_type __props__.__dict__["edge_zone"] = edge_zone __props__.__dict__["enable_automatic_updates"] = enable_automatic_updates __props__.__dict__["encryption_at_host_enabled"] = encryption_at_host_enabled @@ -2158,6 +2274,7 @@ def _internal_init(__self__, if os_disk is None and not opts.urn: raise TypeError("Missing required property 'os_disk'") __props__.__dict__["os_disk"] = os_disk + __props__.__dict__["os_image_notification"] = os_image_notification __props__.__dict__["patch_assessment_mode"] = patch_assessment_mode __props__.__dict__["patch_mode"] = patch_mode __props__.__dict__["plan"] = plan @@ -2181,6 +2298,7 @@ def _internal_init(__self__, __props__.__dict__["timezone"] = timezone __props__.__dict__["user_data"] = user_data __props__.__dict__["virtual_machine_scale_set_id"] = virtual_machine_scale_set_id + __props__.__dict__["vm_agent_platform_updates_enabled"] = vm_agent_platform_updates_enabled __props__.__dict__["vtpm_enabled"] = vtpm_enabled __props__.__dict__["winrm_listeners"] = winrm_listeners __props__.__dict__["zone"] = zone @@ -2214,6 +2332,7 @@ def get(resource_name: str, custom_data: Optional[pulumi.Input[str]] = None, dedicated_host_group_id: Optional[pulumi.Input[str]] = None, dedicated_host_id: Optional[pulumi.Input[str]] = None, + disk_controller_type: Optional[pulumi.Input[str]] = None, edge_zone: Optional[pulumi.Input[str]] = None, enable_automatic_updates: Optional[pulumi.Input[bool]] = None, encryption_at_host_enabled: Optional[pulumi.Input[bool]] = None, @@ -2228,6 +2347,7 @@ def get(resource_name: str, name: Optional[pulumi.Input[str]] = None, network_interface_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, os_disk: Optional[pulumi.Input[pulumi.InputType['WindowsVirtualMachineOsDiskArgs']]] = None, + os_image_notification: Optional[pulumi.Input[pulumi.InputType['WindowsVirtualMachineOsImageNotificationArgs']]] = None, patch_assessment_mode: Optional[pulumi.Input[str]] = None, patch_mode: Optional[pulumi.Input[str]] = None, plan: Optional[pulumi.Input[pulumi.InputType['WindowsVirtualMachinePlanArgs']]] = None, @@ -2252,6 +2372,7 @@ def get(resource_name: str, user_data: Optional[pulumi.Input[str]] = None, virtual_machine_id: Optional[pulumi.Input[str]] = None, virtual_machine_scale_set_id: Optional[pulumi.Input[str]] = None, + vm_agent_platform_updates_enabled: Optional[pulumi.Input[bool]] = None, vtpm_enabled: Optional[pulumi.Input[bool]] = None, winrm_listeners: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['WindowsVirtualMachineWinrmListenerArgs']]]]] = None, zone: Optional[pulumi.Input[str]] = None) -> 'WindowsVirtualMachine': @@ -2279,6 +2400,7 @@ def get(resource_name: str, :param pulumi.Input[str] custom_data: The Base64-Encoded Custom Data which should be used for this Virtual Machine. Changing this forces a new resource to be created. :param pulumi.Input[str] dedicated_host_group_id: The ID of a Dedicated Host Group that this Windows Virtual Machine should be run within. Conflicts with `dedicated_host_id`. :param pulumi.Input[str] dedicated_host_id: The ID of a Dedicated Host where this machine should be run on. Conflicts with `dedicated_host_group_id`. + :param pulumi.Input[str] disk_controller_type: Specifies the Disk Controller Type used for this Virtual Machine. Possible values are `SCSI` and `NVMe`. :param pulumi.Input[str] edge_zone: Specifies the Edge Zone within the Azure Region where this Windows Virtual Machine should exist. Changing this forces a new Windows Virtual Machine to be created. :param pulumi.Input[bool] enable_automatic_updates: Specifies if Automatic Updates are Enabled for the Windows Virtual Machine. Changing this forces a new resource to be created. Defaults to `true`. :param pulumi.Input[bool] encryption_at_host_enabled: Should all of the disks (including the temp disk) attached to this Virtual Machine be encrypted by enabling Encryption at Host? @@ -2299,6 +2421,7 @@ def get(resource_name: str, :param pulumi.Input[str] name: The name of the Windows Virtual Machine. Changing this forces a new resource to be created. :param pulumi.Input[Sequence[pulumi.Input[str]]] network_interface_ids: . A list of Network Interface IDs which should be attached to this Virtual Machine. The first Network Interface ID in this list will be the Primary Network Interface on the Virtual Machine. :param pulumi.Input[pulumi.InputType['WindowsVirtualMachineOsDiskArgs']] os_disk: A `os_disk` block as defined below. + :param pulumi.Input[pulumi.InputType['WindowsVirtualMachineOsImageNotificationArgs']] os_image_notification: A `os_image_notification` block as defined below. :param pulumi.Input[str] patch_assessment_mode: Specifies the mode of VM Guest Patching for the Virtual Machine. Possible values are `AutomaticByPlatform` or `ImageDefault`. Defaults to `ImageDefault`. > **NOTE:** If the `patch_assessment_mode` is set to `AutomaticByPlatform` then the `provision_vm_agent` field must be set to `true`. @@ -2334,9 +2457,12 @@ def get(resource_name: str, :param pulumi.Input[str] timezone: Specifies the Time Zone which should be used by the Virtual Machine, [the possible values are defined here](https://jackstromberg.com/2017/01/list-of-time-zones-consumed-by-azure/). Changing this forces a new resource to be created. :param pulumi.Input[str] user_data: The Base64-Encoded User Data which should be used for this Virtual Machine. :param pulumi.Input[str] virtual_machine_id: A 128-bit identifier which uniquely identifies this Virtual Machine. - :param pulumi.Input[str] virtual_machine_scale_set_id: Specifies the Orchestrated Virtual Machine Scale Set that this Virtual Machine should be created within. Changing this forces a new resource to be created. + :param pulumi.Input[str] virtual_machine_scale_set_id: Specifies the Orchestrated Virtual Machine Scale Set that this Virtual Machine should be created within. + + > **NOTE:** To update `virtual_machine_scale_set_id` the Preview Feature `Microsoft.Compute/SingleFDAttachDetachVMToVmss` needs to be enabled, see [the documentation](https://review.learn.microsoft.com/azure/virtual-machine-scale-sets/virtual-machine-scale-sets-attach-detach-vm#enroll-in-the-preview) for more information. > **NOTE:** Orchestrated Virtual Machine Scale Sets can be provisioned using [the `compute.OrchestratedVirtualMachineScaleSet` resource](https://www.terraform.io/docs/providers/azurerm/r/orchestrated_virtual_machine_scale_set.html). + :param pulumi.Input[bool] vm_agent_platform_updates_enabled: Specifies whether VMAgent Platform Updates is enabled. Defaults to `false`. :param pulumi.Input[bool] vtpm_enabled: Specifies if vTPM (virtual Trusted Platform Module) and Trusted Launch is enabled for the Virtual Machine. Changing this forces a new resource to be created. :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['WindowsVirtualMachineWinrmListenerArgs']]]] winrm_listeners: One or more `winrm_listener` blocks as defined below. Changing this forces a new resource to be created. :param pulumi.Input[str] zone: * `zones` - (Optional) Specifies the Availability Zone in which this Windows Virtual Machine should be located. Changing this forces a new Windows Virtual Machine to be created. @@ -2358,6 +2484,7 @@ def get(resource_name: str, __props__.__dict__["custom_data"] = custom_data __props__.__dict__["dedicated_host_group_id"] = dedicated_host_group_id __props__.__dict__["dedicated_host_id"] = dedicated_host_id + __props__.__dict__["disk_controller_type"] = disk_controller_type __props__.__dict__["edge_zone"] = edge_zone __props__.__dict__["enable_automatic_updates"] = enable_automatic_updates __props__.__dict__["encryption_at_host_enabled"] = encryption_at_host_enabled @@ -2372,6 +2499,7 @@ def get(resource_name: str, __props__.__dict__["name"] = name __props__.__dict__["network_interface_ids"] = network_interface_ids __props__.__dict__["os_disk"] = os_disk + __props__.__dict__["os_image_notification"] = os_image_notification __props__.__dict__["patch_assessment_mode"] = patch_assessment_mode __props__.__dict__["patch_mode"] = patch_mode __props__.__dict__["plan"] = plan @@ -2396,6 +2524,7 @@ def get(resource_name: str, __props__.__dict__["user_data"] = user_data __props__.__dict__["virtual_machine_id"] = virtual_machine_id __props__.__dict__["virtual_machine_scale_set_id"] = virtual_machine_scale_set_id + __props__.__dict__["vm_agent_platform_updates_enabled"] = vm_agent_platform_updates_enabled __props__.__dict__["vtpm_enabled"] = vtpm_enabled __props__.__dict__["winrm_listeners"] = winrm_listeners __props__.__dict__["zone"] = zone @@ -2509,6 +2638,14 @@ def dedicated_host_id(self) -> pulumi.Output[Optional[str]]: """ return pulumi.get(self, "dedicated_host_id") + @property + @pulumi.getter(name="diskControllerType") + def disk_controller_type(self) -> pulumi.Output[str]: + """ + Specifies the Disk Controller Type used for this Virtual Machine. Possible values are `SCSI` and `NVMe`. + """ + return pulumi.get(self, "disk_controller_type") + @property @pulumi.getter(name="edgeZone") def edge_zone(self) -> pulumi.Output[Optional[str]]: @@ -2627,6 +2764,14 @@ def os_disk(self) -> pulumi.Output['outputs.WindowsVirtualMachineOsDisk']: """ return pulumi.get(self, "os_disk") + @property + @pulumi.getter(name="osImageNotification") + def os_image_notification(self) -> pulumi.Output[Optional['outputs.WindowsVirtualMachineOsImageNotification']]: + """ + A `os_image_notification` block as defined below. + """ + return pulumi.get(self, "os_image_notification") + @property @pulumi.getter(name="patchAssessmentMode") def patch_assessment_mode(self) -> pulumi.Output[Optional[str]]: @@ -2827,12 +2972,22 @@ def virtual_machine_id(self) -> pulumi.Output[str]: @pulumi.getter(name="virtualMachineScaleSetId") def virtual_machine_scale_set_id(self) -> pulumi.Output[Optional[str]]: """ - Specifies the Orchestrated Virtual Machine Scale Set that this Virtual Machine should be created within. Changing this forces a new resource to be created. + Specifies the Orchestrated Virtual Machine Scale Set that this Virtual Machine should be created within. + + > **NOTE:** To update `virtual_machine_scale_set_id` the Preview Feature `Microsoft.Compute/SingleFDAttachDetachVMToVmss` needs to be enabled, see [the documentation](https://review.learn.microsoft.com/azure/virtual-machine-scale-sets/virtual-machine-scale-sets-attach-detach-vm#enroll-in-the-preview) for more information. > **NOTE:** Orchestrated Virtual Machine Scale Sets can be provisioned using [the `compute.OrchestratedVirtualMachineScaleSet` resource](https://www.terraform.io/docs/providers/azurerm/r/orchestrated_virtual_machine_scale_set.html). """ return pulumi.get(self, "virtual_machine_scale_set_id") + @property + @pulumi.getter(name="vmAgentPlatformUpdatesEnabled") + def vm_agent_platform_updates_enabled(self) -> pulumi.Output[Optional[bool]]: + """ + Specifies whether VMAgent Platform Updates is enabled. Defaults to `false`. + """ + return pulumi.get(self, "vm_agent_platform_updates_enabled") + @property @pulumi.getter(name="vtpmEnabled") def vtpm_enabled(self) -> pulumi.Output[Optional[bool]]: diff --git a/sdk/python/pulumi_azure/config/outputs.py b/sdk/python/pulumi_azure/config/outputs.py index 986e70b25a..a7f10ce434 100644 --- a/sdk/python/pulumi_azure/config/outputs.py +++ b/sdk/python/pulumi_azure/config/outputs.py @@ -429,10 +429,13 @@ def skip_shutdown_and_force_delete(self) -> Optional[bool]: class FeaturesVirtualMachineScaleSet(dict): def __init__(__self__, *, force_delete: Optional[bool] = None, + reimage_on_manual_upgrade: Optional[bool] = None, roll_instances_when_required: Optional[bool] = None, scale_to_zero_before_deletion: Optional[bool] = None): if force_delete is not None: pulumi.set(__self__, "force_delete", force_delete) + if reimage_on_manual_upgrade is not None: + pulumi.set(__self__, "reimage_on_manual_upgrade", reimage_on_manual_upgrade) if roll_instances_when_required is not None: pulumi.set(__self__, "roll_instances_when_required", roll_instances_when_required) if scale_to_zero_before_deletion is not None: @@ -443,6 +446,11 @@ def __init__(__self__, *, def force_delete(self) -> Optional[bool]: return pulumi.get(self, "force_delete") + @property + @pulumi.getter(name="reimageOnManualUpgrade") + def reimage_on_manual_upgrade(self) -> Optional[bool]: + return pulumi.get(self, "reimage_on_manual_upgrade") + @property @pulumi.getter(name="rollInstancesWhenRequired") def roll_instances_when_required(self) -> Optional[bool]: diff --git a/sdk/python/pulumi_azure/containerservice/__init__.py b/sdk/python/pulumi_azure/containerservice/__init__.py index e96c2a3e9d..1b60582b23 100644 --- a/sdk/python/pulumi_azure/containerservice/__init__.py +++ b/sdk/python/pulumi_azure/containerservice/__init__.py @@ -8,6 +8,7 @@ from .cluster_trusted_access_role_binding import * from .connected_registry import * from .fleet_member import * +from .fleet_update_run import * from .fleet_update_strategy import * from .flux_configuration import * from .get_cluster_node_pool import * diff --git a/sdk/python/pulumi_azure/containerservice/_inputs.py b/sdk/python/pulumi_azure/containerservice/_inputs.py index 0662f9c368..ff7d03114c 100644 --- a/sdk/python/pulumi_azure/containerservice/_inputs.py +++ b/sdk/python/pulumi_azure/containerservice/_inputs.py @@ -11,6 +11,11 @@ __all__ = [ 'ConnectedRegistryNotificationArgs', + 'FleetUpdateRunManagedClusterUpdateArgs', + 'FleetUpdateRunManagedClusterUpdateNodeImageSelectionArgs', + 'FleetUpdateRunManagedClusterUpdateUpgradeArgs', + 'FleetUpdateRunStageArgs', + 'FleetUpdateRunStageGroupArgs', 'FleetUpdateStrategyStageArgs', 'FleetUpdateStrategyStageGroupArgs', 'FluxConfigurationBlobStorageArgs', @@ -195,6 +200,179 @@ def tag(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "tag", value) +@pulumi.input_type +class FleetUpdateRunManagedClusterUpdateArgs: + def __init__(__self__, *, + upgrade: pulumi.Input['FleetUpdateRunManagedClusterUpdateUpgradeArgs'], + node_image_selection: Optional[pulumi.Input['FleetUpdateRunManagedClusterUpdateNodeImageSelectionArgs']] = None): + """ + :param pulumi.Input['FleetUpdateRunManagedClusterUpdateUpgradeArgs'] upgrade: A `upgrade` block as defined below. + :param pulumi.Input['FleetUpdateRunManagedClusterUpdateNodeImageSelectionArgs'] node_image_selection: A `node_image_selection` block as defined below. + """ + pulumi.set(__self__, "upgrade", upgrade) + if node_image_selection is not None: + pulumi.set(__self__, "node_image_selection", node_image_selection) + + @property + @pulumi.getter + def upgrade(self) -> pulumi.Input['FleetUpdateRunManagedClusterUpdateUpgradeArgs']: + """ + A `upgrade` block as defined below. + """ + return pulumi.get(self, "upgrade") + + @upgrade.setter + def upgrade(self, value: pulumi.Input['FleetUpdateRunManagedClusterUpdateUpgradeArgs']): + pulumi.set(self, "upgrade", value) + + @property + @pulumi.getter(name="nodeImageSelection") + def node_image_selection(self) -> Optional[pulumi.Input['FleetUpdateRunManagedClusterUpdateNodeImageSelectionArgs']]: + """ + A `node_image_selection` block as defined below. + """ + return pulumi.get(self, "node_image_selection") + + @node_image_selection.setter + def node_image_selection(self, value: Optional[pulumi.Input['FleetUpdateRunManagedClusterUpdateNodeImageSelectionArgs']]): + pulumi.set(self, "node_image_selection", value) + + +@pulumi.input_type +class FleetUpdateRunManagedClusterUpdateNodeImageSelectionArgs: + def __init__(__self__, *, + type: pulumi.Input[str]): + """ + :param pulumi.Input[str] type: Specifies the node image upgrade type. Possible values are `Latest` and `Consistent`. + """ + pulumi.set(__self__, "type", type) + + @property + @pulumi.getter + def type(self) -> pulumi.Input[str]: + """ + Specifies the node image upgrade type. Possible values are `Latest` and `Consistent`. + """ + return pulumi.get(self, "type") + + @type.setter + def type(self, value: pulumi.Input[str]): + pulumi.set(self, "type", value) + + +@pulumi.input_type +class FleetUpdateRunManagedClusterUpdateUpgradeArgs: + def __init__(__self__, *, + type: pulumi.Input[str], + kubernetes_version: Optional[pulumi.Input[str]] = None): + """ + :param pulumi.Input[str] type: Specifies the type of upgrade to perform. Possible values are `Full` and `NodeImageOnly`. + :param pulumi.Input[str] kubernetes_version: Specifies the Kubernetes version to upgrade the member clusters to. This is required if `type` is set to `Full`. + """ + pulumi.set(__self__, "type", type) + if kubernetes_version is not None: + pulumi.set(__self__, "kubernetes_version", kubernetes_version) + + @property + @pulumi.getter + def type(self) -> pulumi.Input[str]: + """ + Specifies the type of upgrade to perform. Possible values are `Full` and `NodeImageOnly`. + """ + return pulumi.get(self, "type") + + @type.setter + def type(self, value: pulumi.Input[str]): + pulumi.set(self, "type", value) + + @property + @pulumi.getter(name="kubernetesVersion") + def kubernetes_version(self) -> Optional[pulumi.Input[str]]: + """ + Specifies the Kubernetes version to upgrade the member clusters to. This is required if `type` is set to `Full`. + """ + return pulumi.get(self, "kubernetes_version") + + @kubernetes_version.setter + def kubernetes_version(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "kubernetes_version", value) + + +@pulumi.input_type +class FleetUpdateRunStageArgs: + def __init__(__self__, *, + groups: pulumi.Input[Sequence[pulumi.Input['FleetUpdateRunStageGroupArgs']]], + name: pulumi.Input[str], + after_stage_wait_in_seconds: Optional[pulumi.Input[int]] = None): + """ + :param pulumi.Input[Sequence[pulumi.Input['FleetUpdateRunStageGroupArgs']]] groups: One or more `group` blocks as defined below. + :param pulumi.Input[str] name: The name which should be used for this stage. + :param pulumi.Input[int] after_stage_wait_in_seconds: Specifies the time in seconds to wait at the end of this stage before starting the next one. + """ + pulumi.set(__self__, "groups", groups) + pulumi.set(__self__, "name", name) + if after_stage_wait_in_seconds is not None: + pulumi.set(__self__, "after_stage_wait_in_seconds", after_stage_wait_in_seconds) + + @property + @pulumi.getter + def groups(self) -> pulumi.Input[Sequence[pulumi.Input['FleetUpdateRunStageGroupArgs']]]: + """ + One or more `group` blocks as defined below. + """ + return pulumi.get(self, "groups") + + @groups.setter + def groups(self, value: pulumi.Input[Sequence[pulumi.Input['FleetUpdateRunStageGroupArgs']]]): + pulumi.set(self, "groups", value) + + @property + @pulumi.getter + def name(self) -> pulumi.Input[str]: + """ + The name which should be used for this stage. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: pulumi.Input[str]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter(name="afterStageWaitInSeconds") + def after_stage_wait_in_seconds(self) -> Optional[pulumi.Input[int]]: + """ + Specifies the time in seconds to wait at the end of this stage before starting the next one. + """ + return pulumi.get(self, "after_stage_wait_in_seconds") + + @after_stage_wait_in_seconds.setter + def after_stage_wait_in_seconds(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "after_stage_wait_in_seconds", value) + + +@pulumi.input_type +class FleetUpdateRunStageGroupArgs: + def __init__(__self__, *, + name: pulumi.Input[str]): + """ + :param pulumi.Input[str] name: The name which should be used for this group. + """ + pulumi.set(__self__, "name", name) + + @property + @pulumi.getter + def name(self) -> pulumi.Input[str]: + """ + The name which should be used for this group. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: pulumi.Input[str]): + pulumi.set(self, "name", value) + + @pulumi.input_type class FleetUpdateStrategyStageArgs: def __init__(__self__, *, @@ -3369,7 +3547,7 @@ def __init__(__self__, *, > **Note:** This version must be supported by the Kubernetes Cluster - as such the version of Kubernetes used on the Cluster/Control Plane may need to be upgraded first. :param pulumi.Input[int] os_disk_size_gb: The size of the OS Disk which should be used for each agent in the Node Pool. `temporary_name_for_rotation` must be specified when attempting a change. :param pulumi.Input[str] os_disk_type: The type of disk which should be used for the Operating System. Possible values are `Ephemeral` and `Managed`. Defaults to `Managed`. `temporary_name_for_rotation` must be specified when attempting a change. - :param pulumi.Input[str] os_sku: Specifies the OS SKU used by the agent pool. Possible values are `AzureLinux`, `CBLMariner`, `Mariner`, `Ubuntu`, `Windows2019` and `Windows2022`. If not specified, the default is `Ubuntu` if OSType=Linux or `Windows2019` if OSType=Windows. And the default Windows OSSKU will be changed to `Windows2022` after Windows2019 is deprecated. `temporary_name_for_rotation` must be specified when attempting a change. + :param pulumi.Input[str] os_sku: Specifies the OS SKU used by the agent pool. Possible values are `AzureLinux`, `Ubuntu`, `Windows2019` and `Windows2022`. If not specified, the default is `Ubuntu` if OSType=Linux or `Windows2019` if OSType=Windows. And the default Windows OSSKU will be changed to `Windows2022` after Windows2019 is deprecated. `temporary_name_for_rotation` must be specified when attempting a change. :param pulumi.Input[str] pod_subnet_id: The ID of the Subnet where the pods in the default Node Pool should exist. :param pulumi.Input[str] proximity_placement_group_id: The ID of the Proximity Placement Group. Changing this forces a new resource to be created. :param pulumi.Input[str] scale_down_mode: Specifies the autoscaling behaviour of the Kubernetes Cluster. Allowed values are `Delete` and `Deallocate`. Defaults to `Delete`. @@ -3803,7 +3981,7 @@ def os_disk_type(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="osSku") def os_sku(self) -> Optional[pulumi.Input[str]]: """ - Specifies the OS SKU used by the agent pool. Possible values are `AzureLinux`, `CBLMariner`, `Mariner`, `Ubuntu`, `Windows2019` and `Windows2022`. If not specified, the default is `Ubuntu` if OSType=Linux or `Windows2019` if OSType=Windows. And the default Windows OSSKU will be changed to `Windows2022` after Windows2019 is deprecated. `temporary_name_for_rotation` must be specified when attempting a change. + Specifies the OS SKU used by the agent pool. Possible values are `AzureLinux`, `Ubuntu`, `Windows2019` and `Windows2022`. If not specified, the default is `Ubuntu` if OSType=Linux or `Windows2019` if OSType=Windows. And the default Windows OSSKU will be changed to `Windows2022` after Windows2019 is deprecated. `temporary_name_for_rotation` must be specified when attempting a change. """ return pulumi.get(self, "os_sku") @@ -5275,7 +5453,7 @@ def __init__(__self__, *, key_vault_key_id: pulumi.Input[str], key_vault_network_access: Optional[pulumi.Input[str]] = None): """ - :param pulumi.Input[str] key_vault_key_id: Identifier of Azure Key Vault key. See [key identifier format](https://learn.microsoft.com/en-us/azure/key-vault/general/about-keys-secrets-certificates#vault-name-and-object-name) for more details. When Azure Key Vault key management service is enabled, this field is required and must be a valid key identifier. When `enabled` is `false`, leave the field empty. + :param pulumi.Input[str] key_vault_key_id: Identifier of Azure Key Vault key. See [key identifier format](https://learn.microsoft.com/en-us/azure/key-vault/general/about-keys-secrets-certificates#vault-name-and-object-name) for more details. :param pulumi.Input[str] key_vault_network_access: Network access of the key vault Network access of key vault. The possible values are `Public` and `Private`. `Public` means the key vault allows public access from all networks. `Private` means the key vault disables public access and enables private link. Defaults to `Public`. """ pulumi.set(__self__, "key_vault_key_id", key_vault_key_id) @@ -5286,7 +5464,7 @@ def __init__(__self__, *, @pulumi.getter(name="keyVaultKeyId") def key_vault_key_id(self) -> pulumi.Input[str]: """ - Identifier of Azure Key Vault key. See [key identifier format](https://learn.microsoft.com/en-us/azure/key-vault/general/about-keys-secrets-certificates#vault-name-and-object-name) for more details. When Azure Key Vault key management service is enabled, this field is required and must be a valid key identifier. When `enabled` is `false`, leave the field empty. + Identifier of Azure Key Vault key. See [key identifier format](https://learn.microsoft.com/en-us/azure/key-vault/general/about-keys-secrets-certificates#vault-name-and-object-name) for more details. """ return pulumi.get(self, "key_vault_key_id") @@ -6386,7 +6564,7 @@ def __init__(__self__, *, > **Note:** When `network_policy` is set to `azure`, the `network_plugin` field can only be set to `azure`. > **Note:** When `network_policy` is set to `cilium`, the `ebpf_data_plane` field must be set to `cilium`. - :param pulumi.Input[str] outbound_type: The outbound (egress) routing method which should be used for this Kubernetes Cluster. Possible values are `loadBalancer`, `userDefinedRouting`, `managedNATGateway` and `userAssignedNATGateway`. Defaults to `loadBalancer`. Changing this forces a new resource to be created. + :param pulumi.Input[str] outbound_type: The outbound (egress) routing method which should be used for this Kubernetes Cluster. Possible values are `loadBalancer`, `userDefinedRouting`, `managedNATGateway` and `userAssignedNATGateway`. Defaults to `loadBalancer`. More information on supported migration paths for `outbound_type` can be found in [this documentation](https://learn.microsoft.com/azure/aks/egress-outboundtype#updating-outboundtype-after-cluster-creation). :param pulumi.Input[str] pod_cidr: The CIDR to use for pod IP addresses. This field can only be set when `network_plugin` is set to `kubenet`. Changing this forces a new resource to be created. :param pulumi.Input[Sequence[pulumi.Input[str]]] pod_cidrs: A list of CIDRs to use for pod IP addresses. For single-stack networking a single IPv4 CIDR is expected. For dual-stack networking an IPv4 and IPv6 CIDR are expected. Changing this forces a new resource to be created. :param pulumi.Input[str] service_cidr: The Network Range used by the Kubernetes service. Changing this forces a new resource to be created. @@ -6592,7 +6770,7 @@ def network_policy(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="outboundType") def outbound_type(self) -> Optional[pulumi.Input[str]]: """ - The outbound (egress) routing method which should be used for this Kubernetes Cluster. Possible values are `loadBalancer`, `userDefinedRouting`, `managedNATGateway` and `userAssignedNATGateway`. Defaults to `loadBalancer`. Changing this forces a new resource to be created. + The outbound (egress) routing method which should be used for this Kubernetes Cluster. Possible values are `loadBalancer`, `userDefinedRouting`, `managedNATGateway` and `userAssignedNATGateway`. Defaults to `loadBalancer`. More information on supported migration paths for `outbound_type` can be found in [this documentation](https://learn.microsoft.com/azure/aks/egress-outboundtype#updating-outboundtype-after-cluster-creation). """ return pulumi.get(self, "outbound_type") @@ -9714,7 +9892,7 @@ def __init__(__self__, *, expiry: Optional[pulumi.Input[str]] = None, value: Optional[pulumi.Input[str]] = None): """ - :param pulumi.Input[str] expiry: The expiration date of the password in RFC3339 format. Changing this forces a new resource to be created. + :param pulumi.Input[str] expiry: The expiration date of the password in RFC3339 format. If not specified, the password never expires. Changing this forces a new resource to be created. :param pulumi.Input[str] value: The value of the password (Sensitive). """ if expiry is not None: @@ -9726,7 +9904,7 @@ def __init__(__self__, *, @pulumi.getter def expiry(self) -> Optional[pulumi.Input[str]]: """ - The expiration date of the password in RFC3339 format. Changing this forces a new resource to be created. + The expiration date of the password in RFC3339 format. If not specified, the password never expires. Changing this forces a new resource to be created. """ return pulumi.get(self, "expiry") @@ -9753,7 +9931,7 @@ def __init__(__self__, *, expiry: Optional[pulumi.Input[str]] = None, value: Optional[pulumi.Input[str]] = None): """ - :param pulumi.Input[str] expiry: The expiration date of the password in RFC3339 format. Changing this forces a new resource to be created. + :param pulumi.Input[str] expiry: The expiration date of the password in RFC3339 format. If not specified, the password never expires. Changing this forces a new resource to be created. :param pulumi.Input[str] value: The value of the password (Sensitive). """ if expiry is not None: @@ -9765,7 +9943,7 @@ def __init__(__self__, *, @pulumi.getter def expiry(self) -> Optional[pulumi.Input[str]]: """ - The expiration date of the password in RFC3339 format. Changing this forces a new resource to be created. + The expiration date of the password in RFC3339 format. If not specified, the password never expires. Changing this forces a new resource to be created. """ return pulumi.get(self, "expiry") diff --git a/sdk/python/pulumi_azure/containerservice/fleet_update_run.py b/sdk/python/pulumi_azure/containerservice/fleet_update_run.py new file mode 100644 index 0000000000..34286cd070 --- /dev/null +++ b/sdk/python/pulumi_azure/containerservice/fleet_update_run.py @@ -0,0 +1,463 @@ +# 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 pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from .. import _utilities +from . import outputs +from ._inputs import * + +__all__ = ['FleetUpdateRunArgs', 'FleetUpdateRun'] + +@pulumi.input_type +class FleetUpdateRunArgs: + def __init__(__self__, *, + kubernetes_fleet_manager_id: pulumi.Input[str], + managed_cluster_update: pulumi.Input['FleetUpdateRunManagedClusterUpdateArgs'], + fleet_update_strategy_id: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + stages: Optional[pulumi.Input[Sequence[pulumi.Input['FleetUpdateRunStageArgs']]]] = None): + """ + The set of arguments for constructing a FleetUpdateRun resource. + :param pulumi.Input[str] kubernetes_fleet_manager_id: The ID of the Fleet Manager. Changing this forces a new Kubernetes Fleet Update Run to be created. + :param pulumi.Input['FleetUpdateRunManagedClusterUpdateArgs'] managed_cluster_update: A `managed_cluster_update` block as defined below. + :param pulumi.Input[str] fleet_update_strategy_id: The ID of the Fleet Update Strategy. Only one of `fleet_update_strategy_id` or `stage` can be specified. + :param pulumi.Input[str] name: The name which should be used for this Kubernetes Fleet Update Run. Changing this forces a new Kubernetes Fleet Update Run to be created. + :param pulumi.Input[Sequence[pulumi.Input['FleetUpdateRunStageArgs']]] stages: One or more `stage` blocks as defined below. Only one of `stage` or `fleet_update_strategy_id` can be specified. + """ + pulumi.set(__self__, "kubernetes_fleet_manager_id", kubernetes_fleet_manager_id) + pulumi.set(__self__, "managed_cluster_update", managed_cluster_update) + if fleet_update_strategy_id is not None: + pulumi.set(__self__, "fleet_update_strategy_id", fleet_update_strategy_id) + if name is not None: + pulumi.set(__self__, "name", name) + if stages is not None: + pulumi.set(__self__, "stages", stages) + + @property + @pulumi.getter(name="kubernetesFleetManagerId") + def kubernetes_fleet_manager_id(self) -> pulumi.Input[str]: + """ + The ID of the Fleet Manager. Changing this forces a new Kubernetes Fleet Update Run to be created. + """ + return pulumi.get(self, "kubernetes_fleet_manager_id") + + @kubernetes_fleet_manager_id.setter + def kubernetes_fleet_manager_id(self, value: pulumi.Input[str]): + pulumi.set(self, "kubernetes_fleet_manager_id", value) + + @property + @pulumi.getter(name="managedClusterUpdate") + def managed_cluster_update(self) -> pulumi.Input['FleetUpdateRunManagedClusterUpdateArgs']: + """ + A `managed_cluster_update` block as defined below. + """ + return pulumi.get(self, "managed_cluster_update") + + @managed_cluster_update.setter + def managed_cluster_update(self, value: pulumi.Input['FleetUpdateRunManagedClusterUpdateArgs']): + pulumi.set(self, "managed_cluster_update", value) + + @property + @pulumi.getter(name="fleetUpdateStrategyId") + def fleet_update_strategy_id(self) -> Optional[pulumi.Input[str]]: + """ + The ID of the Fleet Update Strategy. Only one of `fleet_update_strategy_id` or `stage` can be specified. + """ + return pulumi.get(self, "fleet_update_strategy_id") + + @fleet_update_strategy_id.setter + def fleet_update_strategy_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "fleet_update_strategy_id", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + The name which should be used for this Kubernetes Fleet Update Run. Changing this forces a new Kubernetes Fleet Update Run 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 stages(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['FleetUpdateRunStageArgs']]]]: + """ + One or more `stage` blocks as defined below. Only one of `stage` or `fleet_update_strategy_id` can be specified. + """ + return pulumi.get(self, "stages") + + @stages.setter + def stages(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['FleetUpdateRunStageArgs']]]]): + pulumi.set(self, "stages", value) + + +@pulumi.input_type +class _FleetUpdateRunState: + def __init__(__self__, *, + fleet_update_strategy_id: Optional[pulumi.Input[str]] = None, + kubernetes_fleet_manager_id: Optional[pulumi.Input[str]] = None, + managed_cluster_update: Optional[pulumi.Input['FleetUpdateRunManagedClusterUpdateArgs']] = None, + name: Optional[pulumi.Input[str]] = None, + stages: Optional[pulumi.Input[Sequence[pulumi.Input['FleetUpdateRunStageArgs']]]] = None): + """ + Input properties used for looking up and filtering FleetUpdateRun resources. + :param pulumi.Input[str] fleet_update_strategy_id: The ID of the Fleet Update Strategy. Only one of `fleet_update_strategy_id` or `stage` can be specified. + :param pulumi.Input[str] kubernetes_fleet_manager_id: The ID of the Fleet Manager. Changing this forces a new Kubernetes Fleet Update Run to be created. + :param pulumi.Input['FleetUpdateRunManagedClusterUpdateArgs'] managed_cluster_update: A `managed_cluster_update` block as defined below. + :param pulumi.Input[str] name: The name which should be used for this Kubernetes Fleet Update Run. Changing this forces a new Kubernetes Fleet Update Run to be created. + :param pulumi.Input[Sequence[pulumi.Input['FleetUpdateRunStageArgs']]] stages: One or more `stage` blocks as defined below. Only one of `stage` or `fleet_update_strategy_id` can be specified. + """ + if fleet_update_strategy_id is not None: + pulumi.set(__self__, "fleet_update_strategy_id", fleet_update_strategy_id) + if kubernetes_fleet_manager_id is not None: + pulumi.set(__self__, "kubernetes_fleet_manager_id", kubernetes_fleet_manager_id) + if managed_cluster_update is not None: + pulumi.set(__self__, "managed_cluster_update", managed_cluster_update) + if name is not None: + pulumi.set(__self__, "name", name) + if stages is not None: + pulumi.set(__self__, "stages", stages) + + @property + @pulumi.getter(name="fleetUpdateStrategyId") + def fleet_update_strategy_id(self) -> Optional[pulumi.Input[str]]: + """ + The ID of the Fleet Update Strategy. Only one of `fleet_update_strategy_id` or `stage` can be specified. + """ + return pulumi.get(self, "fleet_update_strategy_id") + + @fleet_update_strategy_id.setter + def fleet_update_strategy_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "fleet_update_strategy_id", value) + + @property + @pulumi.getter(name="kubernetesFleetManagerId") + def kubernetes_fleet_manager_id(self) -> Optional[pulumi.Input[str]]: + """ + The ID of the Fleet Manager. Changing this forces a new Kubernetes Fleet Update Run to be created. + """ + return pulumi.get(self, "kubernetes_fleet_manager_id") + + @kubernetes_fleet_manager_id.setter + def kubernetes_fleet_manager_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "kubernetes_fleet_manager_id", value) + + @property + @pulumi.getter(name="managedClusterUpdate") + def managed_cluster_update(self) -> Optional[pulumi.Input['FleetUpdateRunManagedClusterUpdateArgs']]: + """ + A `managed_cluster_update` block as defined below. + """ + return pulumi.get(self, "managed_cluster_update") + + @managed_cluster_update.setter + def managed_cluster_update(self, value: Optional[pulumi.Input['FleetUpdateRunManagedClusterUpdateArgs']]): + pulumi.set(self, "managed_cluster_update", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + The name which should be used for this Kubernetes Fleet Update Run. Changing this forces a new Kubernetes Fleet Update Run 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 stages(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['FleetUpdateRunStageArgs']]]]: + """ + One or more `stage` blocks as defined below. Only one of `stage` or `fleet_update_strategy_id` can be specified. + """ + return pulumi.get(self, "stages") + + @stages.setter + def stages(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['FleetUpdateRunStageArgs']]]]): + pulumi.set(self, "stages", value) + + +class FleetUpdateRun(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + fleet_update_strategy_id: Optional[pulumi.Input[str]] = None, + kubernetes_fleet_manager_id: Optional[pulumi.Input[str]] = None, + managed_cluster_update: Optional[pulumi.Input[pulumi.InputType['FleetUpdateRunManagedClusterUpdateArgs']]] = None, + name: Optional[pulumi.Input[str]] = None, + stages: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['FleetUpdateRunStageArgs']]]]] = None, + __props__=None): + """ + Manages a Kubernetes Fleet Update Run. + + ## Example Usage + + ```python + import pulumi + import pulumi_azure as azure + + example = azure.core.ResourceGroup("example", + name="example-rg", + location="westeurope") + example_kubernetes_fleet_manager = azure.containerservice.KubernetesFleetManager("example", + location=example.location, + name="example", + resource_group_name=example.name, + hub_profile=azure.containerservice.KubernetesFleetManagerHubProfileArgs( + dns_prefix="example-dns-prefix", + )) + example_kubernetes_cluster = azure.containerservice.KubernetesCluster("example", + name="example", + location=example.location, + resource_group_name=example.name, + dns_prefix="example", + default_node_pool=azure.containerservice.KubernetesClusterDefaultNodePoolArgs( + name="default", + node_count=1, + vm_size="Standard_DS2_v2", + ), + identity=azure.containerservice.KubernetesClusterIdentityArgs( + type="SystemAssigned", + )) + example_fleet_member = azure.containerservice.FleetMember("example", + name="example", + kubernetes_fleet_id=example_kubernetes_fleet_manager.id, + kubernetes_cluster_id=example_kubernetes_cluster.id, + group="example-group") + example_fleet_update_run = azure.containerservice.FleetUpdateRun("example", + name="example", + kubernetes_fleet_manager_id=example_kubernetes_fleet_manager.id, + managed_cluster_update=azure.containerservice.FleetUpdateRunManagedClusterUpdateArgs( + upgrade=azure.containerservice.FleetUpdateRunManagedClusterUpdateUpgradeArgs( + type="Full", + kubernetes_version="1.27", + ), + node_image_selection=azure.containerservice.FleetUpdateRunManagedClusterUpdateNodeImageSelectionArgs( + type="Latest", + ), + ), + stages=[azure.containerservice.FleetUpdateRunStageArgs( + name="example", + groups=[azure.containerservice.FleetUpdateRunStageGroupArgs( + name="example-group", + )], + after_stage_wait_in_seconds=21, + )]) + ``` + + ## Import + + Kubernetes Fleet Update Runs can be imported using the `resource id`, e.g. + + ```sh + $ pulumi import azure:containerservice/fleetUpdateRun:FleetUpdateRun example /subscriptions/12345678-1234-9876-4563-123456789012/resourceGroups/resourceGroup1/providers/Microsoft.ContainerService/fleets/fleet1/updateRuns/updateRun1 + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] fleet_update_strategy_id: The ID of the Fleet Update Strategy. Only one of `fleet_update_strategy_id` or `stage` can be specified. + :param pulumi.Input[str] kubernetes_fleet_manager_id: The ID of the Fleet Manager. Changing this forces a new Kubernetes Fleet Update Run to be created. + :param pulumi.Input[pulumi.InputType['FleetUpdateRunManagedClusterUpdateArgs']] managed_cluster_update: A `managed_cluster_update` block as defined below. + :param pulumi.Input[str] name: The name which should be used for this Kubernetes Fleet Update Run. Changing this forces a new Kubernetes Fleet Update Run to be created. + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['FleetUpdateRunStageArgs']]]] stages: One or more `stage` blocks as defined below. Only one of `stage` or `fleet_update_strategy_id` can be specified. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: FleetUpdateRunArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Manages a Kubernetes Fleet Update Run. + + ## Example Usage + + ```python + import pulumi + import pulumi_azure as azure + + example = azure.core.ResourceGroup("example", + name="example-rg", + location="westeurope") + example_kubernetes_fleet_manager = azure.containerservice.KubernetesFleetManager("example", + location=example.location, + name="example", + resource_group_name=example.name, + hub_profile=azure.containerservice.KubernetesFleetManagerHubProfileArgs( + dns_prefix="example-dns-prefix", + )) + example_kubernetes_cluster = azure.containerservice.KubernetesCluster("example", + name="example", + location=example.location, + resource_group_name=example.name, + dns_prefix="example", + default_node_pool=azure.containerservice.KubernetesClusterDefaultNodePoolArgs( + name="default", + node_count=1, + vm_size="Standard_DS2_v2", + ), + identity=azure.containerservice.KubernetesClusterIdentityArgs( + type="SystemAssigned", + )) + example_fleet_member = azure.containerservice.FleetMember("example", + name="example", + kubernetes_fleet_id=example_kubernetes_fleet_manager.id, + kubernetes_cluster_id=example_kubernetes_cluster.id, + group="example-group") + example_fleet_update_run = azure.containerservice.FleetUpdateRun("example", + name="example", + kubernetes_fleet_manager_id=example_kubernetes_fleet_manager.id, + managed_cluster_update=azure.containerservice.FleetUpdateRunManagedClusterUpdateArgs( + upgrade=azure.containerservice.FleetUpdateRunManagedClusterUpdateUpgradeArgs( + type="Full", + kubernetes_version="1.27", + ), + node_image_selection=azure.containerservice.FleetUpdateRunManagedClusterUpdateNodeImageSelectionArgs( + type="Latest", + ), + ), + stages=[azure.containerservice.FleetUpdateRunStageArgs( + name="example", + groups=[azure.containerservice.FleetUpdateRunStageGroupArgs( + name="example-group", + )], + after_stage_wait_in_seconds=21, + )]) + ``` + + ## Import + + Kubernetes Fleet Update Runs can be imported using the `resource id`, e.g. + + ```sh + $ pulumi import azure:containerservice/fleetUpdateRun:FleetUpdateRun example /subscriptions/12345678-1234-9876-4563-123456789012/resourceGroups/resourceGroup1/providers/Microsoft.ContainerService/fleets/fleet1/updateRuns/updateRun1 + ``` + + :param str resource_name: The name of the resource. + :param FleetUpdateRunArgs 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(FleetUpdateRunArgs, 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, + fleet_update_strategy_id: Optional[pulumi.Input[str]] = None, + kubernetes_fleet_manager_id: Optional[pulumi.Input[str]] = None, + managed_cluster_update: Optional[pulumi.Input[pulumi.InputType['FleetUpdateRunManagedClusterUpdateArgs']]] = None, + name: Optional[pulumi.Input[str]] = None, + stages: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['FleetUpdateRunStageArgs']]]]] = 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__ = FleetUpdateRunArgs.__new__(FleetUpdateRunArgs) + + __props__.__dict__["fleet_update_strategy_id"] = fleet_update_strategy_id + if kubernetes_fleet_manager_id is None and not opts.urn: + raise TypeError("Missing required property 'kubernetes_fleet_manager_id'") + __props__.__dict__["kubernetes_fleet_manager_id"] = kubernetes_fleet_manager_id + if managed_cluster_update is None and not opts.urn: + raise TypeError("Missing required property 'managed_cluster_update'") + __props__.__dict__["managed_cluster_update"] = managed_cluster_update + __props__.__dict__["name"] = name + __props__.__dict__["stages"] = stages + super(FleetUpdateRun, __self__).__init__( + 'azure:containerservice/fleetUpdateRun:FleetUpdateRun', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + fleet_update_strategy_id: Optional[pulumi.Input[str]] = None, + kubernetes_fleet_manager_id: Optional[pulumi.Input[str]] = None, + managed_cluster_update: Optional[pulumi.Input[pulumi.InputType['FleetUpdateRunManagedClusterUpdateArgs']]] = None, + name: Optional[pulumi.Input[str]] = None, + stages: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['FleetUpdateRunStageArgs']]]]] = None) -> 'FleetUpdateRun': + """ + Get an existing FleetUpdateRun 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] fleet_update_strategy_id: The ID of the Fleet Update Strategy. Only one of `fleet_update_strategy_id` or `stage` can be specified. + :param pulumi.Input[str] kubernetes_fleet_manager_id: The ID of the Fleet Manager. Changing this forces a new Kubernetes Fleet Update Run to be created. + :param pulumi.Input[pulumi.InputType['FleetUpdateRunManagedClusterUpdateArgs']] managed_cluster_update: A `managed_cluster_update` block as defined below. + :param pulumi.Input[str] name: The name which should be used for this Kubernetes Fleet Update Run. Changing this forces a new Kubernetes Fleet Update Run to be created. + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['FleetUpdateRunStageArgs']]]] stages: One or more `stage` blocks as defined below. Only one of `stage` or `fleet_update_strategy_id` can be specified. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _FleetUpdateRunState.__new__(_FleetUpdateRunState) + + __props__.__dict__["fleet_update_strategy_id"] = fleet_update_strategy_id + __props__.__dict__["kubernetes_fleet_manager_id"] = kubernetes_fleet_manager_id + __props__.__dict__["managed_cluster_update"] = managed_cluster_update + __props__.__dict__["name"] = name + __props__.__dict__["stages"] = stages + return FleetUpdateRun(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="fleetUpdateStrategyId") + def fleet_update_strategy_id(self) -> pulumi.Output[Optional[str]]: + """ + The ID of the Fleet Update Strategy. Only one of `fleet_update_strategy_id` or `stage` can be specified. + """ + return pulumi.get(self, "fleet_update_strategy_id") + + @property + @pulumi.getter(name="kubernetesFleetManagerId") + def kubernetes_fleet_manager_id(self) -> pulumi.Output[str]: + """ + The ID of the Fleet Manager. Changing this forces a new Kubernetes Fleet Update Run to be created. + """ + return pulumi.get(self, "kubernetes_fleet_manager_id") + + @property + @pulumi.getter(name="managedClusterUpdate") + def managed_cluster_update(self) -> pulumi.Output['outputs.FleetUpdateRunManagedClusterUpdate']: + """ + A `managed_cluster_update` block as defined below. + """ + return pulumi.get(self, "managed_cluster_update") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + The name which should be used for this Kubernetes Fleet Update Run. Changing this forces a new Kubernetes Fleet Update Run to be created. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def stages(self) -> pulumi.Output[Optional[Sequence['outputs.FleetUpdateRunStage']]]: + """ + One or more `stage` blocks as defined below. Only one of `stage` or `fleet_update_strategy_id` can be specified. + """ + return pulumi.get(self, "stages") + diff --git a/sdk/python/pulumi_azure/containerservice/kubernetes_cluster.py b/sdk/python/pulumi_azure/containerservice/kubernetes_cluster.py index c977cab208..8e607b39f8 100644 --- a/sdk/python/pulumi_azure/containerservice/kubernetes_cluster.py +++ b/sdk/python/pulumi_azure/containerservice/kubernetes_cluster.py @@ -1094,6 +1094,7 @@ def __init__(__self__, *, azure_active_directory_role_based_access_control: Optional[pulumi.Input['KubernetesClusterAzureActiveDirectoryRoleBasedAccessControlArgs']] = None, azure_policy_enabled: Optional[pulumi.Input[bool]] = None, confidential_computing: Optional[pulumi.Input['KubernetesClusterConfidentialComputingArgs']] = None, + current_kubernetes_version: Optional[pulumi.Input[str]] = None, custom_ca_trust_certificates_base64s: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, default_node_pool: Optional[pulumi.Input['KubernetesClusterDefaultNodePoolArgs']] = None, disk_encryption_set_id: Optional[pulumi.Input[str]] = None, @@ -1166,6 +1167,7 @@ def __init__(__self__, *, :param pulumi.Input['KubernetesClusterAzureActiveDirectoryRoleBasedAccessControlArgs'] azure_active_directory_role_based_access_control: A `azure_active_directory_role_based_access_control` block as defined below. :param pulumi.Input[bool] azure_policy_enabled: Should the Azure Policy Add-On be enabled? For more details please visit [Understand Azure Policy for Azure Kubernetes Service](https://docs.microsoft.com/en-ie/azure/governance/policy/concepts/rego-for-aks) :param pulumi.Input['KubernetesClusterConfidentialComputingArgs'] confidential_computing: A `confidential_computing` block as defined below. For more details please [the documentation](https://learn.microsoft.com/en-us/azure/confidential-computing/confidential-nodes-aks-overview) + :param pulumi.Input[str] current_kubernetes_version: The current version running on the Azure Kubernetes Managed Cluster. :param pulumi.Input[Sequence[pulumi.Input[str]]] custom_ca_trust_certificates_base64s: A list of up to 10 base64 encoded CAs that will be added to the trust store on nodes with the `custom_ca_trust_enabled` feature enabled. > **Note:** Removing `custom_ca_trust_certificates_base64` after it has been set forces a new resource to be created. @@ -1311,6 +1313,8 @@ def __init__(__self__, *, pulumi.set(__self__, "azure_policy_enabled", azure_policy_enabled) if confidential_computing is not None: pulumi.set(__self__, "confidential_computing", confidential_computing) + if current_kubernetes_version is not None: + pulumi.set(__self__, "current_kubernetes_version", current_kubernetes_version) if custom_ca_trust_certificates_base64s is not None: pulumi.set(__self__, "custom_ca_trust_certificates_base64s", custom_ca_trust_certificates_base64s) if default_node_pool is not None: @@ -1536,6 +1540,18 @@ def confidential_computing(self) -> Optional[pulumi.Input['KubernetesClusterConf def confidential_computing(self, value: Optional[pulumi.Input['KubernetesClusterConfidentialComputingArgs']]): pulumi.set(self, "confidential_computing", value) + @property + @pulumi.getter(name="currentKubernetesVersion") + def current_kubernetes_version(self) -> Optional[pulumi.Input[str]]: + """ + The current version running on the Azure Kubernetes Managed Cluster. + """ + return pulumi.get(self, "current_kubernetes_version") + + @current_kubernetes_version.setter + def current_kubernetes_version(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "current_kubernetes_version", value) + @property @pulumi.getter(name="customCaTrustCertificatesBase64s") def custom_ca_trust_certificates_base64s(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: @@ -2739,6 +2755,7 @@ def _internal_init(__self__, __props__.__dict__["windows_profile"] = windows_profile __props__.__dict__["workload_autoscaler_profile"] = workload_autoscaler_profile __props__.__dict__["workload_identity_enabled"] = workload_identity_enabled + __props__.__dict__["current_kubernetes_version"] = None __props__.__dict__["fqdn"] = None __props__.__dict__["http_application_routing_zone_name"] = None __props__.__dict__["kube_admin_config_raw"] = None @@ -2769,6 +2786,7 @@ def get(resource_name: str, azure_active_directory_role_based_access_control: Optional[pulumi.Input[pulumi.InputType['KubernetesClusterAzureActiveDirectoryRoleBasedAccessControlArgs']]] = None, azure_policy_enabled: Optional[pulumi.Input[bool]] = None, confidential_computing: Optional[pulumi.Input[pulumi.InputType['KubernetesClusterConfidentialComputingArgs']]] = None, + current_kubernetes_version: Optional[pulumi.Input[str]] = None, custom_ca_trust_certificates_base64s: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, default_node_pool: Optional[pulumi.Input[pulumi.InputType['KubernetesClusterDefaultNodePoolArgs']]] = None, disk_encryption_set_id: Optional[pulumi.Input[str]] = None, @@ -2846,6 +2864,7 @@ def get(resource_name: str, :param pulumi.Input[pulumi.InputType['KubernetesClusterAzureActiveDirectoryRoleBasedAccessControlArgs']] azure_active_directory_role_based_access_control: A `azure_active_directory_role_based_access_control` block as defined below. :param pulumi.Input[bool] azure_policy_enabled: Should the Azure Policy Add-On be enabled? For more details please visit [Understand Azure Policy for Azure Kubernetes Service](https://docs.microsoft.com/en-ie/azure/governance/policy/concepts/rego-for-aks) :param pulumi.Input[pulumi.InputType['KubernetesClusterConfidentialComputingArgs']] confidential_computing: A `confidential_computing` block as defined below. For more details please [the documentation](https://learn.microsoft.com/en-us/azure/confidential-computing/confidential-nodes-aks-overview) + :param pulumi.Input[str] current_kubernetes_version: The current version running on the Azure Kubernetes Managed Cluster. :param pulumi.Input[Sequence[pulumi.Input[str]]] custom_ca_trust_certificates_base64s: A list of up to 10 base64 encoded CAs that will be added to the trust store on nodes with the `custom_ca_trust_enabled` feature enabled. > **Note:** Removing `custom_ca_trust_certificates_base64` after it has been set forces a new resource to be created. @@ -2984,6 +3003,7 @@ def get(resource_name: str, __props__.__dict__["azure_active_directory_role_based_access_control"] = azure_active_directory_role_based_access_control __props__.__dict__["azure_policy_enabled"] = azure_policy_enabled __props__.__dict__["confidential_computing"] = confidential_computing + __props__.__dict__["current_kubernetes_version"] = current_kubernetes_version __props__.__dict__["custom_ca_trust_certificates_base64s"] = custom_ca_trust_certificates_base64s __props__.__dict__["default_node_pool"] = default_node_pool __props__.__dict__["disk_encryption_set_id"] = disk_encryption_set_id @@ -3113,6 +3133,14 @@ def confidential_computing(self) -> pulumi.Output[Optional['outputs.KubernetesCl """ return pulumi.get(self, "confidential_computing") + @property + @pulumi.getter(name="currentKubernetesVersion") + def current_kubernetes_version(self) -> pulumi.Output[str]: + """ + The current version running on the Azure Kubernetes Managed Cluster. + """ + return pulumi.get(self, "current_kubernetes_version") + @property @pulumi.getter(name="customCaTrustCertificatesBase64s") def custom_ca_trust_certificates_base64s(self) -> pulumi.Output[Optional[Sequence[str]]]: diff --git a/sdk/python/pulumi_azure/containerservice/kubernetes_cluster_node_pool.py b/sdk/python/pulumi_azure/containerservice/kubernetes_cluster_node_pool.py index b2e1401966..66be53ea26 100644 --- a/sdk/python/pulumi_azure/containerservice/kubernetes_cluster_node_pool.py +++ b/sdk/python/pulumi_azure/containerservice/kubernetes_cluster_node_pool.py @@ -103,7 +103,7 @@ def __init__(__self__, *, > **Note:** This version must be supported by the Kubernetes Cluster - as such the version of Kubernetes used on the Cluster/Control Plane may need to be upgraded first. :param pulumi.Input[int] os_disk_size_gb: The Agent Operating System disk size in GB. Changing this forces a new resource to be created. :param pulumi.Input[str] os_disk_type: The type of disk which should be used for the Operating System. Possible values are `Ephemeral` and `Managed`. Defaults to `Managed`. Changing this forces a new resource to be created. - :param pulumi.Input[str] os_sku: Specifies the OS SKU used by the agent pool. Possible values are `AzureLinux`, `CBLMariner`, `Mariner`, `Ubuntu`, `Windows2019` and `Windows2022`. If not specified, the default is `Ubuntu` if OSType=Linux or `Windows2019` if OSType=Windows. And the default Windows OSSKU will be changed to `Windows2022` after Windows2019 is deprecated. Changing this forces a new resource to be created. + :param pulumi.Input[str] os_sku: Specifies the OS SKU used by the agent pool. Possible values are `AzureLinux`, `Ubuntu`, `Windows2019` and `Windows2022`. If not specified, the default is `Ubuntu` if OSType=Linux or `Windows2019` if OSType=Windows. And the default Windows OSSKU will be changed to `Windows2022` after Windows2019 is deprecated. Changing this forces a new resource to be created. :param pulumi.Input[str] os_type: The Operating System which should be used for this Node Pool. Changing this forces a new resource to be created. Possible values are `Linux` and `Windows`. Defaults to `Linux`. :param pulumi.Input[str] pod_subnet_id: The ID of the Subnet where the pods in the Node Pool should exist. Changing this forces a new resource to be created. :param pulumi.Input[str] priority: The Priority for Virtual Machines within the Virtual Machine Scale Set that powers this Node Pool. Possible values are `Regular` and `Spot`. Defaults to `Regular`. Changing this forces a new resource to be created. @@ -570,7 +570,7 @@ def os_disk_type(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="osSku") def os_sku(self) -> Optional[pulumi.Input[str]]: """ - Specifies the OS SKU used by the agent pool. Possible values are `AzureLinux`, `CBLMariner`, `Mariner`, `Ubuntu`, `Windows2019` and `Windows2022`. If not specified, the default is `Ubuntu` if OSType=Linux or `Windows2019` if OSType=Windows. And the default Windows OSSKU will be changed to `Windows2022` after Windows2019 is deprecated. Changing this forces a new resource to be created. + Specifies the OS SKU used by the agent pool. Possible values are `AzureLinux`, `Ubuntu`, `Windows2019` and `Windows2022`. If not specified, the default is `Ubuntu` if OSType=Linux or `Windows2019` if OSType=Windows. And the default Windows OSSKU will be changed to `Windows2022` after Windows2019 is deprecated. Changing this forces a new resource to be created. """ return pulumi.get(self, "os_sku") @@ -848,7 +848,7 @@ def __init__(__self__, *, > **Note:** This version must be supported by the Kubernetes Cluster - as such the version of Kubernetes used on the Cluster/Control Plane may need to be upgraded first. :param pulumi.Input[int] os_disk_size_gb: The Agent Operating System disk size in GB. Changing this forces a new resource to be created. :param pulumi.Input[str] os_disk_type: The type of disk which should be used for the Operating System. Possible values are `Ephemeral` and `Managed`. Defaults to `Managed`. Changing this forces a new resource to be created. - :param pulumi.Input[str] os_sku: Specifies the OS SKU used by the agent pool. Possible values are `AzureLinux`, `CBLMariner`, `Mariner`, `Ubuntu`, `Windows2019` and `Windows2022`. If not specified, the default is `Ubuntu` if OSType=Linux or `Windows2019` if OSType=Windows. And the default Windows OSSKU will be changed to `Windows2022` after Windows2019 is deprecated. Changing this forces a new resource to be created. + :param pulumi.Input[str] os_sku: Specifies the OS SKU used by the agent pool. Possible values are `AzureLinux`, `Ubuntu`, `Windows2019` and `Windows2022`. If not specified, the default is `Ubuntu` if OSType=Linux or `Windows2019` if OSType=Windows. And the default Windows OSSKU will be changed to `Windows2022` after Windows2019 is deprecated. Changing this forces a new resource to be created. :param pulumi.Input[str] os_type: The Operating System which should be used for this Node Pool. Changing this forces a new resource to be created. Possible values are `Linux` and `Windows`. Defaults to `Linux`. :param pulumi.Input[str] pod_subnet_id: The ID of the Subnet where the pods in the Node Pool should exist. Changing this forces a new resource to be created. :param pulumi.Input[str] priority: The Priority for Virtual Machines within the Virtual Machine Scale Set that powers this Node Pool. Possible values are `Regular` and `Spot`. Defaults to `Regular`. Changing this forces a new resource to be created. @@ -1306,7 +1306,7 @@ def os_disk_type(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="osSku") def os_sku(self) -> Optional[pulumi.Input[str]]: """ - Specifies the OS SKU used by the agent pool. Possible values are `AzureLinux`, `CBLMariner`, `Mariner`, `Ubuntu`, `Windows2019` and `Windows2022`. If not specified, the default is `Ubuntu` if OSType=Linux or `Windows2019` if OSType=Windows. And the default Windows OSSKU will be changed to `Windows2022` after Windows2019 is deprecated. Changing this forces a new resource to be created. + Specifies the OS SKU used by the agent pool. Possible values are `AzureLinux`, `Ubuntu`, `Windows2019` and `Windows2022`. If not specified, the default is `Ubuntu` if OSType=Linux or `Windows2019` if OSType=Windows. And the default Windows OSSKU will be changed to `Windows2022` after Windows2019 is deprecated. Changing this forces a new resource to be created. """ return pulumi.get(self, "os_sku") @@ -1647,7 +1647,7 @@ def __init__(__self__, > **Note:** This version must be supported by the Kubernetes Cluster - as such the version of Kubernetes used on the Cluster/Control Plane may need to be upgraded first. :param pulumi.Input[int] os_disk_size_gb: The Agent Operating System disk size in GB. Changing this forces a new resource to be created. :param pulumi.Input[str] os_disk_type: The type of disk which should be used for the Operating System. Possible values are `Ephemeral` and `Managed`. Defaults to `Managed`. Changing this forces a new resource to be created. - :param pulumi.Input[str] os_sku: Specifies the OS SKU used by the agent pool. Possible values are `AzureLinux`, `CBLMariner`, `Mariner`, `Ubuntu`, `Windows2019` and `Windows2022`. If not specified, the default is `Ubuntu` if OSType=Linux or `Windows2019` if OSType=Windows. And the default Windows OSSKU will be changed to `Windows2022` after Windows2019 is deprecated. Changing this forces a new resource to be created. + :param pulumi.Input[str] os_sku: Specifies the OS SKU used by the agent pool. Possible values are `AzureLinux`, `Ubuntu`, `Windows2019` and `Windows2022`. If not specified, the default is `Ubuntu` if OSType=Linux or `Windows2019` if OSType=Windows. And the default Windows OSSKU will be changed to `Windows2022` after Windows2019 is deprecated. Changing this forces a new resource to be created. :param pulumi.Input[str] os_type: The Operating System which should be used for this Node Pool. Changing this forces a new resource to be created. Possible values are `Linux` and `Windows`. Defaults to `Linux`. :param pulumi.Input[str] pod_subnet_id: The ID of the Subnet where the pods in the Node Pool should exist. Changing this forces a new resource to be created. :param pulumi.Input[str] priority: The Priority for Virtual Machines within the Virtual Machine Scale Set that powers this Node Pool. Possible values are `Regular` and `Spot`. Defaults to `Regular`. Changing this forces a new resource to be created. @@ -1945,7 +1945,7 @@ def get(resource_name: str, > **Note:** This version must be supported by the Kubernetes Cluster - as such the version of Kubernetes used on the Cluster/Control Plane may need to be upgraded first. :param pulumi.Input[int] os_disk_size_gb: The Agent Operating System disk size in GB. Changing this forces a new resource to be created. :param pulumi.Input[str] os_disk_type: The type of disk which should be used for the Operating System. Possible values are `Ephemeral` and `Managed`. Defaults to `Managed`. Changing this forces a new resource to be created. - :param pulumi.Input[str] os_sku: Specifies the OS SKU used by the agent pool. Possible values are `AzureLinux`, `CBLMariner`, `Mariner`, `Ubuntu`, `Windows2019` and `Windows2022`. If not specified, the default is `Ubuntu` if OSType=Linux or `Windows2019` if OSType=Windows. And the default Windows OSSKU will be changed to `Windows2022` after Windows2019 is deprecated. Changing this forces a new resource to be created. + :param pulumi.Input[str] os_sku: Specifies the OS SKU used by the agent pool. Possible values are `AzureLinux`, `Ubuntu`, `Windows2019` and `Windows2022`. If not specified, the default is `Ubuntu` if OSType=Linux or `Windows2019` if OSType=Windows. And the default Windows OSSKU will be changed to `Windows2022` after Windows2019 is deprecated. Changing this forces a new resource to be created. :param pulumi.Input[str] os_type: The Operating System which should be used for this Node Pool. Changing this forces a new resource to be created. Possible values are `Linux` and `Windows`. Defaults to `Linux`. :param pulumi.Input[str] pod_subnet_id: The ID of the Subnet where the pods in the Node Pool should exist. Changing this forces a new resource to be created. :param pulumi.Input[str] priority: The Priority for Virtual Machines within the Virtual Machine Scale Set that powers this Node Pool. Possible values are `Regular` and `Spot`. Defaults to `Regular`. Changing this forces a new resource to be created. @@ -2257,7 +2257,7 @@ def os_disk_type(self) -> pulumi.Output[Optional[str]]: @pulumi.getter(name="osSku") def os_sku(self) -> pulumi.Output[str]: """ - Specifies the OS SKU used by the agent pool. Possible values are `AzureLinux`, `CBLMariner`, `Mariner`, `Ubuntu`, `Windows2019` and `Windows2022`. If not specified, the default is `Ubuntu` if OSType=Linux or `Windows2019` if OSType=Windows. And the default Windows OSSKU will be changed to `Windows2022` after Windows2019 is deprecated. Changing this forces a new resource to be created. + Specifies the OS SKU used by the agent pool. Possible values are `AzureLinux`, `Ubuntu`, `Windows2019` and `Windows2022`. If not specified, the default is `Ubuntu` if OSType=Linux or `Windows2019` if OSType=Windows. And the default Windows OSSKU will be changed to `Windows2022` after Windows2019 is deprecated. Changing this forces a new resource to be created. """ return pulumi.get(self, "os_sku") diff --git a/sdk/python/pulumi_azure/containerservice/outputs.py b/sdk/python/pulumi_azure/containerservice/outputs.py index 24b94718c8..a528e7d3f8 100644 --- a/sdk/python/pulumi_azure/containerservice/outputs.py +++ b/sdk/python/pulumi_azure/containerservice/outputs.py @@ -12,6 +12,11 @@ __all__ = [ 'ConnectedRegistryNotification', + 'FleetUpdateRunManagedClusterUpdate', + 'FleetUpdateRunManagedClusterUpdateNodeImageSelection', + 'FleetUpdateRunManagedClusterUpdateUpgrade', + 'FleetUpdateRunStage', + 'FleetUpdateRunStageGroup', 'FleetUpdateStrategyStage', 'FleetUpdateStrategyStageGroup', 'FluxConfigurationBlobStorage', @@ -205,6 +210,194 @@ def tag(self) -> Optional[str]: return pulumi.get(self, "tag") +@pulumi.output_type +class FleetUpdateRunManagedClusterUpdate(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "nodeImageSelection": + suggest = "node_image_selection" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in FleetUpdateRunManagedClusterUpdate. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + FleetUpdateRunManagedClusterUpdate.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + FleetUpdateRunManagedClusterUpdate.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + upgrade: 'outputs.FleetUpdateRunManagedClusterUpdateUpgrade', + node_image_selection: Optional['outputs.FleetUpdateRunManagedClusterUpdateNodeImageSelection'] = None): + """ + :param 'FleetUpdateRunManagedClusterUpdateUpgradeArgs' upgrade: A `upgrade` block as defined below. + :param 'FleetUpdateRunManagedClusterUpdateNodeImageSelectionArgs' node_image_selection: A `node_image_selection` block as defined below. + """ + pulumi.set(__self__, "upgrade", upgrade) + if node_image_selection is not None: + pulumi.set(__self__, "node_image_selection", node_image_selection) + + @property + @pulumi.getter + def upgrade(self) -> 'outputs.FleetUpdateRunManagedClusterUpdateUpgrade': + """ + A `upgrade` block as defined below. + """ + return pulumi.get(self, "upgrade") + + @property + @pulumi.getter(name="nodeImageSelection") + def node_image_selection(self) -> Optional['outputs.FleetUpdateRunManagedClusterUpdateNodeImageSelection']: + """ + A `node_image_selection` block as defined below. + """ + return pulumi.get(self, "node_image_selection") + + +@pulumi.output_type +class FleetUpdateRunManagedClusterUpdateNodeImageSelection(dict): + def __init__(__self__, *, + type: str): + """ + :param str type: Specifies the node image upgrade type. Possible values are `Latest` and `Consistent`. + """ + pulumi.set(__self__, "type", type) + + @property + @pulumi.getter + def type(self) -> str: + """ + Specifies the node image upgrade type. Possible values are `Latest` and `Consistent`. + """ + return pulumi.get(self, "type") + + +@pulumi.output_type +class FleetUpdateRunManagedClusterUpdateUpgrade(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "kubernetesVersion": + suggest = "kubernetes_version" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in FleetUpdateRunManagedClusterUpdateUpgrade. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + FleetUpdateRunManagedClusterUpdateUpgrade.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + FleetUpdateRunManagedClusterUpdateUpgrade.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + type: str, + kubernetes_version: Optional[str] = None): + """ + :param str type: Specifies the type of upgrade to perform. Possible values are `Full` and `NodeImageOnly`. + :param str kubernetes_version: Specifies the Kubernetes version to upgrade the member clusters to. This is required if `type` is set to `Full`. + """ + pulumi.set(__self__, "type", type) + if kubernetes_version is not None: + pulumi.set(__self__, "kubernetes_version", kubernetes_version) + + @property + @pulumi.getter + def type(self) -> str: + """ + Specifies the type of upgrade to perform. Possible values are `Full` and `NodeImageOnly`. + """ + return pulumi.get(self, "type") + + @property + @pulumi.getter(name="kubernetesVersion") + def kubernetes_version(self) -> Optional[str]: + """ + Specifies the Kubernetes version to upgrade the member clusters to. This is required if `type` is set to `Full`. + """ + return pulumi.get(self, "kubernetes_version") + + +@pulumi.output_type +class FleetUpdateRunStage(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "afterStageWaitInSeconds": + suggest = "after_stage_wait_in_seconds" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in FleetUpdateRunStage. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + FleetUpdateRunStage.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + FleetUpdateRunStage.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + groups: Sequence['outputs.FleetUpdateRunStageGroup'], + name: str, + after_stage_wait_in_seconds: Optional[int] = None): + """ + :param Sequence['FleetUpdateRunStageGroupArgs'] groups: One or more `group` blocks as defined below. + :param str name: The name which should be used for this stage. + :param int after_stage_wait_in_seconds: Specifies the time in seconds to wait at the end of this stage before starting the next one. + """ + pulumi.set(__self__, "groups", groups) + pulumi.set(__self__, "name", name) + if after_stage_wait_in_seconds is not None: + pulumi.set(__self__, "after_stage_wait_in_seconds", after_stage_wait_in_seconds) + + @property + @pulumi.getter + def groups(self) -> Sequence['outputs.FleetUpdateRunStageGroup']: + """ + One or more `group` blocks as defined below. + """ + return pulumi.get(self, "groups") + + @property + @pulumi.getter + def name(self) -> str: + """ + The name which should be used for this stage. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="afterStageWaitInSeconds") + def after_stage_wait_in_seconds(self) -> Optional[int]: + """ + Specifies the time in seconds to wait at the end of this stage before starting the next one. + """ + return pulumi.get(self, "after_stage_wait_in_seconds") + + +@pulumi.output_type +class FleetUpdateRunStageGroup(dict): + def __init__(__self__, *, + name: str): + """ + :param str name: The name which should be used for this group. + """ + pulumi.set(__self__, "name", name) + + @property + @pulumi.getter + def name(self) -> str: + """ + The name which should be used for this group. + """ + return pulumi.get(self, "name") + + @pulumi.output_type class FleetUpdateStrategyStage(dict): @staticmethod @@ -3424,7 +3617,7 @@ def __init__(__self__, *, > **Note:** This version must be supported by the Kubernetes Cluster - as such the version of Kubernetes used on the Cluster/Control Plane may need to be upgraded first. :param int os_disk_size_gb: The size of the OS Disk which should be used for each agent in the Node Pool. `temporary_name_for_rotation` must be specified when attempting a change. :param str os_disk_type: The type of disk which should be used for the Operating System. Possible values are `Ephemeral` and `Managed`. Defaults to `Managed`. `temporary_name_for_rotation` must be specified when attempting a change. - :param str os_sku: Specifies the OS SKU used by the agent pool. Possible values are `AzureLinux`, `CBLMariner`, `Mariner`, `Ubuntu`, `Windows2019` and `Windows2022`. If not specified, the default is `Ubuntu` if OSType=Linux or `Windows2019` if OSType=Windows. And the default Windows OSSKU will be changed to `Windows2022` after Windows2019 is deprecated. `temporary_name_for_rotation` must be specified when attempting a change. + :param str os_sku: Specifies the OS SKU used by the agent pool. Possible values are `AzureLinux`, `Ubuntu`, `Windows2019` and `Windows2022`. If not specified, the default is `Ubuntu` if OSType=Linux or `Windows2019` if OSType=Windows. And the default Windows OSSKU will be changed to `Windows2022` after Windows2019 is deprecated. `temporary_name_for_rotation` must be specified when attempting a change. :param str pod_subnet_id: The ID of the Subnet where the pods in the default Node Pool should exist. :param str proximity_placement_group_id: The ID of the Proximity Placement Group. Changing this forces a new resource to be created. :param str scale_down_mode: Specifies the autoscaling behaviour of the Kubernetes Cluster. Allowed values are `Delete` and `Deallocate`. Defaults to `Delete`. @@ -3751,7 +3944,7 @@ def os_disk_type(self) -> Optional[str]: @pulumi.getter(name="osSku") def os_sku(self) -> Optional[str]: """ - Specifies the OS SKU used by the agent pool. Possible values are `AzureLinux`, `CBLMariner`, `Mariner`, `Ubuntu`, `Windows2019` and `Windows2022`. If not specified, the default is `Ubuntu` if OSType=Linux or `Windows2019` if OSType=Windows. And the default Windows OSSKU will be changed to `Windows2022` after Windows2019 is deprecated. `temporary_name_for_rotation` must be specified when attempting a change. + Specifies the OS SKU used by the agent pool. Possible values are `AzureLinux`, `Ubuntu`, `Windows2019` and `Windows2022`. If not specified, the default is `Ubuntu` if OSType=Linux or `Windows2019` if OSType=Windows. And the default Windows OSSKU will be changed to `Windows2022` after Windows2019 is deprecated. `temporary_name_for_rotation` must be specified when attempting a change. """ return pulumi.get(self, "os_sku") @@ -5206,7 +5399,7 @@ def __init__(__self__, *, key_vault_key_id: str, key_vault_network_access: Optional[str] = None): """ - :param str key_vault_key_id: Identifier of Azure Key Vault key. See [key identifier format](https://learn.microsoft.com/en-us/azure/key-vault/general/about-keys-secrets-certificates#vault-name-and-object-name) for more details. When Azure Key Vault key management service is enabled, this field is required and must be a valid key identifier. When `enabled` is `false`, leave the field empty. + :param str key_vault_key_id: Identifier of Azure Key Vault key. See [key identifier format](https://learn.microsoft.com/en-us/azure/key-vault/general/about-keys-secrets-certificates#vault-name-and-object-name) for more details. :param str key_vault_network_access: Network access of the key vault Network access of key vault. The possible values are `Public` and `Private`. `Public` means the key vault allows public access from all networks. `Private` means the key vault disables public access and enables private link. Defaults to `Public`. """ pulumi.set(__self__, "key_vault_key_id", key_vault_key_id) @@ -5217,7 +5410,7 @@ def __init__(__self__, *, @pulumi.getter(name="keyVaultKeyId") def key_vault_key_id(self) -> str: """ - Identifier of Azure Key Vault key. See [key identifier format](https://learn.microsoft.com/en-us/azure/key-vault/general/about-keys-secrets-certificates#vault-name-and-object-name) for more details. When Azure Key Vault key management service is enabled, this field is required and must be a valid key identifier. When `enabled` is `false`, leave the field empty. + Identifier of Azure Key Vault key. See [key identifier format](https://learn.microsoft.com/en-us/azure/key-vault/general/about-keys-secrets-certificates#vault-name-and-object-name) for more details. """ return pulumi.get(self, "key_vault_key_id") @@ -6380,7 +6573,7 @@ def __init__(__self__, *, > **Note:** When `network_policy` is set to `azure`, the `network_plugin` field can only be set to `azure`. > **Note:** When `network_policy` is set to `cilium`, the `ebpf_data_plane` field must be set to `cilium`. - :param str outbound_type: The outbound (egress) routing method which should be used for this Kubernetes Cluster. Possible values are `loadBalancer`, `userDefinedRouting`, `managedNATGateway` and `userAssignedNATGateway`. Defaults to `loadBalancer`. Changing this forces a new resource to be created. + :param str outbound_type: The outbound (egress) routing method which should be used for this Kubernetes Cluster. Possible values are `loadBalancer`, `userDefinedRouting`, `managedNATGateway` and `userAssignedNATGateway`. Defaults to `loadBalancer`. More information on supported migration paths for `outbound_type` can be found in [this documentation](https://learn.microsoft.com/azure/aks/egress-outboundtype#updating-outboundtype-after-cluster-creation). :param str pod_cidr: The CIDR to use for pod IP addresses. This field can only be set when `network_plugin` is set to `kubenet`. Changing this forces a new resource to be created. :param Sequence[str] pod_cidrs: A list of CIDRs to use for pod IP addresses. For single-stack networking a single IPv4 CIDR is expected. For dual-stack networking an IPv4 and IPv6 CIDR are expected. Changing this forces a new resource to be created. :param str service_cidr: The Network Range used by the Kubernetes service. Changing this forces a new resource to be created. @@ -6539,7 +6732,7 @@ def network_policy(self) -> Optional[str]: @pulumi.getter(name="outboundType") def outbound_type(self) -> Optional[str]: """ - The outbound (egress) routing method which should be used for this Kubernetes Cluster. Possible values are `loadBalancer`, `userDefinedRouting`, `managedNATGateway` and `userAssignedNATGateway`. Defaults to `loadBalancer`. Changing this forces a new resource to be created. + The outbound (egress) routing method which should be used for this Kubernetes Cluster. Possible values are `loadBalancer`, `userDefinedRouting`, `managedNATGateway` and `userAssignedNATGateway`. Defaults to `loadBalancer`. More information on supported migration paths for `outbound_type` can be found in [this documentation](https://learn.microsoft.com/azure/aks/egress-outboundtype#updating-outboundtype-after-cluster-creation). """ return pulumi.get(self, "outbound_type") @@ -9737,7 +9930,7 @@ def __init__(__self__, *, expiry: Optional[str] = None, value: Optional[str] = None): """ - :param str expiry: The expiration date of the password in RFC3339 format. Changing this forces a new resource to be created. + :param str expiry: The expiration date of the password in RFC3339 format. If not specified, the password never expires. Changing this forces a new resource to be created. :param str value: The value of the password (Sensitive). """ if expiry is not None: @@ -9749,7 +9942,7 @@ def __init__(__self__, *, @pulumi.getter def expiry(self) -> Optional[str]: """ - The expiration date of the password in RFC3339 format. Changing this forces a new resource to be created. + The expiration date of the password in RFC3339 format. If not specified, the password never expires. Changing this forces a new resource to be created. """ return pulumi.get(self, "expiry") @@ -9768,7 +9961,7 @@ def __init__(__self__, *, expiry: Optional[str] = None, value: Optional[str] = None): """ - :param str expiry: The expiration date of the password in RFC3339 format. Changing this forces a new resource to be created. + :param str expiry: The expiration date of the password in RFC3339 format. If not specified, the password never expires. Changing this forces a new resource to be created. :param str value: The value of the password (Sensitive). """ if expiry is not None: @@ -9780,7 +9973,7 @@ def __init__(__self__, *, @pulumi.getter def expiry(self) -> Optional[str]: """ - The expiration date of the password in RFC3339 format. Changing this forces a new resource to be created. + The expiration date of the password in RFC3339 format. If not specified, the password never expires. Changing this forces a new resource to be created. """ return pulumi.get(self, "expiry") diff --git a/sdk/python/pulumi_azure/cosmosdb/_inputs.py b/sdk/python/pulumi_azure/cosmosdb/_inputs.py index 98ab5b70c6..e6d6659d26 100644 --- a/sdk/python/pulumi_azure/cosmosdb/_inputs.py +++ b/sdk/python/pulumi_azure/cosmosdb/_inputs.py @@ -86,7 +86,8 @@ def __init__(__self__, *, type: pulumi.Input[str], interval_in_minutes: Optional[pulumi.Input[int]] = None, retention_in_hours: Optional[pulumi.Input[int]] = None, - storage_redundancy: Optional[pulumi.Input[str]] = None): + storage_redundancy: Optional[pulumi.Input[str]] = None, + tier: Optional[pulumi.Input[str]] = None): """ :param pulumi.Input[str] type: The type of the `backup`. Possible values are `Continuous` and `Periodic`. @@ -96,6 +97,7 @@ def __init__(__self__, *, :param pulumi.Input[str] storage_redundancy: The storage redundancy is used to indicate the type of backup residency. Possible values are `Geo`, `Local` and `Zone`. Defaults to `Geo`. > **Note:** You can only configure `interval_in_minutes`, `retention_in_hours` and `storage_redundancy` when the `type` field is set to `Periodic`. + :param pulumi.Input[str] tier: The continuous backup tier. Possible values are `Continuous7Days` and `Continuous30Days`. """ pulumi.set(__self__, "type", type) if interval_in_minutes is not None: @@ -104,6 +106,8 @@ def __init__(__self__, *, pulumi.set(__self__, "retention_in_hours", retention_in_hours) if storage_redundancy is not None: pulumi.set(__self__, "storage_redundancy", storage_redundancy) + if tier is not None: + pulumi.set(__self__, "tier", tier) @property @pulumi.getter @@ -157,6 +161,18 @@ def storage_redundancy(self) -> Optional[pulumi.Input[str]]: def storage_redundancy(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "storage_redundancy", value) + @property + @pulumi.getter + def tier(self) -> Optional[pulumi.Input[str]]: + """ + The continuous backup tier. Possible values are `Continuous7Days` and `Continuous30Days`. + """ + return pulumi.get(self, "tier") + + @tier.setter + def tier(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "tier", value) + @pulumi.input_type class AccountCapabilityArgs: diff --git a/sdk/python/pulumi_azure/cosmosdb/account.py b/sdk/python/pulumi_azure/cosmosdb/account.py index 66a537f66a..37076284ba 100644 --- a/sdk/python/pulumi_azure/cosmosdb/account.py +++ b/sdk/python/pulumi_azure/cosmosdb/account.py @@ -39,6 +39,7 @@ def __init__(__self__, *, kind: Optional[pulumi.Input[str]] = None, local_authentication_disabled: Optional[pulumi.Input[bool]] = None, location: Optional[pulumi.Input[str]] = None, + minimal_tls_version: Optional[pulumi.Input[str]] = None, mongo_server_version: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, network_acl_bypass_for_azure_services: Optional[pulumi.Input[bool]] = None, @@ -83,6 +84,7 @@ def __init__(__self__, *, :param pulumi.Input[str] kind: Specifies the Kind of CosmosDB to create - possible values are `GlobalDocumentDB`, `MongoDB` and `Parse`. Defaults to `GlobalDocumentDB`. Changing this forces a new resource to be created. :param pulumi.Input[bool] local_authentication_disabled: Disable local authentication and ensure only MSI and AAD can be used exclusively for authentication. Defaults to `false`. Can be set only when using the SQL API. :param pulumi.Input[str] location: Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created. + :param pulumi.Input[str] minimal_tls_version: Specifies the minimal TLS version for the CosmosDB account. Possible values are: `Tls`, `Tls11`, and `Tls12`. Defaults to `Tls12`. :param pulumi.Input[str] mongo_server_version: The Server Version of a MongoDB account. Possible values are `4.2`, `4.0`, `3.6`, and `3.2`. :param pulumi.Input[str] name: Specifies the name of the CosmosDB Account. Changing this forces a new resource to be created. :param pulumi.Input[bool] network_acl_bypass_for_azure_services: If Azure services can bypass ACLs. Defaults to `false`. @@ -137,6 +139,8 @@ def __init__(__self__, *, pulumi.set(__self__, "local_authentication_disabled", local_authentication_disabled) if location is not None: pulumi.set(__self__, "location", location) + if minimal_tls_version is not None: + pulumi.set(__self__, "minimal_tls_version", minimal_tls_version) if mongo_server_version is not None: pulumi.set(__self__, "mongo_server_version", mongo_server_version) if name is not None: @@ -442,6 +446,18 @@ def location(self) -> Optional[pulumi.Input[str]]: def location(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "location", value) + @property + @pulumi.getter(name="minimalTlsVersion") + def minimal_tls_version(self) -> Optional[pulumi.Input[str]]: + """ + Specifies the minimal TLS version for the CosmosDB account. Possible values are: `Tls`, `Tls11`, and `Tls12`. Defaults to `Tls12`. + """ + return pulumi.get(self, "minimal_tls_version") + + @minimal_tls_version.setter + def minimal_tls_version(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "minimal_tls_version", value) + @property @pulumi.getter(name="mongoServerVersion") def mongo_server_version(self) -> Optional[pulumi.Input[str]]: @@ -579,6 +595,7 @@ def __init__(__self__, *, kind: Optional[pulumi.Input[str]] = None, local_authentication_disabled: Optional[pulumi.Input[bool]] = None, location: Optional[pulumi.Input[str]] = None, + minimal_tls_version: Optional[pulumi.Input[str]] = None, mongo_server_version: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, network_acl_bypass_for_azure_services: Optional[pulumi.Input[bool]] = None, @@ -639,6 +656,7 @@ def __init__(__self__, *, :param pulumi.Input[str] kind: Specifies the Kind of CosmosDB to create - possible values are `GlobalDocumentDB`, `MongoDB` and `Parse`. Defaults to `GlobalDocumentDB`. Changing this forces a new resource to be created. :param pulumi.Input[bool] local_authentication_disabled: Disable local authentication and ensure only MSI and AAD can be used exclusively for authentication. Defaults to `false`. Can be set only when using the SQL API. :param pulumi.Input[str] location: Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created. + :param pulumi.Input[str] minimal_tls_version: Specifies the minimal TLS version for the CosmosDB account. Possible values are: `Tls`, `Tls11`, and `Tls12`. Defaults to `Tls12`. :param pulumi.Input[str] mongo_server_version: The Server Version of a MongoDB account. Possible values are `4.2`, `4.0`, `3.6`, and `3.2`. :param pulumi.Input[str] name: Specifies the name of the CosmosDB Account. Changing this forces a new resource to be created. :param pulumi.Input[bool] network_acl_bypass_for_azure_services: If Azure services can bypass ACLs. Defaults to `false`. @@ -713,6 +731,8 @@ def __init__(__self__, *, pulumi.set(__self__, "local_authentication_disabled", local_authentication_disabled) if location is not None: pulumi.set(__self__, "location", location) + if minimal_tls_version is not None: + pulumi.set(__self__, "minimal_tls_version", minimal_tls_version) if mongo_server_version is not None: pulumi.set(__self__, "mongo_server_version", mongo_server_version) if name is not None: @@ -1050,6 +1070,18 @@ def location(self) -> Optional[pulumi.Input[str]]: def location(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "location", value) + @property + @pulumi.getter(name="minimalTlsVersion") + def minimal_tls_version(self) -> Optional[pulumi.Input[str]]: + """ + Specifies the minimal TLS version for the CosmosDB account. Possible values are: `Tls`, `Tls11`, and `Tls12`. Defaults to `Tls12`. + """ + return pulumi.get(self, "minimal_tls_version") + + @minimal_tls_version.setter + def minimal_tls_version(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "minimal_tls_version", value) + @property @pulumi.getter(name="mongoServerVersion") def mongo_server_version(self) -> Optional[pulumi.Input[str]]: @@ -1379,6 +1411,7 @@ def __init__(__self__, kind: Optional[pulumi.Input[str]] = None, local_authentication_disabled: Optional[pulumi.Input[bool]] = None, location: Optional[pulumi.Input[str]] = None, + minimal_tls_version: Optional[pulumi.Input[str]] = None, mongo_server_version: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, network_acl_bypass_for_azure_services: Optional[pulumi.Input[bool]] = None, @@ -1523,6 +1556,7 @@ def __init__(__self__, :param pulumi.Input[str] kind: Specifies the Kind of CosmosDB to create - possible values are `GlobalDocumentDB`, `MongoDB` and `Parse`. Defaults to `GlobalDocumentDB`. Changing this forces a new resource to be created. :param pulumi.Input[bool] local_authentication_disabled: Disable local authentication and ensure only MSI and AAD can be used exclusively for authentication. Defaults to `false`. Can be set only when using the SQL API. :param pulumi.Input[str] location: Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created. + :param pulumi.Input[str] minimal_tls_version: Specifies the minimal TLS version for the CosmosDB account. Possible values are: `Tls`, `Tls11`, and `Tls12`. Defaults to `Tls12`. :param pulumi.Input[str] mongo_server_version: The Server Version of a MongoDB account. Possible values are `4.2`, `4.0`, `3.6`, and `3.2`. :param pulumi.Input[str] name: Specifies the name of the CosmosDB Account. Changing this forces a new resource to be created. :param pulumi.Input[bool] network_acl_bypass_for_azure_services: If Azure services can bypass ACLs. Defaults to `false`. @@ -1678,6 +1712,7 @@ def _internal_init(__self__, kind: Optional[pulumi.Input[str]] = None, local_authentication_disabled: Optional[pulumi.Input[bool]] = None, location: Optional[pulumi.Input[str]] = None, + minimal_tls_version: Optional[pulumi.Input[str]] = None, mongo_server_version: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, network_acl_bypass_for_azure_services: Optional[pulumi.Input[bool]] = None, @@ -1723,6 +1758,7 @@ def _internal_init(__self__, __props__.__dict__["kind"] = kind __props__.__dict__["local_authentication_disabled"] = local_authentication_disabled __props__.__dict__["location"] = location + __props__.__dict__["minimal_tls_version"] = minimal_tls_version __props__.__dict__["mongo_server_version"] = mongo_server_version __props__.__dict__["name"] = name __props__.__dict__["network_acl_bypass_for_azure_services"] = network_acl_bypass_for_azure_services @@ -1789,6 +1825,7 @@ def get(resource_name: str, kind: Optional[pulumi.Input[str]] = None, local_authentication_disabled: Optional[pulumi.Input[bool]] = None, location: Optional[pulumi.Input[str]] = None, + minimal_tls_version: Optional[pulumi.Input[str]] = None, mongo_server_version: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, network_acl_bypass_for_azure_services: Optional[pulumi.Input[bool]] = None, @@ -1854,6 +1891,7 @@ def get(resource_name: str, :param pulumi.Input[str] kind: Specifies the Kind of CosmosDB to create - possible values are `GlobalDocumentDB`, `MongoDB` and `Parse`. Defaults to `GlobalDocumentDB`. Changing this forces a new resource to be created. :param pulumi.Input[bool] local_authentication_disabled: Disable local authentication and ensure only MSI and AAD can be used exclusively for authentication. Defaults to `false`. Can be set only when using the SQL API. :param pulumi.Input[str] location: Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created. + :param pulumi.Input[str] minimal_tls_version: Specifies the minimal TLS version for the CosmosDB account. Possible values are: `Tls`, `Tls11`, and `Tls12`. Defaults to `Tls12`. :param pulumi.Input[str] mongo_server_version: The Server Version of a MongoDB account. Possible values are `4.2`, `4.0`, `3.6`, and `3.2`. :param pulumi.Input[str] name: Specifies the name of the CosmosDB Account. Changing this forces a new resource to be created. :param pulumi.Input[bool] network_acl_bypass_for_azure_services: If Azure services can bypass ACLs. Defaults to `false`. @@ -1909,6 +1947,7 @@ def get(resource_name: str, __props__.__dict__["kind"] = kind __props__.__dict__["local_authentication_disabled"] = local_authentication_disabled __props__.__dict__["location"] = location + __props__.__dict__["minimal_tls_version"] = minimal_tls_version __props__.__dict__["mongo_server_version"] = mongo_server_version __props__.__dict__["name"] = name __props__.__dict__["network_acl_bypass_for_azure_services"] = network_acl_bypass_for_azure_services @@ -2130,6 +2169,14 @@ def location(self) -> pulumi.Output[str]: """ return pulumi.get(self, "location") + @property + @pulumi.getter(name="minimalTlsVersion") + def minimal_tls_version(self) -> pulumi.Output[str]: + """ + Specifies the minimal TLS version for the CosmosDB account. Possible values are: `Tls`, `Tls11`, and `Tls12`. Defaults to `Tls12`. + """ + return pulumi.get(self, "minimal_tls_version") + @property @pulumi.getter(name="mongoServerVersion") def mongo_server_version(self) -> pulumi.Output[str]: diff --git a/sdk/python/pulumi_azure/cosmosdb/outputs.py b/sdk/python/pulumi_azure/cosmosdb/outputs.py index b8bf7c1cb3..0ee369fa2d 100644 --- a/sdk/python/pulumi_azure/cosmosdb/outputs.py +++ b/sdk/python/pulumi_azure/cosmosdb/outputs.py @@ -129,7 +129,8 @@ def __init__(__self__, *, type: str, interval_in_minutes: Optional[int] = None, retention_in_hours: Optional[int] = None, - storage_redundancy: Optional[str] = None): + storage_redundancy: Optional[str] = None, + tier: Optional[str] = None): """ :param str type: The type of the `backup`. Possible values are `Continuous` and `Periodic`. @@ -139,6 +140,7 @@ def __init__(__self__, *, :param str storage_redundancy: The storage redundancy is used to indicate the type of backup residency. Possible values are `Geo`, `Local` and `Zone`. Defaults to `Geo`. > **Note:** You can only configure `interval_in_minutes`, `retention_in_hours` and `storage_redundancy` when the `type` field is set to `Periodic`. + :param str tier: The continuous backup tier. Possible values are `Continuous7Days` and `Continuous30Days`. """ pulumi.set(__self__, "type", type) if interval_in_minutes is not None: @@ -147,6 +149,8 @@ def __init__(__self__, *, pulumi.set(__self__, "retention_in_hours", retention_in_hours) if storage_redundancy is not None: pulumi.set(__self__, "storage_redundancy", storage_redundancy) + if tier is not None: + pulumi.set(__self__, "tier", tier) @property @pulumi.getter @@ -184,6 +188,14 @@ def storage_redundancy(self) -> Optional[str]: """ return pulumi.get(self, "storage_redundancy") + @property + @pulumi.getter + def tier(self) -> Optional[str]: + """ + The continuous backup tier. Possible values are `Continuous7Days` and `Continuous30Days`. + """ + return pulumi.get(self, "tier") + @pulumi.output_type class AccountCapability(dict): diff --git a/sdk/python/pulumi_azure/dataprotection/backup_vault.py b/sdk/python/pulumi_azure/dataprotection/backup_vault.py index 0b3608f910..a30ea56df3 100644 --- a/sdk/python/pulumi_azure/dataprotection/backup_vault.py +++ b/sdk/python/pulumi_azure/dataprotection/backup_vault.py @@ -22,6 +22,8 @@ def __init__(__self__, *, identity: Optional[pulumi.Input['BackupVaultIdentityArgs']] = None, location: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, + retention_duration_in_days: Optional[pulumi.Input[float]] = None, + soft_delete: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): """ The set of arguments for constructing a BackupVault resource. @@ -33,6 +35,12 @@ def __init__(__self__, *, :param pulumi.Input['BackupVaultIdentityArgs'] identity: An `identity` block as defined below. :param pulumi.Input[str] location: The Azure Region where the Backup Vault should exist. Changing this forces a new Backup Vault to be created. :param pulumi.Input[str] name: Specifies the name of the Backup Vault. Changing this forces a new Backup Vault to be created. + :param pulumi.Input[float] retention_duration_in_days: The soft delete retention duration for this Backup Vault. Possible values are between `14` and `180`. Defaults to `14`. + + > **Note:** The `retention_duration_in_days` is the number of days for which deleted data is retained before being permanently deleted. Retention period till 14 days are free of cost, however, retention beyond 14 days may incur additional charges. The `retention_duration_in_days` is required when the `soft_delete` is set to `On`. + :param pulumi.Input[str] soft_delete: The state of soft delete for this Backup Vault. Possible values are `AlwaysOn`, `Off` and `On`. Defaults to `On`. + + > **Note:** Once the `soft_delete` is set to `AlwaysOn`, the setting cannot be changed. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A mapping of tags which should be assigned to the Backup Vault. """ pulumi.set(__self__, "datastore_type", datastore_type) @@ -44,6 +52,10 @@ def __init__(__self__, *, pulumi.set(__self__, "location", location) if name is not None: pulumi.set(__self__, "name", name) + if retention_duration_in_days is not None: + pulumi.set(__self__, "retention_duration_in_days", retention_duration_in_days) + if soft_delete is not None: + pulumi.set(__self__, "soft_delete", soft_delete) if tags is not None: pulumi.set(__self__, "tags", tags) @@ -121,6 +133,34 @@ def name(self) -> Optional[pulumi.Input[str]]: def name(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "name", value) + @property + @pulumi.getter(name="retentionDurationInDays") + def retention_duration_in_days(self) -> Optional[pulumi.Input[float]]: + """ + The soft delete retention duration for this Backup Vault. Possible values are between `14` and `180`. Defaults to `14`. + + > **Note:** The `retention_duration_in_days` is the number of days for which deleted data is retained before being permanently deleted. Retention period till 14 days are free of cost, however, retention beyond 14 days may incur additional charges. The `retention_duration_in_days` is required when the `soft_delete` is set to `On`. + """ + return pulumi.get(self, "retention_duration_in_days") + + @retention_duration_in_days.setter + def retention_duration_in_days(self, value: Optional[pulumi.Input[float]]): + pulumi.set(self, "retention_duration_in_days", value) + + @property + @pulumi.getter(name="softDelete") + def soft_delete(self) -> Optional[pulumi.Input[str]]: + """ + The state of soft delete for this Backup Vault. Possible values are `AlwaysOn`, `Off` and `On`. Defaults to `On`. + + > **Note:** Once the `soft_delete` is set to `AlwaysOn`, the setting cannot be changed. + """ + return pulumi.get(self, "soft_delete") + + @soft_delete.setter + def soft_delete(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "soft_delete", value) + @property @pulumi.getter def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: @@ -143,6 +183,8 @@ def __init__(__self__, *, name: Optional[pulumi.Input[str]] = None, redundancy: Optional[pulumi.Input[str]] = None, resource_group_name: Optional[pulumi.Input[str]] = None, + retention_duration_in_days: Optional[pulumi.Input[float]] = None, + soft_delete: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): """ Input properties used for looking up and filtering BackupVault resources. @@ -154,6 +196,12 @@ def __init__(__self__, *, :param pulumi.Input[str] name: Specifies the name of the Backup Vault. Changing this forces a new Backup Vault to be created. :param pulumi.Input[str] redundancy: Specifies the backup storage redundancy. Possible values are `GeoRedundant`, `LocallyRedundant` and `ZoneRedundant`. Changing this forces a new Backup Vault to be created. :param pulumi.Input[str] resource_group_name: The name of the Resource Group where the Backup Vault should exist. Changing this forces a new Backup Vault to be created. + :param pulumi.Input[float] retention_duration_in_days: The soft delete retention duration for this Backup Vault. Possible values are between `14` and `180`. Defaults to `14`. + + > **Note:** The `retention_duration_in_days` is the number of days for which deleted data is retained before being permanently deleted. Retention period till 14 days are free of cost, however, retention beyond 14 days may incur additional charges. The `retention_duration_in_days` is required when the `soft_delete` is set to `On`. + :param pulumi.Input[str] soft_delete: The state of soft delete for this Backup Vault. Possible values are `AlwaysOn`, `Off` and `On`. Defaults to `On`. + + > **Note:** Once the `soft_delete` is set to `AlwaysOn`, the setting cannot be changed. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A mapping of tags which should be assigned to the Backup Vault. """ if datastore_type is not None: @@ -168,6 +216,10 @@ def __init__(__self__, *, pulumi.set(__self__, "redundancy", redundancy) if resource_group_name is not None: pulumi.set(__self__, "resource_group_name", resource_group_name) + if retention_duration_in_days is not None: + pulumi.set(__self__, "retention_duration_in_days", retention_duration_in_days) + if soft_delete is not None: + pulumi.set(__self__, "soft_delete", soft_delete) if tags is not None: pulumi.set(__self__, "tags", tags) @@ -245,6 +297,34 @@ def resource_group_name(self) -> Optional[pulumi.Input[str]]: def resource_group_name(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "resource_group_name", value) + @property + @pulumi.getter(name="retentionDurationInDays") + def retention_duration_in_days(self) -> Optional[pulumi.Input[float]]: + """ + The soft delete retention duration for this Backup Vault. Possible values are between `14` and `180`. Defaults to `14`. + + > **Note:** The `retention_duration_in_days` is the number of days for which deleted data is retained before being permanently deleted. Retention period till 14 days are free of cost, however, retention beyond 14 days may incur additional charges. The `retention_duration_in_days` is required when the `soft_delete` is set to `On`. + """ + return pulumi.get(self, "retention_duration_in_days") + + @retention_duration_in_days.setter + def retention_duration_in_days(self, value: Optional[pulumi.Input[float]]): + pulumi.set(self, "retention_duration_in_days", value) + + @property + @pulumi.getter(name="softDelete") + def soft_delete(self) -> Optional[pulumi.Input[str]]: + """ + The state of soft delete for this Backup Vault. Possible values are `AlwaysOn`, `Off` and `On`. Defaults to `On`. + + > **Note:** Once the `soft_delete` is set to `AlwaysOn`, the setting cannot be changed. + """ + return pulumi.get(self, "soft_delete") + + @soft_delete.setter + def soft_delete(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "soft_delete", value) + @property @pulumi.getter def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: @@ -269,6 +349,8 @@ def __init__(__self__, name: Optional[pulumi.Input[str]] = None, redundancy: Optional[pulumi.Input[str]] = None, resource_group_name: Optional[pulumi.Input[str]] = None, + retention_duration_in_days: Optional[pulumi.Input[float]] = None, + soft_delete: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, __props__=None): """ @@ -309,6 +391,12 @@ def __init__(__self__, :param pulumi.Input[str] name: Specifies the name of the Backup Vault. Changing this forces a new Backup Vault to be created. :param pulumi.Input[str] redundancy: Specifies the backup storage redundancy. Possible values are `GeoRedundant`, `LocallyRedundant` and `ZoneRedundant`. Changing this forces a new Backup Vault to be created. :param pulumi.Input[str] resource_group_name: The name of the Resource Group where the Backup Vault should exist. Changing this forces a new Backup Vault to be created. + :param pulumi.Input[float] retention_duration_in_days: The soft delete retention duration for this Backup Vault. Possible values are between `14` and `180`. Defaults to `14`. + + > **Note:** The `retention_duration_in_days` is the number of days for which deleted data is retained before being permanently deleted. Retention period till 14 days are free of cost, however, retention beyond 14 days may incur additional charges. The `retention_duration_in_days` is required when the `soft_delete` is set to `On`. + :param pulumi.Input[str] soft_delete: The state of soft delete for this Backup Vault. Possible values are `AlwaysOn`, `Off` and `On`. Defaults to `On`. + + > **Note:** Once the `soft_delete` is set to `AlwaysOn`, the setting cannot be changed. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A mapping of tags which should be assigned to the Backup Vault. """ ... @@ -366,6 +454,8 @@ def _internal_init(__self__, name: Optional[pulumi.Input[str]] = None, redundancy: Optional[pulumi.Input[str]] = None, resource_group_name: Optional[pulumi.Input[str]] = None, + retention_duration_in_days: Optional[pulumi.Input[float]] = None, + soft_delete: 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) @@ -388,6 +478,8 @@ def _internal_init(__self__, 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__["retention_duration_in_days"] = retention_duration_in_days + __props__.__dict__["soft_delete"] = soft_delete __props__.__dict__["tags"] = tags super(BackupVault, __self__).__init__( 'azure:dataprotection/backupVault:BackupVault', @@ -405,6 +497,8 @@ def get(resource_name: str, name: Optional[pulumi.Input[str]] = None, redundancy: Optional[pulumi.Input[str]] = None, resource_group_name: Optional[pulumi.Input[str]] = None, + retention_duration_in_days: Optional[pulumi.Input[float]] = None, + soft_delete: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None) -> 'BackupVault': """ Get an existing BackupVault resource's state with the given name, id, and optional extra @@ -421,6 +515,12 @@ def get(resource_name: str, :param pulumi.Input[str] name: Specifies the name of the Backup Vault. Changing this forces a new Backup Vault to be created. :param pulumi.Input[str] redundancy: Specifies the backup storage redundancy. Possible values are `GeoRedundant`, `LocallyRedundant` and `ZoneRedundant`. Changing this forces a new Backup Vault to be created. :param pulumi.Input[str] resource_group_name: The name of the Resource Group where the Backup Vault should exist. Changing this forces a new Backup Vault to be created. + :param pulumi.Input[float] retention_duration_in_days: The soft delete retention duration for this Backup Vault. Possible values are between `14` and `180`. Defaults to `14`. + + > **Note:** The `retention_duration_in_days` is the number of days for which deleted data is retained before being permanently deleted. Retention period till 14 days are free of cost, however, retention beyond 14 days may incur additional charges. The `retention_duration_in_days` is required when the `soft_delete` is set to `On`. + :param pulumi.Input[str] soft_delete: The state of soft delete for this Backup Vault. Possible values are `AlwaysOn`, `Off` and `On`. Defaults to `On`. + + > **Note:** Once the `soft_delete` is set to `AlwaysOn`, the setting cannot be changed. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A mapping of tags which should be assigned to the Backup Vault. """ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) @@ -433,6 +533,8 @@ def get(resource_name: str, __props__.__dict__["name"] = name __props__.__dict__["redundancy"] = redundancy __props__.__dict__["resource_group_name"] = resource_group_name + __props__.__dict__["retention_duration_in_days"] = retention_duration_in_days + __props__.__dict__["soft_delete"] = soft_delete __props__.__dict__["tags"] = tags return BackupVault(resource_name, opts=opts, __props__=__props__) @@ -486,6 +588,26 @@ def resource_group_name(self) -> pulumi.Output[str]: """ return pulumi.get(self, "resource_group_name") + @property + @pulumi.getter(name="retentionDurationInDays") + def retention_duration_in_days(self) -> pulumi.Output[Optional[float]]: + """ + The soft delete retention duration for this Backup Vault. Possible values are between `14` and `180`. Defaults to `14`. + + > **Note:** The `retention_duration_in_days` is the number of days for which deleted data is retained before being permanently deleted. Retention period till 14 days are free of cost, however, retention beyond 14 days may incur additional charges. The `retention_duration_in_days` is required when the `soft_delete` is set to `On`. + """ + return pulumi.get(self, "retention_duration_in_days") + + @property + @pulumi.getter(name="softDelete") + def soft_delete(self) -> pulumi.Output[Optional[str]]: + """ + The state of soft delete for this Backup Vault. Possible values are `AlwaysOn`, `Off` and `On`. Defaults to `On`. + + > **Note:** Once the `soft_delete` is set to `AlwaysOn`, the setting cannot be changed. + """ + return pulumi.get(self, "soft_delete") + @property @pulumi.getter def tags(self) -> pulumi.Output[Optional[Mapping[str, str]]]: diff --git a/sdk/python/pulumi_azure/devcenter/__init__.py b/sdk/python/pulumi_azure/devcenter/__init__.py index 0e615fe6c2..95d3060b96 100644 --- a/sdk/python/pulumi_azure/devcenter/__init__.py +++ b/sdk/python/pulumi_azure/devcenter/__init__.py @@ -5,6 +5,7 @@ from .. import _utilities import typing # Export this package's modules as members: +from .catalog import * from .dev_center import * from .gallery import * from .project import * diff --git a/sdk/python/pulumi_azure/devcenter/_inputs.py b/sdk/python/pulumi_azure/devcenter/_inputs.py index 7deca0a838..c989bb649d 100644 --- a/sdk/python/pulumi_azure/devcenter/_inputs.py +++ b/sdk/python/pulumi_azure/devcenter/_inputs.py @@ -10,9 +10,109 @@ from .. import _utilities __all__ = [ + 'CatalogCatalogAdogitArgs', + 'CatalogCatalogGithubArgs', 'DevCenterIdentityArgs', ] +@pulumi.input_type +class CatalogCatalogAdogitArgs: + def __init__(__self__, *, + branch: pulumi.Input[str], + key_vault_key_url: pulumi.Input[str], + path: pulumi.Input[str], + uri: pulumi.Input[str]): + pulumi.set(__self__, "branch", branch) + pulumi.set(__self__, "key_vault_key_url", key_vault_key_url) + pulumi.set(__self__, "path", path) + pulumi.set(__self__, "uri", uri) + + @property + @pulumi.getter + def branch(self) -> pulumi.Input[str]: + return pulumi.get(self, "branch") + + @branch.setter + def branch(self, value: pulumi.Input[str]): + pulumi.set(self, "branch", value) + + @property + @pulumi.getter(name="keyVaultKeyUrl") + def key_vault_key_url(self) -> pulumi.Input[str]: + return pulumi.get(self, "key_vault_key_url") + + @key_vault_key_url.setter + def key_vault_key_url(self, value: pulumi.Input[str]): + pulumi.set(self, "key_vault_key_url", value) + + @property + @pulumi.getter + def path(self) -> pulumi.Input[str]: + return pulumi.get(self, "path") + + @path.setter + def path(self, value: pulumi.Input[str]): + pulumi.set(self, "path", value) + + @property + @pulumi.getter + def uri(self) -> pulumi.Input[str]: + return pulumi.get(self, "uri") + + @uri.setter + def uri(self, value: pulumi.Input[str]): + pulumi.set(self, "uri", value) + + +@pulumi.input_type +class CatalogCatalogGithubArgs: + def __init__(__self__, *, + branch: pulumi.Input[str], + key_vault_key_url: pulumi.Input[str], + path: pulumi.Input[str], + uri: pulumi.Input[str]): + pulumi.set(__self__, "branch", branch) + pulumi.set(__self__, "key_vault_key_url", key_vault_key_url) + pulumi.set(__self__, "path", path) + pulumi.set(__self__, "uri", uri) + + @property + @pulumi.getter + def branch(self) -> pulumi.Input[str]: + return pulumi.get(self, "branch") + + @branch.setter + def branch(self, value: pulumi.Input[str]): + pulumi.set(self, "branch", value) + + @property + @pulumi.getter(name="keyVaultKeyUrl") + def key_vault_key_url(self) -> pulumi.Input[str]: + return pulumi.get(self, "key_vault_key_url") + + @key_vault_key_url.setter + def key_vault_key_url(self, value: pulumi.Input[str]): + pulumi.set(self, "key_vault_key_url", value) + + @property + @pulumi.getter + def path(self) -> pulumi.Input[str]: + return pulumi.get(self, "path") + + @path.setter + def path(self, value: pulumi.Input[str]): + pulumi.set(self, "path", value) + + @property + @pulumi.getter + def uri(self) -> pulumi.Input[str]: + return pulumi.get(self, "uri") + + @uri.setter + def uri(self, value: pulumi.Input[str]): + pulumi.set(self, "uri", value) + + @pulumi.input_type class DevCenterIdentityArgs: def __init__(__self__, *, diff --git a/sdk/python/pulumi_azure/devcenter/catalog.py b/sdk/python/pulumi_azure/devcenter/catalog.py new file mode 100644 index 0000000000..adcb789afb --- /dev/null +++ b/sdk/python/pulumi_azure/devcenter/catalog.py @@ -0,0 +1,270 @@ +# 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 pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from .. import _utilities +from . import outputs +from ._inputs import * + +__all__ = ['CatalogArgs', 'Catalog'] + +@pulumi.input_type +class CatalogArgs: + def __init__(__self__, *, + dev_center_id: pulumi.Input[str], + resource_group_name: pulumi.Input[str], + catalog_adogit: Optional[pulumi.Input['CatalogCatalogAdogitArgs']] = None, + catalog_github: Optional[pulumi.Input['CatalogCatalogGithubArgs']] = None, + name: Optional[pulumi.Input[str]] = None): + """ + The set of arguments for constructing a Catalog resource. + """ + pulumi.set(__self__, "dev_center_id", dev_center_id) + pulumi.set(__self__, "resource_group_name", resource_group_name) + if catalog_adogit is not None: + pulumi.set(__self__, "catalog_adogit", catalog_adogit) + if catalog_github is not None: + pulumi.set(__self__, "catalog_github", catalog_github) + if name is not None: + pulumi.set(__self__, "name", name) + + @property + @pulumi.getter(name="devCenterId") + def dev_center_id(self) -> pulumi.Input[str]: + return pulumi.get(self, "dev_center_id") + + @dev_center_id.setter + def dev_center_id(self, value: pulumi.Input[str]): + pulumi.set(self, "dev_center_id", value) + + @property + @pulumi.getter(name="resourceGroupName") + def resource_group_name(self) -> pulumi.Input[str]: + return pulumi.get(self, "resource_group_name") + + @resource_group_name.setter + def resource_group_name(self, value: pulumi.Input[str]): + pulumi.set(self, "resource_group_name", value) + + @property + @pulumi.getter(name="catalogAdogit") + def catalog_adogit(self) -> Optional[pulumi.Input['CatalogCatalogAdogitArgs']]: + return pulumi.get(self, "catalog_adogit") + + @catalog_adogit.setter + def catalog_adogit(self, value: Optional[pulumi.Input['CatalogCatalogAdogitArgs']]): + pulumi.set(self, "catalog_adogit", value) + + @property + @pulumi.getter(name="catalogGithub") + def catalog_github(self) -> Optional[pulumi.Input['CatalogCatalogGithubArgs']]: + return pulumi.get(self, "catalog_github") + + @catalog_github.setter + def catalog_github(self, value: Optional[pulumi.Input['CatalogCatalogGithubArgs']]): + pulumi.set(self, "catalog_github", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + +@pulumi.input_type +class _CatalogState: + def __init__(__self__, *, + catalog_adogit: Optional[pulumi.Input['CatalogCatalogAdogitArgs']] = None, + catalog_github: Optional[pulumi.Input['CatalogCatalogGithubArgs']] = None, + dev_center_id: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None): + """ + Input properties used for looking up and filtering Catalog resources. + """ + if catalog_adogit is not None: + pulumi.set(__self__, "catalog_adogit", catalog_adogit) + if catalog_github is not None: + pulumi.set(__self__, "catalog_github", catalog_github) + if dev_center_id is not None: + pulumi.set(__self__, "dev_center_id", dev_center_id) + if name is not None: + pulumi.set(__self__, "name", name) + if resource_group_name is not None: + pulumi.set(__self__, "resource_group_name", resource_group_name) + + @property + @pulumi.getter(name="catalogAdogit") + def catalog_adogit(self) -> Optional[pulumi.Input['CatalogCatalogAdogitArgs']]: + return pulumi.get(self, "catalog_adogit") + + @catalog_adogit.setter + def catalog_adogit(self, value: Optional[pulumi.Input['CatalogCatalogAdogitArgs']]): + pulumi.set(self, "catalog_adogit", value) + + @property + @pulumi.getter(name="catalogGithub") + def catalog_github(self) -> Optional[pulumi.Input['CatalogCatalogGithubArgs']]: + return pulumi.get(self, "catalog_github") + + @catalog_github.setter + def catalog_github(self, value: Optional[pulumi.Input['CatalogCatalogGithubArgs']]): + pulumi.set(self, "catalog_github", value) + + @property + @pulumi.getter(name="devCenterId") + def dev_center_id(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "dev_center_id") + + @dev_center_id.setter + def dev_center_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "dev_center_id", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter(name="resourceGroupName") + def resource_group_name(self) -> Optional[pulumi.Input[str]]: + 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) + + +class Catalog(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + catalog_adogit: Optional[pulumi.Input[pulumi.InputType['CatalogCatalogAdogitArgs']]] = None, + catalog_github: Optional[pulumi.Input[pulumi.InputType['CatalogCatalogGithubArgs']]] = None, + dev_center_id: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + Create a Catalog resource with the given unique name, props, and options. + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: CatalogArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Create a Catalog resource with the given unique name, props, and options. + :param str resource_name: The name of the resource. + :param CatalogArgs 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(CatalogArgs, 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, + catalog_adogit: Optional[pulumi.Input[pulumi.InputType['CatalogCatalogAdogitArgs']]] = None, + catalog_github: Optional[pulumi.Input[pulumi.InputType['CatalogCatalogGithubArgs']]] = None, + dev_center_id: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + resource_group_name: 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__ = CatalogArgs.__new__(CatalogArgs) + + __props__.__dict__["catalog_adogit"] = catalog_adogit + __props__.__dict__["catalog_github"] = catalog_github + if dev_center_id is None and not opts.urn: + raise TypeError("Missing required property 'dev_center_id'") + __props__.__dict__["dev_center_id"] = dev_center_id + __props__.__dict__["name"] = name + 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 + super(Catalog, __self__).__init__( + 'azure:devcenter/catalog:Catalog', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + catalog_adogit: Optional[pulumi.Input[pulumi.InputType['CatalogCatalogAdogitArgs']]] = None, + catalog_github: Optional[pulumi.Input[pulumi.InputType['CatalogCatalogGithubArgs']]] = None, + dev_center_id: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None) -> 'Catalog': + """ + Get an existing Catalog resource's state with the given name, id, and optional extra + properties used to qualify the lookup. + + :param str resource_name: The unique name of the resulting resource. + :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _CatalogState.__new__(_CatalogState) + + __props__.__dict__["catalog_adogit"] = catalog_adogit + __props__.__dict__["catalog_github"] = catalog_github + __props__.__dict__["dev_center_id"] = dev_center_id + __props__.__dict__["name"] = name + __props__.__dict__["resource_group_name"] = resource_group_name + return Catalog(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="catalogAdogit") + def catalog_adogit(self) -> pulumi.Output[Optional['outputs.CatalogCatalogAdogit']]: + return pulumi.get(self, "catalog_adogit") + + @property + @pulumi.getter(name="catalogGithub") + def catalog_github(self) -> pulumi.Output[Optional['outputs.CatalogCatalogGithub']]: + return pulumi.get(self, "catalog_github") + + @property + @pulumi.getter(name="devCenterId") + def dev_center_id(self) -> pulumi.Output[str]: + return pulumi.get(self, "dev_center_id") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="resourceGroupName") + def resource_group_name(self) -> pulumi.Output[str]: + return pulumi.get(self, "resource_group_name") + diff --git a/sdk/python/pulumi_azure/devcenter/outputs.py b/sdk/python/pulumi_azure/devcenter/outputs.py index e21c284f37..cc02173be5 100644 --- a/sdk/python/pulumi_azure/devcenter/outputs.py +++ b/sdk/python/pulumi_azure/devcenter/outputs.py @@ -10,9 +10,111 @@ from .. import _utilities __all__ = [ + 'CatalogCatalogAdogit', + 'CatalogCatalogGithub', 'DevCenterIdentity', ] +@pulumi.output_type +class CatalogCatalogAdogit(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "keyVaultKeyUrl": + suggest = "key_vault_key_url" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in CatalogCatalogAdogit. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + CatalogCatalogAdogit.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + CatalogCatalogAdogit.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + branch: str, + key_vault_key_url: str, + path: str, + uri: str): + pulumi.set(__self__, "branch", branch) + pulumi.set(__self__, "key_vault_key_url", key_vault_key_url) + pulumi.set(__self__, "path", path) + pulumi.set(__self__, "uri", uri) + + @property + @pulumi.getter + def branch(self) -> str: + return pulumi.get(self, "branch") + + @property + @pulumi.getter(name="keyVaultKeyUrl") + def key_vault_key_url(self) -> str: + return pulumi.get(self, "key_vault_key_url") + + @property + @pulumi.getter + def path(self) -> str: + return pulumi.get(self, "path") + + @property + @pulumi.getter + def uri(self) -> str: + return pulumi.get(self, "uri") + + +@pulumi.output_type +class CatalogCatalogGithub(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "keyVaultKeyUrl": + suggest = "key_vault_key_url" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in CatalogCatalogGithub. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + CatalogCatalogGithub.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + CatalogCatalogGithub.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + branch: str, + key_vault_key_url: str, + path: str, + uri: str): + pulumi.set(__self__, "branch", branch) + pulumi.set(__self__, "key_vault_key_url", key_vault_key_url) + pulumi.set(__self__, "path", path) + pulumi.set(__self__, "uri", uri) + + @property + @pulumi.getter + def branch(self) -> str: + return pulumi.get(self, "branch") + + @property + @pulumi.getter(name="keyVaultKeyUrl") + def key_vault_key_url(self) -> str: + return pulumi.get(self, "key_vault_key_url") + + @property + @pulumi.getter + def path(self) -> str: + return pulumi.get(self, "path") + + @property + @pulumi.getter + def uri(self) -> str: + return pulumi.get(self, "uri") + + @pulumi.output_type class DevCenterIdentity(dict): @staticmethod diff --git a/sdk/python/pulumi_azure/eventhub/get_service_bus_namespace.py b/sdk/python/pulumi_azure/eventhub/get_service_bus_namespace.py index 0294f63cdb..f1a123d2bb 100644 --- a/sdk/python/pulumi_azure/eventhub/get_service_bus_namespace.py +++ b/sdk/python/pulumi_azure/eventhub/get_service_bus_namespace.py @@ -23,7 +23,7 @@ class GetServiceBusNamespaceResult: """ A collection of values returned by getServiceBusNamespace. """ - def __init__(__self__, capacity=None, default_primary_connection_string=None, default_primary_key=None, default_secondary_connection_string=None, default_secondary_key=None, endpoint=None, id=None, location=None, name=None, resource_group_name=None, sku=None, tags=None, zone_redundant=None): + def __init__(__self__, capacity=None, default_primary_connection_string=None, default_primary_key=None, default_secondary_connection_string=None, default_secondary_key=None, endpoint=None, id=None, location=None, name=None, premium_messaging_partitions=None, resource_group_name=None, sku=None, tags=None, zone_redundant=None): if capacity and not isinstance(capacity, int): raise TypeError("Expected argument 'capacity' to be a int") pulumi.set(__self__, "capacity", capacity) @@ -51,6 +51,9 @@ def __init__(__self__, capacity=None, default_primary_connection_string=None, de if name and not isinstance(name, str): raise TypeError("Expected argument 'name' to be a str") pulumi.set(__self__, "name", name) + if premium_messaging_partitions and not isinstance(premium_messaging_partitions, int): + raise TypeError("Expected argument 'premium_messaging_partitions' to be a int") + pulumi.set(__self__, "premium_messaging_partitions", premium_messaging_partitions) 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) @@ -135,6 +138,14 @@ def location(self) -> str: def name(self) -> str: return pulumi.get(self, "name") + @property + @pulumi.getter(name="premiumMessagingPartitions") + def premium_messaging_partitions(self) -> int: + """ + The messaging partitions of the ServiceBus Namespace. + """ + return pulumi.get(self, "premium_messaging_partitions") + @property @pulumi.getter(name="resourceGroupName") def resource_group_name(self) -> str: @@ -180,6 +191,7 @@ def __await__(self): id=self.id, location=self.location, name=self.name, + premium_messaging_partitions=self.premium_messaging_partitions, resource_group_name=self.resource_group_name, sku=self.sku, tags=self.tags, @@ -224,6 +236,7 @@ def get_service_bus_namespace(name: Optional[str] = None, id=pulumi.get(__ret__, 'id'), location=pulumi.get(__ret__, 'location'), name=pulumi.get(__ret__, 'name'), + premium_messaging_partitions=pulumi.get(__ret__, 'premium_messaging_partitions'), resource_group_name=pulumi.get(__ret__, 'resource_group_name'), sku=pulumi.get(__ret__, 'sku'), tags=pulumi.get(__ret__, 'tags'), diff --git a/sdk/python/pulumi_azure/eventhub/namespace.py b/sdk/python/pulumi_azure/eventhub/namespace.py index 645ce13fc5..cd8fd6c8ce 100644 --- a/sdk/python/pulumi_azure/eventhub/namespace.py +++ b/sdk/python/pulumi_azure/eventhub/namespace.py @@ -26,6 +26,7 @@ def __init__(__self__, *, minimum_tls_version: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, network_rule_set: Optional[pulumi.Input['NamespaceNetworkRuleSetArgs']] = None, + premium_messaging_partitions: Optional[pulumi.Input[int]] = None, public_network_access_enabled: Optional[pulumi.Input[bool]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, zone_redundant: Optional[pulumi.Input[bool]] = None): @@ -42,6 +43,9 @@ def __init__(__self__, *, :param pulumi.Input[str] minimum_tls_version: The minimum supported TLS version for this Service Bus Namespace. Valid values are: `1.0`, `1.1` and `1.2`. The current default minimum TLS version is `1.2`. :param pulumi.Input[str] name: Specifies the name of the ServiceBus Namespace resource . Changing this forces a new resource to be created. :param pulumi.Input['NamespaceNetworkRuleSetArgs'] network_rule_set: An `network_rule_set` block as defined below. + :param pulumi.Input[int] premium_messaging_partitions: Specifies the number messaging partitions. Only valid when `sku` is `Premium` and the minimum number is `1`. Possible values include `0`, `1`, `2`, and `4`. Defaults to `0` for Standard, Basic namespace. Changing this forces a new resource to be created. + + > **Note:** It's not possible to change the partitioning option on any existing namespace. The number of partitions can only be set during namespace creation. Please check the doc https://learn.microsoft.com/en-us/azure/service-bus-messaging/enable-partitions-premium for more feature restrictions. :param pulumi.Input[bool] public_network_access_enabled: Is public network access enabled for the Service Bus Namespace? Defaults to `true`. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A mapping of tags to assign to the resource. :param pulumi.Input[bool] zone_redundant: Whether or not this resource is zone redundant. `sku` needs to be `Premium`. Changing this forces a new resource to be created. @@ -64,6 +68,8 @@ def __init__(__self__, *, pulumi.set(__self__, "name", name) if network_rule_set is not None: pulumi.set(__self__, "network_rule_set", network_rule_set) + if premium_messaging_partitions is not None: + pulumi.set(__self__, "premium_messaging_partitions", premium_messaging_partitions) if public_network_access_enabled is not None: pulumi.set(__self__, "public_network_access_enabled", public_network_access_enabled) if tags is not None: @@ -192,6 +198,20 @@ def network_rule_set(self) -> Optional[pulumi.Input['NamespaceNetworkRuleSetArgs def network_rule_set(self, value: Optional[pulumi.Input['NamespaceNetworkRuleSetArgs']]): pulumi.set(self, "network_rule_set", value) + @property + @pulumi.getter(name="premiumMessagingPartitions") + def premium_messaging_partitions(self) -> Optional[pulumi.Input[int]]: + """ + Specifies the number messaging partitions. Only valid when `sku` is `Premium` and the minimum number is `1`. Possible values include `0`, `1`, `2`, and `4`. Defaults to `0` for Standard, Basic namespace. Changing this forces a new resource to be created. + + > **Note:** It's not possible to change the partitioning option on any existing namespace. The number of partitions can only be set during namespace creation. Please check the doc https://learn.microsoft.com/en-us/azure/service-bus-messaging/enable-partitions-premium for more feature restrictions. + """ + return pulumi.get(self, "premium_messaging_partitions") + + @premium_messaging_partitions.setter + def premium_messaging_partitions(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "premium_messaging_partitions", value) + @property @pulumi.getter(name="publicNetworkAccessEnabled") def public_network_access_enabled(self) -> Optional[pulumi.Input[bool]]: @@ -245,6 +265,7 @@ def __init__(__self__, *, minimum_tls_version: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, network_rule_set: Optional[pulumi.Input['NamespaceNetworkRuleSetArgs']] = None, + premium_messaging_partitions: Optional[pulumi.Input[int]] = None, public_network_access_enabled: Optional[pulumi.Input[bool]] = None, resource_group_name: Optional[pulumi.Input[str]] = None, sku: Optional[pulumi.Input[str]] = None, @@ -265,6 +286,9 @@ def __init__(__self__, *, :param pulumi.Input[str] minimum_tls_version: The minimum supported TLS version for this Service Bus Namespace. Valid values are: `1.0`, `1.1` and `1.2`. The current default minimum TLS version is `1.2`. :param pulumi.Input[str] name: Specifies the name of the ServiceBus Namespace resource . Changing this forces a new resource to be created. :param pulumi.Input['NamespaceNetworkRuleSetArgs'] network_rule_set: An `network_rule_set` block as defined below. + :param pulumi.Input[int] premium_messaging_partitions: Specifies the number messaging partitions. Only valid when `sku` is `Premium` and the minimum number is `1`. Possible values include `0`, `1`, `2`, and `4`. Defaults to `0` for Standard, Basic namespace. Changing this forces a new resource to be created. + + > **Note:** It's not possible to change the partitioning option on any existing namespace. The number of partitions can only be set during namespace creation. Please check the doc https://learn.microsoft.com/en-us/azure/service-bus-messaging/enable-partitions-premium for more feature restrictions. :param pulumi.Input[bool] public_network_access_enabled: Is public network access enabled for the Service Bus Namespace? Defaults to `true`. :param pulumi.Input[str] resource_group_name: The name of the resource group in which to Changing this forces a new resource to be created. create the namespace. @@ -298,6 +322,8 @@ def __init__(__self__, *, pulumi.set(__self__, "name", name) if network_rule_set is not None: pulumi.set(__self__, "network_rule_set", network_rule_set) + if premium_messaging_partitions is not None: + pulumi.set(__self__, "premium_messaging_partitions", premium_messaging_partitions) 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: @@ -465,6 +491,20 @@ def network_rule_set(self) -> Optional[pulumi.Input['NamespaceNetworkRuleSetArgs def network_rule_set(self, value: Optional[pulumi.Input['NamespaceNetworkRuleSetArgs']]): pulumi.set(self, "network_rule_set", value) + @property + @pulumi.getter(name="premiumMessagingPartitions") + def premium_messaging_partitions(self) -> Optional[pulumi.Input[int]]: + """ + Specifies the number messaging partitions. Only valid when `sku` is `Premium` and the minimum number is `1`. Possible values include `0`, `1`, `2`, and `4`. Defaults to `0` for Standard, Basic namespace. Changing this forces a new resource to be created. + + > **Note:** It's not possible to change the partitioning option on any existing namespace. The number of partitions can only be set during namespace creation. Please check the doc https://learn.microsoft.com/en-us/azure/service-bus-messaging/enable-partitions-premium for more feature restrictions. + """ + return pulumi.get(self, "premium_messaging_partitions") + + @premium_messaging_partitions.setter + def premium_messaging_partitions(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "premium_messaging_partitions", value) + @property @pulumi.getter(name="publicNetworkAccessEnabled") def public_network_access_enabled(self) -> Optional[pulumi.Input[bool]]: @@ -545,6 +585,7 @@ def __init__(__self__, minimum_tls_version: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, network_rule_set: Optional[pulumi.Input[pulumi.InputType['NamespaceNetworkRuleSetArgs']]] = None, + premium_messaging_partitions: Optional[pulumi.Input[int]] = None, public_network_access_enabled: Optional[pulumi.Input[bool]] = None, resource_group_name: Optional[pulumi.Input[str]] = None, sku: Optional[pulumi.Input[str]] = None, @@ -591,6 +632,9 @@ def __init__(__self__, :param pulumi.Input[str] minimum_tls_version: The minimum supported TLS version for this Service Bus Namespace. Valid values are: `1.0`, `1.1` and `1.2`. The current default minimum TLS version is `1.2`. :param pulumi.Input[str] name: Specifies the name of the ServiceBus Namespace resource . Changing this forces a new resource to be created. :param pulumi.Input[pulumi.InputType['NamespaceNetworkRuleSetArgs']] network_rule_set: An `network_rule_set` block as defined below. + :param pulumi.Input[int] premium_messaging_partitions: Specifies the number messaging partitions. Only valid when `sku` is `Premium` and the minimum number is `1`. Possible values include `0`, `1`, `2`, and `4`. Defaults to `0` for Standard, Basic namespace. Changing this forces a new resource to be created. + + > **Note:** It's not possible to change the partitioning option on any existing namespace. The number of partitions can only be set during namespace creation. Please check the doc https://learn.microsoft.com/en-us/azure/service-bus-messaging/enable-partitions-premium for more feature restrictions. :param pulumi.Input[bool] public_network_access_enabled: Is public network access enabled for the Service Bus Namespace? Defaults to `true`. :param pulumi.Input[str] resource_group_name: The name of the resource group in which to Changing this forces a new resource to be created. create the namespace. @@ -657,6 +701,7 @@ def _internal_init(__self__, minimum_tls_version: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, network_rule_set: Optional[pulumi.Input[pulumi.InputType['NamespaceNetworkRuleSetArgs']]] = None, + premium_messaging_partitions: Optional[pulumi.Input[int]] = None, public_network_access_enabled: Optional[pulumi.Input[bool]] = None, resource_group_name: Optional[pulumi.Input[str]] = None, sku: Optional[pulumi.Input[str]] = None, @@ -680,6 +725,7 @@ def _internal_init(__self__, __props__.__dict__["minimum_tls_version"] = minimum_tls_version __props__.__dict__["name"] = name __props__.__dict__["network_rule_set"] = network_rule_set + __props__.__dict__["premium_messaging_partitions"] = premium_messaging_partitions __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'") @@ -719,6 +765,7 @@ def get(resource_name: str, minimum_tls_version: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, network_rule_set: Optional[pulumi.Input[pulumi.InputType['NamespaceNetworkRuleSetArgs']]] = None, + premium_messaging_partitions: Optional[pulumi.Input[int]] = None, public_network_access_enabled: Optional[pulumi.Input[bool]] = None, resource_group_name: Optional[pulumi.Input[str]] = None, sku: Optional[pulumi.Input[str]] = None, @@ -744,6 +791,9 @@ def get(resource_name: str, :param pulumi.Input[str] minimum_tls_version: The minimum supported TLS version for this Service Bus Namespace. Valid values are: `1.0`, `1.1` and `1.2`. The current default minimum TLS version is `1.2`. :param pulumi.Input[str] name: Specifies the name of the ServiceBus Namespace resource . Changing this forces a new resource to be created. :param pulumi.Input[pulumi.InputType['NamespaceNetworkRuleSetArgs']] network_rule_set: An `network_rule_set` block as defined below. + :param pulumi.Input[int] premium_messaging_partitions: Specifies the number messaging partitions. Only valid when `sku` is `Premium` and the minimum number is `1`. Possible values include `0`, `1`, `2`, and `4`. Defaults to `0` for Standard, Basic namespace. Changing this forces a new resource to be created. + + > **Note:** It's not possible to change the partitioning option on any existing namespace. The number of partitions can only be set during namespace creation. Please check the doc https://learn.microsoft.com/en-us/azure/service-bus-messaging/enable-partitions-premium for more feature restrictions. :param pulumi.Input[bool] public_network_access_enabled: Is public network access enabled for the Service Bus Namespace? Defaults to `true`. :param pulumi.Input[str] resource_group_name: The name of the resource group in which to Changing this forces a new resource to be created. create the namespace. @@ -768,6 +818,7 @@ def get(resource_name: str, __props__.__dict__["minimum_tls_version"] = minimum_tls_version __props__.__dict__["name"] = name __props__.__dict__["network_rule_set"] = network_rule_set + __props__.__dict__["premium_messaging_partitions"] = premium_messaging_partitions __props__.__dict__["public_network_access_enabled"] = public_network_access_enabled __props__.__dict__["resource_group_name"] = resource_group_name __props__.__dict__["sku"] = sku @@ -879,6 +930,16 @@ def network_rule_set(self) -> pulumi.Output['outputs.NamespaceNetworkRuleSet']: """ return pulumi.get(self, "network_rule_set") + @property + @pulumi.getter(name="premiumMessagingPartitions") + def premium_messaging_partitions(self) -> pulumi.Output[Optional[int]]: + """ + Specifies the number messaging partitions. Only valid when `sku` is `Premium` and the minimum number is `1`. Possible values include `0`, `1`, `2`, and `4`. Defaults to `0` for Standard, Basic namespace. Changing this forces a new resource to be created. + + > **Note:** It's not possible to change the partitioning option on any existing namespace. The number of partitions can only be set during namespace creation. Please check the doc https://learn.microsoft.com/en-us/azure/service-bus-messaging/enable-partitions-premium for more feature restrictions. + """ + return pulumi.get(self, "premium_messaging_partitions") + @property @pulumi.getter(name="publicNetworkAccessEnabled") def public_network_access_enabled(self) -> pulumi.Output[Optional[bool]]: diff --git a/sdk/python/pulumi_azure/eventhub/topic.py b/sdk/python/pulumi_azure/eventhub/topic.py index c5e2e6f273..2b16562948 100644 --- a/sdk/python/pulumi_azure/eventhub/topic.py +++ b/sdk/python/pulumi_azure/eventhub/topic.py @@ -41,9 +41,7 @@ def __init__(__self__, *, :param pulumi.Input[int] max_message_size_in_kilobytes: Integer value which controls the maximum size of a message allowed on the topic for Premium SKU. For supported values see the "Large messages support" section of [this document](https://docs.microsoft.com/azure/service-bus-messaging/service-bus-premium-messaging#large-messages-support-preview). :param pulumi.Input[int] max_size_in_megabytes: Integer value which controls the size of memory allocated for the topic. For supported values see the "Queue/topic size" section of [this document](https://docs.microsoft.com/azure/service-bus-messaging/service-bus-quotas). :param pulumi.Input[str] name: Specifies the name of the ServiceBus Topic resource. Changing this forces a new resource to be created. - :param pulumi.Input[bool] requires_duplicate_detection: Boolean flag which controls whether Changing this forces a new resource to be created. - the Topic requires duplicate detection. Defaults to false. Changing this forces - a new resource to be created. + :param pulumi.Input[bool] requires_duplicate_detection: Boolean flag which controls whether the Topic requires duplicate detection. Defaults to false. Changing this forcesa new resource to be created. :param pulumi.Input[str] status: The Status of the Service Bus Topic. Acceptable values are `Active` or `Disabled`. Defaults to `Active`. :param pulumi.Input[bool] support_ordering: Boolean flag which controls whether the Topic supports ordering. """ @@ -199,9 +197,7 @@ def name(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="requiresDuplicateDetection") def requires_duplicate_detection(self) -> Optional[pulumi.Input[bool]]: """ - Boolean flag which controls whether Changing this forces a new resource to be created. - the Topic requires duplicate detection. Defaults to false. Changing this forces - a new resource to be created. + Boolean flag which controls whether the Topic requires duplicate detection. Defaults to false. Changing this forcesa new resource to be created. """ return pulumi.get(self, "requires_duplicate_detection") @@ -266,9 +262,7 @@ def __init__(__self__, *, :param pulumi.Input[int] max_size_in_megabytes: Integer value which controls the size of memory allocated for the topic. For supported values see the "Queue/topic size" section of [this document](https://docs.microsoft.com/azure/service-bus-messaging/service-bus-quotas). :param pulumi.Input[str] name: Specifies the name of the ServiceBus Topic resource. Changing this forces a new resource to be created. :param pulumi.Input[str] namespace_id: The ID of the ServiceBus Namespace to create this topic in. Changing this forces a new resource to be created. - :param pulumi.Input[bool] requires_duplicate_detection: Boolean flag which controls whether Changing this forces a new resource to be created. - the Topic requires duplicate detection. Defaults to false. Changing this forces - a new resource to be created. + :param pulumi.Input[bool] requires_duplicate_detection: Boolean flag which controls whether the Topic requires duplicate detection. Defaults to false. Changing this forcesa new resource to be created. :param pulumi.Input[str] status: The Status of the Service Bus Topic. Acceptable values are `Active` or `Disabled`. Defaults to `Active`. :param pulumi.Input[bool] support_ordering: Boolean flag which controls whether the Topic supports ordering. """ @@ -438,9 +432,7 @@ def namespace_name(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="requiresDuplicateDetection") def requires_duplicate_detection(self) -> Optional[pulumi.Input[bool]]: """ - Boolean flag which controls whether Changing this forces a new resource to be created. - the Topic requires duplicate detection. Defaults to false. Changing this forces - a new resource to be created. + Boolean flag which controls whether the Topic requires duplicate detection. Defaults to false. Changing this forcesa new resource to be created. """ return pulumi.get(self, "requires_duplicate_detection") @@ -556,9 +548,7 @@ def __init__(__self__, :param pulumi.Input[int] max_size_in_megabytes: Integer value which controls the size of memory allocated for the topic. For supported values see the "Queue/topic size" section of [this document](https://docs.microsoft.com/azure/service-bus-messaging/service-bus-quotas). :param pulumi.Input[str] name: Specifies the name of the ServiceBus Topic resource. Changing this forces a new resource to be created. :param pulumi.Input[str] namespace_id: The ID of the ServiceBus Namespace to create this topic in. Changing this forces a new resource to be created. - :param pulumi.Input[bool] requires_duplicate_detection: Boolean flag which controls whether Changing this forces a new resource to be created. - the Topic requires duplicate detection. Defaults to false. Changing this forces - a new resource to be created. + :param pulumi.Input[bool] requires_duplicate_detection: Boolean flag which controls whether the Topic requires duplicate detection. Defaults to false. Changing this forcesa new resource to be created. :param pulumi.Input[str] status: The Status of the Service Bus Topic. Acceptable values are `Active` or `Disabled`. Defaults to `Active`. :param pulumi.Input[bool] support_ordering: Boolean flag which controls whether the Topic supports ordering. """ @@ -703,9 +693,7 @@ def get(resource_name: str, :param pulumi.Input[int] max_size_in_megabytes: Integer value which controls the size of memory allocated for the topic. For supported values see the "Queue/topic size" section of [this document](https://docs.microsoft.com/azure/service-bus-messaging/service-bus-quotas). :param pulumi.Input[str] name: Specifies the name of the ServiceBus Topic resource. Changing this forces a new resource to be created. :param pulumi.Input[str] namespace_id: The ID of the ServiceBus Namespace to create this topic in. Changing this forces a new resource to be created. - :param pulumi.Input[bool] requires_duplicate_detection: Boolean flag which controls whether Changing this forces a new resource to be created. - the Topic requires duplicate detection. Defaults to false. Changing this forces - a new resource to be created. + :param pulumi.Input[bool] requires_duplicate_detection: Boolean flag which controls whether the Topic requires duplicate detection. Defaults to false. Changing this forcesa new resource to be created. :param pulumi.Input[str] status: The Status of the Service Bus Topic. Acceptable values are `Active` or `Disabled`. Defaults to `Active`. :param pulumi.Input[bool] support_ordering: Boolean flag which controls whether the Topic supports ordering. """ @@ -821,9 +809,7 @@ def namespace_name(self) -> pulumi.Output[str]: @pulumi.getter(name="requiresDuplicateDetection") def requires_duplicate_detection(self) -> pulumi.Output[Optional[bool]]: """ - Boolean flag which controls whether Changing this forces a new resource to be created. - the Topic requires duplicate detection. Defaults to false. Changing this forces - a new resource to be created. + Boolean flag which controls whether the Topic requires duplicate detection. Defaults to false. Changing this forcesa new resource to be created. """ return pulumi.get(self, "requires_duplicate_detection") diff --git a/sdk/python/pulumi_azure/expressroute/__init__.py b/sdk/python/pulumi_azure/expressroute/__init__.py new file mode 100644 index 0000000000..4435e52647 --- /dev/null +++ b/sdk/python/pulumi_azure/expressroute/__init__.py @@ -0,0 +1,8 @@ +# 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! *** + +from .. import _utilities +import typing +# Export this package's modules as members: +from .get_circuit_peering import * diff --git a/sdk/python/pulumi_azure/expressroute/get_circuit_peering.py b/sdk/python/pulumi_azure/expressroute/get_circuit_peering.py new file mode 100644 index 0000000000..b1769223c3 --- /dev/null +++ b/sdk/python/pulumi_azure/expressroute/get_circuit_peering.py @@ -0,0 +1,251 @@ +# 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 pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from .. import _utilities + +__all__ = [ + 'GetCircuitPeeringResult', + 'AwaitableGetCircuitPeeringResult', + 'get_circuit_peering', + 'get_circuit_peering_output', +] + +@pulumi.output_type +class GetCircuitPeeringResult: + """ + A collection of values returned by getCircuitPeering. + """ + def __init__(__self__, azure_asn=None, express_route_circuit_name=None, gateway_manager_etag=None, id=None, ipv4_enabled=None, peer_asn=None, peering_type=None, primary_azure_port=None, primary_peer_address_prefix=None, resource_group_name=None, route_filter_id=None, secondary_azure_port=None, secondary_peer_address_prefix=None, shared_key=None, vlan_id=None): + if azure_asn and not isinstance(azure_asn, int): + raise TypeError("Expected argument 'azure_asn' to be a int") + pulumi.set(__self__, "azure_asn", azure_asn) + if express_route_circuit_name and not isinstance(express_route_circuit_name, str): + raise TypeError("Expected argument 'express_route_circuit_name' to be a str") + pulumi.set(__self__, "express_route_circuit_name", express_route_circuit_name) + if gateway_manager_etag and not isinstance(gateway_manager_etag, str): + raise TypeError("Expected argument 'gateway_manager_etag' to be a str") + pulumi.set(__self__, "gateway_manager_etag", gateway_manager_etag) + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if ipv4_enabled and not isinstance(ipv4_enabled, bool): + raise TypeError("Expected argument 'ipv4_enabled' to be a bool") + pulumi.set(__self__, "ipv4_enabled", ipv4_enabled) + if peer_asn and not isinstance(peer_asn, int): + raise TypeError("Expected argument 'peer_asn' to be a int") + pulumi.set(__self__, "peer_asn", peer_asn) + if peering_type and not isinstance(peering_type, str): + raise TypeError("Expected argument 'peering_type' to be a str") + pulumi.set(__self__, "peering_type", peering_type) + if primary_azure_port and not isinstance(primary_azure_port, str): + raise TypeError("Expected argument 'primary_azure_port' to be a str") + pulumi.set(__self__, "primary_azure_port", primary_azure_port) + if primary_peer_address_prefix and not isinstance(primary_peer_address_prefix, str): + raise TypeError("Expected argument 'primary_peer_address_prefix' to be a str") + pulumi.set(__self__, "primary_peer_address_prefix", primary_peer_address_prefix) + 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 route_filter_id and not isinstance(route_filter_id, str): + raise TypeError("Expected argument 'route_filter_id' to be a str") + pulumi.set(__self__, "route_filter_id", route_filter_id) + if secondary_azure_port and not isinstance(secondary_azure_port, str): + raise TypeError("Expected argument 'secondary_azure_port' to be a str") + pulumi.set(__self__, "secondary_azure_port", secondary_azure_port) + if secondary_peer_address_prefix and not isinstance(secondary_peer_address_prefix, str): + raise TypeError("Expected argument 'secondary_peer_address_prefix' to be a str") + pulumi.set(__self__, "secondary_peer_address_prefix", secondary_peer_address_prefix) + if shared_key and not isinstance(shared_key, str): + raise TypeError("Expected argument 'shared_key' to be a str") + pulumi.set(__self__, "shared_key", shared_key) + if vlan_id and not isinstance(vlan_id, int): + raise TypeError("Expected argument 'vlan_id' to be a int") + pulumi.set(__self__, "vlan_id", vlan_id) + + @property + @pulumi.getter(name="azureAsn") + def azure_asn(self) -> int: + """ + The ASN used by Azure for the peering. + """ + return pulumi.get(self, "azure_asn") + + @property + @pulumi.getter(name="expressRouteCircuitName") + def express_route_circuit_name(self) -> str: + return pulumi.get(self, "express_route_circuit_name") + + @property + @pulumi.getter(name="gatewayManagerEtag") + def gateway_manager_etag(self) -> str: + return pulumi.get(self, "gateway_manager_etag") + + @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="ipv4Enabled") + def ipv4_enabled(self) -> bool: + """ + Indicates if IPv4 is enabled. + """ + return pulumi.get(self, "ipv4_enabled") + + @property + @pulumi.getter(name="peerAsn") + def peer_asn(self) -> int: + return pulumi.get(self, "peer_asn") + + @property + @pulumi.getter(name="peeringType") + def peering_type(self) -> str: + """ + The type of the ExpressRoute Circuit Peering. + """ + return pulumi.get(self, "peering_type") + + @property + @pulumi.getter(name="primaryAzurePort") + def primary_azure_port(self) -> str: + """ + The primary port used by Azure for this peering. + """ + return pulumi.get(self, "primary_azure_port") + + @property + @pulumi.getter(name="primaryPeerAddressPrefix") + def primary_peer_address_prefix(self) -> str: + """ + The primary peer address prefix. + """ + return pulumi.get(self, "primary_peer_address_prefix") + + @property + @pulumi.getter(name="resourceGroupName") + def resource_group_name(self) -> str: + return pulumi.get(self, "resource_group_name") + + @property + @pulumi.getter(name="routeFilterId") + def route_filter_id(self) -> str: + return pulumi.get(self, "route_filter_id") + + @property + @pulumi.getter(name="secondaryAzurePort") + def secondary_azure_port(self) -> str: + """ + The secondary port used by Azure for this peering. + """ + return pulumi.get(self, "secondary_azure_port") + + @property + @pulumi.getter(name="secondaryPeerAddressPrefix") + def secondary_peer_address_prefix(self) -> str: + """ + The secondary peer address prefix. + """ + return pulumi.get(self, "secondary_peer_address_prefix") + + @property + @pulumi.getter(name="sharedKey") + def shared_key(self) -> str: + return pulumi.get(self, "shared_key") + + @property + @pulumi.getter(name="vlanId") + def vlan_id(self) -> int: + """ + The VLAN ID used for this peering. + """ + return pulumi.get(self, "vlan_id") + + +class AwaitableGetCircuitPeeringResult(GetCircuitPeeringResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetCircuitPeeringResult( + azure_asn=self.azure_asn, + express_route_circuit_name=self.express_route_circuit_name, + gateway_manager_etag=self.gateway_manager_etag, + id=self.id, + ipv4_enabled=self.ipv4_enabled, + peer_asn=self.peer_asn, + peering_type=self.peering_type, + primary_azure_port=self.primary_azure_port, + primary_peer_address_prefix=self.primary_peer_address_prefix, + resource_group_name=self.resource_group_name, + route_filter_id=self.route_filter_id, + secondary_azure_port=self.secondary_azure_port, + secondary_peer_address_prefix=self.secondary_peer_address_prefix, + shared_key=self.shared_key, + vlan_id=self.vlan_id) + + +def get_circuit_peering(express_route_circuit_name: Optional[str] = None, + peering_type: Optional[str] = None, + resource_group_name: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetCircuitPeeringResult: + """ + Manages an ExpressRoute Circuit Peering. + + ## Example Usage + + + :param str express_route_circuit_name: The name of the ExpressRoute Circuit in which to create the Peering. Changing this forces a new resource to be created. + :param str peering_type: The type of the ExpressRoute Circuit Peering. Acceptable values include `AzurePrivatePeering`, `AzurePublicPeering` and `MicrosoftPeering`. + :param str resource_group_name: The name of the resource group in which to create the Express Route Circuit Peering. Changing this forces a new resource to be created. + """ + __args__ = dict() + __args__['expressRouteCircuitName'] = express_route_circuit_name + __args__['peeringType'] = peering_type + __args__['resourceGroupName'] = resource_group_name + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('azure:expressroute/getCircuitPeering:getCircuitPeering', __args__, opts=opts, typ=GetCircuitPeeringResult).value + + return AwaitableGetCircuitPeeringResult( + azure_asn=pulumi.get(__ret__, 'azure_asn'), + express_route_circuit_name=pulumi.get(__ret__, 'express_route_circuit_name'), + gateway_manager_etag=pulumi.get(__ret__, 'gateway_manager_etag'), + id=pulumi.get(__ret__, 'id'), + ipv4_enabled=pulumi.get(__ret__, 'ipv4_enabled'), + peer_asn=pulumi.get(__ret__, 'peer_asn'), + peering_type=pulumi.get(__ret__, 'peering_type'), + primary_azure_port=pulumi.get(__ret__, 'primary_azure_port'), + primary_peer_address_prefix=pulumi.get(__ret__, 'primary_peer_address_prefix'), + resource_group_name=pulumi.get(__ret__, 'resource_group_name'), + route_filter_id=pulumi.get(__ret__, 'route_filter_id'), + secondary_azure_port=pulumi.get(__ret__, 'secondary_azure_port'), + secondary_peer_address_prefix=pulumi.get(__ret__, 'secondary_peer_address_prefix'), + shared_key=pulumi.get(__ret__, 'shared_key'), + vlan_id=pulumi.get(__ret__, 'vlan_id')) + + +@_utilities.lift_output_func(get_circuit_peering) +def get_circuit_peering_output(express_route_circuit_name: Optional[pulumi.Input[str]] = None, + peering_type: Optional[pulumi.Input[str]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetCircuitPeeringResult]: + """ + Manages an ExpressRoute Circuit Peering. + + ## Example Usage + + + :param str express_route_circuit_name: The name of the ExpressRoute Circuit in which to create the Peering. Changing this forces a new resource to be created. + :param str peering_type: The type of the ExpressRoute Circuit Peering. Acceptable values include `AzurePrivatePeering`, `AzurePublicPeering` and `MicrosoftPeering`. + :param str resource_group_name: The name of the resource group in which to create the Express Route Circuit Peering. Changing this forces a new resource to be created. + """ + ... diff --git a/sdk/python/pulumi_azure/keyvault/certifiate.py b/sdk/python/pulumi_azure/keyvault/certifiate.py index c111f52969..e002c8dc97 100644 --- a/sdk/python/pulumi_azure/keyvault/certifiate.py +++ b/sdk/python/pulumi_azure/keyvault/certifiate.py @@ -25,7 +25,7 @@ def __init__(__self__, *, The set of arguments for constructing a Certifiate resource. :param pulumi.Input[str] key_vault_id: The ID of the Key Vault where the Certificate should be created. Changing this forces a new resource to be created. :param pulumi.Input['CertifiateCertificateArgs'] certificate: A `certificate` block as defined below, used to Import an existing certificate. Changing this will create a new version of the Key Vault Certificate. - :param pulumi.Input['CertifiateCertificatePolicyArgs'] certificate_policy: A `certificate_policy` block as defined below. Changing this will create a new version of the Key Vault Certificate. + :param pulumi.Input['CertifiateCertificatePolicyArgs'] certificate_policy: A `certificate_policy` block as defined below. Changing this (except the `lifetime_action` field) will create a new version of the Key Vault Certificate. > **NOTE:** When creating a Key Vault Certificate, at least one of `certificate` or `certificate_policy` is required. Provide `certificate` to import an existing certificate, `certificate_policy` to generate a new certificate. :param pulumi.Input[str] name: Specifies the name of the Key Vault Certificate. Changing this forces a new resource to be created. @@ -69,7 +69,7 @@ def certificate(self, value: Optional[pulumi.Input['CertifiateCertificateArgs']] @pulumi.getter(name="certificatePolicy") def certificate_policy(self) -> Optional[pulumi.Input['CertifiateCertificatePolicyArgs']]: """ - A `certificate_policy` block as defined below. Changing this will create a new version of the Key Vault Certificate. + A `certificate_policy` block as defined below. Changing this (except the `lifetime_action` field) will create a new version of the Key Vault Certificate. > **NOTE:** When creating a Key Vault Certificate, at least one of `certificate` or `certificate_policy` is required. Provide `certificate` to import an existing certificate, `certificate_policy` to generate a new certificate. """ @@ -128,7 +128,7 @@ def __init__(__self__, *, :param pulumi.Input[Sequence[pulumi.Input['CertifiateCertificateAttributeArgs']]] certificate_attributes: A `certificate_attribute` block as defined below. :param pulumi.Input[str] certificate_data: The raw Key Vault Certificate data represented as a hexadecimal string. :param pulumi.Input[str] certificate_data_base64: The Base64 encoded Key Vault Certificate data. - :param pulumi.Input['CertifiateCertificatePolicyArgs'] certificate_policy: A `certificate_policy` block as defined below. Changing this will create a new version of the Key Vault Certificate. + :param pulumi.Input['CertifiateCertificatePolicyArgs'] certificate_policy: A `certificate_policy` block as defined below. Changing this (except the `lifetime_action` field) will create a new version of the Key Vault Certificate. > **NOTE:** When creating a Key Vault Certificate, at least one of `certificate` or `certificate_policy` is required. Provide `certificate` to import an existing certificate, `certificate_policy` to generate a new certificate. :param pulumi.Input[str] key_vault_id: The ID of the Key Vault where the Certificate should be created. Changing this forces a new resource to be created. @@ -225,7 +225,7 @@ def certificate_data_base64(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="certificatePolicy") def certificate_policy(self) -> Optional[pulumi.Input['CertifiateCertificatePolicyArgs']]: """ - A `certificate_policy` block as defined below. Changing this will create a new version of the Key Vault Certificate. + A `certificate_policy` block as defined below. Changing this (except the `lifetime_action` field) will create a new version of the Key Vault Certificate. > **NOTE:** When creating a Key Vault Certificate, at least one of `certificate` or `certificate_policy` is required. Provide `certificate` to import an existing certificate, `certificate_policy` to generate a new certificate. """ @@ -575,7 +575,7 @@ def __init__(__self__, :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[pulumi.InputType['CertifiateCertificateArgs']] certificate: A `certificate` block as defined below, used to Import an existing certificate. Changing this will create a new version of the Key Vault Certificate. - :param pulumi.Input[pulumi.InputType['CertifiateCertificatePolicyArgs']] certificate_policy: A `certificate_policy` block as defined below. Changing this will create a new version of the Key Vault Certificate. + :param pulumi.Input[pulumi.InputType['CertifiateCertificatePolicyArgs']] certificate_policy: A `certificate_policy` block as defined below. Changing this (except the `lifetime_action` field) will create a new version of the Key Vault Certificate. > **NOTE:** When creating a Key Vault Certificate, at least one of `certificate` or `certificate_policy` is required. Provide `certificate` to import an existing certificate, `certificate_policy` to generate a new certificate. :param pulumi.Input[str] key_vault_id: The ID of the Key Vault where the Certificate should be created. Changing this forces a new resource to be created. @@ -871,7 +871,7 @@ def get(resource_name: str, :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['CertifiateCertificateAttributeArgs']]]] certificate_attributes: A `certificate_attribute` block as defined below. :param pulumi.Input[str] certificate_data: The raw Key Vault Certificate data represented as a hexadecimal string. :param pulumi.Input[str] certificate_data_base64: The Base64 encoded Key Vault Certificate data. - :param pulumi.Input[pulumi.InputType['CertifiateCertificatePolicyArgs']] certificate_policy: A `certificate_policy` block as defined below. Changing this will create a new version of the Key Vault Certificate. + :param pulumi.Input[pulumi.InputType['CertifiateCertificatePolicyArgs']] certificate_policy: A `certificate_policy` block as defined below. Changing this (except the `lifetime_action` field) will create a new version of the Key Vault Certificate. > **NOTE:** When creating a Key Vault Certificate, at least one of `certificate` or `certificate_policy` is required. Provide `certificate` to import an existing certificate, `certificate_policy` to generate a new certificate. :param pulumi.Input[str] key_vault_id: The ID of the Key Vault where the Certificate should be created. Changing this forces a new resource to be created. @@ -942,7 +942,7 @@ def certificate_data_base64(self) -> pulumi.Output[str]: @pulumi.getter(name="certificatePolicy") def certificate_policy(self) -> pulumi.Output['outputs.CertifiateCertificatePolicy']: """ - A `certificate_policy` block as defined below. Changing this will create a new version of the Key Vault Certificate. + A `certificate_policy` block as defined below. Changing this (except the `lifetime_action` field) will create a new version of the Key Vault Certificate. > **NOTE:** When creating a Key Vault Certificate, at least one of `certificate` or `certificate_policy` is required. Provide `certificate` to import an existing certificate, `certificate_policy` to generate a new certificate. """ diff --git a/sdk/python/pulumi_azure/keyvault/certificate.py b/sdk/python/pulumi_azure/keyvault/certificate.py index 14f2e48e31..c09d59f32a 100644 --- a/sdk/python/pulumi_azure/keyvault/certificate.py +++ b/sdk/python/pulumi_azure/keyvault/certificate.py @@ -25,7 +25,7 @@ def __init__(__self__, *, The set of arguments for constructing a Certificate resource. :param pulumi.Input[str] key_vault_id: The ID of the Key Vault where the Certificate should be created. Changing this forces a new resource to be created. :param pulumi.Input['CertificateCertificateArgs'] certificate: A `certificate` block as defined below, used to Import an existing certificate. Changing this will create a new version of the Key Vault Certificate. - :param pulumi.Input['CertificateCertificatePolicyArgs'] certificate_policy: A `certificate_policy` block as defined below. Changing this will create a new version of the Key Vault Certificate. + :param pulumi.Input['CertificateCertificatePolicyArgs'] certificate_policy: A `certificate_policy` block as defined below. Changing this (except the `lifetime_action` field) will create a new version of the Key Vault Certificate. > **NOTE:** When creating a Key Vault Certificate, at least one of `certificate` or `certificate_policy` is required. Provide `certificate` to import an existing certificate, `certificate_policy` to generate a new certificate. :param pulumi.Input[str] name: Specifies the name of the Key Vault Certificate. Changing this forces a new resource to be created. @@ -69,7 +69,7 @@ def certificate(self, value: Optional[pulumi.Input['CertificateCertificateArgs'] @pulumi.getter(name="certificatePolicy") def certificate_policy(self) -> Optional[pulumi.Input['CertificateCertificatePolicyArgs']]: """ - A `certificate_policy` block as defined below. Changing this will create a new version of the Key Vault Certificate. + A `certificate_policy` block as defined below. Changing this (except the `lifetime_action` field) will create a new version of the Key Vault Certificate. > **NOTE:** When creating a Key Vault Certificate, at least one of `certificate` or `certificate_policy` is required. Provide `certificate` to import an existing certificate, `certificate_policy` to generate a new certificate. """ @@ -128,7 +128,7 @@ def __init__(__self__, *, :param pulumi.Input[Sequence[pulumi.Input['CertificateCertificateAttributeArgs']]] certificate_attributes: A `certificate_attribute` block as defined below. :param pulumi.Input[str] certificate_data: The raw Key Vault Certificate data represented as a hexadecimal string. :param pulumi.Input[str] certificate_data_base64: The Base64 encoded Key Vault Certificate data. - :param pulumi.Input['CertificateCertificatePolicyArgs'] certificate_policy: A `certificate_policy` block as defined below. Changing this will create a new version of the Key Vault Certificate. + :param pulumi.Input['CertificateCertificatePolicyArgs'] certificate_policy: A `certificate_policy` block as defined below. Changing this (except the `lifetime_action` field) will create a new version of the Key Vault Certificate. > **NOTE:** When creating a Key Vault Certificate, at least one of `certificate` or `certificate_policy` is required. Provide `certificate` to import an existing certificate, `certificate_policy` to generate a new certificate. :param pulumi.Input[str] key_vault_id: The ID of the Key Vault where the Certificate should be created. Changing this forces a new resource to be created. @@ -225,7 +225,7 @@ def certificate_data_base64(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="certificatePolicy") def certificate_policy(self) -> Optional[pulumi.Input['CertificateCertificatePolicyArgs']]: """ - A `certificate_policy` block as defined below. Changing this will create a new version of the Key Vault Certificate. + A `certificate_policy` block as defined below. Changing this (except the `lifetime_action` field) will create a new version of the Key Vault Certificate. > **NOTE:** When creating a Key Vault Certificate, at least one of `certificate` or `certificate_policy` is required. Provide `certificate` to import an existing certificate, `certificate_policy` to generate a new certificate. """ @@ -570,7 +570,7 @@ def __init__(__self__, :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[pulumi.InputType['CertificateCertificateArgs']] certificate: A `certificate` block as defined below, used to Import an existing certificate. Changing this will create a new version of the Key Vault Certificate. - :param pulumi.Input[pulumi.InputType['CertificateCertificatePolicyArgs']] certificate_policy: A `certificate_policy` block as defined below. Changing this will create a new version of the Key Vault Certificate. + :param pulumi.Input[pulumi.InputType['CertificateCertificatePolicyArgs']] certificate_policy: A `certificate_policy` block as defined below. Changing this (except the `lifetime_action` field) will create a new version of the Key Vault Certificate. > **NOTE:** When creating a Key Vault Certificate, at least one of `certificate` or `certificate_policy` is required. Provide `certificate` to import an existing certificate, `certificate_policy` to generate a new certificate. :param pulumi.Input[str] key_vault_id: The ID of the Key Vault where the Certificate should be created. Changing this forces a new resource to be created. @@ -867,7 +867,7 @@ def get(resource_name: str, :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['CertificateCertificateAttributeArgs']]]] certificate_attributes: A `certificate_attribute` block as defined below. :param pulumi.Input[str] certificate_data: The raw Key Vault Certificate data represented as a hexadecimal string. :param pulumi.Input[str] certificate_data_base64: The Base64 encoded Key Vault Certificate data. - :param pulumi.Input[pulumi.InputType['CertificateCertificatePolicyArgs']] certificate_policy: A `certificate_policy` block as defined below. Changing this will create a new version of the Key Vault Certificate. + :param pulumi.Input[pulumi.InputType['CertificateCertificatePolicyArgs']] certificate_policy: A `certificate_policy` block as defined below. Changing this (except the `lifetime_action` field) will create a new version of the Key Vault Certificate. > **NOTE:** When creating a Key Vault Certificate, at least one of `certificate` or `certificate_policy` is required. Provide `certificate` to import an existing certificate, `certificate_policy` to generate a new certificate. :param pulumi.Input[str] key_vault_id: The ID of the Key Vault where the Certificate should be created. Changing this forces a new resource to be created. @@ -938,7 +938,7 @@ def certificate_data_base64(self) -> pulumi.Output[str]: @pulumi.getter(name="certificatePolicy") def certificate_policy(self) -> pulumi.Output['outputs.CertificateCertificatePolicy']: """ - A `certificate_policy` block as defined below. Changing this will create a new version of the Key Vault Certificate. + A `certificate_policy` block as defined below. Changing this (except the `lifetime_action` field) will create a new version of the Key Vault Certificate. > **NOTE:** When creating a Key Vault Certificate, at least one of `certificate` or `certificate_policy` is required. Provide `certificate` to import an existing certificate, `certificate_policy` to generate a new certificate. """ diff --git a/sdk/python/pulumi_azure/keyvault/key.py b/sdk/python/pulumi_azure/keyvault/key.py index 689f817e3c..9623f8b50a 100644 --- a/sdk/python/pulumi_azure/keyvault/key.py +++ b/sdk/python/pulumi_azure/keyvault/key.py @@ -32,10 +32,12 @@ def __init__(__self__, *, :param pulumi.Input[str] key_type: Specifies the Key Type to use for this Key Vault Key. Possible values are `EC` (Elliptic Curve), `EC-HSM`, `RSA` and `RSA-HSM`. Changing this forces a new resource to be created. :param pulumi.Input[str] key_vault_id: The ID of the Key Vault where the Key should be created. Changing this forces a new resource to be created. :param pulumi.Input[str] curve: Specifies the curve to use when creating an `EC` key. Possible values are `P-256`, `P-256K`, `P-384`, and `P-521`. This field will be required in a future release if `key_type` is `EC` or `EC-HSM`. The API will default to `P-256` if nothing is specified. Changing this forces a new resource to be created. - :param pulumi.Input[str] expiration_date: Expiration UTC datetime (Y-m-d'T'H:M:S'Z'). + :param pulumi.Input[str] expiration_date: Expiration UTC datetime (Y-m-d'T'H:M:S'Z'). When this parameter gets changed on reruns, if newer date is ahead of current date, an update is performed. If the newer date is before the current date, resource will be force created. :param pulumi.Input[int] key_size: Specifies the Size of the RSA key to create in bytes. For example, 1024 or 2048. *Note*: This field is required if `key_type` is `RSA` or `RSA-HSM`. Changing this forces a new resource to be created. :param pulumi.Input[str] name: Specifies the name of the Key Vault Key. Changing this forces a new resource to be created. :param pulumi.Input[str] not_before_date: Key not usable before the provided UTC datetime (Y-m-d'T'H:M:S'Z'). + + > **Note:** Once `expiration_date` is set, it's not possible to unset the key even if it is deleted & recreated as underlying Azure API uses the restore of the purged key. :param pulumi.Input['KeyRotationPolicyArgs'] rotation_policy: A `rotation_policy` block as defined below. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A mapping of tags to assign to the resource. """ @@ -109,7 +111,7 @@ def curve(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="expirationDate") def expiration_date(self) -> Optional[pulumi.Input[str]]: """ - Expiration UTC datetime (Y-m-d'T'H:M:S'Z'). + Expiration UTC datetime (Y-m-d'T'H:M:S'Z'). When this parameter gets changed on reruns, if newer date is ahead of current date, an update is performed. If the newer date is before the current date, resource will be force created. """ return pulumi.get(self, "expiration_date") @@ -146,6 +148,8 @@ def name(self, value: Optional[pulumi.Input[str]]): def not_before_date(self) -> Optional[pulumi.Input[str]]: """ Key not usable before the provided UTC datetime (Y-m-d'T'H:M:S'Z'). + + > **Note:** Once `expiration_date` is set, it's not possible to unset the key even if it is deleted & recreated as underlying Azure API uses the restore of the purged key. """ return pulumi.get(self, "not_before_date") @@ -205,7 +209,7 @@ def __init__(__self__, *, Input properties used for looking up and filtering Key resources. :param pulumi.Input[str] curve: Specifies the curve to use when creating an `EC` key. Possible values are `P-256`, `P-256K`, `P-384`, and `P-521`. This field will be required in a future release if `key_type` is `EC` or `EC-HSM`. The API will default to `P-256` if nothing is specified. Changing this forces a new resource to be created. :param pulumi.Input[str] e: The RSA public exponent of this Key Vault Key. - :param pulumi.Input[str] expiration_date: Expiration UTC datetime (Y-m-d'T'H:M:S'Z'). + :param pulumi.Input[str] expiration_date: Expiration UTC datetime (Y-m-d'T'H:M:S'Z'). When this parameter gets changed on reruns, if newer date is ahead of current date, an update is performed. If the newer date is before the current date, resource will be force created. :param pulumi.Input[Sequence[pulumi.Input[str]]] key_opts: A list of JSON web key operations. Possible values include: `decrypt`, `encrypt`, `sign`, `unwrapKey`, `verify` and `wrapKey`. Please note these values are case sensitive. :param pulumi.Input[int] key_size: Specifies the Size of the RSA key to create in bytes. For example, 1024 or 2048. *Note*: This field is required if `key_type` is `RSA` or `RSA-HSM`. Changing this forces a new resource to be created. :param pulumi.Input[str] key_type: Specifies the Key Type to use for this Key Vault Key. Possible values are `EC` (Elliptic Curve), `EC-HSM`, `RSA` and `RSA-HSM`. Changing this forces a new resource to be created. @@ -213,6 +217,8 @@ def __init__(__self__, *, :param pulumi.Input[str] n: The RSA modulus of this Key Vault Key. :param pulumi.Input[str] name: Specifies the name of the Key Vault Key. Changing this forces a new resource to be created. :param pulumi.Input[str] not_before_date: Key not usable before the provided UTC datetime (Y-m-d'T'H:M:S'Z'). + + > **Note:** Once `expiration_date` is set, it's not possible to unset the key even if it is deleted & recreated as underlying Azure API uses the restore of the purged key. :param pulumi.Input[str] public_key_openssh: The OpenSSH encoded public key of this Key Vault Key. :param pulumi.Input[str] public_key_pem: The PEM encoded public key of this Key Vault Key. :param pulumi.Input[str] resource_id: The (Versioned) ID for this Key Vault Key. This property points to a specific version of a Key Vault Key, as such using this won't auto-rotate values if used in other Azure Services. @@ -293,7 +299,7 @@ def e(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="expirationDate") def expiration_date(self) -> Optional[pulumi.Input[str]]: """ - Expiration UTC datetime (Y-m-d'T'H:M:S'Z'). + Expiration UTC datetime (Y-m-d'T'H:M:S'Z'). When this parameter gets changed on reruns, if newer date is ahead of current date, an update is performed. If the newer date is before the current date, resource will be force created. """ return pulumi.get(self, "expiration_date") @@ -378,6 +384,8 @@ def name(self, value: Optional[pulumi.Input[str]]): def not_before_date(self) -> Optional[pulumi.Input[str]]: """ Key not usable before the provided UTC datetime (Y-m-d'T'H:M:S'Z'). + + > **Note:** Once `expiration_date` is set, it's not possible to unset the key even if it is deleted & recreated as underlying Azure API uses the restore of the purged key. """ return pulumi.get(self, "not_before_date") @@ -595,13 +603,15 @@ def __init__(__self__, :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[str] curve: Specifies the curve to use when creating an `EC` key. Possible values are `P-256`, `P-256K`, `P-384`, and `P-521`. This field will be required in a future release if `key_type` is `EC` or `EC-HSM`. The API will default to `P-256` if nothing is specified. Changing this forces a new resource to be created. - :param pulumi.Input[str] expiration_date: Expiration UTC datetime (Y-m-d'T'H:M:S'Z'). + :param pulumi.Input[str] expiration_date: Expiration UTC datetime (Y-m-d'T'H:M:S'Z'). When this parameter gets changed on reruns, if newer date is ahead of current date, an update is performed. If the newer date is before the current date, resource will be force created. :param pulumi.Input[Sequence[pulumi.Input[str]]] key_opts: A list of JSON web key operations. Possible values include: `decrypt`, `encrypt`, `sign`, `unwrapKey`, `verify` and `wrapKey`. Please note these values are case sensitive. :param pulumi.Input[int] key_size: Specifies the Size of the RSA key to create in bytes. For example, 1024 or 2048. *Note*: This field is required if `key_type` is `RSA` or `RSA-HSM`. Changing this forces a new resource to be created. :param pulumi.Input[str] key_type: Specifies the Key Type to use for this Key Vault Key. Possible values are `EC` (Elliptic Curve), `EC-HSM`, `RSA` and `RSA-HSM`. Changing this forces a new resource to be created. :param pulumi.Input[str] key_vault_id: The ID of the Key Vault where the Key should be created. Changing this forces a new resource to be created. :param pulumi.Input[str] name: Specifies the name of the Key Vault Key. Changing this forces a new resource to be created. :param pulumi.Input[str] not_before_date: Key not usable before the provided UTC datetime (Y-m-d'T'H:M:S'Z'). + + > **Note:** Once `expiration_date` is set, it's not possible to unset the key even if it is deleted & recreated as underlying Azure API uses the restore of the purged key. :param pulumi.Input[pulumi.InputType['KeyRotationPolicyArgs']] rotation_policy: A `rotation_policy` block as defined below. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A mapping of tags to assign to the resource. """ @@ -780,7 +790,7 @@ def get(resource_name: str, :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[str] curve: Specifies the curve to use when creating an `EC` key. Possible values are `P-256`, `P-256K`, `P-384`, and `P-521`. This field will be required in a future release if `key_type` is `EC` or `EC-HSM`. The API will default to `P-256` if nothing is specified. Changing this forces a new resource to be created. :param pulumi.Input[str] e: The RSA public exponent of this Key Vault Key. - :param pulumi.Input[str] expiration_date: Expiration UTC datetime (Y-m-d'T'H:M:S'Z'). + :param pulumi.Input[str] expiration_date: Expiration UTC datetime (Y-m-d'T'H:M:S'Z'). When this parameter gets changed on reruns, if newer date is ahead of current date, an update is performed. If the newer date is before the current date, resource will be force created. :param pulumi.Input[Sequence[pulumi.Input[str]]] key_opts: A list of JSON web key operations. Possible values include: `decrypt`, `encrypt`, `sign`, `unwrapKey`, `verify` and `wrapKey`. Please note these values are case sensitive. :param pulumi.Input[int] key_size: Specifies the Size of the RSA key to create in bytes. For example, 1024 or 2048. *Note*: This field is required if `key_type` is `RSA` or `RSA-HSM`. Changing this forces a new resource to be created. :param pulumi.Input[str] key_type: Specifies the Key Type to use for this Key Vault Key. Possible values are `EC` (Elliptic Curve), `EC-HSM`, `RSA` and `RSA-HSM`. Changing this forces a new resource to be created. @@ -788,6 +798,8 @@ def get(resource_name: str, :param pulumi.Input[str] n: The RSA modulus of this Key Vault Key. :param pulumi.Input[str] name: Specifies the name of the Key Vault Key. Changing this forces a new resource to be created. :param pulumi.Input[str] not_before_date: Key not usable before the provided UTC datetime (Y-m-d'T'H:M:S'Z'). + + > **Note:** Once `expiration_date` is set, it's not possible to unset the key even if it is deleted & recreated as underlying Azure API uses the restore of the purged key. :param pulumi.Input[str] public_key_openssh: The OpenSSH encoded public key of this Key Vault Key. :param pulumi.Input[str] public_key_pem: The PEM encoded public key of this Key Vault Key. :param pulumi.Input[str] resource_id: The (Versioned) ID for this Key Vault Key. This property points to a specific version of a Key Vault Key, as such using this won't auto-rotate values if used in other Azure Services. @@ -845,7 +857,7 @@ def e(self) -> pulumi.Output[str]: @pulumi.getter(name="expirationDate") def expiration_date(self) -> pulumi.Output[Optional[str]]: """ - Expiration UTC datetime (Y-m-d'T'H:M:S'Z'). + Expiration UTC datetime (Y-m-d'T'H:M:S'Z'). When this parameter gets changed on reruns, if newer date is ahead of current date, an update is performed. If the newer date is before the current date, resource will be force created. """ return pulumi.get(self, "expiration_date") @@ -902,6 +914,8 @@ def name(self) -> pulumi.Output[str]: def not_before_date(self) -> pulumi.Output[Optional[str]]: """ Key not usable before the provided UTC datetime (Y-m-d'T'H:M:S'Z'). + + > **Note:** Once `expiration_date` is set, it's not possible to unset the key even if it is deleted & recreated as underlying Azure API uses the restore of the purged key. """ return pulumi.get(self, "not_before_date") diff --git a/sdk/python/pulumi_azure/machinelearning/_inputs.py b/sdk/python/pulumi_azure/machinelearning/_inputs.py index ef753d7cf5..0871bd24f2 100644 --- a/sdk/python/pulumi_azure/machinelearning/_inputs.py +++ b/sdk/python/pulumi_azure/machinelearning/_inputs.py @@ -22,6 +22,7 @@ 'WorkspaceEncryptionArgs', 'WorkspaceFeatureStoreArgs', 'WorkspaceIdentityArgs', + 'WorkspaceManagedNetworkArgs', ] @pulumi.input_type @@ -458,11 +459,11 @@ def __init__(__self__, *, leaf_domain_label: Optional[pulumi.Input[str]] = None, overwrite_existing_domain: Optional[pulumi.Input[bool]] = None): """ - :param pulumi.Input[str] cert: The certificate for the SSL configuration.Conflicts with `ssl.0.leaf_domain_label`,`ssl.0.overwrite_existing_domain`. Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `""`. - :param pulumi.Input[str] cname: The cname of the SSL configuration.Conflicts with `ssl.0.leaf_domain_label`,`ssl.0.overwrite_existing_domain`. Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `""`. - :param pulumi.Input[str] key: The key content for the SSL configuration.Conflicts with `ssl.0.leaf_domain_label`,`ssl.0.overwrite_existing_domain`. Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `""`. - :param pulumi.Input[str] leaf_domain_label: The leaf domain label for the SSL configuration. Conflicts with `ssl.0.cert`,`ssl.0.key`,`ssl.0.cname`. Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `""`. - :param pulumi.Input[bool] overwrite_existing_domain: Whether or not to overwrite existing leaf domain. Conflicts with `ssl.0.cert`,`ssl.0.key`,`ssl.0.cname` Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `""`. + :param pulumi.Input[str] cert: The certificate for the SSL configuration.Conflicts with `ssl[0].leaf_domain_label`,`ssl[0].overwrite_existing_domain`. Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `""`. + :param pulumi.Input[str] cname: The cname of the SSL configuration.Conflicts with `ssl[0].leaf_domain_label`,`ssl[0].overwrite_existing_domain`. Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `""`. + :param pulumi.Input[str] key: The key content for the SSL configuration.Conflicts with `ssl[0].leaf_domain_label`,`ssl[0].overwrite_existing_domain`. Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `""`. + :param pulumi.Input[str] leaf_domain_label: The leaf domain label for the SSL configuration. Conflicts with `ssl[0].cert`,`ssl[0].key`,`ssl[0].cname`. Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `""`. + :param pulumi.Input[bool] overwrite_existing_domain: Whether or not to overwrite existing leaf domain. Conflicts with `ssl[0].cert`,`ssl[0].key`,`ssl[0].cname` Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `""`. """ if cert is not None: pulumi.set(__self__, "cert", cert) @@ -479,7 +480,7 @@ def __init__(__self__, *, @pulumi.getter def cert(self) -> Optional[pulumi.Input[str]]: """ - The certificate for the SSL configuration.Conflicts with `ssl.0.leaf_domain_label`,`ssl.0.overwrite_existing_domain`. Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `""`. + The certificate for the SSL configuration.Conflicts with `ssl[0].leaf_domain_label`,`ssl[0].overwrite_existing_domain`. Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `""`. """ return pulumi.get(self, "cert") @@ -491,7 +492,7 @@ def cert(self, value: Optional[pulumi.Input[str]]): @pulumi.getter def cname(self) -> Optional[pulumi.Input[str]]: """ - The cname of the SSL configuration.Conflicts with `ssl.0.leaf_domain_label`,`ssl.0.overwrite_existing_domain`. Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `""`. + The cname of the SSL configuration.Conflicts with `ssl[0].leaf_domain_label`,`ssl[0].overwrite_existing_domain`. Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `""`. """ return pulumi.get(self, "cname") @@ -503,7 +504,7 @@ def cname(self, value: Optional[pulumi.Input[str]]): @pulumi.getter def key(self) -> Optional[pulumi.Input[str]]: """ - The key content for the SSL configuration.Conflicts with `ssl.0.leaf_domain_label`,`ssl.0.overwrite_existing_domain`. Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `""`. + The key content for the SSL configuration.Conflicts with `ssl[0].leaf_domain_label`,`ssl[0].overwrite_existing_domain`. Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `""`. """ return pulumi.get(self, "key") @@ -515,7 +516,7 @@ def key(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="leafDomainLabel") def leaf_domain_label(self) -> Optional[pulumi.Input[str]]: """ - The leaf domain label for the SSL configuration. Conflicts with `ssl.0.cert`,`ssl.0.key`,`ssl.0.cname`. Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `""`. + The leaf domain label for the SSL configuration. Conflicts with `ssl[0].cert`,`ssl[0].key`,`ssl[0].cname`. Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `""`. """ return pulumi.get(self, "leaf_domain_label") @@ -527,7 +528,7 @@ def leaf_domain_label(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="overwriteExistingDomain") def overwrite_existing_domain(self) -> Optional[pulumi.Input[bool]]: """ - Whether or not to overwrite existing leaf domain. Conflicts with `ssl.0.cert`,`ssl.0.key`,`ssl.0.cname` Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `""`. + Whether or not to overwrite existing leaf domain. Conflicts with `ssl[0].cert`,`ssl[0].key`,`ssl[0].cname` Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `""`. """ return pulumi.get(self, "overwrite_existing_domain") @@ -800,3 +801,26 @@ def tenant_id(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "tenant_id", value) +@pulumi.input_type +class WorkspaceManagedNetworkArgs: + def __init__(__self__, *, + isolation_mode: Optional[pulumi.Input[str]] = None): + """ + :param pulumi.Input[str] isolation_mode: The isolation mode of the Machine Learning Workspace. Possible values are `Disabled`, `AllowOnlyApprovedOutbound`, and `AllowInternetOutbound` + """ + if isolation_mode is not None: + pulumi.set(__self__, "isolation_mode", isolation_mode) + + @property + @pulumi.getter(name="isolationMode") + def isolation_mode(self) -> Optional[pulumi.Input[str]]: + """ + The isolation mode of the Machine Learning Workspace. Possible values are `Disabled`, `AllowOnlyApprovedOutbound`, and `AllowInternetOutbound` + """ + return pulumi.get(self, "isolation_mode") + + @isolation_mode.setter + def isolation_mode(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "isolation_mode", value) + + diff --git a/sdk/python/pulumi_azure/machinelearning/outputs.py b/sdk/python/pulumi_azure/machinelearning/outputs.py index dd8ece8086..d1eb0c7385 100644 --- a/sdk/python/pulumi_azure/machinelearning/outputs.py +++ b/sdk/python/pulumi_azure/machinelearning/outputs.py @@ -22,6 +22,7 @@ 'WorkspaceEncryption', 'WorkspaceFeatureStore', 'WorkspaceIdentity', + 'WorkspaceManagedNetwork', 'GetWorkspaceIdentityResult', ] @@ -527,11 +528,11 @@ def __init__(__self__, *, leaf_domain_label: Optional[str] = None, overwrite_existing_domain: Optional[bool] = None): """ - :param str cert: The certificate for the SSL configuration.Conflicts with `ssl.0.leaf_domain_label`,`ssl.0.overwrite_existing_domain`. Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `""`. - :param str cname: The cname of the SSL configuration.Conflicts with `ssl.0.leaf_domain_label`,`ssl.0.overwrite_existing_domain`. Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `""`. - :param str key: The key content for the SSL configuration.Conflicts with `ssl.0.leaf_domain_label`,`ssl.0.overwrite_existing_domain`. Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `""`. - :param str leaf_domain_label: The leaf domain label for the SSL configuration. Conflicts with `ssl.0.cert`,`ssl.0.key`,`ssl.0.cname`. Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `""`. - :param bool overwrite_existing_domain: Whether or not to overwrite existing leaf domain. Conflicts with `ssl.0.cert`,`ssl.0.key`,`ssl.0.cname` Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `""`. + :param str cert: The certificate for the SSL configuration.Conflicts with `ssl[0].leaf_domain_label`,`ssl[0].overwrite_existing_domain`. Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `""`. + :param str cname: The cname of the SSL configuration.Conflicts with `ssl[0].leaf_domain_label`,`ssl[0].overwrite_existing_domain`. Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `""`. + :param str key: The key content for the SSL configuration.Conflicts with `ssl[0].leaf_domain_label`,`ssl[0].overwrite_existing_domain`. Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `""`. + :param str leaf_domain_label: The leaf domain label for the SSL configuration. Conflicts with `ssl[0].cert`,`ssl[0].key`,`ssl[0].cname`. Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `""`. + :param bool overwrite_existing_domain: Whether or not to overwrite existing leaf domain. Conflicts with `ssl[0].cert`,`ssl[0].key`,`ssl[0].cname` Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `""`. """ if cert is not None: pulumi.set(__self__, "cert", cert) @@ -548,7 +549,7 @@ def __init__(__self__, *, @pulumi.getter def cert(self) -> Optional[str]: """ - The certificate for the SSL configuration.Conflicts with `ssl.0.leaf_domain_label`,`ssl.0.overwrite_existing_domain`. Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `""`. + The certificate for the SSL configuration.Conflicts with `ssl[0].leaf_domain_label`,`ssl[0].overwrite_existing_domain`. Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `""`. """ return pulumi.get(self, "cert") @@ -556,7 +557,7 @@ def cert(self) -> Optional[str]: @pulumi.getter def cname(self) -> Optional[str]: """ - The cname of the SSL configuration.Conflicts with `ssl.0.leaf_domain_label`,`ssl.0.overwrite_existing_domain`. Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `""`. + The cname of the SSL configuration.Conflicts with `ssl[0].leaf_domain_label`,`ssl[0].overwrite_existing_domain`. Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `""`. """ return pulumi.get(self, "cname") @@ -564,7 +565,7 @@ def cname(self) -> Optional[str]: @pulumi.getter def key(self) -> Optional[str]: """ - The key content for the SSL configuration.Conflicts with `ssl.0.leaf_domain_label`,`ssl.0.overwrite_existing_domain`. Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `""`. + The key content for the SSL configuration.Conflicts with `ssl[0].leaf_domain_label`,`ssl[0].overwrite_existing_domain`. Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `""`. """ return pulumi.get(self, "key") @@ -572,7 +573,7 @@ def key(self) -> Optional[str]: @pulumi.getter(name="leafDomainLabel") def leaf_domain_label(self) -> Optional[str]: """ - The leaf domain label for the SSL configuration. Conflicts with `ssl.0.cert`,`ssl.0.key`,`ssl.0.cname`. Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `""`. + The leaf domain label for the SSL configuration. Conflicts with `ssl[0].cert`,`ssl[0].key`,`ssl[0].cname`. Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `""`. """ return pulumi.get(self, "leaf_domain_label") @@ -580,7 +581,7 @@ def leaf_domain_label(self) -> Optional[str]: @pulumi.getter(name="overwriteExistingDomain") def overwrite_existing_domain(self) -> Optional[bool]: """ - Whether or not to overwrite existing leaf domain. Conflicts with `ssl.0.cert`,`ssl.0.key`,`ssl.0.cname` Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `""`. + Whether or not to overwrite existing leaf domain. Conflicts with `ssl[0].cert`,`ssl[0].key`,`ssl[0].cname` Changing this forces a new Machine Learning Inference Cluster to be created. Defaults to `""`. """ return pulumi.get(self, "overwrite_existing_domain") @@ -877,6 +878,42 @@ def tenant_id(self) -> Optional[str]: return pulumi.get(self, "tenant_id") +@pulumi.output_type +class WorkspaceManagedNetwork(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "isolationMode": + suggest = "isolation_mode" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in WorkspaceManagedNetwork. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + WorkspaceManagedNetwork.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + WorkspaceManagedNetwork.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + isolation_mode: Optional[str] = None): + """ + :param str isolation_mode: The isolation mode of the Machine Learning Workspace. Possible values are `Disabled`, `AllowOnlyApprovedOutbound`, and `AllowInternetOutbound` + """ + if isolation_mode is not None: + pulumi.set(__self__, "isolation_mode", isolation_mode) + + @property + @pulumi.getter(name="isolationMode") + def isolation_mode(self) -> Optional[str]: + """ + The isolation mode of the Machine Learning Workspace. Possible values are `Disabled`, `AllowOnlyApprovedOutbound`, and `AllowInternetOutbound` + """ + return pulumi.get(self, "isolation_mode") + + @pulumi.output_type class GetWorkspaceIdentityResult(dict): def __init__(__self__, *, diff --git a/sdk/python/pulumi_azure/machinelearning/workspace.py b/sdk/python/pulumi_azure/machinelearning/workspace.py index 792126a67e..7fc302d5b0 100644 --- a/sdk/python/pulumi_azure/machinelearning/workspace.py +++ b/sdk/python/pulumi_azure/machinelearning/workspace.py @@ -30,6 +30,7 @@ def __init__(__self__, *, image_build_compute_name: Optional[pulumi.Input[str]] = None, kind: Optional[pulumi.Input[str]] = None, location: Optional[pulumi.Input[str]] = None, + managed_network: Optional[pulumi.Input['WorkspaceManagedNetworkArgs']] = None, name: Optional[pulumi.Input[str]] = None, primary_user_assigned_identity: Optional[pulumi.Input[str]] = None, public_access_behind_virtual_network_enabled: Optional[pulumi.Input[bool]] = None, @@ -57,13 +58,14 @@ def __init__(__self__, *, :param pulumi.Input[str] image_build_compute_name: The compute name for image build of the Machine Learning Workspace. :param pulumi.Input[str] kind: The type of the Workspace. Possible values are `Default`, `FeatureStore`. Defaults to `Default` :param pulumi.Input[str] location: Specifies the supported Azure location where the Machine Learning Workspace should exist. Changing this forces a new resource to be created. + :param pulumi.Input['WorkspaceManagedNetworkArgs'] managed_network: A `managed_network` block as defined below. :param pulumi.Input[str] name: Specifies the name of the Machine Learning Workspace. Changing this forces a new resource to be created. :param pulumi.Input[str] primary_user_assigned_identity: The user assigned identity id that represents the workspace identity. :param pulumi.Input[bool] public_access_behind_virtual_network_enabled: Enable public access when this Machine Learning Workspace is behind a VNet. Changing this forces a new resource to be created. :param pulumi.Input[bool] public_network_access_enabled: Enable public access when this Machine Learning Workspace is behind VNet. > **NOTE:** `public_access_behind_virtual_network_enabled` is deprecated and will be removed in favour of the property `public_network_access_enabled`. - :param pulumi.Input[str] sku_name: SKU/edition of the Machine Learning Workspace, possible values are `Basic`. Defaults to `Basic`. + :param pulumi.Input[str] sku_name: SKU/edition of the Machine Learning Workspace, possible values are `Free`, `Basic`, `Standard` and `Premium`. Defaults to `Basic`. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A mapping of tags to assign to the resource. :param pulumi.Input[bool] v1_legacy_mode_enabled: Enable V1 API features, enabling `v1_legacy_mode` may prevent you from using features provided by the v2 API. Defaults to `false`. """ @@ -90,6 +92,8 @@ def __init__(__self__, *, pulumi.set(__self__, "kind", kind) if location is not None: pulumi.set(__self__, "location", location) + if managed_network is not None: + pulumi.set(__self__, "managed_network", managed_network) if name is not None: pulumi.set(__self__, "name", name) if primary_user_assigned_identity is not None: @@ -280,6 +284,18 @@ def location(self) -> Optional[pulumi.Input[str]]: def location(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "location", value) + @property + @pulumi.getter(name="managedNetwork") + def managed_network(self) -> Optional[pulumi.Input['WorkspaceManagedNetworkArgs']]: + """ + A `managed_network` block as defined below. + """ + return pulumi.get(self, "managed_network") + + @managed_network.setter + def managed_network(self, value: Optional[pulumi.Input['WorkspaceManagedNetworkArgs']]): + pulumi.set(self, "managed_network", value) + @property @pulumi.getter def name(self) -> Optional[pulumi.Input[str]]: @@ -337,7 +353,7 @@ def public_network_access_enabled(self, value: Optional[pulumi.Input[bool]]): @pulumi.getter(name="skuName") def sku_name(self) -> Optional[pulumi.Input[str]]: """ - SKU/edition of the Machine Learning Workspace, possible values are `Basic`. Defaults to `Basic`. + SKU/edition of the Machine Learning Workspace, possible values are `Free`, `Basic`, `Standard` and `Premium`. Defaults to `Basic`. """ return pulumi.get(self, "sku_name") @@ -386,6 +402,7 @@ def __init__(__self__, *, key_vault_id: Optional[pulumi.Input[str]] = None, kind: Optional[pulumi.Input[str]] = None, location: Optional[pulumi.Input[str]] = None, + managed_network: Optional[pulumi.Input['WorkspaceManagedNetworkArgs']] = None, name: Optional[pulumi.Input[str]] = None, primary_user_assigned_identity: Optional[pulumi.Input[str]] = None, public_access_behind_virtual_network_enabled: Optional[pulumi.Input[bool]] = None, @@ -413,6 +430,7 @@ def __init__(__self__, *, :param pulumi.Input[str] key_vault_id: The ID of key vault associated with this Machine Learning Workspace. Changing this forces a new resource to be created. :param pulumi.Input[str] kind: The type of the Workspace. Possible values are `Default`, `FeatureStore`. Defaults to `Default` :param pulumi.Input[str] location: Specifies the supported Azure location where the Machine Learning Workspace should exist. Changing this forces a new resource to be created. + :param pulumi.Input['WorkspaceManagedNetworkArgs'] managed_network: A `managed_network` block as defined below. :param pulumi.Input[str] name: Specifies the name of the Machine Learning Workspace. Changing this forces a new resource to be created. :param pulumi.Input[str] primary_user_assigned_identity: The user assigned identity id that represents the workspace identity. :param pulumi.Input[bool] public_access_behind_virtual_network_enabled: Enable public access when this Machine Learning Workspace is behind a VNet. Changing this forces a new resource to be created. @@ -420,7 +438,7 @@ def __init__(__self__, *, > **NOTE:** `public_access_behind_virtual_network_enabled` is deprecated and will be removed in favour of the property `public_network_access_enabled`. :param pulumi.Input[str] resource_group_name: Specifies the name of the Resource Group in which the Machine Learning Workspace should exist. Changing this forces a new resource to be created. - :param pulumi.Input[str] sku_name: SKU/edition of the Machine Learning Workspace, possible values are `Basic`. Defaults to `Basic`. + :param pulumi.Input[str] sku_name: SKU/edition of the Machine Learning Workspace, possible values are `Free`, `Basic`, `Standard` and `Premium`. Defaults to `Basic`. :param pulumi.Input[str] storage_account_id: The ID of the Storage Account associated with this Machine Learning Workspace. Changing this forces a new resource to be created. > **NOTE:** The `account_tier` cannot be `Premium` in order to associate the Storage Account to this Machine Learning Workspace. @@ -454,6 +472,8 @@ def __init__(__self__, *, pulumi.set(__self__, "kind", kind) if location is not None: pulumi.set(__self__, "location", location) + if managed_network is not None: + pulumi.set(__self__, "managed_network", managed_network) if name is not None: pulumi.set(__self__, "name", name) if primary_user_assigned_identity is not None: @@ -636,6 +656,18 @@ def location(self) -> Optional[pulumi.Input[str]]: def location(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "location", value) + @property + @pulumi.getter(name="managedNetwork") + def managed_network(self) -> Optional[pulumi.Input['WorkspaceManagedNetworkArgs']]: + """ + A `managed_network` block as defined below. + """ + return pulumi.get(self, "managed_network") + + @managed_network.setter + def managed_network(self, value: Optional[pulumi.Input['WorkspaceManagedNetworkArgs']]): + pulumi.set(self, "managed_network", value) + @property @pulumi.getter def name(self) -> Optional[pulumi.Input[str]]: @@ -705,7 +737,7 @@ def resource_group_name(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="skuName") def sku_name(self) -> Optional[pulumi.Input[str]]: """ - SKU/edition of the Machine Learning Workspace, possible values are `Basic`. Defaults to `Basic`. + SKU/edition of the Machine Learning Workspace, possible values are `Free`, `Basic`, `Standard` and `Premium`. Defaults to `Basic`. """ return pulumi.get(self, "sku_name") @@ -781,6 +813,7 @@ def __init__(__self__, key_vault_id: Optional[pulumi.Input[str]] = None, kind: Optional[pulumi.Input[str]] = None, location: Optional[pulumi.Input[str]] = None, + managed_network: Optional[pulumi.Input[pulumi.InputType['WorkspaceManagedNetworkArgs']]] = None, name: Optional[pulumi.Input[str]] = None, primary_user_assigned_identity: Optional[pulumi.Input[str]] = None, public_access_behind_virtual_network_enabled: Optional[pulumi.Input[bool]] = None, @@ -1049,6 +1082,7 @@ def __init__(__self__, :param pulumi.Input[str] key_vault_id: The ID of key vault associated with this Machine Learning Workspace. Changing this forces a new resource to be created. :param pulumi.Input[str] kind: The type of the Workspace. Possible values are `Default`, `FeatureStore`. Defaults to `Default` :param pulumi.Input[str] location: Specifies the supported Azure location where the Machine Learning Workspace should exist. Changing this forces a new resource to be created. + :param pulumi.Input[pulumi.InputType['WorkspaceManagedNetworkArgs']] managed_network: A `managed_network` block as defined below. :param pulumi.Input[str] name: Specifies the name of the Machine Learning Workspace. Changing this forces a new resource to be created. :param pulumi.Input[str] primary_user_assigned_identity: The user assigned identity id that represents the workspace identity. :param pulumi.Input[bool] public_access_behind_virtual_network_enabled: Enable public access when this Machine Learning Workspace is behind a VNet. Changing this forces a new resource to be created. @@ -1056,7 +1090,7 @@ def __init__(__self__, > **NOTE:** `public_access_behind_virtual_network_enabled` is deprecated and will be removed in favour of the property `public_network_access_enabled`. :param pulumi.Input[str] resource_group_name: Specifies the name of the Resource Group in which the Machine Learning Workspace should exist. Changing this forces a new resource to be created. - :param pulumi.Input[str] sku_name: SKU/edition of the Machine Learning Workspace, possible values are `Basic`. Defaults to `Basic`. + :param pulumi.Input[str] sku_name: SKU/edition of the Machine Learning Workspace, possible values are `Free`, `Basic`, `Standard` and `Premium`. Defaults to `Basic`. :param pulumi.Input[str] storage_account_id: The ID of the Storage Account associated with this Machine Learning Workspace. Changing this forces a new resource to be created. > **NOTE:** The `account_tier` cannot be `Premium` in order to associate the Storage Account to this Machine Learning Workspace. @@ -1338,6 +1372,7 @@ def _internal_init(__self__, key_vault_id: Optional[pulumi.Input[str]] = None, kind: Optional[pulumi.Input[str]] = None, location: Optional[pulumi.Input[str]] = None, + managed_network: Optional[pulumi.Input[pulumi.InputType['WorkspaceManagedNetworkArgs']]] = None, name: Optional[pulumi.Input[str]] = None, primary_user_assigned_identity: Optional[pulumi.Input[str]] = None, public_access_behind_virtual_network_enabled: Optional[pulumi.Input[bool]] = None, @@ -1374,6 +1409,7 @@ def _internal_init(__self__, __props__.__dict__["key_vault_id"] = key_vault_id __props__.__dict__["kind"] = kind __props__.__dict__["location"] = location + __props__.__dict__["managed_network"] = managed_network __props__.__dict__["name"] = name __props__.__dict__["primary_user_assigned_identity"] = primary_user_assigned_identity __props__.__dict__["public_access_behind_virtual_network_enabled"] = public_access_behind_virtual_network_enabled @@ -1412,6 +1448,7 @@ def get(resource_name: str, key_vault_id: Optional[pulumi.Input[str]] = None, kind: Optional[pulumi.Input[str]] = None, location: Optional[pulumi.Input[str]] = None, + managed_network: Optional[pulumi.Input[pulumi.InputType['WorkspaceManagedNetworkArgs']]] = None, name: Optional[pulumi.Input[str]] = None, primary_user_assigned_identity: Optional[pulumi.Input[str]] = None, public_access_behind_virtual_network_enabled: Optional[pulumi.Input[bool]] = None, @@ -1444,6 +1481,7 @@ def get(resource_name: str, :param pulumi.Input[str] key_vault_id: The ID of key vault associated with this Machine Learning Workspace. Changing this forces a new resource to be created. :param pulumi.Input[str] kind: The type of the Workspace. Possible values are `Default`, `FeatureStore`. Defaults to `Default` :param pulumi.Input[str] location: Specifies the supported Azure location where the Machine Learning Workspace should exist. Changing this forces a new resource to be created. + :param pulumi.Input[pulumi.InputType['WorkspaceManagedNetworkArgs']] managed_network: A `managed_network` block as defined below. :param pulumi.Input[str] name: Specifies the name of the Machine Learning Workspace. Changing this forces a new resource to be created. :param pulumi.Input[str] primary_user_assigned_identity: The user assigned identity id that represents the workspace identity. :param pulumi.Input[bool] public_access_behind_virtual_network_enabled: Enable public access when this Machine Learning Workspace is behind a VNet. Changing this forces a new resource to be created. @@ -1451,7 +1489,7 @@ def get(resource_name: str, > **NOTE:** `public_access_behind_virtual_network_enabled` is deprecated and will be removed in favour of the property `public_network_access_enabled`. :param pulumi.Input[str] resource_group_name: Specifies the name of the Resource Group in which the Machine Learning Workspace should exist. Changing this forces a new resource to be created. - :param pulumi.Input[str] sku_name: SKU/edition of the Machine Learning Workspace, possible values are `Basic`. Defaults to `Basic`. + :param pulumi.Input[str] sku_name: SKU/edition of the Machine Learning Workspace, possible values are `Free`, `Basic`, `Standard` and `Premium`. Defaults to `Basic`. :param pulumi.Input[str] storage_account_id: The ID of the Storage Account associated with this Machine Learning Workspace. Changing this forces a new resource to be created. > **NOTE:** The `account_tier` cannot be `Premium` in order to associate the Storage Account to this Machine Learning Workspace. @@ -1476,6 +1514,7 @@ def get(resource_name: str, __props__.__dict__["key_vault_id"] = key_vault_id __props__.__dict__["kind"] = kind __props__.__dict__["location"] = location + __props__.__dict__["managed_network"] = managed_network __props__.__dict__["name"] = name __props__.__dict__["primary_user_assigned_identity"] = primary_user_assigned_identity __props__.__dict__["public_access_behind_virtual_network_enabled"] = public_access_behind_virtual_network_enabled @@ -1594,6 +1633,14 @@ def location(self) -> pulumi.Output[str]: """ return pulumi.get(self, "location") + @property + @pulumi.getter(name="managedNetwork") + def managed_network(self) -> pulumi.Output['outputs.WorkspaceManagedNetwork']: + """ + A `managed_network` block as defined below. + """ + return pulumi.get(self, "managed_network") + @property @pulumi.getter def name(self) -> pulumi.Output[str]: @@ -1643,7 +1690,7 @@ def resource_group_name(self) -> pulumi.Output[str]: @pulumi.getter(name="skuName") def sku_name(self) -> pulumi.Output[Optional[str]]: """ - SKU/edition of the Machine Learning Workspace, possible values are `Basic`. Defaults to `Basic`. + SKU/edition of the Machine Learning Workspace, possible values are `Free`, `Basic`, `Standard` and `Premium`. Defaults to `Basic`. """ return pulumi.get(self, "sku_name") diff --git a/sdk/python/pulumi_azure/mssql/_inputs.py b/sdk/python/pulumi_azure/mssql/_inputs.py index ad7d280060..c688dc887d 100644 --- a/sdk/python/pulumi_azure/mssql/_inputs.py +++ b/sdk/python/pulumi_azure/mssql/_inputs.py @@ -1000,7 +1000,7 @@ def __init__(__self__, *, """ :param pulumi.Input[str] login_username: The login username of the Azure AD Administrator of this SQL Server. :param pulumi.Input[str] object_id: The object id of the Azure AD Administrator of this SQL Server. - :param pulumi.Input[bool] azuread_authentication_only: Specifies whether only AD Users and administrators (e.g. `azuread_administrator.0.login_username`) can be used to login, or also local database users (e.g. `administrator_login`). When `true`, the `administrator_login` and `administrator_login_password` properties can be omitted. + :param pulumi.Input[bool] azuread_authentication_only: Specifies whether only AD Users and administrators (e.g. `azuread_administrator[0].login_username`) can be used to login, or also local database users (e.g. `administrator_login`). When `true`, the `administrator_login` and `administrator_login_password` properties can be omitted. :param pulumi.Input[str] tenant_id: The tenant id of the Azure AD Administrator of this SQL Server. """ pulumi.set(__self__, "login_username", login_username) @@ -1038,7 +1038,7 @@ def object_id(self, value: pulumi.Input[str]): @pulumi.getter(name="azureadAuthenticationOnly") def azuread_authentication_only(self) -> Optional[pulumi.Input[bool]]: """ - Specifies whether only AD Users and administrators (e.g. `azuread_administrator.0.login_username`) can be used to login, or also local database users (e.g. `administrator_login`). When `true`, the `administrator_login` and `administrator_login_password` properties can be omitted. + Specifies whether only AD Users and administrators (e.g. `azuread_administrator[0].login_username`) can be used to login, or also local database users (e.g. `administrator_login`). When `true`, the `administrator_login` and `administrator_login_password` properties can be omitted. """ return pulumi.get(self, "azuread_authentication_only") diff --git a/sdk/python/pulumi_azure/mssql/database.py b/sdk/python/pulumi_azure/mssql/database.py index 96448d100b..e53bc644f9 100644 --- a/sdk/python/pulumi_azure/mssql/database.py +++ b/sdk/python/pulumi_azure/mssql/database.py @@ -36,7 +36,9 @@ def __init__(__self__, *, read_replica_count: Optional[pulumi.Input[int]] = None, read_scale: Optional[pulumi.Input[bool]] = None, recover_database_id: Optional[pulumi.Input[str]] = None, + recovery_point_id: Optional[pulumi.Input[str]] = None, restore_dropped_database_id: Optional[pulumi.Input[str]] = None, + restore_long_term_retention_backup_id: Optional[pulumi.Input[str]] = None, restore_point_in_time: Optional[pulumi.Input[str]] = None, sample_name: Optional[pulumi.Input[str]] = None, short_term_retention_policy: Optional[pulumi.Input['DatabaseShortTermRetentionPolicyArgs']] = None, @@ -84,7 +86,9 @@ def __init__(__self__, *, :param pulumi.Input[int] read_replica_count: The number of readonly secondary replicas associated with the database to which readonly application intent connections may be routed. This property is only settable for Hyperscale edition databases. :param pulumi.Input[bool] read_scale: If enabled, connections that have application intent set to readonly in their connection string may be routed to a readonly secondary replica. This property is only settable for Premium and Business Critical databases. :param pulumi.Input[str] recover_database_id: The ID of the database to be recovered. This property is only applicable when the `create_mode` is `Recovery`. + :param pulumi.Input[str] recovery_point_id: The ID of the Recovery Services Recovery Point Id to be restored. This property is only applicable when the `create_mode` is `Recovery`. :param pulumi.Input[str] restore_dropped_database_id: The ID of the database to be restored. This property is only applicable when the `create_mode` is `Restore`. + :param pulumi.Input[str] restore_long_term_retention_backup_id: The ID of the long term retention backup to be restored. This property is only applicable when the `create_mode` is `RestoreLongTermRetentionBackup`. :param pulumi.Input[str] restore_point_in_time: Specifies the point in time (ISO8601 format) of the source database that will be restored to create the new database. This property is only settable for `create_mode`= `PointInTimeRestore` databases. :param pulumi.Input[str] sample_name: Specifies the name of the sample schema to apply when creating this database. Possible value is `AdventureWorksLT`. :param pulumi.Input['DatabaseShortTermRetentionPolicyArgs'] short_term_retention_policy: A `short_term_retention_policy` block as defined below. @@ -142,8 +146,12 @@ def __init__(__self__, *, pulumi.set(__self__, "read_scale", read_scale) if recover_database_id is not None: pulumi.set(__self__, "recover_database_id", recover_database_id) + if recovery_point_id is not None: + pulumi.set(__self__, "recovery_point_id", recovery_point_id) if restore_dropped_database_id is not None: pulumi.set(__self__, "restore_dropped_database_id", restore_dropped_database_id) + if restore_long_term_retention_backup_id is not None: + pulumi.set(__self__, "restore_long_term_retention_backup_id", restore_long_term_retention_backup_id) if restore_point_in_time is not None: pulumi.set(__self__, "restore_point_in_time", restore_point_in_time) if sample_name is not None: @@ -421,6 +429,18 @@ def recover_database_id(self) -> Optional[pulumi.Input[str]]: def recover_database_id(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "recover_database_id", value) + @property + @pulumi.getter(name="recoveryPointId") + def recovery_point_id(self) -> Optional[pulumi.Input[str]]: + """ + The ID of the Recovery Services Recovery Point Id to be restored. This property is only applicable when the `create_mode` is `Recovery`. + """ + return pulumi.get(self, "recovery_point_id") + + @recovery_point_id.setter + def recovery_point_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "recovery_point_id", value) + @property @pulumi.getter(name="restoreDroppedDatabaseId") def restore_dropped_database_id(self) -> Optional[pulumi.Input[str]]: @@ -433,6 +453,18 @@ def restore_dropped_database_id(self) -> Optional[pulumi.Input[str]]: def restore_dropped_database_id(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "restore_dropped_database_id", value) + @property + @pulumi.getter(name="restoreLongTermRetentionBackupId") + def restore_long_term_retention_backup_id(self) -> Optional[pulumi.Input[str]]: + """ + The ID of the long term retention backup to be restored. This property is only applicable when the `create_mode` is `RestoreLongTermRetentionBackup`. + """ + return pulumi.get(self, "restore_long_term_retention_backup_id") + + @restore_long_term_retention_backup_id.setter + def restore_long_term_retention_backup_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "restore_long_term_retention_backup_id", value) + @property @pulumi.getter(name="restorePointInTime") def restore_point_in_time(self) -> Optional[pulumi.Input[str]]: @@ -594,7 +626,9 @@ def __init__(__self__, *, read_replica_count: Optional[pulumi.Input[int]] = None, read_scale: Optional[pulumi.Input[bool]] = None, recover_database_id: Optional[pulumi.Input[str]] = None, + recovery_point_id: Optional[pulumi.Input[str]] = None, restore_dropped_database_id: Optional[pulumi.Input[str]] = None, + restore_long_term_retention_backup_id: Optional[pulumi.Input[str]] = None, restore_point_in_time: Optional[pulumi.Input[str]] = None, sample_name: Optional[pulumi.Input[str]] = None, server_id: Optional[pulumi.Input[str]] = None, @@ -640,7 +674,9 @@ def __init__(__self__, *, :param pulumi.Input[int] read_replica_count: The number of readonly secondary replicas associated with the database to which readonly application intent connections may be routed. This property is only settable for Hyperscale edition databases. :param pulumi.Input[bool] read_scale: If enabled, connections that have application intent set to readonly in their connection string may be routed to a readonly secondary replica. This property is only settable for Premium and Business Critical databases. :param pulumi.Input[str] recover_database_id: The ID of the database to be recovered. This property is only applicable when the `create_mode` is `Recovery`. + :param pulumi.Input[str] recovery_point_id: The ID of the Recovery Services Recovery Point Id to be restored. This property is only applicable when the `create_mode` is `Recovery`. :param pulumi.Input[str] restore_dropped_database_id: The ID of the database to be restored. This property is only applicable when the `create_mode` is `Restore`. + :param pulumi.Input[str] restore_long_term_retention_backup_id: The ID of the long term retention backup to be restored. This property is only applicable when the `create_mode` is `RestoreLongTermRetentionBackup`. :param pulumi.Input[str] restore_point_in_time: Specifies the point in time (ISO8601 format) of the source database that will be restored to create the new database. This property is only settable for `create_mode`= `PointInTimeRestore` databases. :param pulumi.Input[str] sample_name: Specifies the name of the sample schema to apply when creating this database. Possible value is `AdventureWorksLT`. :param pulumi.Input[str] server_id: The id of the MS SQL Server on which to create the database. Changing this forces a new resource to be created. @@ -700,8 +736,12 @@ def __init__(__self__, *, pulumi.set(__self__, "read_scale", read_scale) if recover_database_id is not None: pulumi.set(__self__, "recover_database_id", recover_database_id) + if recovery_point_id is not None: + pulumi.set(__self__, "recovery_point_id", recovery_point_id) if restore_dropped_database_id is not None: pulumi.set(__self__, "restore_dropped_database_id", restore_dropped_database_id) + if restore_long_term_retention_backup_id is not None: + pulumi.set(__self__, "restore_long_term_retention_backup_id", restore_long_term_retention_backup_id) if restore_point_in_time is not None: pulumi.set(__self__, "restore_point_in_time", restore_point_in_time) if sample_name is not None: @@ -967,6 +1007,18 @@ def recover_database_id(self) -> Optional[pulumi.Input[str]]: def recover_database_id(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "recover_database_id", value) + @property + @pulumi.getter(name="recoveryPointId") + def recovery_point_id(self) -> Optional[pulumi.Input[str]]: + """ + The ID of the Recovery Services Recovery Point Id to be restored. This property is only applicable when the `create_mode` is `Recovery`. + """ + return pulumi.get(self, "recovery_point_id") + + @recovery_point_id.setter + def recovery_point_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "recovery_point_id", value) + @property @pulumi.getter(name="restoreDroppedDatabaseId") def restore_dropped_database_id(self) -> Optional[pulumi.Input[str]]: @@ -979,6 +1031,18 @@ def restore_dropped_database_id(self) -> Optional[pulumi.Input[str]]: def restore_dropped_database_id(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "restore_dropped_database_id", value) + @property + @pulumi.getter(name="restoreLongTermRetentionBackupId") + def restore_long_term_retention_backup_id(self) -> Optional[pulumi.Input[str]]: + """ + The ID of the long term retention backup to be restored. This property is only applicable when the `create_mode` is `RestoreLongTermRetentionBackup`. + """ + return pulumi.get(self, "restore_long_term_retention_backup_id") + + @restore_long_term_retention_backup_id.setter + def restore_long_term_retention_backup_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "restore_long_term_retention_backup_id", value) + @property @pulumi.getter(name="restorePointInTime") def restore_point_in_time(self) -> Optional[pulumi.Input[str]]: @@ -1156,7 +1220,9 @@ def __init__(__self__, read_replica_count: Optional[pulumi.Input[int]] = None, read_scale: Optional[pulumi.Input[bool]] = None, recover_database_id: Optional[pulumi.Input[str]] = None, + recovery_point_id: Optional[pulumi.Input[str]] = None, restore_dropped_database_id: Optional[pulumi.Input[str]] = None, + restore_long_term_retention_backup_id: Optional[pulumi.Input[str]] = None, restore_point_in_time: Optional[pulumi.Input[str]] = None, sample_name: Optional[pulumi.Input[str]] = None, server_id: Optional[pulumi.Input[str]] = None, @@ -1337,7 +1403,9 @@ def __init__(__self__, :param pulumi.Input[int] read_replica_count: The number of readonly secondary replicas associated with the database to which readonly application intent connections may be routed. This property is only settable for Hyperscale edition databases. :param pulumi.Input[bool] read_scale: If enabled, connections that have application intent set to readonly in their connection string may be routed to a readonly secondary replica. This property is only settable for Premium and Business Critical databases. :param pulumi.Input[str] recover_database_id: The ID of the database to be recovered. This property is only applicable when the `create_mode` is `Recovery`. + :param pulumi.Input[str] recovery_point_id: The ID of the Recovery Services Recovery Point Id to be restored. This property is only applicable when the `create_mode` is `Recovery`. :param pulumi.Input[str] restore_dropped_database_id: The ID of the database to be restored. This property is only applicable when the `create_mode` is `Restore`. + :param pulumi.Input[str] restore_long_term_retention_backup_id: The ID of the long term retention backup to be restored. This property is only applicable when the `create_mode` is `RestoreLongTermRetentionBackup`. :param pulumi.Input[str] restore_point_in_time: Specifies the point in time (ISO8601 format) of the source database that will be restored to create the new database. This property is only settable for `create_mode`= `PointInTimeRestore` databases. :param pulumi.Input[str] sample_name: Specifies the name of the sample schema to apply when creating this database. Possible value is `AdventureWorksLT`. :param pulumi.Input[str] server_id: The id of the MS SQL Server on which to create the database. Changing this forces a new resource to be created. @@ -1533,7 +1601,9 @@ def _internal_init(__self__, read_replica_count: Optional[pulumi.Input[int]] = None, read_scale: Optional[pulumi.Input[bool]] = None, recover_database_id: Optional[pulumi.Input[str]] = None, + recovery_point_id: Optional[pulumi.Input[str]] = None, restore_dropped_database_id: Optional[pulumi.Input[str]] = None, + restore_long_term_retention_backup_id: Optional[pulumi.Input[str]] = None, restore_point_in_time: Optional[pulumi.Input[str]] = None, sample_name: Optional[pulumi.Input[str]] = None, server_id: Optional[pulumi.Input[str]] = None, @@ -1574,7 +1644,9 @@ def _internal_init(__self__, __props__.__dict__["read_replica_count"] = read_replica_count __props__.__dict__["read_scale"] = read_scale __props__.__dict__["recover_database_id"] = recover_database_id + __props__.__dict__["recovery_point_id"] = recovery_point_id __props__.__dict__["restore_dropped_database_id"] = restore_dropped_database_id + __props__.__dict__["restore_long_term_retention_backup_id"] = restore_long_term_retention_backup_id __props__.__dict__["restore_point_in_time"] = restore_point_in_time __props__.__dict__["sample_name"] = sample_name if server_id is None and not opts.urn: @@ -1618,7 +1690,9 @@ def get(resource_name: str, read_replica_count: Optional[pulumi.Input[int]] = None, read_scale: Optional[pulumi.Input[bool]] = None, recover_database_id: Optional[pulumi.Input[str]] = None, + recovery_point_id: Optional[pulumi.Input[str]] = None, restore_dropped_database_id: Optional[pulumi.Input[str]] = None, + restore_long_term_retention_backup_id: Optional[pulumi.Input[str]] = None, restore_point_in_time: Optional[pulumi.Input[str]] = None, sample_name: Optional[pulumi.Input[str]] = None, server_id: Optional[pulumi.Input[str]] = None, @@ -1669,7 +1743,9 @@ def get(resource_name: str, :param pulumi.Input[int] read_replica_count: The number of readonly secondary replicas associated with the database to which readonly application intent connections may be routed. This property is only settable for Hyperscale edition databases. :param pulumi.Input[bool] read_scale: If enabled, connections that have application intent set to readonly in their connection string may be routed to a readonly secondary replica. This property is only settable for Premium and Business Critical databases. :param pulumi.Input[str] recover_database_id: The ID of the database to be recovered. This property is only applicable when the `create_mode` is `Recovery`. + :param pulumi.Input[str] recovery_point_id: The ID of the Recovery Services Recovery Point Id to be restored. This property is only applicable when the `create_mode` is `Recovery`. :param pulumi.Input[str] restore_dropped_database_id: The ID of the database to be restored. This property is only applicable when the `create_mode` is `Restore`. + :param pulumi.Input[str] restore_long_term_retention_backup_id: The ID of the long term retention backup to be restored. This property is only applicable when the `create_mode` is `RestoreLongTermRetentionBackup`. :param pulumi.Input[str] restore_point_in_time: Specifies the point in time (ISO8601 format) of the source database that will be restored to create the new database. This property is only settable for `create_mode`= `PointInTimeRestore` databases. :param pulumi.Input[str] sample_name: Specifies the name of the sample schema to apply when creating this database. Possible value is `AdventureWorksLT`. :param pulumi.Input[str] server_id: The id of the MS SQL Server on which to create the database. Changing this forces a new resource to be created. @@ -1714,7 +1790,9 @@ def get(resource_name: str, __props__.__dict__["read_replica_count"] = read_replica_count __props__.__dict__["read_scale"] = read_scale __props__.__dict__["recover_database_id"] = recover_database_id + __props__.__dict__["recovery_point_id"] = recovery_point_id __props__.__dict__["restore_dropped_database_id"] = restore_dropped_database_id + __props__.__dict__["restore_long_term_retention_backup_id"] = restore_long_term_retention_backup_id __props__.__dict__["restore_point_in_time"] = restore_point_in_time __props__.__dict__["sample_name"] = sample_name __props__.__dict__["server_id"] = server_id @@ -1893,6 +1971,14 @@ def recover_database_id(self) -> pulumi.Output[Optional[str]]: """ return pulumi.get(self, "recover_database_id") + @property + @pulumi.getter(name="recoveryPointId") + def recovery_point_id(self) -> pulumi.Output[Optional[str]]: + """ + The ID of the Recovery Services Recovery Point Id to be restored. This property is only applicable when the `create_mode` is `Recovery`. + """ + return pulumi.get(self, "recovery_point_id") + @property @pulumi.getter(name="restoreDroppedDatabaseId") def restore_dropped_database_id(self) -> pulumi.Output[Optional[str]]: @@ -1901,6 +1987,14 @@ def restore_dropped_database_id(self) -> pulumi.Output[Optional[str]]: """ return pulumi.get(self, "restore_dropped_database_id") + @property + @pulumi.getter(name="restoreLongTermRetentionBackupId") + def restore_long_term_retention_backup_id(self) -> pulumi.Output[Optional[str]]: + """ + The ID of the long term retention backup to be restored. This property is only applicable when the `create_mode` is `RestoreLongTermRetentionBackup`. + """ + return pulumi.get(self, "restore_long_term_retention_backup_id") + @property @pulumi.getter(name="restorePointInTime") def restore_point_in_time(self) -> pulumi.Output[str]: diff --git a/sdk/python/pulumi_azure/mssql/managed_instance.py b/sdk/python/pulumi_azure/mssql/managed_instance.py index b7b8cd06d9..43fc51c1b2 100644 --- a/sdk/python/pulumi_azure/mssql/managed_instance.py +++ b/sdk/python/pulumi_azure/mssql/managed_instance.py @@ -35,7 +35,8 @@ def __init__(__self__, *, public_data_endpoint_enabled: Optional[pulumi.Input[bool]] = None, storage_account_type: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, - timezone_id: Optional[pulumi.Input[str]] = None): + timezone_id: Optional[pulumi.Input[str]] = None, + zone_redundant_enabled: Optional[pulumi.Input[bool]] = None): """ The set of arguments for constructing a ManagedInstance resource. :param pulumi.Input[str] administrator_login: The administrator login name for the new SQL Managed Instance. Changing this forces a new resource to be created. @@ -91,6 +92,8 @@ def __init__(__self__, *, pulumi.set(__self__, "tags", tags) if timezone_id is not None: pulumi.set(__self__, "timezone_id", timezone_id) + if zone_redundant_enabled is not None: + pulumi.set(__self__, "zone_redundant_enabled", zone_redundant_enabled) @property @pulumi.getter(name="administratorLogin") @@ -332,6 +335,15 @@ def timezone_id(self) -> Optional[pulumi.Input[str]]: def timezone_id(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "timezone_id", value) + @property + @pulumi.getter(name="zoneRedundantEnabled") + def zone_redundant_enabled(self) -> Optional[pulumi.Input[bool]]: + return pulumi.get(self, "zone_redundant_enabled") + + @zone_redundant_enabled.setter + def zone_redundant_enabled(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "zone_redundant_enabled", value) + @pulumi.input_type class _ManagedInstanceState: @@ -357,7 +369,8 @@ def __init__(__self__, *, subnet_id: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, timezone_id: Optional[pulumi.Input[str]] = None, - vcores: Optional[pulumi.Input[int]] = None): + vcores: Optional[pulumi.Input[int]] = None, + zone_redundant_enabled: Optional[pulumi.Input[bool]] = None): """ Input properties used for looking up and filtering ManagedInstance resources. :param pulumi.Input[str] administrator_login: The administrator login name for the new SQL Managed Instance. Changing this forces a new resource to be created. @@ -427,6 +440,8 @@ def __init__(__self__, *, pulumi.set(__self__, "timezone_id", timezone_id) if vcores is not None: pulumi.set(__self__, "vcores", vcores) + if zone_redundant_enabled is not None: + pulumi.set(__self__, "zone_redundant_enabled", zone_redundant_enabled) @property @pulumi.getter(name="administratorLogin") @@ -692,6 +707,15 @@ def vcores(self) -> Optional[pulumi.Input[int]]: def vcores(self, value: Optional[pulumi.Input[int]]): pulumi.set(self, "vcores", value) + @property + @pulumi.getter(name="zoneRedundantEnabled") + def zone_redundant_enabled(self) -> Optional[pulumi.Input[bool]]: + return pulumi.get(self, "zone_redundant_enabled") + + @zone_redundant_enabled.setter + def zone_redundant_enabled(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "zone_redundant_enabled", value) + class ManagedInstance(pulumi.CustomResource): @overload @@ -718,6 +742,7 @@ def __init__(__self__, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, timezone_id: Optional[pulumi.Input[str]] = None, vcores: Optional[pulumi.Input[int]] = None, + zone_redundant_enabled: Optional[pulumi.Input[bool]] = None, __props__=None): """ Manages a Microsoft SQL Azure Managed Instance. @@ -1137,6 +1162,7 @@ def _internal_init(__self__, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, timezone_id: Optional[pulumi.Input[str]] = None, vcores: Optional[pulumi.Input[int]] = None, + zone_redundant_enabled: Optional[pulumi.Input[bool]] = None, __props__=None): opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) if not isinstance(opts, pulumi.ResourceOptions): @@ -1182,6 +1208,7 @@ def _internal_init(__self__, if vcores is None and not opts.urn: raise TypeError("Missing required property 'vcores'") __props__.__dict__["vcores"] = vcores + __props__.__dict__["zone_redundant_enabled"] = zone_redundant_enabled __props__.__dict__["dns_zone"] = None __props__.__dict__["fqdn"] = None secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["administratorLoginPassword"]) @@ -1217,7 +1244,8 @@ def get(resource_name: str, subnet_id: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, timezone_id: Optional[pulumi.Input[str]] = None, - vcores: Optional[pulumi.Input[int]] = None) -> 'ManagedInstance': + vcores: Optional[pulumi.Input[int]] = None, + zone_redundant_enabled: Optional[pulumi.Input[bool]] = None) -> 'ManagedInstance': """ Get an existing ManagedInstance resource's state with the given name, id, and optional extra properties used to qualify the lookup. @@ -1274,6 +1302,7 @@ def get(resource_name: str, __props__.__dict__["tags"] = tags __props__.__dict__["timezone_id"] = timezone_id __props__.__dict__["vcores"] = vcores + __props__.__dict__["zone_redundant_enabled"] = zone_redundant_enabled return ManagedInstance(resource_name, opts=opts, __props__=__props__) @property @@ -1452,3 +1481,8 @@ def vcores(self) -> pulumi.Output[int]: """ return pulumi.get(self, "vcores") + @property + @pulumi.getter(name="zoneRedundantEnabled") + def zone_redundant_enabled(self) -> pulumi.Output[Optional[bool]]: + return pulumi.get(self, "zone_redundant_enabled") + diff --git a/sdk/python/pulumi_azure/mssql/outputs.py b/sdk/python/pulumi_azure/mssql/outputs.py index d0717fdac0..86a15529b6 100644 --- a/sdk/python/pulumi_azure/mssql/outputs.py +++ b/sdk/python/pulumi_azure/mssql/outputs.py @@ -1068,7 +1068,7 @@ def __init__(__self__, *, """ :param str login_username: The login username of the Azure AD Administrator of this SQL Server. :param str object_id: The object id of the Azure AD Administrator of this SQL Server. - :param bool azuread_authentication_only: Specifies whether only AD Users and administrators (e.g. `azuread_administrator.0.login_username`) can be used to login, or also local database users (e.g. `administrator_login`). When `true`, the `administrator_login` and `administrator_login_password` properties can be omitted. + :param bool azuread_authentication_only: Specifies whether only AD Users and administrators (e.g. `azuread_administrator[0].login_username`) can be used to login, or also local database users (e.g. `administrator_login`). When `true`, the `administrator_login` and `administrator_login_password` properties can be omitted. :param str tenant_id: The tenant id of the Azure AD Administrator of this SQL Server. """ pulumi.set(__self__, "login_username", login_username) @@ -1098,7 +1098,7 @@ def object_id(self) -> str: @pulumi.getter(name="azureadAuthenticationOnly") def azuread_authentication_only(self) -> Optional[bool]: """ - Specifies whether only AD Users and administrators (e.g. `azuread_administrator.0.login_username`) can be used to login, or also local database users (e.g. `administrator_login`). When `true`, the `administrator_login` and `administrator_login_password` properties can be omitted. + Specifies whether only AD Users and administrators (e.g. `azuread_administrator[0].login_username`) can be used to login, or also local database users (e.g. `administrator_login`). When `true`, the `administrator_login` and `administrator_login_password` properties can be omitted. """ return pulumi.get(self, "azuread_authentication_only") diff --git a/sdk/python/pulumi_azure/mssql/server_vulnerability_assessment.py b/sdk/python/pulumi_azure/mssql/server_vulnerability_assessment.py index 45b73c1684..6364047eae 100644 --- a/sdk/python/pulumi_azure/mssql/server_vulnerability_assessment.py +++ b/sdk/python/pulumi_azure/mssql/server_vulnerability_assessment.py @@ -228,7 +228,7 @@ def __init__(__self__, example = azure.core.ResourceGroup("example", name="example-resources", location="West Europe") - example_sql_server = azure.sql.SqlServer("example", + example_server = azure.mssql.Server("example", name="mysqlserver", resource_group_name=example.name, location=example.location, @@ -247,7 +247,7 @@ def __init__(__self__, container_access_type="private") example_server_security_alert_policy = azure.mssql.ServerSecurityAlertPolicy("example", resource_group_name=example.name, - server_name=example_sql_server.name, + server_name=example_server.name, state="Enabled") example_server_vulnerability_assessment = azure.mssql.ServerVulnerabilityAssessment("example", server_security_alert_policy_id=example_server_security_alert_policy.id, @@ -303,7 +303,7 @@ def __init__(__self__, example = azure.core.ResourceGroup("example", name="example-resources", location="West Europe") - example_sql_server = azure.sql.SqlServer("example", + example_server = azure.mssql.Server("example", name="mysqlserver", resource_group_name=example.name, location=example.location, @@ -322,7 +322,7 @@ def __init__(__self__, container_access_type="private") example_server_security_alert_policy = azure.mssql.ServerSecurityAlertPolicy("example", resource_group_name=example.name, - server_name=example_sql_server.name, + server_name=example_server.name, state="Enabled") example_server_vulnerability_assessment = azure.mssql.ServerVulnerabilityAssessment("example", server_security_alert_policy_id=example_server_security_alert_policy.id, diff --git a/sdk/python/pulumi_azure/mysql/_inputs.py b/sdk/python/pulumi_azure/mysql/_inputs.py index 3dfae20e0d..affb184b07 100644 --- a/sdk/python/pulumi_azure/mysql/_inputs.py +++ b/sdk/python/pulumi_azure/mysql/_inputs.py @@ -102,7 +102,7 @@ def __init__(__self__, *, """ :param pulumi.Input[str] mode: The high availability mode for the MySQL Flexible Server. Possibles values are `SameZone` and `ZoneRedundant`. - > **NOTE:** `storage.0.auto_grow_enabled` must be enabled when `high_availability` is enabled. To change the `high_availability` for a MySQL Flexible Server created with `high_availability` disabled during creation, the resource has to be recreated. + > **NOTE:** `storage[0].auto_grow_enabled` must be enabled when `high_availability` is enabled. To change the `high_availability` for a MySQL Flexible Server created with `high_availability` disabled during creation, the resource has to be recreated. """ pulumi.set(__self__, "mode", mode) if standby_availability_zone is not None: @@ -114,7 +114,7 @@ def mode(self) -> pulumi.Input[str]: """ The high availability mode for the MySQL Flexible Server. Possibles values are `SameZone` and `ZoneRedundant`. - > **NOTE:** `storage.0.auto_grow_enabled` must be enabled when `high_availability` is enabled. To change the `high_availability` for a MySQL Flexible Server created with `high_availability` disabled during creation, the resource has to be recreated. + > **NOTE:** `storage[0].auto_grow_enabled` must be enabled when `high_availability` is enabled. To change the `high_availability` for a MySQL Flexible Server created with `high_availability` disabled during creation, the resource has to be recreated. """ return pulumi.get(self, "mode") diff --git a/sdk/python/pulumi_azure/mysql/outputs.py b/sdk/python/pulumi_azure/mysql/outputs.py index dd4b41c9d8..059f3318b4 100644 --- a/sdk/python/pulumi_azure/mysql/outputs.py +++ b/sdk/python/pulumi_azure/mysql/outputs.py @@ -131,7 +131,7 @@ def __init__(__self__, *, """ :param str mode: The high availability mode for the MySQL Flexible Server. Possibles values are `SameZone` and `ZoneRedundant`. - > **NOTE:** `storage.0.auto_grow_enabled` must be enabled when `high_availability` is enabled. To change the `high_availability` for a MySQL Flexible Server created with `high_availability` disabled during creation, the resource has to be recreated. + > **NOTE:** `storage[0].auto_grow_enabled` must be enabled when `high_availability` is enabled. To change the `high_availability` for a MySQL Flexible Server created with `high_availability` disabled during creation, the resource has to be recreated. """ pulumi.set(__self__, "mode", mode) if standby_availability_zone is not None: @@ -143,7 +143,7 @@ def mode(self) -> str: """ The high availability mode for the MySQL Flexible Server. Possibles values are `SameZone` and `ZoneRedundant`. - > **NOTE:** `storage.0.auto_grow_enabled` must be enabled when `high_availability` is enabled. To change the `high_availability` for a MySQL Flexible Server created with `high_availability` disabled during creation, the resource has to be recreated. + > **NOTE:** `storage[0].auto_grow_enabled` must be enabled when `high_availability` is enabled. To change the `high_availability` for a MySQL Flexible Server created with `high_availability` disabled during creation, the resource has to be recreated. """ return pulumi.get(self, "mode") diff --git a/sdk/python/pulumi_azure/netapp/get_pool.py b/sdk/python/pulumi_azure/netapp/get_pool.py index f1fea9c9a7..24fcbe568a 100644 --- a/sdk/python/pulumi_azure/netapp/get_pool.py +++ b/sdk/python/pulumi_azure/netapp/get_pool.py @@ -21,10 +21,13 @@ class GetPoolResult: """ A collection of values returned by getPool. """ - def __init__(__self__, account_name=None, id=None, location=None, name=None, resource_group_name=None, service_level=None, size_in_tb=None): + def __init__(__self__, account_name=None, encryption_type=None, id=None, location=None, name=None, resource_group_name=None, service_level=None, size_in_tb=None): if account_name and not isinstance(account_name, str): raise TypeError("Expected argument 'account_name' to be a str") pulumi.set(__self__, "account_name", account_name) + if encryption_type and not isinstance(encryption_type, str): + raise TypeError("Expected argument 'encryption_type' to be a str") + pulumi.set(__self__, "encryption_type", encryption_type) if id and not isinstance(id, str): raise TypeError("Expected argument 'id' to be a str") pulumi.set(__self__, "id", id) @@ -49,6 +52,14 @@ def __init__(__self__, account_name=None, id=None, location=None, name=None, res def account_name(self) -> str: return pulumi.get(self, "account_name") + @property + @pulumi.getter(name="encryptionType") + def encryption_type(self) -> str: + """ + The encryption type of the pool. + """ + return pulumi.get(self, "encryption_type") + @property @pulumi.getter def id(self) -> str: @@ -99,6 +110,7 @@ def __await__(self): yield self return GetPoolResult( account_name=self.account_name, + encryption_type=self.encryption_type, id=self.id, location=self.location, name=self.name, @@ -140,6 +152,7 @@ def get_pool(account_name: Optional[str] = None, return AwaitableGetPoolResult( account_name=pulumi.get(__ret__, 'account_name'), + encryption_type=pulumi.get(__ret__, 'encryption_type'), id=pulumi.get(__ret__, 'id'), location=pulumi.get(__ret__, 'location'), name=pulumi.get(__ret__, 'name'), diff --git a/sdk/python/pulumi_azure/netapp/get_volume.py b/sdk/python/pulumi_azure/netapp/get_volume.py index 77c5ea1e15..57e82b638c 100644 --- a/sdk/python/pulumi_azure/netapp/get_volume.py +++ b/sdk/python/pulumi_azure/netapp/get_volume.py @@ -22,7 +22,7 @@ class GetVolumeResult: """ A collection of values returned by getVolume. """ - def __init__(__self__, account_name=None, data_protection_replications=None, encryption_key_source=None, id=None, key_vault_private_endpoint_id=None, location=None, mount_ip_addresses=None, name=None, network_features=None, pool_name=None, protocols=None, resource_group_name=None, security_style=None, service_level=None, storage_quota_in_gb=None, subnet_id=None, volume_path=None, zone=None): + def __init__(__self__, account_name=None, data_protection_replications=None, encryption_key_source=None, id=None, key_vault_private_endpoint_id=None, location=None, mount_ip_addresses=None, name=None, network_features=None, pool_name=None, protocols=None, resource_group_name=None, security_style=None, service_level=None, smb_access_based_enumeration_enabled=None, smb_non_browsable_enabled=None, storage_quota_in_gb=None, subnet_id=None, volume_path=None, zone=None): if account_name and not isinstance(account_name, str): raise TypeError("Expected argument 'account_name' to be a str") pulumi.set(__self__, "account_name", account_name) @@ -65,6 +65,12 @@ def __init__(__self__, account_name=None, data_protection_replications=None, enc if service_level and not isinstance(service_level, str): raise TypeError("Expected argument 'service_level' to be a str") pulumi.set(__self__, "service_level", service_level) + if smb_access_based_enumeration_enabled and not isinstance(smb_access_based_enumeration_enabled, bool): + raise TypeError("Expected argument 'smb_access_based_enumeration_enabled' to be a bool") + pulumi.set(__self__, "smb_access_based_enumeration_enabled", smb_access_based_enumeration_enabled) + if smb_non_browsable_enabled and not isinstance(smb_non_browsable_enabled, bool): + raise TypeError("Expected argument 'smb_non_browsable_enabled' to be a bool") + pulumi.set(__self__, "smb_non_browsable_enabled", smb_non_browsable_enabled) if storage_quota_in_gb and not isinstance(storage_quota_in_gb, int): raise TypeError("Expected argument 'storage_quota_in_gb' to be a int") pulumi.set(__self__, "storage_quota_in_gb", storage_quota_in_gb) @@ -172,6 +178,23 @@ def service_level(self) -> str: """ return pulumi.get(self, "service_level") + @property + @pulumi.getter(name="smbAccessBasedEnumerationEnabled") + def smb_access_based_enumeration_enabled(self) -> bool: + """ + Limits enumeration of files and folders (that is, listing the contents) in SMB only to users with allowed access on the share. + --- + """ + return pulumi.get(self, "smb_access_based_enumeration_enabled") + + @property + @pulumi.getter(name="smbNonBrowsableEnabled") + def smb_non_browsable_enabled(self) -> bool: + """ + Limits clients from browsing for an SMB share. + """ + return pulumi.get(self, "smb_non_browsable_enabled") + @property @pulumi.getter(name="storageQuotaInGb") def storage_quota_in_gb(self) -> int: @@ -225,6 +248,8 @@ def __await__(self): resource_group_name=self.resource_group_name, security_style=self.security_style, service_level=self.service_level, + smb_access_based_enumeration_enabled=self.smb_access_based_enumeration_enabled, + smb_non_browsable_enabled=self.smb_non_browsable_enabled, storage_quota_in_gb=self.storage_quota_in_gb, subnet_id=self.subnet_id, volume_path=self.volume_path, @@ -284,6 +309,8 @@ def get_volume(account_name: Optional[str] = None, resource_group_name=pulumi.get(__ret__, 'resource_group_name'), security_style=pulumi.get(__ret__, 'security_style'), service_level=pulumi.get(__ret__, 'service_level'), + smb_access_based_enumeration_enabled=pulumi.get(__ret__, 'smb_access_based_enumeration_enabled'), + smb_non_browsable_enabled=pulumi.get(__ret__, 'smb_non_browsable_enabled'), storage_quota_in_gb=pulumi.get(__ret__, 'storage_quota_in_gb'), subnet_id=pulumi.get(__ret__, 'subnet_id'), volume_path=pulumi.get(__ret__, 'volume_path'), diff --git a/sdk/python/pulumi_azure/netapp/pool.py b/sdk/python/pulumi_azure/netapp/pool.py index 6d66a0ada0..7c0ab88e27 100644 --- a/sdk/python/pulumi_azure/netapp/pool.py +++ b/sdk/python/pulumi_azure/netapp/pool.py @@ -18,6 +18,7 @@ def __init__(__self__, *, resource_group_name: pulumi.Input[str], service_level: pulumi.Input[str], size_in_tb: pulumi.Input[int], + encryption_type: Optional[pulumi.Input[str]] = None, location: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, qos_type: Optional[pulumi.Input[str]] = None, @@ -26,10 +27,11 @@ def __init__(__self__, *, The set of arguments for constructing a Pool resource. :param pulumi.Input[str] account_name: The name of the NetApp account in which the NetApp Pool should be created. Changing this forces a new resource to be created. :param pulumi.Input[str] resource_group_name: The name of the resource group where the NetApp Pool should be created. Changing this forces a new resource to be created. - :param pulumi.Input[str] service_level: The service level of the file system. Valid values include `Premium`, `Standard`, or `Ultra`. Changing this forces a new resource to be created. + :param pulumi.Input[str] service_level: The service level of the file system. Valid values include `Premium`, `Standard`, and `Ultra`. Changing this forces a new resource to be created. :param pulumi.Input[int] size_in_tb: Provisioned size of the pool in TB. Value must be between `2` and `500`. > **NOTE** `2` TB capacity pool sizing is currently in preview. You can only take advantage of the `2` TB minimum if all the volumes in the capacity pool are using `Standard` network features. If any volume is using `Basic` network features, the minimum size is `4` TB. Please see the product [documentation](https://learn.microsoft.com/azure/azure-netapp-files/azure-netapp-files-set-up-capacity-pool) for more information. + :param pulumi.Input[str] encryption_type: The encryption type of the pool. Valid values include `Single`, and `Double`. Defaults to `Single`. Changing this forces a new resource to be created. :param pulumi.Input[str] location: Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created. :param pulumi.Input[str] name: The name of the NetApp Pool. Changing this forces a new resource to be created. :param pulumi.Input[str] qos_type: QoS Type of the pool. Valid values include `Auto` or `Manual`. @@ -39,6 +41,8 @@ def __init__(__self__, *, pulumi.set(__self__, "resource_group_name", resource_group_name) pulumi.set(__self__, "service_level", service_level) pulumi.set(__self__, "size_in_tb", size_in_tb) + if encryption_type is not None: + pulumi.set(__self__, "encryption_type", encryption_type) if location is not None: pulumi.set(__self__, "location", location) if name is not None: @@ -76,7 +80,7 @@ def resource_group_name(self, value: pulumi.Input[str]): @pulumi.getter(name="serviceLevel") def service_level(self) -> pulumi.Input[str]: """ - The service level of the file system. Valid values include `Premium`, `Standard`, or `Ultra`. Changing this forces a new resource to be created. + The service level of the file system. Valid values include `Premium`, `Standard`, and `Ultra`. Changing this forces a new resource to be created. """ return pulumi.get(self, "service_level") @@ -98,6 +102,18 @@ def size_in_tb(self) -> pulumi.Input[int]: def size_in_tb(self, value: pulumi.Input[int]): pulumi.set(self, "size_in_tb", value) + @property + @pulumi.getter(name="encryptionType") + def encryption_type(self) -> Optional[pulumi.Input[str]]: + """ + The encryption type of the pool. Valid values include `Single`, and `Double`. Defaults to `Single`. Changing this forces a new resource to be created. + """ + return pulumi.get(self, "encryption_type") + + @encryption_type.setter + def encryption_type(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "encryption_type", value) + @property @pulumi.getter def location(self) -> Optional[pulumi.Input[str]]: @@ -151,6 +167,7 @@ def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): class _PoolState: def __init__(__self__, *, account_name: Optional[pulumi.Input[str]] = None, + encryption_type: Optional[pulumi.Input[str]] = None, location: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, qos_type: Optional[pulumi.Input[str]] = None, @@ -161,11 +178,12 @@ def __init__(__self__, *, """ Input properties used for looking up and filtering Pool resources. :param pulumi.Input[str] account_name: The name of the NetApp account in which the NetApp Pool should be created. Changing this forces a new resource to be created. + :param pulumi.Input[str] encryption_type: The encryption type of the pool. Valid values include `Single`, and `Double`. Defaults to `Single`. Changing this forces a new resource to be created. :param pulumi.Input[str] location: Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created. :param pulumi.Input[str] name: The name of the NetApp Pool. Changing this forces a new resource to be created. :param pulumi.Input[str] qos_type: QoS Type of the pool. Valid values include `Auto` or `Manual`. :param pulumi.Input[str] resource_group_name: The name of the resource group where the NetApp Pool should be created. Changing this forces a new resource to be created. - :param pulumi.Input[str] service_level: The service level of the file system. Valid values include `Premium`, `Standard`, or `Ultra`. Changing this forces a new resource to be created. + :param pulumi.Input[str] service_level: The service level of the file system. Valid values include `Premium`, `Standard`, and `Ultra`. Changing this forces a new resource to be created. :param pulumi.Input[int] size_in_tb: Provisioned size of the pool in TB. Value must be between `2` and `500`. > **NOTE** `2` TB capacity pool sizing is currently in preview. You can only take advantage of the `2` TB minimum if all the volumes in the capacity pool are using `Standard` network features. If any volume is using `Basic` network features, the minimum size is `4` TB. Please see the product [documentation](https://learn.microsoft.com/azure/azure-netapp-files/azure-netapp-files-set-up-capacity-pool) for more information. @@ -173,6 +191,8 @@ def __init__(__self__, *, """ if account_name is not None: pulumi.set(__self__, "account_name", account_name) + if encryption_type is not None: + pulumi.set(__self__, "encryption_type", encryption_type) if location is not None: pulumi.set(__self__, "location", location) if name is not None: @@ -200,6 +220,18 @@ def account_name(self) -> Optional[pulumi.Input[str]]: def account_name(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "account_name", value) + @property + @pulumi.getter(name="encryptionType") + def encryption_type(self) -> Optional[pulumi.Input[str]]: + """ + The encryption type of the pool. Valid values include `Single`, and `Double`. Defaults to `Single`. Changing this forces a new resource to be created. + """ + return pulumi.get(self, "encryption_type") + + @encryption_type.setter + def encryption_type(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "encryption_type", value) + @property @pulumi.getter def location(self) -> Optional[pulumi.Input[str]]: @@ -252,7 +284,7 @@ def resource_group_name(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="serviceLevel") def service_level(self) -> Optional[pulumi.Input[str]]: """ - The service level of the file system. Valid values include `Premium`, `Standard`, or `Ultra`. Changing this forces a new resource to be created. + The service level of the file system. Valid values include `Premium`, `Standard`, and `Ultra`. Changing this forces a new resource to be created. """ return pulumi.get(self, "service_level") @@ -293,6 +325,7 @@ def __init__(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, account_name: Optional[pulumi.Input[str]] = None, + encryption_type: Optional[pulumi.Input[str]] = None, location: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, qos_type: Optional[pulumi.Input[str]] = None, @@ -337,11 +370,12 @@ def __init__(__self__, :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[str] account_name: The name of the NetApp account in which the NetApp Pool should be created. Changing this forces a new resource to be created. + :param pulumi.Input[str] encryption_type: The encryption type of the pool. Valid values include `Single`, and `Double`. Defaults to `Single`. Changing this forces a new resource to be created. :param pulumi.Input[str] location: Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created. :param pulumi.Input[str] name: The name of the NetApp Pool. Changing this forces a new resource to be created. :param pulumi.Input[str] qos_type: QoS Type of the pool. Valid values include `Auto` or `Manual`. :param pulumi.Input[str] resource_group_name: The name of the resource group where the NetApp Pool should be created. Changing this forces a new resource to be created. - :param pulumi.Input[str] service_level: The service level of the file system. Valid values include `Premium`, `Standard`, or `Ultra`. Changing this forces a new resource to be created. + :param pulumi.Input[str] service_level: The service level of the file system. Valid values include `Premium`, `Standard`, and `Ultra`. Changing this forces a new resource to be created. :param pulumi.Input[int] size_in_tb: Provisioned size of the pool in TB. Value must be between `2` and `500`. > **NOTE** `2` TB capacity pool sizing is currently in preview. You can only take advantage of the `2` TB minimum if all the volumes in the capacity pool are using `Standard` network features. If any volume is using `Basic` network features, the minimum size is `4` TB. Please see the product [documentation](https://learn.microsoft.com/azure/azure-netapp-files/azure-netapp-files-set-up-capacity-pool) for more information. @@ -402,6 +436,7 @@ def _internal_init(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, account_name: Optional[pulumi.Input[str]] = None, + encryption_type: Optional[pulumi.Input[str]] = None, location: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, qos_type: Optional[pulumi.Input[str]] = None, @@ -421,6 +456,7 @@ def _internal_init(__self__, if account_name is None and not opts.urn: raise TypeError("Missing required property 'account_name'") __props__.__dict__["account_name"] = account_name + __props__.__dict__["encryption_type"] = encryption_type __props__.__dict__["location"] = location __props__.__dict__["name"] = name __props__.__dict__["qos_type"] = qos_type @@ -445,6 +481,7 @@ def get(resource_name: str, id: pulumi.Input[str], opts: Optional[pulumi.ResourceOptions] = None, account_name: Optional[pulumi.Input[str]] = None, + encryption_type: Optional[pulumi.Input[str]] = None, location: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, qos_type: Optional[pulumi.Input[str]] = None, @@ -460,11 +497,12 @@ 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] account_name: The name of the NetApp account in which the NetApp Pool should be created. Changing this forces a new resource to be created. + :param pulumi.Input[str] encryption_type: The encryption type of the pool. Valid values include `Single`, and `Double`. Defaults to `Single`. Changing this forces a new resource to be created. :param pulumi.Input[str] location: Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created. :param pulumi.Input[str] name: The name of the NetApp Pool. Changing this forces a new resource to be created. :param pulumi.Input[str] qos_type: QoS Type of the pool. Valid values include `Auto` or `Manual`. :param pulumi.Input[str] resource_group_name: The name of the resource group where the NetApp Pool should be created. Changing this forces a new resource to be created. - :param pulumi.Input[str] service_level: The service level of the file system. Valid values include `Premium`, `Standard`, or `Ultra`. Changing this forces a new resource to be created. + :param pulumi.Input[str] service_level: The service level of the file system. Valid values include `Premium`, `Standard`, and `Ultra`. Changing this forces a new resource to be created. :param pulumi.Input[int] size_in_tb: Provisioned size of the pool in TB. Value must be between `2` and `500`. > **NOTE** `2` TB capacity pool sizing is currently in preview. You can only take advantage of the `2` TB minimum if all the volumes in the capacity pool are using `Standard` network features. If any volume is using `Basic` network features, the minimum size is `4` TB. Please see the product [documentation](https://learn.microsoft.com/azure/azure-netapp-files/azure-netapp-files-set-up-capacity-pool) for more information. @@ -475,6 +513,7 @@ def get(resource_name: str, __props__ = _PoolState.__new__(_PoolState) __props__.__dict__["account_name"] = account_name + __props__.__dict__["encryption_type"] = encryption_type __props__.__dict__["location"] = location __props__.__dict__["name"] = name __props__.__dict__["qos_type"] = qos_type @@ -492,6 +531,14 @@ def account_name(self) -> pulumi.Output[str]: """ return pulumi.get(self, "account_name") + @property + @pulumi.getter(name="encryptionType") + def encryption_type(self) -> pulumi.Output[Optional[str]]: + """ + The encryption type of the pool. Valid values include `Single`, and `Double`. Defaults to `Single`. Changing this forces a new resource to be created. + """ + return pulumi.get(self, "encryption_type") + @property @pulumi.getter def location(self) -> pulumi.Output[str]: @@ -528,7 +575,7 @@ def resource_group_name(self) -> pulumi.Output[str]: @pulumi.getter(name="serviceLevel") def service_level(self) -> pulumi.Output[str]: """ - The service level of the file system. Valid values include `Premium`, `Standard`, or `Ultra`. Changing this forces a new resource to be created. + The service level of the file system. Valid values include `Premium`, `Standard`, and `Ultra`. Changing this forces a new resource to be created. """ return pulumi.get(self, "service_level") diff --git a/sdk/python/pulumi_azure/netapp/volume.py b/sdk/python/pulumi_azure/netapp/volume.py index 1c2b15d215..9fa5644f98 100644 --- a/sdk/python/pulumi_azure/netapp/volume.py +++ b/sdk/python/pulumi_azure/netapp/volume.py @@ -35,6 +35,8 @@ def __init__(__self__, *, network_features: Optional[pulumi.Input[str]] = None, protocols: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, security_style: Optional[pulumi.Input[str]] = None, + smb_access_based_enumeration_enabled: Optional[pulumi.Input[bool]] = None, + smb_non_browsable_enabled: Optional[pulumi.Input[bool]] = None, snapshot_directory_visible: Optional[pulumi.Input[bool]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, throughput_in_mibps: Optional[pulumi.Input[float]] = None, @@ -60,6 +62,8 @@ def __init__(__self__, *, :param pulumi.Input[str] network_features: Indicates which network feature to use, accepted values are `Basic` or `Standard`, it defaults to `Basic` if not defined. This is a feature in public preview and for more information about it and how to register, please refer to [Configure network features for an Azure NetApp Files volume](https://docs.microsoft.com/en-us/azure/azure-netapp-files/configure-network-features). Changing this forces a new resource to be created. :param pulumi.Input[Sequence[pulumi.Input[str]]] protocols: The target volume protocol expressed as a list. Supported single value include `CIFS`, `NFSv3`, or `NFSv4.1`. If argument is not defined it will default to `NFSv3`. Changing this forces a new resource to be created and data will be lost. Dual protocol scenario is supported for CIFS and NFSv3, for more information, please refer to [Create a dual-protocol volume for Azure NetApp Files](https://docs.microsoft.com/azure/azure-netapp-files/create-volumes-dual-protocol) document. :param pulumi.Input[str] security_style: Volume security style, accepted values are `unix` or `ntfs`. If not provided, single-protocol volume is created defaulting to `unix` if it is `NFSv3` or `NFSv4.1` volume, if `CIFS`, it will default to `ntfs`. In a dual-protocol volume, if not provided, its value will be `ntfs`. Changing this forces a new resource to be created. + :param pulumi.Input[bool] smb_access_based_enumeration_enabled: Limits enumeration of files and folders (that is, listing the contents) in SMB only to users with allowed access on the share. For instance, if a user doesn't have access to read a file or folder in a share with access-based enumeration enabled, then the file or folder doesn't show up in directory listings. Defaults to `false`. For more information, please refer to [Understand NAS share permissions in Azure NetApp Files](https://learn.microsoft.com/en-us/azure/azure-netapp-files/network-attached-storage-permissions#:~:text=security%20for%20administrators.-,Access%2Dbased%20enumeration,in%20an%20Azure%20NetApp%20Files%20SMB%20volume.%20Only%20contosoadmin%20has%20access.,-In%20the%20below) + :param pulumi.Input[bool] smb_non_browsable_enabled: Limits clients from browsing for an SMB share by hiding the share from view in Windows Explorer or when listing shares in "net view." Only end users that know the absolute paths to the share are able to find the share. Defaults to `false`. For more information, please refer to [Understand NAS share permissions in Azure NetApp Files](https://learn.microsoft.com/en-us/azure/azure-netapp-files/network-attached-storage-permissions#:~:text=Non%2Dbrowsable%20shares,find%20the%20share.) :param pulumi.Input[bool] snapshot_directory_visible: Specifies whether the .snapshot (NFS clients) or ~snapshot (SMB clients) path of a volume is visible, default value is true. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A mapping of tags to assign to the resource. @@ -98,6 +102,10 @@ def __init__(__self__, *, pulumi.set(__self__, "protocols", protocols) if security_style is not None: pulumi.set(__self__, "security_style", security_style) + if smb_access_based_enumeration_enabled is not None: + pulumi.set(__self__, "smb_access_based_enumeration_enabled", smb_access_based_enumeration_enabled) + if smb_non_browsable_enabled is not None: + pulumi.set(__self__, "smb_non_browsable_enabled", smb_non_browsable_enabled) if snapshot_directory_visible is not None: pulumi.set(__self__, "snapshot_directory_visible", snapshot_directory_visible) if tags is not None: @@ -335,6 +343,30 @@ def security_style(self) -> Optional[pulumi.Input[str]]: def security_style(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "security_style", value) + @property + @pulumi.getter(name="smbAccessBasedEnumerationEnabled") + def smb_access_based_enumeration_enabled(self) -> Optional[pulumi.Input[bool]]: + """ + Limits enumeration of files and folders (that is, listing the contents) in SMB only to users with allowed access on the share. For instance, if a user doesn't have access to read a file or folder in a share with access-based enumeration enabled, then the file or folder doesn't show up in directory listings. Defaults to `false`. For more information, please refer to [Understand NAS share permissions in Azure NetApp Files](https://learn.microsoft.com/en-us/azure/azure-netapp-files/network-attached-storage-permissions#:~:text=security%20for%20administrators.-,Access%2Dbased%20enumeration,in%20an%20Azure%20NetApp%20Files%20SMB%20volume.%20Only%20contosoadmin%20has%20access.,-In%20the%20below) + """ + return pulumi.get(self, "smb_access_based_enumeration_enabled") + + @smb_access_based_enumeration_enabled.setter + def smb_access_based_enumeration_enabled(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "smb_access_based_enumeration_enabled", value) + + @property + @pulumi.getter(name="smbNonBrowsableEnabled") + def smb_non_browsable_enabled(self) -> Optional[pulumi.Input[bool]]: + """ + Limits clients from browsing for an SMB share by hiding the share from view in Windows Explorer or when listing shares in "net view." Only end users that know the absolute paths to the share are able to find the share. Defaults to `false`. For more information, please refer to [Understand NAS share permissions in Azure NetApp Files](https://learn.microsoft.com/en-us/azure/azure-netapp-files/network-attached-storage-permissions#:~:text=Non%2Dbrowsable%20shares,find%20the%20share.) + """ + return pulumi.get(self, "smb_non_browsable_enabled") + + @smb_non_browsable_enabled.setter + def smb_non_browsable_enabled(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "smb_non_browsable_enabled", value) + @property @pulumi.getter(name="snapshotDirectoryVisible") def snapshot_directory_visible(self) -> Optional[pulumi.Input[bool]]: @@ -406,6 +438,8 @@ def __init__(__self__, *, resource_group_name: Optional[pulumi.Input[str]] = None, security_style: Optional[pulumi.Input[str]] = None, service_level: Optional[pulumi.Input[str]] = None, + smb_access_based_enumeration_enabled: Optional[pulumi.Input[bool]] = None, + smb_non_browsable_enabled: Optional[pulumi.Input[bool]] = None, snapshot_directory_visible: Optional[pulumi.Input[bool]] = None, storage_quota_in_gb: Optional[pulumi.Input[int]] = None, subnet_id: Optional[pulumi.Input[str]] = None, @@ -432,6 +466,8 @@ def __init__(__self__, *, :param pulumi.Input[str] resource_group_name: The name of the resource group where the NetApp Volume should be created. Changing this forces a new resource to be created. :param pulumi.Input[str] security_style: Volume security style, accepted values are `unix` or `ntfs`. If not provided, single-protocol volume is created defaulting to `unix` if it is `NFSv3` or `NFSv4.1` volume, if `CIFS`, it will default to `ntfs`. In a dual-protocol volume, if not provided, its value will be `ntfs`. Changing this forces a new resource to be created. :param pulumi.Input[str] service_level: The target performance of the file system. Valid values include `Premium`, `Standard`, or `Ultra`. Changing this forces a new resource to be created. + :param pulumi.Input[bool] smb_access_based_enumeration_enabled: Limits enumeration of files and folders (that is, listing the contents) in SMB only to users with allowed access on the share. For instance, if a user doesn't have access to read a file or folder in a share with access-based enumeration enabled, then the file or folder doesn't show up in directory listings. Defaults to `false`. For more information, please refer to [Understand NAS share permissions in Azure NetApp Files](https://learn.microsoft.com/en-us/azure/azure-netapp-files/network-attached-storage-permissions#:~:text=security%20for%20administrators.-,Access%2Dbased%20enumeration,in%20an%20Azure%20NetApp%20Files%20SMB%20volume.%20Only%20contosoadmin%20has%20access.,-In%20the%20below) + :param pulumi.Input[bool] smb_non_browsable_enabled: Limits clients from browsing for an SMB share by hiding the share from view in Windows Explorer or when listing shares in "net view." Only end users that know the absolute paths to the share are able to find the share. Defaults to `false`. For more information, please refer to [Understand NAS share permissions in Azure NetApp Files](https://learn.microsoft.com/en-us/azure/azure-netapp-files/network-attached-storage-permissions#:~:text=Non%2Dbrowsable%20shares,find%20the%20share.) :param pulumi.Input[bool] snapshot_directory_visible: Specifies whether the .snapshot (NFS clients) or ~snapshot (SMB clients) path of a volume is visible, default value is true. :param pulumi.Input[int] storage_quota_in_gb: The maximum Storage Quota allowed for a file system in Gigabytes. :param pulumi.Input[str] subnet_id: The ID of the Subnet the NetApp Volume resides in, which must have the `Microsoft.NetApp/volumes` delegation. Changing this forces a new resource to be created. @@ -476,6 +512,10 @@ def __init__(__self__, *, pulumi.set(__self__, "security_style", security_style) if service_level is not None: pulumi.set(__self__, "service_level", service_level) + if smb_access_based_enumeration_enabled is not None: + pulumi.set(__self__, "smb_access_based_enumeration_enabled", smb_access_based_enumeration_enabled) + if smb_non_browsable_enabled is not None: + pulumi.set(__self__, "smb_non_browsable_enabled", smb_non_browsable_enabled) if snapshot_directory_visible is not None: pulumi.set(__self__, "snapshot_directory_visible", snapshot_directory_visible) if storage_quota_in_gb is not None: @@ -695,6 +735,30 @@ def service_level(self) -> Optional[pulumi.Input[str]]: def service_level(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "service_level", value) + @property + @pulumi.getter(name="smbAccessBasedEnumerationEnabled") + def smb_access_based_enumeration_enabled(self) -> Optional[pulumi.Input[bool]]: + """ + Limits enumeration of files and folders (that is, listing the contents) in SMB only to users with allowed access on the share. For instance, if a user doesn't have access to read a file or folder in a share with access-based enumeration enabled, then the file or folder doesn't show up in directory listings. Defaults to `false`. For more information, please refer to [Understand NAS share permissions in Azure NetApp Files](https://learn.microsoft.com/en-us/azure/azure-netapp-files/network-attached-storage-permissions#:~:text=security%20for%20administrators.-,Access%2Dbased%20enumeration,in%20an%20Azure%20NetApp%20Files%20SMB%20volume.%20Only%20contosoadmin%20has%20access.,-In%20the%20below) + """ + return pulumi.get(self, "smb_access_based_enumeration_enabled") + + @smb_access_based_enumeration_enabled.setter + def smb_access_based_enumeration_enabled(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "smb_access_based_enumeration_enabled", value) + + @property + @pulumi.getter(name="smbNonBrowsableEnabled") + def smb_non_browsable_enabled(self) -> Optional[pulumi.Input[bool]]: + """ + Limits clients from browsing for an SMB share by hiding the share from view in Windows Explorer or when listing shares in "net view." Only end users that know the absolute paths to the share are able to find the share. Defaults to `false`. For more information, please refer to [Understand NAS share permissions in Azure NetApp Files](https://learn.microsoft.com/en-us/azure/azure-netapp-files/network-attached-storage-permissions#:~:text=Non%2Dbrowsable%20shares,find%20the%20share.) + """ + return pulumi.get(self, "smb_non_browsable_enabled") + + @smb_non_browsable_enabled.setter + def smb_non_browsable_enabled(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "smb_non_browsable_enabled", value) + @property @pulumi.getter(name="snapshotDirectoryVisible") def snapshot_directory_visible(self) -> Optional[pulumi.Input[bool]]: @@ -803,6 +867,8 @@ def __init__(__self__, resource_group_name: Optional[pulumi.Input[str]] = None, security_style: Optional[pulumi.Input[str]] = None, service_level: Optional[pulumi.Input[str]] = None, + smb_access_based_enumeration_enabled: Optional[pulumi.Input[bool]] = None, + smb_non_browsable_enabled: Optional[pulumi.Input[bool]] = None, snapshot_directory_visible: Optional[pulumi.Input[bool]] = None, storage_quota_in_gb: Optional[pulumi.Input[int]] = None, subnet_id: Optional[pulumi.Input[str]] = None, @@ -838,6 +904,8 @@ def __init__(__self__, :param pulumi.Input[str] resource_group_name: The name of the resource group where the NetApp Volume should be created. Changing this forces a new resource to be created. :param pulumi.Input[str] security_style: Volume security style, accepted values are `unix` or `ntfs`. If not provided, single-protocol volume is created defaulting to `unix` if it is `NFSv3` or `NFSv4.1` volume, if `CIFS`, it will default to `ntfs`. In a dual-protocol volume, if not provided, its value will be `ntfs`. Changing this forces a new resource to be created. :param pulumi.Input[str] service_level: The target performance of the file system. Valid values include `Premium`, `Standard`, or `Ultra`. Changing this forces a new resource to be created. + :param pulumi.Input[bool] smb_access_based_enumeration_enabled: Limits enumeration of files and folders (that is, listing the contents) in SMB only to users with allowed access on the share. For instance, if a user doesn't have access to read a file or folder in a share with access-based enumeration enabled, then the file or folder doesn't show up in directory listings. Defaults to `false`. For more information, please refer to [Understand NAS share permissions in Azure NetApp Files](https://learn.microsoft.com/en-us/azure/azure-netapp-files/network-attached-storage-permissions#:~:text=security%20for%20administrators.-,Access%2Dbased%20enumeration,in%20an%20Azure%20NetApp%20Files%20SMB%20volume.%20Only%20contosoadmin%20has%20access.,-In%20the%20below) + :param pulumi.Input[bool] smb_non_browsable_enabled: Limits clients from browsing for an SMB share by hiding the share from view in Windows Explorer or when listing shares in "net view." Only end users that know the absolute paths to the share are able to find the share. Defaults to `false`. For more information, please refer to [Understand NAS share permissions in Azure NetApp Files](https://learn.microsoft.com/en-us/azure/azure-netapp-files/network-attached-storage-permissions#:~:text=Non%2Dbrowsable%20shares,find%20the%20share.) :param pulumi.Input[bool] snapshot_directory_visible: Specifies whether the .snapshot (NFS clients) or ~snapshot (SMB clients) path of a volume is visible, default value is true. :param pulumi.Input[int] storage_quota_in_gb: The maximum Storage Quota allowed for a file system in Gigabytes. :param pulumi.Input[str] subnet_id: The ID of the Subnet the NetApp Volume resides in, which must have the `Microsoft.NetApp/volumes` delegation. Changing this forces a new resource to be created. @@ -894,6 +962,8 @@ def _internal_init(__self__, resource_group_name: Optional[pulumi.Input[str]] = None, security_style: Optional[pulumi.Input[str]] = None, service_level: Optional[pulumi.Input[str]] = None, + smb_access_based_enumeration_enabled: Optional[pulumi.Input[bool]] = None, + smb_non_browsable_enabled: Optional[pulumi.Input[bool]] = None, snapshot_directory_visible: Optional[pulumi.Input[bool]] = None, storage_quota_in_gb: Optional[pulumi.Input[int]] = None, subnet_id: Optional[pulumi.Input[str]] = None, @@ -934,6 +1004,8 @@ def _internal_init(__self__, if service_level is None and not opts.urn: raise TypeError("Missing required property 'service_level'") __props__.__dict__["service_level"] = service_level + __props__.__dict__["smb_access_based_enumeration_enabled"] = smb_access_based_enumeration_enabled + __props__.__dict__["smb_non_browsable_enabled"] = smb_non_browsable_enabled __props__.__dict__["snapshot_directory_visible"] = snapshot_directory_visible if storage_quota_in_gb is None and not opts.urn: raise TypeError("Missing required property 'storage_quota_in_gb'") @@ -975,6 +1047,8 @@ def get(resource_name: str, resource_group_name: Optional[pulumi.Input[str]] = None, security_style: Optional[pulumi.Input[str]] = None, service_level: Optional[pulumi.Input[str]] = None, + smb_access_based_enumeration_enabled: Optional[pulumi.Input[bool]] = None, + smb_non_browsable_enabled: Optional[pulumi.Input[bool]] = None, snapshot_directory_visible: Optional[pulumi.Input[bool]] = None, storage_quota_in_gb: Optional[pulumi.Input[int]] = None, subnet_id: Optional[pulumi.Input[str]] = None, @@ -1006,6 +1080,8 @@ def get(resource_name: str, :param pulumi.Input[str] resource_group_name: The name of the resource group where the NetApp Volume should be created. Changing this forces a new resource to be created. :param pulumi.Input[str] security_style: Volume security style, accepted values are `unix` or `ntfs`. If not provided, single-protocol volume is created defaulting to `unix` if it is `NFSv3` or `NFSv4.1` volume, if `CIFS`, it will default to `ntfs`. In a dual-protocol volume, if not provided, its value will be `ntfs`. Changing this forces a new resource to be created. :param pulumi.Input[str] service_level: The target performance of the file system. Valid values include `Premium`, `Standard`, or `Ultra`. Changing this forces a new resource to be created. + :param pulumi.Input[bool] smb_access_based_enumeration_enabled: Limits enumeration of files and folders (that is, listing the contents) in SMB only to users with allowed access on the share. For instance, if a user doesn't have access to read a file or folder in a share with access-based enumeration enabled, then the file or folder doesn't show up in directory listings. Defaults to `false`. For more information, please refer to [Understand NAS share permissions in Azure NetApp Files](https://learn.microsoft.com/en-us/azure/azure-netapp-files/network-attached-storage-permissions#:~:text=security%20for%20administrators.-,Access%2Dbased%20enumeration,in%20an%20Azure%20NetApp%20Files%20SMB%20volume.%20Only%20contosoadmin%20has%20access.,-In%20the%20below) + :param pulumi.Input[bool] smb_non_browsable_enabled: Limits clients from browsing for an SMB share by hiding the share from view in Windows Explorer or when listing shares in "net view." Only end users that know the absolute paths to the share are able to find the share. Defaults to `false`. For more information, please refer to [Understand NAS share permissions in Azure NetApp Files](https://learn.microsoft.com/en-us/azure/azure-netapp-files/network-attached-storage-permissions#:~:text=Non%2Dbrowsable%20shares,find%20the%20share.) :param pulumi.Input[bool] snapshot_directory_visible: Specifies whether the .snapshot (NFS clients) or ~snapshot (SMB clients) path of a volume is visible, default value is true. :param pulumi.Input[int] storage_quota_in_gb: The maximum Storage Quota allowed for a file system in Gigabytes. :param pulumi.Input[str] subnet_id: The ID of the Subnet the NetApp Volume resides in, which must have the `Microsoft.NetApp/volumes` delegation. Changing this forces a new resource to be created. @@ -1037,6 +1113,8 @@ def get(resource_name: str, __props__.__dict__["resource_group_name"] = resource_group_name __props__.__dict__["security_style"] = security_style __props__.__dict__["service_level"] = service_level + __props__.__dict__["smb_access_based_enumeration_enabled"] = smb_access_based_enumeration_enabled + __props__.__dict__["smb_non_browsable_enabled"] = smb_non_browsable_enabled __props__.__dict__["snapshot_directory_visible"] = snapshot_directory_visible __props__.__dict__["storage_quota_in_gb"] = storage_quota_in_gb __props__.__dict__["subnet_id"] = subnet_id @@ -1182,6 +1260,22 @@ def service_level(self) -> pulumi.Output[str]: """ return pulumi.get(self, "service_level") + @property + @pulumi.getter(name="smbAccessBasedEnumerationEnabled") + def smb_access_based_enumeration_enabled(self) -> pulumi.Output[Optional[bool]]: + """ + Limits enumeration of files and folders (that is, listing the contents) in SMB only to users with allowed access on the share. For instance, if a user doesn't have access to read a file or folder in a share with access-based enumeration enabled, then the file or folder doesn't show up in directory listings. Defaults to `false`. For more information, please refer to [Understand NAS share permissions in Azure NetApp Files](https://learn.microsoft.com/en-us/azure/azure-netapp-files/network-attached-storage-permissions#:~:text=security%20for%20administrators.-,Access%2Dbased%20enumeration,in%20an%20Azure%20NetApp%20Files%20SMB%20volume.%20Only%20contosoadmin%20has%20access.,-In%20the%20below) + """ + return pulumi.get(self, "smb_access_based_enumeration_enabled") + + @property + @pulumi.getter(name="smbNonBrowsableEnabled") + def smb_non_browsable_enabled(self) -> pulumi.Output[Optional[bool]]: + """ + Limits clients from browsing for an SMB share by hiding the share from view in Windows Explorer or when listing shares in "net view." Only end users that know the absolute paths to the share are able to find the share. Defaults to `false`. For more information, please refer to [Understand NAS share permissions in Azure NetApp Files](https://learn.microsoft.com/en-us/azure/azure-netapp-files/network-attached-storage-permissions#:~:text=Non%2Dbrowsable%20shares,find%20the%20share.) + """ + return pulumi.get(self, "smb_non_browsable_enabled") + @property @pulumi.getter(name="snapshotDirectoryVisible") def snapshot_directory_visible(self) -> pulumi.Output[bool]: diff --git a/sdk/python/pulumi_azure/network/_inputs.py b/sdk/python/pulumi_azure/network/_inputs.py index 61ccbf2e20..e42a677928 100644 --- a/sdk/python/pulumi_azure/network/_inputs.py +++ b/sdk/python/pulumi_azure/network/_inputs.py @@ -1914,7 +1914,7 @@ def __init__(__self__, *, :param pulumi.Input[str] id: The ID of the Rewrite Rule Set :param pulumi.Input[int] priority: Rule evaluation order can be dictated by specifying an integer value from `1` to `20000` with `1` being the highest priority and `20000` being the lowest priority. - > **NOTE:** `priority` is required when `sku.0.tier` is set to `*_v2`. + > **NOTE:** `priority` is required when `sku[0].tier` is set to `*_v2`. :param pulumi.Input[str] redirect_configuration_id: The ID of the associated Redirect Configuration. :param pulumi.Input[str] redirect_configuration_name: The Name of the Redirect Configuration which should be used for this Routing Rule. Cannot be set if either `backend_address_pool_name` or `backend_http_settings_name` is set. :param pulumi.Input[str] rewrite_rule_set_id: The ID of the associated Rewrite Rule Set. @@ -2068,7 +2068,7 @@ def priority(self) -> Optional[pulumi.Input[int]]: """ Rule evaluation order can be dictated by specifying an integer value from `1` to `20000` with `1` being the highest priority and `20000` being the lowest priority. - > **NOTE:** `priority` is required when `sku.0.tier` is set to `*_v2`. + > **NOTE:** `priority` is required when `sku[0].tier` is set to `*_v2`. """ return pulumi.get(self, "priority") @@ -10409,7 +10409,7 @@ def __init__(__self__, *, :param pulumi.Input[str] public_ip_address_id: The ID of the public IP address to associate with the Virtual Network Gateway. :param pulumi.Input[str] subnet_id: The ID of the gateway subnet of a virtual network in which the virtual network gateway will be created. It is mandatory that the associated subnet is named `GatewaySubnet`. Therefore, each virtual network can contain at most a single Virtual Network Gateway. :param pulumi.Input[str] name: A user-defined name of the IP configuration. Defaults to `vnetGatewayConfig`. - :param pulumi.Input[str] private_ip_address_allocation: Defines how the private IP address of the gateways virtual interface is assigned. Valid options are `Static` or `Dynamic`. Defaults to `Dynamic`. + :param pulumi.Input[str] private_ip_address_allocation: Defines how the private IP address of the gateways virtual interface is assigned. The only valid value is `Dynamic` for Virtual Network Gateway (`Static` is not supported by the service yet). Defaults to `Dynamic`. """ pulumi.set(__self__, "public_ip_address_id", public_ip_address_id) pulumi.set(__self__, "subnet_id", subnet_id) @@ -10458,7 +10458,7 @@ def name(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="privateIpAddressAllocation") def private_ip_address_allocation(self) -> Optional[pulumi.Input[str]]: """ - Defines how the private IP address of the gateways virtual interface is assigned. Valid options are `Static` or `Dynamic`. Defaults to `Dynamic`. + Defines how the private IP address of the gateways virtual interface is assigned. The only valid value is `Dynamic` for Virtual Network Gateway (`Static` is not supported by the service yet). Defaults to `Dynamic`. """ return pulumi.get(self, "private_ip_address_allocation") diff --git a/sdk/python/pulumi_azure/network/outputs.py b/sdk/python/pulumi_azure/network/outputs.py index 7bf7288e8c..efd3d7aefd 100644 --- a/sdk/python/pulumi_azure/network/outputs.py +++ b/sdk/python/pulumi_azure/network/outputs.py @@ -1979,7 +1979,7 @@ def __init__(__self__, *, :param str id: The ID of the Rewrite Rule Set :param int priority: Rule evaluation order can be dictated by specifying an integer value from `1` to `20000` with `1` being the highest priority and `20000` being the lowest priority. - > **NOTE:** `priority` is required when `sku.0.tier` is set to `*_v2`. + > **NOTE:** `priority` is required when `sku[0].tier` is set to `*_v2`. :param str redirect_configuration_id: The ID of the associated Redirect Configuration. :param str redirect_configuration_name: The Name of the Redirect Configuration which should be used for this Routing Rule. Cannot be set if either `backend_address_pool_name` or `backend_http_settings_name` is set. :param str rewrite_rule_set_id: The ID of the associated Rewrite Rule Set. @@ -2097,7 +2097,7 @@ def priority(self) -> Optional[int]: """ Rule evaluation order can be dictated by specifying an integer value from `1` to `20000` with `1` being the highest priority and `20000` being the lowest priority. - > **NOTE:** `priority` is required when `sku.0.tier` is set to `*_v2`. + > **NOTE:** `priority` is required when `sku[0].tier` is set to `*_v2`. """ return pulumi.get(self, "priority") @@ -10427,7 +10427,7 @@ def __init__(__self__, *, :param str public_ip_address_id: The ID of the public IP address to associate with the Virtual Network Gateway. :param str subnet_id: The ID of the gateway subnet of a virtual network in which the virtual network gateway will be created. It is mandatory that the associated subnet is named `GatewaySubnet`. Therefore, each virtual network can contain at most a single Virtual Network Gateway. :param str name: A user-defined name of the IP configuration. Defaults to `vnetGatewayConfig`. - :param str private_ip_address_allocation: Defines how the private IP address of the gateways virtual interface is assigned. Valid options are `Static` or `Dynamic`. Defaults to `Dynamic`. + :param str private_ip_address_allocation: Defines how the private IP address of the gateways virtual interface is assigned. The only valid value is `Dynamic` for Virtual Network Gateway (`Static` is not supported by the service yet). Defaults to `Dynamic`. """ pulumi.set(__self__, "public_ip_address_id", public_ip_address_id) pulumi.set(__self__, "subnet_id", subnet_id) @@ -10464,7 +10464,7 @@ def name(self) -> Optional[str]: @pulumi.getter(name="privateIpAddressAllocation") def private_ip_address_allocation(self) -> Optional[str]: """ - Defines how the private IP address of the gateways virtual interface is assigned. Valid options are `Static` or `Dynamic`. Defaults to `Dynamic`. + Defines how the private IP address of the gateways virtual interface is assigned. The only valid value is `Dynamic` for Virtual Network Gateway (`Static` is not supported by the service yet). Defaults to `Dynamic`. """ return pulumi.get(self, "private_ip_address_allocation") diff --git a/sdk/python/pulumi_azure/nginx/deployment.py b/sdk/python/pulumi_azure/nginx/deployment.py index 3958ebb404..3542e356e7 100644 --- a/sdk/python/pulumi_azure/nginx/deployment.py +++ b/sdk/python/pulumi_azure/nginx/deployment.py @@ -18,6 +18,7 @@ class DeploymentArgs: def __init__(__self__, *, resource_group_name: pulumi.Input[str], sku: pulumi.Input[str], + automatic_upgrade_channel: Optional[pulumi.Input[str]] = None, capacity: Optional[pulumi.Input[int]] = None, diagnose_support_enabled: Optional[pulumi.Input[bool]] = None, email: Optional[pulumi.Input[str]] = None, @@ -33,7 +34,8 @@ def __init__(__self__, *, """ The set of arguments for constructing a Deployment resource. :param pulumi.Input[str] resource_group_name: The name of the Resource Group where the Nginx Deployment should exist. Changing this forces a new Nginx Deployment to be created. - :param pulumi.Input[str] sku: Specify the Name of Nginx deployment SKU. The possible value are `publicpreview_Monthly_gmz7xq9ge3py` and `standard_Monthly`. + :param pulumi.Input[str] sku: Specify the Name of Nginx deployment SKU. The possible value are `publicpreview_Monthly_gmz7xq9ge3py` and `standard_Monthly`. Changing this forces a new Nginx Deployment to be created. + :param pulumi.Input[str] automatic_upgrade_channel: Specify the automatic upgrade channel for the NGINX deployment. Defaults to `stable`. The possible values are `stable` and `preview`. :param pulumi.Input[int] capacity: Specify the number of NGINX capacity units for this NGINX deployment. Defaults to `20`. > **Note** For more information on NGINX capacity units, please refer to the [NGINX scaling guidance documentation](https://docs.nginx.com/nginxaas/azure/quickstart/scaling/) @@ -51,6 +53,8 @@ def __init__(__self__, *, """ pulumi.set(__self__, "resource_group_name", resource_group_name) pulumi.set(__self__, "sku", sku) + if automatic_upgrade_channel is not None: + pulumi.set(__self__, "automatic_upgrade_channel", automatic_upgrade_channel) if capacity is not None: pulumi.set(__self__, "capacity", capacity) if diagnose_support_enabled is not None: @@ -92,7 +96,7 @@ def resource_group_name(self, value: pulumi.Input[str]): @pulumi.getter def sku(self) -> pulumi.Input[str]: """ - Specify the Name of Nginx deployment SKU. The possible value are `publicpreview_Monthly_gmz7xq9ge3py` and `standard_Monthly`. + Specify the Name of Nginx deployment SKU. The possible value are `publicpreview_Monthly_gmz7xq9ge3py` and `standard_Monthly`. Changing this forces a new Nginx Deployment to be created. """ return pulumi.get(self, "sku") @@ -100,6 +104,18 @@ def sku(self) -> pulumi.Input[str]: def sku(self, value: pulumi.Input[str]): pulumi.set(self, "sku", value) + @property + @pulumi.getter(name="automaticUpgradeChannel") + def automatic_upgrade_channel(self) -> Optional[pulumi.Input[str]]: + """ + Specify the automatic upgrade channel for the NGINX deployment. Defaults to `stable`. The possible values are `stable` and `preview`. + """ + return pulumi.get(self, "automatic_upgrade_channel") + + @automatic_upgrade_channel.setter + def automatic_upgrade_channel(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "automatic_upgrade_channel", value) + @property @pulumi.getter def capacity(self) -> Optional[pulumi.Input[int]]: @@ -250,6 +266,7 @@ def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): @pulumi.input_type class _DeploymentState: def __init__(__self__, *, + automatic_upgrade_channel: Optional[pulumi.Input[str]] = None, capacity: Optional[pulumi.Input[int]] = None, diagnose_support_enabled: Optional[pulumi.Input[bool]] = None, email: Optional[pulumi.Input[str]] = None, @@ -268,6 +285,7 @@ def __init__(__self__, *, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): """ Input properties used for looking up and filtering Deployment resources. + :param pulumi.Input[str] automatic_upgrade_channel: Specify the automatic upgrade channel for the NGINX deployment. Defaults to `stable`. The possible values are `stable` and `preview`. :param pulumi.Input[int] capacity: Specify the number of NGINX capacity units for this NGINX deployment. Defaults to `20`. > **Note** For more information on NGINX capacity units, please refer to the [NGINX scaling guidance documentation](https://docs.nginx.com/nginxaas/azure/quickstart/scaling/) @@ -284,9 +302,11 @@ def __init__(__self__, *, :param pulumi.Input[Sequence[pulumi.Input['DeploymentNetworkInterfaceArgs']]] network_interfaces: One or more `network_interface` blocks as defined below. Changing this forces a new Nginx Deployment to be created. :param pulumi.Input[str] nginx_version: The version of deployed nginx. :param pulumi.Input[str] resource_group_name: The name of the Resource Group where the Nginx Deployment should exist. Changing this forces a new Nginx Deployment to be created. - :param pulumi.Input[str] sku: Specify the Name of Nginx deployment SKU. The possible value are `publicpreview_Monthly_gmz7xq9ge3py` and `standard_Monthly`. + :param pulumi.Input[str] sku: Specify the Name of Nginx deployment SKU. The possible value are `publicpreview_Monthly_gmz7xq9ge3py` and `standard_Monthly`. Changing this forces a new Nginx Deployment to be created. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A mapping of tags which should be assigned to the Nginx Deployment. """ + if automatic_upgrade_channel is not None: + pulumi.set(__self__, "automatic_upgrade_channel", automatic_upgrade_channel) if capacity is not None: pulumi.set(__self__, "capacity", capacity) if diagnose_support_enabled is not None: @@ -320,6 +340,18 @@ def __init__(__self__, *, if tags is not None: pulumi.set(__self__, "tags", tags) + @property + @pulumi.getter(name="automaticUpgradeChannel") + def automatic_upgrade_channel(self) -> Optional[pulumi.Input[str]]: + """ + Specify the automatic upgrade channel for the NGINX deployment. Defaults to `stable`. The possible values are `stable` and `preview`. + """ + return pulumi.get(self, "automatic_upgrade_channel") + + @automatic_upgrade_channel.setter + def automatic_upgrade_channel(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "automatic_upgrade_channel", value) + @property @pulumi.getter def capacity(self) -> Optional[pulumi.Input[int]]: @@ -494,7 +526,7 @@ def resource_group_name(self, value: Optional[pulumi.Input[str]]): @pulumi.getter def sku(self) -> Optional[pulumi.Input[str]]: """ - Specify the Name of Nginx deployment SKU. The possible value are `publicpreview_Monthly_gmz7xq9ge3py` and `standard_Monthly`. + Specify the Name of Nginx deployment SKU. The possible value are `publicpreview_Monthly_gmz7xq9ge3py` and `standard_Monthly`. Changing this forces a new Nginx Deployment to be created. """ return pulumi.get(self, "sku") @@ -520,6 +552,7 @@ class Deployment(pulumi.CustomResource): def __init__(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, + automatic_upgrade_channel: Optional[pulumi.Input[str]] = None, capacity: Optional[pulumi.Input[int]] = None, diagnose_support_enabled: Optional[pulumi.Input[bool]] = None, email: Optional[pulumi.Input[str]] = None, @@ -580,6 +613,7 @@ def __init__(__self__, location=example.location, managed_resource_group="example", diagnose_support_enabled=True, + automatic_upgrade_channel="stable", frontend_public=azure.nginx.DeploymentFrontendPublicArgs( ip_addresses=[example_public_ip.id], ), @@ -600,6 +634,7 @@ def __init__(__self__, :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] automatic_upgrade_channel: Specify the automatic upgrade channel for the NGINX deployment. Defaults to `stable`. The possible values are `stable` and `preview`. :param pulumi.Input[int] capacity: Specify the number of NGINX capacity units for this NGINX deployment. Defaults to `20`. > **Note** For more information on NGINX capacity units, please refer to the [NGINX scaling guidance documentation](https://docs.nginx.com/nginxaas/azure/quickstart/scaling/) @@ -614,7 +649,7 @@ def __init__(__self__, :param pulumi.Input[str] name: The name which should be used for this Nginx Deployment. Changing this forces a new Nginx Deployment to be created. :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['DeploymentNetworkInterfaceArgs']]]] network_interfaces: One or more `network_interface` blocks as defined below. Changing this forces a new Nginx Deployment to be created. :param pulumi.Input[str] resource_group_name: The name of the Resource Group where the Nginx Deployment should exist. Changing this forces a new Nginx Deployment to be created. - :param pulumi.Input[str] sku: Specify the Name of Nginx deployment SKU. The possible value are `publicpreview_Monthly_gmz7xq9ge3py` and `standard_Monthly`. + :param pulumi.Input[str] sku: Specify the Name of Nginx deployment SKU. The possible value are `publicpreview_Monthly_gmz7xq9ge3py` and `standard_Monthly`. Changing this forces a new Nginx Deployment to be created. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A mapping of tags which should be assigned to the Nginx Deployment. """ ... @@ -668,6 +703,7 @@ def __init__(__self__, location=example.location, managed_resource_group="example", diagnose_support_enabled=True, + automatic_upgrade_channel="stable", frontend_public=azure.nginx.DeploymentFrontendPublicArgs( ip_addresses=[example_public_ip.id], ), @@ -701,6 +737,7 @@ def __init__(__self__, resource_name: str, *args, **kwargs): def _internal_init(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, + automatic_upgrade_channel: Optional[pulumi.Input[str]] = None, capacity: Optional[pulumi.Input[int]] = None, diagnose_support_enabled: Optional[pulumi.Input[bool]] = None, email: Optional[pulumi.Input[str]] = None, @@ -724,6 +761,7 @@ def _internal_init(__self__, raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') __props__ = DeploymentArgs.__new__(DeploymentArgs) + __props__.__dict__["automatic_upgrade_channel"] = automatic_upgrade_channel __props__.__dict__["capacity"] = capacity __props__.__dict__["diagnose_support_enabled"] = diagnose_support_enabled __props__.__dict__["email"] = email @@ -754,6 +792,7 @@ def _internal_init(__self__, def get(resource_name: str, id: pulumi.Input[str], opts: Optional[pulumi.ResourceOptions] = None, + automatic_upgrade_channel: Optional[pulumi.Input[str]] = None, capacity: Optional[pulumi.Input[int]] = None, diagnose_support_enabled: Optional[pulumi.Input[bool]] = None, email: Optional[pulumi.Input[str]] = None, @@ -777,6 +816,7 @@ def get(resource_name: str, :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] automatic_upgrade_channel: Specify the automatic upgrade channel for the NGINX deployment. Defaults to `stable`. The possible values are `stable` and `preview`. :param pulumi.Input[int] capacity: Specify the number of NGINX capacity units for this NGINX deployment. Defaults to `20`. > **Note** For more information on NGINX capacity units, please refer to the [NGINX scaling guidance documentation](https://docs.nginx.com/nginxaas/azure/quickstart/scaling/) @@ -793,13 +833,14 @@ def get(resource_name: str, :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['DeploymentNetworkInterfaceArgs']]]] network_interfaces: One or more `network_interface` blocks as defined below. Changing this forces a new Nginx Deployment to be created. :param pulumi.Input[str] nginx_version: The version of deployed nginx. :param pulumi.Input[str] resource_group_name: The name of the Resource Group where the Nginx Deployment should exist. Changing this forces a new Nginx Deployment to be created. - :param pulumi.Input[str] sku: Specify the Name of Nginx deployment SKU. The possible value are `publicpreview_Monthly_gmz7xq9ge3py` and `standard_Monthly`. + :param pulumi.Input[str] sku: Specify the Name of Nginx deployment SKU. The possible value are `publicpreview_Monthly_gmz7xq9ge3py` and `standard_Monthly`. Changing this forces a new Nginx Deployment to be created. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A mapping of tags which should be assigned to the Nginx Deployment. """ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) __props__ = _DeploymentState.__new__(_DeploymentState) + __props__.__dict__["automatic_upgrade_channel"] = automatic_upgrade_channel __props__.__dict__["capacity"] = capacity __props__.__dict__["diagnose_support_enabled"] = diagnose_support_enabled __props__.__dict__["email"] = email @@ -818,6 +859,14 @@ def get(resource_name: str, __props__.__dict__["tags"] = tags return Deployment(resource_name, opts=opts, __props__=__props__) + @property + @pulumi.getter(name="automaticUpgradeChannel") + def automatic_upgrade_channel(self) -> pulumi.Output[Optional[str]]: + """ + Specify the automatic upgrade channel for the NGINX deployment. Defaults to `stable`. The possible values are `stable` and `preview`. + """ + return pulumi.get(self, "automatic_upgrade_channel") + @property @pulumi.getter def capacity(self) -> pulumi.Output[Optional[int]]: @@ -936,7 +985,7 @@ def resource_group_name(self) -> pulumi.Output[str]: @pulumi.getter def sku(self) -> pulumi.Output[str]: """ - Specify the Name of Nginx deployment SKU. The possible value are `publicpreview_Monthly_gmz7xq9ge3py` and `standard_Monthly`. + Specify the Name of Nginx deployment SKU. The possible value are `publicpreview_Monthly_gmz7xq9ge3py` and `standard_Monthly`. Changing this forces a new Nginx Deployment to be created. """ return pulumi.get(self, "sku") diff --git a/sdk/python/pulumi_azure/nginx/get_deployment.py b/sdk/python/pulumi_azure/nginx/get_deployment.py index c0ad40aa98..a43ef6d96e 100644 --- a/sdk/python/pulumi_azure/nginx/get_deployment.py +++ b/sdk/python/pulumi_azure/nginx/get_deployment.py @@ -22,7 +22,10 @@ class GetDeploymentResult: """ A collection of values returned by getDeployment. """ - def __init__(__self__, capacity=None, diagnose_support_enabled=None, email=None, frontend_privates=None, frontend_publics=None, id=None, identities=None, ip_address=None, location=None, logging_storage_accounts=None, managed_resource_group=None, name=None, network_interfaces=None, nginx_version=None, resource_group_name=None, sku=None, tags=None): + def __init__(__self__, automatic_upgrade_channel=None, capacity=None, diagnose_support_enabled=None, email=None, frontend_privates=None, frontend_publics=None, id=None, identities=None, ip_address=None, location=None, logging_storage_accounts=None, managed_resource_group=None, name=None, network_interfaces=None, nginx_version=None, resource_group_name=None, sku=None, tags=None): + if automatic_upgrade_channel and not isinstance(automatic_upgrade_channel, str): + raise TypeError("Expected argument 'automatic_upgrade_channel' to be a str") + pulumi.set(__self__, "automatic_upgrade_channel", automatic_upgrade_channel) if capacity and not isinstance(capacity, int): raise TypeError("Expected argument 'capacity' to be a int") pulumi.set(__self__, "capacity", capacity) @@ -75,6 +78,14 @@ def __init__(__self__, capacity=None, diagnose_support_enabled=None, email=None, raise TypeError("Expected argument 'tags' to be a dict") pulumi.set(__self__, "tags", tags) + @property + @pulumi.getter(name="automaticUpgradeChannel") + def automatic_upgrade_channel(self) -> str: + """ + The automatic upgrade channel for this NGINX deployment. + """ + return pulumi.get(self, "automatic_upgrade_channel") + @property @pulumi.getter def capacity(self) -> int: @@ -215,6 +226,7 @@ def __await__(self): if False: yield self return GetDeploymentResult( + automatic_upgrade_channel=self.automatic_upgrade_channel, capacity=self.capacity, diagnose_support_enabled=self.diagnose_support_enabled, email=self.email, @@ -262,6 +274,7 @@ def get_deployment(name: Optional[str] = None, __ret__ = pulumi.runtime.invoke('azure:nginx/getDeployment:getDeployment', __args__, opts=opts, typ=GetDeploymentResult).value return AwaitableGetDeploymentResult( + automatic_upgrade_channel=pulumi.get(__ret__, 'automatic_upgrade_channel'), capacity=pulumi.get(__ret__, 'capacity'), diagnose_support_enabled=pulumi.get(__ret__, 'diagnose_support_enabled'), email=pulumi.get(__ret__, 'email'), diff --git a/sdk/python/pulumi_azure/paloalto/_inputs.py b/sdk/python/pulumi_azure/paloalto/_inputs.py index a16f049f3a..bb3efb735d 100644 --- a/sdk/python/pulumi_azure/paloalto/_inputs.py +++ b/sdk/python/pulumi_azure/paloalto/_inputs.py @@ -1026,8 +1026,8 @@ def __init__(__self__, *, dns_servers: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, use_azure_dns: Optional[pulumi.Input[bool]] = None): """ - :param pulumi.Input[Sequence[pulumi.Input[str]]] dns_servers: Specifies a list of DNS servers to use. Conflicts with `dns_settings.0.use_azure_dns`. - :param pulumi.Input[bool] use_azure_dns: Should the Firewall use Azure Supplied DNS servers. Conflicts with `dns_settings.0.dns_servers`. Defaults to `false`. + :param pulumi.Input[Sequence[pulumi.Input[str]]] dns_servers: Specifies a list of DNS servers to use. Conflicts with `dns_settings[0].use_azure_dns`. + :param pulumi.Input[bool] use_azure_dns: Should the Firewall use Azure Supplied DNS servers. Conflicts with `dns_settings[0].dns_servers`. Defaults to `false`. """ if azure_dns_servers is not None: pulumi.set(__self__, "azure_dns_servers", azure_dns_servers) @@ -1049,7 +1049,7 @@ def azure_dns_servers(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[s @pulumi.getter(name="dnsServers") def dns_servers(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: """ - Specifies a list of DNS servers to use. Conflicts with `dns_settings.0.use_azure_dns`. + Specifies a list of DNS servers to use. Conflicts with `dns_settings[0].use_azure_dns`. """ return pulumi.get(self, "dns_servers") @@ -1061,7 +1061,7 @@ def dns_servers(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] @pulumi.getter(name="useAzureDns") def use_azure_dns(self) -> Optional[pulumi.Input[bool]]: """ - Should the Firewall use Azure Supplied DNS servers. Conflicts with `dns_settings.0.dns_servers`. Defaults to `false`. + Should the Firewall use Azure Supplied DNS servers. Conflicts with `dns_settings[0].dns_servers`. Defaults to `false`. """ return pulumi.get(self, "use_azure_dns") @@ -1383,8 +1383,8 @@ def __init__(__self__, *, dns_servers: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, use_azure_dns: Optional[pulumi.Input[bool]] = None): """ - :param pulumi.Input[Sequence[pulumi.Input[str]]] dns_servers: Specifies a list of DNS servers to use. Conflicts with `dns_settings.0.use_azure_dns`. - :param pulumi.Input[bool] use_azure_dns: Should the Firewall use Azure Supplied DNS servers. Conflicts with `dns_settings.0.dns_servers`. Defaults to `false`. + :param pulumi.Input[Sequence[pulumi.Input[str]]] dns_servers: Specifies a list of DNS servers to use. Conflicts with `dns_settings[0].use_azure_dns`. + :param pulumi.Input[bool] use_azure_dns: Should the Firewall use Azure Supplied DNS servers. Conflicts with `dns_settings[0].dns_servers`. Defaults to `false`. """ if azure_dns_servers is not None: pulumi.set(__self__, "azure_dns_servers", azure_dns_servers) @@ -1406,7 +1406,7 @@ def azure_dns_servers(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[s @pulumi.getter(name="dnsServers") def dns_servers(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: """ - Specifies a list of DNS servers to use. Conflicts with `dns_settings.0.use_azure_dns`. + Specifies a list of DNS servers to use. Conflicts with `dns_settings[0].use_azure_dns`. """ return pulumi.get(self, "dns_servers") @@ -1418,7 +1418,7 @@ def dns_servers(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] @pulumi.getter(name="useAzureDns") def use_azure_dns(self) -> Optional[pulumi.Input[bool]]: """ - Should the Firewall use Azure Supplied DNS servers. Conflicts with `dns_settings.0.dns_servers`. Defaults to `false`. + Should the Firewall use Azure Supplied DNS servers. Conflicts with `dns_settings[0].dns_servers`. Defaults to `false`. """ return pulumi.get(self, "use_azure_dns") diff --git a/sdk/python/pulumi_azure/paloalto/outputs.py b/sdk/python/pulumi_azure/paloalto/outputs.py index a7786640e1..6edce092c3 100644 --- a/sdk/python/pulumi_azure/paloalto/outputs.py +++ b/sdk/python/pulumi_azure/paloalto/outputs.py @@ -1127,8 +1127,8 @@ def __init__(__self__, *, dns_servers: Optional[Sequence[str]] = None, use_azure_dns: Optional[bool] = None): """ - :param Sequence[str] dns_servers: Specifies a list of DNS servers to use. Conflicts with `dns_settings.0.use_azure_dns`. - :param bool use_azure_dns: Should the Firewall use Azure Supplied DNS servers. Conflicts with `dns_settings.0.dns_servers`. Defaults to `false`. + :param Sequence[str] dns_servers: Specifies a list of DNS servers to use. Conflicts with `dns_settings[0].use_azure_dns`. + :param bool use_azure_dns: Should the Firewall use Azure Supplied DNS servers. Conflicts with `dns_settings[0].dns_servers`. Defaults to `false`. """ if azure_dns_servers is not None: pulumi.set(__self__, "azure_dns_servers", azure_dns_servers) @@ -1146,7 +1146,7 @@ def azure_dns_servers(self) -> Optional[Sequence[str]]: @pulumi.getter(name="dnsServers") def dns_servers(self) -> Optional[Sequence[str]]: """ - Specifies a list of DNS servers to use. Conflicts with `dns_settings.0.use_azure_dns`. + Specifies a list of DNS servers to use. Conflicts with `dns_settings[0].use_azure_dns`. """ return pulumi.get(self, "dns_servers") @@ -1154,7 +1154,7 @@ def dns_servers(self) -> Optional[Sequence[str]]: @pulumi.getter(name="useAzureDns") def use_azure_dns(self) -> Optional[bool]: """ - Should the Firewall use Azure Supplied DNS servers. Conflicts with `dns_settings.0.dns_servers`. Defaults to `false`. + Should the Firewall use Azure Supplied DNS servers. Conflicts with `dns_settings[0].dns_servers`. Defaults to `false`. """ return pulumi.get(self, "use_azure_dns") @@ -1524,8 +1524,8 @@ def __init__(__self__, *, dns_servers: Optional[Sequence[str]] = None, use_azure_dns: Optional[bool] = None): """ - :param Sequence[str] dns_servers: Specifies a list of DNS servers to use. Conflicts with `dns_settings.0.use_azure_dns`. - :param bool use_azure_dns: Should the Firewall use Azure Supplied DNS servers. Conflicts with `dns_settings.0.dns_servers`. Defaults to `false`. + :param Sequence[str] dns_servers: Specifies a list of DNS servers to use. Conflicts with `dns_settings[0].use_azure_dns`. + :param bool use_azure_dns: Should the Firewall use Azure Supplied DNS servers. Conflicts with `dns_settings[0].dns_servers`. Defaults to `false`. """ if azure_dns_servers is not None: pulumi.set(__self__, "azure_dns_servers", azure_dns_servers) @@ -1543,7 +1543,7 @@ def azure_dns_servers(self) -> Optional[Sequence[str]]: @pulumi.getter(name="dnsServers") def dns_servers(self) -> Optional[Sequence[str]]: """ - Specifies a list of DNS servers to use. Conflicts with `dns_settings.0.use_azure_dns`. + Specifies a list of DNS servers to use. Conflicts with `dns_settings[0].use_azure_dns`. """ return pulumi.get(self, "dns_servers") @@ -1551,7 +1551,7 @@ def dns_servers(self) -> Optional[Sequence[str]]: @pulumi.getter(name="useAzureDns") def use_azure_dns(self) -> Optional[bool]: """ - Should the Firewall use Azure Supplied DNS servers. Conflicts with `dns_settings.0.dns_servers`. Defaults to `false`. + Should the Firewall use Azure Supplied DNS servers. Conflicts with `dns_settings[0].dns_servers`. Defaults to `false`. """ return pulumi.get(self, "use_azure_dns") diff --git a/sdk/python/pulumi_azure/pim/_inputs.py b/sdk/python/pulumi_azure/pim/_inputs.py index 7a71f8aa9a..74caa208d1 100644 --- a/sdk/python/pulumi_azure/pim/_inputs.py +++ b/sdk/python/pulumi_azure/pim/_inputs.py @@ -64,9 +64,9 @@ def __init__(__self__, *, duration_hours: Optional[pulumi.Input[int]] = None, end_date_time: Optional[pulumi.Input[str]] = None): """ - :param pulumi.Input[int] duration_days: The duration of the role assignment in days. Conflicts with `schedule.0.expiration.0.duration_hours`,`schedule.0.expiration.0.end_date_time` Changing this forces a new Pim Active Role Assignment to be created. - :param pulumi.Input[int] duration_hours: The duration of the role assignment in hours. Conflicts with `schedule.0.expiration.0.duration_days`,`schedule.0.expiration.0.end_date_time` Changing this forces a new Pim Active Role Assignment to be created. - :param pulumi.Input[str] end_date_time: The end date time of the role assignment. Conflicts with `schedule.0.expiration.0.duration_days`,`schedule.0.expiration.0.duration_hours` Changing this forces a new Pim Active Role Assignment to be created. + :param pulumi.Input[int] duration_days: The duration of the role assignment in days. Conflicts with `schedule[0].expiration[0].duration_hours`,`schedule[0].expiration[0].end_date_time` Changing this forces a new Pim Active Role Assignment to be created. + :param pulumi.Input[int] duration_hours: The duration of the role assignment in hours. Conflicts with `schedule[0].expiration[0].duration_days`,`schedule[0].expiration[0].end_date_time` Changing this forces a new Pim Active Role Assignment to be created. + :param pulumi.Input[str] end_date_time: The end date time of the role assignment. Conflicts with `schedule[0].expiration[0].duration_days`,`schedule[0].expiration[0].duration_hours` Changing this forces a new Pim Active Role Assignment to be created. """ if duration_days is not None: pulumi.set(__self__, "duration_days", duration_days) @@ -79,7 +79,7 @@ def __init__(__self__, *, @pulumi.getter(name="durationDays") def duration_days(self) -> Optional[pulumi.Input[int]]: """ - The duration of the role assignment in days. Conflicts with `schedule.0.expiration.0.duration_hours`,`schedule.0.expiration.0.end_date_time` Changing this forces a new Pim Active Role Assignment to be created. + The duration of the role assignment in days. Conflicts with `schedule[0].expiration[0].duration_hours`,`schedule[0].expiration[0].end_date_time` Changing this forces a new Pim Active Role Assignment to be created. """ return pulumi.get(self, "duration_days") @@ -91,7 +91,7 @@ def duration_days(self, value: Optional[pulumi.Input[int]]): @pulumi.getter(name="durationHours") def duration_hours(self) -> Optional[pulumi.Input[int]]: """ - The duration of the role assignment in hours. Conflicts with `schedule.0.expiration.0.duration_days`,`schedule.0.expiration.0.end_date_time` Changing this forces a new Pim Active Role Assignment to be created. + The duration of the role assignment in hours. Conflicts with `schedule[0].expiration[0].duration_days`,`schedule[0].expiration[0].end_date_time` Changing this forces a new Pim Active Role Assignment to be created. """ return pulumi.get(self, "duration_hours") @@ -103,7 +103,7 @@ def duration_hours(self, value: Optional[pulumi.Input[int]]): @pulumi.getter(name="endDateTime") def end_date_time(self) -> Optional[pulumi.Input[str]]: """ - The end date time of the role assignment. Conflicts with `schedule.0.expiration.0.duration_days`,`schedule.0.expiration.0.duration_hours` Changing this forces a new Pim Active Role Assignment to be created. + The end date time of the role assignment. Conflicts with `schedule[0].expiration[0].duration_days`,`schedule[0].expiration[0].duration_hours` Changing this forces a new Pim Active Role Assignment to be created. """ return pulumi.get(self, "end_date_time") @@ -197,9 +197,9 @@ def __init__(__self__, *, duration_hours: Optional[pulumi.Input[int]] = None, end_date_time: Optional[pulumi.Input[str]] = None): """ - :param pulumi.Input[int] duration_days: The duration of the role assignment in days. Conflicts with `schedule.0.expiration.0.duration_hours`,`schedule.0.expiration.0.end_date_time` Changing this forces a new Pim Eligible Role Assignment to be created. - :param pulumi.Input[int] duration_hours: The duration of the role assignment in hours. Conflicts with `schedule.0.expiration.0.duration_days`,`schedule.0.expiration.0.end_date_time` Changing this forces a new Pim Eligible Role Assignment to be created. - :param pulumi.Input[str] end_date_time: The end date time of the role assignment. Conflicts with `schedule.0.expiration.0.duration_days`,`schedule.0.expiration.0.duration_hours` Changing this forces a new Pim Eligible Role Assignment to be created. + :param pulumi.Input[int] duration_days: The duration of the role assignment in days. Conflicts with `schedule[0].expiration[0].duration_hours`,`schedule[0].expiration[0].end_date_time` Changing this forces a new Pim Eligible Role Assignment to be created. + :param pulumi.Input[int] duration_hours: The duration of the role assignment in hours. Conflicts with `schedule[0].expiration[0].duration_days`,`schedule[0].expiration[0].end_date_time` Changing this forces a new Pim Eligible Role Assignment to be created. + :param pulumi.Input[str] end_date_time: The end date time of the role assignment. Conflicts with `schedule[0].expiration[0].duration_days`,`schedule[0].expiration[0].duration_hours` Changing this forces a new Pim Eligible Role Assignment to be created. """ if duration_days is not None: pulumi.set(__self__, "duration_days", duration_days) @@ -212,7 +212,7 @@ def __init__(__self__, *, @pulumi.getter(name="durationDays") def duration_days(self) -> Optional[pulumi.Input[int]]: """ - The duration of the role assignment in days. Conflicts with `schedule.0.expiration.0.duration_hours`,`schedule.0.expiration.0.end_date_time` Changing this forces a new Pim Eligible Role Assignment to be created. + The duration of the role assignment in days. Conflicts with `schedule[0].expiration[0].duration_hours`,`schedule[0].expiration[0].end_date_time` Changing this forces a new Pim Eligible Role Assignment to be created. """ return pulumi.get(self, "duration_days") @@ -224,7 +224,7 @@ def duration_days(self, value: Optional[pulumi.Input[int]]): @pulumi.getter(name="durationHours") def duration_hours(self) -> Optional[pulumi.Input[int]]: """ - The duration of the role assignment in hours. Conflicts with `schedule.0.expiration.0.duration_days`,`schedule.0.expiration.0.end_date_time` Changing this forces a new Pim Eligible Role Assignment to be created. + The duration of the role assignment in hours. Conflicts with `schedule[0].expiration[0].duration_days`,`schedule[0].expiration[0].end_date_time` Changing this forces a new Pim Eligible Role Assignment to be created. """ return pulumi.get(self, "duration_hours") @@ -236,7 +236,7 @@ def duration_hours(self, value: Optional[pulumi.Input[int]]): @pulumi.getter(name="endDateTime") def end_date_time(self) -> Optional[pulumi.Input[str]]: """ - The end date time of the role assignment. Conflicts with `schedule.0.expiration.0.duration_days`,`schedule.0.expiration.0.duration_hours` Changing this forces a new Pim Eligible Role Assignment to be created. + The end date time of the role assignment. Conflicts with `schedule[0].expiration[0].duration_days`,`schedule[0].expiration[0].duration_hours` Changing this forces a new Pim Eligible Role Assignment to be created. """ return pulumi.get(self, "end_date_time") diff --git a/sdk/python/pulumi_azure/pim/outputs.py b/sdk/python/pulumi_azure/pim/outputs.py index 98af45d834..fb36b71bb3 100644 --- a/sdk/python/pulumi_azure/pim/outputs.py +++ b/sdk/python/pulumi_azure/pim/outputs.py @@ -95,9 +95,9 @@ def __init__(__self__, *, duration_hours: Optional[int] = None, end_date_time: Optional[str] = None): """ - :param int duration_days: The duration of the role assignment in days. Conflicts with `schedule.0.expiration.0.duration_hours`,`schedule.0.expiration.0.end_date_time` Changing this forces a new Pim Active Role Assignment to be created. - :param int duration_hours: The duration of the role assignment in hours. Conflicts with `schedule.0.expiration.0.duration_days`,`schedule.0.expiration.0.end_date_time` Changing this forces a new Pim Active Role Assignment to be created. - :param str end_date_time: The end date time of the role assignment. Conflicts with `schedule.0.expiration.0.duration_days`,`schedule.0.expiration.0.duration_hours` Changing this forces a new Pim Active Role Assignment to be created. + :param int duration_days: The duration of the role assignment in days. Conflicts with `schedule[0].expiration[0].duration_hours`,`schedule[0].expiration[0].end_date_time` Changing this forces a new Pim Active Role Assignment to be created. + :param int duration_hours: The duration of the role assignment in hours. Conflicts with `schedule[0].expiration[0].duration_days`,`schedule[0].expiration[0].end_date_time` Changing this forces a new Pim Active Role Assignment to be created. + :param str end_date_time: The end date time of the role assignment. Conflicts with `schedule[0].expiration[0].duration_days`,`schedule[0].expiration[0].duration_hours` Changing this forces a new Pim Active Role Assignment to be created. """ if duration_days is not None: pulumi.set(__self__, "duration_days", duration_days) @@ -110,7 +110,7 @@ def __init__(__self__, *, @pulumi.getter(name="durationDays") def duration_days(self) -> Optional[int]: """ - The duration of the role assignment in days. Conflicts with `schedule.0.expiration.0.duration_hours`,`schedule.0.expiration.0.end_date_time` Changing this forces a new Pim Active Role Assignment to be created. + The duration of the role assignment in days. Conflicts with `schedule[0].expiration[0].duration_hours`,`schedule[0].expiration[0].end_date_time` Changing this forces a new Pim Active Role Assignment to be created. """ return pulumi.get(self, "duration_days") @@ -118,7 +118,7 @@ def duration_days(self) -> Optional[int]: @pulumi.getter(name="durationHours") def duration_hours(self) -> Optional[int]: """ - The duration of the role assignment in hours. Conflicts with `schedule.0.expiration.0.duration_days`,`schedule.0.expiration.0.end_date_time` Changing this forces a new Pim Active Role Assignment to be created. + The duration of the role assignment in hours. Conflicts with `schedule[0].expiration[0].duration_days`,`schedule[0].expiration[0].end_date_time` Changing this forces a new Pim Active Role Assignment to be created. """ return pulumi.get(self, "duration_hours") @@ -126,7 +126,7 @@ def duration_hours(self) -> Optional[int]: @pulumi.getter(name="endDateTime") def end_date_time(self) -> Optional[str]: """ - The end date time of the role assignment. Conflicts with `schedule.0.expiration.0.duration_days`,`schedule.0.expiration.0.duration_hours` Changing this forces a new Pim Active Role Assignment to be created. + The end date time of the role assignment. Conflicts with `schedule[0].expiration[0].duration_days`,`schedule[0].expiration[0].duration_hours` Changing this forces a new Pim Active Role Assignment to be created. """ return pulumi.get(self, "end_date_time") @@ -238,9 +238,9 @@ def __init__(__self__, *, duration_hours: Optional[int] = None, end_date_time: Optional[str] = None): """ - :param int duration_days: The duration of the role assignment in days. Conflicts with `schedule.0.expiration.0.duration_hours`,`schedule.0.expiration.0.end_date_time` Changing this forces a new Pim Eligible Role Assignment to be created. - :param int duration_hours: The duration of the role assignment in hours. Conflicts with `schedule.0.expiration.0.duration_days`,`schedule.0.expiration.0.end_date_time` Changing this forces a new Pim Eligible Role Assignment to be created. - :param str end_date_time: The end date time of the role assignment. Conflicts with `schedule.0.expiration.0.duration_days`,`schedule.0.expiration.0.duration_hours` Changing this forces a new Pim Eligible Role Assignment to be created. + :param int duration_days: The duration of the role assignment in days. Conflicts with `schedule[0].expiration[0].duration_hours`,`schedule[0].expiration[0].end_date_time` Changing this forces a new Pim Eligible Role Assignment to be created. + :param int duration_hours: The duration of the role assignment in hours. Conflicts with `schedule[0].expiration[0].duration_days`,`schedule[0].expiration[0].end_date_time` Changing this forces a new Pim Eligible Role Assignment to be created. + :param str end_date_time: The end date time of the role assignment. Conflicts with `schedule[0].expiration[0].duration_days`,`schedule[0].expiration[0].duration_hours` Changing this forces a new Pim Eligible Role Assignment to be created. """ if duration_days is not None: pulumi.set(__self__, "duration_days", duration_days) @@ -253,7 +253,7 @@ def __init__(__self__, *, @pulumi.getter(name="durationDays") def duration_days(self) -> Optional[int]: """ - The duration of the role assignment in days. Conflicts with `schedule.0.expiration.0.duration_hours`,`schedule.0.expiration.0.end_date_time` Changing this forces a new Pim Eligible Role Assignment to be created. + The duration of the role assignment in days. Conflicts with `schedule[0].expiration[0].duration_hours`,`schedule[0].expiration[0].end_date_time` Changing this forces a new Pim Eligible Role Assignment to be created. """ return pulumi.get(self, "duration_days") @@ -261,7 +261,7 @@ def duration_days(self) -> Optional[int]: @pulumi.getter(name="durationHours") def duration_hours(self) -> Optional[int]: """ - The duration of the role assignment in hours. Conflicts with `schedule.0.expiration.0.duration_days`,`schedule.0.expiration.0.end_date_time` Changing this forces a new Pim Eligible Role Assignment to be created. + The duration of the role assignment in hours. Conflicts with `schedule[0].expiration[0].duration_days`,`schedule[0].expiration[0].end_date_time` Changing this forces a new Pim Eligible Role Assignment to be created. """ return pulumi.get(self, "duration_hours") @@ -269,7 +269,7 @@ def duration_hours(self) -> Optional[int]: @pulumi.getter(name="endDateTime") def end_date_time(self) -> Optional[str]: """ - The end date time of the role assignment. Conflicts with `schedule.0.expiration.0.duration_days`,`schedule.0.expiration.0.duration_hours` Changing this forces a new Pim Eligible Role Assignment to be created. + The end date time of the role assignment. Conflicts with `schedule[0].expiration[0].duration_days`,`schedule[0].expiration[0].duration_hours` Changing this forces a new Pim Eligible Role Assignment to be created. """ return pulumi.get(self, "end_date_time") diff --git a/sdk/python/pulumi_azure/postgresql/_inputs.py b/sdk/python/pulumi_azure/postgresql/_inputs.py index c13b13f789..b7908833a4 100644 --- a/sdk/python/pulumi_azure/postgresql/_inputs.py +++ b/sdk/python/pulumi_azure/postgresql/_inputs.py @@ -85,27 +85,38 @@ def tenant_id(self, value: Optional[pulumi.Input[str]]): @pulumi.input_type class FlexibleServerCustomerManagedKeyArgs: def __init__(__self__, *, + key_vault_key_id: pulumi.Input[str], geo_backup_key_vault_key_id: Optional[pulumi.Input[str]] = None, geo_backup_user_assigned_identity_id: Optional[pulumi.Input[str]] = None, - key_vault_key_id: Optional[pulumi.Input[str]] = None, primary_user_assigned_identity_id: Optional[pulumi.Input[str]] = None): """ + :param pulumi.Input[str] key_vault_key_id: The ID of the Key Vault Key. :param pulumi.Input[str] geo_backup_key_vault_key_id: The ID of the geo backup Key Vault Key. It can't cross region and need Customer Managed Key in same region as geo backup. :param pulumi.Input[str] geo_backup_user_assigned_identity_id: The geo backup user managed identity id for a Customer Managed Key. Should be added with `identity_ids`. It can't cross region and need identity in same region as geo backup. - > **NOTE:** `primary_user_assigned_identity_id` or `geo_backup_user_assigned_identity_id` is required when `type` is set to `UserAssigned`. - :param pulumi.Input[str] key_vault_key_id: The ID of the Key Vault Key. + > **Note:** `primary_user_assigned_identity_id` or `geo_backup_user_assigned_identity_id` is required when `type` is set to `UserAssigned`. :param pulumi.Input[str] primary_user_assigned_identity_id: Specifies the primary user managed identity id for a Customer Managed Key. Should be added with `identity_ids`. """ + pulumi.set(__self__, "key_vault_key_id", key_vault_key_id) if geo_backup_key_vault_key_id is not None: pulumi.set(__self__, "geo_backup_key_vault_key_id", geo_backup_key_vault_key_id) if geo_backup_user_assigned_identity_id is not None: pulumi.set(__self__, "geo_backup_user_assigned_identity_id", geo_backup_user_assigned_identity_id) - if key_vault_key_id is not None: - pulumi.set(__self__, "key_vault_key_id", key_vault_key_id) if primary_user_assigned_identity_id is not None: pulumi.set(__self__, "primary_user_assigned_identity_id", primary_user_assigned_identity_id) + @property + @pulumi.getter(name="keyVaultKeyId") + def key_vault_key_id(self) -> pulumi.Input[str]: + """ + The ID of the Key Vault Key. + """ + return pulumi.get(self, "key_vault_key_id") + + @key_vault_key_id.setter + def key_vault_key_id(self, value: pulumi.Input[str]): + pulumi.set(self, "key_vault_key_id", value) + @property @pulumi.getter(name="geoBackupKeyVaultKeyId") def geo_backup_key_vault_key_id(self) -> Optional[pulumi.Input[str]]: @@ -124,7 +135,7 @@ def geo_backup_user_assigned_identity_id(self) -> Optional[pulumi.Input[str]]: """ The geo backup user managed identity id for a Customer Managed Key. Should be added with `identity_ids`. It can't cross region and need identity in same region as geo backup. - > **NOTE:** `primary_user_assigned_identity_id` or `geo_backup_user_assigned_identity_id` is required when `type` is set to `UserAssigned`. + > **Note:** `primary_user_assigned_identity_id` or `geo_backup_user_assigned_identity_id` is required when `type` is set to `UserAssigned`. """ return pulumi.get(self, "geo_backup_user_assigned_identity_id") @@ -132,18 +143,6 @@ def geo_backup_user_assigned_identity_id(self) -> Optional[pulumi.Input[str]]: def geo_backup_user_assigned_identity_id(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "geo_backup_user_assigned_identity_id", value) - @property - @pulumi.getter(name="keyVaultKeyId") - def key_vault_key_id(self) -> Optional[pulumi.Input[str]]: - """ - The ID of the Key Vault Key. - """ - return pulumi.get(self, "key_vault_key_id") - - @key_vault_key_id.setter - def key_vault_key_id(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "key_vault_key_id", value) - @property @pulumi.getter(name="primaryUserAssignedIdentityId") def primary_user_assigned_identity_id(self) -> Optional[pulumi.Input[str]]: diff --git a/sdk/python/pulumi_azure/postgresql/flexible_server.py b/sdk/python/pulumi_azure/postgresql/flexible_server.py index 8c562711c3..71a9e99477 100644 --- a/sdk/python/pulumi_azure/postgresql/flexible_server.py +++ b/sdk/python/pulumi_azure/postgresql/flexible_server.py @@ -37,6 +37,7 @@ def __init__(__self__, *, sku_name: Optional[pulumi.Input[str]] = None, source_server_id: Optional[pulumi.Input[str]] = None, storage_mb: Optional[pulumi.Input[int]] = None, + storage_tier: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, version: Optional[pulumi.Input[str]] = None, zone: Optional[pulumi.Input[str]] = None): @@ -68,13 +69,20 @@ def __init__(__self__, *, :param pulumi.Input[str] point_in_time_restore_time_in_utc: The point in time to restore from `source_server_id` when `create_mode` is `PointInTimeRestore`. Changing this forces a new PostgreSQL Flexible Server to be created. :param pulumi.Input[str] private_dns_zone_id: The ID of the private DNS zone to create the PostgreSQL Flexible Server. - > **NOTE:** There will be a breaking change from upstream service at 15th July 2021, the `private_dns_zone_id` will be required when setting a `delegated_subnet_id`. For existing flexible servers who don't want to be recreated, you need to provide the `private_dns_zone_id` to the service team to manually migrate to the specified private DNS zone. The `privatedns.Zone` should end with suffix `.postgres.database.azure.com`. + > **Note:** There will be a breaking change from upstream service at 15th July 2021, the `private_dns_zone_id` will be required when setting a `delegated_subnet_id`. For existing flexible servers who don't want to be recreated, you need to provide the `private_dns_zone_id` to the service team to manually migrate to the specified private DNS zone. The `privatedns.Zone` should end with suffix `.postgres.database.azure.com`. :param pulumi.Input[str] replication_role: The replication role for the PostgreSQL Flexible Server. Possible value is `None`. - > **NOTE:** The `replication_role` cannot be set while creating and only can be updated to `None` for replica server. + > **Note:** The `replication_role` cannot be set while creating and only can be updated to `None` for replica server. :param pulumi.Input[str] sku_name: The SKU Name for the PostgreSQL Flexible Server. The name of the SKU, follows the `tier` + `name` pattern (e.g. `B_Standard_B1ms`, `GP_Standard_D2s_v3`, `MO_Standard_E4s_v3`). :param pulumi.Input[str] source_server_id: The resource ID of the source PostgreSQL Flexible Server to be restored. Required when `create_mode` is `PointInTimeRestore` or `Replica`. Changing this forces a new PostgreSQL Flexible Server to be created. :param pulumi.Input[int] storage_mb: The max storage allowed for the PostgreSQL Flexible Server. Possible values are `32768`, `65536`, `131072`, `262144`, `524288`, `1048576`, `2097152`, `4193280`, `4194304`, `8388608`, `16777216` and `33553408`. + + > **Note:** If the `storage_mb` field is undefined on the initial deployment of the PostgreSQL Flexible Server resource it will default to `32768`. If the `storage_mb` field has been defined and then removed, the `storage_mb` field will retain the previously defined value. + + > **Note:** The `storage_mb` can only be scaled up, for example, you can scale the `storage_mb` from `32768` to `65536`, but not from `65536` to `32768`. + :param pulumi.Input[str] storage_tier: The name of storage performance tier for IOPS of the PostgreSQL Flexible Server. Possible values are `P4`, `P6`, `P10`, `P15`,`P20`, `P30`,`P40`, `P50`,`P60`, `P70` or `P80`. Default value is dependant on the `storage_mb` value. Please see the `storage_tier` defaults based on `storage_mb` table below. + + > **Note:** The `storage_tier` can be scaled once every 12 hours, this restriction is in place to ensure stability and performance after any changes to your PostgreSQL Flexible Server's configuration. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A mapping of tags which should be assigned to the PostgreSQL Flexible Server. :param pulumi.Input[str] version: The version of PostgreSQL Flexible Server to use. Possible values are `11`,`12`, `13`, `14`, `15` and `16`. Required when `create_mode` is `Default`. @@ -121,6 +129,8 @@ def __init__(__self__, *, pulumi.set(__self__, "source_server_id", source_server_id) if storage_mb is not None: pulumi.set(__self__, "storage_mb", storage_mb) + if storage_tier is not None: + pulumi.set(__self__, "storage_tier", storage_tier) if tags is not None: pulumi.set(__self__, "tags", tags) if version is not None: @@ -334,7 +344,7 @@ def private_dns_zone_id(self) -> Optional[pulumi.Input[str]]: """ The ID of the private DNS zone to create the PostgreSQL Flexible Server. - > **NOTE:** There will be a breaking change from upstream service at 15th July 2021, the `private_dns_zone_id` will be required when setting a `delegated_subnet_id`. For existing flexible servers who don't want to be recreated, you need to provide the `private_dns_zone_id` to the service team to manually migrate to the specified private DNS zone. The `privatedns.Zone` should end with suffix `.postgres.database.azure.com`. + > **Note:** There will be a breaking change from upstream service at 15th July 2021, the `private_dns_zone_id` will be required when setting a `delegated_subnet_id`. For existing flexible servers who don't want to be recreated, you need to provide the `private_dns_zone_id` to the service team to manually migrate to the specified private DNS zone. The `privatedns.Zone` should end with suffix `.postgres.database.azure.com`. """ return pulumi.get(self, "private_dns_zone_id") @@ -348,7 +358,7 @@ def replication_role(self) -> Optional[pulumi.Input[str]]: """ The replication role for the PostgreSQL Flexible Server. Possible value is `None`. - > **NOTE:** The `replication_role` cannot be set while creating and only can be updated to `None` for replica server. + > **Note:** The `replication_role` cannot be set while creating and only can be updated to `None` for replica server. """ return pulumi.get(self, "replication_role") @@ -385,6 +395,10 @@ def source_server_id(self, value: Optional[pulumi.Input[str]]): def storage_mb(self) -> Optional[pulumi.Input[int]]: """ The max storage allowed for the PostgreSQL Flexible Server. Possible values are `32768`, `65536`, `131072`, `262144`, `524288`, `1048576`, `2097152`, `4193280`, `4194304`, `8388608`, `16777216` and `33553408`. + + > **Note:** If the `storage_mb` field is undefined on the initial deployment of the PostgreSQL Flexible Server resource it will default to `32768`. If the `storage_mb` field has been defined and then removed, the `storage_mb` field will retain the previously defined value. + + > **Note:** The `storage_mb` can only be scaled up, for example, you can scale the `storage_mb` from `32768` to `65536`, but not from `65536` to `32768`. """ return pulumi.get(self, "storage_mb") @@ -392,6 +406,20 @@ def storage_mb(self) -> Optional[pulumi.Input[int]]: def storage_mb(self, value: Optional[pulumi.Input[int]]): pulumi.set(self, "storage_mb", value) + @property + @pulumi.getter(name="storageTier") + def storage_tier(self) -> Optional[pulumi.Input[str]]: + """ + The name of storage performance tier for IOPS of the PostgreSQL Flexible Server. Possible values are `P4`, `P6`, `P10`, `P15`,`P20`, `P30`,`P40`, `P50`,`P60`, `P70` or `P80`. Default value is dependant on the `storage_mb` value. Please see the `storage_tier` defaults based on `storage_mb` table below. + + > **Note:** The `storage_tier` can be scaled once every 12 hours, this restriction is in place to ensure stability and performance after any changes to your PostgreSQL Flexible Server's configuration. + """ + return pulumi.get(self, "storage_tier") + + @storage_tier.setter + def storage_tier(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "storage_tier", value) + @property @pulumi.getter def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: @@ -454,6 +482,7 @@ def __init__(__self__, *, sku_name: Optional[pulumi.Input[str]] = None, source_server_id: Optional[pulumi.Input[str]] = None, storage_mb: Optional[pulumi.Input[int]] = None, + storage_tier: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, version: Optional[pulumi.Input[str]] = None, zone: Optional[pulumi.Input[str]] = None): @@ -485,15 +514,22 @@ def __init__(__self__, *, :param pulumi.Input[str] point_in_time_restore_time_in_utc: The point in time to restore from `source_server_id` when `create_mode` is `PointInTimeRestore`. Changing this forces a new PostgreSQL Flexible Server to be created. :param pulumi.Input[str] private_dns_zone_id: The ID of the private DNS zone to create the PostgreSQL Flexible Server. - > **NOTE:** There will be a breaking change from upstream service at 15th July 2021, the `private_dns_zone_id` will be required when setting a `delegated_subnet_id`. For existing flexible servers who don't want to be recreated, you need to provide the `private_dns_zone_id` to the service team to manually migrate to the specified private DNS zone. The `privatedns.Zone` should end with suffix `.postgres.database.azure.com`. + > **Note:** There will be a breaking change from upstream service at 15th July 2021, the `private_dns_zone_id` will be required when setting a `delegated_subnet_id`. For existing flexible servers who don't want to be recreated, you need to provide the `private_dns_zone_id` to the service team to manually migrate to the specified private DNS zone. The `privatedns.Zone` should end with suffix `.postgres.database.azure.com`. :param pulumi.Input[bool] public_network_access_enabled: Is public network access enabled? :param pulumi.Input[str] replication_role: The replication role for the PostgreSQL Flexible Server. Possible value is `None`. - > **NOTE:** The `replication_role` cannot be set while creating and only can be updated to `None` for replica server. + > **Note:** The `replication_role` cannot be set while creating and only can be updated to `None` for replica server. :param pulumi.Input[str] resource_group_name: The name of the Resource Group where the PostgreSQL Flexible Server should exist. Changing this forces a new PostgreSQL Flexible Server to be created. :param pulumi.Input[str] sku_name: The SKU Name for the PostgreSQL Flexible Server. The name of the SKU, follows the `tier` + `name` pattern (e.g. `B_Standard_B1ms`, `GP_Standard_D2s_v3`, `MO_Standard_E4s_v3`). :param pulumi.Input[str] source_server_id: The resource ID of the source PostgreSQL Flexible Server to be restored. Required when `create_mode` is `PointInTimeRestore` or `Replica`. Changing this forces a new PostgreSQL Flexible Server to be created. :param pulumi.Input[int] storage_mb: The max storage allowed for the PostgreSQL Flexible Server. Possible values are `32768`, `65536`, `131072`, `262144`, `524288`, `1048576`, `2097152`, `4193280`, `4194304`, `8388608`, `16777216` and `33553408`. + + > **Note:** If the `storage_mb` field is undefined on the initial deployment of the PostgreSQL Flexible Server resource it will default to `32768`. If the `storage_mb` field has been defined and then removed, the `storage_mb` field will retain the previously defined value. + + > **Note:** The `storage_mb` can only be scaled up, for example, you can scale the `storage_mb` from `32768` to `65536`, but not from `65536` to `32768`. + :param pulumi.Input[str] storage_tier: The name of storage performance tier for IOPS of the PostgreSQL Flexible Server. Possible values are `P4`, `P6`, `P10`, `P15`,`P20`, `P30`,`P40`, `P50`,`P60`, `P70` or `P80`. Default value is dependant on the `storage_mb` value. Please see the `storage_tier` defaults based on `storage_mb` table below. + + > **Note:** The `storage_tier` can be scaled once every 12 hours, this restriction is in place to ensure stability and performance after any changes to your PostgreSQL Flexible Server's configuration. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A mapping of tags which should be assigned to the PostgreSQL Flexible Server. :param pulumi.Input[str] version: The version of PostgreSQL Flexible Server to use. Possible values are `11`,`12`, `13`, `14`, `15` and `16`. Required when `create_mode` is `Default`. @@ -545,6 +581,8 @@ def __init__(__self__, *, pulumi.set(__self__, "source_server_id", source_server_id) if storage_mb is not None: pulumi.set(__self__, "storage_mb", storage_mb) + if storage_tier is not None: + pulumi.set(__self__, "storage_tier", storage_tier) if tags is not None: pulumi.set(__self__, "tags", tags) if version is not None: @@ -758,7 +796,7 @@ def private_dns_zone_id(self) -> Optional[pulumi.Input[str]]: """ The ID of the private DNS zone to create the PostgreSQL Flexible Server. - > **NOTE:** There will be a breaking change from upstream service at 15th July 2021, the `private_dns_zone_id` will be required when setting a `delegated_subnet_id`. For existing flexible servers who don't want to be recreated, you need to provide the `private_dns_zone_id` to the service team to manually migrate to the specified private DNS zone. The `privatedns.Zone` should end with suffix `.postgres.database.azure.com`. + > **Note:** There will be a breaking change from upstream service at 15th July 2021, the `private_dns_zone_id` will be required when setting a `delegated_subnet_id`. For existing flexible servers who don't want to be recreated, you need to provide the `private_dns_zone_id` to the service team to manually migrate to the specified private DNS zone. The `privatedns.Zone` should end with suffix `.postgres.database.azure.com`. """ return pulumi.get(self, "private_dns_zone_id") @@ -784,7 +822,7 @@ def replication_role(self) -> Optional[pulumi.Input[str]]: """ The replication role for the PostgreSQL Flexible Server. Possible value is `None`. - > **NOTE:** The `replication_role` cannot be set while creating and only can be updated to `None` for replica server. + > **Note:** The `replication_role` cannot be set while creating and only can be updated to `None` for replica server. """ return pulumi.get(self, "replication_role") @@ -833,6 +871,10 @@ def source_server_id(self, value: Optional[pulumi.Input[str]]): def storage_mb(self) -> Optional[pulumi.Input[int]]: """ The max storage allowed for the PostgreSQL Flexible Server. Possible values are `32768`, `65536`, `131072`, `262144`, `524288`, `1048576`, `2097152`, `4193280`, `4194304`, `8388608`, `16777216` and `33553408`. + + > **Note:** If the `storage_mb` field is undefined on the initial deployment of the PostgreSQL Flexible Server resource it will default to `32768`. If the `storage_mb` field has been defined and then removed, the `storage_mb` field will retain the previously defined value. + + > **Note:** The `storage_mb` can only be scaled up, for example, you can scale the `storage_mb` from `32768` to `65536`, but not from `65536` to `32768`. """ return pulumi.get(self, "storage_mb") @@ -840,6 +882,20 @@ def storage_mb(self) -> Optional[pulumi.Input[int]]: def storage_mb(self, value: Optional[pulumi.Input[int]]): pulumi.set(self, "storage_mb", value) + @property + @pulumi.getter(name="storageTier") + def storage_tier(self) -> Optional[pulumi.Input[str]]: + """ + The name of storage performance tier for IOPS of the PostgreSQL Flexible Server. Possible values are `P4`, `P6`, `P10`, `P15`,`P20`, `P30`,`P40`, `P50`,`P60`, `P70` or `P80`. Default value is dependant on the `storage_mb` value. Please see the `storage_tier` defaults based on `storage_mb` table below. + + > **Note:** The `storage_tier` can be scaled once every 12 hours, this restriction is in place to ensure stability and performance after any changes to your PostgreSQL Flexible Server's configuration. + """ + return pulumi.get(self, "storage_tier") + + @storage_tier.setter + def storage_tier(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "storage_tier", value) + @property @pulumi.getter def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: @@ -902,6 +958,7 @@ def __init__(__self__, sku_name: Optional[pulumi.Input[str]] = None, source_server_id: Optional[pulumi.Input[str]] = None, storage_mb: Optional[pulumi.Input[int]] = None, + storage_tier: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, version: Optional[pulumi.Input[str]] = None, zone: Optional[pulumi.Input[str]] = None, @@ -955,8 +1012,29 @@ def __init__(__self__, administrator_password="H@Sh1CoR3!", zone="1", storage_mb=32768, + storage_tier="P30", sku_name="GP_Standard_D4s_v3") ``` + ## `storage_tier` defaults based on `storage_mb` + + | `storage_mb` | GiB | TiB | Default | Supported `storage_tier`'s | Provisioned `IOPS` | + |:------------:|:-----:|:---:|:-------:|:------------------------------------:|:-------------------:| + | 32768 | 32 | - | P4 | P4, P6, P10, P15, P20, P30, P40, P50 | 120 | + | 65536 | 64 | - | P6 | P6, P10, P15, P20, P30, P40, P50 | 240 | + | 131072 | 128 | - | P10 | P10, P15, P20, P30, P40, P50 | 500 | + | 262144 | 256 | - | P15 | P15, P20, P30, P40, P50 | 1,100 | + | 524288 | 512 | - | P20 | P20, P30, P40, P50 | 2,300 | + | 1048576 | 1024 | 1 | P30 | P30, P40, P50 | 5,000 | + | 2097152 | 2048 | 2 | P40 | P40, P50 | 7,500 | + | 4193280 | 4095 | 4 | P50 | P50 | 7,500 | + | 4194304 | 4096 | 4 | P50 | P50 | 7,500 | + | 8388608 | 8192 | 8 | P60 | P60, P70 | 16,000 | + | 16777216 | 16384 | 16 | P70 | P70, P80 | 18,000 | + | 33553408 | 32767 | 32 | P80 | P80 | 20,000 | + + > **Note:** Host Caching (ReadOnly and Read/Write) is supported on disk sizes less than 4194304 MiB. This means any disk that is provisioned up to 4193280 MiB can take advantage of Host Caching. Host caching is not supported for disk sizes larger than 4193280 MiB. For example, a P50 premium disk provisioned at 4193280 GiB can take advantage of Host caching while a P50 disk provisioned at 4194304 MiB cannot. Moving from a smaller disk size to a larger disk size, greater than 4193280 MiB, will cause the disk to lose the disk caching ability. + + *** ## Import @@ -993,14 +1071,21 @@ def __init__(__self__, :param pulumi.Input[str] point_in_time_restore_time_in_utc: The point in time to restore from `source_server_id` when `create_mode` is `PointInTimeRestore`. Changing this forces a new PostgreSQL Flexible Server to be created. :param pulumi.Input[str] private_dns_zone_id: The ID of the private DNS zone to create the PostgreSQL Flexible Server. - > **NOTE:** There will be a breaking change from upstream service at 15th July 2021, the `private_dns_zone_id` will be required when setting a `delegated_subnet_id`. For existing flexible servers who don't want to be recreated, you need to provide the `private_dns_zone_id` to the service team to manually migrate to the specified private DNS zone. The `privatedns.Zone` should end with suffix `.postgres.database.azure.com`. + > **Note:** There will be a breaking change from upstream service at 15th July 2021, the `private_dns_zone_id` will be required when setting a `delegated_subnet_id`. For existing flexible servers who don't want to be recreated, you need to provide the `private_dns_zone_id` to the service team to manually migrate to the specified private DNS zone. The `privatedns.Zone` should end with suffix `.postgres.database.azure.com`. :param pulumi.Input[str] replication_role: The replication role for the PostgreSQL Flexible Server. Possible value is `None`. - > **NOTE:** The `replication_role` cannot be set while creating and only can be updated to `None` for replica server. + > **Note:** The `replication_role` cannot be set while creating and only can be updated to `None` for replica server. :param pulumi.Input[str] resource_group_name: The name of the Resource Group where the PostgreSQL Flexible Server should exist. Changing this forces a new PostgreSQL Flexible Server to be created. :param pulumi.Input[str] sku_name: The SKU Name for the PostgreSQL Flexible Server. The name of the SKU, follows the `tier` + `name` pattern (e.g. `B_Standard_B1ms`, `GP_Standard_D2s_v3`, `MO_Standard_E4s_v3`). :param pulumi.Input[str] source_server_id: The resource ID of the source PostgreSQL Flexible Server to be restored. Required when `create_mode` is `PointInTimeRestore` or `Replica`. Changing this forces a new PostgreSQL Flexible Server to be created. :param pulumi.Input[int] storage_mb: The max storage allowed for the PostgreSQL Flexible Server. Possible values are `32768`, `65536`, `131072`, `262144`, `524288`, `1048576`, `2097152`, `4193280`, `4194304`, `8388608`, `16777216` and `33553408`. + + > **Note:** If the `storage_mb` field is undefined on the initial deployment of the PostgreSQL Flexible Server resource it will default to `32768`. If the `storage_mb` field has been defined and then removed, the `storage_mb` field will retain the previously defined value. + + > **Note:** The `storage_mb` can only be scaled up, for example, you can scale the `storage_mb` from `32768` to `65536`, but not from `65536` to `32768`. + :param pulumi.Input[str] storage_tier: The name of storage performance tier for IOPS of the PostgreSQL Flexible Server. Possible values are `P4`, `P6`, `P10`, `P15`,`P20`, `P30`,`P40`, `P50`,`P60`, `P70` or `P80`. Default value is dependant on the `storage_mb` value. Please see the `storage_tier` defaults based on `storage_mb` table below. + + > **Note:** The `storage_tier` can be scaled once every 12 hours, this restriction is in place to ensure stability and performance after any changes to your PostgreSQL Flexible Server's configuration. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A mapping of tags which should be assigned to the PostgreSQL Flexible Server. :param pulumi.Input[str] version: The version of PostgreSQL Flexible Server to use. Possible values are `11`,`12`, `13`, `14`, `15` and `16`. Required when `create_mode` is `Default`. @@ -1061,8 +1146,29 @@ def __init__(__self__, administrator_password="H@Sh1CoR3!", zone="1", storage_mb=32768, + storage_tier="P30", sku_name="GP_Standard_D4s_v3") ``` + ## `storage_tier` defaults based on `storage_mb` + + | `storage_mb` | GiB | TiB | Default | Supported `storage_tier`'s | Provisioned `IOPS` | + |:------------:|:-----:|:---:|:-------:|:------------------------------------:|:-------------------:| + | 32768 | 32 | - | P4 | P4, P6, P10, P15, P20, P30, P40, P50 | 120 | + | 65536 | 64 | - | P6 | P6, P10, P15, P20, P30, P40, P50 | 240 | + | 131072 | 128 | - | P10 | P10, P15, P20, P30, P40, P50 | 500 | + | 262144 | 256 | - | P15 | P15, P20, P30, P40, P50 | 1,100 | + | 524288 | 512 | - | P20 | P20, P30, P40, P50 | 2,300 | + | 1048576 | 1024 | 1 | P30 | P30, P40, P50 | 5,000 | + | 2097152 | 2048 | 2 | P40 | P40, P50 | 7,500 | + | 4193280 | 4095 | 4 | P50 | P50 | 7,500 | + | 4194304 | 4096 | 4 | P50 | P50 | 7,500 | + | 8388608 | 8192 | 8 | P60 | P60, P70 | 16,000 | + | 16777216 | 16384 | 16 | P70 | P70, P80 | 18,000 | + | 33553408 | 32767 | 32 | P80 | P80 | 20,000 | + + > **Note:** Host Caching (ReadOnly and Read/Write) is supported on disk sizes less than 4194304 MiB. This means any disk that is provisioned up to 4193280 MiB can take advantage of Host Caching. Host caching is not supported for disk sizes larger than 4193280 MiB. For example, a P50 premium disk provisioned at 4193280 GiB can take advantage of Host caching while a P50 disk provisioned at 4194304 MiB cannot. Moving from a smaller disk size to a larger disk size, greater than 4193280 MiB, will cause the disk to lose the disk caching ability. + + *** ## Import @@ -1108,6 +1214,7 @@ def _internal_init(__self__, sku_name: Optional[pulumi.Input[str]] = None, source_server_id: Optional[pulumi.Input[str]] = None, storage_mb: Optional[pulumi.Input[int]] = None, + storage_tier: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, version: Optional[pulumi.Input[str]] = None, zone: Optional[pulumi.Input[str]] = None, @@ -1143,6 +1250,7 @@ def _internal_init(__self__, __props__.__dict__["sku_name"] = sku_name __props__.__dict__["source_server_id"] = source_server_id __props__.__dict__["storage_mb"] = storage_mb + __props__.__dict__["storage_tier"] = storage_tier __props__.__dict__["tags"] = tags __props__.__dict__["version"] = version __props__.__dict__["zone"] = zone @@ -1183,6 +1291,7 @@ def get(resource_name: str, sku_name: Optional[pulumi.Input[str]] = None, source_server_id: Optional[pulumi.Input[str]] = None, storage_mb: Optional[pulumi.Input[int]] = None, + storage_tier: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, version: Optional[pulumi.Input[str]] = None, zone: Optional[pulumi.Input[str]] = None) -> 'FlexibleServer': @@ -1219,15 +1328,22 @@ def get(resource_name: str, :param pulumi.Input[str] point_in_time_restore_time_in_utc: The point in time to restore from `source_server_id` when `create_mode` is `PointInTimeRestore`. Changing this forces a new PostgreSQL Flexible Server to be created. :param pulumi.Input[str] private_dns_zone_id: The ID of the private DNS zone to create the PostgreSQL Flexible Server. - > **NOTE:** There will be a breaking change from upstream service at 15th July 2021, the `private_dns_zone_id` will be required when setting a `delegated_subnet_id`. For existing flexible servers who don't want to be recreated, you need to provide the `private_dns_zone_id` to the service team to manually migrate to the specified private DNS zone. The `privatedns.Zone` should end with suffix `.postgres.database.azure.com`. + > **Note:** There will be a breaking change from upstream service at 15th July 2021, the `private_dns_zone_id` will be required when setting a `delegated_subnet_id`. For existing flexible servers who don't want to be recreated, you need to provide the `private_dns_zone_id` to the service team to manually migrate to the specified private DNS zone. The `privatedns.Zone` should end with suffix `.postgres.database.azure.com`. :param pulumi.Input[bool] public_network_access_enabled: Is public network access enabled? :param pulumi.Input[str] replication_role: The replication role for the PostgreSQL Flexible Server. Possible value is `None`. - > **NOTE:** The `replication_role` cannot be set while creating and only can be updated to `None` for replica server. + > **Note:** The `replication_role` cannot be set while creating and only can be updated to `None` for replica server. :param pulumi.Input[str] resource_group_name: The name of the Resource Group where the PostgreSQL Flexible Server should exist. Changing this forces a new PostgreSQL Flexible Server to be created. :param pulumi.Input[str] sku_name: The SKU Name for the PostgreSQL Flexible Server. The name of the SKU, follows the `tier` + `name` pattern (e.g. `B_Standard_B1ms`, `GP_Standard_D2s_v3`, `MO_Standard_E4s_v3`). :param pulumi.Input[str] source_server_id: The resource ID of the source PostgreSQL Flexible Server to be restored. Required when `create_mode` is `PointInTimeRestore` or `Replica`. Changing this forces a new PostgreSQL Flexible Server to be created. :param pulumi.Input[int] storage_mb: The max storage allowed for the PostgreSQL Flexible Server. Possible values are `32768`, `65536`, `131072`, `262144`, `524288`, `1048576`, `2097152`, `4193280`, `4194304`, `8388608`, `16777216` and `33553408`. + + > **Note:** If the `storage_mb` field is undefined on the initial deployment of the PostgreSQL Flexible Server resource it will default to `32768`. If the `storage_mb` field has been defined and then removed, the `storage_mb` field will retain the previously defined value. + + > **Note:** The `storage_mb` can only be scaled up, for example, you can scale the `storage_mb` from `32768` to `65536`, but not from `65536` to `32768`. + :param pulumi.Input[str] storage_tier: The name of storage performance tier for IOPS of the PostgreSQL Flexible Server. Possible values are `P4`, `P6`, `P10`, `P15`,`P20`, `P30`,`P40`, `P50`,`P60`, `P70` or `P80`. Default value is dependant on the `storage_mb` value. Please see the `storage_tier` defaults based on `storage_mb` table below. + + > **Note:** The `storage_tier` can be scaled once every 12 hours, this restriction is in place to ensure stability and performance after any changes to your PostgreSQL Flexible Server's configuration. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A mapping of tags which should be assigned to the PostgreSQL Flexible Server. :param pulumi.Input[str] version: The version of PostgreSQL Flexible Server to use. Possible values are `11`,`12`, `13`, `14`, `15` and `16`. Required when `create_mode` is `Default`. @@ -1260,6 +1376,7 @@ def get(resource_name: str, __props__.__dict__["sku_name"] = sku_name __props__.__dict__["source_server_id"] = source_server_id __props__.__dict__["storage_mb"] = storage_mb + __props__.__dict__["storage_tier"] = storage_tier __props__.__dict__["tags"] = tags __props__.__dict__["version"] = version __props__.__dict__["zone"] = zone @@ -1407,7 +1524,7 @@ def private_dns_zone_id(self) -> pulumi.Output[str]: """ The ID of the private DNS zone to create the PostgreSQL Flexible Server. - > **NOTE:** There will be a breaking change from upstream service at 15th July 2021, the `private_dns_zone_id` will be required when setting a `delegated_subnet_id`. For existing flexible servers who don't want to be recreated, you need to provide the `private_dns_zone_id` to the service team to manually migrate to the specified private DNS zone. The `privatedns.Zone` should end with suffix `.postgres.database.azure.com`. + > **Note:** There will be a breaking change from upstream service at 15th July 2021, the `private_dns_zone_id` will be required when setting a `delegated_subnet_id`. For existing flexible servers who don't want to be recreated, you need to provide the `private_dns_zone_id` to the service team to manually migrate to the specified private DNS zone. The `privatedns.Zone` should end with suffix `.postgres.database.azure.com`. """ return pulumi.get(self, "private_dns_zone_id") @@ -1425,7 +1542,7 @@ def replication_role(self) -> pulumi.Output[Optional[str]]: """ The replication role for the PostgreSQL Flexible Server. Possible value is `None`. - > **NOTE:** The `replication_role` cannot be set while creating and only can be updated to `None` for replica server. + > **Note:** The `replication_role` cannot be set while creating and only can be updated to `None` for replica server. """ return pulumi.get(self, "replication_role") @@ -1458,9 +1575,23 @@ def source_server_id(self) -> pulumi.Output[Optional[str]]: def storage_mb(self) -> pulumi.Output[int]: """ The max storage allowed for the PostgreSQL Flexible Server. Possible values are `32768`, `65536`, `131072`, `262144`, `524288`, `1048576`, `2097152`, `4193280`, `4194304`, `8388608`, `16777216` and `33553408`. + + > **Note:** If the `storage_mb` field is undefined on the initial deployment of the PostgreSQL Flexible Server resource it will default to `32768`. If the `storage_mb` field has been defined and then removed, the `storage_mb` field will retain the previously defined value. + + > **Note:** The `storage_mb` can only be scaled up, for example, you can scale the `storage_mb` from `32768` to `65536`, but not from `65536` to `32768`. """ return pulumi.get(self, "storage_mb") + @property + @pulumi.getter(name="storageTier") + def storage_tier(self) -> pulumi.Output[str]: + """ + The name of storage performance tier for IOPS of the PostgreSQL Flexible Server. Possible values are `P4`, `P6`, `P10`, `P15`,`P20`, `P30`,`P40`, `P50`,`P60`, `P70` or `P80`. Default value is dependant on the `storage_mb` value. Please see the `storage_tier` defaults based on `storage_mb` table below. + + > **Note:** The `storage_tier` can be scaled once every 12 hours, this restriction is in place to ensure stability and performance after any changes to your PostgreSQL Flexible Server's configuration. + """ + return pulumi.get(self, "storage_tier") + @property @pulumi.getter def tags(self) -> pulumi.Output[Optional[Mapping[str, str]]]: diff --git a/sdk/python/pulumi_azure/postgresql/flexible_server_database.py b/sdk/python/pulumi_azure/postgresql/flexible_server_database.py index d6b91a1287..1bfeaa3a80 100644 --- a/sdk/python/pulumi_azure/postgresql/flexible_server_database.py +++ b/sdk/python/pulumi_azure/postgresql/flexible_server_database.py @@ -23,7 +23,7 @@ def __init__(__self__, *, :param pulumi.Input[str] server_id: The ID of the Azure PostgreSQL Flexible Server from which to create this PostgreSQL Flexible Server Database. Changing this forces a new Azure PostgreSQL Flexible Server Database to be created. :param pulumi.Input[str] charset: Specifies the Charset for the Azure PostgreSQL Flexible Server Database, which needs [to be a valid PostgreSQL Charset](https://www.postgresql.org/docs/current/static/multibyte.html). Defaults to `UTF8`. Changing this forces a new Azure PostgreSQL Flexible Server Database to be created. :param pulumi.Input[str] collation: Specifies the Collation for the Azure PostgreSQL Flexible Server Database, which needs [to be a valid PostgreSQL Collation](https://www.postgresql.org/docs/current/static/collation.html). Defaults to `en_US.utf8`. Changing this forces a new Azure PostgreSQL Flexible Server Database to be created. - :param pulumi.Input[str] name: The name which should be used for this Azure PostgreSQL Flexible Server Database. Changing this forces a new Azure PostgreSQL Flexible Server Database to be created. + :param pulumi.Input[str] name: Specifies the name of the PostgreSQL Database, which needs [to be a valid PostgreSQL identifier](https://www.postgresql.org/docs/current/sql-syntax-lexical.html#SQL-SYNTAX-IDENTIFIERS). Changing this forces a new Azure PostgreSQL Flexible Server Database to be created. """ pulumi.set(__self__, "server_id", server_id) if charset is not None: @@ -73,7 +73,7 @@ def collation(self, value: Optional[pulumi.Input[str]]): @pulumi.getter def name(self) -> Optional[pulumi.Input[str]]: """ - The name which should be used for this Azure PostgreSQL Flexible Server Database. Changing this forces a new Azure PostgreSQL Flexible Server Database to be created. + Specifies the name of the PostgreSQL Database, which needs [to be a valid PostgreSQL identifier](https://www.postgresql.org/docs/current/sql-syntax-lexical.html#SQL-SYNTAX-IDENTIFIERS). Changing this forces a new Azure PostgreSQL Flexible Server Database to be created. """ return pulumi.get(self, "name") @@ -93,7 +93,7 @@ def __init__(__self__, *, Input properties used for looking up and filtering FlexibleServerDatabase resources. :param pulumi.Input[str] charset: Specifies the Charset for the Azure PostgreSQL Flexible Server Database, which needs [to be a valid PostgreSQL Charset](https://www.postgresql.org/docs/current/static/multibyte.html). Defaults to `UTF8`. Changing this forces a new Azure PostgreSQL Flexible Server Database to be created. :param pulumi.Input[str] collation: Specifies the Collation for the Azure PostgreSQL Flexible Server Database, which needs [to be a valid PostgreSQL Collation](https://www.postgresql.org/docs/current/static/collation.html). Defaults to `en_US.utf8`. Changing this forces a new Azure PostgreSQL Flexible Server Database to be created. - :param pulumi.Input[str] name: The name which should be used for this Azure PostgreSQL Flexible Server Database. Changing this forces a new Azure PostgreSQL Flexible Server Database to be created. + :param pulumi.Input[str] name: Specifies the name of the PostgreSQL Database, which needs [to be a valid PostgreSQL identifier](https://www.postgresql.org/docs/current/sql-syntax-lexical.html#SQL-SYNTAX-IDENTIFIERS). Changing this forces a new Azure PostgreSQL Flexible Server Database to be created. :param pulumi.Input[str] server_id: The ID of the Azure PostgreSQL Flexible Server from which to create this PostgreSQL Flexible Server Database. Changing this forces a new Azure PostgreSQL Flexible Server Database to be created. """ if charset is not None: @@ -133,7 +133,7 @@ def collation(self, value: Optional[pulumi.Input[str]]): @pulumi.getter def name(self) -> Optional[pulumi.Input[str]]: """ - The name which should be used for this Azure PostgreSQL Flexible Server Database. Changing this forces a new Azure PostgreSQL Flexible Server Database to be created. + Specifies the name of the PostgreSQL Database, which needs [to be a valid PostgreSQL identifier](https://www.postgresql.org/docs/current/sql-syntax-lexical.html#SQL-SYNTAX-IDENTIFIERS). Changing this forces a new Azure PostgreSQL Flexible Server Database to be created. """ return pulumi.get(self, "name") @@ -184,7 +184,7 @@ def __init__(__self__, storage_mb=32768, sku_name="GP_Standard_D4s_v3") example_flexible_server_database = azure.postgresql.FlexibleServerDatabase("example", - name="example-db", + name="exampledb", server_id=example_flexible_server.id, collation="en_US.utf8", charset="utf8") @@ -202,7 +202,7 @@ def __init__(__self__, :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[str] charset: Specifies the Charset for the Azure PostgreSQL Flexible Server Database, which needs [to be a valid PostgreSQL Charset](https://www.postgresql.org/docs/current/static/multibyte.html). Defaults to `UTF8`. Changing this forces a new Azure PostgreSQL Flexible Server Database to be created. :param pulumi.Input[str] collation: Specifies the Collation for the Azure PostgreSQL Flexible Server Database, which needs [to be a valid PostgreSQL Collation](https://www.postgresql.org/docs/current/static/collation.html). Defaults to `en_US.utf8`. Changing this forces a new Azure PostgreSQL Flexible Server Database to be created. - :param pulumi.Input[str] name: The name which should be used for this Azure PostgreSQL Flexible Server Database. Changing this forces a new Azure PostgreSQL Flexible Server Database to be created. + :param pulumi.Input[str] name: Specifies the name of the PostgreSQL Database, which needs [to be a valid PostgreSQL identifier](https://www.postgresql.org/docs/current/sql-syntax-lexical.html#SQL-SYNTAX-IDENTIFIERS). Changing this forces a new Azure PostgreSQL Flexible Server Database to be created. :param pulumi.Input[str] server_id: The ID of the Azure PostgreSQL Flexible Server from which to create this PostgreSQL Flexible Server Database. Changing this forces a new Azure PostgreSQL Flexible Server Database to be created. """ ... @@ -231,7 +231,7 @@ def __init__(__self__, storage_mb=32768, sku_name="GP_Standard_D4s_v3") example_flexible_server_database = azure.postgresql.FlexibleServerDatabase("example", - name="example-db", + name="exampledb", server_id=example_flexible_server.id, collation="en_US.utf8", charset="utf8") @@ -302,7 +302,7 @@ def get(resource_name: str, :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[str] charset: Specifies the Charset for the Azure PostgreSQL Flexible Server Database, which needs [to be a valid PostgreSQL Charset](https://www.postgresql.org/docs/current/static/multibyte.html). Defaults to `UTF8`. Changing this forces a new Azure PostgreSQL Flexible Server Database to be created. :param pulumi.Input[str] collation: Specifies the Collation for the Azure PostgreSQL Flexible Server Database, which needs [to be a valid PostgreSQL Collation](https://www.postgresql.org/docs/current/static/collation.html). Defaults to `en_US.utf8`. Changing this forces a new Azure PostgreSQL Flexible Server Database to be created. - :param pulumi.Input[str] name: The name which should be used for this Azure PostgreSQL Flexible Server Database. Changing this forces a new Azure PostgreSQL Flexible Server Database to be created. + :param pulumi.Input[str] name: Specifies the name of the PostgreSQL Database, which needs [to be a valid PostgreSQL identifier](https://www.postgresql.org/docs/current/sql-syntax-lexical.html#SQL-SYNTAX-IDENTIFIERS). Changing this forces a new Azure PostgreSQL Flexible Server Database to be created. :param pulumi.Input[str] server_id: The ID of the Azure PostgreSQL Flexible Server from which to create this PostgreSQL Flexible Server Database. Changing this forces a new Azure PostgreSQL Flexible Server Database to be created. """ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) @@ -335,7 +335,7 @@ def collation(self) -> pulumi.Output[Optional[str]]: @pulumi.getter def name(self) -> pulumi.Output[str]: """ - The name which should be used for this Azure PostgreSQL Flexible Server Database. Changing this forces a new Azure PostgreSQL Flexible Server Database to be created. + Specifies the name of the PostgreSQL Database, which needs [to be a valid PostgreSQL identifier](https://www.postgresql.org/docs/current/sql-syntax-lexical.html#SQL-SYNTAX-IDENTIFIERS). Changing this forces a new Azure PostgreSQL Flexible Server Database to be created. """ return pulumi.get(self, "name") diff --git a/sdk/python/pulumi_azure/postgresql/outputs.py b/sdk/python/pulumi_azure/postgresql/outputs.py index 486de1e69e..f5a42874b5 100644 --- a/sdk/python/pulumi_azure/postgresql/outputs.py +++ b/sdk/python/pulumi_azure/postgresql/outputs.py @@ -97,12 +97,12 @@ class FlexibleServerCustomerManagedKey(dict): @staticmethod def __key_warning(key: str): suggest = None - if key == "geoBackupKeyVaultKeyId": + if key == "keyVaultKeyId": + suggest = "key_vault_key_id" + elif key == "geoBackupKeyVaultKeyId": suggest = "geo_backup_key_vault_key_id" elif key == "geoBackupUserAssignedIdentityId": suggest = "geo_backup_user_assigned_identity_id" - elif key == "keyVaultKeyId": - suggest = "key_vault_key_id" elif key == "primaryUserAssignedIdentityId": suggest = "primary_user_assigned_identity_id" @@ -118,27 +118,34 @@ def get(self, key: str, default = None) -> Any: return super().get(key, default) def __init__(__self__, *, + key_vault_key_id: str, geo_backup_key_vault_key_id: Optional[str] = None, geo_backup_user_assigned_identity_id: Optional[str] = None, - key_vault_key_id: Optional[str] = None, primary_user_assigned_identity_id: Optional[str] = None): """ + :param str key_vault_key_id: The ID of the Key Vault Key. :param str geo_backup_key_vault_key_id: The ID of the geo backup Key Vault Key. It can't cross region and need Customer Managed Key in same region as geo backup. :param str geo_backup_user_assigned_identity_id: The geo backup user managed identity id for a Customer Managed Key. Should be added with `identity_ids`. It can't cross region and need identity in same region as geo backup. - > **NOTE:** `primary_user_assigned_identity_id` or `geo_backup_user_assigned_identity_id` is required when `type` is set to `UserAssigned`. - :param str key_vault_key_id: The ID of the Key Vault Key. + > **Note:** `primary_user_assigned_identity_id` or `geo_backup_user_assigned_identity_id` is required when `type` is set to `UserAssigned`. :param str primary_user_assigned_identity_id: Specifies the primary user managed identity id for a Customer Managed Key. Should be added with `identity_ids`. """ + pulumi.set(__self__, "key_vault_key_id", key_vault_key_id) if geo_backup_key_vault_key_id is not None: pulumi.set(__self__, "geo_backup_key_vault_key_id", geo_backup_key_vault_key_id) if geo_backup_user_assigned_identity_id is not None: pulumi.set(__self__, "geo_backup_user_assigned_identity_id", geo_backup_user_assigned_identity_id) - if key_vault_key_id is not None: - pulumi.set(__self__, "key_vault_key_id", key_vault_key_id) if primary_user_assigned_identity_id is not None: pulumi.set(__self__, "primary_user_assigned_identity_id", primary_user_assigned_identity_id) + @property + @pulumi.getter(name="keyVaultKeyId") + def key_vault_key_id(self) -> str: + """ + The ID of the Key Vault Key. + """ + return pulumi.get(self, "key_vault_key_id") + @property @pulumi.getter(name="geoBackupKeyVaultKeyId") def geo_backup_key_vault_key_id(self) -> Optional[str]: @@ -153,18 +160,10 @@ def geo_backup_user_assigned_identity_id(self) -> Optional[str]: """ The geo backup user managed identity id for a Customer Managed Key. Should be added with `identity_ids`. It can't cross region and need identity in same region as geo backup. - > **NOTE:** `primary_user_assigned_identity_id` or `geo_backup_user_assigned_identity_id` is required when `type` is set to `UserAssigned`. + > **Note:** `primary_user_assigned_identity_id` or `geo_backup_user_assigned_identity_id` is required when `type` is set to `UserAssigned`. """ return pulumi.get(self, "geo_backup_user_assigned_identity_id") - @property - @pulumi.getter(name="keyVaultKeyId") - def key_vault_key_id(self) -> Optional[str]: - """ - The ID of the Key Vault Key. - """ - return pulumi.get(self, "key_vault_key_id") - @property @pulumi.getter(name="primaryUserAssignedIdentityId") def primary_user_assigned_identity_id(self) -> Optional[str]: diff --git a/sdk/python/pulumi_azure/privatedns/_inputs.py b/sdk/python/pulumi_azure/privatedns/_inputs.py index 032c125fcf..b23622cc03 100644 --- a/sdk/python/pulumi_azure/privatedns/_inputs.py +++ b/sdk/python/pulumi_azure/privatedns/_inputs.py @@ -191,7 +191,7 @@ def __init__(__self__, *, """ :param pulumi.Input[str] subnet_id: The subnet ID of the IP configuration. :param pulumi.Input[str] private_ip_address: Private IP address of the IP configuration. - :param pulumi.Input[str] private_ip_allocation_method: Private IP address allocation method. Allowed value is `Dynamic`. Defaults to `Dynamic`. + :param pulumi.Input[str] private_ip_allocation_method: Private IP address allocation method. Allowed value is `Dynamic` and `Static`. Defaults to `Dynamic`. """ pulumi.set(__self__, "subnet_id", subnet_id) if private_ip_address is not None: @@ -227,7 +227,7 @@ def private_ip_address(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="privateIpAllocationMethod") def private_ip_allocation_method(self) -> Optional[pulumi.Input[str]]: """ - Private IP address allocation method. Allowed value is `Dynamic`. Defaults to `Dynamic`. + Private IP address allocation method. Allowed value is `Dynamic` and `Static`. Defaults to `Dynamic`. """ return pulumi.get(self, "private_ip_allocation_method") diff --git a/sdk/python/pulumi_azure/privatedns/outputs.py b/sdk/python/pulumi_azure/privatedns/outputs.py index 19bf062185..14d5a0fe91 100644 --- a/sdk/python/pulumi_azure/privatedns/outputs.py +++ b/sdk/python/pulumi_azure/privatedns/outputs.py @@ -219,7 +219,7 @@ def __init__(__self__, *, """ :param str subnet_id: The subnet ID of the IP configuration. :param str private_ip_address: Private IP address of the IP configuration. - :param str private_ip_allocation_method: Private IP address allocation method. Allowed value is `Dynamic`. Defaults to `Dynamic`. + :param str private_ip_allocation_method: Private IP address allocation method. Allowed value is `Dynamic` and `Static`. Defaults to `Dynamic`. """ pulumi.set(__self__, "subnet_id", subnet_id) if private_ip_address is not None: @@ -247,7 +247,7 @@ def private_ip_address(self) -> Optional[str]: @pulumi.getter(name="privateIpAllocationMethod") def private_ip_allocation_method(self) -> Optional[str]: """ - Private IP address allocation method. Allowed value is `Dynamic`. Defaults to `Dynamic`. + Private IP address allocation method. Allowed value is `Dynamic` and `Static`. Defaults to `Dynamic`. """ return pulumi.get(self, "private_ip_allocation_method") diff --git a/sdk/python/pulumi_azure/recoveryservices/_inputs.py b/sdk/python/pulumi_azure/recoveryservices/_inputs.py index d342a7ef90..1dec822e37 100644 --- a/sdk/python/pulumi_azure/recoveryservices/_inputs.py +++ b/sdk/python/pulumi_azure/recoveryservices/_inputs.py @@ -25,7 +25,7 @@ def __init__(__self__, *, """ :param pulumi.Input[bool] infrastructure_encryption_enabled: Enabling/Disabling the Double Encryption state. :param pulumi.Input[str] key_id: The Key Vault key id used to encrypt this vault. Key managed by Vault Managed Hardware Security Module is also supported. - :param pulumi.Input[bool] use_system_assigned_identity: Indicate that system assigned identity should be used or not. Defaults to `true`. + :param pulumi.Input[bool] use_system_assigned_identity: Indicate that system assigned identity should be used or not. Defaults to `true`. Must be set to `false` when `user_assigned_identity_id` is set. !> **Note:** `use_system_assigned_identity` only be able to set to `false` for **new** vaults. Any vaults containing existing items registered or attempted to be registered to it are not supported. Details can be found in [the document](https://learn.microsoft.com/en-us/azure/backup/encryption-at-rest-with-cmk?tabs=portal#before-you-start) @@ -67,7 +67,7 @@ def key_id(self, value: pulumi.Input[str]): @pulumi.getter(name="useSystemAssignedIdentity") def use_system_assigned_identity(self) -> Optional[pulumi.Input[bool]]: """ - Indicate that system assigned identity should be used or not. Defaults to `true`. + Indicate that system assigned identity should be used or not. Defaults to `true`. Must be set to `false` when `user_assigned_identity_id` is set. !> **Note:** `use_system_assigned_identity` only be able to set to `false` for **new** vaults. Any vaults containing existing items registered or attempted to be registered to it are not supported. Details can be found in [the document](https://learn.microsoft.com/en-us/azure/backup/encryption-at-rest-with-cmk?tabs=portal#before-you-start) diff --git a/sdk/python/pulumi_azure/recoveryservices/outputs.py b/sdk/python/pulumi_azure/recoveryservices/outputs.py index b069287019..01acf3841d 100644 --- a/sdk/python/pulumi_azure/recoveryservices/outputs.py +++ b/sdk/python/pulumi_azure/recoveryservices/outputs.py @@ -48,7 +48,7 @@ def __init__(__self__, *, """ :param bool infrastructure_encryption_enabled: Enabling/Disabling the Double Encryption state. :param str key_id: The Key Vault key id used to encrypt this vault. Key managed by Vault Managed Hardware Security Module is also supported. - :param bool use_system_assigned_identity: Indicate that system assigned identity should be used or not. Defaults to `true`. + :param bool use_system_assigned_identity: Indicate that system assigned identity should be used or not. Defaults to `true`. Must be set to `false` when `user_assigned_identity_id` is set. !> **Note:** `use_system_assigned_identity` only be able to set to `false` for **new** vaults. Any vaults containing existing items registered or attempted to be registered to it are not supported. Details can be found in [the document](https://learn.microsoft.com/en-us/azure/backup/encryption-at-rest-with-cmk?tabs=portal#before-you-start) @@ -82,7 +82,7 @@ def key_id(self) -> str: @pulumi.getter(name="useSystemAssignedIdentity") def use_system_assigned_identity(self) -> Optional[bool]: """ - Indicate that system assigned identity should be used or not. Defaults to `true`. + Indicate that system assigned identity should be used or not. Defaults to `true`. Must be set to `false` when `user_assigned_identity_id` is set. !> **Note:** `use_system_assigned_identity` only be able to set to `false` for **new** vaults. Any vaults containing existing items registered or attempted to be registered to it are not supported. Details can be found in [the document](https://learn.microsoft.com/en-us/azure/backup/encryption-at-rest-with-cmk?tabs=portal#before-you-start) diff --git a/sdk/python/pulumi_azure/redis/_inputs.py b/sdk/python/pulumi_azure/redis/_inputs.py index 7a5d9c56a5..2e7440da24 100644 --- a/sdk/python/pulumi_azure/redis/_inputs.py +++ b/sdk/python/pulumi_azure/redis/_inputs.py @@ -147,6 +147,7 @@ def __init__(__self__, *, aof_backup_enabled: Optional[pulumi.Input[bool]] = None, aof_storage_connection_string0: Optional[pulumi.Input[str]] = None, aof_storage_connection_string1: Optional[pulumi.Input[str]] = None, + data_persistence_authentication_method: Optional[pulumi.Input[str]] = None, enable_authentication: Optional[pulumi.Input[bool]] = None, maxclients: Optional[pulumi.Input[int]] = None, maxfragmentationmemory_reserved: Optional[pulumi.Input[int]] = None, @@ -168,6 +169,7 @@ def __init__(__self__, *, :param pulumi.Input[str] aof_storage_connection_string1: Second Storage Account connection string for AOF persistence. Example usage: + :param pulumi.Input[str] data_persistence_authentication_method: Preferred auth method to communicate to storage account used for data persistence. Possible values are `SAS` and `ManagedIdentity`. Defaults to `SAS`. :param pulumi.Input[bool] enable_authentication: If set to `false`, the Redis instance will be accessible without authentication. Defaults to `true`. > **NOTE:** `enable_authentication` can only be set to `false` if a `subnet_id` is specified; and only works if there aren't existing instances within the subnet with `enable_authentication` set to `true`. @@ -195,6 +197,8 @@ def __init__(__self__, *, pulumi.set(__self__, "aof_storage_connection_string0", aof_storage_connection_string0) if aof_storage_connection_string1 is not None: pulumi.set(__self__, "aof_storage_connection_string1", aof_storage_connection_string1) + if data_persistence_authentication_method is not None: + pulumi.set(__self__, "data_persistence_authentication_method", data_persistence_authentication_method) if enable_authentication is not None: pulumi.set(__self__, "enable_authentication", enable_authentication) if maxclients is not None: @@ -272,6 +276,18 @@ def aof_storage_connection_string1(self) -> Optional[pulumi.Input[str]]: def aof_storage_connection_string1(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "aof_storage_connection_string1", value) + @property + @pulumi.getter(name="dataPersistenceAuthenticationMethod") + def data_persistence_authentication_method(self) -> Optional[pulumi.Input[str]]: + """ + Preferred auth method to communicate to storage account used for data persistence. Possible values are `SAS` and `ManagedIdentity`. Defaults to `SAS`. + """ + return pulumi.get(self, "data_persistence_authentication_method") + + @data_persistence_authentication_method.setter + def data_persistence_authentication_method(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "data_persistence_authentication_method", value) + @property @pulumi.getter(name="enableAuthentication") def enable_authentication(self) -> Optional[pulumi.Input[bool]]: diff --git a/sdk/python/pulumi_azure/redis/outputs.py b/sdk/python/pulumi_azure/redis/outputs.py index 59542daff0..832b042c53 100644 --- a/sdk/python/pulumi_azure/redis/outputs.py +++ b/sdk/python/pulumi_azure/redis/outputs.py @@ -169,6 +169,8 @@ def __key_warning(key: str): suggest = "aof_storage_connection_string0" elif key == "aofStorageConnectionString1": suggest = "aof_storage_connection_string1" + elif key == "dataPersistenceAuthenticationMethod": + suggest = "data_persistence_authentication_method" elif key == "enableAuthentication": suggest = "enable_authentication" elif key == "maxfragmentationmemoryReserved": @@ -208,6 +210,7 @@ def __init__(__self__, *, aof_backup_enabled: Optional[bool] = None, aof_storage_connection_string0: Optional[str] = None, aof_storage_connection_string1: Optional[str] = None, + data_persistence_authentication_method: Optional[str] = None, enable_authentication: Optional[bool] = None, maxclients: Optional[int] = None, maxfragmentationmemory_reserved: Optional[int] = None, @@ -229,6 +232,7 @@ def __init__(__self__, *, :param str aof_storage_connection_string1: Second Storage Account connection string for AOF persistence. Example usage: + :param str data_persistence_authentication_method: Preferred auth method to communicate to storage account used for data persistence. Possible values are `SAS` and `ManagedIdentity`. Defaults to `SAS`. :param bool enable_authentication: If set to `false`, the Redis instance will be accessible without authentication. Defaults to `true`. > **NOTE:** `enable_authentication` can only be set to `false` if a `subnet_id` is specified; and only works if there aren't existing instances within the subnet with `enable_authentication` set to `true`. @@ -256,6 +260,8 @@ def __init__(__self__, *, pulumi.set(__self__, "aof_storage_connection_string0", aof_storage_connection_string0) if aof_storage_connection_string1 is not None: pulumi.set(__self__, "aof_storage_connection_string1", aof_storage_connection_string1) + if data_persistence_authentication_method is not None: + pulumi.set(__self__, "data_persistence_authentication_method", data_persistence_authentication_method) if enable_authentication is not None: pulumi.set(__self__, "enable_authentication", enable_authentication) if maxclients is not None: @@ -317,6 +323,14 @@ def aof_storage_connection_string1(self) -> Optional[str]: """ return pulumi.get(self, "aof_storage_connection_string1") + @property + @pulumi.getter(name="dataPersistenceAuthenticationMethod") + def data_persistence_authentication_method(self) -> Optional[str]: + """ + Preferred auth method to communicate to storage account used for data persistence. Possible values are `SAS` and `ManagedIdentity`. Defaults to `SAS`. + """ + return pulumi.get(self, "data_persistence_authentication_method") + @property @pulumi.getter(name="enableAuthentication") def enable_authentication(self) -> Optional[bool]: @@ -504,6 +518,7 @@ def __init__(__self__, *, aof_backup_enabled: bool, aof_storage_connection_string0: str, aof_storage_connection_string1: str, + data_persistence_authentication_method: str, enable_authentication: bool, maxclients: int, maxfragmentationmemory_reserved: int, @@ -531,6 +546,7 @@ def __init__(__self__, *, pulumi.set(__self__, "aof_backup_enabled", aof_backup_enabled) pulumi.set(__self__, "aof_storage_connection_string0", aof_storage_connection_string0) pulumi.set(__self__, "aof_storage_connection_string1", aof_storage_connection_string1) + pulumi.set(__self__, "data_persistence_authentication_method", data_persistence_authentication_method) pulumi.set(__self__, "enable_authentication", enable_authentication) pulumi.set(__self__, "maxclients", maxclients) pulumi.set(__self__, "maxfragmentationmemory_reserved", maxfragmentationmemory_reserved) @@ -559,6 +575,11 @@ def aof_storage_connection_string0(self) -> str: def aof_storage_connection_string1(self) -> str: return pulumi.get(self, "aof_storage_connection_string1") + @property + @pulumi.getter(name="dataPersistenceAuthenticationMethod") + def data_persistence_authentication_method(self) -> str: + return pulumi.get(self, "data_persistence_authentication_method") + @property @pulumi.getter(name="enableAuthentication") def enable_authentication(self) -> bool: diff --git a/sdk/python/pulumi_azure/servicebus/get_namespace.py b/sdk/python/pulumi_azure/servicebus/get_namespace.py index 4b17b083b2..d6c446bed1 100644 --- a/sdk/python/pulumi_azure/servicebus/get_namespace.py +++ b/sdk/python/pulumi_azure/servicebus/get_namespace.py @@ -21,7 +21,7 @@ class GetNamespaceResult: """ A collection of values returned by getNamespace. """ - def __init__(__self__, capacity=None, default_primary_connection_string=None, default_primary_key=None, default_secondary_connection_string=None, default_secondary_key=None, endpoint=None, id=None, location=None, name=None, resource_group_name=None, sku=None, tags=None, zone_redundant=None): + def __init__(__self__, capacity=None, default_primary_connection_string=None, default_primary_key=None, default_secondary_connection_string=None, default_secondary_key=None, endpoint=None, id=None, location=None, name=None, premium_messaging_partitions=None, resource_group_name=None, sku=None, tags=None, zone_redundant=None): if capacity and not isinstance(capacity, int): raise TypeError("Expected argument 'capacity' to be a int") pulumi.set(__self__, "capacity", capacity) @@ -49,6 +49,9 @@ def __init__(__self__, capacity=None, default_primary_connection_string=None, de if name and not isinstance(name, str): raise TypeError("Expected argument 'name' to be a str") pulumi.set(__self__, "name", name) + if premium_messaging_partitions and not isinstance(premium_messaging_partitions, int): + raise TypeError("Expected argument 'premium_messaging_partitions' to be a int") + pulumi.set(__self__, "premium_messaging_partitions", premium_messaging_partitions) 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) @@ -133,6 +136,14 @@ def location(self) -> str: def name(self) -> str: return pulumi.get(self, "name") + @property + @pulumi.getter(name="premiumMessagingPartitions") + def premium_messaging_partitions(self) -> int: + """ + The messaging partitions of the ServiceBus Namespace. + """ + return pulumi.get(self, "premium_messaging_partitions") + @property @pulumi.getter(name="resourceGroupName") def resource_group_name(self) -> str: @@ -178,6 +189,7 @@ def __await__(self): id=self.id, location=self.location, name=self.name, + premium_messaging_partitions=self.premium_messaging_partitions, resource_group_name=self.resource_group_name, sku=self.sku, tags=self.tags, @@ -221,6 +233,7 @@ def get_namespace(name: Optional[str] = None, id=pulumi.get(__ret__, 'id'), location=pulumi.get(__ret__, 'location'), name=pulumi.get(__ret__, 'name'), + premium_messaging_partitions=pulumi.get(__ret__, 'premium_messaging_partitions'), resource_group_name=pulumi.get(__ret__, 'resource_group_name'), sku=pulumi.get(__ret__, 'sku'), tags=pulumi.get(__ret__, 'tags'), diff --git a/sdk/python/pulumi_azure/servicebus/namespace.py b/sdk/python/pulumi_azure/servicebus/namespace.py index 7771a833a2..2417cf84c9 100644 --- a/sdk/python/pulumi_azure/servicebus/namespace.py +++ b/sdk/python/pulumi_azure/servicebus/namespace.py @@ -26,6 +26,7 @@ def __init__(__self__, *, minimum_tls_version: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, network_rule_set: Optional[pulumi.Input['NamespaceNetworkRuleSetArgs']] = None, + premium_messaging_partitions: Optional[pulumi.Input[int]] = None, public_network_access_enabled: Optional[pulumi.Input[bool]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, zone_redundant: Optional[pulumi.Input[bool]] = None): @@ -42,6 +43,9 @@ def __init__(__self__, *, :param pulumi.Input[str] minimum_tls_version: The minimum supported TLS version for this Service Bus Namespace. Valid values are: `1.0`, `1.1` and `1.2`. The current default minimum TLS version is `1.2`. :param pulumi.Input[str] name: Specifies the name of the ServiceBus Namespace resource . Changing this forces a new resource to be created. :param pulumi.Input['NamespaceNetworkRuleSetArgs'] network_rule_set: An `network_rule_set` block as defined below. + :param pulumi.Input[int] premium_messaging_partitions: Specifies the number messaging partitions. Only valid when `sku` is `Premium` and the minimum number is `1`. Possible values include `0`, `1`, `2`, and `4`. Defaults to `0` for Standard, Basic namespace. Changing this forces a new resource to be created. + + > **Note:** It's not possible to change the partitioning option on any existing namespace. The number of partitions can only be set during namespace creation. Please check the doc https://learn.microsoft.com/en-us/azure/service-bus-messaging/enable-partitions-premium for more feature restrictions. :param pulumi.Input[bool] public_network_access_enabled: Is public network access enabled for the Service Bus Namespace? Defaults to `true`. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A mapping of tags to assign to the resource. :param pulumi.Input[bool] zone_redundant: Whether or not this resource is zone redundant. `sku` needs to be `Premium`. Changing this forces a new resource to be created. @@ -64,6 +68,8 @@ def __init__(__self__, *, pulumi.set(__self__, "name", name) if network_rule_set is not None: pulumi.set(__self__, "network_rule_set", network_rule_set) + if premium_messaging_partitions is not None: + pulumi.set(__self__, "premium_messaging_partitions", premium_messaging_partitions) if public_network_access_enabled is not None: pulumi.set(__self__, "public_network_access_enabled", public_network_access_enabled) if tags is not None: @@ -192,6 +198,20 @@ def network_rule_set(self) -> Optional[pulumi.Input['NamespaceNetworkRuleSetArgs def network_rule_set(self, value: Optional[pulumi.Input['NamespaceNetworkRuleSetArgs']]): pulumi.set(self, "network_rule_set", value) + @property + @pulumi.getter(name="premiumMessagingPartitions") + def premium_messaging_partitions(self) -> Optional[pulumi.Input[int]]: + """ + Specifies the number messaging partitions. Only valid when `sku` is `Premium` and the minimum number is `1`. Possible values include `0`, `1`, `2`, and `4`. Defaults to `0` for Standard, Basic namespace. Changing this forces a new resource to be created. + + > **Note:** It's not possible to change the partitioning option on any existing namespace. The number of partitions can only be set during namespace creation. Please check the doc https://learn.microsoft.com/en-us/azure/service-bus-messaging/enable-partitions-premium for more feature restrictions. + """ + return pulumi.get(self, "premium_messaging_partitions") + + @premium_messaging_partitions.setter + def premium_messaging_partitions(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "premium_messaging_partitions", value) + @property @pulumi.getter(name="publicNetworkAccessEnabled") def public_network_access_enabled(self) -> Optional[pulumi.Input[bool]]: @@ -245,6 +265,7 @@ def __init__(__self__, *, minimum_tls_version: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, network_rule_set: Optional[pulumi.Input['NamespaceNetworkRuleSetArgs']] = None, + premium_messaging_partitions: Optional[pulumi.Input[int]] = None, public_network_access_enabled: Optional[pulumi.Input[bool]] = None, resource_group_name: Optional[pulumi.Input[str]] = None, sku: Optional[pulumi.Input[str]] = None, @@ -265,6 +286,9 @@ def __init__(__self__, *, :param pulumi.Input[str] minimum_tls_version: The minimum supported TLS version for this Service Bus Namespace. Valid values are: `1.0`, `1.1` and `1.2`. The current default minimum TLS version is `1.2`. :param pulumi.Input[str] name: Specifies the name of the ServiceBus Namespace resource . Changing this forces a new resource to be created. :param pulumi.Input['NamespaceNetworkRuleSetArgs'] network_rule_set: An `network_rule_set` block as defined below. + :param pulumi.Input[int] premium_messaging_partitions: Specifies the number messaging partitions. Only valid when `sku` is `Premium` and the minimum number is `1`. Possible values include `0`, `1`, `2`, and `4`. Defaults to `0` for Standard, Basic namespace. Changing this forces a new resource to be created. + + > **Note:** It's not possible to change the partitioning option on any existing namespace. The number of partitions can only be set during namespace creation. Please check the doc https://learn.microsoft.com/en-us/azure/service-bus-messaging/enable-partitions-premium for more feature restrictions. :param pulumi.Input[bool] public_network_access_enabled: Is public network access enabled for the Service Bus Namespace? Defaults to `true`. :param pulumi.Input[str] resource_group_name: The name of the resource group in which to Changing this forces a new resource to be created. create the namespace. @@ -298,6 +322,8 @@ def __init__(__self__, *, pulumi.set(__self__, "name", name) if network_rule_set is not None: pulumi.set(__self__, "network_rule_set", network_rule_set) + if premium_messaging_partitions is not None: + pulumi.set(__self__, "premium_messaging_partitions", premium_messaging_partitions) 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: @@ -465,6 +491,20 @@ def network_rule_set(self) -> Optional[pulumi.Input['NamespaceNetworkRuleSetArgs def network_rule_set(self, value: Optional[pulumi.Input['NamespaceNetworkRuleSetArgs']]): pulumi.set(self, "network_rule_set", value) + @property + @pulumi.getter(name="premiumMessagingPartitions") + def premium_messaging_partitions(self) -> Optional[pulumi.Input[int]]: + """ + Specifies the number messaging partitions. Only valid when `sku` is `Premium` and the minimum number is `1`. Possible values include `0`, `1`, `2`, and `4`. Defaults to `0` for Standard, Basic namespace. Changing this forces a new resource to be created. + + > **Note:** It's not possible to change the partitioning option on any existing namespace. The number of partitions can only be set during namespace creation. Please check the doc https://learn.microsoft.com/en-us/azure/service-bus-messaging/enable-partitions-premium for more feature restrictions. + """ + return pulumi.get(self, "premium_messaging_partitions") + + @premium_messaging_partitions.setter + def premium_messaging_partitions(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "premium_messaging_partitions", value) + @property @pulumi.getter(name="publicNetworkAccessEnabled") def public_network_access_enabled(self) -> Optional[pulumi.Input[bool]]: @@ -540,6 +580,7 @@ def __init__(__self__, minimum_tls_version: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, network_rule_set: Optional[pulumi.Input[pulumi.InputType['NamespaceNetworkRuleSetArgs']]] = None, + premium_messaging_partitions: Optional[pulumi.Input[int]] = None, public_network_access_enabled: Optional[pulumi.Input[bool]] = None, resource_group_name: Optional[pulumi.Input[str]] = None, sku: Optional[pulumi.Input[str]] = None, @@ -586,6 +627,9 @@ def __init__(__self__, :param pulumi.Input[str] minimum_tls_version: The minimum supported TLS version for this Service Bus Namespace. Valid values are: `1.0`, `1.1` and `1.2`. The current default minimum TLS version is `1.2`. :param pulumi.Input[str] name: Specifies the name of the ServiceBus Namespace resource . Changing this forces a new resource to be created. :param pulumi.Input[pulumi.InputType['NamespaceNetworkRuleSetArgs']] network_rule_set: An `network_rule_set` block as defined below. + :param pulumi.Input[int] premium_messaging_partitions: Specifies the number messaging partitions. Only valid when `sku` is `Premium` and the minimum number is `1`. Possible values include `0`, `1`, `2`, and `4`. Defaults to `0` for Standard, Basic namespace. Changing this forces a new resource to be created. + + > **Note:** It's not possible to change the partitioning option on any existing namespace. The number of partitions can only be set during namespace creation. Please check the doc https://learn.microsoft.com/en-us/azure/service-bus-messaging/enable-partitions-premium for more feature restrictions. :param pulumi.Input[bool] public_network_access_enabled: Is public network access enabled for the Service Bus Namespace? Defaults to `true`. :param pulumi.Input[str] resource_group_name: The name of the resource group in which to Changing this forces a new resource to be created. create the namespace. @@ -652,6 +696,7 @@ def _internal_init(__self__, minimum_tls_version: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, network_rule_set: Optional[pulumi.Input[pulumi.InputType['NamespaceNetworkRuleSetArgs']]] = None, + premium_messaging_partitions: Optional[pulumi.Input[int]] = None, public_network_access_enabled: Optional[pulumi.Input[bool]] = None, resource_group_name: Optional[pulumi.Input[str]] = None, sku: Optional[pulumi.Input[str]] = None, @@ -674,6 +719,7 @@ def _internal_init(__self__, __props__.__dict__["minimum_tls_version"] = minimum_tls_version __props__.__dict__["name"] = name __props__.__dict__["network_rule_set"] = network_rule_set + __props__.__dict__["premium_messaging_partitions"] = premium_messaging_partitions __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'") @@ -715,6 +761,7 @@ def get(resource_name: str, minimum_tls_version: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, network_rule_set: Optional[pulumi.Input[pulumi.InputType['NamespaceNetworkRuleSetArgs']]] = None, + premium_messaging_partitions: Optional[pulumi.Input[int]] = None, public_network_access_enabled: Optional[pulumi.Input[bool]] = None, resource_group_name: Optional[pulumi.Input[str]] = None, sku: Optional[pulumi.Input[str]] = None, @@ -740,6 +787,9 @@ def get(resource_name: str, :param pulumi.Input[str] minimum_tls_version: The minimum supported TLS version for this Service Bus Namespace. Valid values are: `1.0`, `1.1` and `1.2`. The current default minimum TLS version is `1.2`. :param pulumi.Input[str] name: Specifies the name of the ServiceBus Namespace resource . Changing this forces a new resource to be created. :param pulumi.Input[pulumi.InputType['NamespaceNetworkRuleSetArgs']] network_rule_set: An `network_rule_set` block as defined below. + :param pulumi.Input[int] premium_messaging_partitions: Specifies the number messaging partitions. Only valid when `sku` is `Premium` and the minimum number is `1`. Possible values include `0`, `1`, `2`, and `4`. Defaults to `0` for Standard, Basic namespace. Changing this forces a new resource to be created. + + > **Note:** It's not possible to change the partitioning option on any existing namespace. The number of partitions can only be set during namespace creation. Please check the doc https://learn.microsoft.com/en-us/azure/service-bus-messaging/enable-partitions-premium for more feature restrictions. :param pulumi.Input[bool] public_network_access_enabled: Is public network access enabled for the Service Bus Namespace? Defaults to `true`. :param pulumi.Input[str] resource_group_name: The name of the resource group in which to Changing this forces a new resource to be created. create the namespace. @@ -764,6 +814,7 @@ def get(resource_name: str, __props__.__dict__["minimum_tls_version"] = minimum_tls_version __props__.__dict__["name"] = name __props__.__dict__["network_rule_set"] = network_rule_set + __props__.__dict__["premium_messaging_partitions"] = premium_messaging_partitions __props__.__dict__["public_network_access_enabled"] = public_network_access_enabled __props__.__dict__["resource_group_name"] = resource_group_name __props__.__dict__["sku"] = sku @@ -875,6 +926,16 @@ def network_rule_set(self) -> pulumi.Output['outputs.NamespaceNetworkRuleSet']: """ return pulumi.get(self, "network_rule_set") + @property + @pulumi.getter(name="premiumMessagingPartitions") + def premium_messaging_partitions(self) -> pulumi.Output[Optional[int]]: + """ + Specifies the number messaging partitions. Only valid when `sku` is `Premium` and the minimum number is `1`. Possible values include `0`, `1`, `2`, and `4`. Defaults to `0` for Standard, Basic namespace. Changing this forces a new resource to be created. + + > **Note:** It's not possible to change the partitioning option on any existing namespace. The number of partitions can only be set during namespace creation. Please check the doc https://learn.microsoft.com/en-us/azure/service-bus-messaging/enable-partitions-premium for more feature restrictions. + """ + return pulumi.get(self, "premium_messaging_partitions") + @property @pulumi.getter(name="publicNetworkAccessEnabled") def public_network_access_enabled(self) -> pulumi.Output[Optional[bool]]: diff --git a/sdk/python/pulumi_azure/servicebus/topic.py b/sdk/python/pulumi_azure/servicebus/topic.py index 8f486870e3..ef6905b059 100644 --- a/sdk/python/pulumi_azure/servicebus/topic.py +++ b/sdk/python/pulumi_azure/servicebus/topic.py @@ -41,9 +41,7 @@ def __init__(__self__, *, :param pulumi.Input[int] max_message_size_in_kilobytes: Integer value which controls the maximum size of a message allowed on the topic for Premium SKU. For supported values see the "Large messages support" section of [this document](https://docs.microsoft.com/azure/service-bus-messaging/service-bus-premium-messaging#large-messages-support-preview). :param pulumi.Input[int] max_size_in_megabytes: Integer value which controls the size of memory allocated for the topic. For supported values see the "Queue/topic size" section of [this document](https://docs.microsoft.com/azure/service-bus-messaging/service-bus-quotas). :param pulumi.Input[str] name: Specifies the name of the ServiceBus Topic resource. Changing this forces a new resource to be created. - :param pulumi.Input[bool] requires_duplicate_detection: Boolean flag which controls whether Changing this forces a new resource to be created. - the Topic requires duplicate detection. Defaults to false. Changing this forces - a new resource to be created. + :param pulumi.Input[bool] requires_duplicate_detection: Boolean flag which controls whether the Topic requires duplicate detection. Defaults to false. Changing this forcesa new resource to be created. :param pulumi.Input[str] status: The Status of the Service Bus Topic. Acceptable values are `Active` or `Disabled`. Defaults to `Active`. :param pulumi.Input[bool] support_ordering: Boolean flag which controls whether the Topic supports ordering. """ @@ -199,9 +197,7 @@ def name(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="requiresDuplicateDetection") def requires_duplicate_detection(self) -> Optional[pulumi.Input[bool]]: """ - Boolean flag which controls whether Changing this forces a new resource to be created. - the Topic requires duplicate detection. Defaults to false. Changing this forces - a new resource to be created. + Boolean flag which controls whether the Topic requires duplicate detection. Defaults to false. Changing this forcesa new resource to be created. """ return pulumi.get(self, "requires_duplicate_detection") @@ -266,9 +262,7 @@ def __init__(__self__, *, :param pulumi.Input[int] max_size_in_megabytes: Integer value which controls the size of memory allocated for the topic. For supported values see the "Queue/topic size" section of [this document](https://docs.microsoft.com/azure/service-bus-messaging/service-bus-quotas). :param pulumi.Input[str] name: Specifies the name of the ServiceBus Topic resource. Changing this forces a new resource to be created. :param pulumi.Input[str] namespace_id: The ID of the ServiceBus Namespace to create this topic in. Changing this forces a new resource to be created. - :param pulumi.Input[bool] requires_duplicate_detection: Boolean flag which controls whether Changing this forces a new resource to be created. - the Topic requires duplicate detection. Defaults to false. Changing this forces - a new resource to be created. + :param pulumi.Input[bool] requires_duplicate_detection: Boolean flag which controls whether the Topic requires duplicate detection. Defaults to false. Changing this forcesa new resource to be created. :param pulumi.Input[str] status: The Status of the Service Bus Topic. Acceptable values are `Active` or `Disabled`. Defaults to `Active`. :param pulumi.Input[bool] support_ordering: Boolean flag which controls whether the Topic supports ordering. """ @@ -438,9 +432,7 @@ def namespace_name(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="requiresDuplicateDetection") def requires_duplicate_detection(self) -> Optional[pulumi.Input[bool]]: """ - Boolean flag which controls whether Changing this forces a new resource to be created. - the Topic requires duplicate detection. Defaults to false. Changing this forces - a new resource to be created. + Boolean flag which controls whether the Topic requires duplicate detection. Defaults to false. Changing this forcesa new resource to be created. """ return pulumi.get(self, "requires_duplicate_detection") @@ -551,9 +543,7 @@ def __init__(__self__, :param pulumi.Input[int] max_size_in_megabytes: Integer value which controls the size of memory allocated for the topic. For supported values see the "Queue/topic size" section of [this document](https://docs.microsoft.com/azure/service-bus-messaging/service-bus-quotas). :param pulumi.Input[str] name: Specifies the name of the ServiceBus Topic resource. Changing this forces a new resource to be created. :param pulumi.Input[str] namespace_id: The ID of the ServiceBus Namespace to create this topic in. Changing this forces a new resource to be created. - :param pulumi.Input[bool] requires_duplicate_detection: Boolean flag which controls whether Changing this forces a new resource to be created. - the Topic requires duplicate detection. Defaults to false. Changing this forces - a new resource to be created. + :param pulumi.Input[bool] requires_duplicate_detection: Boolean flag which controls whether the Topic requires duplicate detection. Defaults to false. Changing this forcesa new resource to be created. :param pulumi.Input[str] status: The Status of the Service Bus Topic. Acceptable values are `Active` or `Disabled`. Defaults to `Active`. :param pulumi.Input[bool] support_ordering: Boolean flag which controls whether the Topic supports ordering. """ @@ -699,9 +689,7 @@ def get(resource_name: str, :param pulumi.Input[int] max_size_in_megabytes: Integer value which controls the size of memory allocated for the topic. For supported values see the "Queue/topic size" section of [this document](https://docs.microsoft.com/azure/service-bus-messaging/service-bus-quotas). :param pulumi.Input[str] name: Specifies the name of the ServiceBus Topic resource. Changing this forces a new resource to be created. :param pulumi.Input[str] namespace_id: The ID of the ServiceBus Namespace to create this topic in. Changing this forces a new resource to be created. - :param pulumi.Input[bool] requires_duplicate_detection: Boolean flag which controls whether Changing this forces a new resource to be created. - the Topic requires duplicate detection. Defaults to false. Changing this forces - a new resource to be created. + :param pulumi.Input[bool] requires_duplicate_detection: Boolean flag which controls whether the Topic requires duplicate detection. Defaults to false. Changing this forcesa new resource to be created. :param pulumi.Input[str] status: The Status of the Service Bus Topic. Acceptable values are `Active` or `Disabled`. Defaults to `Active`. :param pulumi.Input[bool] support_ordering: Boolean flag which controls whether the Topic supports ordering. """ @@ -817,9 +805,7 @@ def namespace_name(self) -> pulumi.Output[str]: @pulumi.getter(name="requiresDuplicateDetection") def requires_duplicate_detection(self) -> pulumi.Output[Optional[bool]]: """ - Boolean flag which controls whether Changing this forces a new resource to be created. - the Topic requires duplicate detection. Defaults to false. Changing this forces - a new resource to be created. + Boolean flag which controls whether the Topic requires duplicate detection. Defaults to false. Changing this forcesa new resource to be created. """ return pulumi.get(self, "requires_duplicate_detection") diff --git a/sdk/python/pulumi_azure/storage/__init__.py b/sdk/python/pulumi_azure/storage/__init__.py index 4107ffbb0d..1da0f87787 100644 --- a/sdk/python/pulumi_azure/storage/__init__.py +++ b/sdk/python/pulumi_azure/storage/__init__.py @@ -25,6 +25,7 @@ from .get_storage_container import * from .get_sync import * from .get_sync_group import * +from .get_table_entities import * from .get_table_entity import * from .local_user import * from .management_policy import * diff --git a/sdk/python/pulumi_azure/storage/get_table_entities.py b/sdk/python/pulumi_azure/storage/get_table_entities.py new file mode 100644 index 0000000000..5cf05eb849 --- /dev/null +++ b/sdk/python/pulumi_azure/storage/get_table_entities.py @@ -0,0 +1,164 @@ +# 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 pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from .. import _utilities +from . import outputs + +__all__ = [ + 'GetTableEntitiesResult', + 'AwaitableGetTableEntitiesResult', + 'get_table_entities', + 'get_table_entities_output', +] + +@pulumi.output_type +class GetTableEntitiesResult: + """ + A collection of values returned by getTableEntities. + """ + def __init__(__self__, filter=None, id=None, items=None, selects=None, storage_account_name=None, table_name=None): + if filter and not isinstance(filter, str): + raise TypeError("Expected argument 'filter' to be a str") + pulumi.set(__self__, "filter", filter) + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if items and not isinstance(items, list): + raise TypeError("Expected argument 'items' to be a list") + pulumi.set(__self__, "items", items) + if selects and not isinstance(selects, list): + raise TypeError("Expected argument 'selects' to be a list") + pulumi.set(__self__, "selects", selects) + if storage_account_name and not isinstance(storage_account_name, str): + raise TypeError("Expected argument 'storage_account_name' to be a str") + pulumi.set(__self__, "storage_account_name", storage_account_name) + if table_name and not isinstance(table_name, str): + raise TypeError("Expected argument 'table_name' to be a str") + pulumi.set(__self__, "table_name", table_name) + + @property + @pulumi.getter + def filter(self) -> str: + return pulumi.get(self, "filter") + + @property + @pulumi.getter + def id(self) -> str: + """ + The provider-assigned unique ID for this managed resource. + """ + return pulumi.get(self, "id") + + @property + @pulumi.getter + def items(self) -> Sequence['outputs.GetTableEntitiesItemResult']: + """ + A list of `items` blocks as defined below. + """ + return pulumi.get(self, "items") + + @property + @pulumi.getter + def selects(self) -> Optional[Sequence[str]]: + return pulumi.get(self, "selects") + + @property + @pulumi.getter(name="storageAccountName") + def storage_account_name(self) -> str: + return pulumi.get(self, "storage_account_name") + + @property + @pulumi.getter(name="tableName") + def table_name(self) -> str: + return pulumi.get(self, "table_name") + + +class AwaitableGetTableEntitiesResult(GetTableEntitiesResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetTableEntitiesResult( + filter=self.filter, + id=self.id, + items=self.items, + selects=self.selects, + storage_account_name=self.storage_account_name, + table_name=self.table_name) + + +def get_table_entities(filter: Optional[str] = None, + selects: Optional[Sequence[str]] = None, + storage_account_name: Optional[str] = None, + table_name: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetTableEntitiesResult: + """ + Use this data source to access information about an existing Storage Table Entity. + + ## Example Usage + + ```python + import pulumi + import pulumi_azure as azure + + example = azure.storage.get_table_entities(table_name="example-table-name", + storage_account_name="example-storage-account-name", + filter="PartitionKey eq 'example'") + ``` + + + :param str filter: The filter used to retrieve the entities. + :param Sequence[str] selects: A list of properties to select from the returned Storage Table Entities. + :param str storage_account_name: The name of the Storage Account where the Table exists. + :param str table_name: The name of the Table. + """ + __args__ = dict() + __args__['filter'] = filter + __args__['selects'] = selects + __args__['storageAccountName'] = storage_account_name + __args__['tableName'] = table_name + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('azure:storage/getTableEntities:getTableEntities', __args__, opts=opts, typ=GetTableEntitiesResult).value + + return AwaitableGetTableEntitiesResult( + filter=pulumi.get(__ret__, 'filter'), + id=pulumi.get(__ret__, 'id'), + items=pulumi.get(__ret__, 'items'), + selects=pulumi.get(__ret__, 'selects'), + storage_account_name=pulumi.get(__ret__, 'storage_account_name'), + table_name=pulumi.get(__ret__, 'table_name')) + + +@_utilities.lift_output_func(get_table_entities) +def get_table_entities_output(filter: Optional[pulumi.Input[str]] = None, + selects: Optional[pulumi.Input[Optional[Sequence[str]]]] = None, + storage_account_name: Optional[pulumi.Input[str]] = None, + table_name: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetTableEntitiesResult]: + """ + Use this data source to access information about an existing Storage Table Entity. + + ## Example Usage + + ```python + import pulumi + import pulumi_azure as azure + + example = azure.storage.get_table_entities(table_name="example-table-name", + storage_account_name="example-storage-account-name", + filter="PartitionKey eq 'example'") + ``` + + + :param str filter: The filter used to retrieve the entities. + :param Sequence[str] selects: A list of properties to select from the returned Storage Table Entities. + :param str storage_account_name: The name of the Storage Account where the Table exists. + :param str table_name: The name of the Table. + """ + ... diff --git a/sdk/python/pulumi_azure/storage/outputs.py b/sdk/python/pulumi_azure/storage/outputs.py index cacee7cfb3..d1e4c48443 100644 --- a/sdk/python/pulumi_azure/storage/outputs.py +++ b/sdk/python/pulumi_azure/storage/outputs.py @@ -74,6 +74,7 @@ 'GetPolicyRuleFilterMatchBlobIndexTagResult', 'GetShareAclResult', 'GetShareAclAccessPolicyResult', + 'GetTableEntitiesItemResult', ] @pulumi.output_type @@ -4219,3 +4220,43 @@ def start(self) -> str: return pulumi.get(self, "start") +@pulumi.output_type +class GetTableEntitiesItemResult(dict): + def __init__(__self__, *, + partition_key: str, + properties: Mapping[str, str], + row_key: str): + """ + :param str partition_key: Partition Key of the Entity. + :param Mapping[str, str] properties: A map of any additional properties in key-value format. + :param str row_key: Row Key of the Entity. + """ + pulumi.set(__self__, "partition_key", partition_key) + pulumi.set(__self__, "properties", properties) + pulumi.set(__self__, "row_key", row_key) + + @property + @pulumi.getter(name="partitionKey") + def partition_key(self) -> str: + """ + Partition Key of the Entity. + """ + return pulumi.get(self, "partition_key") + + @property + @pulumi.getter + def properties(self) -> Mapping[str, str]: + """ + A map of any additional properties in key-value format. + """ + return pulumi.get(self, "properties") + + @property + @pulumi.getter(name="rowKey") + def row_key(self) -> str: + """ + Row Key of the Entity. + """ + return pulumi.get(self, "row_key") + + diff --git a/sdk/python/pulumi_azure/synapse/_inputs.py b/sdk/python/pulumi_azure/synapse/_inputs.py index e0e8fff199..35067f403a 100644 --- a/sdk/python/pulumi_azure/synapse/_inputs.py +++ b/sdk/python/pulumi_azure/synapse/_inputs.py @@ -482,14 +482,18 @@ def tenant_id(self, value: Optional[pulumi.Input[str]]): class WorkspaceCustomerManagedKeyArgs: def __init__(__self__, *, key_versionless_id: pulumi.Input[str], - key_name: Optional[pulumi.Input[str]] = None): + key_name: Optional[pulumi.Input[str]] = None, + user_assigned_identity_id: Optional[pulumi.Input[str]] = None): """ :param pulumi.Input[str] key_versionless_id: The Azure Key Vault Key Versionless ID to be used as the Customer Managed Key (CMK) for double encryption (e.g. `https://example-keyvault.vault.azure.net/type/cmk/`). :param pulumi.Input[str] key_name: An identifier for the key. Name needs to match the name of the key used with the `synapse.WorkspaceKey` resource. Defaults to "cmk" if not specified. + :param pulumi.Input[str] user_assigned_identity_id: The User Assigned Identity ID to be used for accessing the Customer Managed Key for encryption. """ pulumi.set(__self__, "key_versionless_id", key_versionless_id) if key_name is not None: pulumi.set(__self__, "key_name", key_name) + if user_assigned_identity_id is not None: + pulumi.set(__self__, "user_assigned_identity_id", user_assigned_identity_id) @property @pulumi.getter(name="keyVersionlessId") @@ -515,6 +519,18 @@ def key_name(self) -> Optional[pulumi.Input[str]]: def key_name(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "key_name", value) + @property + @pulumi.getter(name="userAssignedIdentityId") + def user_assigned_identity_id(self) -> Optional[pulumi.Input[str]]: + """ + The User Assigned Identity ID to be used for accessing the Customer Managed Key for encryption. + """ + return pulumi.get(self, "user_assigned_identity_id") + + @user_assigned_identity_id.setter + def user_assigned_identity_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "user_assigned_identity_id", value) + @pulumi.input_type class WorkspaceGithubRepoArgs: diff --git a/sdk/python/pulumi_azure/synapse/outputs.py b/sdk/python/pulumi_azure/synapse/outputs.py index 3ba3c9b01b..1acd39bb68 100644 --- a/sdk/python/pulumi_azure/synapse/outputs.py +++ b/sdk/python/pulumi_azure/synapse/outputs.py @@ -508,6 +508,8 @@ def __key_warning(key: str): suggest = "key_versionless_id" elif key == "keyName": suggest = "key_name" + elif key == "userAssignedIdentityId": + suggest = "user_assigned_identity_id" if suggest: pulumi.log.warn(f"Key '{key}' not found in WorkspaceCustomerManagedKey. Access the value via the '{suggest}' property getter instead.") @@ -522,14 +524,18 @@ def get(self, key: str, default = None) -> Any: def __init__(__self__, *, key_versionless_id: str, - key_name: Optional[str] = None): + key_name: Optional[str] = None, + user_assigned_identity_id: Optional[str] = None): """ :param str key_versionless_id: The Azure Key Vault Key Versionless ID to be used as the Customer Managed Key (CMK) for double encryption (e.g. `https://example-keyvault.vault.azure.net/type/cmk/`). :param str key_name: An identifier for the key. Name needs to match the name of the key used with the `synapse.WorkspaceKey` resource. Defaults to "cmk" if not specified. + :param str user_assigned_identity_id: The User Assigned Identity ID to be used for accessing the Customer Managed Key for encryption. """ pulumi.set(__self__, "key_versionless_id", key_versionless_id) if key_name is not None: pulumi.set(__self__, "key_name", key_name) + if user_assigned_identity_id is not None: + pulumi.set(__self__, "user_assigned_identity_id", user_assigned_identity_id) @property @pulumi.getter(name="keyVersionlessId") @@ -547,6 +553,14 @@ def key_name(self) -> Optional[str]: """ return pulumi.get(self, "key_name") + @property + @pulumi.getter(name="userAssignedIdentityId") + def user_assigned_identity_id(self) -> Optional[str]: + """ + The User Assigned Identity ID to be used for accessing the Customer Managed Key for encryption. + """ + return pulumi.get(self, "user_assigned_identity_id") + @pulumi.output_type class WorkspaceGithubRepo(dict): diff --git a/sdk/python/pulumi_azure/synapse/workspace.py b/sdk/python/pulumi_azure/synapse/workspace.py index 6f3652c683..f985357466 100644 --- a/sdk/python/pulumi_azure/synapse/workspace.py +++ b/sdk/python/pulumi_azure/synapse/workspace.py @@ -42,11 +42,11 @@ def __init__(__self__, *, The set of arguments for constructing a Workspace resource. :param pulumi.Input[str] resource_group_name: Specifies the name of the Resource Group where the synapse Workspace should exist. Changing this forces a new resource to be created. :param pulumi.Input[str] storage_data_lake_gen2_filesystem_id: Specifies the ID of storage data lake gen2 filesystem resource. Changing this forces a new resource to be created. - :param pulumi.Input['WorkspaceAadAdminArgs'] aad_admin: An `aad_admin` block as defined below. Conflicts with `customer_managed_key`. + :param pulumi.Input['WorkspaceAadAdminArgs'] aad_admin: An `aad_admin` block as defined below. :param pulumi.Input['WorkspaceAzureDevopsRepoArgs'] azure_devops_repo: An `azure_devops_repo` block as defined below. :param pulumi.Input[bool] azuread_authentication_only: Is Azure Active Directory Authentication the only way to authenticate with resources inside this synapse Workspace. Defaults to `false`. :param pulumi.Input[str] compute_subnet_id: Subnet ID used for computes in workspace Changing this forces a new resource to be created. - :param pulumi.Input['WorkspaceCustomerManagedKeyArgs'] customer_managed_key: A `customer_managed_key` block as defined below. Conflicts with `aad_admin`. + :param pulumi.Input['WorkspaceCustomerManagedKeyArgs'] customer_managed_key: A `customer_managed_key` block as defined below. :param pulumi.Input[bool] data_exfiltration_protection_enabled: Is data exfiltration protection enabled in this workspace? If set to `true`, `managed_virtual_network_enabled` must also be set to `true`. Changing this forces a new resource to be created. :param pulumi.Input['WorkspaceGithubRepoArgs'] github_repo: A `github_repo` block as defined below. :param pulumi.Input['WorkspaceIdentityArgs'] identity: An `identity` block as defined below. @@ -134,7 +134,7 @@ def storage_data_lake_gen2_filesystem_id(self, value: pulumi.Input[str]): @pulumi.getter(name="aadAdmin") def aad_admin(self) -> Optional[pulumi.Input['WorkspaceAadAdminArgs']]: """ - An `aad_admin` block as defined below. Conflicts with `customer_managed_key`. + An `aad_admin` block as defined below. """ return pulumi.get(self, "aad_admin") @@ -182,7 +182,7 @@ def compute_subnet_id(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="customerManagedKey") def customer_managed_key(self) -> Optional[pulumi.Input['WorkspaceCustomerManagedKeyArgs']]: """ - A `customer_managed_key` block as defined below. Conflicts with `aad_admin`. + A `customer_managed_key` block as defined below. """ return pulumi.get(self, "customer_managed_key") @@ -399,12 +399,12 @@ def __init__(__self__, *, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): """ Input properties used for looking up and filtering Workspace resources. - :param pulumi.Input['WorkspaceAadAdminArgs'] aad_admin: An `aad_admin` block as defined below. Conflicts with `customer_managed_key`. + :param pulumi.Input['WorkspaceAadAdminArgs'] aad_admin: An `aad_admin` block as defined below. :param pulumi.Input['WorkspaceAzureDevopsRepoArgs'] azure_devops_repo: An `azure_devops_repo` block as defined below. :param pulumi.Input[bool] azuread_authentication_only: Is Azure Active Directory Authentication the only way to authenticate with resources inside this synapse Workspace. Defaults to `false`. :param pulumi.Input[str] compute_subnet_id: Subnet ID used for computes in workspace Changing this forces a new resource to be created. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] connectivity_endpoints: A list of Connectivity endpoints for this Synapse Workspace. - :param pulumi.Input['WorkspaceCustomerManagedKeyArgs'] customer_managed_key: A `customer_managed_key` block as defined below. Conflicts with `aad_admin`. + :param pulumi.Input['WorkspaceCustomerManagedKeyArgs'] customer_managed_key: A `customer_managed_key` block as defined below. :param pulumi.Input[bool] data_exfiltration_protection_enabled: Is data exfiltration protection enabled in this workspace? If set to `true`, `managed_virtual_network_enabled` must also be set to `true`. Changing this forces a new resource to be created. :param pulumi.Input['WorkspaceGithubRepoArgs'] github_repo: A `github_repo` block as defined below. :param pulumi.Input['WorkspaceIdentityArgs'] identity: An `identity` block as defined below. @@ -474,7 +474,7 @@ def __init__(__self__, *, @pulumi.getter(name="aadAdmin") def aad_admin(self) -> Optional[pulumi.Input['WorkspaceAadAdminArgs']]: """ - An `aad_admin` block as defined below. Conflicts with `customer_managed_key`. + An `aad_admin` block as defined below. """ return pulumi.get(self, "aad_admin") @@ -534,7 +534,7 @@ def connectivity_endpoints(self, value: Optional[pulumi.Input[Mapping[str, pulum @pulumi.getter(name="customerManagedKey") def customer_managed_key(self) -> Optional[pulumi.Input['WorkspaceCustomerManagedKeyArgs']]: """ - A `customer_managed_key` block as defined below. Conflicts with `aad_admin`. + A `customer_managed_key` block as defined below. """ return pulumi.get(self, "customer_managed_key") @@ -913,11 +913,11 @@ def __init__(__self__, :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. - :param pulumi.Input[pulumi.InputType['WorkspaceAadAdminArgs']] aad_admin: An `aad_admin` block as defined below. Conflicts with `customer_managed_key`. + :param pulumi.Input[pulumi.InputType['WorkspaceAadAdminArgs']] aad_admin: An `aad_admin` block as defined below. :param pulumi.Input[pulumi.InputType['WorkspaceAzureDevopsRepoArgs']] azure_devops_repo: An `azure_devops_repo` block as defined below. :param pulumi.Input[bool] azuread_authentication_only: Is Azure Active Directory Authentication the only way to authenticate with resources inside this synapse Workspace. Defaults to `false`. :param pulumi.Input[str] compute_subnet_id: Subnet ID used for computes in workspace Changing this forces a new resource to be created. - :param pulumi.Input[pulumi.InputType['WorkspaceCustomerManagedKeyArgs']] customer_managed_key: A `customer_managed_key` block as defined below. Conflicts with `aad_admin`. + :param pulumi.Input[pulumi.InputType['WorkspaceCustomerManagedKeyArgs']] customer_managed_key: A `customer_managed_key` block as defined below. :param pulumi.Input[bool] data_exfiltration_protection_enabled: Is data exfiltration protection enabled in this workspace? If set to `true`, `managed_virtual_network_enabled` must also be set to `true`. Changing this forces a new resource to be created. :param pulumi.Input[pulumi.InputType['WorkspaceGithubRepoArgs']] github_repo: A `github_repo` block as defined below. :param pulumi.Input[pulumi.InputType['WorkspaceIdentityArgs']] identity: An `identity` block as defined below. @@ -1193,12 +1193,12 @@ def get(resource_name: str, :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[pulumi.InputType['WorkspaceAadAdminArgs']] aad_admin: An `aad_admin` block as defined below. Conflicts with `customer_managed_key`. + :param pulumi.Input[pulumi.InputType['WorkspaceAadAdminArgs']] aad_admin: An `aad_admin` block as defined below. :param pulumi.Input[pulumi.InputType['WorkspaceAzureDevopsRepoArgs']] azure_devops_repo: An `azure_devops_repo` block as defined below. :param pulumi.Input[bool] azuread_authentication_only: Is Azure Active Directory Authentication the only way to authenticate with resources inside this synapse Workspace. Defaults to `false`. :param pulumi.Input[str] compute_subnet_id: Subnet ID used for computes in workspace Changing this forces a new resource to be created. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] connectivity_endpoints: A list of Connectivity endpoints for this Synapse Workspace. - :param pulumi.Input[pulumi.InputType['WorkspaceCustomerManagedKeyArgs']] customer_managed_key: A `customer_managed_key` block as defined below. Conflicts with `aad_admin`. + :param pulumi.Input[pulumi.InputType['WorkspaceCustomerManagedKeyArgs']] customer_managed_key: A `customer_managed_key` block as defined below. :param pulumi.Input[bool] data_exfiltration_protection_enabled: Is data exfiltration protection enabled in this workspace? If set to `true`, `managed_virtual_network_enabled` must also be set to `true`. Changing this forces a new resource to be created. :param pulumi.Input[pulumi.InputType['WorkspaceGithubRepoArgs']] github_repo: A `github_repo` block as defined below. :param pulumi.Input[pulumi.InputType['WorkspaceIdentityArgs']] identity: An `identity` block as defined below. @@ -1250,7 +1250,7 @@ def get(resource_name: str, @pulumi.getter(name="aadAdmin") def aad_admin(self) -> pulumi.Output['outputs.WorkspaceAadAdmin']: """ - An `aad_admin` block as defined below. Conflicts with `customer_managed_key`. + An `aad_admin` block as defined below. """ return pulumi.get(self, "aad_admin") @@ -1290,7 +1290,7 @@ def connectivity_endpoints(self) -> pulumi.Output[Mapping[str, str]]: @pulumi.getter(name="customerManagedKey") def customer_managed_key(self) -> pulumi.Output[Optional['outputs.WorkspaceCustomerManagedKey']]: """ - A `customer_managed_key` block as defined below. Conflicts with `aad_admin`. + A `customer_managed_key` block as defined below. """ return pulumi.get(self, "customer_managed_key") diff --git a/sdk/python/pulumi_azure/systemcenter/__init__.py b/sdk/python/pulumi_azure/systemcenter/__init__.py new file mode 100644 index 0000000000..3027afc9d8 --- /dev/null +++ b/sdk/python/pulumi_azure/systemcenter/__init__.py @@ -0,0 +1,8 @@ +# 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! *** + +from .. import _utilities +import typing +# Export this package's modules as members: +from .virtual_machine_manager_server import * diff --git a/sdk/python/pulumi_azure/systemcenter/virtual_machine_manager_server.py b/sdk/python/pulumi_azure/systemcenter/virtual_machine_manager_server.py new file mode 100644 index 0000000000..a34c7be4fd --- /dev/null +++ b/sdk/python/pulumi_azure/systemcenter/virtual_machine_manager_server.py @@ -0,0 +1,590 @@ +# 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 pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from .. import _utilities + +__all__ = ['VirtualMachineManagerServerArgs', 'VirtualMachineManagerServer'] + +@pulumi.input_type +class VirtualMachineManagerServerArgs: + def __init__(__self__, *, + custom_location_id: pulumi.Input[str], + fqdn: pulumi.Input[str], + password: pulumi.Input[str], + resource_group_name: pulumi.Input[str], + username: pulumi.Input[str], + location: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + port: Optional[pulumi.Input[int]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): + """ + The set of arguments for constructing a VirtualMachineManagerServer resource. + :param pulumi.Input[str] custom_location_id: The ID of the Custom Location for the System Center Virtual Machine Manager Server. Changing this forces a new resource to be created. + :param pulumi.Input[str] fqdn: The FQDN of the System Center Virtual Machine Manager Server. Changing this forces a new resource to be created. + :param pulumi.Input[str] password: The password that is used to connect to the System Center Virtual Machine Manager Server. Changing this forces a new resource to be created. + :param pulumi.Input[str] resource_group_name: The name of the Resource Group where the System Center Virtual Machine Manager should exist. Changing this forces a new resource to be created. + :param pulumi.Input[str] username: The username that is used to connect to the System Center Virtual Machine Manager Server. Changing this forces a new resource to be created. + :param pulumi.Input[str] location: The Azure Region where the System Center Virtual Machine Manager Server should exist. Changing this forces a new resource to be created. + :param pulumi.Input[str] name: The name of the System Center Virtual Machine Manager Server. Changing this forces a new resource to be created. + :param pulumi.Input[int] port: The port on which the System Center Virtual Machine Manager Server is listening. Possible values are between `1` and `65535`. 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 System Center Virtual Machine Manager Server. + """ + pulumi.set(__self__, "custom_location_id", custom_location_id) + pulumi.set(__self__, "fqdn", fqdn) + pulumi.set(__self__, "password", password) + pulumi.set(__self__, "resource_group_name", resource_group_name) + pulumi.set(__self__, "username", username) + if location is not None: + pulumi.set(__self__, "location", location) + if name is not None: + pulumi.set(__self__, "name", name) + if port is not None: + pulumi.set(__self__, "port", port) + 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 the Custom Location for the System Center Virtual Machine Manager Server. 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 fqdn(self) -> pulumi.Input[str]: + """ + The FQDN of the System Center Virtual Machine Manager Server. Changing this forces a new resource to be created. + """ + return pulumi.get(self, "fqdn") + + @fqdn.setter + def fqdn(self, value: pulumi.Input[str]): + pulumi.set(self, "fqdn", value) + + @property + @pulumi.getter + def password(self) -> pulumi.Input[str]: + """ + The password that is used to connect to the System Center Virtual Machine Manager Server. Changing this forces a new resource to be created. + """ + return pulumi.get(self, "password") + + @password.setter + def password(self, value: pulumi.Input[str]): + pulumi.set(self, "password", value) + + @property + @pulumi.getter(name="resourceGroupName") + def resource_group_name(self) -> pulumi.Input[str]: + """ + The name of the Resource Group where the System Center Virtual Machine Manager 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 username(self) -> pulumi.Input[str]: + """ + The username that is used to connect to the System Center Virtual Machine Manager Server. Changing this forces a new resource to be created. + """ + return pulumi.get(self, "username") + + @username.setter + def username(self, value: pulumi.Input[str]): + pulumi.set(self, "username", value) + + @property + @pulumi.getter + def location(self) -> Optional[pulumi.Input[str]]: + """ + The Azure Region where the System Center Virtual Machine Manager Server 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 of the System Center Virtual Machine Manager 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 + def port(self) -> Optional[pulumi.Input[int]]: + """ + The port on which the System Center Virtual Machine Manager Server is listening. Possible values are between `1` and `65535`. Changing this forces a new resource to be created. + """ + return pulumi.get(self, "port") + + @port.setter + def port(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "port", 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 System Center Virtual Machine Manager Server. + """ + 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 _VirtualMachineManagerServerState: + def __init__(__self__, *, + custom_location_id: Optional[pulumi.Input[str]] = None, + fqdn: Optional[pulumi.Input[str]] = None, + location: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + password: Optional[pulumi.Input[str]] = None, + port: Optional[pulumi.Input[int]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + username: Optional[pulumi.Input[str]] = None): + """ + Input properties used for looking up and filtering VirtualMachineManagerServer resources. + :param pulumi.Input[str] custom_location_id: The ID of the Custom Location for the System Center Virtual Machine Manager Server. Changing this forces a new resource to be created. + :param pulumi.Input[str] fqdn: The FQDN of the System Center Virtual Machine Manager Server. Changing this forces a new resource to be created. + :param pulumi.Input[str] location: The Azure Region where the System Center Virtual Machine Manager Server should exist. Changing this forces a new resource to be created. + :param pulumi.Input[str] name: The name of the System Center Virtual Machine Manager Server. Changing this forces a new resource to be created. + :param pulumi.Input[str] password: The password that is used to connect to the System Center Virtual Machine Manager Server. Changing this forces a new resource to be created. + :param pulumi.Input[int] port: The port on which the System Center Virtual Machine Manager Server is listening. Possible values are between `1` and `65535`. Changing this forces a new resource to be created. + :param pulumi.Input[str] resource_group_name: The name of the Resource Group where the System Center Virtual Machine Manager 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 System Center Virtual Machine Manager Server. + :param pulumi.Input[str] username: The username that is used to connect to the System Center Virtual Machine Manager Server. Changing this forces a new resource to be created. + """ + if custom_location_id is not None: + pulumi.set(__self__, "custom_location_id", custom_location_id) + if fqdn is not None: + pulumi.set(__self__, "fqdn", fqdn) + if location is not None: + pulumi.set(__self__, "location", location) + if name is not None: + pulumi.set(__self__, "name", name) + if password is not None: + pulumi.set(__self__, "password", password) + if port is not None: + pulumi.set(__self__, "port", port) + 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) + if username is not None: + pulumi.set(__self__, "username", username) + + @property + @pulumi.getter(name="customLocationId") + def custom_location_id(self) -> Optional[pulumi.Input[str]]: + """ + The ID of the Custom Location for the System Center Virtual Machine Manager Server. 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 fqdn(self) -> Optional[pulumi.Input[str]]: + """ + The FQDN of the System Center Virtual Machine Manager Server. Changing this forces a new resource to be created. + """ + return pulumi.get(self, "fqdn") + + @fqdn.setter + def fqdn(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "fqdn", value) + + @property + @pulumi.getter + def location(self) -> Optional[pulumi.Input[str]]: + """ + The Azure Region where the System Center Virtual Machine Manager Server 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 of the System Center Virtual Machine Manager 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 + def password(self) -> Optional[pulumi.Input[str]]: + """ + The password that is used to connect to the System Center Virtual Machine Manager Server. Changing this forces a new resource to be created. + """ + return pulumi.get(self, "password") + + @password.setter + def password(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "password", value) + + @property + @pulumi.getter + def port(self) -> Optional[pulumi.Input[int]]: + """ + The port on which the System Center Virtual Machine Manager Server is listening. Possible values are between `1` and `65535`. Changing this forces a new resource to be created. + """ + return pulumi.get(self, "port") + + @port.setter + def port(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "port", value) + + @property + @pulumi.getter(name="resourceGroupName") + def resource_group_name(self) -> Optional[pulumi.Input[str]]: + """ + The name of the Resource Group where the System Center Virtual Machine Manager 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 System Center Virtual Machine Manager Server. + """ + return pulumi.get(self, "tags") + + @tags.setter + def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "tags", value) + + @property + @pulumi.getter + def username(self) -> Optional[pulumi.Input[str]]: + """ + The username that is used to connect to the System Center Virtual Machine Manager Server. Changing this forces a new resource to be created. + """ + return pulumi.get(self, "username") + + @username.setter + def username(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "username", value) + + +class VirtualMachineManagerServer(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + custom_location_id: Optional[pulumi.Input[str]] = None, + fqdn: Optional[pulumi.Input[str]] = None, + location: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + password: Optional[pulumi.Input[str]] = None, + port: Optional[pulumi.Input[int]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + username: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + Manages a System Center Virtual Machine Manager Server. + + > **Note:** By request of the service team the provider no longer automatically registering the `Microsoft.ScVmm` Resource Provider for this resource. To register it you can run `az provider register --namespace Microsoft.ScVmm`. + + > **Note:** This resource depends on an existing `System Center Virtual Machine Manager Host Machine`, `Arc Resource Bridge` and `Custom Location`. Installing and configuring these dependencies is outside the scope of this document. See [Virtual Machine Manager documentation](https://learn.microsoft.com/en-us/system-center/vmm/?view=sc-vmm-2022) and [Install VMM](https://learn.microsoft.com/en-us/system-center/vmm/install?view=sc-vmm-2022) for more details of `System Center Virtual Machine Manager Host Machine`. See [What is Azure Arc resource bridge](https://learn.microsoft.com/en-us/azure/azure-arc/resource-bridge/overview) and [Overview of Arc-enabled System Center Virtual Machine Manager](https://learn.microsoft.com/en-us/azure/azure-arc/system-center-virtual-machine-manager/overview) for more details of `Arc Resource Bridge/Appliance`. See [Create and manage custom locations on Azure Arc-enabled Kubernetes](https://learn.microsoft.com/en-us/azure/azure-arc/kubernetes/custom-locations) for more details of `Custom Location`. If you encounter issues while configuring, we'd recommend opening a ticket with Microsoft Support. + + ## Example Usage + + ```python + import pulumi + import pulumi_azure as azure + + example = azure.core.ResourceGroup("example", + name="example-resources", + location="West Europe") + example_virtual_machine_manager_server = azure.systemcenter.VirtualMachineManagerServer("example", + name="example-scvmmms", + resource_group_name=example.name, + location=example.location, + custom_location_id="/subscriptions/12345678-1234-9876-4563-123456789012/resourceGroups/resGroup1/providers/Microsoft.ExtendedLocation/customLocations/customLocation1", + fqdn="example.labtest", + username="testUser", + password="H@Sh1CoR3!") + ``` + + ## Import + + System Center Virtual Machine Manager Servers can be imported using the `resource id`, e.g. + + ```sh + $ pulumi import azure:systemcenter/virtualMachineManagerServer:VirtualMachineManagerServer example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup1/providers/Microsoft.ScVmm/vmmServers/vmmServer1 + ``` + + :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 the Custom Location for the System Center Virtual Machine Manager Server. Changing this forces a new resource to be created. + :param pulumi.Input[str] fqdn: The FQDN of the System Center Virtual Machine Manager Server. Changing this forces a new resource to be created. + :param pulumi.Input[str] location: The Azure Region where the System Center Virtual Machine Manager Server should exist. Changing this forces a new resource to be created. + :param pulumi.Input[str] name: The name of the System Center Virtual Machine Manager Server. Changing this forces a new resource to be created. + :param pulumi.Input[str] password: The password that is used to connect to the System Center Virtual Machine Manager Server. Changing this forces a new resource to be created. + :param pulumi.Input[int] port: The port on which the System Center Virtual Machine Manager Server is listening. Possible values are between `1` and `65535`. Changing this forces a new resource to be created. + :param pulumi.Input[str] resource_group_name: The name of the Resource Group where the System Center Virtual Machine Manager 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 System Center Virtual Machine Manager Server. + :param pulumi.Input[str] username: The username that is used to connect to the System Center Virtual Machine Manager Server. Changing this forces a new resource to be created. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: VirtualMachineManagerServerArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Manages a System Center Virtual Machine Manager Server. + + > **Note:** By request of the service team the provider no longer automatically registering the `Microsoft.ScVmm` Resource Provider for this resource. To register it you can run `az provider register --namespace Microsoft.ScVmm`. + + > **Note:** This resource depends on an existing `System Center Virtual Machine Manager Host Machine`, `Arc Resource Bridge` and `Custom Location`. Installing and configuring these dependencies is outside the scope of this document. See [Virtual Machine Manager documentation](https://learn.microsoft.com/en-us/system-center/vmm/?view=sc-vmm-2022) and [Install VMM](https://learn.microsoft.com/en-us/system-center/vmm/install?view=sc-vmm-2022) for more details of `System Center Virtual Machine Manager Host Machine`. See [What is Azure Arc resource bridge](https://learn.microsoft.com/en-us/azure/azure-arc/resource-bridge/overview) and [Overview of Arc-enabled System Center Virtual Machine Manager](https://learn.microsoft.com/en-us/azure/azure-arc/system-center-virtual-machine-manager/overview) for more details of `Arc Resource Bridge/Appliance`. See [Create and manage custom locations on Azure Arc-enabled Kubernetes](https://learn.microsoft.com/en-us/azure/azure-arc/kubernetes/custom-locations) for more details of `Custom Location`. If you encounter issues while configuring, we'd recommend opening a ticket with Microsoft Support. + + ## Example Usage + + ```python + import pulumi + import pulumi_azure as azure + + example = azure.core.ResourceGroup("example", + name="example-resources", + location="West Europe") + example_virtual_machine_manager_server = azure.systemcenter.VirtualMachineManagerServer("example", + name="example-scvmmms", + resource_group_name=example.name, + location=example.location, + custom_location_id="/subscriptions/12345678-1234-9876-4563-123456789012/resourceGroups/resGroup1/providers/Microsoft.ExtendedLocation/customLocations/customLocation1", + fqdn="example.labtest", + username="testUser", + password="H@Sh1CoR3!") + ``` + + ## Import + + System Center Virtual Machine Manager Servers can be imported using the `resource id`, e.g. + + ```sh + $ pulumi import azure:systemcenter/virtualMachineManagerServer:VirtualMachineManagerServer example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup1/providers/Microsoft.ScVmm/vmmServers/vmmServer1 + ``` + + :param str resource_name: The name of the resource. + :param VirtualMachineManagerServerArgs 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(VirtualMachineManagerServerArgs, 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, + fqdn: Optional[pulumi.Input[str]] = None, + location: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + password: Optional[pulumi.Input[str]] = None, + port: Optional[pulumi.Input[int]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + username: 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__ = VirtualMachineManagerServerArgs.__new__(VirtualMachineManagerServerArgs) + + 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 + if fqdn is None and not opts.urn: + raise TypeError("Missing required property 'fqdn'") + __props__.__dict__["fqdn"] = fqdn + __props__.__dict__["location"] = location + __props__.__dict__["name"] = name + if password is None and not opts.urn: + raise TypeError("Missing required property 'password'") + __props__.__dict__["password"] = None if password is None else pulumi.Output.secret(password) + __props__.__dict__["port"] = port + 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 + if username is None and not opts.urn: + raise TypeError("Missing required property 'username'") + __props__.__dict__["username"] = username + secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["password"]) + opts = pulumi.ResourceOptions.merge(opts, secret_opts) + super(VirtualMachineManagerServer, __self__).__init__( + 'azure:systemcenter/virtualMachineManagerServer:VirtualMachineManagerServer', + 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, + fqdn: Optional[pulumi.Input[str]] = None, + location: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + password: Optional[pulumi.Input[str]] = None, + port: Optional[pulumi.Input[int]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + username: Optional[pulumi.Input[str]] = None) -> 'VirtualMachineManagerServer': + """ + Get an existing VirtualMachineManagerServer 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 the Custom Location for the System Center Virtual Machine Manager Server. Changing this forces a new resource to be created. + :param pulumi.Input[str] fqdn: The FQDN of the System Center Virtual Machine Manager Server. Changing this forces a new resource to be created. + :param pulumi.Input[str] location: The Azure Region where the System Center Virtual Machine Manager Server should exist. Changing this forces a new resource to be created. + :param pulumi.Input[str] name: The name of the System Center Virtual Machine Manager Server. Changing this forces a new resource to be created. + :param pulumi.Input[str] password: The password that is used to connect to the System Center Virtual Machine Manager Server. Changing this forces a new resource to be created. + :param pulumi.Input[int] port: The port on which the System Center Virtual Machine Manager Server is listening. Possible values are between `1` and `65535`. Changing this forces a new resource to be created. + :param pulumi.Input[str] resource_group_name: The name of the Resource Group where the System Center Virtual Machine Manager 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 System Center Virtual Machine Manager Server. + :param pulumi.Input[str] username: The username that is used to connect to the System Center Virtual Machine Manager Server. Changing this forces a new resource to be created. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _VirtualMachineManagerServerState.__new__(_VirtualMachineManagerServerState) + + __props__.__dict__["custom_location_id"] = custom_location_id + __props__.__dict__["fqdn"] = fqdn + __props__.__dict__["location"] = location + __props__.__dict__["name"] = name + __props__.__dict__["password"] = password + __props__.__dict__["port"] = port + __props__.__dict__["resource_group_name"] = resource_group_name + __props__.__dict__["tags"] = tags + __props__.__dict__["username"] = username + return VirtualMachineManagerServer(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="customLocationId") + def custom_location_id(self) -> pulumi.Output[str]: + """ + The ID of the Custom Location for the System Center Virtual Machine Manager Server. Changing this forces a new resource to be created. + """ + return pulumi.get(self, "custom_location_id") + + @property + @pulumi.getter + def fqdn(self) -> pulumi.Output[str]: + """ + The FQDN of the System Center Virtual Machine Manager Server. Changing this forces a new resource to be created. + """ + return pulumi.get(self, "fqdn") + + @property + @pulumi.getter + def location(self) -> pulumi.Output[str]: + """ + The Azure Region where the System Center Virtual Machine Manager Server 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 of the System Center Virtual Machine Manager Server. Changing this forces a new resource to be created. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def password(self) -> pulumi.Output[str]: + """ + The password that is used to connect to the System Center Virtual Machine Manager Server. Changing this forces a new resource to be created. + """ + return pulumi.get(self, "password") + + @property + @pulumi.getter + def port(self) -> pulumi.Output[Optional[int]]: + """ + The port on which the System Center Virtual Machine Manager Server is listening. Possible values are between `1` and `65535`. Changing this forces a new resource to be created. + """ + return pulumi.get(self, "port") + + @property + @pulumi.getter(name="resourceGroupName") + def resource_group_name(self) -> pulumi.Output[str]: + """ + The name of the Resource Group where the System Center Virtual Machine Manager 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 System Center Virtual Machine Manager Server. + """ + return pulumi.get(self, "tags") + + @property + @pulumi.getter + def username(self) -> pulumi.Output[str]: + """ + The username that is used to connect to the System Center Virtual Machine Manager Server. Changing this forces a new resource to be created. + """ + return pulumi.get(self, "username") + diff --git a/upstream b/upstream index 293d575dd5..a7e0b8b5ab 160000 --- a/upstream +++ b/upstream @@ -1 +1 @@ -Subproject commit 293d575dd5471037bc0252ffd2ebecd03e280fc1 +Subproject commit a7e0b8b5ab115b8eb82e6ba25f42e2ea6fd62b3f