How can I use the condition within cloud formation for creating resources?
I am currently designing a cloud formation template to deploy infrastructure resources on AWS. Explain to me how can I use the condition within Cloudformation for creating the resources conditionally based on the criteria.
In the context of AWS, here is the step given of how you can implement conditions within the cloud formation template:-
Define condition in cloud formation
You can define the condition in the cloud formation template by using the “condition” section within the template. It would evaluate whether resources or a set of resources be created based on certain criteria.
Example scenario
Let us assume an example where you want to create an S3 bucket only if a specific environment variable is set to ‘production’.
Here is an example given of a cloud formation template snippet which would demonstrate how you can implement the condition for the above example:-
AWSTemplateFormatVersion: ‘2010-09-09’
Description: Example CloudFormation Template with Conditions
Parameters:
EnvironmentType:
Type: String
Default: ‘development’
AllowedValues: [‘development’, ‘production’]
Description: Select the environment type
Conditions:
CreateBucketCondition:
!Equals [ !Ref EnvironmentType, ‘production’ ]
Resources:
MyS3Bucket:
Condition: CreateBucketCondition
Type: AWS::S3::Bucket
Properties:
BucketName: !If [ CreateBucketCondition, ‘my-production-bucket’, ‘my-development-bucket’ ]