Skip to content

Commit

Permalink
d/aws_api_gateway_domain_name: Use` 'FindDomainName'.
Browse files Browse the repository at this point in the history
Acceptance test output:

% make testacc TESTARGS='-run=TestAccAPIGatewayDomainNameDataSource_' PKG=apigateway ACCTEST_PARALLELISM=3
==> Checking that code complies with gofmt requirements...
TF_ACC=1 go test ./internal/service/apigateway/... -v -count 1 -parallel 3  -run=TestAccAPIGatewayDomainNameDataSource_ -timeout 180m
=== RUN   TestAccAPIGatewayDomainNameDataSource_basic
=== PAUSE TestAccAPIGatewayDomainNameDataSource_basic
=== CONT  TestAccAPIGatewayDomainNameDataSource_basic
--- PASS: TestAccAPIGatewayDomainNameDataSource_basic (20.95s)
PASS
ok  	github.com/hashicorp/terraform-provider-aws/internal/service/apigateway	26.176s
  • Loading branch information
ewbankkit committed Mar 11, 2023
1 parent 511fa87 commit a751b9d
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 33 deletions.
51 changes: 19 additions & 32 deletions internal/service/apigateway/domain_name_data_source.go
Original file line number Diff line number Diff line change
Expand Up @@ -7,22 +7,18 @@ import (

"github.com/aws/aws-sdk-go/aws"
"github.com/aws/aws-sdk-go/aws/arn"
"github.com/aws/aws-sdk-go/service/apigateway"
"github.com/hashicorp/terraform-plugin-sdk/v2/diag"
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
"github.com/hashicorp/terraform-provider-aws/internal/conns"
"github.com/hashicorp/terraform-provider-aws/internal/errs/sdkdiag"
tftags "github.com/hashicorp/terraform-provider-aws/internal/tags"
)

// cloudFrontRoute53ZoneID defines the route 53 zone ID for CloudFront. This
// is used to set the zone_id attribute.
const cloudFrontRoute53ZoneID = "Z2FDTNDATAQYW2"

// @SDKDataSource("aws_api_gateway_domain_name")
func DataSourceDomainName() *schema.Resource {
return &schema.Resource{
ReadWithoutTimeout: dataSourceDomainNameRead,

Schema: map[string]*schema.Schema{
"arn": {
Type: schema.TypeString,
Expand Down Expand Up @@ -95,19 +91,14 @@ func dataSourceDomainNameRead(ctx context.Context, d *schema.ResourceData, meta
conn := meta.(*conns.AWSClient).APIGatewayConn()
ignoreTagsConfig := meta.(*conns.AWSClient).IgnoreTagsConfig

input := &apigateway.GetDomainNameInput{}

if v, ok := d.GetOk("domain_name"); ok {
input.DomainName = aws.String(v.(string))
}

domainName, err := conn.GetDomainNameWithContext(ctx, input)
domainName := d.Get("domain_name").(string)
output, err := FindDomainName(ctx, conn, domainName)

if err != nil {
return sdkdiag.AppendErrorf(diags, "getting API Gateway Domain Name: %s", err)
return sdkdiag.AppendErrorf(diags, "reading API Gateway Domain Name (%s): %s", domainName, err)
}

d.SetId(aws.StringValue(domainName.DomainName))
d.SetId(aws.StringValue(output.DomainName))

arn := arn.ARN{
Partition: meta.(*conns.AWSClient).Partition,
Expand All @@ -116,28 +107,24 @@ func dataSourceDomainNameRead(ctx context.Context, d *schema.ResourceData, meta
Resource: fmt.Sprintf("/domainnames/%s", d.Id()),
}.String()
d.Set("arn", arn)
d.Set("certificate_arn", domainName.CertificateArn)
d.Set("certificate_name", domainName.CertificateName)

if domainName.CertificateUploadDate != nil {
d.Set("certificate_upload_date", domainName.CertificateUploadDate.Format(time.RFC3339))
d.Set("certificate_arn", output.CertificateArn)
d.Set("certificate_name", output.CertificateName)
if output.CertificateUploadDate != nil {
d.Set("certificate_upload_date", output.CertificateUploadDate.Format(time.RFC3339))
}

d.Set("cloudfront_domain_name", domainName.DistributionDomainName)
d.Set("cloudfront_zone_id", cloudFrontRoute53ZoneID)
d.Set("domain_name", domainName.DomainName)

if err := d.Set("endpoint_configuration", flattenEndpointConfiguration(domainName.EndpointConfiguration)); err != nil {
d.Set("cloudfront_domain_name", output.DistributionDomainName)
d.Set("cloudfront_zone_id", meta.(*conns.AWSClient).CloudFrontDistributionHostedZoneID())
d.Set("domain_name", output.DomainName)
if err := d.Set("endpoint_configuration", flattenEndpointConfiguration(output.EndpointConfiguration)); err != nil {
return sdkdiag.AppendErrorf(diags, "setting endpoint_configuration: %s", err)
}
d.Set("regional_certificate_arn", output.RegionalCertificateArn)
d.Set("regional_certificate_name", output.RegionalCertificateName)
d.Set("regional_domain_name", output.RegionalDomainName)
d.Set("regional_zone_id", output.RegionalHostedZoneId)
d.Set("security_policy", output.SecurityPolicy)

d.Set("regional_certificate_arn", domainName.RegionalCertificateArn)
d.Set("regional_certificate_name", domainName.RegionalCertificateName)
d.Set("regional_domain_name", domainName.RegionalDomainName)
d.Set("regional_zone_id", domainName.RegionalHostedZoneId)
d.Set("security_policy", domainName.SecurityPolicy)

if err := d.Set("tags", KeyValueTags(ctx, domainName.Tags).IgnoreAWS().IgnoreConfig(ignoreTagsConfig).Map()); err != nil {
if err := d.Set("tags", KeyValueTags(ctx, output.Tags).IgnoreAWS().IgnoreConfig(ignoreTagsConfig).Map()); err != nil {
return sdkdiag.AppendErrorf(diags, "setting tags: %s", err)
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,6 @@ func TestAccAPIGatewayDomainNameDataSource_basic(t *testing.T) {
resourceName := "aws_api_gateway_domain_name.test"
dataSourceName := "data.aws_api_gateway_domain_name.test"
rName := acctest.RandomSubdomain()

key := acctest.TLSRSAPrivateKeyPEM(t, 2048)
certificate := acctest.TLSRSAX509SelfSignedCertificatePEM(t, key, rName)

Expand Down

0 comments on commit a751b9d

Please sign in to comment.