首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用cloudformation将资源从一个yaml模板调用到另一个yaml模板

如何使用cloudformation将资源从一个yaml模板调用到另一个yaml模板
EN

Stack Overflow用户
提问于 2020-06-12 15:37:23
回答 3查看 1.3K关注 0票数 1

我需要一些关于云表单模板的指导。

我有一个名为test1.yaml的堆栈,在那里我创建了一个名为S3Role的IAM角色。

现在我有了另一个名为test2.yaml的堆栈,在那里我创建了一个托管策略来附加到现有的iam角色。

现在,我想在托管策略的test1.yml文件中调用S3Role

有人能帮我写剧本吗?

EN

Stack Overflow用户

发布于 2022-03-29 09:57:55

为在CloudFormation模板中交叉引用AWS资源提供完整的脚本。

test1.yaml具有一个IAM角色(逻辑ID: IAMRole),我们通过输出块导出该角色。还请注意,Output块的缩进与Resources块的缩进相同。

输出块有许多用途。来自AWS文件

可选输出部分声明输出值,可以导入到其他堆栈(创建跨堆栈引用)、响应返回(用于描述堆栈调用)或在AWS CloudFormation控制台上查看。

test1.yaml

代码语言:javascript
运行
复制
Resources:
  IAMRole:
    Type: AWS::IAM::Role
    Properties:
      AssumeRolePolicyDocument:
        Version: 2012-10-17
        Statement:
        - Sid: TrustPolicy
          Effect: Allow
          Principal:
            Service:
              - ec2.amazonaws.com
          Action: sts:AssumeRole
      ManagedPolicyArns:    
        - arn:aws:iam::aws:policy/AmazonS3FullAccess
      Path: / 
      RoleName: IAMRole

Outputs:
  ExportIAMRole:
    Description: Export the IAMRole to use in test2.yaml
    Value: !Ref IAMRole
    Export: 
      Name: IAMRole

test2.yaml中,我们通过引用我们在Export块下指定的名称来导入值。

test2.yaml

代码语言:javascript
运行
复制
Resources:
  IAMPolicy:
    Type: AWS::IAM::ManagedPolicy
    Properties:
      ManagedPolicyName: IAMPolicy
      PolicyDocument:
        Version: 2012-10-17
        Statement:
          - Effect: Allow
            Action:
              - kms:ListAliases
              - kms:Encrypt
              - kms:Decrypt
            Resource: "*"
      Roles:
        - !ImportValue IAMRole
票数 0
EN
查看全部 3 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62347628

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档