, поэтому я пытаюсь создать условный параметр для ресурсов ConfigRule, созданных с помощью AWS Cloudformation. Тем не менее, у меня проблемы с тем, как я должен правильно его кодировать. Я перепробовал разные вещи и следовал упомянутым документам [1] [2]. Ниже приведен простейший код, который я мог бы подумать, но он все еще не работает, поэтому возникает ошибка "Yaml не правильно сформирован"
[1] https://aws.amazon.com/blogs/infrastructure-and-automation/conditionally-launch-aws-cloudformation-resources-based-on-user-input/
[2 ] https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-conditions.html#intrinsic -функция-эталонные условия-если
Conditions:
IsAllResources: !Equals
- !Ref IncludeAllResources
- 'True'
Resources:
AWSConfigRule:
Type: AWS::Config::ConfigRule
Properties:
ConfigRuleName: RequiredTags
Description: Checks whether your resources have the specified tags.
InputParameters:
tag1Key: ProjectCode
tag1Value: !Ref ProjectCode
tag2Key: SupportContact
tag2Value: !Ref SupportContact
Source:
Owner: AWS
SourceIdentifier: REQUIRED_TAGS
Scope:
ComplianceResourceTypes:
- AWS::EC2::Volume
- AWS::EC2::Instance
- AWS::Redshift::Cluster
- AWS::Redshift::ClusterSnapshot
- AWS::RDS::DBInstance
- AWS::RDS::DBSnapshot
- AWS::S3::Bucket
- AWS::CloudTrail::Trail
- AWS::CodeBuild::Project
- AWS::CodePipeline::Pipeline
- AWS::DynamoDB::Table
!If
- IsAllResources
- AWS::CloudFormation::Stack
- AWS::Lambda::Function
- !Ref "AWS::NoValue"
Цените ваши вклады по этому вопросу. Спасибо.
Добавлены обновления: исправлена проблема с использованием этого: Не уверен, поддерживает ли CFN более сложное кодирование
Scope:
ComplianceResourceTypes:
!If
- IsAllResources
-
- AWS::EC2::Volume
- AWS::EC2::Instance
-
- AWS::EC2::Volume