You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Add Ruby as a first-class supported language for AWS CDK, alongside TypeScript, Python, Java, C#/.NET and Go. This would let Ruby-centric teams author CDK infrastructure in Ruby (e.g. AWSCDK::S3::Bucket) via a published aws-cdk-lib Ruby gem, instead of context-switching to another language.
This issue tracks the aws-cdk-lib side of the work. The enabling changes live in jsii (compiler, the jsii-pacmak Ruby target, and the @jsii/ruby-runtime gem); aws-cdk-lib only needs additive per-module .jsiirc.json Ruby target configuration.
Use Case
Ruby remains a primary language for many infrastructure and platform teams, who today either maintain a parallel toolchain in another language or avoid CDK entirely. Demand has been long-standing and well-documented — the original request has been open since 2018 and is one of the most-reacted language asks.
Native Ruby bindings remove that friction: infrastructure is defined in the language the team already uses, with idiomatic Ruby ergonomics (snake_case methods, keyword-argument structs, PascalCase modules).
aws-cdk-lib: per-module .jsiirc.json Ruby target configuration (gem/module naming + acronyms) across the library. A self-contained branch is ready (omarqureshi/aws-cdk@ruby-language-bindings, a single commit with no dev scaffolding); a PR will follow this issue.
Naming follows the RFC: root namespace AWSCDK, idiomatic Ruby member/module casing, and AWS-prefix de-duplication (aws-s3 → AWSCDK::S3::Bucket). Minimum Ruby is 3.3 (MRI).
Dependency: this is gated on a jsii-compiler release with Ruby target support (tracked in the jsii PR above). Until that ships, the aws-cdk-lib PR's CI will be red by design. End-to-end generation and gem publishing have already been validated against a pre-release build of the compiler.
Other Information
Rosetta (code-example translation) for Ruby is out of scope for the initial submission and will follow separately.
JRuby/TruffleRuby are out of scope for the initial release (MRI only).
Acknowledgements
I may be able to implement this feature request
This feature might incur a breaking change
AWS CDK Library version (aws-cdk-lib)
n/a — cross-cutting language-binding addition to aws-cdk-lib (targets current main); not tied to a released version.
AWS CDK CLI version
n/a — code-generation / library feature, not CLI-specific.
Environment details (OS name and version, etc.)
n/a — affects jsii code generation and packaging, not a runtime environment.
Describe the feature
Add Ruby as a first-class supported language for AWS CDK, alongside TypeScript, Python, Java, C#/.NET and Go. This would let Ruby-centric teams author CDK infrastructure in Ruby (e.g.
AWSCDK::S3::Bucket) via a publishedaws-cdk-libRuby gem, instead of context-switching to another language.This issue tracks the
aws-cdk-libside of the work. The enabling changes live in jsii (compiler, thejsii-pacmakRuby target, and the@jsii/ruby-runtimegem);aws-cdk-libonly needs additive per-module.jsiirc.jsonRuby target configuration.Use Case
Ruby remains a primary language for many infrastructure and platform teams, who today either maintain a parallel toolchain in another language or avoid CDK entirely. Demand has been long-standing and well-documented — the original request has been open since 2018 and is one of the most-reacted language asks.
Native Ruby bindings remove that friction: infrastructure is defined in the language the team already uses, with idiomatic Ruby ergonomics (snake_case methods, keyword-argument structs, PascalCase modules).
Proposed Solution
Design is captured in RFC 0935: Ruby language bindings — tracking issue aws/aws-cdk-rfcs#935 (full RFC text).
The change is strictly additive — no breaking changes to existing languages, and only an additive
targets.rubyschema extension.Implementation is split across repositories:
jsii-pacmakRuby target +@jsii/ruby-runtime): feat(ruby): Ruby language bindings jsii#5178 (draft)..jsiirc.jsonRuby target configuration (gem/module naming + acronyms) across the library. A self-contained branch is ready (omarqureshi/aws-cdk@ruby-language-bindings, a single commit with no dev scaffolding); a PR will follow this issue.Naming follows the RFC: root namespace
AWSCDK, idiomatic Ruby member/module casing, and AWS-prefix de-duplication (aws-s3→AWSCDK::S3::Bucket). Minimum Ruby is 3.3 (MRI).Other Information
Acknowledgements
AWS CDK Library version (aws-cdk-lib)
n/a — cross-cutting language-binding addition to
aws-cdk-lib(targets currentmain); not tied to a released version.AWS CDK CLI version
n/a — code-generation / library feature, not CLI-specific.
Environment details (OS name and version, etc.)
n/a — affects jsii code generation and packaging, not a runtime environment.