AWS CDK Python создает ресурсы условно

#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