diff --git a/.changelog/3147.txt b/.changelog/3147.txt new file mode 100644 index 0000000000..39e3b4b52a --- /dev/null +++ b/.changelog/3147.txt @@ -0,0 +1,3 @@ +```release-note:enhancement +resource/tencentcloud_as_scaling_config: add `disaster_recover_group_ids` +``` diff --git a/tencentcloud/services/as/resource_tc_as_scaling_config.go b/tencentcloud/services/as/resource_tc_as_scaling_config.go index 3ab0701999..0149d44ff0 100644 --- a/tencentcloud/services/as/resource_tc_as_scaling_config.go +++ b/tencentcloud/services/as/resource_tc_as_scaling_config.go @@ -262,6 +262,17 @@ func ResourceTencentCloudAsScalingConfig() *schema.Resource { }, }, }, + + "disaster_recover_group_ids": { + Type: schema.TypeList, + Optional: true, + Computed: true, + Description: "Placement group ID. Only one is allowed.", + Elem: &schema.Schema{ + Type: schema.TypeString, + }, + }, + "dedicated_cluster_id": { Type: schema.TypeString, Optional: true, @@ -490,6 +501,15 @@ func resourceTencentCloudAsScalingConfigCreate(d *schema.ResourceData, meta inte request.InstanceNameSettings = settings[0] } + if v, ok := d.GetOk("disaster_recover_group_ids"); ok { + disasterRecoverGroupIds := v.([]interface{}) + request.DisasterRecoverGroupIds = make([]*string, 0, len(disasterRecoverGroupIds)) + for i := range disasterRecoverGroupIds { + subnetId := disasterRecoverGroupIds[i].(string) + request.DisasterRecoverGroupIds = append(request.DisasterRecoverGroupIds, &subnetId) + } + } + if v, ok := d.GetOk("dedicated_cluster_id"); ok { request.DedicatedClusterId = helper.String(v.(string)) } @@ -608,6 +628,10 @@ func resourceTencentCloudAsScalingConfigRead(d *schema.ResourceData, meta interf _ = d.Set("instance_charge_type_prepaid_renew_flag", config.InstanceChargePrepaid.RenewFlag) } + if len(config.DisasterRecoverGroupIds) > 0 { + _ = d.Set("disaster_recover_group_ids", helper.StringsInterfaces(config.DisasterRecoverGroupIds)) + } + if config.DedicatedClusterId != nil { _ = d.Set("dedicated_cluster_id", config.DedicatedClusterId) } @@ -869,6 +893,17 @@ func resourceTencentCloudAsScalingConfigUpdate(d *schema.ResourceData, meta inte } } + if d.HasChange("disaster_recover_group_ids") { + if v, ok := d.GetOk("disaster_recover_group_ids"); ok { + disasterRecoverGroupIds := v.([]interface{}) + request.DisasterRecoverGroupIds = make([]*string, 0, len(disasterRecoverGroupIds)) + for i := range disasterRecoverGroupIds { + subnetId := disasterRecoverGroupIds[i].(string) + request.DisasterRecoverGroupIds = append(request.DisasterRecoverGroupIds, &subnetId) + } + } + } + if d.HasChange("dedicated_cluster_id") { if v, ok := d.GetOk("dedicated_cluster_id"); ok { request.DedicatedClusterId = helper.String(v.(string)) diff --git a/tencentcloud/services/as/resource_tc_as_scaling_config.md b/tencentcloud/services/as/resource_tc_as_scaling_config.md index 13d461f5f5..6c79ff809c 100644 --- a/tencentcloud/services/as/resource_tc_as_scaling_config.md +++ b/tencentcloud/services/as/resource_tc_as_scaling_config.md @@ -90,6 +90,35 @@ resource "tencentcloud_as_scaling_config" "example" { } ``` +Using DisasterRecoverGroupIds + +```hcl +resource "tencentcloud_as_scaling_config" "example" { + image_family = "business-daily-update" + configuration_name = "as-test-config" + disk_type_policy = "ORIGINAL" + enhanced_monitor_service = false + enhanced_security_service = false + enhanced_automation_tools_service = false + disaster_recover_group_ids = ["ps-e2u4ew"] + instance_tags = {} + instance_types = [ + "S5.SMALL2", + ] + internet_charge_type = "TRAFFIC_POSTPAID_BY_HOUR" + internet_max_bandwidth_out = 0 + key_ids = [] + project_id = 0 + public_ip_assigned = false + security_group_ids = [ + "sg-5275dorp", + ] + system_disk_size = 50 + system_disk_type = "CLOUD_BSSD" +} + +``` + Create a CDC configuration ```hcl diff --git a/website/docs/r/as_scaling_config.html.markdown b/website/docs/r/as_scaling_config.html.markdown index 8f742b26ba..a34256cce3 100644 --- a/website/docs/r/as_scaling_config.html.markdown +++ b/website/docs/r/as_scaling_config.html.markdown @@ -101,6 +101,34 @@ resource "tencentcloud_as_scaling_config" "example" { } ``` +### Using DisasterRecoverGroupIds + +```hcl +resource "tencentcloud_as_scaling_config" "example" { + image_family = "business-daily-update" + configuration_name = "as-test-config" + disk_type_policy = "ORIGINAL" + enhanced_monitor_service = false + enhanced_security_service = false + enhanced_automation_tools_service = false + disaster_recover_group_ids = ["ps-e2u4ew"] + instance_tags = {} + instance_types = [ + "S5.SMALL2", + ] + internet_charge_type = "TRAFFIC_POSTPAID_BY_HOUR" + internet_max_bandwidth_out = 0 + key_ids = [] + project_id = 0 + public_ip_assigned = false + security_group_ids = [ + "sg-5275dorp", + ] + system_disk_size = 50 + system_disk_type = "CLOUD_BSSD" +} +``` + ### Create a CDC configuration ```hcl @@ -153,6 +181,7 @@ The following arguments are supported: * `cam_role_name` - (Optional, String) CAM role name authorized to access. * `data_disk` - (Optional, List) Configurations of data disk. * `dedicated_cluster_id` - (Optional, String) Dedicated Cluster ID. +* `disaster_recover_group_ids` - (Optional, List: [`String`]) Placement group ID. Only one is allowed. * `disk_type_policy` - (Optional, String) Policy of cloud disk type. Valid values: `ORIGINAL` and `AUTOMATIC`. Default is `ORIGINAL`. * `enhanced_automation_tools_service` - (Optional, Bool) To specify whether to enable cloud automation tools service. * `enhanced_monitor_service` - (Optional, Bool) To specify whether to enable cloud monitor service. Default is `TRUE`.