Skip to content

Commit ce736a7

Browse files
authored
fix(monitor): [118133981] update tencentcloud_monitor_tmp_instance document (#2704)
* add * add * add
1 parent db6d64a commit ce736a7

File tree

5 files changed

+123
-78
lines changed

5 files changed

+123
-78
lines changed

.changelog/2704.txt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
```release-note:enhancement
2+
resource/tencentcloud_monitor_tmp_instance: update document
3+
```

tencentcloud/services/tmp/resource_tc_monitor_tmp_instance.go

Lines changed: 42 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,8 @@ import (
1818

1919
func ResourceTencentCloudMonitorTmpInstance() *schema.Resource {
2020
return &schema.Resource{
21-
Read: resourceTencentCloudMonitorTmpInstanceRead,
2221
Create: resourceTencentCloudMonitorTmpInstanceCreate,
22+
Read: resourceTencentCloudMonitorTmpInstanceRead,
2323
Update: resourceTencentCloudMonitorTmpInstanceUpdate,
2424
Delete: resourceTencentCloudMonitorTmpInstanceDelete,
2525
Importer: &schema.ResourceImporter{
@@ -47,7 +47,7 @@ func ResourceTencentCloudMonitorTmpInstance() *schema.Resource {
4747
"data_retention_time": {
4848
Type: schema.TypeInt,
4949
Required: true,
50-
Description: "Data retention time.",
50+
Description: "Data retention time(in days). Value range: 15, 30, 45, 90, 180, 360, 720.",
5151
},
5252

5353
"zone": {
@@ -93,9 +93,8 @@ func resourceTencentCloudMonitorTmpInstanceCreate(d *schema.ResourceData, meta i
9393
defer tccommon.LogElapsed("resource.tencentcloud_monitor_tmp_instance.create")()
9494
defer tccommon.InconsistentCheck(d, meta)()
9595

96-
logId := tccommon.GetLogId(tccommon.ContextNil)
97-
9896
var (
97+
logId = tccommon.GetLogId(tccommon.ContextNil)
9998
request = monitor.NewCreatePrometheusMultiTenantInstancePostPayModeRequest()
10099
response *monitor.CreatePrometheusMultiTenantInstancePostPayModeResponse
101100
)
@@ -112,7 +111,7 @@ func resourceTencentCloudMonitorTmpInstanceCreate(d *schema.ResourceData, meta i
112111
request.SubnetId = helper.String(v.(string))
113112
}
114113

115-
if v, ok := d.GetOk("data_retention_time"); ok {
114+
if v, ok := d.GetOkExists("data_retention_time"); ok {
116115
request.DataRetentionTime = helper.IntInt64(v.(int))
117116
}
118117

@@ -128,6 +127,7 @@ func resourceTencentCloudMonitorTmpInstanceCreate(d *schema.ResourceData, meta i
128127
log.Printf("[DEBUG]%s api[%s] success, request body [%s], response body [%s]\n",
129128
logId, request.GetAction(), request.ToJsonString(), result.ToJsonString())
130129
}
130+
131131
response = result
132132
return nil
133133
})
@@ -138,7 +138,6 @@ func resourceTencentCloudMonitorTmpInstanceCreate(d *schema.ResourceData, meta i
138138
}
139139

140140
tmpInstanceId := *response.Response.InstanceId
141-
142141
service := svcmonitor.NewMonitorService(meta.(tccommon.ProviderMeta).GetAPIV3Conn())
143142
ctx := context.WithValue(context.TODO(), tccommon.LogIdKey, logId)
144143

@@ -147,14 +146,18 @@ func resourceTencentCloudMonitorTmpInstanceCreate(d *schema.ResourceData, meta i
147146
if errRet != nil {
148147
return tccommon.RetryError(errRet, tccommon.InternalError)
149148
}
149+
150150
if *instance.InstanceStatus == 2 {
151151
return nil
152152
}
153+
153154
if *instance.InstanceStatus == 3 {
154155
return resource.NonRetryableError(fmt.Errorf("tmpInstance status is %v, operate failed.", *instance.InstanceStatus))
155156
}
157+
156158
return resource.RetryableError(fmt.Errorf("tmpInstance status is %v, retry...", *instance.InstanceStatus))
157159
})
160+
158161
if err != nil {
159162
return err
160163
}
@@ -167,6 +170,7 @@ func resourceTencentCloudMonitorTmpInstanceCreate(d *schema.ResourceData, meta i
167170
return err
168171
}
169172
}
173+
170174
d.SetId(tmpInstanceId)
171175
return resourceTencentCloudMonitorTmpInstanceRead(d, meta)
172176
}
@@ -175,15 +179,14 @@ func resourceTencentCloudMonitorTmpInstanceRead(d *schema.ResourceData, meta int
175179
defer tccommon.LogElapsed("resource.tencentcloud_monitor_tmpInstance.read")()
176180
defer tccommon.InconsistentCheck(d, meta)()
177181

178-
logId := tccommon.GetLogId(tccommon.ContextNil)
179-
ctx := context.WithValue(context.TODO(), tccommon.LogIdKey, logId)
180-
181-
service := svcmonitor.NewMonitorService(meta.(tccommon.ProviderMeta).GetAPIV3Conn())
182+
var (
183+
logId = tccommon.GetLogId(tccommon.ContextNil)
184+
ctx = context.WithValue(context.TODO(), tccommon.LogIdKey, logId)
185+
service = svcmonitor.NewMonitorService(meta.(tccommon.ProviderMeta).GetAPIV3Conn())
186+
)
182187

183188
tmpInstanceId := d.Id()
184-
185189
tmpInstance, err := service.DescribeMonitorTmpInstance(ctx, tmpInstanceId)
186-
187190
if err != nil {
188191
return err
189192
}
@@ -236,25 +239,20 @@ func resourceTencentCloudMonitorTmpInstanceRead(d *schema.ResourceData, meta int
236239
if err != nil {
237240
return err
238241
}
239-
_ = d.Set("tags", tags)
240242

243+
_ = d.Set("tags", tags)
241244
return nil
242245
}
243246

244247
func resourceTencentCloudMonitorTmpInstanceUpdate(d *schema.ResourceData, meta interface{}) error {
245248
defer tccommon.LogElapsed("resource.tencentcloud_monitor_tmp_instance.update")()
246249
defer tccommon.InconsistentCheck(d, meta)()
247250

248-
logId := tccommon.GetLogId(tccommon.ContextNil)
249-
ctx := context.WithValue(context.TODO(), tccommon.LogIdKey, logId)
250-
251-
request := monitor.NewModifyPrometheusInstanceAttributesRequest()
252-
253-
request.InstanceId = helper.String(d.Id())
254-
255-
if v, ok := d.GetOk("instance_name"); ok {
256-
request.InstanceName = helper.String(v.(string))
257-
}
251+
var (
252+
logId = tccommon.GetLogId(tccommon.ContextNil)
253+
ctx = context.WithValue(context.TODO(), tccommon.LogIdKey, logId)
254+
request = monitor.NewModifyPrometheusInstanceAttributesRequest()
255+
)
258256

259257
if d.HasChange("vpc_id") {
260258
return fmt.Errorf("`vpc_id` do not support change now.")
@@ -264,16 +262,21 @@ func resourceTencentCloudMonitorTmpInstanceUpdate(d *schema.ResourceData, meta i
264262
return fmt.Errorf("`subnet_id` do not support change now.")
265263
}
266264

265+
if d.HasChange("zone") {
266+
return fmt.Errorf("`zone` do not support change now.")
267+
}
268+
269+
request.InstanceId = helper.String(d.Id())
270+
if v, ok := d.GetOk("instance_name"); ok {
271+
request.InstanceName = helper.String(v.(string))
272+
}
273+
267274
if d.HasChange("data_retention_time") {
268275
if v, ok := d.GetOk("data_retention_time"); ok {
269276
request.DataRetentionTime = helper.IntInt64(v.(int))
270277
}
271278
}
272279

273-
if d.HasChange("zone") {
274-
return fmt.Errorf("`zone` do not support change now.")
275-
}
276-
277280
err := resource.Retry(tccommon.WriteRetryTimeout, func() *resource.RetryError {
278281
result, e := meta.(tccommon.ProviderMeta).GetAPIV3Conn().UseMonitorClient().ModifyPrometheusInstanceAttributes(request)
279282
if e != nil {
@@ -282,6 +285,7 @@ func resourceTencentCloudMonitorTmpInstanceUpdate(d *schema.ResourceData, meta i
282285
log.Printf("[DEBUG]%s api[%s] success, request body [%s], response body [%s]\n",
283286
logId, request.GetAction(), request.ToJsonString(), result.ToJsonString())
284287
}
288+
285289
return nil
286290
})
287291

@@ -307,11 +311,12 @@ func resourceTencentCloudMonitorTmpInstanceDelete(d *schema.ResourceData, meta i
307311
defer tccommon.LogElapsed("resource.tencentcloud_monitor_tmp_instance.delete")()
308312
defer tccommon.InconsistentCheck(d, meta)()
309313

310-
logId := tccommon.GetLogId(tccommon.ContextNil)
311-
ctx := context.WithValue(context.TODO(), tccommon.LogIdKey, logId)
312-
313-
service := svcmonitor.NewMonitorService(meta.(tccommon.ProviderMeta).GetAPIV3Conn())
314-
tmpInstanceId := d.Id()
314+
var (
315+
logId = tccommon.GetLogId(tccommon.ContextNil)
316+
ctx = context.WithValue(context.TODO(), tccommon.LogIdKey, logId)
317+
service = svcmonitor.NewMonitorService(meta.(tccommon.ProviderMeta).GetAPIV3Conn())
318+
tmpInstanceId = d.Id()
319+
)
315320

316321
if err := service.IsolateMonitorTmpInstanceById(ctx, tmpInstanceId); err != nil {
317322
return err
@@ -322,20 +327,25 @@ func resourceTencentCloudMonitorTmpInstanceDelete(d *schema.ResourceData, meta i
322327
if errRet != nil {
323328
return tccommon.RetryError(errRet, tccommon.InternalError)
324329
}
330+
325331
if *instance.InstanceStatus == 6 {
326332
return nil
327333
}
334+
328335
if *instance.InstanceStatus == 3 {
329336
return resource.NonRetryableError(fmt.Errorf("tmpInstance status is %v, operate failed.", *instance.InstanceStatus))
330337
}
338+
331339
return resource.RetryableError(fmt.Errorf("tmpInstance status is %v, retry...", *instance.InstanceStatus))
332340
})
341+
333342
if err != nil {
334343
return err
335344
}
336345

337346
if err := service.DeleteMonitorTmpInstanceById(ctx, tmpInstanceId); err != nil {
338347
return err
339348
}
349+
340350
return nil
341351
}

tencentcloud/services/tmp/resource_tc_monitor_tmp_instance.md

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ resource "tencentcloud_subnet" "subnet" {
1919
cidr_block = "10.0.1.0/24"
2020
}
2121
22-
resource "tencentcloud_monitor_tmp_instance" "foo" {
22+
resource "tencentcloud_monitor_tmp_instance" "example" {
2323
instance_name = "tf-tmp-instance"
2424
vpc_id = tencentcloud_vpc.vpc.id
2525
subnet_id = tencentcloud_subnet.subnet.id
@@ -29,11 +29,10 @@ resource "tencentcloud_monitor_tmp_instance" "foo" {
2929
"createdBy" = "terraform"
3030
}
3131
}
32-
3332
```
3433
Import
3534

3635
monitor tmpInstance can be imported using the id, e.g.
3736
```
38-
$ terraform import tencentcloud_monitor_tmp_instance.tmpInstance tmpInstance_id
39-
```
37+
$ terraform import tencentcloud_monitor_tmp_instance.example prom-1uvo0tjm
38+
```

tencentcloud/services/tmp/resource_tc_monitor_tmp_instance_test.go

Lines changed: 72 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ import (
1515
"github.com/hashicorp/terraform-plugin-sdk/v2/terraform"
1616
)
1717

18+
// go test -i; go test -test.run TestAccTencentCloudMonitorInstance_basic -v
1819
func TestAccTencentCloudMonitorInstance_basic(t *testing.T) {
1920
t.Parallel()
2021
resource.Test(t, resource.TestCase{
@@ -25,24 +26,30 @@ func TestAccTencentCloudMonitorInstance_basic(t *testing.T) {
2526
{
2627
Config: testInstance_basic,
2728
Check: resource.ComposeTestCheckFunc(
28-
testAccCheckInstanceExists("tencentcloud_monitor_tmp_instance.basic"),
29-
resource.TestCheckResourceAttr("tencentcloud_monitor_tmp_instance.basic", "instance_name", "demo-test"),
30-
resource.TestCheckResourceAttr("tencentcloud_monitor_tmp_instance.basic", "data_retention_time", "30"),
29+
testAccCheckInstanceExists("tencentcloud_monitor_tmp_instance.example"),
30+
resource.TestCheckResourceAttr("tencentcloud_monitor_tmp_instance.example", "instance_name", "tf-tmp-instance"),
31+
resource.TestCheckResourceAttrSet("tencentcloud_monitor_tmp_instance.example", "vpc_id"),
32+
resource.TestCheckResourceAttrSet("tencentcloud_monitor_tmp_instance.example", "subnet_id"),
33+
resource.TestCheckResourceAttr("tencentcloud_monitor_tmp_instance.example", "data_retention_time", "30"),
34+
resource.TestCheckResourceAttrSet("tencentcloud_monitor_tmp_instance.example", "zone"),
3135
),
3236
},
3337
{
3438
Config: testInstance_update,
3539
Check: resource.ComposeTestCheckFunc(
36-
testAccCheckInstanceExists("tencentcloud_monitor_tmp_instance.update"),
37-
resource.TestCheckResourceAttr("tencentcloud_monitor_tmp_instance.update", "instance_name", "demo-test-update"),
38-
resource.TestCheckResourceAttr("tencentcloud_monitor_tmp_instance.update", "data_retention_time", "30"),
40+
testAccCheckInstanceExists("tencentcloud_monitor_tmp_instance.example"),
41+
resource.TestCheckResourceAttr("tencentcloud_monitor_tmp_instance.example", "instance_name", "tf-tmp-instance-update"),
42+
resource.TestCheckResourceAttrSet("tencentcloud_monitor_tmp_instance.example", "vpc_id"),
43+
resource.TestCheckResourceAttrSet("tencentcloud_monitor_tmp_instance.example", "subnet_id"),
44+
resource.TestCheckResourceAttr("tencentcloud_monitor_tmp_instance.example", "data_retention_time", "90"),
45+
resource.TestCheckResourceAttrSet("tencentcloud_monitor_tmp_instance.example", "zone"),
3946
),
4047
},
41-
//{
42-
// ResourceName: "tencentcloud_monitor_tmp_instance.basic",
43-
// ImportState: true,
44-
// ImportStateVerify: true,
45-
//},
48+
{
49+
ResourceName: "tencentcloud_monitor_tmp_instance.example",
50+
ImportState: true,
51+
ImportStateVerify: true,
52+
},
4653
},
4754
})
4855
}
@@ -103,34 +110,60 @@ func testAccCheckInstanceExists(r string) resource.TestCheckFunc {
103110
}
104111
}
105112

106-
const testInstanceVar = tcacctest.DefaultAzVariable + `
107-
variable "vpc_id" {
108-
default = "` + tcacctest.DefaultTmpVpcId + `"
113+
const testInstance_basic = `
114+
variable "availability_zone" {
115+
default = "ap-guangzhou-4"
116+
}
117+
118+
resource "tencentcloud_vpc" "vpc" {
119+
cidr_block = "10.0.0.0/16"
120+
name = "tf_monitor_vpc"
121+
}
122+
123+
resource "tencentcloud_subnet" "subnet" {
124+
vpc_id = tencentcloud_vpc.vpc.id
125+
availability_zone = var.availability_zone
126+
name = "tf_monitor_subnet"
127+
cidr_block = "10.0.1.0/24"
128+
}
129+
130+
resource "tencentcloud_monitor_tmp_instance" "example" {
131+
instance_name = "tf-tmp-instance"
132+
vpc_id = tencentcloud_vpc.vpc.id
133+
subnet_id = tencentcloud_subnet.subnet.id
134+
data_retention_time = 30
135+
zone = var.availability_zone
136+
tags = {
137+
"createdBy" = "terraform"
138+
}
109139
}
110-
variable "subnet_id" {
111-
default = "` + tcacctest.DefaultTmpSubnetId + `"
140+
`
141+
142+
const testInstance_update = `
143+
variable "availability_zone" {
144+
default = "ap-guangzhou-4"
145+
}
146+
147+
resource "tencentcloud_vpc" "vpc" {
148+
cidr_block = "10.0.0.0/16"
149+
name = "tf_monitor_vpc"
150+
}
151+
152+
resource "tencentcloud_subnet" "subnet" {
153+
vpc_id = tencentcloud_vpc.vpc.id
154+
availability_zone = var.availability_zone
155+
name = "tf_monitor_subnet"
156+
cidr_block = "10.0.1.0/24"
157+
}
158+
159+
resource "tencentcloud_monitor_tmp_instance" "example" {
160+
instance_name = "tf-tmp-instance-update"
161+
vpc_id = tencentcloud_vpc.vpc.id
162+
subnet_id = tencentcloud_subnet.subnet.id
163+
data_retention_time = 90
164+
zone = var.availability_zone
165+
tags = {
166+
"createdBy" = "terraformUpdate"
167+
}
112168
}
113169
`
114-
const testInstance_basic = testInstanceVar + `
115-
resource "tencentcloud_monitor_tmp_instance" "basic" {
116-
instance_name = "demo-test"
117-
vpc_id = var.vpc_id
118-
subnet_id = var.subnet_id
119-
data_retention_time = 30
120-
zone = var.default_az
121-
tags = {
122-
"createdBy" = "terraform"
123-
}
124-
}`
125-
126-
const testInstance_update = testInstanceVar + `
127-
resource "tencentcloud_monitor_tmp_instance" "update" {
128-
instance_name = "demo-test-update"
129-
vpc_id = var.vpc_id
130-
subnet_id = var.subnet_id
131-
data_retention_time = 30
132-
zone = var.default_az
133-
tags = {
134-
"createdBy" = "terraform"
135-
}
136-
}`

0 commit comments

Comments
 (0)