Skip to content

Commit adb2eff

Browse files
tongyimingmikatong
andauthored
fix: cynosdb param_items not effect in create cluster (#1238)
* fix: cynosdb param_items not effect in create cluster * update sdk * update sdk * update sdk Co-authored-by: mikatong <mikatong@tencent.com>
1 parent f3abcc5 commit adb2eff

File tree

12 files changed

+4602
-1193
lines changed

12 files changed

+4602
-1193
lines changed

go.mod

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,9 +33,9 @@ require (
3333
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/clb v1.0.445
3434
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cloudaudit v1.0.199
3535
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cls v1.0.412
36-
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.486
36+
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.488
3737
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cvm v1.0.445
38-
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cynosdb v1.0.359
38+
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cynosdb v1.0.488
3939
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/dayu v1.0.335
4040
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/dc v1.0.199
4141
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/dnspod v1.0.294

go.sum

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -476,7 +476,6 @@ github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cls v1.0.412 h1:mQbC16t
476476
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cls v1.0.412/go.mod h1:xU6edJlUvcW4ffnVhE+BLlwOsU6LGzQPdEcAJGC18Fo=
477477
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.194/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y=
478478
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.358/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y=
479-
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.359/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y=
480479
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.363/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y=
481480
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.383/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y=
482481
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.391/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y=
@@ -495,14 +494,19 @@ github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.472/go.mod
495494
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.479/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y=
496495
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.480 h1:Dwnfdrk3KXpYRH9Kwrk9sHpZSOmrE7P9LBoNsYUJKR4=
497496
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.480/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y=
498-
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.484 h1:x37ASMnNHHh7X0JpEhJmUz4OQL9DCIoXB0wv8u1TKic=
499-
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.484/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y=
500-
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.486 h1:MUO3Gp/jo/t0NBJ2TLH2sDjy+b/eJUCGgBT+7BfN2yE=
501497
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.486/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y=
498+
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.487 h1:6PCOaohR7z/5lbK1PDJRg0TY9tYK7zvjmDxY1yXWsQE=
499+
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.487/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y=
500+
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.488 h1:rFQ+2+p2sFMdSGE99zc5oqN3TvYVK9Vxbp+wZJjTrHw=
501+
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.488/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y=
502502
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cvm v1.0.445 h1:Bh7XD0ypNMHYyBOM8hhKsSu+y0VVKUnJVS+YKKhfpGg=
503503
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cvm v1.0.445/go.mod h1:jMDD351efCFpT1+KVFbcpu6SbmP4TYmp4qkoCfr63nQ=
504504
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cynosdb v1.0.359 h1:cNKqelPgUxrJkLY0Azd2QHr/UMYOPPnmqs88clt2akk=
505505
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cynosdb v1.0.359/go.mod h1:GlTYjlrf8EKEMu+Z2MXfaM2/nHGUBBF/huBBJqGyGwI=
506+
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cynosdb v1.0.487 h1:/iZ931/+8b5IlTiOB9qGHUYMbQtbmSSlHaSZTtVjxF8=
507+
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cynosdb v1.0.487/go.mod h1:ro6h0Lg0BKK+8ugBdomSCy0ItTxr3MANinnHcONluVQ=
508+
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cynosdb v1.0.488 h1:A1seXWtMf2atBjSNYvcwxyDoFzCMgqyVnsxnWzhqJEA=
509+
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cynosdb v1.0.488/go.mod h1:T8mL4dQLkPTL6VtVMeBYol3asSUS53ycP9PJf5Qp1GE=
506510
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/dayu v1.0.335 h1:D8qrelkK5udv8RzJJIABMzItGIyaZoYnxEVeIsYqiNw=
507511
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/dayu v1.0.335/go.mod h1:pz4s3nOhoB9cY0+uWzifuwr7lfh/Gvi1rv0ADxpPzD4=
508512
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/dc v1.0.199 h1:7ShREKvI8ik2YNtLF42JR9x2YEeZS/gZvhIRfpsI8T0=

tencentcloud/extension_cynosdb.go

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -319,7 +319,7 @@ func TencentCynosdbClusterBaseInfo() map[string]*schema.Schema {
319319
"param_items": {
320320
Type: schema.TypeList,
321321
Optional: true,
322-
Description: "Specify parameter list of database. Use `data.tencentcloud_mysql_default_params` to query available parameter details.",
322+
Description: "Specify parameter list of database. It is valid when prarm_template_id is set in create cluster. Use `data.tencentcloud_mysql_default_params` to query available parameter details.",
323323
Elem: &schema.Resource{
324324
Schema: map[string]*schema.Schema{
325325
"name": {
@@ -340,6 +340,12 @@ func TencentCynosdbClusterBaseInfo() map[string]*schema.Schema {
340340
},
341341
},
342342
},
343+
"prarm_template_id": {
344+
Type: schema.TypeInt,
345+
Optional: true,
346+
Computed: true,
347+
Description: "The ID of the parameter template.",
348+
},
343349
}
344350

345351
for k, v := range TencentCynosdbInstanceBaseInfo() {

tencentcloud/resource_tc_cynosdb_cluster.go

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,8 @@ resource "tencentcloud_cynosdb_cluster" "foo" {
3333
current_value = "utf8mb4"
3434
}
3535
36+
prarm_template_id = "12345"
37+
3638
tags = {
3739
test = "test"
3840
}
@@ -134,6 +136,9 @@ func resourceTencentCloudCynosdbClusterCreate(d *schema.ResourceData, meta inter
134136
request.ClusterParams = append(request.ClusterParams, param)
135137
}
136138
}
139+
if v, ok := d.GetOk("prarm_template_id"); ok {
140+
request.ParamTemplateId = helper.IntInt64(v.(int))
141+
}
137142

138143
// instance info
139144
request.Cpu = helper.IntInt64(d.Get("instance_cpu_core").(int))
@@ -438,6 +443,32 @@ func resourceTencentCloudCynosdbClusterRead(d *schema.ResourceData, meta interfa
438443
}
439444
}
440445

446+
currentParamMap := make(map[string]*cynosdb.ParamInfo)
447+
params, err := cynosdbService.DescribeClusterParams(ctx, id)
448+
if err != nil {
449+
return err
450+
}
451+
for _, param := range params {
452+
currentParamMap[*param.ParamName] = param
453+
}
454+
resultParamItems := make([]map[string]string, 0)
455+
if v, ok := d.GetOk("param_items"); ok {
456+
paramItems := v.([]interface{})
457+
for _, paramItem := range paramItems {
458+
item := paramItem.(map[string]interface{})
459+
name := item["name"].(string)
460+
oldValue := item["old_value"].(string)
461+
currentParamItem := make(map[string]string)
462+
currentParamItem["name"] = name
463+
currentParamItem["current_value"] = *currentParamMap[name].CurrentValue
464+
if oldValue != "" {
465+
currentParamItem["old_value"] = oldValue
466+
}
467+
resultParamItems = append(resultParamItems, currentParamItem)
468+
}
469+
}
470+
_ = d.Set("param_items", resultParamItems)
471+
441472
return nil
442473
}
443474

@@ -575,6 +606,10 @@ func resourceTencentCloudCynosdbClusterUpdate(d *schema.ResourceData, meta inter
575606
d.SetPartial("param_items")
576607
}
577608

609+
if d.HasChange("prarm_template_id") {
610+
return fmt.Errorf("prarm_template_id not support update!")
611+
}
612+
578613
// update tags
579614
if d.HasChange("tags") {
580615
oldTags, newTags := d.GetChange("tags")

tencentcloud/resource_tc_cynosdb_cluster_test.go

Lines changed: 23 additions & 66 deletions
Original file line numberDiff line numberDiff line change
@@ -93,17 +93,18 @@ func TestAccTencentCloudCynosdbClusterResource(t *testing.T) {
9393
resource.TestCheckResourceAttrSet("tencentcloud_cynosdb_cluster.foo", "rw_group_instances.0.instance_name"),
9494
resource.TestCheckResourceAttrSet("tencentcloud_cynosdb_cluster.foo", "rw_group_addr.0.ip"),
9595
resource.TestCheckResourceAttrSet("tencentcloud_cynosdb_cluster.foo", "rw_group_addr.0.port"),
96-
//resource.TestCheckResourceAttrSet("tencentcloud_cynosdb_cluster.foo", "ro_group_id"),
97-
resource.TestCheckResourceAttr("tencentcloud_cynosdb_cluster.foo", "param_items.#", "1"),
96+
resource.TestCheckResourceAttr("tencentcloud_cynosdb_cluster.foo", "param_items.#", "2"),
9897
resource.TestCheckResourceAttr("tencentcloud_cynosdb_cluster.foo", "param_items.0.name", "character_set_server"),
9998
resource.TestCheckResourceAttr("tencentcloud_cynosdb_cluster.foo", "param_items.0.current_value", "utf8"),
99+
resource.TestCheckResourceAttr("tencentcloud_cynosdb_cluster.foo", "param_items.1.name", "time_zone"),
100+
resource.TestCheckResourceAttr("tencentcloud_cynosdb_cluster.foo", "param_items.1.current_value", "+09:00"),
100101
),
101102
},
102103
{
103104
ResourceName: "tencentcloud_cynosdb_cluster.foo",
104105
ImportState: true,
105106
ImportStateVerify: true,
106-
ImportStateVerifyIgnore: []string{"password", "force_delete", "storage_limit", "param_items", "ro_group_sg"},
107+
ImportStateVerifyIgnore: []string{"password", "force_delete", "storage_limit", "param_items", "ro_group_sg", "prarm_template_id"},
107108
},
108109
{
109110
Config: testAccCynosdbCluster_update,
@@ -113,80 +114,21 @@ func TestAccTencentCloudCynosdbClusterResource(t *testing.T) {
113114
resource.TestCheckResourceAttr("tencentcloud_cynosdb_cluster.foo", "instance_maintain_weekdays.#", "6"),
114115
resource.TestCheckResourceAttr("tencentcloud_cynosdb_cluster.foo", "instance_cpu_core", "2"),
115116
resource.TestCheckResourceAttr("tencentcloud_cynosdb_cluster.foo", "instance_memory_size", "4"),
116-
//resource.TestCheckResourceAttr("tencentcloud_cynosdb_cluster.foo", "tags.test", "test-update"),
117117
resource.TestCheckResourceAttr("tencentcloud_cynosdb_cluster.foo", "rw_group_sg.#", "1"),
118118
resource.TestCheckResourceAttr("tencentcloud_cynosdb_cluster.foo", "ro_group_sg.#", "1"),
119-
resource.TestCheckResourceAttr("tencentcloud_cynosdb_cluster.foo", "param_items.#", "1"),
119+
resource.TestCheckResourceAttr("tencentcloud_cynosdb_cluster.foo", "param_items.#", "2"),
120120
resource.TestCheckResourceAttr("tencentcloud_cynosdb_cluster.foo", "param_items.0.name", "character_set_server"),
121121
resource.TestCheckResourceAttr("tencentcloud_cynosdb_cluster.foo", "param_items.0.old_value", "utf8"),
122122
resource.TestCheckResourceAttr("tencentcloud_cynosdb_cluster.foo", "param_items.0.current_value", "utf8mb4"),
123+
resource.TestCheckResourceAttr("tencentcloud_cynosdb_cluster.foo", "param_items.1.name", "time_zone"),
124+
resource.TestCheckResourceAttr("tencentcloud_cynosdb_cluster.foo", "param_items.1.old_value", "+09:00"),
125+
resource.TestCheckResourceAttr("tencentcloud_cynosdb_cluster.foo", "param_items.1.current_value", "+08:00"),
123126
),
124127
},
125128
},
126129
})
127130
}
128131

