Sceptre:在创建后的钩子中调用python不使用Scepter配置中定义的AWS配置文件

时间:2019-07-01 19:52:23

标签: sceptre

我们如何配置从钩子调用python脚本时要使用的aws凭证配置文件

我创建了一个我想从权杖创建后的钩子调用的python代码。 使用“ sceptre create”时,确实会执行代码,但是针对默认的aws配置文件而不是针对config.yaml中设置的配置文件,然后在错误的AWS账户上激活了存储桶加密。

直到现在,我浏览了文档并没有发现任何内容 在本地运行python代码(不使用sceptre)时,一旦设置了AWS_PROFILE环境变量,它就可以很好地工作

import boto3
from botocore.exceptions import ClientError
# update the cloudformation template to ensure proper encryption
BUCKET_NAME = "kiki-001"
s3 = boto3.client('s3')
response = s3.put_bucket_encryption(
    Bucket=BUCKET_NAME,
    ServerSideEncryptionConfiguration={
        'Rules' : [
            {
            'ApplyServerSideEncryptionByDefault': { 'SSEAlgorithm' : 'AES256'}
            }
        ]
    }
 )

堆栈配置文件(base.yaml)如下


template_path: base.json
parameters:
  BaseBucketName: eitstoragenoprod
hooks:
after_create:
   - !cmd "echo \"Hello World\""

stackgroup config.yaml看起来像

project_code: Foundation-Storage
region: eu-west-1
profile : storagenoprod-admin
template_bucket_name: storagenoprod-cloudformationsuploads
stack_tags : 
  InternalBudgetKey: "StorageNoProdFoundations"
  AssetsOwner: "ServiceOwner"

0 个答案:

没有答案