A python application that reads YAML and syncs definitions with amazon.
It currently supports:
- Creation and modification of IAM roles permissions
- Creation of instance profiles for an IAM role
- Creation of s3 buckets
- Modification of s3 bucket policy and s3 bucket tags
- Creation and modification of KMS keys
- Creation and modification of KMS key grants
aws_syncr is on pypi!:
$ pip install aws_syncr
aws_syncr is designed to configure the same definition across multiple accounts.
To run it you have the following file structure:
accounts.yaml <environment1>/ config1.yaml config2.yaml <environment2>/ config1.yaml config2.yaml
And then you run:
$ aws_syncr /path/to/<environment>
For example, let's say you have a dev
environment and a stg
environment:
accounts.yaml --- accounts: dev: 123456789 stg: 382093840 roles.yaml --- roles: my_role: [..] dev/ roles.yaml - symlink to ../roles.yaml stg/ roles.yaml - symlink to ../roles.yaml
Then from that folder:
$ aws_syncr ./dev --dry-run $ aws_syncr ./dev
Run the following:
$ pip install -e . $ pip install -e ".[tests]" $ ./test.sh
Or use tox:
$ tox