Skip to content

(ruby): Ruby language bindings for AWS CDK #38247

Description

@omarqureshi

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 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).

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.ruby schema extension.

Implementation is split across repositories:

  • jsii (compiler + jsii-pacmak Ruby target + @jsii/ruby-runtime): feat(ruby): Ruby language bindings jsii#5178 (draft).
  • 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.

No activity

Activity on this issue will appear here.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    aws-cdk-libRelated to the aws-cdk-lib packageeffort/mediumMedium work item – several days of effortfeature-requestA feature should be added or improved.p2

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions