小编ted*_*r42的帖子

将 CloudFormation 与现有 S3 存储桶结合使用

使用 CloudFormation,我想在现有存储上设置AWS::S3::Bucket 中的一些属性。换句话说,我不想创建存储桶,我只想强制执行一些设置。这是我的 CloudFormation JSON 示例:

    "websitePreviewBucket": {
      "Type": "AWS::S3::Bucket",
      "Properties": {
        "AccessControl": "PublicRead",
        "VersioningConfiguration": {
          "Status": "Suspended"
        },
        "BucketName": "preview.website.com",
        "WebsiteConfiguration": {
          "IndexDocument": "index.html",
          "ErrorDocument": "error.html"
        }
      }
    },
Run Code Online (Sandbox Code Playgroud)

毫不奇怪,这在 CloudFormation 控制台中失败了:

The following resource(s) failed to create: [websitePreviewBucket].
preview.website.com already exists
Run Code Online (Sandbox Code Playgroud)

我已经创建了存储桶preview.website.com。我的意思是,这个帐户拥有那个存储桶。如何设置之类的东西AccessControl,并WebsiteConfiguration与CloudFormation现有的桶?

我看到另一个问题提出了类似的问题,但没有合适的答案。

amazon-s3 amazon-cloudformation

32
推荐指数
1
解决办法
3万
查看次数

通过 Puppet 提供文件:“无法评估”

TLDR 版本:在正常使用 fileserver.conf 的情况下,我如何构建一个实际可用的 puppet URL?

.

我正在尝试开始使用 Puppet 和一些虚拟实例。对于第一个任务,我正在尝试使用文件类型分发一个 authorized_keys 文件。是的,它可以使用ssh 授权密钥类型来完成,但现在这是关于文件分发,对吗?

服务维基文件意味着我要构建的路径。首先,这是 puppetmasterd 知道的:

$ grep -B 1 path /etc/puppet/fileserver.conf 
[files]
  path /etc/puppet
Run Code Online (Sandbox Code Playgroud)

其次,我创建了一个文件,/etc/puppet/modules/ssh/manifests/init.pp包含以下内容:

$ cat /etc/puppet/modules/ssh/manifests/init.pp
class ssh {
  file { "/home/ubuntu/.ssh/authorized_keys":
    source => "puppet:///modules/ssh/authorized_keys",
    mode => 400,
    owner => ubuntu,
    group => ubuntu
  }

  file { "/home/ubuntu/.ssh":
    ensure => directory,
    mode => 700,
    owner => ubuntu,
    group => ubuntu
  }

  notify {"all done.":}

}

# …
Run Code Online (Sandbox Code Playgroud)

puppet

5
推荐指数
1
解决办法
7710
查看次数

标签 统计

amazon-cloudformation ×1

amazon-s3 ×1

puppet ×1