问题标签 [troposphere]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
476 浏览

amazon-web-services - Troposphere 将 S3 LifecycleRule 添加到类 LifecycleConfiguration

方法签名:我尝试以一些不同的方式更改实现,但没有帮助。

测试实施

错误签名

0 投票
1 回答
5499 浏览

python - 使用对流层形成云,如何将“发射时传播”添加到标签

我正在使用 python 模块对流层在我的云形成模板中生成标签。当前脚本生成:

但我需要生成

适用的脚本部分是:

0 投票
1 回答
1480 浏览

python - 如何使用对流层将一组 RecordSet 添加到 Cloud Formation?

我正在使用 python 模块对流层来创建我的云形成模板。其中大部分是完整的,但我似乎对如何使用 RecordSets 方法/函数为负载均衡器创建我的 DNS 条目感到困惑。本节的输出应该如下所示:

我开始了:

但是我不清楚应该如何输入 RecordSets 值。

我想我可以直接用

只需将 json 放在适当的位置,但这似乎有点像滥用对流层的最初目的。

更新:放入 json 会导致此错误

AttributeError:AWS::Route53::RecordSet 对象不支持属性 RecordSets

然后我尝试了这个:

未找到 HostedZoneId

0 投票
1 回答
2242 浏览

python - 在 python 中,Jinja2 模板在双引号前返回一个反斜杠,我需要删除它

我的 jinja2 模板中的一行需要返回

将上述内容放入模板返回

我尝试创建一个变量

并将模板设置为

但结果仍然在 {{DQ}} 变量前面放置一个反斜杠

我还尝试输入一个唯一的字符串 %%%DQ%%% ,然后获取结果,然后进行字符串替换,但它仍然给了我反斜杠。

如何获得我想要的结果?

更新:我很抱歉。事实证明,返回转义引号的不是 jinja2 模板。我稍后在脚本中调用:

正是对 Base64 和/或 Join 的对流层模块的调用导致了问题并插入了转义。

进一步测试明确表明,是 Base64 进行了转义。

0 投票
2 回答
479 浏览

python - 在 python 模块对流层中,我收到错误“AttributeError:‘模块’对象没有属性‘EBSBlockDeviceMapping’”

我正在遵循已编写的其他一些代码的示例。有问题的代码如下所示:

0 投票
1 回答
1839 浏览

python-2.7 - AWS CloudFormation 使用对流层在 s3bucket 中添加条件

以下代码正在工作EC2,它正在输出中添加条件语句,但S3它不生成条件语句。我可以手动添加此语句以使其工作,但这有很多缺点。

OUT-PUT-RESULT 此结果在 S3 模板部分中缺少条件语句

0 投票
2 回答
1148 浏览

python - 如何将扩展策略添加到具有对流层的 cloudformation 中?

我创建了一个 python 对流层脚本,总体上运行良好。我刚刚添加了一段新代码,以将策略添加到自动缩放组以发出警报。

代码如下所示:

错误是:

回溯(最后一次调用):文件“inPowered.py”,第 395 行,在 tintScaleDown.AutoScalingGroupName(Ref("tintASG")) 文件“ /usr/lib/python2.7/site-packages/troposphere/init .py ",第 79 行,在getattr中 引发 AttributeError(name)

参考应该已经建立在这一行:

CloudFormation 脚本的部分应如下所示:

建议?

0 投票
3 回答
13060 浏览

json - 试图将参数从主模板传递给子模板

我正在尝试将列表参数从主模板传递到子模板,但是我遇到了两个错误。这些是我在主模板上的当前参数。

当传递给子模板时,它们在同一模板上的此方法中被引用。

在子模板上,它们的声明完全相同。

并且它们在子模板中的此方法中被引用。

这是模板的另一部分。

当我尝试在主模板上使用 fn::join 时,它说

“模板验证错误:模板错误:每个 Fn::Join 对象都需要两个参数,(1) 字符串分隔符和 (2) 要连接的字符串列表或返回字符串列表的函数(例如 Fn:: GetAZs) 加入。”

当我不在主模板上使用 fn::join 时,错误是

属性参数的值必须是具有字符串(或简单类型)属性的对象

无论我是否在子模板中的相同参数上有 fn::join。

两个模板都可以在这里找到: https ://github.com/slimg00dy/Troposphere-CloudformationTests

0 投票
2 回答
2360 浏览

python - 对流层,将堆栈的输出作为输入传递给另一个

假设我定义了两个堆栈,A 和 B。

在堆栈 A 中,我定义了一个 VPC 和一个子网,并输出了该子网的 ID

在堆栈 B 中,我希望将这些实例置于堆栈 A 中定义的子网中。我该如何实现呢?

0 投票
3 回答
3914 浏览

python - 如何有条件地传递对流层对象属性?

我正在使用Troposphere构建 CloudFormation 堆栈,并且希望ConnectionSettings仅在我的配置中设置了 Elastic Load Balancer 属性时才传递它,否则我不想指定它。

如果我将其设置为默认值,None则会收到有关该值不是预期类型的​​错误troposphere.elasticloadbalancing.ConnectionSettings

我宁愿尽量避免在调用中设置显式默认值,因为它可能会覆盖其他设置。

理想情况下,我希望能够向现有对象添加属性,例如:

有没有办法做到这一点?

更新:我使用隐藏的Troposphere方法实现了它,该方法有效,但我不满意:

我仍然对不涉及从模块外部使用私有方法的解决方案感兴趣。