#python #amazon-web-services #aws-cdk
#python #amazon-веб-сервисы #aws-cdk
Вопрос:
Я хотел бы создавать ресурсы в зависимости от значения параметров. Как я могу этого добиться?
Пример:
vpc_create = core.CfnParameter(stack, "createVPC")
condition = core.CfnCondition(stack,
"testeCondition",
expression=core.Fn.condition_equals(vpc_create, True)
)
vpc = ec2.Vpc(stack, "MyVpc", max_azs=3)
Как добавить условие к ресурсу VPC для создаваемого VPC, только если параметр имеет значение true?
Я думаю, что мне нужно получить ресурс Cloudformation, что-то вроде этого:
vpc.node.default_child # And I think this returns an object from ec2.CfnVPC class, but I'm stuck here.
Спасибо
Комментарии:
1. Вам действительно нужно использовать
CfnParameter
иCfnCondition
? Я бы подумал, что вы можете выполнить проверку в обычномif
состоянии. Так что, какif (createVPC) { vpc = ec2.Vpc(stack, "MyVpc", max_azs=3) }
Ответ №1:
С помощью данных возможно создание условных ресурсов и множество других возможностей context
. Сама AWS рекомендует context
более parameters
В целом, мы не рекомендуем использовать параметры AWS CloudFormation с AWS CDK. В отличие от значений контекста или переменных среды, которые являются обычным способом передачи значений в приложения AWS CDK без их жесткого кодирования, значения параметров недоступны во время синтеза и, следовательно, не могут быть легко использованы в других частях вашего приложения AWS CDK, особенно для потока управления.
Пожалуйста, прочитайте полностью по адресу: https://docs.aws.amazon.com/cdk/latest/guide/parameters.html