Skip to content

Commit e71a229

Browse files
committed
aws_rds_integration tests: use data.aws_rds_engine_version
1 parent a2a53ee commit e71a229

File tree

6 files changed

+391
-31
lines changed

6 files changed

+391
-31
lines changed

internal/service/rds/integration_test.go

Lines changed: 20 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -236,9 +236,15 @@ resource "aws_db_subnet_group" "test" {
236236
}
237237
}
238238
239+
data "aws_rds_engine_version" "test" {
240+
engine = "aurora-mysql"
241+
version = "8.0"
242+
latest = true
243+
}
244+
239245
resource "aws_rds_cluster_parameter_group" "test" {
240246
name = %[1]q
241-
family = "aurora-mysql8.0"
247+
family = data.aws_rds_engine_version.test.parameter_group_family
242248
243249
dynamic "parameter" {
244250
for_each = local.cluster_parameters
@@ -252,8 +258,8 @@ resource "aws_rds_cluster_parameter_group" "test" {
252258
253259
resource "aws_rds_cluster" "test" {
254260
cluster_identifier = %[1]q
255-
engine = "aurora-mysql"
256-
engine_version = "8.0.mysql_aurora.3.05.2"
261+
engine = data.aws_rds_engine_version.test.engine
262+
engine_version = data.aws_rds_engine_version.test.version_actual
257263
database_name = "test"
258264
master_username = "tfacctest"
259265
master_password = "avoid-plaintext-passwords"
@@ -266,12 +272,20 @@ resource "aws_rds_cluster" "test" {
266272
apply_immediately = true
267273
}
268274
275+
data "aws_rds_orderable_db_instance" "test" {
276+
engine = data.aws_rds_engine_version.test.engine
277+
engine_version = data.aws_rds_engine_version.test.version_actual
278+
preferred_instance_classes = [%[2]s]
279+
supports_clusters = true
280+
supports_global_databases = true
281+
}
282+
269283
resource "aws_rds_cluster_instance" "test" {
270284
identifier = %[1]q
271-
cluster_identifier = aws_rds_cluster.test.id
272-
instance_class = "db.r6g.large"
285+
cluster_identifier = aws_rds_cluster.test.cluster_identifier
273286
engine = aws_rds_cluster.test.engine
274287
engine_version = aws_rds_cluster.test.engine_version
288+
instance_class = data.aws_rds_orderable_db_instance.test.instance_class
275289
}
276290
277291
resource "aws_redshift_cluster" "test" {
@@ -289,7 +303,7 @@ resource "aws_redshift_cluster" "test" {
289303
publicly_accessible = false
290304
encrypted = true
291305
}
292-
`, rName))
306+
`, rName, mainInstanceClasses))
293307
}
294308

295309
func testAccIntegrationConfig_base(rName string) string {

internal/service/rds/testdata/Integration/basic/main_gen.tf

Lines changed: 73 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -154,9 +154,15 @@ resource "aws_db_subnet_group" "test" {
154154
subnet_ids = aws_subnet.test[*].id
155155
}
156156

157+
data "aws_rds_engine_version" "test" {
158+
engine = "aurora-mysql"
159+
version = "8.0"
160+
latest = true
161+
}
162+
157163
resource "aws_rds_cluster_parameter_group" "test" {
158164
name = var.rName
159-
family = "aurora-mysql8.0"
165+
family = data.aws_rds_engine_version.test.parameter_group_family
160166

161167
dynamic "parameter" {
162168
for_each = local.cluster_parameters
@@ -170,8 +176,8 @@ resource "aws_rds_cluster_parameter_group" "test" {
170176

171177
resource "aws_rds_cluster" "test" {
172178
cluster_identifier = var.rName
173-
engine = "aurora-mysql"
174-
engine_version = "8.0.mysql_aurora.3.05.2"
179+
engine = data.aws_rds_engine_version.test.engine
180+
engine_version = data.aws_rds_engine_version.test.version_actual
175181
database_name = "test"
176182
master_username = "tfacctest"
177183
master_password = "avoid-plaintext-passwords"
@@ -184,12 +190,20 @@ resource "aws_rds_cluster" "test" {
184190
apply_immediately = true
185191
}
186192

193+
data "aws_rds_orderable_db_instance" "test" {
194+
engine = data.aws_rds_engine_version.test.engine
195+
engine_version = data.aws_rds_engine_version.test.version_actual
196+
preferred_instance_classes = local.mainInstanceClasses
197+
supports_clusters = true
198+
supports_global_databases = true
199+
}
200+
187201
resource "aws_rds_cluster_instance" "test" {
188202
identifier = var.rName
189-
cluster_identifier = aws_rds_cluster.test.id
190-
instance_class = "db.r6g.large"
203+
cluster_identifier = aws_rds_cluster.test.cluster_identifier
191204
engine = aws_rds_cluster.test.engine
192205
engine_version = aws_rds_cluster.test.engine_version
206+
instance_class = data.aws_rds_orderable_db_instance.test.instance_class
193207
}
194208

195209
resource "aws_redshift_cluster" "test" {
@@ -237,6 +251,60 @@ locals {
237251
default_exclude_zone_ids = ["usw2-az4", "usgw1-az2"]
238252
}
239253

254+
locals {
255+
mainInstanceClasses = [
256+
"db.t4g.micro",
257+
"db.t3.micro",
258+
"db.t4g.small",
259+
"db.t3.small",
260+
"db.t4g.medium",
261+
"db.t3.medium",
262+
"db.t4g.large",
263+
"db.t3.large",
264+
"db.m6g.large",
265+
"db.m7g.large",
266+
"db.m5.large",
267+
"db.m6i.large",
268+
"db.m6gd.large",
269+
"db.m5d.large",
270+
"db.r6g.large",
271+
"db.m6id.large",
272+
"db.r7g.large",
273+
"db.r5.large",
274+
"db.r6i.large",
275+
"db.r6gd.large",
276+
"db.m6in.large",
277+
"db.t4g.xlarge",
278+
"db.t3.xlarge",
279+
"db.r5d.large",
280+
"db.m6idn.large",
281+
"db.r5b.large",
282+
"db.r6id.large",
283+
"db.m6g.xlarge",
284+
"db.x2g.large",
285+
"db.m7g.xlarge",
286+
"db.m5.xlarge",
287+
"db.m6i.xlarge",
288+
"db.r6in.large",
289+
"db.m6gd.xlarge",
290+
"db.r6idn.large",
291+
"db.m5d.xlarge",
292+
"db.r6g.xlarge",
293+
"db.m6id.xlarge",
294+
"db.r7g.xlarge",
295+
"db.r5.xlarge",
296+
"db.r6i.xlarge",
297+
"db.r6gd.xlarge",
298+
"db.m6in.xlarge",
299+
"db.t4g.2xlarge",
300+
"db.t3.2xlarge",
301+
"db.r5d.xlarge",
302+
"db.m6idn.xlarge",
303+
"db.r5b.xlarge",
304+
"db.r6id.xlarge",
305+
]
306+
}
307+
240308
variable "rName" {
241309
description = "Name for resource"
242310
type = string

internal/service/rds/testdata/Integration/basic_v5.100.0/main_gen.tf

Lines changed: 73 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -154,9 +154,15 @@ resource "aws_db_subnet_group" "test" {
154154
subnet_ids = aws_subnet.test[*].id
155155
}
156156

157+
data "aws_rds_engine_version" "test" {
158+
engine = "aurora-mysql"
159+
version = "8.0"
160+
latest = true
161+
}
162+
157163
resource "aws_rds_cluster_parameter_group" "test" {
158164
name = var.rName
159-
family = "aurora-mysql8.0"
165+
family = data.aws_rds_engine_version.test.parameter_group_family
160166

161167
dynamic "parameter" {
162168
for_each = local.cluster_parameters
@@ -170,8 +176,8 @@ resource "aws_rds_cluster_parameter_group" "test" {
170176

171177
resource "aws_rds_cluster" "test" {
172178
cluster_identifier = var.rName
173-
engine = "aurora-mysql"
174-
engine_version = "8.0.mysql_aurora.3.05.2"
179+
engine = data.aws_rds_engine_version.test.engine
180+
engine_version = data.aws_rds_engine_version.test.version_actual
175181
database_name = "test"
176182
master_username = "tfacctest"
177183
master_password = "avoid-plaintext-passwords"
@@ -184,12 +190,20 @@ resource "aws_rds_cluster" "test" {
184190
apply_immediately = true
185191
}
186192

193+
data "aws_rds_orderable_db_instance" "test" {
194+
engine = data.aws_rds_engine_version.test.engine
195+
engine_version = data.aws_rds_engine_version.test.version_actual
196+
preferred_instance_classes = local.mainInstanceClasses
197+
supports_clusters = true
198+
supports_global_databases = true
199+
}
200+
187201
resource "aws_rds_cluster_instance" "test" {
188202
identifier = var.rName
189-
cluster_identifier = aws_rds_cluster.test.id
190-
instance_class = "db.r6g.large"
203+
cluster_identifier = aws_rds_cluster.test.cluster_identifier
191204
engine = aws_rds_cluster.test.engine
192205
engine_version = aws_rds_cluster.test.engine_version
206+
instance_class = data.aws_rds_orderable_db_instance.test.instance_class
193207
}
194208

195209
resource "aws_redshift_cluster" "test" {
@@ -237,6 +251,60 @@ locals {
237251
default_exclude_zone_ids = ["usw2-az4", "usgw1-az2"]
238252
}
239253

254+
locals {
255+
mainInstanceClasses = [
256+
"db.t4g.micro",
257+
"db.t3.micro",
258+
"db.t4g.small",
259+
"db.t3.small",
260+
"db.t4g.medium",
261+
"db.t3.medium",
262+
"db.t4g.large",
263+
"db.t3.large",
264+
"db.m6g.large",
265+
"db.m7g.large",
266+
"db.m5.large",
267+
"db.m6i.large",
268+
"db.m6gd.large",
269+
"db.m5d.large",
270+
"db.r6g.large",
271+
"db.m6id.large",
272+
"db.r7g.large",
273+
"db.r5.large",
274+
"db.r6i.large",
275+
"db.r6gd.large",
276+
"db.m6in.large",
277+
"db.t4g.xlarge",
278+
"db.t3.xlarge",
279+
"db.r5d.large",
280+
"db.m6idn.large",
281+
"db.r5b.large",
282+
"db.r6id.large",
283+
"db.m6g.xlarge",
284+
"db.x2g.large",
285+
"db.m7g.xlarge",
286+
"db.m5.xlarge",
287+
"db.m6i.xlarge",
288+
"db.r6in.large",
289+
"db.m6gd.xlarge",
290+
"db.r6idn.large",
291+
"db.m5d.xlarge",
292+
"db.r6g.xlarge",
293+
"db.m6id.xlarge",
294+
"db.r7g.xlarge",
295+
"db.r5.xlarge",
296+
"db.r6i.xlarge",
297+
"db.r6gd.xlarge",
298+
"db.m6in.xlarge",
299+
"db.t4g.2xlarge",
300+
"db.t3.2xlarge",
301+
"db.r5d.xlarge",
302+
"db.m6idn.xlarge",
303+
"db.r5b.xlarge",
304+
"db.r6id.xlarge",
305+
]
306+
}
307+
240308
variable "rName" {
241309
description = "Name for resource"
242310
type = string

internal/service/rds/testdata/Integration/basic_v6.0.0/main_gen.tf

Lines changed: 73 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -154,9 +154,15 @@ resource "aws_db_subnet_group" "test" {
154154
subnet_ids = aws_subnet.test[*].id
155155
}
156156

157+
data "aws_rds_engine_version" "test" {
158+
engine = "aurora-mysql"
159+
version = "8.0"
160+
latest = true
161+
}
162+
157163
resource "aws_rds_cluster_parameter_group" "test" {
158164
name = var.rName
159-
family = "aurora-mysql8.0"
165+
family = data.aws_rds_engine_version.test.parameter_group_family
160166

161167
dynamic "parameter" {
162168
for_each = local.cluster_parameters
@@ -170,8 +176,8 @@ resource "aws_rds_cluster_parameter_group" "test" {
170176

171177
resource "aws_rds_cluster" "test" {
172178
cluster_identifier = var.rName
173-
engine = "aurora-mysql"
174-
engine_version = "8.0.mysql_aurora.3.05.2"
179+
engine = data.aws_rds_engine_version.test.engine
180+
engine_version = data.aws_rds_engine_version.test.version_actual
175181
database_name = "test"
176182
master_username = "tfacctest"
177183
master_password = "avoid-plaintext-passwords"
@@ -184,12 +190,20 @@ resource "aws_rds_cluster" "test" {
184190
apply_immediately = true
185191
}
186192

193+
data "aws_rds_orderable_db_instance" "test" {
194+
engine = data.aws_rds_engine_version.test.engine
195+
engine_version = data.aws_rds_engine_version.test.version_actual
196+
preferred_instance_classes = local.mainInstanceClasses
197+
supports_clusters = true
198+
supports_global_databases = true
199+
}
200+
187201
resource "aws_rds_cluster_instance" "test" {
188202
identifier = var.rName
189-
cluster_identifier = aws_rds_cluster.test.id
190-
instance_class = "db.r6g.large"
203+
cluster_identifier = aws_rds_cluster.test.cluster_identifier
191204
engine = aws_rds_cluster.test.engine
192205
engine_version = aws_rds_cluster.test.engine_version
206+
instance_class = data.aws_rds_orderable_db_instance.test.instance_class
193207
}
194208

195209
resource "aws_redshift_cluster" "test" {
@@ -237,6 +251,60 @@ locals {
237251
default_exclude_zone_ids = ["usw2-az4", "usgw1-az2"]
238252
}
239253

254+
locals {
255+
mainInstanceClasses = [
256+
"db.t4g.micro",
257+
"db.t3.micro",
258+
"db.t4g.small",
259+
"db.t3.small",
260+
"db.t4g.medium",
261+
"db.t3.medium",
262+
"db.t4g.large",
263+
"db.t3.large",
264+
"db.m6g.large",
265+
"db.m7g.large",
266+
"db.m5.large",
267+
"db.m6i.large",
268+
"db.m6gd.large",
269+
"db.m5d.large",
270+
"db.r6g.large",
271+
"db.m6id.large",
272+
"db.r7g.large",
273+
"db.r5.large",
274+
"db.r6i.large",
275+
"db.r6gd.large",
276+
"db.m6in.large",
277+
"db.t4g.xlarge",
278+
"db.t3.xlarge",
279+
"db.r5d.large",
280+
"db.m6idn.large",
281+
"db.r5b.large",
282+
"db.r6id.large",
283+
"db.m6g.xlarge",
284+
"db.x2g.large",
285+
"db.m7g.xlarge",
286+
"db.m5.xlarge",
287+
"db.m6i.xlarge",
288+
"db.r6in.large",
289+
"db.m6gd.xlarge",
290+
"db.r6idn.large",
291+
"db.m5d.xlarge",
292+
"db.r6g.xlarge",
293+
"db.m6id.xlarge",
294+
"db.r7g.xlarge",
295+
"db.r5.xlarge",
296+
"db.r6i.xlarge",
297+
"db.r6gd.xlarge",
298+
"db.m6in.xlarge",
299+
"db.t4g.2xlarge",
300+
"db.t3.2xlarge",
301+
"db.r5d.xlarge",
302+
"db.m6idn.xlarge",
303+
"db.r5b.xlarge",
304+
"db.r6id.xlarge",
305+
]
306+
}
307+
240308
variable "rName" {
241309
description = "Name for resource"
242310
type = string

0 commit comments

Comments
 (0)