部署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

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java play框架内容类型拆分   java在Hibernate 5中实现NamingStrategy(使自动生成的列名大写)   java Grails智能地获取war baseUrl?   java如何在listview布局中显示结果?   为什么通过python调用my api会给出无效的日期格式,而在java中则不会(使用相同的字符串)   java如何模拟多端口异常   java gradle正在从artifactory下载旧版本的jars,而不是最新版本   java类导入到jsp并创建对象问题   java如何改进对日志文件的数据处理   摇摆系统。在java中退出(0)   如何在SeleniumWebDriverJava中从文件夹上载图像   python如何使用Jython向java应用程序发送击键   java应用程序在尝试打开google地图时已停止   通过HTTP代理socketJava TCP数据包   在LWJGL中启用照明时,java面为黑色/黑色   web服务Java在端点中找不到接口   使用EJB的java Spring安全性   将hibernate 3更新为hibernate 5后发生java SQLQuery列表强制转换异常