Я хочу создать Elastic Beanstalk, используя шаблон CloudFormation.Я хочу определить переменную окружения ENV_VAR_1
и установить ее значение в значение параметра шаблона var1
.Но не хочу, чтобы ENV_VAR_1
вообще существовал, если var1
- пустая строка.Т.е. я не хочу ENV_VAR_1
без значения.
Сначала я попробовал Conditions
, но я получаю "Encountered unsupported property Condition"
при создании ресурса ElasticBeanstalkEnvironment
.
Parameters:
var1:
Type: String
Conditions:
isVar1Empty: !Equals [ !Ref var1, "" ]
Resources:
ElasticBeanstalkEnvironment:
Type: 'AWS::ElasticBeanstalk::Environment'
Properties:
OptionSettings:
- Namespace: 'aws:elasticbeanstalk:application:environment'
Condition: isVar1Empty
OptionName: ENV_VAR_1
Value: !Ref var1
Тогда я попробовал AWS::NoValue
Parameters:
var1:
Type: String
Resources:
ElasticBeanstalkEnvironment:
Type: 'AWS::ElasticBeanstalk::Environment'
Properties:
OptionSettings:
- Namespace: 'aws:elasticbeanstalk:application:environment'
OptionName: ENV_VAR_1
Value: !If [[!Equals [ !Ref var1, "" ]], !Ref 'AWS::NoValue', !Ref var1]
и множество комбинаций перестановок этого.С тем же результатом: когда var1
пусто, Elastic Beanstalk создается с ENV_VAR_1
, установленным на ""