AWS Cloudformation определяет Преобразование раздела на глобальном уровне шаблона в виде массива.
См. Определение раздела преобразования здесь .
Я создал две записи в разделе Преобразование , которые содержат некоторые частичные определения ресурсов стека.Цель состоит в том, чтобы создать несколько файлов с определениями / ресурсами, сгруппированными по «домену продукта» для каждого файла.
Когда я создаю стек на основе этого шаблона, он выполняет только одно частичное определение (последнее - остальные определения с именем «AWS :: Include» игнорируются или «переопределяются»)
Этоосновное определение шаблона:
{
"AWSTemplateFormatVersion": "2010-09-09",
"Description": "Test of json file inclusion",
"Parameters": {
"Environment": {
"Type": "String",
"Description": "Specify Environment: prod | dev ",
"AllowedValues": ["prod", "dev"],
"Default": "dev"
}
},
"Transform": [
{
"Name": "AWS::Include",
"Parameters": {
"Location": "s3://a1-local/cf-tests/part-1.json"
}
},
{
"Name": "AWS::Include",
"Parameters": {
"Location": "s3://a1-local/cf-tests/part-2.json"
}
}
],
"Outputs": {
}
}
Это определение части-1
{
"Mappings": {
"MappingForBucket1": {
"eu-west-1": { "AZs": [ "eu-west-1a", "eu-west-1b" ] }
}
},
"Resources": {
"hellobucket1": {
"Type": "AWS::S3::Bucket",
"Properties": {
"BucketName": { "Fn::Sub": "as-testbucket1-${Environment}" }
}
}
}
}
Это определение части 2
{
"Mappings": {
"MappingForBucket2": {
"eu-west-1": { "AZs": [ "eu-west-1a", "eu-west-1b" ] }
}
},
"Resources": {
"hellobucket2": {
"Type": "AWS::S3::Bucket",
"Properties": {
"BucketName": { "Fn::Sub": "as-testbucket2-${Environment}" }
}
}
}
}
Как объединить / объединить несколько преобразований в таком случае?