@@ -42,6 +42,8 @@ func testAccCluster_basic(t *testing.T) {
42
42
resource .TestCheckResourceAttr (resourceName , names .AttrStatus , "DEPLOYED" ),
43
43
resource .TestCheckResourceAttr (resourceName , "cluster_endpoints.#" , "5" ),
44
44
resource .TestCheckResourceAttr (resourceName , "network_type" , string (awstypes .NetworkTypeIpv4 )),
45
+ resource .TestCheckResourceAttr (resourceName , acctest .CtTagsPercent , "0" ),
46
+ resource .TestCheckResourceAttr (resourceName , acctest .CtTagsAllPercent , "0" ),
45
47
),
46
48
},
47
49
{
@@ -114,6 +116,65 @@ func testAccCluster_networkType(t *testing.T) {
114
116
})
115
117
}
116
118
119
+ func testAccCluster_tags (t * testing.T ) {
120
+ ctx := acctest .Context (t )
121
+ rName := sdkacctest .RandomWithPrefix (acctest .ResourcePrefix )
122
+ resourceName := "aws_route53recoverycontrolconfig_cluster.test"
123
+
124
+ resource .Test (t , resource.TestCase {
125
+ PreCheck : func () {
126
+ acctest .PreCheck (ctx , t )
127
+ acctest .PreCheckPartitionHasService (t , names .Route53RecoveryControlConfigEndpointID )
128
+ },
129
+ ErrorCheck : acctest .ErrorCheck (t , names .Route53RecoveryControlConfigServiceID ),
130
+ ProtoV5ProviderFactories : acctest .ProtoV5ProviderFactories ,
131
+ CheckDestroy : testAccCheckClusterDestroy (ctx ),
132
+ Steps : []resource.TestStep {
133
+ {
134
+ Config : testAccClusterConfig_tags1 (rName , acctest .CtKey1 , acctest .CtValue1 ),
135
+ Check : resource .ComposeTestCheckFunc (
136
+ testAccCheckClusterExists (ctx , resourceName ),
137
+ resource .TestCheckResourceAttr (resourceName , names .AttrName , rName ),
138
+ resource .TestCheckResourceAttr (resourceName , names .AttrStatus , "DEPLOYED" ),
139
+ resource .TestCheckResourceAttr (resourceName , "cluster_endpoints.#" , "5" ),
140
+ resource .TestCheckResourceAttr (resourceName , acctest .CtTagsPercent , "1" ),
141
+ resource .TestCheckResourceAttr (resourceName , acctest .CtTagsKey1 , acctest .CtValue1 ),
142
+ ),
143
+ },
144
+ {
145
+ ResourceName : resourceName ,
146
+ ImportState : true ,
147
+ ImportStateVerify : true ,
148
+ ImportStateVerifyIgnore : []string {"cluster_endpoints" },
149
+ },
150
+
151
+ {
152
+ Config : testAccClusterConfig_tags2 (rName , acctest .CtKey1 , acctest .CtValue1Updated , acctest .CtKey2 , acctest .CtValue2 ),
153
+ Check : resource .ComposeTestCheckFunc (
154
+ testAccCheckClusterExists (ctx , resourceName ),
155
+ resource .TestCheckResourceAttr (resourceName , names .AttrName , rName ),
156
+ resource .TestCheckResourceAttr (resourceName , names .AttrStatus , "DEPLOYED" ),
157
+ resource .TestCheckResourceAttr (resourceName , "cluster_endpoints.#" , "5" ),
158
+ resource .TestCheckResourceAttr (resourceName , acctest .CtTagsPercent , "2" ),
159
+ resource .TestCheckResourceAttr (resourceName , acctest .CtTagsKey1 , acctest .CtValue1Updated ),
160
+ resource .TestCheckResourceAttr (resourceName , acctest .CtTagsKey2 , acctest .CtValue2 ),
161
+ ),
162
+ },
163
+ {
164
+ Config : testAccClusterConfig_tags1 (rName , acctest .CtKey2 , acctest .CtValue2 ),
165
+ Check : resource .ComposeTestCheckFunc (
166
+ testAccCheckClusterExists (ctx , resourceName ),
167
+ resource .TestCheckResourceAttr (resourceName , names .AttrName , rName ),
168
+ resource .TestCheckResourceAttr (resourceName , names .AttrStatus , "DEPLOYED" ),
169
+ resource .TestCheckResourceAttr (resourceName , "cluster_endpoints.#" , "5" ),
170
+ resource .TestCheckResourceAttr (resourceName , acctest .CtTagsPercent , "1" ),
171
+ resource .TestCheckResourceAttr (resourceName , acctest .CtTagsKey2 , acctest .CtValue2 ),
172
+ ),
173
+ },
174
+ },
175
+ })
176
+ }
177
+
117
178
func testAccCluster_disappears (t * testing.T ) {
118
179
ctx := acctest .Context (t )
119
180
rName := sdkacctest .RandomWithPrefix (acctest .ResourcePrefix )
@@ -197,3 +258,26 @@ resource "aws_route53recoverycontrolconfig_cluster" "test" {
197
258
}
198
259
` , rName , networkType )
199
260
}
261
+
262
+ func testAccClusterConfig_tags1 (rName , tagKey1 , tagValue1 string ) string {
263
+ return fmt .Sprintf (`
264
+ resource "aws_route53recoverycontrolconfig_cluster" "test" {
265
+ name = %[1]q
266
+ tags = {
267
+ %[2]q = %[3]q
268
+ }
269
+ }
270
+ ` , rName , tagKey1 , tagValue1 )
271
+ }
272
+
273
+ func testAccClusterConfig_tags2 (rName , tagKey1 , tagValue1 , tagKey2 , tagValue2 string ) string {
274
+ return fmt .Sprintf (`
275
+ resource "aws_route53recoverycontrolconfig_cluster" "test" {
276
+ name = %[1]q
277
+ tags = {
278
+ %[2]q = %[3]q
279
+ %[4]q = %[5]q
280
+ }
281
+ }
282
+ ` , rName , tagKey1 , tagValue1 , tagKey2 , tagValue2 )
283
+ }
0 commit comments