问题标签 [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 回答
423 浏览

amazon-web-services - 如何使用对流层将 OriginAccessIdentity 添加到 AWS S3 存储桶策略

我有一个 AWS Cloudformation 堆栈,使用 Troposphere 在 Python 中创建。我需要将 OriginAccessIdentity 添加到 S3 存储桶访问策略。

除其他外,我正在导入以下内容:

堆栈的一部分创建了一个 Cloudfront 分发,添加了一个仅具有一个关联缓存行为的 S3 Origin。这很好用,创建了一个行为,并且可以在 AWS Cloudfront 控制台中看到。

我使用以下代码创建了 OriginAccessIdentity:

同样,这可以正常工作,并且 OriginAccessIdentity 已创建并且可以在 AWS Cloudfront 控制台中看到,并且与 Origin 相关联。

我正在使用以下代码创建 S3BucketPolicy:

这也可以正常工作,生成策略并将其附加到存储桶 - 可以在 AWS S3 控制台中看到。我遇到的问题是试图
Principal=AWSPrincipal(["*"])

Principal=AWSPrincipal([<the_origin_access_identity>])

我已经尝试
Principal=AWSPrincipal([Join("", ["origin-access-identity/cloudfront/", "Ref(cloudfrontoriginaccessidentity)"])])

Principal=AWSPrincipal([Ref(cloudfrontoriginaccessidentity)])

但 Cloudformation 拒绝更新,称 Principal 无效。*为了让 Cloudformation 将我OriginAccessIdentity作为主体添加到策略中,我需要替换什么?

0 投票
1 回答
59 浏览

python-3.x - 嗨,我已经编写了一个代码来使用对流层创建 CloudFormation 模板运行代码时出现语法错误

我已经编写了一个代码来使用对流层创建 CloudFormation 模板,我在其中创建 EC2 实例并分配 SG 和 EIP,但在运行 python 代码时出错。代码如下:

0 投票
0 回答
45 浏览

troposphere - 使用 Troposphere 在 AWS CFN 模板中将 bash 脚本作为 UserData 导入

我正在尝试使用 Troposphere 创建一个 AWS 模板,但我被困在必须将我的 Bash 脚本用作 UserData 的地方。我的主要问题是 Ref 在 Bash 脚本中使用。我将 Bash 脚本作为文件读取并将它们编码为 Base64,如下所示:

我的 bash 脚本将 Ref 用作:

我得到的输出是:

但是,我希望将 Ref 转换为与 JSON 兼容的正确格式:

0 投票
1 回答
316 浏览

amazon-web-services - 模板验证错误:无效的模板资源属性

我正在验证通过对流层脚本生成的 CloudFormation 模板。似乎导致错误的有问题的资源是度量转换,在对流层脚本中定义如下:

它所依赖的参数在脚本中预先定义如下:

我正在运行的确切命令是

结果输出

我的 MetricTransformation 属性似乎在AWS 文档中得到了很好的定义。为了可见性,这也是正在验证的模板中的度量转换资源的样子:

有任何想法吗?

更新:

根据要求,添加指标过滤器资源:

0 投票
1 回答
560 浏览

amazon-cloudformation - 使用 Troposphere 将 CloudWatch 警报与 MetricFilter 相关联

我正在使用对流层脚本来预置 CloudWatch 指标过滤器和警报。在 CloudWatch 中,可以手动创建一个警报,该警报会根据指标过滤器从日志中聚合的数据发出警报,但我想在对流层脚本中链接过滤器和警报,以尽可能节省人工。

这是我对脚本的内容(注意:下面定义和引用了一些其他资源,为简洁起见省略):

这会生成一个定义明确的 CloudFormation 模板,但是,当我执行更改集并观察创建的指标过滤器时,我看到我想要链接到过滤器的警报没有自动设置,我需要手动创建它:

在此处输入图像描述

我的想法是,如果 MetricTransformation 和 Alarm 共享相同的MetricName属性,希望警报已经链接到指标过滤器,但似乎情况并非如此。查看 metric filters的文档,似乎只有三个属性可以使用(LogGroupName、FilterPattern 和 MetricTransformations 列表)。有没有办法将警报与对流层中的度量过滤器联系起来?

0 投票
1 回答
60 浏览

troposphere - AWS::ECS::Cluster 对象不支持属性 CapacityProviders

对流层模块版本:2.6.2。

Python脚本:

为什么在运行创建模板的脚本时出现此错误?

0 投票
2 回答
437 浏览

python - 如何为 python3 安装对流层?

我正在运行macOS版本11.0.1。我正在尝试导入一个名为我已安装的模块当troposphere 我尝试使用类似导入对流层时Python2.7Python3.9.1Python2.7

它确实有效。但是当我尝试使用Python3.9.1like导入相同的

它会抛出这样的错误

我应该怎么办?请帮忙

0 投票
2 回答
93 浏览

amazon-dynamodb - 对流层 DynamoDB 生存时间规范

我正在尝试为新的 DynamoDB 表创建 JSON Cloudformation 模板。我正在尝试设置 TimeToLiveSpecification,但出现错误并且对流层文档不清楚。

我有

我什至尝试将其放入准备好的格式化 JSON 中,但它不起作用。我试过了:

TimeToLiveSpecification=TimeToLiveSchema(AttributeName="ttl", Enabled=True)(用这个抓住稻草)。

0 投票
2 回答
106 浏览

amazon-web-services - 如何在将 Troposhpere 框架用于 AWS 经典负载均衡器 443 侦听器时更新 SSL 协商策略

我有一个有效的对流层模板,它使用经典的负载均衡器来构建我的环境。我正在修改它以使用 SSL 协商策略(密码)ELBSecurityPolicy-TLS-1-2-2017-01 启动负载均衡器端口 443 侦听器。

它会让我生成 cloudformation yaml,但是当我尝试使用生成的 yaml 创建堆栈时,我在尝试创建负载均衡器时收到错误“遇到不支持的属性 PolicyType”。

Troposphere 支持 PolicyType,但 AWS CF 不支持?

关于我做错了什么的任何线索?有没有更好的办法?

我找不到任何使用对流层框架更新 SSL 协商的示例。

这是我认为应该发挥作用的对流层 ELB 侦听器代码部分的片段 -

这是对流层 elasticloadbalancing.py 的策略类(https://github.com/cloudtools/troposphere/blob/master/troposphere/elasticloadbalancing.py

这是我的整个对流层负载均衡器代码:

这是它为负载均衡器创建的 AWS CloudFormation yaml:

0 投票
1 回答
47 浏览

python - TargetGroup 对象不支持属性 TargetGroupAttribute

我使用 Troposphere 和 Python 创建了一个 AWS NLB。它工作正常,我只是想向它添加一个新属性。我要添加的属性是“deregistration_delay.connection_termination.enabled”。但是当我尝试更新我的节时,它不喜欢我的语法。

这是我尝试添加的带有 TargetGroupAttribute 的代码块。

它不喜欢我共享的代码块的“TargetGroupAttribute”部分。我收到错误“TargetGroup 对象不支持属性 TargetGroupAttribute”。

我用来添加属性的 AWS 文档在这里。

任何建议或帮助将不胜感激。谢谢!