Skip to content

Commit 680daea

Browse files
committed
resource/alicloud_selectdb_db_instance: Optimize creating 4.0.X instance. resource/alicloud_selectdb_db_cluster: fix config Optional scope bug. data-source/alicloud_selectdb_db_clusters: fix flavor bug in memory.
1 parent 1eb125a commit 680daea

11 files changed

Lines changed: 67 additions & 40 deletions

alicloud/data_source_alicloud_selectdb_db_clusters.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -105,7 +105,7 @@ func dataSourceAlicloudSelectDBDbClusters() *schema.Resource {
105105
Computed: true,
106106
},
107107
"optional": {
108-
Type: schema.TypeInt,
108+
Type: schema.TypeString,
109109
Computed: true,
110110
},
111111
"comment": {
@@ -274,7 +274,7 @@ func dataSourceAlicloudSelectDBDbClustersRead(d *schema.ResourceData, meta inter
274274
temp1 := map[string]interface{}{
275275
"comment": m1["Comment"].(string),
276276
"default_value": m1["DefaultValue"].(string),
277-
"optional": m1["Optional"],
277+
"optional": m1["Optional"].(string),
278278
"param_category": m1["ParamCategory"].(string),
279279
"value": m1["Value"].(string),
280280
"is_user_modifiable": m1["IsUserModifiable"],

alicloud/data_source_alicloud_selectdb_db_clusters_test.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ func TestAccAlicloudSelectDBDbClustersDataSource(t *testing.T) {
3131
"clusters.0.engine": "selectdb",
3232
"clusters.0.create_time": CHECKSET,
3333
"clusters.0.cpu": "8",
34-
"clusters.0.memory": "64",
34+
"clusters.0.memory": "32",
3535
"clusters.0.cache_size": CHECKSET,
3636
"clusters.0.region_id": CHECKSET,
3737
"clusters.0.vpc_id": CHECKSET,
@@ -82,6 +82,7 @@ resource "alicloud_selectdb_db_instance" "default" {
8282
db_instance_class = "selectdb.2xlarge"
8383
db_instance_description = var.name
8484
cache_size = "400"
85+
engine_minor_version = "3.0.12"
8586
payment_type = "PayAsYouGo"
8687
vpc_id = "${data.alicloud_vpcs.default.ids.0}"
8788
zone_id = "${data.alicloud_zones.default.ids.0}"

alicloud/data_source_alicloud_selectdb_db_instances_test.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -108,6 +108,7 @@ resource "alicloud_selectdb_db_instance" "default" {
108108
db_instance_class = "selectdb.2xlarge"
109109
db_instance_description = var.name
110110
cache_size = "400"
111+
engine_minor_version = "3.0.12"
111112
payment_type = "PayAsYouGo"
112113
vpc_id = "${data.alicloud_vpcs.default.ids.0}"
113114
zone_id = "${data.alicloud_zones.default.ids.0}"

alicloud/resource_alicloud_selectdb_db_cluster_test.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -315,6 +315,7 @@ resource "alicloud_selectdb_db_instance" "default" {
315315
db_instance_class = "selectdb.xlarge"
316316
db_instance_description = var.name
317317
cache_size = "200"
318+
engine_minor_version = "3.0.12"
318319
payment_type = "PayAsYouGo"
319320
vpc_id = data.alicloud_vswitches.default.vswitches.0.vpc_id
320321
zone_id = data.alicloud_vswitches.default.vswitches.0.zone_id

alicloud/resource_alicloud_selectdb_db_instance.go

Lines changed: 28 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,18 @@ func resourceAliCloudSelectDBDbInstance() *schema.Resource {
7272
Type: schema.TypeInt,
7373
Required: true,
7474
},
75+
"engine_minor_version": {
76+
Type: schema.TypeString,
77+
Optional: true,
78+
Default: "3.0.12",
79+
ConflictsWith: []string{"upgraded_engine_minor_version"},
80+
},
81+
"upgraded_engine_minor_version": {
82+
Type: schema.TypeString,
83+
Optional: true,
84+
ConflictsWith: []string{"engine_minor_version"},
85+
Deprecated: "Field `upgraded_engine_minor_version` has been deprecated from provider version 1.248.0. New field `engine_minor_version` instead.",
86+
},
7587
"tags": tagsSchema(),
7688
// flag for public network and update
7789
"enable_public_network": {
@@ -83,10 +95,6 @@ func resourceAliCloudSelectDBDbInstance() *schema.Resource {
8395
Sensitive: true,
8496
Optional: true,
8597
},
86-
"upgraded_engine_minor_version": {
87-
Type: schema.TypeString,
88-
Optional: true,
89-
},
9098
"desired_security_ip_lists": {
9199
Type: schema.TypeList,
92100
Optional: true,
@@ -113,10 +121,6 @@ func resourceAliCloudSelectDBDbInstance() *schema.Resource {
113121
Type: schema.TypeString,
114122
Computed: true,
115123
},
116-
"engine_minor_version": {
117-
Type: schema.TypeString,
118-
Computed: true,
119-
},
120124
"status": {
121125
Type: schema.TypeString,
122126
Computed: true,
@@ -365,8 +369,14 @@ func resourceAliCloudSelectDBDbInstanceUpdate(d *schema.ResourceData, meta inter
365369

366370
}
367371

368-
if d.HasChange("upgraded_engine_minor_version") && d.Get("upgraded_engine_minor_version") != "" {
369-
_, newVersion := d.GetChange("upgraded_engine_minor_version")
372+
if !d.IsNewResource() && (d.HasChange("engine_minor_version") || d.HasChange("upgraded_engine_minor_version")) {
373+
var newVersion interface{} = ""
374+
if d.HasChange("upgraded_engine_minor_version") {
375+
_, newVersion = d.GetChange("upgraded_engine_minor_version")
376+
} else if d.HasChange("engine_minor_version") {
377+
_, newVersion = d.GetChange("engine_minor_version")
378+
}
379+
370380
instanceId := fmt.Sprint(d.Id())
371381
instanceResp, err := selectDBService.DescribeSelectDBDbInstance(instanceId)
372382
if err != nil {
@@ -409,6 +419,7 @@ func resourceAliCloudSelectDBDbInstanceUpdate(d *schema.ResourceData, meta inter
409419
}
410420

411421
d.SetPartial("upgraded_engine_minor_version")
422+
d.SetPartial("engine_minor_version")
412423
}
413424

414425
cacheSizeModified := false
@@ -693,14 +704,20 @@ func buildSelectDBCreateInstanceRequest(d *schema.ResourceData, meta interface{}
693704

694705
request := map[string]interface{}{
695706
"Engine": "SelectDB",
696-
"EngineVersion": "3.0",
697707
"DBInstanceClass": d.Get("db_instance_class").(string),
698708
"RegionId": client.RegionId,
699709
"ZoneId": d.Get("zone_id").(string),
700710
"VpcId": d.Get("vpc_id").(string),
701711
"VSwitchId": d.Get("vswitch_id").(string),
702712
"DBInstanceDescription": d.Get("db_instance_description").(string),
703713
}
714+
715+
if v, ok := d.GetOk("engine_minor_version"); ok {
716+
request["EngineVersion"] = v.(string)
717+
} else if v, ok := d.GetOk("upgraded_engine_minor_version"); ok {
718+
request["EngineVersion"] = v.(string)
719+
}
720+
704721
cache_size, exist := d.GetOkExists("cache_size")
705722
if exist {
706723
request["CacheSize"] = cache_size.(int)

alicloud/resource_alicloud_selectdb_db_instance_test.go

Lines changed: 26 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,7 @@ func TestAccAliCloudSelectDBDbInstance_basic_info_upgrade_major_version(t *testi
8989
"db_instance_description": name,
9090
"cache_size": "200",
9191
"payment_type": "PayAsYouGo",
92+
"engine_minor_version": "3.0.12",
9293
"zone_id": "${data.alicloud_vswitches.default.vswitches.0.zone_id}",
9394
"vpc_id": "${data.alicloud_vswitches.default.vswitches.0.vpc_id}",
9495
"vswitch_id": "${data.alicloud_vswitches.default.vswitches.0.id}",
@@ -104,6 +105,7 @@ func TestAccAliCloudSelectDBDbInstance_basic_info_upgrade_major_version(t *testi
104105
"db_instance_class": "selectdb.xlarge",
105106
"cache_size": "200",
106107
"payment_type": "PayAsYouGo",
108+
"engine_minor_version": "3.0.12",
107109
"zone_id": CHECKSET,
108110
"vpc_id": CHECKSET,
109111
"vswitch_id": CHECKSET,
@@ -186,12 +188,11 @@ func TestAccAliCloudSelectDBDbInstance_basic_info_upgrade_major_version(t *testi
186188
},
187189
{
188190
Config: testAccConfig(map[string]interface{}{
189-
"upgraded_engine_minor_version": "4.0",
191+
"engine_minor_version": "4.0.4",
190192
}),
191193
Check: resource.ComposeTestCheckFunc(
192194
testAccCheck(map[string]string{
193-
"engine_minor_version": "4.0.4",
194-
"upgraded_engine_minor_version": "4.0",
195+
"engine_minor_version": "4.0.4",
195196
}),
196197
),
197198
},
@@ -233,7 +234,7 @@ func TestAccAliCloudSelectDBDbInstance_basic_info_upgrade_major_version(t *testi
233234
ImportStateVerify: true,
234235
ImportStateVerifyIgnore: []string{"security_ip_lists", "gmt_modified",
235236
"instance_net_infos", "desired_security_ip_lists", "db_instance_class",
236-
"enable_public_network", "upgraded_engine_minor_version", "admin_pass"},
237+
"enable_public_network", "admin_pass"},
237238
},
238239
},
239240
})
@@ -265,6 +266,7 @@ func TestAccAliCloudSelectDBDbInstance_basic_payment_modify_upgrade_minor_versio
265266
"db_instance_class": "selectdb.xlarge",
266267
"db_instance_description": name,
267268
"cache_size": "200",
269+
"engine_minor_version": "4.0.3",
268270
"admin_pass": "test_123",
269271
"payment_type": "Subscription",
270272
"period": "Month",
@@ -298,12 +300,11 @@ func TestAccAliCloudSelectDBDbInstance_basic_payment_modify_upgrade_minor_versio
298300
},
299301
{
300302
Config: testAccConfig(map[string]interface{}{
301-
"upgraded_engine_minor_version": "4.0.4",
303+
"engine_minor_version": "4.0.4",
302304
}),
303305
Check: resource.ComposeTestCheckFunc(
304306
testAccCheck(map[string]string{
305-
"engine_minor_version": "4.0.4",
306-
"upgraded_engine_minor_version": "4.0.4",
307+
"engine_minor_version": "4.0.4",
307308
}),
308309
),
309310
},
@@ -321,31 +322,33 @@ func TestAccAliCloudSelectDBDbInstance_basic_payment_modify_upgrade_minor_versio
321322
ResourceName: resourceId,
322323
ImportState: true,
323324
ImportStateVerify: true,
324-
ImportStateVerifyIgnore: []string{"gmt_modified", "cache_size", "db_instance_class", "upgraded_engine_minor_version",
325-
"enable_public_network", "period", "period_time", "instance_net_infos", "engine_minor_version", "admin_pass"},
325+
ImportStateVerifyIgnore: []string{"gmt_modified", "cache_size", "db_instance_class",
326+
"enable_public_network", "period", "period_time", "instance_net_infos", "admin_pass"},
326327
},
327328
},
328329
})
329330
}
330331

331332
var AliCloudSelectDBDbInstanceMap0 = map[string]string{
332-
"db_instance_class": CHECKSET,
333-
"cache_size": CHECKSET,
334-
"payment_type": CHECKSET,
335-
"zone_id": CHECKSET,
336-
"vpc_id": CHECKSET,
337-
"vswitch_id": CHECKSET,
333+
"db_instance_class": CHECKSET,
334+
"cache_size": CHECKSET,
335+
"payment_type": CHECKSET,
336+
"engine_minor_version": CHECKSET,
337+
"zone_id": CHECKSET,
338+
"vpc_id": CHECKSET,
339+
"vswitch_id": CHECKSET,
338340
}
339341

340342
var AliCloudSelectDBDbInstanceMap1 = map[string]string{
341-
"db_instance_class": CHECKSET,
342-
"cache_size": CHECKSET,
343-
"payment_type": CHECKSET,
344-
"period": CHECKSET,
345-
"period_time": CHECKSET,
346-
"zone_id": CHECKSET,
347-
"vpc_id": CHECKSET,
348-
"vswitch_id": CHECKSET,
343+
"db_instance_class": CHECKSET,
344+
"cache_size": CHECKSET,
345+
"payment_type": CHECKSET,
346+
"engine_minor_version": CHECKSET,
347+
"period": CHECKSET,
348+
"period_time": CHECKSET,
349+
"zone_id": CHECKSET,
350+
"vpc_id": CHECKSET,
351+
"vswitch_id": CHECKSET,
349352
}
350353

351354
func AliCloudSelectDBDbInstanceBasicDependence0(name string) string {

examples/selectdb/main.tf

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ resource "alicloud_selectdb_db_instance" "default" {
1818
db_instance_description = var.name
1919
cache_size = 200
2020
payment_type = "PayAsYouGo"
21+
engine_minor_version = "3.0.12"
2122
vpc_id = alicloud_vpc.default.id
2223
zone_id = data.alicloud_zones.default.zones.0.id
2324
vswitch_id = alicloud_vswitches.default.id

website/docs/d/selectdb_db_clusters.html.markdown

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ resource "alicloud_selectdb_db_instance" "default" {
4040
db_instance_description = var.name
4141
cache_size = 200
4242
payment_type = "PayAsYouGo"
43+
engine_minor_version = "3.0.12"
4344
vpc_id = data.alicloud_vswitches.default.vswitches.0.vpc_id
4445
zone_id = data.alicloud_vswitches.default.vswitches.0.zone_id
4546
vswitch_id = data.alicloud_vswitches.default.vswitches.0.id

website/docs/d/selectdb_db_instances.html.markdown

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ resource "alicloud_selectdb_db_instance" "default" {
4040
db_instance_description = var.name
4141
cache_size = 200
4242
payment_type = "PayAsYouGo"
43+
engine_minor_version = "3.0.12"
4344
vpc_id = data.alicloud_vswitches.default.vswitches.0.vpc_id
4445
zone_id = data.alicloud_vswitches.default.vswitches.0.zone_id
4546
vswitch_id = data.alicloud_vswitches.default.vswitches.0.id

website/docs/r/selectdb_db_cluster.html.markdown

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,7 @@ resource "alicloud_selectdb_db_instance" "default" {
4949
db_instance_description = var.name
5050
cache_size = 200
5151
payment_type = "PayAsYouGo"
52+
engine_minor_version = "3.0.12"
5253
vpc_id = data.alicloud_vswitches.default.vswitches.0.vpc_id
5354
zone_id = data.alicloud_vswitches.default.vswitches.0.zone_id
5455
vswitch_id = data.alicloud_vswitches.default.vswitches.0.id
@@ -95,7 +96,6 @@ The following attributes are exported:
9596
* `status` - The current status of the resource.
9697
* `cpu` - The cpu resource amount of DBCluster. Depends on `db_cluster_class`.
9798
* `memory` - The memory resource amount of DBCluster. Depends on `db_cluster_class`.
98-
* `cache_size` - The cache size of DBCluster.
9999
* `region_id` - The ID of region for the cluster.
100100
* `zone_id` - The ID of zone for the cluster.
101101
* `vpc_id` - The ID of the VPC for the cluster.

0 commit comments

Comments
 (0)