@@ -45,12 +45,25 @@ func resourceTencentCloudRedisParamCreate(d *schema.ResourceData, meta interface
45
45
defer tccommon .InconsistentCheck (d , meta )()
46
46
47
47
var (
48
+ logId = tccommon .GetLogId (tccommon .ContextNil )
49
+ ctx = context .WithValue (context .TODO (), tccommon .LogIdKey , logId )
50
+ service = RedisService {client : meta .(tccommon.ProviderMeta ).GetAPIV3Conn ()}
48
51
instanceId string
49
52
)
53
+
50
54
if v , ok := d .GetOk ("instance_id" ); ok {
51
55
instanceId = v .(string )
52
56
}
53
57
58
+ resp , err := service .DescribeRedisInstanceById (ctx , instanceId )
59
+ if err != nil {
60
+ return err
61
+ }
62
+
63
+ if resp == nil || resp .InstanceId != nil || * resp .InstanceId != instanceId {
64
+ return fmt .Errorf ("Illegal `instance_id`" )
65
+ }
66
+
54
67
d .SetId (instanceId )
55
68
56
69
return resourceTencentCloudRedisParamUpdate (d , meta )
@@ -60,12 +73,12 @@ func resourceTencentCloudRedisParamRead(d *schema.ResourceData, meta interface{}
60
73
defer tccommon .LogElapsed ("resource.tencentcloud_redis_param.read" )()
61
74
defer tccommon .InconsistentCheck (d , meta )()
62
75
63
- logId := tccommon . GetLogId ( tccommon . ContextNil )
64
- ctx := context . WithValue ( context . TODO (), tccommon .LogIdKey , logId )
65
-
66
- service : = RedisService {client : meta .(tccommon.ProviderMeta ).GetAPIV3Conn ()}
67
-
68
- instanceId := d . Id ( )
76
+ var (
77
+ logId = tccommon . GetLogId ( tccommon .ContextNil )
78
+ ctx = context . WithValue ( context . TODO (), tccommon . LogIdKey , logId )
79
+ service = RedisService {client : meta .(tccommon.ProviderMeta ).GetAPIV3Conn ()}
80
+ instanceId = d . Id ()
81
+ )
69
82
70
83
param , err := service .DescribeRedisParamById (ctx , instanceId )
71
84
if err != nil {
@@ -88,6 +101,7 @@ func resourceTencentCloudRedisParamRead(d *schema.ResourceData, meta interface{}
88
101
} else {
89
102
instanceParamsMap = param
90
103
}
104
+
91
105
_ = d .Set ("instance_params" , instanceParamsMap )
92
106
93
107
return nil
@@ -97,21 +111,22 @@ func resourceTencentCloudRedisParamUpdate(d *schema.ResourceData, meta interface
97
111
defer tccommon .LogElapsed ("resource.tencentcloud_redis_param.update" )()
98
112
defer tccommon .InconsistentCheck (d , meta )()
99
113
100
- logId := tccommon .GetLogId (tccommon .ContextNil )
101
- ctx := context .WithValue (context .TODO (), tccommon .LogIdKey , logId )
114
+ var (
115
+ logId = tccommon .GetLogId (tccommon .ContextNil )
116
+ ctx = context .WithValue (context .TODO (), tccommon .LogIdKey , logId )
117
+ service = RedisService {client : meta .(tccommon.ProviderMeta ).GetAPIV3Conn ()}
118
+ instanceId = d .Id ()
119
+ )
102
120
103
121
request := redis .NewModifyInstanceParamsRequest ()
104
122
response := redis .NewModifyInstanceParamsResponse ()
105
-
106
- instanceId := d .Id ()
107
123
request .InstanceId = & instanceId
108
-
109
124
if v , ok := d .GetOk ("instance_params" ); ok {
110
- service := RedisService {client : meta .(tccommon.ProviderMeta ).GetAPIV3Conn ()}
111
125
param , err := service .DescribeRedisParamById (ctx , instanceId )
112
126
if err != nil && len (param ) == 0 {
113
127
return fmt .Errorf ("[ERROR] resource `RedisParam` [%s] not found, please check if it has been deleted.\n " , d .Id ())
114
128
}
129
+
115
130
for k , v := range v .(map [string ]interface {}) {
116
131
if value , ok := param [k ]; ok {
117
132
if value != v {
@@ -137,16 +152,16 @@ func resourceTencentCloudRedisParamUpdate(d *schema.ResourceData, meta interface
137
152
} else {
138
153
log .Printf ("[DEBUG]%s api[%s] success, request body [%s], response body [%s]\n " , logId , request .GetAction (), request .ToJsonString (), result .ToJsonString ())
139
154
}
155
+
140
156
response = result
141
157
return nil
142
158
})
159
+
143
160
if err != nil {
144
161
log .Printf ("[CRITAL]%s update redis param failed, reason:%+v" , logId , err )
145
162
return err
146
163
}
147
164
148
- service := RedisService {client : meta .(tccommon.ProviderMeta ).GetAPIV3Conn ()}
149
-
150
165
taskId := * response .Response .TaskId
151
166
err = resource .Retry (6 * tccommon .ReadRetryTimeout , func () * resource.RetryError {
152
167
ok , err := service .DescribeTaskInfo (ctx , instanceId , taskId )
0 commit comments