Essayer d'utiliser Fn :: Rejoindre dans les Fn :: FindInMap, comme ci-dessous:AWS Cloudformation: Fn :: Jointure dans une instruction Fn :: FindInMap?
"SubnetId": {
"Fn::FindInMap": [
{
"Ref": "OrganizationName"
},
"AZ",
{
"Fn::Join": [
"",
[
{
"Ref": "Environment"
},
{
"Ref": "Member1AZ"
}
]
]
}
]
}
Le Nom_organisation, l'environnement et Member1AZ sont tous les paramètres. Essentiellement, il devrait raccorder à mes applications et de produire, par exemple:
"SubnetId" : { "Fn::FindInMap" : [ "Organization2", "AZ", "prod1c" ]}
Cependant, il ne semble pas prendre la sortie de la Fn :: Inscrivez-vous comme une seule entité sur la touche Fn :: FindInMap, il valide correctement si je code en dur cette section du modèle.
A client error (ValidationError) occurred when calling the ValidateTemplate operation: Template error: every Fn::FindInMap object requires three parameters, the map name, map key and the attribute for return value
Mes Mappages sont les suivantes:
Mappings" : {
"OrganizationDefaults" : {
"AZ" : {
"prod1a" : "subnet-foobar1",
"qa1a" : "subnet-foobar2",
"prod1c" : "subnet-foobar3",
"qa1c" : "subnet-foobar4"
}
},
"OrganizationTwo" : {
"AZ" : {
"prod1a" : "subnet-foobar5",
"qa1a" : "subnet-foobar6",
"prod1c" : "subnet-foobar7",
"qa1c" : "subnet-foobar8"
}
},
},
peut-elle aider quelqu'un à ce sujet, ou ont dû faire quelque chose de semblable auparavant? J'ai besoin d'utiliser le même modèle pour toutes les organisations listées, donc Mappings devrait résoudre cela pour moi, si je peux le faire correctement.