从“aws configure”设置aws envars,然后运行命令。
with_aws_config的Python项目详细描述
从由维护的配置文件中设置aws environment variablesaws configure,然后运行命令。
安装
- pip install with_aws_config
- pip show with-aws-config-f
- 确保with-aws-config位于PATH
用法
with-aws-config[-h][--verbose][--profile PROFILE] COMMAND [ARGUMENT ...]
位置参数
- COMMAND
- 要运行的命令,例如ec2-describe-instances、aws或ansible
- ARGUMENT
- 命令的参数,例如iam get-user
如果任何参数是选项,请在命令结束前指定--。 with-aws-config的可选参数分析。
可选参数
- -h,--help
- 显示此帮助消息并退出
- --verbose,-v
- 将调试信息输出到stderr
- --profile PROFILE,-p PROFILE
- 设置配置文件,忽略任何environment variables
行为
with-aws-config:
- 加载由aws configure 存储的配置文件信息
- 用adjusted environment variables运行command and arguments,然后
有三种方法可以指定配置文件:
- 默认为default
- 给出--profile或-poptional arguments
- 设置AWS_PROFILE或AWS_DEFAULT_PROFILEinput environment variables
示例
运行命令:
with-aws-config -- aws iam get-user with-aws-config -- ec2-list-instances with-aws-config -- ansible-playbook setup-vpc.yaml
指定配置文件作为选项:
with-aws-config --profile=default -- ec2-describe-instances
通过环境指定配置文件:
env AWS_DEFAULT_PROFILE=default with-aws-config -- ec2-describe-instances
注意,我们在每个函数中都使用了--来强制结束optional arguments。
环境变量
输入
- AWS_PROFILE用于在未给定--profile时指定配置文件
- ^如果未设置AWS_PROFILE,则使用{tt25}$。
- HOME需要找到$HOME/.aws
输出
COMMAND将与提供给with-aws-config的环境一起运行, 以下情况除外:
将删除以下环境变量:
- AWS_CONFIG_FILE
- AWS_DEFAULT_PROFILE
- AWS_PROFILE
- AWS_SESSION_TOKEN
将根据AWS配置文件设置以下环境变量:
- AWS_ACCESS_KEY
- AWS_ACCESS_KEY_ID
- AWS_DEFAULT_REGION
- AWS_SECRET_ACCESS_KEY
- AWS_SECRET_KEY
- EC2_URL
AWS_DEFAULT_REGION和EC2_URL将默认指向us-west-2 如果在aws configure期间未配置。
为什么这么多?
- aws、boto和ansible需要AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY,和AWS_DEFAULT_REGION
- ec2-*需要AWS_ACCESS_KEY、AWS_SECRET_KEY和EC2_URL
< H2>出口状态
^ tt3}$退出:
- 指示原因的下列状态代码之一:
^{tt61}$: no configuration files found ^{tt62}$: no configuration section found for the requested profile ^{tt63}$: command not found ^{tt64}$: interrupted by user with ^C