Создание ссылок Fn::GetAtt между шаблонами cloudformation

Я создаю пользовательские шаблоны cloudformation и понимаю, что вы можете использовать свои выходные данные для вызова параметров из других шаблонов в другие шаблоны с помощью функции Fn::GetAtt.

Например, в настоящее время мой шаблон VPC имеет;

"ParentVPC" : {    
    "Description" : "VPC ID",
    "Value" : { "Ref" : "VPC" }
},
"DBSubnet01" : {
    "Description" : "DB Subnet 01",
    "Value" : {"Ref": "DBSubnet01"}
}

Итак, из моего шаблона приложения мне интересно, как бы я назвал их в качестве параметров. Я пытался;

"ParentVPC" : {
     "Type" : "AWS::EC2::VPC::Id",
     "Description" : "VPC of Parent"
 },
"DBSubnet01": {
    "Description" : "Reference to VPC DBSubnet01",
    "Type" : "List<AWS::EC2::Subnet::Id>",
    "ConstraintDescription": "must be list of EC2 subnet ids"
}

Приветствуются любые предложения


person Ste-3PO    schedule 17.04.2015    source источник


Ответы (1)


В шаблоне, определяющем VPC, создайте выходные значения следующим образом:

"Outputs" : {
    "ParentVPC" : {
        "Value" : {"Ref":"VPC"},
        "Description" : "VPC ID"
    },
    ...
}

Затем в шаблоне с помощью VPC создайте такие параметры:

"Parameters" : {
    "ParentVPC" : {
        "Type" : "AWS::EC2::VPC::Id",
    },
    ...
}

При создании стека из этого шаблона вызовите describe-stack в стеке, определяющем VPC, чтобы получить выходные значения, и передайте их в качестве параметров в create-stack.

person bsvingen    schedule 20.04.2015