我理解模板的AWS::CloudFormation::Init块由cfn-init脚本执行。
以下是我用来执行此操作的语法:
@IBAction func editTapped(_ sender: Any) {
print("editTapped")
for i in 0..< ttableView.visibleCells.count{
let cell = ttableView.cellForRow(at: IndexPath(row: i, section: 0)) as! TableViewCell
cell.textField.isEnabled = true
}
}
我可以通过UserData或SSH进行调用。
现在我希望能够修改模板的AWS::CloudFormation::Init部分并通过ssh重复cnf-init调用。
问题: 云形成代码位于我的实例上的文件在哪里,由cfn-init执行?
答案 0 :(得分:1)
cfn-init
命令使用位于/var/lib/cfn-init/data/metadata.json
的配置文件。 JSON文件包含在Cloud Formation模板的AWS :: CloudFormation :: Init块中定义的配置集。
我已经在Amazon Linux 2上确认了上述路径。其他操作系统上的位置可能不同。
答案 1 :(得分:0)
所有云init文件都在/ var / lib / cloud(在Centos 7上),userdata脚本在/ var / lib / cloud / instance
请参阅我的其他答案 cloud-init: What is the execution order of cloud-config directives? 有关cloud-init源的一般提示,执行顺序