diff --git a/.changelog/2875.txt b/.changelog/2875.txt new file mode 100644 index 0000000000..66188d0421 --- /dev/null +++ b/.changelog/2875.txt @@ -0,0 +1,3 @@ +```release-note:enhancement +resource/tencentcloud_as_scaling_config: Supports `enhanced_automation_tools_service` params. +``` \ No newline at end of file diff --git a/tencentcloud/services/as/resource_tc_as_scaling_config.go b/tencentcloud/services/as/resource_tc_as_scaling_config.go index b32eeed7e1..8e684aeabc 100644 --- a/tencentcloud/services/as/resource_tc_as_scaling_config.go +++ b/tencentcloud/services/as/resource_tc_as_scaling_config.go @@ -193,6 +193,12 @@ func ResourceTencentCloudAsScalingConfig() *schema.Resource { Default: true, Description: "To specify whether to enable cloud monitor service. Default is `TRUE`.", }, + "enhanced_automation_tools_service": { + Type: schema.TypeBool, + Optional: true, + Default: true, + Description: "To specify whether to enable cloud automation tools service. Default is `TRUE`.", + }, "user_data": { Type: schema.TypeString, Optional: true, @@ -383,6 +389,12 @@ func resourceTencentCloudAsScalingConfigCreate(d *schema.ResourceData, meta inte Enabled: &monitorService, } } + if v, ok := d.GetOkExists("enhanced_automation_tools_service"); ok { + automationToolsService := v.(bool) + request.EnhancedService.AutomationToolsService = &as.RunAutomationServiceEnabled{ + Enabled: &automationToolsService, + } + } if v, ok := d.GetOk("user_data"); ok { request.UserData = helper.String(v.(string)) @@ -532,6 +544,7 @@ func resourceTencentCloudAsScalingConfigRead(d *schema.ResourceData, meta interf _ = d.Set("security_group_ids", helper.StringsInterfaces(config.SecurityGroupIds)) _ = d.Set("enhanced_security_service", *config.EnhancedService.SecurityService.Enabled) _ = d.Set("enhanced_monitor_service", *config.EnhancedService.MonitorService.Enabled) + _ = d.Set("enhanced_automation_tools_service", *config.EnhancedService.AutomationToolsService.Enabled) _ = d.Set("user_data", helper.PString(config.UserData)) _ = d.Set("instance_tags", flattenInstanceTagsMapping(config.InstanceTags)) _ = d.Set("disk_type_policy", *config.DiskTypePolicy) @@ -687,7 +700,7 @@ func resourceTencentCloudAsScalingConfigUpdate(d *schema.ResourceData, meta inte } } - if d.HasChange("enhanced_security_service") || d.HasChange("enhanced_monitor_service") { + if d.HasChange("enhanced_security_service") || d.HasChange("enhanced_monitor_service") || d.HasChange("enhanced_automation_tools_service") { request.EnhancedService = &as.EnhancedService{} if v, ok := d.GetOkExists("enhanced_security_service"); ok { @@ -702,6 +715,12 @@ func resourceTencentCloudAsScalingConfigUpdate(d *schema.ResourceData, meta inte Enabled: &monitorService, } } + if v, ok := d.GetOkExists("enhanced_automation_tools_service"); ok { + automationToolsService := v.(bool) + request.EnhancedService.AutomationToolsService = &as.RunAutomationServiceEnabled{ + Enabled: &automationToolsService, + } + } } if d.HasChange("user_data") { diff --git a/tencentcloud/services/as/resource_tc_as_scaling_config.md b/tencentcloud/services/as/resource_tc_as_scaling_config.md index 7d684f799c..6302075e5d 100644 --- a/tencentcloud/services/as/resource_tc_as_scaling_config.md +++ b/tencentcloud/services/as/resource_tc_as_scaling_config.md @@ -23,17 +23,18 @@ resource "tencentcloud_as_scaling_config" "example" { disk_size = 50 } - internet_charge_type = "TRAFFIC_POSTPAID_BY_HOUR" - internet_max_bandwidth_out = 10 - public_ip_assigned = true - password = "Test@123#" - enhanced_security_service = false - enhanced_monitor_service = false - user_data = "dGVzdA==" + internet_charge_type = "TRAFFIC_POSTPAID_BY_HOUR" + internet_max_bandwidth_out = 10 + public_ip_assigned = true + password = "Test@123#" + enhanced_security_service = false + enhanced_monitor_service = false + enhanced_automation_tools_service = false + user_data = "dGVzdA==" host_name_settings { - host_name = "host-name-test" - host_name_style = "UNIQUE" + host_name = "host-name-test" + host_name_style = "UNIQUE" } instance_tags = { @@ -44,7 +45,7 @@ resource "tencentcloud_as_scaling_config" "example" { Using `SPOTPAID` charge type -``` +```hcl data "tencentcloud_images" "example" { image_type = ["PUBLIC_IMAGE"] os_name = "TencentOS Server 3.2 (Final)" @@ -62,13 +63,14 @@ resource "tencentcloud_as_scaling_config" "example" { Using image family -``` +```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 + 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 instance_tags = {} instance_types = [ "S5.SMALL2", diff --git a/website/docs/r/as_scaling_config.html.markdown b/website/docs/r/as_scaling_config.html.markdown index bf0b652202..cd12043d6f 100644 --- a/website/docs/r/as_scaling_config.html.markdown +++ b/website/docs/r/as_scaling_config.html.markdown @@ -34,13 +34,14 @@ resource "tencentcloud_as_scaling_config" "example" { disk_size = 50 } - internet_charge_type = "TRAFFIC_POSTPAID_BY_HOUR" - internet_max_bandwidth_out = 10 - public_ip_assigned = true - password = "Test@123#" - enhanced_security_service = false - enhanced_monitor_service = false - user_data = "dGVzdA==" + internet_charge_type = "TRAFFIC_POSTPAID_BY_HOUR" + internet_max_bandwidth_out = 10 + public_ip_assigned = true + password = "Test@123#" + enhanced_security_service = false + enhanced_monitor_service = false + enhanced_automation_tools_service = false + user_data = "dGVzdA==" host_name_settings { host_name = "host-name-test" @@ -75,12 +76,13 @@ resource "tencentcloud_as_scaling_config" "example" { ```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 - instance_tags = {} + 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 + instance_tags = {} instance_types = [ "S5.SMALL2", ] @@ -106,6 +108,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. * `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. Default is `TRUE`. * `enhanced_monitor_service` - (Optional, Bool) To specify whether to enable cloud monitor service. Default is `TRUE`. * `enhanced_security_service` - (Optional, Bool) To specify whether to enable cloud security service. Default is `TRUE`. * `host_name_settings` - (Optional, List) Related settings of the cloud server hostname (HostName).