aws-iam-policy-types
TypeScript icon, indicating that this package has built-in type declarations

1.0.1 • Public • Published

AWS IAM Policy types

Autogenerated Typescript types for AWS IAM Policy and enums for policy actions for almost 400 AWS services.

This package provides typing and enums for AWS IAM Policies, as describes in

https://docs.aws.amazon.com/service-authorization/latest/reference/reference_policies_actions-resources-contextkeys.html.

Installation

npm i aws-iam-policy-types

Usage

import { IAM } from '@aws-sdk/client-iam';
import { AwsIAMPolicy, AwsStsActions } from 'aws-iam-policy-types';

// Configure the AWS SDK
const iam = new IAM({
  region: 'us-west-2',
  credentials: {
    accessKeyId: 'YOUR_ACCESS_KEY_ID',
    secretAccessKey: 'YOUR_SECRET_ACCESS_KEY',
  },
});

// Use `AwsIAMPolicy` to have type-safe policy
const assumeRolePolicyDocument: AwsIAMPolicy = {
  Version: policyVersion,
  Statement: [
    {
      Effect: 'Allow',
      Principal: {
        AWS: `arn:aws:iam::${awsAccountId}:root`,
      },
      // Use enums to have type-safe actions
      Action: AwsStsActions.AssumeRole,
    },
  ],
};
const { Role } = await iam.createRole({
  RoleName: 'MyRole',
  AssumeRolePolicyDocument: JSON.stringify(assumeRolePolicyDocument),
});

ExclusiveAwsIAMPolicy

There is also ExclusiveAwsIAMPolicy type, which is the same as AwsIAMPolicy, except the type is inferred to allow only one of Action/NotAction, and only one of Resource/NotResource.

Documentation

See here the full list of all available types

Contributing

Found a bug or hav a feature request? Please open a new issue.

When contributing with your code, please follow the standard best practices:

  • Make a fork with your changes, then make a Merge Request to merge it
  • Be polite

Dependencies (0)

    Dev Dependencies (13)

    Package Sidebar

    Install

    npm i aws-iam-policy-types

    Weekly Downloads

    1

    Version

    1.0.1

    License

    MIT

    Unpacked Size

    14.2 MB

    Total Files

    1172

    Last publish

    Collaborators

    • juro-oravec