Skip to main content

IAM Floyd

Release Documentation Construct Hub License

AWS IAM policy statement generator with a fluent interface, for TypeScript, JavaScript, Python, Java, C# and Go.

IAM Floyd has a class for every AWS service, with a method for every action, resource type and condition key. Your IDE completes them and shows their documentation, so you neither look up action names and ARN formats, nor deploy policies with typos.

from cdk_iam_floyd import Statement

statement = (
    Statement.Ec2()
        .allow()
        .to_start_instances()
        .to_stop_instances()
        .if_resource_tag('Owner', '${aws:username}')
)
{
  "Condition": {
    "StringLike": {
      "ec2:ResourceTag/Owner": "${aws:username}"
    }
  },
  "Action": ["ec2:StartInstances", "ec2:StopInstances"],
  "Resource": "*",
  "Effect": "Allow"
}

Support for:

  • 457 Services
  • 22305 Actions
  • 2347 Resource Types
  • 2513 Condition keys

Features

  • Complete: generated from the AWS documentation, and updated every week
  • Access levels: add all actions of an access level, e.g. allReadActions() or allWriteActions()
  • Regular expressions: add all actions that match a pattern with allMatchingActions('/vpn/i')
  • Resources: build ARNs with a method per resource type, e.g. onBucket('example-bucket'), with defaults for partition, region and account
  • Conditions: a method per condition key, with operators like ForAnyValue:StringEquals or IfExists
  • AWS CDK: cdk-iam-floyd statements are an iam.PolicyStatement of the AWS CDK, and the on*() methods take constructs, e.g. onBucket(bucket)
  • Policies: a policy document that knows the maximum size of its type, validates its estimated size and splits itself into several policies
  • Collections of common statements, and the names of all AWS managed policies
  • Policy converter: turn an existing JSON policy into IAM Floyd code with the online converter

Packages

IAM Floyd comes in two variants, with the same API and the same version number in every language:

  • iam-floyd creates statements as JSON, for the AWS SDKs, CloudFormation, Terraform or anything else that takes an IAM policy. The packages have no dependencies. In Python, Java, C# and Go, they are native and do not need Node.js.
  • cdk-iam-floyd creates statements of the AWS CDK v2. In Python, Java, C# and Go, they are built with jsii, like the AWS CDK itself, and need Node.js.
Language iam-floyd cdk-iam-floyd
TypeScript / JavaScript npm npm
Python PyPI PyPI
Java Maven Central Maven Central
C# / .NET NuGet NuGet
Go Go Go

Installation

pip install cdk-iam-floyd

IAM Floyd has not reached 1.0.0 yet, and the API can still change between releases. Pin the exact version.

The requirements of each package and the compatibility with the AWS CDK are listed in the documentation.

Documentation

The documentation explains all features, with examples in every language.

Auto completion demo

The service models in the lib/generated/model folder, and the code generated from them, are derived from the AWS documentation. The class- and function-names and their description therefore are property of AWS.

AWS and their services are trademarks, registered trademarks or trade dress of AWS in the U.S. and/or other countries.

This project is not affiliated, funded, or in any way associated with AWS.

IAM Floyd is licensed under Apache License 2.0. Dependencies might be released under different licenses.

Metadata

Release files for cdk-iam-floyd 0.852.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for cdk-iam-floyd 0.852.0
File Size Uploaded Provenance Actions
cdk_iam_floyd-0.852.0.tar.gz 10.0 MB With provenance Details for cdk_iam_floyd-0.852.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for cdk-iam-floyd 0.852.0
File Interpreter ABI Platform Actions
cdk_iam_floyd-0.852.0-py3-none-any.whl Python 3 none any Details for cdk_iam_floyd-0.852.0-py3-none-any.whl

Total release size: 20.0 MB

Release files / cdk_iam_floyd-0.852.0.tar.gz

Download URL cdk_iam_floyd-0.852.0.tar.gz
Size 10.0 MB
Tags Source
SHA-256 checksum
How to use checksums
0215a6aed0f393a8cc77421ca684a7bd746e52b6178f8801013fb6383016fcb0
BLAKE2b-256 checksum
How to use checksums
093ca040fcc620c55a45e18b6665e46ec470ce802a5a6c205906102ebd5abc0b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 2, 2026.

Transparency log

Release files / cdk_iam_floyd-0.852.0-py3-none-any.whl

Download URL cdk_iam_floyd-0.852.0-py3-none-any.whl
Size 10.0 MB
Tags Python 3
SHA-256 checksum
How to use checksums
b4f3bbd395a52ce263eee0bb3970aeb39c877cbeccc5e1bc8ca98c8766eca32f
BLAKE2b-256 checksum
How to use checksums
32e432c07dbbcf94ae490e475a3161f3ebb59fc9ef979f45382e16a809c5c15d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 2, 2026.

Transparency log

Security for cdk-iam-floyd 0.852.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for cdk_iam_floyd-0.852.0.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 2, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.852.0 This release

2 release files Full provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page