amazon-web-services - 在 Cloudformation 中使用地图来定义静态开发和产品配置?
问题描述
我想为我的所有部署提供一个模板。
我希望在同一个模板中定义我的 dev 和 prod 配置。
当我调用模板时,我为 dev 或 prod 传递了一个参数,而 cloudformation 使用 dev 或 prod 映射的变量——这可能吗?
我可以看到它的支持地图,但我不确定如何用它来实现我想要的: https ://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/mappings-section-structure.html
有没有一种方法可以制作我的所有参数映射,然后为 dev 或 prod 设置一个参数,当我在部署 cloudformation 时设置一个参数时使用参数的 dev 或 prod 属性?
例子:
Parameters:
env:
Description: environment
Type: String
Default: dev
Mappings:
RegionMap:
dev:
HVM64: "ami-0ff8a91507f77f867"
HVMG2: "ami-0a584ac55a7631c0c"
prod:
HVM64: "ami-0bdb828fd58c52235"
HVMG2: "ami-066ee5fd4a9ef77f1"
DynamoTableName:
dev: 'devtable'
prod: 'prodtable'
SomeOtherVar: ...
Resources:
myEC2Instance:
Type: "AWS::EC2::Instance"
Properties:
ImageId: !FindInMap
- RegionMap
- !Ref env
- HVM64
InstanceType: m1.small
解决方案
是的。您可以使用参数https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/parameters-section-structure.html
这是使用 CLI 传递参数。https://docs.aws.amazon.com/cli/latest/reference/cloudformation/create-stack.html
以下是如何在 Map 中查找值。 https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-findinmap.html
这是你想要的吗?
推荐阅读
- azure-artifacts - Azure 工件中通用包的直接下载 URL
- html - 变换比例导致图像脱离身体
- php - $_SESSION 不保留页面之间的值
- huawei-mobile-services - 使用HUAWEI Drive Kit查询文件列表报错
- python - 条形图上的数据级别
- php - 如何在codeigniter中爆炸数据库值
- sql - 没有配置文件的 sql-lint
- angular - 页面刷新时未调用 AppComponent 的 ngOninit 钩子
- python - 我试图从输入中打印每个verible 的数量,但是我的代码并没有写出我想要的东西,尽管它看起来是正确的。Python
- java - Groupby 键并从给定列表中选择键的最大日期