部署aws cloudformation的更好方法
LowEarthOrbit的Python项目详细描述
近地轨道
关于
更好、更快地部署AWS云信息模板。
安装
安装leo的推荐方法是在avirtualenv
:
PIP安装LowerEarthOrbit
如果要全局安装:
sudo pip安装LowerEarthOrbit
仅限您的用户:
sudo pip install--用户lowerarthobit
更新到最新版本:
sudo pip install--升级lowerthorbit
开始
在开始使用leo之前,您需要设置aws凭据。有几种不同的方法可以做到这一点:
- 环境变量
- 共享凭据文件
- 配置文件
- IAM角色
但是,建议的方法是安装aws cli并运行aws configure命令。
有关aws凭据的详细信息
leo在linux、macos或unix上创建名为.leo的文件,或在windows上创建名为~/.leo
的文件。这是专门针对leo配置命令的。
在LEO中,模板必须按部署顺序编号。
示例:
00-template.yml
01-template.yml
02-template.yml
概要
leo[选项]<;命令>;[参数]
对所有选项和命令使用leo--help,或对特定命令参数使用leo<;command>;--help。
选项
--AWS访问密钥ID(字符串)
用于访问aws的aws访问密钥。这是可选的,如果不使用,将使用配置的默认凭据。如果要覆盖默认凭据,应使用此选项。
--AWS密钥访问ID(字符串)
用于访问aws的秘密aws访问密钥。这是可选的,如果不使用,将使用配置的默认凭据。如果要覆盖默认凭据,应使用此选项。
--aws会话令牌(字符串)
用于访问aws的会话令牌。这是可选的,如果不使用,将使用配置的默认凭据。如果要覆盖默认凭据,应使用此选项。
--botocore会话(字符串)
已创建的botocore会话。这是可选的,如果要使用已创建的botocore会话而不是创建新会话,请使用此选项。
--配置文件(字符串)
要使用的配置文件的名称。如果不使用,则使用默认配置文件。
--区域(字符串)
要使用的AWS区域。如果不使用,则使用默认区域。
--调试(布尔值)
这是可选的,用于显示调试信息。
命令:
删除
说明:
将给定本地路径中的所有文件(文件扩展名为:.json、.template、.txt、yaml或yml)上载到s3以进行cloudformation。
概要:
delete
--job-identifier <value>
--config-name <value>
选项:
--作业标识符(字符串)
标识要删除的堆栈。这是必需的,除非使用了--config name。
注意:
作业标识符只能是字母数字字符和连字符。由于堆栈名称的限制,它必须以字母字符开头。
--配置名称(字符串)
要使用的配置的名称。除非使用了作业标识符,否则这是必需的。
注意:
如果指定了其他选项的值,则它们将覆盖配置中的相应值。
示例:
删除一个或多个堆栈:
leo --region us-west-2 delete --job-identifier jobident
展开
说明:
创建或更新云信息堆栈。
概要:
deploy
--bucket <value>
--prefix <value>
--gated <value>
--job-identifier <value>
--parameters <value>
--notification-arns <value>
--rollback-configuration <value>
--tags <value>
--config-name <value>
选项:
--桶(字符串)
用于部署cloudformation模板的s3 bucket的名称。这是必需的,除非使用了--config name。
--前缀(字符串)
bucket中cloudformation模板所在的位置。
--选通(布尔)
默认值为"false"。如果设置为"true",则每次堆栈就绪时都会显示要求部署的提示
--作业标识符(字符串)
将前缀添加到堆栈名称以帮助标识一组堆栈。这是必需的,除非使用了--config name。
注意:
作业标识符只能是字母数字字符和连字符。由于堆栈名称的限制,它必须以字母字符开头。
--参数(json)
要部署的cloudformation模板所需的参数键和参数值。如果没有提供参数键和参数值,系统会提示用户提供参数值。
json语法:
[
{
"ParameterKey": "string",
"ParameterValue": "string",
"UsePreviousValue": true|false,
"ResolvedValue": "string"
}
...
]
注意:
json语法必须包装在json语法中相反的引号中。例如,上面的例子将用一个引号括起来。
--通知arns(json)
sns(简单通知服务)主题学习通知与堆栈相关的事件。
json语法:
[
"string",
"string",
"string"
]
注意:
json语法必须包装在json语法中相反的引号中。例如,上面的例子将用一个引号括起来。
--回滚配置(JSON)
回滚将触发cloudformation在部署期间和部署后的指定时间段进行监视。
{
"RollbackTriggers": [
{
"Arn": "string",
"Type": "string"
}
...
],
"MonitoringTimeInMinutes": integer
}
注意:
json语法必须包装在json语法中相反的引号中。例如,上面的例子将用一个引号括起来。
--标记(json)
与每个已部署堆栈关联的键值对。这些标记还将传播到部署创建的资源。最多可以指定50个标签。
json语法:
[
{
"Key": "string",
"Value": "string"
}
...
]
注意:
json语法必须包装在json语法中相反的引号中。例如,上面的例子将用一个引号括起来。
--配置名称(字符串)
要使用的配置的名称。除非使用了--bucket和/或--job identifier,否则这是必需的。
注意:
如果指定了其他选项的值,则它们将覆盖配置中的相应值。
示例:
部署堆栈:
leo deploy --bucket foobucket --parameters "[{'ParameterKey':'AccountNo','ParameterValue':'*********'},{'ParameterKey':'S3BucketCode','ParameterValue':'BUCKET'},{'ParameterKey':'S3KeyCode','ParameterValue':'KEY'},{'ParameterKey':'Endpoint','ParameterValue':'USER@EXAMPLE.COM'},{'ParameterKey':'Protocol','ParameterValue':'email'},{'ParameterKey':'TagEnvironment','ParameterValue':'NONPROD'},{'ParameterKey':'TagPoC','ParameterValue':'USER@EXAMPLE.COM'}]" --config-name fooconfig
计划
说明:
收集有关即将部署的信息。显示将创建/更改的资源和估计成本的URL。
概要:
00-template.yml
01-template.yml
02-template.yml
0
选项:
--桶(字符串)
用于从中收集Cloudformation模板的S3 bucket的名称。这是必需的,除非使用了--config name。
--前缀(字符串)
bucket中cloudformation模板所在的位置。
--作业标识符(字符串)
用于标识云形成堆栈的前缀。这是必需的,除非使用了--config name。
--参数(json)
cloudformation模板收集计划所需的参数键和参数值。如果没有提供参数键和参数值,系统会提示用户提供参数值。
json语法:
[
{
"ParameterKey": "string",
"ParameterValue": "string",
"UsePreviousValue": true|false,
"ResolvedValue": "string"
}
...
]
注意:
json语法必须包装在json语法中相反的引号。例如,上面的例子将用一个引号括起来。
--配置名称(字符串)
要使用的配置的名称。这是必需的,除非使用了--bucket和/或--job identifier。
注意:
如果指定了其他选项的值,则它们将覆盖配置中的相应值。
示例:
计划部署
00-template.yml
01-template.yml
02-template.yml
2
上传
说明:
将给定本地路径中的所有文件(文件扩展名为:.json、.template、.txt、yaml或yml)上载到s3以进行cloudformation。
概要:
00-template.yml
01-template.yml
02-template.yml
3
选项:
--桶(字符串)
云信息模板将上载到的bucket。这是必需的,除非使用了--config name。
--前缀(字符串)
云信息模板将上载到的存储桶中的位置。
--本地路径(字符串)
云层模板所在的本地路径。
--配置名称(字符串)
要使用的配置的名称。这是必需的,除非使用了--bucket和/或--local path。
注意:
如果指定了其他选项的值,则它们将覆盖配置中的相应值。
示例:
示例:
上传云信息模板:
00-template.yml
01-template.yml
02-template.yml
4
验证
说明:
验证指定存储桶中cloudformation文件扩展名为.json、.template、.txt、yaml或yml的所有文件。
概要:
00-template.yml
01-template.yml
02-template.yml
5
选项:
--桶(字符串)
云信息模板所在的bucket。这是必需的,除非使用了--config name。
--前缀
云信息模板所在的bucket中的位置。
--配置名称
要使用的配置的名称。这是必需的,除非使用了--bucket。
注意:
如果指定了其他选项的值,则它们将覆盖配置中的相应值。
示例:
验证模板:
00-template.yml
01-template.yml
02-template.yml
6
创建配置
说明:
创建存储所有给定值的配置项。
概要:
00-template.yml
01-template.yml
02-template.yml
7
选项:
--桶(字符串)
用于部署/上载/验证cloudformation模板的s3 bucket的名称。
--前缀(字符串)
bucket中cloudformation模板所在的位置。
--选通(布尔)
如果设置为"true",则每次堆栈就绪时都会显示要求部署的提示
--本地路径(字符串)
云层模板所在的本地路径。
--作业标识符(字符串)
在堆栈名称中添加前缀以帮助识别一组堆栈。
注意:
作业标识符只能是字母数字字符和连字符。由于堆栈名称的限制,它必须以字母字符开头。
--参数(json)
要部署的cloudformation模板所需的参数键和参数值。如果没有提供参数键和参数值,系统会提示用户提供参数值。
json语法:
[
{
"ParameterKey": "string",
"ParameterValue": "string",
"UsePreviousValue": true|false,
"ResolvedValue": "string"
}
...
]
注意:
json语法必须包装在json语法中相反的引号中。例如,上面的例子将用一个引号括起来。
--通知arns(json)
sns(简单通知服务)主题学习通知与堆栈相关的事件。
json语法:
[
"string",
"string",
"string"
]
注意:
json语法必须包装在json语法中相反的引号中。例如,上面的例子将用一个引号括起来。
--回滚配置(JSON)
回滚将触发cloudformation在部署期间和部署后的指定时间段进行监视。
{
"RollbackTriggers": [
{
"Arn": "string",
"Type": "string"
}
...
],
"MonitoringTimeInMinutes": integer
}
注意:
json语法必须包装在json语法中相反的引号中。例如,上面的例子将用一个引号括起来。
--标记(json)
与每个已部署堆栈关联的键值对。这些标记还将传播到部署创建的资源。最多可以指定50个标签。
json语法:
[
{
"Key": "string",
"Value": "string"
}
...
]
注意:
json语法必须包装在json语法中相反的引号中。例如,上面的例子将用一个引号括起来。
--配置名称(字符串)
配置的名称。
注意:
如果指定了其他选项的值,则它们将覆盖配置中的相应值。
示例:
创建配置:
delete
--job-identifier <value>
--config-name <value>
2
编辑配置
说明:
编辑已存在的配置。任何指定的值都将替换配置中的值。
概要:
delete
--job-identifier <value>
--config-name <value>
3
选项:
--桶(字符串)
用于部署/上载/验证cloudformation模板的s3 bucket的名称。
--前缀(字符串)
bucket中cloudformation模板所在的位置。
--选通(布尔)
如果设置为"true",则每次堆栈就绪时都会显示要求部署的提示
--本地路径(字符串)
云层模板所在的本地路径。
--作业标识符(字符串)
在堆栈名称中添加前缀以帮助识别一组堆栈。
注意:
作业标识符只能是字母数字字符和连字符。由于堆栈名称的限制,它必须以字母字符开头。
--参数(json)
要部署的cloudformation模板所需的参数键和参数值。如果没有提供参数键和参数值,系统会提示用户提供参数值。
json语法:
[
{
"ParameterKey": "string",
"ParameterValue": "string",
"UsePreviousValue": true|false,
"ResolvedValue": "string"
}
...
]
注意:
json语法必须包装在json语法中相反的引号中。例如,上面的例子将用一个引号括起来。
--通知arns(json)
sns(简单通知服务)主题学习通知与堆栈相关的事件。
json语法:
[
"string",
"string",
"string"
]
注意:
json语法必须包装在json语法中相反的引号中。例如,上面的例子将用一个引号括起来。
--回滚配置(JSON)
回滚将触发cloudformation在部署期间和部署后的指定时间段进行监视。
{
"RollbackTriggers": [
{
"Arn": "string",
"Type": "string"
}
...
],
"MonitoringTimeInMinutes": integer
}
注意:
json语法必须包装在json语法中相反的引号中。例如,上面的例子将用一个引号括起来。
--标记(json)
与每个已部署堆栈关联的键值对。这些标记还将传播到部署创建的资源。最多可以指定50个标签。
json语法:
[
{
"Key": "string",
"Value": "string"
}
...
]
注意:
json语法必须包装在json语法中相反的引号中。例如,上面的例子将用一个引号括起来。
--配置-名称(字符串)
配置的名称。
注意:
如果指定了其他选项的值,则它们将覆盖配置中的相应值。
示例:
编辑配置:
delete
--job-identifier <value>
--config-name <value>
8
删除配置
说明:
删除配置。
概要:
delete
--job-identifier <value>
--config-name <value>
9
选项:
--配置名称(字符串)
配置的名称。
示例:
删除配置:
leo --region us-west-2 delete --job-identifier jobident
0
列表配置
说明:
列出所有配置名称。如果指定了配置名称,则它将显示指定配置的值。
概要:
leo --region us-west-2 delete --job-identifier jobident
1
选项:
--配置名称(字符串)
配置的名称。
示例:
列出所有配置:
leo --region us-west-2 delete --job-identifier jobident
2
显示特定配置内容:
leo --region us-west-2 delete --job-identifier jobident
3
推荐PyPI第三方库
00-template.yml
01-template.yml
02-template.yml
00-template.yml
01-template.yml
02-template.yml
00-template.yml
01-template.yml
02-template.yml
00-template.yml
01-template.yml
02-template.yml
00-template.yml
01-template.yml
02-template.yml
00-template.yml
01-template.yml
02-template.yml
[
{
"ParameterKey": "string",
"ParameterValue": "string",
"UsePreviousValue": true|false,
"ResolvedValue": "string"
}
...
]
[
"string",
"string",
"string"
]
{
"RollbackTriggers": [
{
"Arn": "string",
"Type": "string"
}
...
],
"MonitoringTimeInMinutes": integer
}
[
{
"Key": "string",
"Value": "string"
}
...
]
delete
--job-identifier <value>
--config-name <value>
delete
--job-identifier <value>
--config-name <value>
[
{
"ParameterKey": "string",
"ParameterValue": "string",
"UsePreviousValue": true|false,
"ResolvedValue": "string"
}
...
]
[
"string",
"string",
"string"
]
{
"RollbackTriggers": [
{
"Arn": "string",
"Type": "string"
}
...
],
"MonitoringTimeInMinutes": integer
}
[
{
"Key": "string",
"Value": "string"
}
...
]
delete
--job-identifier <value>
--config-name <value>
delete
--job-identifier <value>
--config-name <value>
leo --region us-west-2 delete --job-identifier jobident
leo --region us-west-2 delete --job-identifier jobident
leo --region us-west-2 delete --job-identifier jobident
leo --region us-west-2 delete --job-identifier jobident