Skip to content

CDK Construct Update Support #715

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

Open
4 of 11 tasks
GavinZZ opened this issue Mar 28, 2025 · 0 comments
Open
4 of 11 tasks

CDK Construct Update Support #715

GavinZZ opened this issue Mar 28, 2025 · 0 comments
Labels
status/proposed Newly proposed RFC

Comments

@GavinZZ
Copy link

GavinZZ commented Mar 28, 2025

Description

As CDK evolves, new features, improvements, and fixes are introduced, sometimes requiring changes that are not backward-compatible. To manage these changes while minimizing disruptions, one of the method CDK uses is to introduce a new version of construct or a new module. Examples are:

  • New construct version – Provides a redesigned construct in the same module with improved behavior while coexisting with the previous version. i.e. aws-cdk-lib.aws-dynamodb.Table to aws-cdk-lib.aws-dynamodb.TableV2
  • New module version – Releases a new module version with significant changes without affecting the existing one. aws-cdk-lib.aws-ec2 to @aws-cdk.aws-ec2-alpha which rewrites VPC related constructs.

For CDK users, migrating to the new construct or module can be more complex and time-consuming, often necessitating resource replacements or removals that could result in production downtime or other complications.

The primary goal of this RFC is to outline a migration approach for new construct and new module version that aims to simplify the migration process for users, automating certain tasks where possible, and offering guidance and tools to support the transition. The migration approach must ensure a reliable and controlled process with zero downtime, avoiding unintended resource replacements, enabling safe rollbacks, and preserving configuration consistency.

Roles

Role User
Proposed by @cdk team
Author(s) @GavinZZ
API Bar Raiser @iliapolo

See RFC Process for details

Workflow

  • Tracking issue created (label: status/proposed)
  • API bar raiser assigned (ping us at #aws-cdk-rfcs if needed)
  • Kick off meeting
  • RFC pull request submitted (label: status/review)
  • Community reach out (via Slack and/or Twitter)
  • API signed-off (label status/api-approved applied to pull request)
  • Final comments period (label: status/final-comments-period)
  • Approved and merged (label: status/approved)
  • Execution plan submitted (label: status/planning)
  • Plan approved and merged (label: status/implementing)
  • Implementation complete (label: status/done)

Author is responsible to progress the RFC according to this checklist, and
apply the relevant labels to this issue so that the RFC table in README gets
updated.

@GavinZZ GavinZZ added the status/proposed Newly proposed RFC label Mar 28, 2025
@GavinZZ GavinZZ changed the title CDK Migration Tools CDK Construct Update Tools Apr 1, 2025
@GavinZZ GavinZZ changed the title CDK Construct Update Tools CDK Construct Update Support Apr 1, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
status/proposed Newly proposed RFC
Projects
None yet
Development

No branches or pull requests

1 participant