- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
根据AWS Documentation对于 CloudFormation cfn-hup 帮助程序脚本,cfn-hup Hook 可以具有“要检测的以逗号分隔的条件列表”。这些条件/触发器可以是 post.add
、post.update
和/或 post.delete
。然而,没有描述这些触发器的实际含义。 AWS 文档中的每个示例都只使用 post.update
,到目前为止,这个触发器对我来说已经足够好了,但我想了解这些其他触发器的实际用途。有人可以解释一下吗?
最佳答案
以下是来自 2019 年 cfn 脚本版本的 update_hooks.py 代码片段,可在 https://pypi.org/project/aws-cfn-bootstrap/ 找到。 :
def _process_hook(self, hook, metadata):
try:
new_data = self._retrieve_path_data(hook.path)
except InFlightStatusError:
return
old_data = self._jsonConverter.deserialize(metadata.get(hook.name + "|" + hook.path, None))
if 'post.add' in hook.triggers and not old_data and new_data:
log.info("Previous state not found; action for %s will be run", hook.name)
elif 'post.remove' in hook.triggers and old_data and not new_data:
log.info('Path %s was removed; action for %s will be run', hook.path, hook.name)
elif 'post.update' in hook.triggers and old_data and new_data and old_data != new_data:
log.info("Data has changed from previous state; action for %s will be run", hook.name)
else:
log.debug("No change in path %s for hook %s", hook.path, hook.name)
metadata[hook.name + "|" + hook.path] = self._jsonConverter.serialize(new_data)
JsonFileManager.write(self.dir, 'metadata_db.json', metadata)
return
因此,触发器适用于钩子(Hook)规范中指定的元数据路径,它可以指示元数据 block 内的节点,而不仅仅是整个 block 。
在之前的评论中,有人明智地推测了这一点,但这里的代码证明了这一点。
关于amazon-web-services - AWS cfn-hup 配置中的 post.add、post.update 与 post.delete,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43421566/
我正在根据以下模板尝试 Cloudformation CFN-INIT 和 CFN-HUP,但未创建 wordpress 堆栈。 CFN-HUP 进程未启动,CFN-Init 抛出 Code1 错误。
我现在有一个 cloudformation 堆栈,它设置了一个简单的 ec2 实例,并在用户数据部分安装了所有 python 包和文件。我什至从未在堆栈中的任何地方提到 cfn-init,也没有元数据
我尝试使用 cfn-init 在 Amazon EC2 Windows 实例中执行一些 powershell 命令。如果我添加 cfn-signal 和 CreationPolicy,cfn-init
我的 EC2Instance 资源的 UserData 部分具有以下内容: #!/bin/bash apt-get update -y apt-get -y install python3-pip m
我正在尝试使用 CloudFormation Template 启动实例。实例已启动,但 UserData 部分未完全执行,因为cfn-init/aws-cfn-bootstrap Redhat 7
我一直在尝试使用不同的函数(例如 sub 和 join)将参数资源的默认值连接到变量(其他输入参数)。 一个例子是: "RuleQuery": { "Description" : "ru
我必须通过cloudformation脚本设置windows ec2服务器。我有一些 powershell 脚本,它添加标签并以特定格式格式化磁盘驱动器。 问题是,当从 cloudformation
我是无服务器新手,正在尝试使用无服务器 3 框架创建部署。我目前定义了一些资源,引用了我在模板中定义的其他 cfn 资源,即: WebsiteBucketPolicy: Type: AWS
我无法让 cfn-init 在 Windows 上运行。 我这样做: cfn-init.exe -v -c config -s arn:aws:cloudformation:eu-north-1:
有时,诸如 apt-get update -q 之类的命令会在 cloudformation 模板用户数据脚本中随机失败。重试直至成功的正确方法是什么? 最佳答案 正如@shellter 指出的: w
我有一个自定义资源,用于从 API 网关获取 API key 并将其作为 header 发送到 Cloudfront。当我创建堆栈时,我的 custom:resource 正在触发,因为它是第一次创建
我有以下定义 IAM 策略的模板,但该策略不起作用: RoleName: 'ABCRole' AssumeRolePolicyDocument: Stateme
我有一个用于“ secret 自动轮换机制”的 CFN 模板,其中我尝试从参数文件传递“用户名”,并使用硬编码的 arn 传递“masterarn”。 GenerateSecretStri
我有一个简单的 cloudformation 脚本,我尝试在启动时将 ruby 脚本作为后台进程运行。 脚本的相关部分是 "AWS::CloudFormation::Init" : {
在我的 cloudformation 模板的命令部分中,aws cli 命令不会将 $SWARM_TOKEN 变量拾取为字符串值。这个想法是将 token 存储在参数存储中以供以后使用。 我在配置集中
我有一个策略,定义为下面的 cloudformation 模板。我希望能够描述它们可以通过 cfn 模板创建哪些 aws 资源。我怎么做?我在下面附上了一个示例? Type: 'AWS::IAM::P
当我们设置 RDS 实例时,如何通过 Cloudformation 打开 RDS 的审核日志记录? 到目前为止,我看到的唯一方法是设置实例,然后修改它并选中审核日志记录框以将日志转发到 CW。我们可以
我正在研究使用 cfn-init 和 userdata 之间的区别。我从各种文档中了解到,使用 cfn-init 对堆栈进行更改不会替换 ec2 实例,而只是将配置更改更新到现有 ec2 实例。 有人
我有一个创建 EC2 实例的 CF 模板,我正在元数据中进行一些引导以安装 httpd 并在/var/www/html/index.html 中创建一个简单的 index.html 并启动 httpd
我正在使用cloudformation来安装elasticsearch。我正在下载并解压 tar.gz。以下是我的 EC2 实例部分: "masterinstance": { "Ty
我是一名优秀的程序员,十分优秀!