UNPKG

aws-iam-policy-types

Version:

Autogenerated Typescript types for AWS IAM Policy and enums for all policy actions

66 lines (48 loc) 1.75 kB
# 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 ```sh npm i aws-iam-policy-types ``` ## Usage ```ts 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](./docs/typedoc/modules.md) ## 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