129-
/*
130-
func TestAccTencentCloudCynosdbClusterResourcePrePaid(t *testing.T) {
131-
t.Parallel()
132-
resource.Test(t, resource.TestCase{
133-
PreCheck: func() { testAccPreCheck(t) },
134-
Providers: testAccProviders,
135-
CheckDestroy: testAccCheckCynosdbClusterDestroy,
136-
Steps: []resource.TestStep{
137-
{
138-
ResourceName: "tencentcloud_cynosdb_cluster.foo",
139-
ImportState: true,
140-
ImportStateVerify: true,
141-
ImportStateVerifyIgnore: []string{"password", "force_delete", "storage_limit"},
142-
},
143-
{
144-
Config: testAccCynosdbClusterPrepaid,
145-
Check: resource.ComposeTestCheckFunc(
146-
testAccCheckCynosdbClusterExists("tencentcloud_cynosdb_cluster.bar"),
147-
resource.TestCheckResourceAttr("tencentcloud_cynosdb_cluster.bar", "available_zone", "ap-guangzhou-4"),
148-
resource.TestCheckResourceAttr("tencentcloud_cynosdb_cluster.bar", "vpc_id", "vpc-4owdpnwr"),
149-
resource.TestCheckResourceAttr("tencentcloud_cynosdb_cluster.bar", "subnet_id", "subnet-qpxez62e"),
150-
resource.TestCheckResourceAttr("tencentcloud_cynosdb_cluster.bar", "db_type", "MYSQL"),
151-
resource.TestCheckResourceAttr("tencentcloud_cynosdb_cluster.bar", "db_version", "5.7"),
152-
resource.TestCheckResourceAttr("tencentcloud_cynosdb_cluster.bar", "storage_limit", "1000"),
153-
resource.TestCheckResourceAttr("tencentcloud_cynosdb_cluster.bar", "cluster_name", "tf-cynosdb-prepaid"),
154-
resource.TestCheckResourceAttr("tencentcloud_cynosdb_cluster.bar", "instance_maintain_duration", "3600"),
155-
resource.TestCheckResourceAttr("tencentcloud_cynosdb_cluster.bar", "instance_maintain_start_time", "10800"),
156-
resource.TestCheckResourceAttr("tencentcloud_cynosdb_cluster.bar", "instance_maintain_weekdays.#", "7"),
157-
resource.TestCheckResourceAttr("tencentcloud_cynosdb_cluster.bar", "instance_cpu_core", "1"),
158-
resource.TestCheckResourceAttr("tencentcloud_cynosdb_cluster.bar", "instance_memory_size", "2"),
159-
resource.TestCheckResourceAttr("tencentcloud_cynosdb_cluster.bar", "tags.test", "test"),
160-
resource.TestCheckResourceAttr("tencentcloud_cynosdb_cluster.bar", "force_delete", "true"),
161-
resource.TestCheckResourceAttr("tencentcloud_cynosdb_cluster.bar", "rw_group_sg.#", "1"),
162-
resource.TestCheckResourceAttr("tencentcloud_cynosdb_cluster.bar", "ro_group_sg.#", "1"),
163-
resource.TestCheckResourceAttr("tencentcloud_cynosdb_cluster.bar", "project_id", "0"),
164-
resource.TestCheckResourceAttr("tencentcloud_cynosdb_cluster.bar", "port", "5432"),
165-
resource.TestCheckResourceAttr("tencentcloud_cynosdb_cluster.bar", "charge_type", CYNOSDB_CHARGE_TYPE_PREPAID),
166-
resource.TestCheckResourceAttr("tencentcloud_cynosdb_cluster.bar", "project_id", "0"),
167-
resource.TestCheckResourceAttr("tencentcloud_cynosdb_cluster.bar", "prepaid_period", "1"),
168-
resource.TestCheckResourceAttrSet("tencentcloud_cynosdb_cluster.bar", "instance_id"),
169-
resource.TestCheckResourceAttrSet("tencentcloud_cynosdb_cluster.bar", "instance_name"),
170-
resource.TestCheckResourceAttrSet("tencentcloud_cynosdb_cluster.bar", "instance_status"),
171-
resource.TestCheckResourceAttrSet("tencentcloud_cynosdb_cluster.bar", "instance_storage_size"),
172-
resource.TestCheckResourceAttrSet("tencentcloud_cynosdb_cluster.bar", "instance_id"),
173-
resource.TestCheckResourceAttrSet("tencentcloud_cynosdb_cluster.bar", "charset"),
174-
resource.TestCheckResourceAttrSet("tencentcloud_cynosdb_cluster.bar", "cluster_status"),
175-
resource.TestCheckResourceAttrSet("tencentcloud_cynosdb_cluster.bar", "create_time"),
176-
resource.TestCheckResourceAttrSet("tencentcloud_cynosdb_cluster.bar", "storage_used"),
177-
resource.TestCheckResourceAttrSet("tencentcloud_cynosdb_cluster.bar", "rw_group_id"),
178-
resource.TestCheckResourceAttrSet("tencentcloud_cynosdb_cluster.bar", "rw_group_instances.0.instance_id"),
179-
resource.TestCheckResourceAttrSet("tencentcloud_cynosdb_cluster.bar", "rw_group_instances.0.instance_name"),
180-
resource.TestCheckResourceAttrSet("tencentcloud_cynosdb_cluster.bar", "rw_group_addr.0.ip"),
181-
resource.TestCheckResourceAttrSet("tencentcloud_cynosdb_cluster.bar", "rw_group_addr.0.port"),
182-
resource.TestCheckResourceAttrSet("tencentcloud_cynosdb_cluster.bar", "ro_group_id"),
183-
),
184-
},
185-
},
186-
})
187-
}
188-
*/
189-
190132
func testAccCheckCynosdbClusterDestroy(s *terraform.State) error {
191133
logId := getLogId(contextNil)
192134
ctx := context.WithValue(context.TODO(), logIdKey, logId)
@@ -249,6 +191,10 @@ variable "my_vpc" {
249191
variable "my_subnet" {
250192
default = "subnet-qpxez62e"
251193
}
194+
195+
variable "my_param_template" {
196+
default = "15765"
197+
}
252198
`
253199

254200
const testAccCynosdbCluster = testAccCynosdbBasic + `
@@ -279,6 +225,10 @@ resource "tencentcloud_cynosdb_cluster" "foo" {
279225
name = "character_set_server"
280226
current_value = "utf8"
281227
}
228+
param_items {
229+
name = "time_zone"
230+
current_value = "+09:00"
231+
}
282232
283233
# tags = {
284234
# test = "test"
@@ -292,6 +242,7 @@ resource "tencentcloud_cynosdb_cluster" "foo" {
292242
ro_group_sg = [
293243
"` + defaultSecurityGroup + `",
294244
]
245+
prarm_template_id = var.my_param_template
295246
}
296247
`
297248

@@ -325,6 +276,12 @@ resource "tencentcloud_cynosdb_cluster" "foo" {
325276
current_value = "utf8mb4"
326277
}
327278
279+
param_items {
280+
name = "time_zone"
281+
old_value = "+09:00"
282+
current_value = "+08:00"
283+
}
284+
328285
# tags = {
329286
# test = "test-update"
330287
# }

tencentcloud/service_tencentcloud_cynosdb.go

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -471,3 +471,23 @@ func (me *CynosdbService) OfflineInstance(ctx context.Context, clusterId, instan
471471

472472
return
473473
}
474+
475+
func (me *CynosdbService) DescribeClusterParams(ctx context.Context, clusterId string) (items []*cynosdb.ParamInfo, errRet error) {
476+
logId := getLogId(ctx)
477+
request := cynosdb.NewDescribeClusterParamsRequest()
478+
request.ClusterId = &clusterId
479+
480+
var response *cynosdb.DescribeClusterParamsResponse
481+
errRet = resource.Retry(writeRetryTimeout, func() *resource.RetryError {
482+
ratelimit.Check(request.GetAction())
483+
response, errRet = me.client.UseCynosdbClient().DescribeClusterParams(request)
484+
if errRet != nil {
485+
log.Printf("[CRITAL]%s api[%s] fail, reason:%s", logId, request.GetAction(), errRet.Error())
486+
return retryError(errRet)
487+
}
488+
return nil
489+
})
490+
items = response.Response.Items
491+
492+
return
493+
}

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.

0 commit comments

Comments
 (0)