-
Notifications
You must be signed in to change notification settings - Fork 4.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
azurerm_storage_account
- Refactoring the Update
function to be GET-then-PUT
#23935
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM 👍
@magodo would you mind rebasing this PR? |
@tombuildsstuff PR rebased now. Test💢 TF_ACC=1 go test -v -timeout=20h ./internal/services/storage -run='TestAccStorageAccount_'
=== RUN TestAccStorageAccount_basic
=== PAUSE TestAccStorageAccount_basic
=== RUN TestAccStorageAccount_requiresImport
=== PAUSE TestAccStorageAccount_requiresImport
=== RUN TestAccStorageAccount_noCrossTenantReplication
=== PAUSE TestAccStorageAccount_noCrossTenantReplication
=== RUN TestAccStorageAccount_tagCount
=== PAUSE TestAccStorageAccount_tagCount
=== RUN TestAccStorageAccount_writeLock
=== PAUSE TestAccStorageAccount_writeLock
=== RUN TestAccStorageAccount_premium
=== PAUSE TestAccStorageAccount_premium
=== RUN TestAccStorageAccount_disappears
=== PAUSE TestAccStorageAccount_disappears
=== RUN TestAccStorageAccount_blobConnectionString
=== PAUSE TestAccStorageAccount_blobConnectionString
=== RUN TestAccStorageAccount_enableHttpsTrafficOnly
=== PAUSE TestAccStorageAccount_enableHttpsTrafficOnly
=== RUN TestAccStorageAccount_minTLSVersion
=== PAUSE TestAccStorageAccount_minTLSVersion
=== RUN TestAccStorageAccount_isHnsEnabled
=== PAUSE TestAccStorageAccount_isHnsEnabled
=== RUN TestAccStorageAccount_isHnsDisabled
=== PAUSE TestAccStorageAccount_isHnsDisabled
=== RUN TestAccStorageAccount_isNFSv3Enabled
=== PAUSE TestAccStorageAccount_isNFSv3Enabled
=== RUN TestAccStorageAccount_blobStorageWithUpdate
=== PAUSE TestAccStorageAccount_blobStorageWithUpdate
=== RUN TestAccStorageAccount_blockBlobStorage
=== PAUSE TestAccStorageAccount_blockBlobStorage
=== RUN TestAccStorageAccount_fileStorageWithUpdate
=== PAUSE TestAccStorageAccount_fileStorageWithUpdate
=== RUN TestAccStorageAccount_storageV2WithUpdate
=== PAUSE TestAccStorageAccount_storageV2WithUpdate
=== RUN TestAccStorageAccount_storageV1ToV2Update
=== PAUSE TestAccStorageAccount_storageV1ToV2Update
=== RUN TestAccStorageAccount_systemAssignedIdentity
=== PAUSE TestAccStorageAccount_systemAssignedIdentity
=== RUN TestAccStorageAccount_userAssignedIdentity
=== PAUSE TestAccStorageAccount_userAssignedIdentity
=== RUN TestAccStorageAccount_systemAssignedUserAssignedIdentity
=== PAUSE TestAccStorageAccount_systemAssignedUserAssignedIdentity
=== RUN TestAccStorageAccount_updateResourceByEnablingIdentity
=== PAUSE TestAccStorageAccount_updateResourceByEnablingIdentity
=== RUN TestAccStorageAccount_publicNetworkAccess
=== PAUSE TestAccStorageAccount_publicNetworkAccess
=== RUN TestAccStorageAccount_networkRules
=== PAUSE TestAccStorageAccount_networkRules
=== RUN TestAccStorageAccount_networkRulesDeleted
=== PAUSE TestAccStorageAccount_networkRulesDeleted
=== RUN TestAccStorageAccount_privateLinkAccess
=== PAUSE TestAccStorageAccount_privateLinkAccess
=== RUN TestAccStorageAccount_networkRulesSynapseAccess
=== PAUSE TestAccStorageAccount_networkRulesSynapseAccess
=== RUN TestAccStorageAccount_blobProperties
=== PAUSE TestAccStorageAccount_blobProperties
=== RUN TestAccStorageAccount_blobProperties_containerAndLastAccessTimeDisabled
=== PAUSE TestAccStorageAccount_blobProperties_containerAndLastAccessTimeDisabled
=== RUN TestAccStorageAccount_blobPropertiesEmptyAllowedExposedHeaders
=== PAUSE TestAccStorageAccount_blobPropertiesEmptyAllowedExposedHeaders
=== RUN TestAccStorageAccount_blobProperties_kindStorageNotSupportLastAccessTimeEnabled
=== PAUSE TestAccStorageAccount_blobProperties_kindStorageNotSupportLastAccessTimeEnabled
=== RUN TestAccStorageAccount_queueProperties
=== PAUSE TestAccStorageAccount_queueProperties
=== RUN TestAccStorageAccount_staticWebsiteEnabled
=== PAUSE TestAccStorageAccount_staticWebsiteEnabled
=== RUN TestAccStorageAccount_staticWebsitePropertiesForStorageV2
=== PAUSE TestAccStorageAccount_staticWebsitePropertiesForStorageV2
=== RUN TestAccStorageAccount_staticWebsitePropertiesForBlockBlobStorage
=== PAUSE TestAccStorageAccount_staticWebsitePropertiesForBlockBlobStorage
=== RUN TestAccStorageAccount_replicationTypeGZRS
=== PAUSE TestAccStorageAccount_replicationTypeGZRS
=== RUN TestAccStorageAccount_largeFileShare
=== PAUSE TestAccStorageAccount_largeFileShare
=== RUN TestAccStorageAccount_hnsWithPremiumStorage
=== PAUSE TestAccStorageAccount_hnsWithPremiumStorage
=== RUN TestAccStorageAccount_allowSharedKeyAccess
=== PAUSE TestAccStorageAccount_allowSharedKeyAccess
=== RUN TestAccStorageAccount_defaultToOAuthAuthentication
=== PAUSE TestAccStorageAccount_defaultToOAuthAuthentication
=== RUN TestAccStorageAccount_encryptionKeyType_Account
=== PAUSE TestAccStorageAccount_encryptionKeyType_Account
=== RUN TestAccStorageAccount_encryptionKeyType_Service
=== PAUSE TestAccStorageAccount_encryptionKeyType_Service
=== RUN TestAccStorageAccount_infrastructureEncryptionStorageV2_Enabled
=== PAUSE TestAccStorageAccount_infrastructureEncryptionStorageV2_Enabled
=== RUN TestAccStorageAccount_infrastructureEncryptionStorageV2_Disabled
=== PAUSE TestAccStorageAccount_infrastructureEncryptionStorageV2_Disabled
=== RUN TestAccStorageAccount_infrastructureEncryptionFileStorage
=== PAUSE TestAccStorageAccount_infrastructureEncryptionFileStorage
=== RUN TestAccStorageAccount_infrastructureEncryptionBlockBlobStorage
=== PAUSE TestAccStorageAccount_infrastructureEncryptionBlockBlobStorage
=== RUN TestAccStorageAccount_immutabilityPolicy
=== PAUSE TestAccStorageAccount_immutabilityPolicy
=== RUN TestAccStorageAccount_customerManagedKey
=== PAUSE TestAccStorageAccount_customerManagedKey
=== RUN TestAccStorageAccount_customerManagedKeyAutoRotation
=== PAUSE TestAccStorageAccount_customerManagedKeyAutoRotation
=== RUN TestAccStorageAccount_customerManagedKeyUpdated
=== PAUSE TestAccStorageAccount_customerManagedKeyUpdated
=== RUN TestAccStorageAccount_customerManagedKeyRemoteKeyVault
=== PAUSE TestAccStorageAccount_customerManagedKeyRemoteKeyVault
=== RUN TestAccStorageAccount_updateToUsingIdentityAndCustomerManagedKey
=== PAUSE TestAccStorageAccount_updateToUsingIdentityAndCustomerManagedKey
=== RUN TestAccStorageAccount_edgeZone
=== PAUSE TestAccStorageAccount_edgeZone
=== RUN TestAccStorageAccount_storageV1StandardZRS
=== PAUSE TestAccStorageAccount_storageV1StandardZRS
=== RUN TestAccStorageAccount_smbMultichannel
=== PAUSE TestAccStorageAccount_smbMultichannel
=== RUN TestAccStorageAccount_premiumBlobCustomerManagedKey
=== PAUSE TestAccStorageAccount_premiumBlobCustomerManagedKey
=== RUN TestAccStorageAccount_premiumFileCustomerManagedKey
=== PAUSE TestAccStorageAccount_premiumFileCustomerManagedKey
=== RUN TestAccStorageAccount_sasPolicy
=== PAUSE TestAccStorageAccount_sasPolicy
=== RUN TestAccStorageAccount_allowedCopyScope
=== PAUSE TestAccStorageAccount_allowedCopyScope
=== RUN TestAccStorageAccount_isSftpEnabled
=== PAUSE TestAccStorageAccount_isSftpEnabled
=== RUN TestAccStorageAccount_isLocalUserEnabled
=== PAUSE TestAccStorageAccount_isLocalUserEnabled
=== RUN TestAccStorageAccount_minimalShareProperties
=== PAUSE TestAccStorageAccount_minimalShareProperties
=== RUN TestAccStorageAccount_minimalSharePropertiesPremiumFileStorage
=== PAUSE TestAccStorageAccount_minimalSharePropertiesPremiumFileStorage
=== RUN TestAccStorageAccount_invalidAccountKindForAccessTier
=== PAUSE TestAccStorageAccount_invalidAccountKindForAccessTier
=== CONT TestAccStorageAccount_basic
=== CONT TestAccStorageAccount_staticWebsiteEnabled
=== CONT TestAccStorageAccount_customerManagedKeyAutoRotation
=== CONT TestAccStorageAccount_customerManagedKey
=== CONT TestAccStorageAccount_queueProperties
=== CONT TestAccStorageAccount_blobProperties_kindStorageNotSupportLastAccessTimeEnabled
=== CONT TestAccStorageAccount_immutabilityPolicy
=== CONT TestAccStorageAccount_infrastructureEncryptionBlockBlobStorage
=== CONT TestAccStorageAccount_infrastructureEncryptionFileStorage
=== CONT TestAccStorageAccount_infrastructureEncryptionStorageV2_Disabled
=== CONT TestAccStorageAccount_blobPropertiesEmptyAllowedExposedHeaders
=== CONT TestAccStorageAccount_infrastructureEncryptionStorageV2_Enabled
--- PASS: TestAccStorageAccount_blobProperties_kindStorageNotSupportLastAccessTimeEnabled (78.45s)
=== CONT TestAccStorageAccount_blobProperties_containerAndLastAccessTimeDisabled
--- PASS: TestAccStorageAccount_infrastructureEncryptionStorageV2_Disabled (79.42s)
=== CONT TestAccStorageAccount_blobProperties
--- PASS: TestAccStorageAccount_immutabilityPolicy (81.23s)
=== CONT TestAccStorageAccount_networkRulesSynapseAccess
--- PASS: TestAccStorageAccount_blobPropertiesEmptyAllowedExposedHeaders (81.63s)
=== CONT TestAccStorageAccount_privateLinkAccess
--- PASS: TestAccStorageAccount_infrastructureEncryptionStorageV2_Enabled (84.85s)
=== CONT TestAccStorageAccount_networkRulesDeleted
--- PASS: TestAccStorageAccount_basic (109.01s)
=== CONT TestAccStorageAccount_networkRules
--- PASS: TestAccStorageAccount_staticWebsiteEnabled (130.77s)
=== CONT TestAccStorageAccount_publicNetworkAccess
--- PASS: TestAccStorageAccount_infrastructureEncryptionBlockBlobStorage (137.81s)
=== CONT TestAccStorageAccount_updateResourceByEnablingIdentity
--- PASS: TestAccStorageAccount_infrastructureEncryptionFileStorage (138.72s)
=== CONT TestAccStorageAccount_systemAssignedUserAssignedIdentity
--- PASS: TestAccStorageAccount_queueProperties (163.34s)
=== CONT TestAccStorageAccount_userAssignedIdentity
--- PASS: TestAccStorageAccount_publicNetworkAccess (100.57s)
=== CONT TestAccStorageAccount_systemAssignedIdentity
--- PASS: TestAccStorageAccount_blobProperties_containerAndLastAccessTimeDisabled (162.18s)
=== CONT TestAccStorageAccount_storageV1ToV2Update
--- PASS: TestAccStorageAccount_blobProperties (200.11s)
=== CONT TestAccStorageAccount_storageV2WithUpdate
--- PASS: TestAccStorageAccount_systemAssignedUserAssignedIdentity (145.32s)
=== CONT TestAccStorageAccount_fileStorageWithUpdate
--- PASS: TestAccStorageAccount_networkRulesDeleted (203.37s)
=== CONT TestAccStorageAccount_blockBlobStorage
--- PASS: TestAccStorageAccount_privateLinkAccess (217.69s)
=== CONT TestAccStorageAccount_blobStorageWithUpdate
--- PASS: TestAccStorageAccount_userAssignedIdentity (144.16s)
=== CONT TestAccStorageAccount_isNFSv3Enabled
--- PASS: TestAccStorageAccount_networkRules (199.73s)
=== CONT TestAccStorageAccount_isHnsDisabled
--- PASS: TestAccStorageAccount_customerManagedKeyAutoRotation (319.53s)
=== CONT TestAccStorageAccount_encryptionKeyType_Service
--- PASS: TestAccStorageAccount_updateResourceByEnablingIdentity (189.49s)
=== CONT TestAccStorageAccount_isHnsEnabled
--- PASS: TestAccStorageAccount_customerManagedKey (335.18s)
=== CONT TestAccStorageAccount_encryptionKeyType_Account
--- PASS: TestAccStorageAccount_storageV1ToV2Update (115.03s)
=== CONT TestAccStorageAccount_defaultToOAuthAuthentication
--- PASS: TestAccStorageAccount_blockBlobStorage (71.94s)
=== CONT TestAccStorageAccount_allowSharedKeyAccess
--- PASS: TestAccStorageAccount_systemAssignedIdentity (136.05s)
=== CONT TestAccStorageAccount_hnsWithPremiumStorage
--- PASS: TestAccStorageAccount_blobStorageWithUpdate (82.65s)
=== CONT TestAccStorageAccount_largeFileShare
--- PASS: TestAccStorageAccount_isNFSv3Enabled (111.53s)
=== CONT TestAccStorageAccount_minTLSVersion
--- PASS: TestAccStorageAccount_fileStorageWithUpdate (147.20s)
=== CONT TestAccStorageAccount_replicationTypeGZRS
--- PASS: TestAccStorageAccount_storageV2WithUpdate (155.11s)
=== CONT TestAccStorageAccount_staticWebsitePropertiesForBlockBlobStorage
--- PASS: TestAccStorageAccount_isHnsDisabled (134.12s)
=== CONT TestAccStorageAccount_staticWebsitePropertiesForStorageV2
--- PASS: TestAccStorageAccount_encryptionKeyType_Service (139.23s)
=== CONT TestAccStorageAccount_enableHttpsTrafficOnly
--- PASS: TestAccStorageAccount_isHnsEnabled (137.56s)
=== CONT TestAccStorageAccount_premiumFileCustomerManagedKey
--- PASS: TestAccStorageAccount_encryptionKeyType_Account (138.86s)
=== CONT TestAccStorageAccount_invalidAccountKindForAccessTier
--- PASS: TestAccStorageAccount_invalidAccountKindForAccessTier (1.14s)
=== CONT TestAccStorageAccount_blobConnectionString
--- PASS: TestAccStorageAccount_hnsWithPremiumStorage (132.85s)
=== CONT TestAccStorageAccount_minimalSharePropertiesPremiumFileStorage
--- PASS: TestAccStorageAccount_defaultToOAuthAuthentication (156.21s)
=== CONT TestAccStorageAccount_disappears
--- PASS: TestAccStorageAccount_allowSharedKeyAccess (158.23s)
=== CONT TestAccStorageAccount_minimalShareProperties
--- PASS: TestAccStorageAccount_blobConnectionString (70.95s)
=== CONT TestAccStorageAccount_isLocalUserEnabled
--- PASS: TestAccStorageAccount_largeFileShare (190.83s)
=== CONT TestAccStorageAccount_isSftpEnabled
--- PASS: TestAccStorageAccount_disappears (67.05s)
=== CONT TestAccStorageAccount_premium
--- PASS: TestAccStorageAccount_replicationTypeGZRS (158.02s)
=== CONT TestAccStorageAccount_allowedCopyScope
--- PASS: TestAccStorageAccount_minTLSVersion (172.92s)
=== CONT TestAccStorageAccount_sasPolicy
--- PASS: TestAccStorageAccount_staticWebsitePropertiesForBlockBlobStorage (158.29s)
=== CONT TestAccStorageAccount_writeLock
--- PASS: TestAccStorageAccount_minimalShareProperties (81.09s)
=== CONT TestAccStorageAccount_requiresImport
--- PASS: TestAccStorageAccount_staticWebsitePropertiesForStorageV2 (164.58s)
=== CONT TestAccStorageAccount_edgeZone
=== NAME TestAccStorageAccount_isLocalUserEnabled
testcase.go:113: Step 3/5 error: After applying this test step, the plan was not empty.
stdout:
Terraform used the selected providers to generate the following execution
plan. Resource actions are indicated with the following symbols:
~ update in-place
Terraform will perform the following actions:
# azurerm_storage_account.test will be updated in-place
~ resource "azurerm_storage_account" "test" {
id = "/subscriptions/85b3dbca-5974-4067-9669-67a141095a76/resourceGroups/acctestRG-storage-240219111318672578/providers/Microsoft.Storage/storageAccounts/unlikely23exst2acctj64it"
~ local_user_enabled = true -> false
name = "unlikely23exst2acctj64it"
tags = {}
# (37 unchanged attributes hidden)
# (4 unchanged blocks hidden)
}
Plan: 0 to add, 1 to change, 0 to destroy.
--- PASS: TestAccStorageAccount_enableHttpsTrafficOnly (157.53s)
=== CONT TestAccStorageAccount_noCrossTenantReplication
--- PASS: TestAccStorageAccount_minimalSharePropertiesPremiumFileStorage (133.69s)
=== CONT TestAccStorageAccount_premiumBlobCustomerManagedKey
--- FAIL: TestAccStorageAccount_isLocalUserEnabled (93.22s)
=== CONT TestAccStorageAccount_tagCount
--- PASS: TestAccStorageAccount_networkRulesSynapseAccess (574.32s)
=== CONT TestAccStorageAccount_smbMultichannel
--- PASS: TestAccStorageAccount_isSftpEnabled (90.65s)
=== CONT TestAccStorageAccount_storageV1StandardZRS
--- PASS: TestAccStorageAccount_requiresImport (81.88s)
=== CONT TestAccStorageAccount_customerManagedKeyRemoteKeyVault
testcase.go:113: Step 1/2 error: Error running pre-apply refresh: exit status 1
Error: building account: unable to configure ResourceManagerAccount: subscription ID could not be determined and was not specified
with provider["registry.terraform.io/hashicorp/azurerm-alt"],
on terraform_plugin_test.tf line 21, in provider "azurerm-alt":
21: provider "azurerm-alt" {
--- FAIL: TestAccStorageAccount_customerManagedKeyRemoteKeyVault (0.88s)
=== CONT TestAccStorageAccount_updateToUsingIdentityAndCustomerManagedKey
--- PASS: TestAccStorageAccount_sasPolicy (99.96s)
=== CONT TestAccStorageAccount_customerManagedKeyUpdated
--- PASS: TestAccStorageAccount_premium (131.49s)
--- PASS: TestAccStorageAccount_allowedCopyScope (121.33s)
--- PASS: TestAccStorageAccount_storageV1StandardZRS (63.51s)
--- PASS: TestAccStorageAccount_noCrossTenantReplication (135.50s)
--- PASS: TestAccStorageAccount_tagCount (136.19s)
--- PASS: TestAccStorageAccount_smbMultichannel (153.53s)
--- PASS: TestAccStorageAccount_premiumFileCustomerManagedKey (361.66s)
--- PASS: TestAccStorageAccount_writeLock (329.41s)
=== NAME TestAccStorageAccount_edgeZone
testcase.go:113: Step 1/2 error: Error running apply: exit status 1
Error: retrieving static website properties for Storage Account (Subscription: "85b3dbca-5974-4067-9669-67a141095a76"
Resource Group Name: "acctestRG-storage-240219111318671460"
Storage Account Name: "unlikely23exst2acctffo0x"): accounts.Client#GetServiceProperties: Failure sending request: StatusCode=0 -- Original Error: context deadline exceeded
with azurerm_storage_account.test,
on terraform_plugin_test.tf line 30, in resource "azurerm_storage_account" "test":
30: resource "azurerm_storage_account" "test" {
--- PASS: TestAccStorageAccount_premiumBlobCustomerManagedKey (334.30s)
--- FAIL: TestAccStorageAccount_edgeZone (418.57s)
--- PASS: TestAccStorageAccount_updateToUsingIdentityAndCustomerManagedKey (394.83s)
--- PASS: TestAccStorageAccount_customerManagedKeyUpdated (631.68s)
FAIL
FAIL github.com/hashicorp/terraform-provider-azurerm/internal/services/storage 1323.615s
FAIL
# Made some further changes for `is_local_user_enabled`...
💢 TF_ACC=1 go test -v -timeout=20h ./internal/services/storage -run='TestAccStorageAccount_isLocalUserEnabled'
=== RUN TestAccStorageAccount_isLocalUserEnabled
=== PAUSE TestAccStorageAccount_isLocalUserEnabled
=== CONT TestAccStorageAccount_isLocalUserEnabled
--- PASS: TestAccStorageAccount_isLocalUserEnabled (142.01s)
PASS
ok github.com/hashicorp/terraform-provider-azurerm/internal/services/storage 142.027s |
…ET-then-PUT (hashicorp#23935) * `azurerm_storage_account` - Refactoring the `Update` function to be GET-then-PUT * Update
<Actions> <action id="f410411e63aff4bb73a81c2aec1d373cf8a903e63b30dee2006b0030d8a94cc8"> <h3>Bump Terraform `azurerm` provider version</h3> <details id="1d9343c012f5434ac9fe8a98135bae3667b399259be16d9b14302ea3bd424a24"> <summary>Update Terraform lock file</summary> <p>changes detected:
	"hashicorp/azurerm" updated from "3.92.0" to "3.93.0" in file ".terraform.lock.hcl"</p> <details> <summary>3.93.0</summary> <pre>Changelog retrieved from:
	https://github.com/hashicorp/terraform-provider-azurerm/releases/tag/v3.93.0
* **New Data Source**: `azurerm_express_route_circuit_peering` ([#24971](hashicorp/terraform-provider-azurerm#24971 **New Data Source**: `azurerm_storage_table_entities` ([#24973](hashicorp/terraform-provider-azurerm#24973 **New Resource**: `azurerm_dev_center_catalog` ([#24833](hashicorp/terraform-provider-azurerm#24833 **New Resource**: `azurerm_system_center_virtual_machine_manager_server` ([#24278](https://github.com/hashicorp/terraform-provider-azurerm/issues/24278))

BUG FIXES:

* `azurerm_key_vault` - conditionally polling the Data Plane endpoint when `public_network_access_enabled` is set to false ([#23823](hashicorp/terraform-provider-azurerm#23823 `azurerm_storage_account` - allow the `identity.type` property to be `SystemAssigned, UserAssigned` when using a Customer Managed Key ([#24923](hashicorp/terraform-provider-azurerm#24923 `azurerm_automation_account` - prevent the `identity.identity_ids` User Assigned identity being set when not specified in config ([#24977](https://github.com/hashicorp/terraform-provider-azurerm/issues/24977))

ENHANCEMENTS:

* dependencies: updating to `v0.20240221.1170458` of `hashicorp/go-azure-sdk` ([#24967](hashicorp/terraform-provider-azurerm#24967 dependencies: refactor `azurerm_spring_cloud_configuration_service` to use `go-azure-sdk` ([#24918](hashicorp/terraform-provider-azurerm#24918 provider: support or the feature flag `virtual_machine_scale_set.reimage_on_manual_upgrade` ([#22975](hashicorp/terraform-provider-azurerm#22975 `sentinel`: updating to use the transport layer from `hashicorp/go-azure-sdk` rather than `Azure/go-autorest` ([#24962](hashicorp/terraform-provider-azurerm#24962 `sqlvirtualmachines`: updating to use the transport layer from `hashicorp/go-azure-sdk` rather than `Azure/go-autorest` ([#24912](hashicorp/terraform-provider-azurerm#24912 `nginx` : updating to use `2024-01-01-preview` ([#24868](hashicorp/terraform-provider-azurerm#24868 `azurerm_cosmosdb_account` - support for the `backup.tier` property ([#24595](hashicorp/terraform-provider-azurerm#24595 `azurerm_linux_virtual_machine` - the `virtual_machine_scale_set_id` proeprty can now be changed without creating a new resource ([#24768](hashicorp/terraform-provider-azurerm#24768 `azurerm_machine_learning_workspace` - support for the `managed_network.isolation_mode` property ([#24951](hashicorp/terraform-provider-azurerm#24951 `azurerm_private_dns_resolver_inbound_endpoint` - support the `static` value for the `private_ip_allocation_method` property ([#24952](hashicorp/terraform-provider-azurerm#24952 `azurerm_postgresql_flexible_server` - expose the `storage_tier` field ([#24892](hashicorp/terraform-provider-azurerm#24892 `azurerm_redis_cache` - support for the `preferred_data_persistence_auth_method` property ([#24370](hashicorp/terraform-provider-azurerm#24370 `azurerm_servicebus_namespace` - support for the `premium_messaging_partitions` property ([#24676](hashicorp/terraform-provider-azurerm#24676 `azurerm_windows_virtual_machine` - the `virtual_machine_scale_set_id` proeprty can now be changed without creating a new resource ([#24768](https://github.com/hashicorp/terraform-provider-azurerm/issues/24768))

BUG FIXES:

* `azurerm_cognitive_deployment` - the `version_upgrade_option` property can not be updated without creating a new resource ([#24922](hashicorp/terraform-provider-azurerm#24922 `azurerm_data_protection_backup_vault` - support or the `soft_delete` and `retention_duration_in_days` properties ([#24775](hashicorp/terraform-provider-azurerm#24775 `azurerm_data_factory_pipeline` - correctly handle incorrect header values ([#24921](hashicorp/terraform-provider-azurerm#24921 `azurerm_kusto_cluster` - `optimized_auto_scale` is now updated after `sku` has been updated ([#24906](hashicorp/terraform-provider-azurerm#24906 `azurerm_key_vault_certificate` - will now only update the `lifetime_action` of the certificate block unless otherwise required ([#24755](hashicorp/terraform-provider-azurerm#24755 `azurerm_linux_virtual_machine_scale_set` - correctly include `public_ip_prefix_id` during updates ([#24939](hashicorp/terraform-provider-azurerm#24939 `azurerm_postgresql_flexible_server` - the `customer_managed_key.key_vault_key_id` property is now required ([#24981](hashicorp/terraform-provider-azurerm#24981 `azurerm_nginx_deployment` - changing the `sku` property now creates a new resource ([#24905](hashicorp/terraform-provider-azurerm#24905 `azurerm_orchestrated_virtual_machine_scale_set` - the `disk_size_gb` and `lun` parameters of `data_disks` are optional now ([#24944](hashicorp/terraform-provider-azurerm#24944 `azurerm_storage_account` - change order of API calls to be GET-then-PUT ratehr then PATCHES ([#23935](hashicorp/terraform-provider-azurerm#23935 `azurerm_storage_account` - improve the validation around the `immutability_policy` being used with `blob_properties` ([#24938](hashicorp/terraform-provider-azurerm#24938 `azurerm_security_center_setting` - prevent a bug when name is `SENTINEL` ([#24497](hashicorp/terraform-provider-azurerm#24497 `azurerm_windows_virtual_machine_scale_set` - correctly include `public_ip_prefix_id` during updates ([#24939](https://github.com/hashicorp/terraform-provider-azurerm/issues/24939))




</pre> </details> </details> <a href="https://infra.ci.jenkins.io/job/updatecli/job/azure/job/main/19/">Jenkins pipeline link</a> </action> </Actions> --- <table> <tr> <td width="77"> <img src="https://www.updatecli.io/images/updatecli.png" alt="Updatecli logo" width="50" height="50"> </td> <td> <p> Created automatically by <a href="https://www.updatecli.io/">Updatecli</a> </p> <details><summary>Options:</summary> <br /> <p>Most of Updatecli configuration is done via <a href="https://www.updatecli.io/docs/prologue/quick-start/">its manifest(s)</a>.</p> <ul> <li>If you close this pull request, Updatecli will automatically reopen it, the next time it runs.</li> <li>If you close this pull request and delete the base branch, Updatecli will automatically recreate it, erasing all previous commits made.</li> </ul> <p> Feel free to report any issues at <a href="https://github.com/updatecli/updatecli/issues">github.com/updatecli/updatecli</a>.<br /> If you find this tool useful, do not hesitate to star <a href="https://github.com/updatecli/updatecli/stargazers">our GitHub repository</a> as a sign of appreciation, and/or to tell us directly on our <a href="https://matrix.to/#/#Updatecli_community:gitter.im">chat</a>! </p> </details> </td> </tr> </table> Co-authored-by: Jenkins Infra Bot (updatecli) <[email protected]>
…ET-then-PUT (hashicorp#23935) * `azurerm_storage_account` - Refactoring the `Update` function to be GET-then-PUT * Update
I'm going to lock this pull request because it has been closed for 30 days ⏳. This helps our maintainers find and focus on the active contributions. |
This PR refactors the
Update
function of theazurerm_storage_account
to do GET-then-PUT, instead of multiple PATCH(es). This can resolve issues when the user have policy that blocks storage account's certain property to be a certain value, e.g.allow_nested_items_to_be_public
disallows to betrue
. For existing resource that hasallow_nested_items_to_be_public
beingtrue
, a user has to update it to befalse
, whilst since the PATCH to this property happens after the other ones, the earlier PATCH will just be blocked by the policy.Test
One failure is due to the alternative subscription not set, the other exists in the main branch.