# aws-constants

A collection of AWS constants - names of regions, CloudWatch namespaces and so on. TypeScript definitions included.

WARNING: This is an experimental project, breaking changes possible. Until v1.0 is released all breaking changes will bump up the minor version, so it is recommended to pin both major and minor versions in `package.json` files - e.g. `"aws-constants": "~0.1.0"`

## How to install?

`npm install aws-constants`

## Service Constants

| Service | Metric Names | Dimension Names | IAM Actions | Resource ARN Constructors
|-|-|-|-|-
| AWS API Gateway | `AwsApiGatewayManagedMetricName` |  `AwsApiGatewayManagedMetricDimensionName` | `AwsApiGatewayIamPolicyAction` | `createAwsApiGatewayExecuteApiGeneralArn`
| AWS DynamoDB | `AwsDynamoDbManagedMetricName` | `AwsDynamoDbManagedMetricDimensionName` | `AwsDynamoDbIamPolicyAction` | `createAwsDynamoDbTableArn`, `createAwsDynamoDbIndexArn`, `createAwsDynamoDbStreamArn`, `createAwsDynamoDbBackupArn`, `createAwsDynamoDbExportArn`, `createAwsDynamoDbGlobalTableArn`
| AWS EC2 | `AwsEc2ManagedMetricName` | `AwsEc2ManagedMetricDimensionName` | `AwsEc2IamPolicyAction` | TODO
| AWS ECR | `AwsEcrManagedMetricName` | `AwsEcrManagedMetricDimensionName` | `AwsEcrIamPolicyAction` | TODO
| AWS Lambda | `AwsLambdaManagedMetricName` | `AwsLambdaManagedDimensionName` | `AwsLambdaIamPolicyAction` | TODO
| AWS SNS | `AwsSnsManagedMetricName` | `AwsSnsManagedDimensionName` | `AwsSnsIamPolicyAction` | TODO
| AWS SQS | `AwsSqsManagedMetricName` | `AwsSqsManagedDimensionName` | `AwsSqsIamPolicyAction` | TODO
| AWS Step Functions | `AwsStepFunctionsManagedMetricName` | `AwsStepFunctionsManagedMetricDimensionName` | `AwsStepFunctionsIamPolicyAction` | `createAwsStepFunctionsActivityArn`, `createAwsStepFunctionsStateMachineArn`, `createAwsStepFunctionsExecutionArn`

## Other Constants

* AWS regions: `AwsRegion`. Regions have `name` and `description` properties. E.g. `AwsRegion.US_EAST_1.name`
* AWS CloudWatch: `MetricNamespaceWithDescription` and `MetricNamespace`
* AWS IAM: `AwsServicePrincipal` and `AwsIamManagedPolicy`.
