Skip to content

feat(as): [122013764] add disaster_recover_group_ids #3147

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

Merged
merged 2 commits into from
Feb 24, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .changelog/3147.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
```release-note:enhancement
resource/tencentcloud_as_scaling_config: add `disaster_recover_group_ids`
```
35 changes: 35 additions & 0 deletions tencentcloud/services/as/resource_tc_as_scaling_config.go
Original file line number Diff line number Diff line change
Expand Up @@ -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,
Expand Down Expand Up @@ -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))
}
Expand Down Expand Up @@ -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)
}
Expand Down Expand Up @@ -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))
Expand Down
29 changes: 29 additions & 0 deletions tencentcloud/services/as/resource_tc_as_scaling_config.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
29 changes: 29 additions & 0 deletions website/docs/r/as_scaling_config.html.markdown
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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`.
Expand Down
Loading