Skip to content

Commit 5ff921e

Browse files
authored
Merge branch 'master' into master
2 parents de5053c + 4282d86 commit 5ff921e

35 files changed

+816
-510
lines changed

CHANGELOG.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,15 @@ FEATURES:
66
* **New Data Source**: `tencentcloud_reserved_instances`
77
* **New Resource**: `tencentcloud_reserved_instance`
88

9+
ENHANCEMENTS:
10+
11+
* Resource: `tencentcloud_gaap_http_domain` support import
12+
* Resource: `tencentcloud_gaap_layer7_listener` support import
13+
14+
BUG FIXES:
15+
16+
* Resource: `tencentcloud_gaap_http_domain` fix sometimes can't enable realserver auth
17+
918
## 1.20.1 (October 08, 2019)
1019

1120
ENHANCEMENTS:

tencentcloud/data_source_tc_gaap_layer7_listeners.go

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -144,7 +144,10 @@ func dataSourceTencentCloudGaapLayer7ListenersRead(d *schema.ResourceData, m int
144144
ctx := context.WithValue(context.TODO(), "logId", logId)
145145

146146
protocol := d.Get("protocol").(string)
147-
proxyId := d.Get("proxy_id").(string)
147+
var proxyId *string
148+
if raw, ok := d.GetOk("proxy_id"); ok {
149+
proxyId = stringToPointer(raw.(string))
150+
}
148151

149152
var (
150153
listenerId *string
@@ -168,7 +171,7 @@ func dataSourceTencentCloudGaapLayer7ListenersRead(d *schema.ResourceData, m int
168171

169172
switch protocol {
170173
case "HTTP":
171-
httpListeners, err := service.DescribeHTTPListeners(ctx, &proxyId, listenerId, name, port)
174+
httpListeners, err := service.DescribeHTTPListeners(ctx, proxyId, listenerId, name, port)
172175
if err != nil {
173176
return err
174177
}
@@ -206,7 +209,7 @@ func dataSourceTencentCloudGaapLayer7ListenersRead(d *schema.ResourceData, m int
206209
}
207210

208211
case "HTTPS":
209-
httpsListeners, err := service.DescribeHTTPSListeners(ctx, &proxyId, listenerId, name, port)
212+
httpsListeners, err := service.DescribeHTTPSListeners(ctx, proxyId, listenerId, name, port)
210213
if err != nil {
211214
return err
212215
}

tencentcloud/extension_as.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -129,6 +129,7 @@ const (
129129
SCALING_GROUP_ACTIVITY_STATUS_CANCELLED = "CANCELLED"
130130
)
131131

132+
const AsScheduleNotFound = "ResourceNotFound.ScheduledActionNotFound"
132133
const (
133134
SCALING_GROUP_IN_ACTIVITY_STATUS = "IN_ACTIVITY"
134135
SCALING_GROUP_NOT_IN_ACTIVITY_STATUS = "NOT_IN_ACTIVITY"

tencentcloud/extension_redis.go

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -98,3 +98,6 @@ const (
9898
REDIS_TASK_FAILED = "failed"
9999
REDIS_TASK_ERROR = "error"
100100
)
101+
102+
//sdk redis not found error
103+
const RedisInstanceNotFound = "ResourceNotFound.InstanceNotExists"

tencentcloud/resource_tc_as_attachment.go

Lines changed: 20 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ package tencentcloud
1515
import (
1616
"context"
1717

18+
"github.com/hashicorp/terraform/helper/resource"
1819
"github.com/hashicorp/terraform/helper/schema"
1920
)
2021

@@ -73,12 +74,17 @@ func resourceTencentCloudAsAttachmentRead(d *schema.ResourceData, meta interface
7374
asService := AsService{
7475
client: meta.(*TencentCloudClient).apiV3Conn,
7576
}
76-
instanceIds, err := asService.DescribeAutoScalingAttachment(ctx, scalingGroupId)
77+
err := resource.Retry(readRetryTimeout, func() *resource.RetryError {
78+
instanceIds, e := asService.DescribeAutoScalingAttachment(ctx, scalingGroupId)
79+
if e != nil {
80+
return retryError(e)
81+
}
82+
d.Set("instance_ids", instanceIds)
83+
return nil
84+
})
7785
if err != nil {
7886
return err
7987
}
80-
d.Set("instance_ids", instanceIds)
81-
8288
return nil
8389
}
8490

@@ -126,7 +132,17 @@ func resourceTencentCloudAsAttachmentDelete(d *schema.ResourceData, meta interfa
126132
asService := AsService{
127133
client: meta.(*TencentCloudClient).apiV3Conn,
128134
}
129-
instanceIds, err := asService.DescribeAutoScalingAttachment(ctx, scalingGroupId)
135+
var (
136+
instanceIds []string
137+
e error
138+
)
139+
err := resource.Retry(readRetryTimeout, func() *resource.RetryError {
140+
instanceIds, e = asService.DescribeAutoScalingAttachment(ctx, scalingGroupId)
141+
if e != nil {
142+
return retryError(e)
143+
}
144+
return nil
145+
})
130146
if err != nil {
131147
return err
132148
}
@@ -135,6 +151,5 @@ func resourceTencentCloudAsAttachmentDelete(d *schema.ResourceData, meta interfa
135151
if err != nil {
136152
return err
137153
}
138-
139154
return nil
140155
}

tencentcloud/resource_tc_as_lifecycle_hook.go

Lines changed: 33 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ import (
2323
"fmt"
2424
"log"
2525

26+
"github.com/hashicorp/terraform/helper/resource"
2627
"github.com/hashicorp/terraform/helper/schema"
2728
as "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/as/v20180419"
2829
)
@@ -157,33 +158,41 @@ func resourceTencentCloudAsLifecycleHookRead(d *schema.ResourceData, meta interf
157158
asService := AsService{
158159
client: meta.(*TencentCloudClient).apiV3Conn,
159160
}
160-
lifecycleHook, err := asService.DescribeLifecycleHookById(ctx, lifecycleHookId)
161-
if err != nil {
162-
return err
163-
}
164-
165-
d.Set("scaling_group_id", *lifecycleHook.AutoScalingGroupId)
166-
d.Set("lifecycle_hook_name", *lifecycleHook.LifecycleHookName)
167-
d.Set("lifecycle_transition", *lifecycleHook.LifecycleTransition)
168-
if lifecycleHook.DefaultResult != nil {
169-
d.Set("default_result", *lifecycleHook.DefaultResult)
170-
}
171-
if lifecycleHook.HeartbeatTimeout != nil {
172-
d.Set("heartbeat_timeout", *lifecycleHook.HeartbeatTimeout)
173-
}
174-
if lifecycleHook.NotificationMetadata != nil {
175-
d.Set("notification_metadata", *lifecycleHook.NotificationMetadata)
176-
}
177-
if lifecycleHook.NotificationTarget != nil {
178-
d.Set("notification_target_type", *lifecycleHook.NotificationTarget.TargetType)
179-
if lifecycleHook.NotificationTarget.QueueName != nil {
180-
d.Set("notification_queue_name", *lifecycleHook.NotificationTarget.QueueName)
161+
err := resource.Retry(readRetryTimeout, func() *resource.RetryError {
162+
lifecycleHook, has, e := asService.DescribeLifecycleHookById(ctx, lifecycleHookId)
163+
if e != nil {
164+
return retryError(e)
165+
}
166+
if has == 0 {
167+
d.SetId("")
168+
return nil
181169
}
182-
if lifecycleHook.NotificationTarget.TopicName != nil {
183-
d.Set("notification_topic_name", *lifecycleHook.NotificationTarget.TopicName)
170+
d.Set("scaling_group_id", *lifecycleHook.AutoScalingGroupId)
171+
d.Set("lifecycle_hook_name", *lifecycleHook.LifecycleHookName)
172+
d.Set("lifecycle_transition", *lifecycleHook.LifecycleTransition)
173+
if lifecycleHook.DefaultResult != nil {
174+
d.Set("default_result", *lifecycleHook.DefaultResult)
184175
}
176+
if lifecycleHook.HeartbeatTimeout != nil {
177+
d.Set("heartbeat_timeout", *lifecycleHook.HeartbeatTimeout)
178+
}
179+
if lifecycleHook.NotificationMetadata != nil {
180+
d.Set("notification_metadata", *lifecycleHook.NotificationMetadata)
181+
}
182+
if lifecycleHook.NotificationTarget != nil {
183+
d.Set("notification_target_type", *lifecycleHook.NotificationTarget.TargetType)
184+
if lifecycleHook.NotificationTarget.QueueName != nil {
185+
d.Set("notification_queue_name", *lifecycleHook.NotificationTarget.QueueName)
186+
}
187+
if lifecycleHook.NotificationTarget.TopicName != nil {
188+
d.Set("notification_topic_name", *lifecycleHook.NotificationTarget.TopicName)
189+
}
190+
}
191+
return nil
192+
})
193+
if err != nil {
194+
return err
185195
}
186-
187196
return nil
188197
}
189198

tencentcloud/resource_tc_as_lifecycle_hook_test.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ func testAccCheckAsLifecycleHookExists(n string) resource.TestCheckFunc {
5757
return fmt.Errorf("auto scaling lifecycle hook id is not set")
5858
}
5959
asService := AsService{client: testAccProvider.Meta().(*TencentCloudClient).apiV3Conn}
60-
_, err := asService.DescribeLifecycleHookById(ctx, rs.Primary.ID)
60+
_, _, err := asService.DescribeLifecycleHookById(ctx, rs.Primary.ID)
6161
if err != nil {
6262
return err
6363
}
@@ -77,7 +77,7 @@ func testAccCheckAsLifecycleHookDestroy(s *terraform.State) error {
7777
continue
7878
}
7979

80-
_, err := asService.DescribeLifecycleHookById(ctx, rs.Primary.ID)
80+
_, _, err := asService.DescribeLifecycleHookById(ctx, rs.Primary.ID)
8181
if err == nil {
8282
return fmt.Errorf("auto scaling lifecycle hook still exists: %s", rs.Primary.ID)
8383
}

tencentcloud/resource_tc_as_notification.go

Lines changed: 15 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ import (
1818
"fmt"
1919
"log"
2020

21+
"github.com/hashicorp/terraform/helper/resource"
2122
"github.com/hashicorp/terraform/helper/schema"
2223
as "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/as/v20180419"
2324
)
@@ -102,15 +103,23 @@ func resourceTencentCloudAsNotificationRead(d *schema.ResourceData, meta interfa
102103
asService := AsService{
103104
client: meta.(*TencentCloudClient).apiV3Conn,
104105
}
105-
notification, err := asService.DescribeNotificationById(ctx, notificationId)
106+
err := resource.Retry(readRetryTimeout, func() *resource.RetryError {
107+
notification, has, e := asService.DescribeNotificationById(ctx, notificationId)
108+
if e != nil {
109+
return retryError(e)
110+
}
111+
if has == 0 {
112+
d.SetId("")
113+
return nil
114+
}
115+
d.Set("scaling_group_id", *notification.AutoScalingGroupId)
116+
d.Set("notification_type", flattenStringList(notification.NotificationTypes))
117+
d.Set("notification_user_group_ids", flattenStringList(notification.NotificationUserGroupIds))
118+
return nil
119+
})
106120
if err != nil {
107121
return err
108122
}
109-
110-
d.Set("scaling_group_id", *notification.AutoScalingGroupId)
111-
d.Set("notification_type", flattenStringList(notification.NotificationTypes))
112-
d.Set("notification_user_group_ids", flattenStringList(notification.NotificationUserGroupIds))
113-
114123
return nil
115124
}
116125

tencentcloud/resource_tc_as_scaling_config.go

Lines changed: 30 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ resource "tencentcloud_as_scaling_config" "launch_configuration" {
1212
system_disk_type = "CLOUD_PREMIUM"
1313
system_disk_size = "50"
1414
15-
data_disk = {
15+
data_disk {
1616
disk_type = "CLOUD_PREMIUM"
1717
disk_size = 50
1818
}
@@ -46,6 +46,7 @@ import (
4646
"fmt"
4747
"log"
4848

49+
"github.com/hashicorp/terraform/helper/resource"
4950
"github.com/hashicorp/terraform/helper/schema"
5051
as "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/as/v20180419"
5152
)
@@ -369,29 +370,37 @@ func resourceTencentCloudAsScalingConfigRead(d *schema.ResourceData, meta interf
369370
asService := AsService{
370371
client: meta.(*TencentCloudClient).apiV3Conn,
371372
}
372-
config, err := asService.DescribeLaunchConfigurationById(ctx, configurationId)
373+
err := resource.Retry(readRetryTimeout, func() *resource.RetryError {
374+
config, has, e := asService.DescribeLaunchConfigurationById(ctx, configurationId)
375+
if e != nil {
376+
return retryError(e)
377+
}
378+
if has == 0 {
379+
d.SetId("")
380+
return nil
381+
}
382+
d.Set("configuration_name", *config.LaunchConfigurationName)
383+
d.Set("status", *config.LaunchConfigurationStatus)
384+
d.Set("image_id", *config.ImageId)
385+
d.Set("project_id", *config.ProjectId)
386+
d.Set("instance_types", flattenStringList(config.InstanceTypes))
387+
d.Set("system_disk_type", *config.SystemDisk.DiskType)
388+
d.Set("system_disk_size", *config.SystemDisk.DiskSize)
389+
d.Set("data_disk", flattenDataDiskMappings(config.DataDisks))
390+
d.Set("internet_charge_type", *config.InternetAccessible.InternetChargeType)
391+
d.Set("internet_max_bandwidth_out", *config.InternetAccessible.InternetMaxBandwidthOut)
392+
d.Set("public_ip_assigned", *config.InternetAccessible.PublicIpAssigned)
393+
d.Set("login_settings.key_ids", flattenStringList(config.LoginSettings.KeyIds))
394+
d.Set("security_group_ids", flattenStringList(config.SecurityGroupIds))
395+
d.Set("enhanced_security_service", *config.EnhancedService.SecurityService.Enabled)
396+
d.Set("enhanced_monitor_service", *config.EnhancedService.MonitorService.Enabled)
397+
d.Set("user_data", pointerToString(config.UserData))
398+
d.Set("instance_tags", flattenInstanceTagsMapping(config.InstanceTags))
399+
return nil
400+
})
373401
if err != nil {
374402
return err
375403
}
376-
377-
d.Set("configuration_name", *config.LaunchConfigurationName)
378-
d.Set("status", *config.LaunchConfigurationStatus)
379-
d.Set("image_id", *config.ImageId)
380-
d.Set("project_id", *config.ProjectId)
381-
d.Set("instance_types", flattenStringList(config.InstanceTypes))
382-
d.Set("system_disk_type", *config.SystemDisk.DiskType)
383-
d.Set("system_disk_size", *config.SystemDisk.DiskSize)
384-
d.Set("data_disk", flattenDataDiskMappings(config.DataDisks))
385-
d.Set("internet_charge_type", *config.InternetAccessible.InternetChargeType)
386-
d.Set("internet_max_bandwidth_out", *config.InternetAccessible.InternetMaxBandwidthOut)
387-
d.Set("public_ip_assigned", *config.InternetAccessible.PublicIpAssigned)
388-
d.Set("login_settings.key_ids", flattenStringList(config.LoginSettings.KeyIds))
389-
d.Set("security_group_ids", flattenStringList(config.SecurityGroupIds))
390-
d.Set("enhanced_security_service", *config.EnhancedService.SecurityService.Enabled)
391-
d.Set("enhanced_monitor_service", *config.EnhancedService.MonitorService.Enabled)
392-
d.Set("user_data", pointerToString(config.UserData))
393-
d.Set("instance_tags", flattenInstanceTagsMapping(config.InstanceTags))
394-
395404
return nil
396405
}
397406

tencentcloud/resource_tc_as_scaling_config_test.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,7 @@ func testAccCheckAsScalingConfigExists(n string) resource.TestCheckFunc {
103103
return fmt.Errorf("auto scaling configuration id is not set")
104104
}
105105
asService := AsService{client: testAccProvider.Meta().(*TencentCloudClient).apiV3Conn}
106-
_, err := asService.DescribeLaunchConfigurationById(ctx, rs.Primary.ID)
106+
_, _, err := asService.DescribeLaunchConfigurationById(ctx, rs.Primary.ID)
107107
if err != nil {
108108
return err
109109
}
@@ -123,7 +123,7 @@ func testAccCheckAsScalingConfigDestroy(s *terraform.State) error {
123123
continue
124124
}
125125

126-
_, err := asService.DescribeLaunchConfigurationById(ctx, rs.Primary.ID)
126+
_, _, err := asService.DescribeLaunchConfigurationById(ctx, rs.Primary.ID)
127127
if err == nil {
128128
return fmt.Errorf("auto scaling configuration still exists: %s", rs.Primary.ID)
129129
}

tencentcloud/resource_tc_as_scaling_group.go

Lines changed: 19 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -343,7 +343,7 @@ func resourceTencentCloudAsScalingGroupCreate(d *schema.ResourceData, meta inter
343343
client: meta.(*TencentCloudClient).apiV3Conn,
344344
}
345345
err := resource.Retry(5*time.Minute, func() *resource.RetryError {
346-
scalingGroup, errRet := asService.DescribeAutoScalingGroupById(ctx, id)
346+
scalingGroup, _, errRet := asService.DescribeAutoScalingGroupById(ctx, id)
347347
if errRet != nil {
348348
return retryError(errRet, "InternalError")
349349
}
@@ -372,17 +372,25 @@ func resourceTencentCloudAsScalingGroupRead(d *schema.ResourceData, meta interfa
372372

373373
var (
374374
scalingGroup *as.AutoScalingGroup
375-
err error
375+
e error
376+
has int
376377
)
377-
if err := resource.Retry(readRetryTimeout, func() *resource.RetryError {
378-
scalingGroup, err = asService.DescribeAutoScalingGroupById(ctx, scalingGroupId)
379-
if err != nil {
380-
return retryError(err)
378+
err := resource.Retry(readRetryTimeout, func() *resource.RetryError {
379+
scalingGroup, has, e = asService.DescribeAutoScalingGroupById(ctx, scalingGroupId)
380+
if e != nil {
381+
return retryError(e)
382+
}
383+
if has == 0 {
384+
d.SetId("")
381385
}
382386
return nil
383-
}); err != nil {
387+
})
388+
if err != nil {
384389
return err
385390
}
391+
if has == 0 {
392+
return nil
393+
}
386394

387395
d.Set("scaling_group_name", scalingGroup.AutoScalingGroupName)
388396
d.Set("configuration_id", scalingGroup.LaunchConfigurationId)
@@ -627,10 +635,13 @@ func resourceTencentCloudAsScalingGroupDelete(d *schema.ResourceData, meta inter
627635

628636
// We need read the scaling group in order to check if there are instances.
629637
// If so, we need to remove those first.
630-
scalingGroup, err := asService.DescribeAutoScalingGroupById(ctx, scalingGroupId)
638+
scalingGroup, has, err := asService.DescribeAutoScalingGroupById(ctx, scalingGroupId)
631639
if err != nil {
632640
return err
633641
}
642+
if has == 0 {
643+
return nil
644+
}
634645
if *scalingGroup.InstanceCount > 0 || *scalingGroup.DesiredCapacity > 0 {
635646
if err := resource.Retry(writeRetryTimeout, func() *resource.RetryError {
636647
return retryError(asService.ClearScalingGroupInstance(ctx, scalingGroupId))

0 commit comments

Comments
 (0)