Объем вопроса:
AWS CodeBuild, раздел ParametersOverrides
Использование функций переопределения параметров с конвейерами CodePipeline
1) I может передать строку в ParameterOverrides, а затем передать ее во вложенный стек, как описано ниже
- создать строковый параметр
- передать его в раздел ParameterOverrides AWS CodeBuild project
-пародный параметр во вложенном стеке
Цитирование официальной документации: AWS :: CloudFormation :: Stack
If Вы используете функцию Ref для передачи значения параметра во вложенный стек, параметры списка с разделителями-запятыми должны иметь тип String. Другими словами, вы не можете передавать значения типа CommaDelimitedList во вложенные стеки.
2) Я не могу понять, как преобразовать List в строку внутри раздела ParameterOverrides с конфигурацией ниже :
- определить параметр с типом списка ServiceSubnets: Тип: список Описание: подсети, связанные со службой
, - попытаться передать параметр в раздел ParameterOverrides в качестве значения для вложенного стека, применить функцию Join, чтобы преобразовать ее в строку
ParameterOverrides: !Sub |
{
"ImageURI" : { "Fn::GetParam" : [ "BuildOutput", "imageDetail.json", "ImageURI" ] },
"ApplicationRepoName": "${ApplicationRepoName}",
"Cluster": "${Cluster}",
"ListenerArn": "${ListenerArn}",
"TargetGroup": "${TargetGroup}",
"ServiceDesiredCount": "${ServiceDesiredCount}",
"ServiceLoadBalancerPath": "${ServiceLoadBalancerPath}",
"ServiceContainerPort": "${ServiceContainerPort}",
"ServiceSecurityGroups": { "Fn::Join" : [ ",", "${ServiceSecurityGroups}"] ] },
"ServiceSubnets": { "Fn::Join" : [ ",", "${ServiceSubnets}" ] },
"TaskContainerPort": "${TaskContainerPort}",
"TaskCpu": "${TaskCpu}",
"TaskMemory": "${TaskMemory}",
"TaskExecutionRoleArn": "${TaskExecutionRoleArn}"
}
Так что я ожидаю, что список должен быть преобразован в строку, а строка должна быть передана, а затем использована во вложенном стеке, однако , попытка развернуть такой стек вернула ошибку:
Ошибка шаблона: переменная ServiceSecurityGroups в выражении Fn :: Sub не разрешается в строку
Мой вопрос:
Можно ли использовать функцию Join в разделе ParameterOverrides для преобразования списка в строку?
Если да, я был бы очень признателен, если бы вы поделились со мной примером, иллюстрирующим, как это сделать.
Спасибо.