簡體   English   中英

cfn-init指定自定義json

[英]cfn-init specify custom json

有沒有辦法告訴cfn-init使用從磁盤加載的自定義JSON文件? 這樣,我可以快速對問題進行故障排除,否則更改AWS::CloudFormation::Init部分的唯一方法是刪除堆棧並重新創建。

我寧願只是對我的template.json進行更改,然后告訴類似cfn-init -f C:\\template.json ...這樣的東西cfn-init -f C:\\template.json ...所以它使用C:\\template.json而不是從169.254.169.254或但是它得到了。

原來cfn-init確實接受文件,但是該文件需要具有"Metadata"鍵作為根鍵。

因此,如果我們將其保存到template.json

{
    "AWS::CloudFormation::Init": {
        "config": {
            "files": {
                "C:\\Users\\Administrator\\Desktop\\test-file": {
                    "source": "https://s3.us-east-2.amazonaws.com/example-bucket/example-file"
                }
            }
        }
    },
    "AWS::CloudFormation::Authentication": {
        "S3AccessCreds": {
            "type": "S3",
            "buckets": ["example-bucket"],
            "roleName": "s3access"
        }
    }
}

然后我們可以執行cfn-init -v --region us-east-2 template.json

注意:不包括堆棧或資源,如果使用cfn-init -v -s my_stack -r my_instance --region us-east-2 template.json您將獲得:

錯誤:您不能為元數據指定多個輸入源

如果將整個模板文件而不是僅將“ Metadata”作為根目錄放置,則會得到:

在template.json中找不到'AWS :: CloudFormation :: Init'鍵

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM