@@ -180,6 +180,49 @@ func TestAccRoute53ResolverRuleDataSource_sharedWithMe(t *testing.T) {
180
180
})
181
181
}
182
182
183
+ func TestAccRoute53ResolverRuleDataSource_delegationRecord (t * testing.T ) {
184
+ ctx := acctest .Context (t )
185
+ delegationRecord := acctest .RandomDomainName ()
186
+ rName := sdkacctest .RandomWithPrefix (acctest .ResourcePrefix )
187
+ resourceName := "aws_route53_resolver_rule.test"
188
+ ds1ResourceName := "data.aws_route53_resolver_rule.by_resolver_rule_id"
189
+ ds2ResourceName := "data.aws_route53_resolver_rule.by_name_and_rule_type"
190
+
191
+ resource .ParallelTest (t , resource.TestCase {
192
+ PreCheck : func () { acctest .PreCheck (ctx , t ); testAccPreCheck (ctx , t ) },
193
+ ErrorCheck : acctest .ErrorCheck (t , names .Route53ResolverServiceID ),
194
+ ProtoV5ProviderFactories : acctest .ProtoV5ProviderFactories ,
195
+ Steps : []resource.TestStep {
196
+ {
197
+ Config : testAccRuleDataSourceConfig_delegatationRecord (rName , delegationRecord ),
198
+ Check : resource .ComposeAggregateTestCheckFunc (
199
+ resource .TestCheckResourceAttrPair (ds1ResourceName , names .AttrID , resourceName , names .AttrID ),
200
+ resource .TestCheckResourceAttrPair (ds1ResourceName , names .AttrARN , resourceName , names .AttrARN ),
201
+ resource .TestCheckResourceAttrPair (ds1ResourceName , "delegation_record" , resourceName , "delegation_record" ),
202
+ resource .TestCheckResourceAttrPair (ds1ResourceName , names .AttrName , resourceName , names .AttrName ),
203
+ resource .TestCheckResourceAttrPair (ds1ResourceName , names .AttrOwnerID , resourceName , names .AttrOwnerID ),
204
+ resource .TestCheckResourceAttrPair (ds1ResourceName , "resolver_endpoint_id" , resourceName , "resolver_endpoint_id" ),
205
+ resource .TestCheckResourceAttrPair (ds1ResourceName , "resolver_rule_id" , resourceName , names .AttrID ),
206
+ resource .TestCheckResourceAttrPair (ds1ResourceName , "rule_type" , resourceName , "rule_type" ),
207
+ resource .TestCheckResourceAttrPair (ds1ResourceName , "share_status" , resourceName , "share_status" ),
208
+ resource .TestCheckResourceAttrPair (ds1ResourceName , acctest .CtTagsPercent , resourceName , acctest .CtTagsPercent ),
209
+
210
+ resource .TestCheckResourceAttrPair (ds2ResourceName , names .AttrID , resourceName , names .AttrID ),
211
+ resource .TestCheckResourceAttrPair (ds2ResourceName , names .AttrARN , resourceName , names .AttrARN ),
212
+ resource .TestCheckResourceAttrPair (ds2ResourceName , "delegation_record" , resourceName , "delegation_record" ),
213
+ resource .TestCheckResourceAttrPair (ds2ResourceName , names .AttrName , resourceName , names .AttrName ),
214
+ resource .TestCheckResourceAttrPair (ds2ResourceName , names .AttrOwnerID , resourceName , names .AttrOwnerID ),
215
+ resource .TestCheckResourceAttrPair (ds2ResourceName , "resolver_endpoint_id" , resourceName , "resolver_endpoint_id" ),
216
+ resource .TestCheckResourceAttrPair (ds2ResourceName , "resolver_rule_id" , resourceName , names .AttrID ),
217
+ resource .TestCheckResourceAttrPair (ds2ResourceName , "rule_type" , resourceName , "rule_type" ),
218
+ resource .TestCheckResourceAttrPair (ds2ResourceName , "share_status" , resourceName , "share_status" ),
219
+ resource .TestCheckResourceAttrPair (ds2ResourceName , acctest .CtTagsPercent , resourceName , acctest .CtTagsPercent ),
220
+ ),
221
+ },
222
+ },
223
+ })
224
+ }
225
+
183
226
func testAccRuleDataSourceConfig_basic (rName , domainName string ) string {
184
227
return fmt .Sprintf (`
185
228
resource "aws_route53_resolver_rule" "test" {
@@ -203,6 +246,26 @@ data "aws_route53_resolver_rule" "by_name_and_rule_type" {
203
246
` , rName , domainName )
204
247
}
205
248
249
+ func testAccRuleDataSourceConfig_delegatationRecord (rName , delegationRecord string ) string {
250
+ return acctest .ConfigCompose (testAccRuleConfig_resolverEndpointBase (rName ), fmt .Sprintf (`
251
+ resource "aws_route53_resolver_rule" "test" {
252
+ delegation_record = %[2]q
253
+ rule_type = "DELEGATE"
254
+ name = %[1]q
255
+ resolver_endpoint_id = aws_route53_resolver_endpoint.test[1].id
256
+ }
257
+
258
+ data "aws_route53_resolver_rule" "by_resolver_rule_id" {
259
+ resolver_rule_id = aws_route53_resolver_rule.test.id
260
+ }
261
+
262
+ data "aws_route53_resolver_rule" "by_name_and_rule_type" {
263
+ name = aws_route53_resolver_rule.test.name
264
+ rule_type = aws_route53_resolver_rule.test.rule_type
265
+ }
266
+ ` , rName , delegationRecord ))
267
+ }
268
+
206
269
func testAccRuleDataSourceConfig_resolverEndpointIDTags (rName , domainName string ) string {
207
270
return acctest .ConfigCompose (testAccRuleConfig_resolverEndpointBase (rName ), fmt .Sprintf (`
208
271
resource "aws_route53_resolver_rule" "test" {
0 commit comments