-
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
New Resource : azurerm_data_protection_backup_instance_kubernetes_cluster
#24940
New Resource : azurerm_data_protection_backup_instance_kubernetes_cluster
#24940
Conversation
3aef036
to
dcfe528
Compare
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.
Hi @sinbai,
Thanks for this PR - I've taken a look through and left some comments inline. If we can fix those up, this should be good to go 👍
"included_cluster_scope_resources_enabled": { | ||
Type: pluginsdk.TypeBool, | ||
ForceNew: true, | ||
Optional: true, | ||
}, |
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.
"included_cluster_scope_resources_enabled": { | |
Type: pluginsdk.TypeBool, | |
ForceNew: true, | |
Optional: true, | |
}, | |
"included_cluster_scope_resources_enabled": { | |
Type: pluginsdk.TypeBool, | |
ForceNew: true, | |
Optional: true, | |
Default: false, | |
}, |
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.
Fixed.
"snapshot_volumes_enabled": { | ||
Type: pluginsdk.TypeBool, | ||
ForceNew: true, | ||
Optional: true, | ||
}, |
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.
"snapshot_volumes_enabled": { | |
Type: pluginsdk.TypeBool, | |
ForceNew: true, | |
Optional: true, | |
}, | |
"snapshot_volumes_enabled": { | |
Type: pluginsdk.TypeBool, | |
ForceNew: true, | |
Optional: true, | |
Default: false, | |
}, |
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.
Fixed.
ValidateFunc: backupinstances.ValidateBackupVaultID, | ||
}, | ||
|
||
"backup_policy_id": { |
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.
backup_policy_id
is not forceNew in other resources. Could you double check this property?
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.
This property could not be changed.
|
||
* `vault_id` - (Required) The ID of the Backup Vault within which the Backup Instance Kubernetes Cluster should exist. Changing this forces a new resource to be created. | ||
|
||
* `backup_policy_id` - (Required) The ID of the Backup Policy Kubernetes Cluster. Changing this forces a new resource to be created. |
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.
backup_policy_id
is not forceNew in other resources. Could you double check this property?
* `backup_policy_id` - (Required) The ID of the Backup Policy Kubernetes Cluster. Changing this forces a new resource to be created. | |
* `backup_policy_id` - (Required) The ID of the Backup Policy. Changing this forces a new resource to be created. |
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.
Fixed.
|
||
A `backup_datasource_parameters` block supports the following: | ||
|
||
* `excluded_namespaces` - (Optional) Specify the namespaces to be excluded during backup. Changing this forces a new resource to be created. |
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.
* `excluded_namespaces` - (Optional) Specify the namespaces to be excluded during backup. Changing this forces a new resource to be created. | |
* `excluded_namespaces` - (Optional) Specifies the namespaces to be excluded during backup. Changing this forces a new resource to be created. |
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.
Fixed.
Type: schema.TypeString, | ||
}, | ||
}, | ||
"included_cluster_scope_resources_enabled": { |
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.
"included_cluster_scope_resources_enabled": { | |
"cluster_scope_resource_enabled": { |
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.
Fixed.
} | ||
|
||
func (r DataProtectionBackupInstanceKubernatesClusterResource) Arguments() map[string]*pluginsdk.Schema { | ||
arguments := map[string]*pluginsdk.Schema{ |
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.
arguments := map[string]*pluginsdk.Schema{ | |
return map[string]*pluginsdk.Schema{ |
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.
Fixed.
|
||
if model := resp.Model; model != nil { | ||
if properties := model.Properties; properties != nil { | ||
state.Location = pointer.From(properties.DataSourceInfo.ResourceLocation) |
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.
state.Location = pointer.From(properties.DataSourceInfo.ResourceLocation) | |
state.Location = location.NormalizeNilable(properties.DataSourceInfo.ResourceLocation) |
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.
Fixed.
parameter := dsp[0].(backupinstances.AzureOperationalStoreParameters) | ||
if parameter.ResourceGroupId != nil { |
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.
parameter := dsp[0].(backupinstances.AzureOperationalStoreParameters) | |
if parameter.ResourceGroupId != nil { | |
if parameter, ok := dsp[0].(backupinstances.AzureOperationalStoreParameters); ok && parameter.ResourceGroupId != nil { |
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.
Fixed.
item := input[0].(backupinstances.KubernetesClusterBackupDatasourceParameters) | ||
results := make([]BackupDatasourceParameters, 0) | ||
results = append(results, BackupDatasourceParameters{ | ||
ExcludedNamespaces: pointer.From(item.ExcludedNamespaces), | ||
ExcludedResourceTypes: pointer.From(item.ExcludedResourceTypes), | ||
IncludedClusterScopeResourcesEnabled: item.IncludeClusterScopeResources, | ||
IncludedNamespaces: pointer.From(item.IncludedNamespaces), | ||
IncludedResourceTypes: pointer.From(item.IncludedResourceTypes), | ||
LabelSelectors: pointer.From(item.LabelSelectors), | ||
SnapshotVolumesEnabled: item.SnapshotVolumes, | ||
}) |
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.
item := input[0].(backupinstances.KubernetesClusterBackupDatasourceParameters) | |
results := make([]BackupDatasourceParameters, 0) | |
results = append(results, BackupDatasourceParameters{ | |
ExcludedNamespaces: pointer.From(item.ExcludedNamespaces), | |
ExcludedResourceTypes: pointer.From(item.ExcludedResourceTypes), | |
IncludedClusterScopeResourcesEnabled: item.IncludeClusterScopeResources, | |
IncludedNamespaces: pointer.From(item.IncludedNamespaces), | |
IncludedResourceTypes: pointer.From(item.IncludedResourceTypes), | |
LabelSelectors: pointer.From(item.LabelSelectors), | |
SnapshotVolumesEnabled: item.SnapshotVolumes, | |
}) | |
results := make([]BackupDatasourceParameters, 0) | |
if item, ok := input[0].(backupinstances.KubernetesClusterBackupDatasourceParameters); ok { | |
results = append(results, BackupDatasourceParameters{ | |
ExcludedNamespaces: pointer.From(item.ExcludedNamespaces), | |
ExcludedResourceTypes: pointer.From(item.ExcludedResourceTypes), | |
IncludedClusterScopeResourcesEnabled: item.IncludeClusterScopeResources, | |
IncludedNamespaces: pointer.From(item.IncludedNamespaces), | |
IncludedResourceTypes: pointer.From(item.IncludedResourceTypes), | |
LabelSelectors: pointer.From(item.LabelSelectors), | |
SnapshotVolumesEnabled: item.SnapshotVolumes, | |
}) | |
} | |
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.
Fixed.
Hi @ms-zhenhua thanks for your feedback and time. The code has been updated, could you please take another look? |
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.
Thank you for the updates. LGTM~
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.
Thanks for this @sinbai and for the initial review @ms-zhenhua. I left some minor comments around consistency and the documentation. Furthermore I think one of the properties names requires a small tweak. Could you look into those comments?
} | ||
|
||
if err := client.CreateOrUpdateThenPoll(ctx, id, parameters); err != nil { | ||
return fmt.Errorf("creating DataProtection Backup Instance (%q): %+v", id, err) |
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.
return fmt.Errorf("creating DataProtection Backup Instance (%q): %+v", id, err) | |
return fmt.Errorf("creating %s: %+v", id, err) |
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.
Fixed.
|
||
err = client.DeleteThenPoll(ctx, *id) | ||
if err != nil { | ||
return fmt.Errorf("deleting DataProtection Backup Instance (%q): %+v", *id, err) |
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.
return fmt.Errorf("deleting DataProtection Backup Instance (%q): %+v", *id, err) | |
return fmt.Errorf("deleting %s: %+v", *id, err) |
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.
Fixed.
if len(input) == 0 { | ||
return nil | ||
} | ||
|
||
results := make([]BackupDatasourceParameters, 0) |
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.
We need to set an empty value into state instead of nil.
if len(input) == 0 { | |
return nil | |
} | |
results := make([]BackupDatasourceParameters, 0) | |
results := make([]BackupDatasourceParameters, 0) | |
if len(input) == 0 { | |
return &results | |
} |
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.
Fixed.
if response.WasNotFound(resp.HttpResponse) { | ||
return pointer.To(false), nil | ||
} | ||
return nil, fmt.Errorf("retrieving DataProtection Backup Instance (%q): %+v", *id, err) |
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.
return nil, fmt.Errorf("retrieving DataProtection Backup Instance (%q): %+v", *id, err) | |
return nil, fmt.Errorf("retrieving %s: %+v", *id, err) |
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.
Fixed.
} | ||
return nil, fmt.Errorf("retrieving DataProtection Backup Instance (%q): %+v", *id, err) | ||
} | ||
return pointer.To(true), nil |
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.
return pointer.To(true), nil | |
return pointer.To(resp.Model != nil), nil |
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.
Fixed.
layout: "azurerm" | ||
page_title: "Azure Resource Manager: azurerm_data_protection_backup_instance_kubernetes_cluster" | ||
description: |- | ||
Manages a Backup Instance to back up Kubernetes Cluster. |
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.
Manages a Backup Instance to back up Kubernetes Cluster. | |
Manages a Backup Instance to back up a Kubernetes Cluster. |
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.
Fixed.
|
||
# azurerm_data_protection_backup_instance_kubernetes_cluster | ||
|
||
Manages a Backup Instance to back up Kubernetes Cluster. |
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.
Manages a Backup Instance to back up Kubernetes Cluster. | |
Manages a Backup Instance to back up a Kubernetes Cluster. |
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.
Fixed.
} | ||
} | ||
|
||
|
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.
Some unnecessary spacing here
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.
Fixed.
Type: schema.TypeString, | ||
}, | ||
}, | ||
"cluster_scope_resource_enabled": { |
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.
The naming of this property could use some fine-tuning to be more precise. Since it applies cluster wide to multiple resources I think it should be
"cluster_scope_resource_enabled": { | |
"cluster_scoped_resources_enabled": { |
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.
Fixed.
Hi @stephybun thanks for your time and feedback. The code has been updated. Could you please take another look? The test results are as follows. |
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.
Thanks @sinbai LGTM 👍
<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.93.0" to "3.94.0" in file ".terraform.lock.hcl"</p> <details> <summary>3.94.0</summary> <pre>Changelog retrieved from:
	https://github.com/hashicorp/terraform-provider-azurerm/releases/tag/v3.94.0
FEATURES:

* **New Resource**: `azurerm_kubernetes_fleet_update_run` ([#24813](https://github.com/hashicorp/terraform-provider-azurerm/issues/24813))

ENHANCEMENTS:

* dependencies: updating to `v0.20240228.1142829` of `github.com/hashicorp/go-azure-sdk` ([#25081](hashicorp/terraform-provider-azurerm#25081 `servicefabric`: updating to use the transport layer from `hashicorp/go-azure-sdk` rather than `Azure/go-autorest` ([#25002](hashicorp/terraform-provider-azurerm#25002 `springcloud`: updating to API Version `2024-01-01-preview` ([#24937](hashicorp/terraform-provider-azurerm#24937 `securitycenter`: updating to use the transport layer from `hashicorp/go-azure-sdk` rather than `Azure/go-autorest` ([#25081](hashicorp/terraform-provider-azurerm#25081 Data Source: `azurerm_storage_table_entities` - support for `select` ([#24987](hashicorp/terraform-provider-azurerm#24987 Data Source: `azurerm_netapp_volume` - support for the `smb_access_based_enumeration` and `smb_non_browsable` properties ([#24514](hashicorp/terraform-provider-azurerm#24514 `azurerm_cosmosdb_account` - add support for the `minimal_tls_version` property ([#24966](hashicorp/terraform-provider-azurerm#24966 `azurerm_federated_identity_credential` - the federated credentials can now be changed without creating a new resource ([#25003](hashicorp/terraform-provider-azurerm#25003 `azurerm_kubernetes_cluster` - support for the `current_kubernetes_version` property ([#25079](hashicorp/terraform-provider-azurerm#25079 `azurerm_kubernetes_cluster` - private DNS is now allowed for the `web_app_routing` property ([#25038](hashicorp/terraform-provider-azurerm#25038 `azurerm_kubernetes_cluster` - migration between different `outbound_type`s is now allowed ([#25021](hashicorp/terraform-provider-azurerm#25021 `azurerm_mssql_database` - support for the `recovery_point_id` and `restore_long_term_retention_backup_id` properties ([#24904](hashicorp/terraform-provider-azurerm#24904 `azurerm_linux_virtual_machine` - support for the `automatic_upgrade_enabled`, `disk_controller_type`, `os_image_notification`, `treat_failure_as_deployment_failure_enabled`, and `vm_agent_platform_updates_enabled`properties ([#23394](hashicorp/terraform-provider-azurerm#23394 `azurerm_nginx_deployment` - support for the `automatic_upgrade_channel` property ([#24867](hashicorp/terraform-provider-azurerm#24867 `azurerm_netapp_volume` - support for the `smb_access_based_enumeration` and `smb_non_browsable` properties ([#24514](hashicorp/terraform-provider-azurerm#24514 `azurerm_netapp_pool` - support for the `encryption_type` property ([#24993](hashicorp/terraform-provider-azurerm#24993 `azurerm_role_definition` - upgrade to the API version `2022-05-01-preview` ([#25008](hashicorp/terraform-provider-azurerm#25008 `azurerm_redis_cache` - allow AAD auth for all SKUs ([#25006](hashicorp/terraform-provider-azurerm#25006 `azurerm_sql_managed_instance` - support for the `zone_redundant_enabled` property ([#25089](hashicorp/terraform-provider-azurerm#25089 `azurerm_spring_cloud_gateway` - support for the `application_performance_monitoring_ids` property ([#24919](hashicorp/terraform-provider-azurerm#24919 `azurerm_spring_cloud_configuration_service` - support for the `refresh_interval_in_seconds` property ([#25009](hashicorp/terraform-provider-azurerm#25009 `azurerm_synapse_workspace` - support for using the `user_assigned_identity_id` property within the `customer_managed_key` block ([#25027](hashicorp/terraform-provider-azurerm#25027 `azurerm_windows_virtual_machine` - support for the `automatic_upgrade_enabled`, `disk_controller_type`, `os_image_notification`, `treat_failure_as_deployment_failure_enabled`, and `vm_agent_platform_updates_enabled`properties ([#23394](https://github.com/hashicorp/terraform-provider-azurerm/issues/23394))

BUG FIXES:

* `azurerm_api_management_notification_recipient_email` - fixing an issue where response pages weren't iterated over correctly ([#25055](hashicorp/terraform-provider-azurerm#25055 `azurerm_api_management_notification_recipient_user` - fixing an issue where response pages weren't iterated over correctly ([#25055](hashicorp/terraform-provider-azurerm#25055 `azurerm_batch_pool` - fix setting the `extension.settings_json` property ([#24976](hashicorp/terraform-provider-azurerm#24976 `azurerm_key_vault_key` - `expiration_date` can be updated if newer date is ahead ([#25000](hashicorp/terraform-provider-azurerm#25000 `azurerm_pim_active_role_assignment` - fix an isue where the resource would disappear or fail to import after 45 days ([#24524](hashicorp/terraform-provider-azurerm#24524 `azurerm_pim_eligible_role_assignment` - fix an isue where the resource would disappear or fail to import after 45 days ([#24524](hashicorp/terraform-provider-azurerm#24524 `azurerm_recovery_services_vault` - validate that `use_system_assigned_identity` and `user_assigned_identity_id` cannot be set at the same time ([#24091](hashicorp/terraform-provider-azurerm#24091 `azurerm_recovery_vaults` will now create properly with `SystemAssigned,UserAssigned` identity ([#24978](hashicorp/terraform-provider-azurerm#24978 `azurerm_subscription` - fixing an issue where response pages weren't iterated over correctly ([#25055](https://github.com/hashicorp/terraform-provider-azurerm/issues/25055))


</pre> </details> <details> <summary>3.95.0</summary> <pre>Changelog retrieved from:
	https://github.com/hashicorp/terraform-provider-azurerm/releases/tag/v3.95.0
FEATURES:

* New Resource: `azurerm_container_app_custom_domain` ([#24421](hashicorp/terraform-provider-azurerm#24421 New Resource: `azurerm_data_protection_backup_instance_kubernetes_cluster` ([#24940](hashicorp/terraform-provider-azurerm#24940 New Resource: `azurerm_static_web_app` ([#25117](hashicorp/terraform-provider-azurerm#25117 New resource: `azurerm_static_web_app_custom_domain` ([#25117](hashicorp/terraform-provider-azurerm#25117 New resource: `azurerm_system_center_virtual_machine_manager_availability_set` ([#24975](hashicorp/terraform-provider-azurerm#24975 New Resource: `azurerm_workloads_sap_three_tier_virtual_instance` ([#24384](hashicorp/terraform-provider-azurerm#24384 New Resource: `azurerm_workloads_sap_single_node_virtual_instance` ([#24331](https://github.com/hashicorp/terraform-provider-azurerm/issues/24331))

ENHANCEMENTS:

* `dependencies`: updating to v0.20240229.1102109 of `github.com/hashicorp/go-azure-sdk` ([#25102](hashicorp/terraform-provider-azurerm#25102 `monitor`: updating to use the transport layer from `hashicorp/go-azure-sdk` rather than `Azure/go-autorest` [GH-#25102]
* `network`: updating to API Version `2023-09-01` ([#25095](hashicorp/terraform-provider-azurerm#25095 `azurerm_data_factory_integration_runtime_managed` - support for the `credential_name` property ([#25033](hashicorp/terraform-provider-azurerm#25033 `azurerm_linux_function_app` - support for the `description` property in the `ip_restriction` block ([#24527](hashicorp/terraform-provider-azurerm#24527 `azurerm_linux_function_app` - support for the `ip_restriction_default_action` and `scm_ip_restriction_default_action` properties ([#25131](hashicorp/terraform-provider-azurerm#25131 `azurerm_linux_function_app_slot` - support for the `description` property in the `ip_restriction` block ([#24527](hashicorp/terraform-provider-azurerm#24527 `azurerm_linux_function_app_slot` - support for the `ip_restriction_default_action` and `scm_ip_restriction_default_action` properties ([#25131](hashicorp/terraform-provider-azurerm#25131 `azurerm_linux_web_app` - support for the `description` property in the `ip_restriction` block ([#24527](hashicorp/terraform-provider-azurerm#24527 `azurerm_linux_web_app` - support for the `ip_restriction_default_action` and `scm_ip_restriction_default_action` properties ([#25131](hashicorp/terraform-provider-azurerm#25131 `azurerm_linux_web_app_slot` - support for the `description` property in the `ip_restriction` block ([#24527](hashicorp/terraform-provider-azurerm#24527 `azurerm_linux_web_app_slot` - support for the `ip_restriction_default_action` and `scm_ip_restriction_default_action` properties ([#25131](hashicorp/terraform-provider-azurerm#25131 `azurerm_mysql_flexible_server` - setting the `storage.size_gb` property to a smaller value now forces a new resource to be created ([#25074](hashicorp/terraform-provider-azurerm#25074 `azurerm_orbital_contact_profile` - changing the `channels` property no longer creates a new resource ([#25129](hashicorp/terraform-provider-azurerm#25129 `azurerm_private_dns_resolver_inbound_endpoint` - the `private_ip_address` property is no longer required when `private_ip_allocation_method` is `Dynamic` ([#25035](hashicorp/terraform-provider-azurerm#25035 `stream_analytics_output_blob` - support for the `blob_write_mode` property ([#25127](hashicorp/terraform-provider-azurerm#25127 `azurerm_windows_function_app` - support for the `description` property in the `ip_restriction` block ([#24527](hashicorp/terraform-provider-azurerm#24527 `azurerm_windows_function_app` - support for the `ip_restriction_default_action` and `scm_ip_restriction_default_action` properties ([#25131](hashicorp/terraform-provider-azurerm#25131 `azurerm_windows_function_app_slot` - support for the `description` property in the `ip_restriction` block ([#24527](hashicorp/terraform-provider-azurerm#24527 `azurerm_windows_function_app_slot` - support for the `ip_restriction_default_action` and `scm_ip_restriction_default_action` properties ([#25131](hashicorp/terraform-provider-azurerm#25131 `azurerm_windows_web_app` - support for the `description` property in the `ip_restriction` block ([#24527](hashicorp/terraform-provider-azurerm#24527 `azurerm_windows_web_app` - support for the `ip_restriction_default_action` and `scm_ip_restriction_default_action` properties ([#25131](hashicorp/terraform-provider-azurerm#25131 `azurerm_windows_web_app_slot` - support for the `description` property in the `ip_restriction` block ([#24527](hashicorp/terraform-provider-azurerm#24527 `azurerm_windows_web_app_slot` - support for the `ip_restriction_default_action` and `scm_ip_restriction_default_action` properties ([#25131](https://github.com/hashicorp/terraform-provider-azurerm/issues/25131))

BUG FIXES:

* Data Source: `azurerm_function_app_host_keys` - correctly set `event_grid_extension_key` by searching for the renamed property in the API response ([#25108](hashicorp/terraform-provider-azurerm#25108 `azurerm_app_service_public_certificate` - fix issue where certificate information was not being set correctly in the read ([#24943](hashicorp/terraform-provider-azurerm#24943 `azurerm_container_registry` - prevent recreation of the resource when the `georeplication.tags` are updated ([#24994](hashicorp/terraform-provider-azurerm#24994 `azurerm_firewall_policy_rule_collection_group` - fix issue where the client subscription ID was used to construct the `firewall_policy_id` ([#25145](hashicorp/terraform-provider-azurerm#25145 `azurerm_function_app_hybrid_connection` - fix issue where `SendKeyValue` was not populated in the API payload ([#23761](hashicorp/terraform-provider-azurerm#23761 `azurerm_orbital_contact_profile` - fix creation of the resource when `event_hub_uri` is not specified ([#25128](hashicorp/terraform-provider-azurerm#25128 `azurerm_recovery_services_vault` - prevent a panic when `immutability` is updated ([#25132](hashicorp/terraform-provider-azurerm#25132 `azurerm_storage_account` - fix issue where the queue encryption key type was set as the table encryption key type ([#25046](hashicorp/terraform-provider-azurerm#25046 `azurerm_web_app_hybrid_connection` - fix issue where `SendKeyValue` was not populated in the API payload ([#23761](hashicorp/terraform-provider-azurerm#23761 `azurerm_mssql_database` - fix incorrect error due to typo when using `restore_long_term_retention_backup_id` ([#25180](https://github.com/hashicorp/terraform-provider-azurerm/issues/25180))

DEPRECATIONS:

* Deprecated Resource: `azurerm_static_site` ([#25117](hashicorp/terraform-provider-azurerm#25117 Deprecated Resource: `azurerm_static_site_custom_domain` ([#25117](hashicorp/terraform-provider-azurerm#25117 `azurerm_kubernetes_fleet_manager` - the `hub_profile` property has been deprecated ([#25010](https://github.com/hashicorp/terraform-provider-azurerm/issues/25010))


</pre> </details> </details> <a href="https://infra.ci.jenkins.io/job/updatecli/job/azure/job/main/40/">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]>
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. |
Swagger: https://github.com/Azure/azure-rest-api-specs/blob/0992c514ead2df4c23273491cb12e70572d41264/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-05-01/dataprotection.json#L1069
Doc: https://learn.microsoft.com/en-us/azure/backup/azure-kubernetes-service-cluster-backup
Test Results: