Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Route53 "DS" ResourceRecordSet Type #17040

Closed
swies0wl opened this issue Jan 9, 2021 · 7 comments · Fixed by #17208
Closed

Route53 "DS" ResourceRecordSet Type #17040

swies0wl opened this issue Jan 9, 2021 · 7 comments · Fixed by #17208
Assignees
Labels
enhancement Requests to existing resources that expand the functionality or scope. good first issue Call to action for new contributors looking for a place to start. Smaller or straightforward issues. service/route53 Issues and PRs that pertain to the route53 service.
Milestone

Comments

@swies0wl
Copy link

swies0wl commented Jan 9, 2021

Community Note

  • Please vote on this issue by adding a 👍 reaction to the original issue to help the community and maintainers prioritize this request
  • Please do not leave "+1" or other comments that do not add relevant new information or questions, they generate extra noise for issue followers and do not help prioritize the request
  • If you are interested in working on this issue or have submitted a pull request, please leave a comment

Terraform CLI and Terraform AWS Provider Version

Terraform v0.14.4
AWS Provider v3.23.0
aws-cli: 2.1.17

Description

With the announcement of DNSSEC and to support, #16836,
Requesting feature for "DS" record creation.

DS record creation is supported through AWS CLI and JSON with the following:

AWS CLI:

aws route53 change-resource-record-sets --hosted-zone-id <parent-zone-id> --change-batch file://new_record.json

new_record.json:

  {
    "Comment": "string",
    "Changes": [
      {
        "Action": "CREATE"|"DELETE"|"UPSERT",
        "ResourceRecordSet": {
          "Name": "<dns-subzone>",
          "Type": "DS",
          "TTL": 300,
          "ResourceRecords": [
            {
              "Value": "<ds-record>"
            }
          ]
          }
        }
      ]
  }

New or Affected Resource(s)

  • aws_route53_record

Potential Terraform Configuration

resource "aws_route53_record" "myzone" {
  zone_id = var.zone_id
  name    = var.zone_name
  type    = "DS"
  ttl     = 300
  records = var.dsrecord
}

Current output during creation attempt with type="DS":

error when attempting:
Error: expected type to be one of [SOA A TXT NS CNAME MX NAPTR PTR SRV SPF AAAA CAA], got DS
  on ds_record/main.tf line 8, in resource "aws_route53_record" "myzone":
   8:   type     = "DS"

References

@swies0wl swies0wl added the enhancement Requests to existing resources that expand the functionality or scope. label Jan 9, 2021
@ghost ghost added the service/route53 Issues and PRs that pertain to the route53 service. label Jan 9, 2021
@github-actions github-actions bot added the needs-triage Waiting for first response or review from a maintainer. label Jan 9, 2021
@anGie44 anGie44 added good first issue Call to action for new contributors looking for a place to start. Smaller or straightforward issues. and removed needs-triage Waiting for first response or review from a maintainer. labels Jan 11, 2021
@anGie44 anGie44 changed the title Route53 DS Resource record Route53 "DS" ResourceRecordType Jan 11, 2021
@anGie44 anGie44 changed the title Route53 "DS" ResourceRecordType Route53 "DS" ResourceRecordSet Type Jan 11, 2021
@anGie44
Copy link
Contributor

anGie44 commented Jan 11, 2021

Thanks for raising this issue @swies0wl. Noting here we can catch this new type ("DS") by updating the ValidateFunc associated w/the type argument in the resource schema e.g.

ValidateFunc: validation.StringInSlice([]string{route53.RRType_Values()...

as currently we list out the possible values.

@bflad
Copy link
Contributor

bflad commented Jan 11, 2021

For anyone working on this implementation, I believe to test the new DS value requires enabling DNSSEC on the Route 53 Hosted Zone before the API will accept this record type, which is the second part of #16836. We can however accept the above mentioned change as long as it passes the existing regression testing, which there's no reason it shouldn't.

@swies0wl
Copy link
Author

Hi All. Just checking in. Looks like there's a pull request. Will this be reviewed and merged?

@bflad bflad self-assigned this Mar 1, 2021
@github-actions github-actions bot added this to the v3.31.0 milestone Mar 1, 2021
@bflad
Copy link
Contributor

bflad commented Mar 1, 2021

Support for this functionality has been merged and will release with version 3.31.0 of the Terraform AWS Provider, later this week. Thank you to @khanhhongpham for the implementation. 👍

@khanhhongpham
Copy link
Contributor

Thank you for reviewing it @bflad

@ghost
Copy link

ghost commented Mar 5, 2021

This has been released in version 3.31.0 of the Terraform AWS provider. Please see the Terraform documentation on provider versioning or reach out if you need any assistance upgrading.

For further feature requests or bug reports with this functionality, please create a new GitHub issue following the template for triage. Thanks!

@ghost
Copy link

ghost commented Mar 31, 2021

I'm going to lock this issue because it has been closed for 30 days ⏳. This helps our maintainers find and focus on the active issues.

If you feel this issue should be reopened, we encourage creating a new issue linking back to this one for added context. Thanks!

@ghost ghost locked as resolved and limited conversation to collaborators Mar 31, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
enhancement Requests to existing resources that expand the functionality or scope. good first issue Call to action for new contributors looking for a place to start. Smaller or straightforward issues. service/route53 Issues and PRs that pertain to the route53 service.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants