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
Markdown
# 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