在CloudFormation模板中从G​​itHub下载单个文件

在我的CloudFormation模板中,我想从GitHub下载文本文件。 当我检查下载的文件是编码/encryption的内容,而不是纯文本。 它似乎并不重要,但我有公共和私人存储库中的文件。

这里是我的CloudFormation模板下载文件的代码:

"AWS::CloudFormation::Authentication" : { "GithubAccessCredentials" : { "type" : "basic", "username" : { "Ref" : "GitHubLogin" }, "password" : { "Ref" : "GitHubPassword" }, } }, "AWS::CloudFormation::Init" : { "configSets" : { "orderedConfig" : [ "yumRepoConfig", "mainConfig" ] }, "yumRepoConfig" : { "files" : { "/etc/yum.repos.d/puppetlabs.repo" : { "source" : "https://github.com/MyOrganization/Repo/raw/master/provisioning/yum-repo/puppetlabs.repo", "mode" : "000644", "owner" : "root", "group" : "root", "authentication" : "GithubAccessCredentials" }, "/tmp/README" : { "source" : "https://github.com/puppetlabs/puppetlabs-apache/raw/master/README.md", "mode" : "000644", "owner" : "root", "group" : "root" } } }, [...] 

我可以使用curl来下载文件:

  • 私人回购

curl -u'myGithubLogin'-L -O https://github.com/MyOrganization/Repo/raw/master/provisioning/yum-repo/puppetlabs.repo

  • 对于公共回购:

curl -L -O https://github.com/puppetlabs/puppetlabs-apache/raw/master/README.md

下载有效的文件副本需要什么? 另外,cloudFormation实际使用什么命令来下载文件(curl,wget,…)?

cfn-init存在一个问题,那就是无法正确扩展使用Content-Encoding:gzip发送的下载内容。 升级到cfn-init的最后一个版本修复了这个问题。

请参阅此主题: https : //forums.aws.amazon.com/thread.jspa?threadID=111736&tstart=0