Получить URL-адрес шаблона Cloudformation - PullRequest
0 голосов
/ 06 апреля 2019

У меня есть набор yaml шаблонов (один корневой шаблон и несколько дочерних) для создания корневого стека и вложенных стеков на верхнем уровне сегмента S3.Это выглядит следующим образом:

my-cf-templates-bucket (S3 bucket)
├ root.yaml
├ child1.yaml
├ child2.yaml
├ ...
└ childN.yaml

Чтобы предоставить TemplateURL дочерних шаблонов, в настоящее время я использую параметр TemplateS3Bucket для URL-адреса корзины:

Parameters:
  TemplateS3Bucket:
    Description: The bucket url for templates
    Type: String
    Default: https://s3.eu-central-1.amazonaws.com/my-cf-templates-bucket
Resources:
  ChildStack1:
    Type: AWS::CloudFormation::Stack
    Properties:
      TemplateURL: !Join ["/", [ !Ref TemplateS3Bucket, "child1.yaml"]]
      Parameters:
        ProjectName: !Ref ProjectName
  ChildStack1:
    Type: AWS::CloudFormation::Stack
    Properties:
      TemplateURL: !Join ["/", [ !Ref TemplateS3Bucket, "child2.yaml"]]
      Parameters:
        ProjectName: !Ref ProjectName
  # ...
  ChildStackN:
    Type: AWS::CloudFormation::Stack
    Properties:
      TemplateURL: !Join ["/", [ !Ref TemplateS3Bucket, "childN.yaml"]]
      Parameters:
        ProjectName: !Ref ProjectName

Вопрос:

Есть ли способ (!GetAtt и т. Д.) Получить URL-адрес корзины корневого шаблона S3, через который я создаю стек вКонсоль AWS CloudFormation (не aws-cli).

Имея такой способ, я мог бы иметь встроенный URL-адрес корзины для дочерних шаблонов, и мне не нужно ни добавлять их в качестве переопределяемых параметров, ни повторять полный URL-адрес корзины для всех свойств templateURL дочерних стеков.

1 Ответ

1 голос
/ 08 апреля 2019

Я так и не узнаю.Передача S3-контейнера шаблонов в качестве параметров представляется стандартным / наиболее распространенным способом выполнения действий.

...