Skip to content

Commit 20c721e

Browse files
committed
d/rds_orderable_db_instance: Enable default only version
1 parent 8d2750c commit 20c721e

File tree

3 files changed

+41
-31
lines changed

3 files changed

+41
-31
lines changed

aws/data_source_aws_rds_orderable_db_instance.go

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -25,12 +25,6 @@ func dataSourceAwsRdsOrderableDbInstance() *schema.Resource {
2525
Elem: &schema.Schema{Type: schema.TypeString},
2626
},
2727

28-
"instance_class": {
29-
Type: schema.TypeString,
30-
Optional: true,
31-
Computed: true,
32-
},
33-
3428
"engine": {
3529
Type: schema.TypeString,
3630
Required: true,
@@ -42,6 +36,12 @@ func dataSourceAwsRdsOrderableDbInstance() *schema.Resource {
4236
Computed: true,
4337
},
4438

39+
"instance_class": {
40+
Type: schema.TypeString,
41+
Optional: true,
42+
Computed: true,
43+
},
44+
4545
"license_model": {
4646
Type: schema.TypeString,
4747
Optional: true,
@@ -88,13 +88,13 @@ func dataSourceAwsRdsOrderableDbInstance() *schema.Resource {
8888
Computed: true,
8989
},
9090

91-
"preferred_engine_versions": {
91+
"preferred_instance_classes": {
9292
Type: schema.TypeList,
9393
Optional: true,
9494
Elem: &schema.Schema{Type: schema.TypeString},
9595
},
9696

97-
"preferred_instance_classes": {
97+
"preferred_engine_versions": {
9898
Type: schema.TypeList,
9999
Optional: true,
100100
Elem: &schema.Schema{Type: schema.TypeString},

aws/data_source_aws_rds_orderable_db_instance_test.go

Lines changed: 16 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ func TestAccAWSRdsOrderableDbInstanceDataSource_basic(t *testing.T) {
1818
storageType := "standard"
1919

2020
resource.ParallelTest(t, resource.TestCase{
21-
PreCheck: func() { testAccPreCheck(t); testAccPreCheckAWSRdsOrderableDbInstance(t) },
21+
PreCheck: func() { testAccPreCheck(t); testAccAWSRdsOrderableDbInstancePreCheck(t) },
2222
Providers: testAccProviders,
2323
CheckDestroy: nil,
2424
Steps: []resource.TestStep{
@@ -41,7 +41,7 @@ func TestAccAWSRdsOrderableDbInstanceDataSource_preferredClass(t *testing.T) {
4141
preferredClass := "db.t2.micro"
4242

4343
resource.ParallelTest(t, resource.TestCase{
44-
PreCheck: func() { testAccPreCheck(t); testAccPreCheckAWSRdsOrderableDbInstance(t) },
44+
PreCheck: func() { testAccPreCheck(t); testAccAWSRdsOrderableDbInstancePreCheck(t) },
4545
Providers: testAccProviders,
4646
CheckDestroy: nil,
4747
Steps: []resource.TestStep{
@@ -60,7 +60,7 @@ func TestAccAWSRdsOrderableDbInstanceDataSource_preferredVersion(t *testing.T) {
6060
preferredVersion := "5.7.22"
6161

6262
resource.ParallelTest(t, resource.TestCase{
63-
PreCheck: func() { testAccPreCheck(t); testAccPreCheckAWSRdsOrderableDbInstance(t) },
63+
PreCheck: func() { testAccPreCheck(t); testAccAWSRdsOrderableDbInstancePreCheck(t) },
6464
Providers: testAccProviders,
6565
CheckDestroy: nil,
6666
Steps: []resource.TestStep{
@@ -80,7 +80,7 @@ func TestAccAWSRdsOrderableDbInstanceDataSource_preferredClassAndVersion(t *test
8080
preferredVersion := "5.7.22"
8181

8282
resource.ParallelTest(t, resource.TestCase{
83-
PreCheck: func() { testAccPreCheck(t); testAccPreCheckAWSRdsOrderableDbInstance(t) },
83+
PreCheck: func() { testAccPreCheck(t); testAccAWSRdsOrderableDbInstancePreCheck(t) },
8484
Providers: testAccProviders,
8585
CheckDestroy: nil,
8686
Steps: []resource.TestStep{
@@ -99,7 +99,7 @@ func TestAccAWSRdsOrderableDbInstanceDataSource_supportsEnhancedMonitoring(t *te
9999
dataSourceName := "data.aws_rds_orderable_db_instance.test"
100100

101101
resource.ParallelTest(t, resource.TestCase{
102-
PreCheck: func() { testAccPreCheck(t); testAccPreCheckAWSRdsOrderableDbInstance(t) },
102+
PreCheck: func() { testAccPreCheck(t); testAccAWSRdsOrderableDbInstancePreCheck(t) },
103103
Providers: testAccProviders,
104104
CheckDestroy: nil,
105105
Steps: []resource.TestStep{
@@ -117,7 +117,7 @@ func TestAccAWSRdsOrderableDbInstanceDataSource_supportsIAMDatabaseAuthenticatio
117117
dataSourceName := "data.aws_rds_orderable_db_instance.test"
118118

119119
resource.ParallelTest(t, resource.TestCase{
120-
PreCheck: func() { testAccPreCheck(t); testAccPreCheckAWSRdsOrderableDbInstance(t) },
120+
PreCheck: func() { testAccPreCheck(t); testAccAWSRdsOrderableDbInstancePreCheck(t) },
121121
Providers: testAccProviders,
122122
CheckDestroy: nil,
123123
Steps: []resource.TestStep{
@@ -135,7 +135,7 @@ func TestAccAWSRdsOrderableDbInstanceDataSource_supportsIops(t *testing.T) {
135135
dataSourceName := "data.aws_rds_orderable_db_instance.test"
136136

137137
resource.ParallelTest(t, resource.TestCase{
138-
PreCheck: func() { testAccPreCheck(t); testAccPreCheckAWSRdsOrderableDbInstance(t) },
138+
PreCheck: func() { testAccPreCheck(t); testAccAWSRdsOrderableDbInstancePreCheck(t) },
139139
Providers: testAccProviders,
140140
CheckDestroy: nil,
141141
Steps: []resource.TestStep{
@@ -153,7 +153,7 @@ func TestAccAWSRdsOrderableDbInstanceDataSource_supportsKerberosAuthentication(t
153153
dataSourceName := "data.aws_rds_orderable_db_instance.test"
154154

155155
resource.ParallelTest(t, resource.TestCase{
156-
PreCheck: func() { testAccPreCheck(t); testAccPreCheckAWSRdsOrderableDbInstance(t) },
156+
PreCheck: func() { testAccPreCheck(t); testAccAWSRdsOrderableDbInstancePreCheck(t) },
157157
Providers: testAccProviders,
158158
CheckDestroy: nil,
159159
Steps: []resource.TestStep{
@@ -173,8 +173,8 @@ func TestAccAWSRdsOrderableDbInstanceDataSource_supportsPerformanceInsights(t *t
173173
resource.ParallelTest(t, resource.TestCase{
174174
PreCheck: func() {
175175
testAccPreCheck(t)
176-
testAccPreCheckAWSRdsOrderableDbInstance(t)
177-
testAccPreCheckAWSRdsOrderableDbInstanceStandardPartition(t)
176+
testAccAWSRdsOrderableDbInstancePreCheck(t)
177+
testAccRDSPerformanceInsightsDefaultVersionPreCheck(t, "mysql")
178178
},
179179
Providers: testAccProviders,
180180
CheckDestroy: nil,
@@ -193,7 +193,7 @@ func TestAccAWSRdsOrderableDbInstanceDataSource_supportsStorageAutoscaling(t *te
193193
dataSourceName := "data.aws_rds_orderable_db_instance.test"
194194

195195
resource.ParallelTest(t, resource.TestCase{
196-
PreCheck: func() { testAccPreCheck(t); testAccPreCheckAWSRdsOrderableDbInstance(t) },
196+
PreCheck: func() { testAccPreCheck(t); testAccAWSRdsOrderableDbInstancePreCheck(t) },
197197
Providers: testAccProviders,
198198
CheckDestroy: nil,
199199
Steps: []resource.TestStep{
@@ -211,7 +211,7 @@ func TestAccAWSRdsOrderableDbInstanceDataSource_supportsStorageEncryption(t *tes
211211
dataSourceName := "data.aws_rds_orderable_db_instance.test"
212212

213213
resource.ParallelTest(t, resource.TestCase{
214-
PreCheck: func() { testAccPreCheck(t); testAccPreCheckAWSRdsOrderableDbInstance(t) },
214+
PreCheck: func() { testAccPreCheck(t); testAccAWSRdsOrderableDbInstancePreCheck(t) },
215215
Providers: testAccProviders,
216216
CheckDestroy: nil,
217217
Steps: []resource.TestStep{
@@ -225,11 +225,13 @@ func TestAccAWSRdsOrderableDbInstanceDataSource_supportsStorageEncryption(t *tes
225225
})
226226
}
227227

228-
func testAccPreCheckAWSRdsOrderableDbInstance(t *testing.T) {
228+
func testAccAWSRdsOrderableDbInstancePreCheck(t *testing.T) {
229229
conn := testAccProvider.Meta().(*AWSClient).rdsconn
230230

231231
input := &rds.DescribeOrderableDBInstanceOptionsInput{
232-
Engine: aws.String("mysql"),
232+
Engine: aws.String("mysql"),
233+
EngineVersion: aws.String("8.0.20"),
234+
DBInstanceClass: aws.String("db.m5.xlarge"),
233235
}
234236

235237
_, err := conn.DescribeOrderableDBInstanceOptions(input)
@@ -243,12 +245,6 @@ func testAccPreCheckAWSRdsOrderableDbInstance(t *testing.T) {
243245
}
244246
}
245247

246-
func testAccPreCheckAWSRdsOrderableDbInstanceStandardPartition(t *testing.T) {
247-
if testAccGetPartition() != "aws" {
248-
t.Skipf("skipping acceptance testing, not in standard partition (partition: %s)", testAccGetPartition())
249-
}
250-
}
251-
252248
func testAccAWSRdsOrderableDbInstanceDataSourceConfig_basic(class, engine, version, license, storage string) string {
253249
return fmt.Sprintf(`
254250
data "aws_rds_orderable_db_instance" "test" {

website/docs/d/rds_orderable_db_instance.markdown

Lines changed: 17 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ description: |-
88

99
# Data Source: aws_rds_orderable_db_instance
1010

11-
Information about RDS orderable DB instances.
11+
Information about RDS orderable DB instances and valid parameter combinations.
1212

1313
## Example Usage
1414

@@ -23,16 +23,30 @@ data "aws_rds_orderable_db_instance" "test" {
2323
}
2424
```
2525

26+
Valid parameter combinations can also be found with `preferred_engine_versions` and/or `preferred_instance_classes`.
27+
28+
```hcl
29+
data "aws_rds_orderable_db_instance" "test" {
30+
engine = "mysql"
31+
license_model = "general-public-license"
32+
33+
preferred_engine_versions = ["5.6.35", "5.6.41", "5.6.44"]
34+
preferred_instance_classes = ["db.t2.small", "db.t3.medium", "db.t3.large"]
35+
}
36+
```
37+
38+
2639
## Argument Reference
2740

2841
The following arguments are supported:
2942

30-
* `engine` - (Required) DB engine. Engine values include `aurora`, `aurora-mysql`, `aurora-postgresql`, `docdb`, `mariadb`, `mysql`, `neptune`, `oracle-ee`, `oracle-se`, `oracle-se1`, `oracle-se2`, `postgres`, `sqlserver-ee`, `sqlserver-ex`, `sqlserver-se`, and `sqlserver-web`.
3143
* `availability_zone_group` - (Optional) Availability zone group.
44+
* `engine` - (Required) DB engine. Engine values include `aurora`, `aurora-mysql`, `aurora-postgresql`, `docdb`, `mariadb`, `mysql`, `neptune`, `oracle-ee`, `oracle-se`, `oracle-se1`, `oracle-se2`, `postgres`, `sqlserver-ee`, `sqlserver-ex`, `sqlserver-se`, and `sqlserver-web`.
45+
* `engine_version` - (Optional) Version of the DB engine. If none is provided, the AWS-defined default version will be used.
3246
* `instance_class` - (Optional) DB instance class. Examples of classes are `db.m3.2xlarge`, `db.t2.small`, and `db.m3.medium`.
33-
* `engine_version` - (Optional) Version of the DB engine.
3447
* `license_model` - (Optional) License model. Examples of license models are `general-public-license`, `bring-your-own-license`, and `amazon-license`.
3548
* `preferred_instance_classes` - (Optional) Ordered list of preferred RDS DB instance classes. The first match in this list will be returned. If no preferred matches are found and the original search returned more than one result, an error is returned.
49+
* `preferred_engine_versions` - (Optional) Ordered list of preferred RDS DB instance engine versions. The first match in this list will be returned. If no preferred matches are found and the original search returned more than one result, an error is returned.
3650
* `storage_type` - (Optional) Storage types. Examples of storage types are `standard`, `io1`, `gp2`, and `aurora`.
3751
* `supports_enhanced_monitoring` - (Optional) Enable this to ensure a DB instance supports Enhanced Monitoring at intervals from 1 to 60 seconds.
3852
* `supports_global_databases` - (Optional) Enable this to ensure a DB instance supports Aurora global databases with a specific combination of other DB engine attributes.

0 commit comments

Comments
 (0)