Skip to main content

Cloud Development Kit Toolbox

Project description

aqueduct

Installation

Requirement

AWS Command Line Interface (AWS CLI) Version 2

curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
unzip awscliv2.zip
sudo ./aws/install
aws --version

https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html

Deployment
pip install aqueduct-utility
Shell Completion
aqueduct --install-completion

IAM Identity Center

Single Sign-On
$ aqueduct login
Identity Store: portal
SSO Region: us-east-2
SSO Role: AWSAdministratorAccess
CLI Region: us-east-2
CLI Output: json
CDK Trust: 123456789012
CDK Regions: us-east-1|us-east-2
Authenticated!!
Single Sign-Out
$ aqueduct logout 
Logged Out!!

Deployment

All Accounts
$ aqueduct deploy
Deploy Folder: test
Deploy [y/N]: y
--------------------------------------
Deploy AccountName 123456789012
--------------------------------------

✨  Synthesis time: 10.9s

TestStack: building assets...

[0%] start: Building 93a9449a1ac92f796d777916aae26c4c0e5740a72635c27014a56be5bcd35e4d:123456789012-us-east-2
[100%] success: Built 93a9449a1ac92f796d777916aae26c4c0e5740a72635c27014a56be5bcd35e4d:123456789012-us-east-2

TestStack: assets built

TestStack: deploying...
[0%] start: Publishing 93a9449a1ac92f796d777916aae26c4c0e5740a72635c27014a56be5bcd35e4d:123456789012-us-east-2
[100%] success: Published 93a9449a1ac92f796d777916aae26c4c0e5740a72635c27014a56be5bcd35e4d:123456789012-us-east-2
TestStack: creating CloudFormation changeset...

 ✅  TestStack

✨  Deployment time: 16.51s

Stack ARN:
arn:aws:cloudformation:us-east-2:123456789012:stack/TestStack/58a84490-6931-11ed-ab5a-0a2c7b97f37e

✨  Total time: 27.41s

Destruction

All Accounts
$ aqueduct destroy
Destroy Folder: test
Destroy [y/N]: y
--------------------------------------
Destroy AccountName 123456789012
--------------------------------------
TestStack: destroying...

 ✅  TestStack: destroyed

Hints

Common Commands
$ aqueduct hints 
npm install -g aws-cdk
cdk init app --language python
python3 -m venv .venv
source .venv/bin/activate
pip3 install -r requirements.txt --upgrade
echo .~c9* > ~/.gitignore
git config --global core.excludesfile ~/.gitignore
git checkout -b dev

Nanopipeline

Deploy

Permissions: lambda:InvokeFunction & s3:PutObject

$ aqueduct nanopipeline deploy
Deploy Folder: test
Deploy [y/N]: y
--------------------------------------
Deploy AccountName us-east-1
--------------------------------------
  adding: AccountName-test/ (stored 0%)
  adding: AccountName-test/test/ (stored 0%)
  adding: AccountName-test/test/test_stack.py (deflated 45%)
  adding: AccountName-test/test/__init__.py (stored 0%)
  adding: AccountName-test/test/__pycache__/ (stored 0%)
  adding: AccountName-test/test/__pycache__/__init__.cpython-37.pyc (deflated 26%)
  adding: AccountName-test/test/__pycache__/test_stack.cpython-37.pyc (deflated 35%)
  adding: AccountName-test/.gitignore (deflated 16%)
  adding: AccountName-test/README.md (deflated 54%)
  adding: AccountName-test/app.py (deflated 37%)
  adding: AccountName-test/cdk.json (deflated 56%)
  adding: AccountName-test/requirements-dev.txt (stored 0%)
  adding: AccountName-test/requirements.txt (deflated 4%)
  adding: AccountName-test/source.bat (deflated 43%)
  adding: AccountName-test/tests/ (stored 0%)
  adding: AccountName-test/tests/__init__.py (stored 0%)
  adding: AccountName-test/tests/unit/ (stored 0%)
  adding: AccountName-test/tests/unit/__init__.py (stored 0%)
  adding: AccountName-test/tests/unit/test_test_stack.py (deflated 42%)
Destroy

Permissions: lambda:InvokeFunction & s3:PutObject

$ aqueduct nanopipeline destroy
Destroy Folder: test
Destroy [y/N]: y
--------------------------------------
Destroy AccountName us-east-1
--------------------------------------
  adding: AccountName-test/ (stored 0%)
  adding: AccountName-test/test/ (stored 0%)
  adding: AccountName-test/test/test_stack.py (deflated 45%)
  adding: AccountName-test/test/__init__.py (stored 0%)
  adding: AccountName-test/test/__pycache__/ (stored 0%)
  adding: AccountName-test/test/__pycache__/__init__.cpython-37.pyc (deflated 26%)
  adding: AccountName-test/test/__pycache__/test_stack.cpython-37.pyc (deflated 35%)
  adding: AccountName-test/.gitignore (deflated 16%)
  adding: AccountName-test/README.md (deflated 54%)
  adding: AccountName-test/app.py (deflated 37%)
  adding: AccountName-test/cdk.json (deflated 56%)
  adding: AccountName-test/requirements-dev.txt (stored 0%)
  adding: AccountName-test/requirements.txt (deflated 4%)
  adding: AccountName-test/source.bat (deflated 43%)
  adding: AccountName-test/tests/ (stored 0%)
  adding: AccountName-test/tests/__init__.py (stored 0%)
  adding: AccountName-test/tests/unit/ (stored 0%)
  adding: AccountName-test/tests/unit/__init__.py (stored 0%)
  adding: AccountName-test/tests/unit/test_test_stack.py (deflated 42%)

Validation

Items Checked
  • CLI Output Format
  • Deploy Folder
  • Destroy Folder
  • SSO Active Region
  • SSO Active Role

Development

Local Build
python setup.py install --user

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

aqueduct-utility-0.9.4.tar.gz (11.1 kB view hashes)

Uploaded Source

Built Distribution

aqueduct_utility-0.9.4-py3-none-any.whl (12.7 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page