Редактировать: Вот пример машинописного текста, который считывает имя сегмента из контекста: https://github.com/cloudshiftstrategies/aws-cdk-examples/tree/master/context-example-typescript-app
Вы можете добавить параметры в CDK, используя тип CfnParameter, например:
new cdk.CfnParameter(this, 'MyParameter', {
type: 'String',
default: 'Blah',
noEcho: true,
});
Но это, как правило, не одобряет CDK.План состоит в том, чтобы иметь полностью развертываемые стеки и использовать код / конфигурацию в качестве условий для того, что должно быть создано для данной учетной записи.Это из их документации :
Когда вы запускаете команду cdk synth для приложения с несколькими стеками, облачная сборка включает отдельный шаблон для каждого экземпляра стека.Даже если два стека являются экземплярами одного и того же класса, AWS CDK генерирует их как два отдельных шаблона.
Вы можете синтезировать каждый шаблон, указав имя стека в команде cdk synth.В следующем примере синтезируется шаблон для stack1.
Этот подход концептуально отличается от того, как обычно используются шаблоны AWS CloudFormation, где шаблон может быть развернут несколько раз и параметризован с помощью параметров AWS CloudFormation.Хотя параметры AWS CloudFormation можно определить в AWS CDK, их обычно не рекомендуется, поскольку параметры AWS CloudFormation разрешаются только во время развертывания.Это означает, что вы не можете определить их значение в вашем коде.Например, чтобы условно включить ресурс в свое приложение на основе значения параметра, необходимо установить условие AWS CloudFormation и пометить ресурс этим условием.Поскольку в AWS CDK используется подход, при котором конкретные шаблоны разрешаются во время синтеза, вы можете использовать оператор if, чтобы проверить значение, чтобы определить, должен ли быть определен ресурс или какое-то поведение.
Параметры в cdk будут передаваться через значения контекста либо из командной строки, либо через cdk.json, как описано здесь: https://docs.aws.amazon.com/cdk/latest/guide/get_context_var.html