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

feat(route53): weighted routing #28705

Merged
merged 26 commits into from
Jan 17, 2024
Merged

Conversation

badmintoncryer
Copy link
Contributor

In this PR, I have implemented support for weighted routing.
By passing the weight and setIdentifier parameters when registering a record, it is possible to perform weighted routing among records that share the same name and type.

new route53.ARecord(this, `WeightedRecord${index}`, {
        zone: hostedZone,
        recordName: 'www',
        weight: 20, // added
        setIdentifier: 'uniqueId', // added
        target: route53.RecordTarget.fromIpAddresses('1.2.3.4'),
      });

Closes #26753.


By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license

@github-actions github-actions bot added valued-contributor [Pilot] contributed between 6-12 PRs to the CDK effort/medium Medium work item – several days of effort feature-request A feature should be added or improved. p2 labels Jan 13, 2024
@aws-cdk-automation aws-cdk-automation requested a review from a team January 13, 2024 19:23
@badmintoncryer badmintoncryer changed the title feat(route53): Support for weighted routing feat(route53): support for weighted routing Jan 13, 2024
Copy link
Collaborator

@aws-cdk-automation aws-cdk-automation left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The pull request linter has failed. See the aws-cdk-automation comment below for failure reasons. If you believe this pull request should receive an exemption, please comment and provide a justification.

A comment requesting an exemption should contain the text Exemption Request. Additionally, if clarification is needed add Clarification Request to a comment.

@aws-cdk-automation aws-cdk-automation dismissed their stale review January 13, 2024 19:35

✅ Updated pull request passes all PRLinter validations. Dismissing previous PRLinter review.

@aws-cdk-automation aws-cdk-automation added the pr/needs-community-review This PR needs a review from a Trusted Community Member or Core Team Member. label Jan 13, 2024
Copy link
Contributor

@lpizzinidev lpizzinidev left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks 👍
I left some comments on the implementation.

packages/aws-cdk-lib/aws-route53/lib/record-set.ts Outdated Show resolved Hide resolved
packages/aws-cdk-lib/aws-route53/lib/record-set.ts Outdated Show resolved Hide resolved
packages/aws-cdk-lib/aws-route53/README.md Outdated Show resolved Hide resolved
@aws-cdk-automation aws-cdk-automation removed the pr/needs-community-review This PR needs a review from a Trusted Community Member or Core Team Member. label Jan 14, 2024
@badmintoncryer
Copy link
Contributor Author

badmintoncryer commented Jan 14, 2024

@lpizzinidev
Thank you for your review.
I've addressed the comments and would like to hear your thoughts on generating the setIdentifier!

Copy link
Collaborator

@aws-cdk-automation aws-cdk-automation left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The pull request linter has failed. See the aws-cdk-automation comment below for failure reasons. If you believe this pull request should receive an exemption, please comment and provide a justification.

A comment requesting an exemption should contain the text Exemption Request. Additionally, if clarification is needed add Clarification Request to a comment.

@aws-cdk-automation aws-cdk-automation dismissed their stale review January 16, 2024 11:36

✅ Updated pull request passes all PRLinter validations. Dismissing previous PRLinter review.

Copy link
Contributor

@lpizzinidev lpizzinidev left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks 👍
I left some notes for some final cleanup.

packages/aws-cdk-lib/aws-route53/lib/record-set.ts Outdated Show resolved Hide resolved
packages/aws-cdk-lib/aws-route53/README.md Show resolved Hide resolved
packages/aws-cdk-lib/aws-route53/README.md Outdated Show resolved Hide resolved
@badmintoncryer
Copy link
Contributor Author

badmintoncryer commented Jan 16, 2024

@lpizzinidev
Thank you for your comments.
I have made a modification to prevent the setting of setIdentifier for simple routing.

Copy link
Contributor

@lpizzinidev lpizzinidev left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks 👍

@aws-cdk-automation aws-cdk-automation added the pr/needs-maintainer-review This PR needs a review from a Core Team Member label Jan 17, 2024
@kaizencc kaizencc changed the title feat(route53): support for weighted routing feat(route53): weighted routing Jan 17, 2024
Copy link
Contributor

@kaizencc kaizencc left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Love the review back and forth @lpizzinidev @badmintoncryer. Caught a few edge cases that are now synth-time checks :). This looks good to me :)

@aws-cdk-automation aws-cdk-automation removed the pr/needs-maintainer-review This PR needs a review from a Core Team Member label Jan 17, 2024
Copy link
Contributor

mergify bot commented Jan 17, 2024

Thank you for contributing! Your pull request will be updated from main and then merged automatically (do not update manually, and be sure to allow changes to be pushed to your fork).

@aws-cdk-automation
Copy link
Collaborator

AWS CodeBuild CI Report

  • CodeBuild project: AutoBuildv2Project1C6BFA3F-wQm2hXv2jqQv
  • Commit ID: 4ea237d
  • Result: SUCCEEDED
  • Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

@mergify mergify bot merged commit 4a0c24d into aws:main Jan 17, 2024
9 checks passed
Copy link
Contributor

mergify bot commented Jan 17, 2024

Thank you for contributing! Your pull request will be updated from main and then merged automatically (do not update manually, and be sure to allow changes to be pushed to your fork).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
effort/medium Medium work item – several days of effort feature-request A feature should be added or improved. p2 valued-contributor [Pilot] contributed between 6-12 PRs to the CDK
Projects
None yet
Development

Successfully merging this pull request may close these issues.

aws_route53: Allow more fields from lower level construct (CfnRecordSet) into higher level Record constructs
4 participants