feat: Add AWS Route53 DNS record management components#3085
feat: Add AWS Route53 DNS record management components#3085yinebebt wants to merge 2 commits intosuperplanehq:mainfrom
Conversation
Adds Create, Upsert, and Delete DNS record components for the AWS Route53 integration, enabling users to manage DNS records within existing hosted zones as part of SuperPlane workflows. Signed-off-by: yinebebt <yintar5@gmail.com>
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 2 potential issues.
Bugbot Autofix is OFF. To automatically fix reported issues with Cloud Agents, enable Autofix in the Cursor dashboard.
This PR is being reviewed by Cursor Bugbot
Details
Your team is on the Bugbot Free tier. On this plan, Bugbot will review limited PRs each billing cycle for each member of your team.
To receive Bugbot reviews on all of your PRs, visit the Cursor dashboard to activate Pro and start your 14-day free trial.
web_src/src/pages/workflowv2/mappers/aws/route53/create_record.ts
Outdated
Show resolved
Hide resolved
|
@yinebebt I think it would be better if the components waited until the change is not in PENDING state anymore, and have reached the INSYNC state, before finishing the execution. It seems like that takes up to 60s, so it would be probably OK to poll on that. You can check how the aws.ecr.scanImage handles that |
- Poll until change status is INSYNC - Parse InvalidChangeBatch XML error format in parseError - Consolidate create/upsert/delete mappers to one shared record.ts Signed-off-by: yinebebt <yintar5@gmail.com>
3b524c0 to
78c8d6c
Compare
Summary
Implements the AWS Route53 integration (closes #3059), adding three
new components for managing DNS records in Route53 hosted zones.
New Components
aws.route53.createRecord) - creates a new DNS record in ahosted zone (fails if record already exists)
aws.route53.upsertRecord) - creates or updates a DNS record(idempotent, safe for repeated runs)
aws.route53.deleteRecord) - deletes an existing DNS recordfrom a hosted zone
What's included
pkg/integrations/aws/route53/): Route53 XML API client with SigV4signing, hosted zone resource listing for the UI picker, component implementations
with configuration validation, example outputs, and inline documentation
web_src/): Component mappers (node rendering, execution details,state registries), Route53 SVG icon, integration icon mapping
scenarios (success, API errors, missing credentials, invalid config)
docs/components/AWS.mdxTechnical notes
handles XML marshaling/unmarshaling and a local
parseErrorfor Route53-specificXML error responses
us-east-1for signing and the globalroute53.amazonaws.comendpoint/hostedzone/prefix which is normalizedbefore use in API calls
common.CredentialsFromInstallationfor AWS OIDC credential exchangeTest plan
hosted zone, and executed Upsert DNS Record to create an A record via a workflow
trigger. Verified record appeared in the AWS Route53 console.
go test ./pkg/integrations/aws/route53/...)Demo video: https://vimeo.com/1164625934?share=copy&fl=sv&fe=ci