aws-iam-policy-types
v1.0.1
Published
Autogenerated Typescript types for AWS IAM Policy and enums for all policy actions
Downloads
137
Maintainers
Readme
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
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