Skip to content

Commit e6098c4

Browse files
authored
fix: grafana support auto_voucher (#2473)
* fix: grafana support auto_voucher * feat: add 2473 changelog * fix: modify Attributes * fix: modify doc * fxi: modify test * fxi: modify test * fxi: modify test * fix: modify test
1 parent b0b04d8 commit e6098c4

File tree

11 files changed

+169
-85
lines changed

11 files changed

+169
-85
lines changed

.changelog/2473.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_grafana_instance: support `auto_voucher` field
3+
```

go.mod

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ require (
4646
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/clb v1.0.693
4747
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cloudaudit v1.0.544
4848
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cls v1.0.711
49-
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.833
49+
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.839
5050
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cvm v1.0.624
5151
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cwp v1.0.762
5252
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cynosdb v1.0.692
@@ -67,7 +67,7 @@ require (
6767
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/live v1.0.777
6868
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/mariadb v1.0.672
6969
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/mongodb v1.0.651
70-
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/monitor v1.0.815
70+
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/monitor v1.0.839
7171
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/mps v1.0.777
7272
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/organization v1.0.770
7373
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/postgres v1.0.814

go.sum

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -938,6 +938,8 @@ github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.829/go.mod
938938
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.831/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0=
939939
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.833 h1:EE3PbnS+BiCjPcfbf2Tel03YglInffxV+mIbmzoFEag=
940940
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.833/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0=
941+
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.839 h1:VGVFNQDaUpDsPkJrh8I9qOxHZ1yj5sJmg9ngsUvTAHM=
942+
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.839/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0=
941943
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cvm v1.0.624 h1:nEZqsoqt1pEoaP9JjkHQy3/H00suCfzlHW1qOm2nYD8=
942944
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cvm v1.0.624/go.mod h1:+TXSVyeKwt1IhZRqKPbTREteBcP+K07Q846/ilNzLWA=
943945
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cwp v1.0.762 h1:2egy69SP/wPsmnfozcQVZ6tUY6F6N/TpEe/7xtXrc/8=
@@ -982,6 +984,8 @@ github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/mongodb v1.0.651 h1:Ohb
982984
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/mongodb v1.0.651/go.mod h1:HLqsSgUnwgkE+XecQajekinjz1B7S+1U1J66puH4jpQ=
983985
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/monitor v1.0.815 h1:wsTtihNYIpnCz+R01imMGrEfahf+J/wF4bivxnUwr8w=
984986
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/monitor v1.0.815/go.mod h1:0nU7o/VOMYZ1/xjIsFVivQ3RZkdDeGTdezSlyjyG7GI=
987+
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/monitor v1.0.839 h1:eRIkvwwyw7Guh3Ayr3J5tKSWfNX9WQBQ5zzNpBYoBHQ=
988+
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/monitor v1.0.839/go.mod h1:4OoBA087NHVdyeRJFy/SML7kIJmt54DtNkNlJWZp8oE=
985989
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/mps v1.0.777 h1:SoH/KkqkEUw8iDmQDZCw5Saf319Ceyt3v8Vqodo8DiY=
986990
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/mps v1.0.777/go.mod h1:sBmwqD3GkczHFiArdYpHPp9QriIbzNtO99DueYVyGwE=
987991
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/oceanus v1.0.831 h1:oyazF5wgAgoinGo/SDGfUReE3JFxqcpI6/pstWhK7yE=

tencentcloud/acctest/basic.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -227,8 +227,8 @@ const (
227227

228228
// Cloud monitoring grafana visualization
229229
const (
230-
DefaultGrafanaVpcId = "vpc-391sv4w3"
231-
DefaultGrafanaSubnetId = "subnet-ljyn7h30"
230+
DefaultGrafanaVpcId = "vpc-axrsmmrv"
231+
DefaultGrafanaSubnetId = "subnet-o6qcrhzo"
232232
DefaultInternationalGrafanaVpcId = "vpc-dg21ckzx"
233233
DefaultInternationalGrafanaSubnetId = "subnet-i5lq9vy4"
234234
DefaultGrafanaInstanceId = "grafana-dp2hnnfa"

tencentcloud/services/tcmg/resource_tc_monitor_grafana_instance.go

Lines changed: 17 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,17 @@
11
package tcmg
22

33
import (
4-
tccommon "github.com/tencentcloudstack/terraform-provider-tencentcloud/tencentcloud/common"
5-
svcmonitor "github.com/tencentcloudstack/terraform-provider-tencentcloud/tencentcloud/services/monitor"
6-
svctag "github.com/tencentcloudstack/terraform-provider-tencentcloud/tencentcloud/services/tag"
7-
84
"context"
95
"fmt"
106
"log"
117

128
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource"
139
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
1410
monitor "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/monitor/v20180724"
15-
11+
tccommon "github.com/tencentcloudstack/terraform-provider-tencentcloud/tencentcloud/common"
1612
"github.com/tencentcloudstack/terraform-provider-tencentcloud/tencentcloud/internal/helper"
13+
svcmonitor "github.com/tencentcloudstack/terraform-provider-tencentcloud/tencentcloud/services/monitor"
14+
svctag "github.com/tencentcloudstack/terraform-provider-tencentcloud/tencentcloud/services/tag"
1715
)
1816

1917
func ResourceTencentCloudMonitorGrafanaInstance() *schema.Resource {
@@ -106,6 +104,12 @@ func ResourceTencentCloudMonitorGrafanaInstance() *schema.Resource {
106104
Description: "Grafana public address.",
107105
},
108106

107+
"auto_voucher": {
108+
Optional: true,
109+
Type: schema.TypeBool,
110+
Description: "Whether to automatically use vouchers.",
111+
},
112+
109113
"tags": {
110114
Type: schema.TypeMap,
111115
Optional: true,
@@ -151,6 +155,10 @@ func resourceTencentCloudMonitorGrafanaInstanceCreate(d *schema.ResourceData, me
151155
request.EnableInternet = helper.Bool(v.(bool))
152156
}
153157

158+
if v, ok := d.GetOkExists("auto_voucher"); ok {
159+
request.AutoVoucher = helper.Bool(v.(bool))
160+
}
161+
154162
err := resource.Retry(tccommon.WriteRetryTimeout, func() *resource.RetryError {
155163
result, e := meta.(tccommon.ProviderMeta).GetAPIV3Conn().UseMonitorClient().CreateGrafanaInstance(request)
156164
if e != nil {
@@ -321,6 +329,10 @@ func resourceTencentCloudMonitorGrafanaInstanceUpdate(d *schema.ResourceData, me
321329
return fmt.Errorf("`grafana_init_password` do not support change now.")
322330
}
323331

332+
if d.HasChange("auto_voucher") {
333+
return fmt.Errorf("`auto_voucher` do not support change now.")
334+
}
335+
324336
if d.HasChange("enable_internet") {
325337
request := monitor.NewEnableGrafanaInternetRequest()
326338
request.InstanceID = &instanceId

tencentcloud/services/tcmg/resource_tc_monitor_grafana_instance_test.go

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,18 +4,17 @@ import (
44
"context"
55
"fmt"
66
"testing"
7+
"time"
78

89
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource"
910
"github.com/hashicorp/terraform-plugin-sdk/v2/terraform"
10-
1111
tcacctest "github.com/tencentcloudstack/terraform-provider-tencentcloud/tencentcloud/acctest"
1212
tccommon "github.com/tencentcloudstack/terraform-provider-tencentcloud/tencentcloud/common"
13-
1413
svcmonitor "github.com/tencentcloudstack/terraform-provider-tencentcloud/tencentcloud/services/monitor"
1514
)
1615

17-
// go test -i; go test -test.run TestAccTencentCloudMonitorGrafanaInstance_basic -v
18-
func TestAccTencentCloudMonitorGrafanaInstance_basic(t *testing.T) {
16+
// go test -test.run TestAccTencentCloudMonitorGrafanaInstanceResource -v
17+
func TestAccTencentCloudMonitorGrafanaInstanceResource(t *testing.T) {
1918
t.Parallel()
2019

2120
resource.Test(t, resource.TestCase{
@@ -32,6 +31,7 @@ func TestAccTencentCloudMonitorGrafanaInstance_basic(t *testing.T) {
3231
resource.TestCheckResourceAttr("tencentcloud_monitor_grafana_instance.grafanaInstance", "subnet_ids.#", "1"),
3332
resource.TestCheckResourceAttr("tencentcloud_monitor_grafana_instance.grafanaInstance", "enable_internet", "false"),
3433
resource.TestCheckResourceAttrSet("tencentcloud_monitor_grafana_instance.grafanaInstance", "internal_url"),
34+
resource.TestCheckResourceAttr("tencentcloud_monitor_grafana_instance.grafanaInstance", "auto_voucher", "true"),
3535
),
3636
},
3737
{
@@ -48,7 +48,7 @@ func TestAccTencentCloudMonitorGrafanaInstance_basic(t *testing.T) {
4848
ResourceName: "tencentcloud_monitor_grafana_instance.grafanaInstance",
4949
ImportState: true,
5050
ImportStateVerify: true,
51-
ImportStateVerifyIgnore: []string{"grafana_init_password", "is_destroy"},
51+
ImportStateVerifyIgnore: []string{"grafana_init_password", "is_destroy", "auto_voucher"},
5252
},
5353
},
5454
})
@@ -107,6 +107,8 @@ func testAccCheckGrafanaInstanceExists(r string) resource.TestCheckFunc {
107107
return fmt.Errorf("GrafanaInstance %s is not found", rs.Primary.ID)
108108
}
109109

110+
time.Sleep(time.Second * 100)
111+
110112
return nil
111113
}
112114
}
@@ -129,6 +131,7 @@ resource "tencentcloud_monitor_grafana_instance" "grafanaInstance" {
129131
grafana_init_password = "1234567890"
130132
enable_internet = false
131133
is_destroy = true
134+
auto_voucher = true
132135
133136
tags = {
134137
"createdBy" = "test"
@@ -144,6 +147,7 @@ resource "tencentcloud_monitor_grafana_instance" "grafanaInstance" {
144147
grafana_init_password = "1234567890"
145148
enable_internet = true
146149
is_destroy = true
150+
auto_voucher = true
147151
148152
tags = {
149153
"createdBy" = "test"

vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/http/request.go

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/monitor/v20180724/client.go

Lines changed: 14 additions & 14 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)