> ## Documentation Index
> Fetch the complete documentation index at: https://notes.kodekloud.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Course: AWS CloudFormation

> A KodeKloud course teaching AWS CloudFormation infrastructure as code, covering templates, stacks, parameters, policies, drift detection, automation, and hands-on labs for practical DevOps skills.

Notes for the **AWS CloudFormation** course: 112 lessons across 25 sections.

## Course Introduction

* [Introduction](/docs/AWS-CloudFormation/Course-Introduction/Introduction/page.md)
* [Course Prerequisites](/docs/AWS-CloudFormation/Course-Introduction/Course-Prerequisites/page.md)
* [Course Overview](/docs/AWS-CloudFormation/Course-Introduction/Course-Overview/page.md)
* [Course Structure](/docs/AWS-CloudFormation/Course-Introduction/Course-Structure/page.md)
* [Thought Process](/docs/AWS-CloudFormation/Course-Introduction/Thought-Process/page.md)

## Cloud Service Models

* [Cloud Service Models Overview](/docs/AWS-CloudFormation/Cloud-Service-Models/Cloud-Service-Models-Overview/page.md)
* [Complete Lifecycle Workflow](/docs/AWS-CloudFormation/Cloud-Service-Models/Complete-Lifecycle-Workflow/page.md)

## Code Editor Setup and Source Code

* [Demo Visual Studio Code Installation Windows](/docs/AWS-CloudFormation/Code-Editor-Setup-and-Source-Code/Demo-Visual-Studio-Code-Installation-Windows/page.md)
* [Demo Visual Studio Code Installation MacOS](/docs/AWS-CloudFormation/Code-Editor-Setup-and-Source-Code/Demo-Visual-Studio-Code-Installation-MacOS/page.md)
* [Demo Source Code reference and download](/docs/AWS-CloudFormation/Code-Editor-Setup-and-Source-Code/Demo-Source-Code-reference-and-download/page.md)

## AWS CloudFormation Introduction

* [AWS CloudFormation Introduction](/docs/AWS-CloudFormation/AWS-CloudFormation-Introduction/AWS-CloudFormation-Introduction/page.md)
* [How Does AWS CloudFormation Work](/docs/AWS-CloudFormation/AWS-CloudFormation-Introduction/How-Does-AWS-CloudFormation-Work/page.md)
* [Demo Creating a base IAM user](/docs/AWS-CloudFormation/AWS-CloudFormation-Introduction/Demo-Creating-a-base-IAM-user/page.md)
* [Demo Using AWS CloudFormation for the first time](/docs/AWS-CloudFormation/AWS-CloudFormation-Introduction/Demo-Using-AWS-CloudFormation-for-the-first-time/page.md)
* [CloudFormations Essential Building Blocks](/docs/AWS-CloudFormation/AWS-CloudFormation-Introduction/CloudFormations-Essential-Building-Blocks/page.md)
* [Deploying CloudFormation Templates](/docs/AWS-CloudFormation/AWS-CloudFormation-Introduction/Deploying-CloudFormation-Templates/page.md)
* [Demo Accessing documentation on CloudFormation](/docs/AWS-CloudFormation/AWS-CloudFormation-Introduction/Demo-Accessing-documentation-on-CloudFormation/page.md)

## Resources

* [CloudFormation Resources Introduction](/docs/AWS-CloudFormation/Resources/CloudFormation-Resources-Introduction/page.md)
* [Demo Creating a base template in YAML for Amazon S3](/docs/AWS-CloudFormation/Resources/Demo-Creating-a-base-template-in-YAML-for-Amazon-S3/page.md)
* [Optional Attributes to Use for Resources](/docs/AWS-CloudFormation/Resources/Optional-Attributes-to-Use-for-Resources/page.md)

## From Template to Stack

* [Linting and Validating our Templates With CFN Lint](/docs/AWS-CloudFormation/From-Template-to-Stack/Linting-and-Validating-our-Templates-With-CFN-Lint/page.md)
* [Demo Defining and setting up CFN Lint for our templates Part 1](/docs/AWS-CloudFormation/From-Template-to-Stack/Demo-Defining-and-setting-up-CFN-Lint-for-our-templates-Part-1/page.md)
* [Demo Python Installation and setup Windows](/docs/AWS-CloudFormation/From-Template-to-Stack/Demo-Python-Installation-and-setup-Windows/page.md)
* [Demo Python Installation and setup MacOS](/docs/AWS-CloudFormation/From-Template-to-Stack/Demo-Python-Installation-and-setup-MacOS/page.md)
* [Demo Defining and setting up CFN Lint for our templates Part 2](/docs/AWS-CloudFormation/From-Template-to-Stack/Demo-Defining-and-setting-up-CFN-Lint-for-our-templates-Part-2/page.md)
* [DemoModifying the name of an S3 Bucket](/docs/AWS-CloudFormation/From-Template-to-Stack/DemoModifying-the-name-of-an-S3-Bucket/page.md)
* [Demo Using a CloudFormation template to provision an S3 Bucket](/docs/AWS-CloudFormation/From-Template-to-Stack/Demo-Using-a-CloudFormation-template-to-provision-an-S3-Bucket/page.md)

## Metadata and Tags

* [Metadata and Tags Introduction](/docs/AWS-CloudFormation/Metadata-and-Tags/Metadata-and-Tags-Introduction/page.md)
* [Demo Adding Metadata in the template resource](/docs/AWS-CloudFormation/Metadata-and-Tags/Demo-Adding-Metadata-in-the-template-resource/page.md)
* [Demo Adding Tags in the template resource](/docs/AWS-CloudFormation/Metadata-and-Tags/Demo-Adding-Tags-in-the-template-resource/page.md)
* [Demo Tagging resources in the AWS Management Console](/docs/AWS-CloudFormation/Metadata-and-Tags/Demo-Tagging-resources-in-the-AWS-Management-Console/page.md)

## Intrinsic Functions

* [Intrinsic Functions Introduction](/docs/AWS-CloudFormation/Intrinsic-Functions/Intrinsic-Functions-Introduction/page.md)

## Parameters

* [Parameters Introduction](/docs/AWS-CloudFormation/Parameters/Parameters-Introduction/page.md)
* [Demo Parameterizing an S3 bucket name](/docs/AWS-CloudFormation/Parameters/Demo-Parameterizing-an-S3-bucket-name/page.md)
* [Demo Setting default values and limit choices](/docs/AWS-CloudFormation/Parameters/Demo-Setting-default-values-and-limit-choices/page.md)
* [Demo Evaluating our template with documentation](/docs/AWS-CloudFormation/Parameters/Demo-Evaluating-our-template-with-documentation/page.md)

## Mappings

* [Mappings Introduction](/docs/AWS-CloudFormation/Mappings/Mappings-Introduction/page.md)
* [Accessing Mapped Values](/docs/AWS-CloudFormation/Mappings/Accessing-Mapped-Values/page.md)
* [Demo Defining mappings in CloudFormation](/docs/AWS-CloudFormation/Mappings/Demo-Defining-mappings-in-CloudFormation/page.md)
* [Demo Accessing our mapped values](/docs/AWS-CloudFormation/Mappings/Demo-Accessing-our-mapped-values/page.md)
* [Demo Using FindInMap dynamically with parameters](/docs/AWS-CloudFormation/Mappings/Demo-Using-FindInMap-dynamically-with-parameters/page.md)

## CloudFormation - Conditions and Policies

* [Conditions Introduction](/docs/AWS-CloudFormation/CloudFormation-Conditions-and-Policies/Conditions-Introduction/page.md)
* [Demo Defining a basic public read policy](/docs/AWS-CloudFormation/CloudFormation-Conditions-and-Policies/Demo-Defining-a-basic-public-read-policy/page.md)
* [Demo Using Sub dynamically with parameters](/docs/AWS-CloudFormation/CloudFormation-Conditions-and-Policies/Demo-Using-Sub-dynamically-with-parameters/page.md)
* [Demo Creating a condition to differentiate environments](/docs/AWS-CloudFormation/CloudFormation-Conditions-and-Policies/Demo-Creating-a-condition-to-differentiate-environments/page.md)
* [Demo Applying a condition to a public read policy](/docs/AWS-CloudFormation/CloudFormation-Conditions-and-Policies/Demo-Applying-a-condition-to-a-public-read-policy/page.md)
* [DependsOn Attribute](/docs/AWS-CloudFormation/CloudFormation-Conditions-and-Policies/DependsOn-Attribute/page.md)
* [Demo Utilizing the DependsOn attribute](/docs/AWS-CloudFormation/CloudFormation-Conditions-and-Policies/Demo-Utilizing-the-DependsOn-attribute/page.md)
* [Demo Managing public access settings with conditions](/docs/AWS-CloudFormation/CloudFormation-Conditions-and-Policies/Demo-Managing-public-access-settings-with-conditions/page.md)
* [Demo Conditional resource based creation Part 1](/docs/AWS-CloudFormation/CloudFormation-Conditions-and-Policies/Demo-Conditional-resource-based-creation-Part-1/page.md)
* [Demo Conditional resource based creation Part 2](/docs/AWS-CloudFormation/CloudFormation-Conditions-and-Policies/Demo-Conditional-resource-based-creation-Part-2/page.md)
* [Policies Overview](/docs/AWS-CloudFormation/CloudFormation-Conditions-and-Policies/Policies-Overview/page.md)

## Outputs

* [Outputs Introduction](/docs/AWS-CloudFormation/Outputs/Outputs-Introduction/page.md)
* [Demo Working with Outputs in CloudFormation](/docs/AWS-CloudFormation/Outputs/Demo-Working-with-Outputs-in-CloudFormation/page.md)

## Infrastructure Composer

* [AWS Infrastructure Composer Introduction](/docs/AWS-CloudFormation/Infrastructure-Composer/AWS-Infrastructure-Composer-Introduction/page.md)
* [Demo Editing your existing template with Infrastructure Composer](/docs/AWS-CloudFormation/Infrastructure-Composer/Demo-Editing-your-existing-template-with-Infrastructure-Composer/page.md)
* [Demo Resource cleanup](/docs/AWS-CloudFormation/Infrastructure-Composer/Demo-Resource-cleanup/page.md)
* [Demo Creating your stack and template with Infrastructure Composer](/docs/AWS-CloudFormation/Infrastructure-Composer/Demo-Creating-your-stack-and-template-with-Infrastructure-Composer/page.md)

## EC2 Instance Setup With an HTTP Server

* [EC2 Instance for CloudFormation Overview](/docs/AWS-CloudFormation/EC2-Instance-Setup-With-an-HTTP-Server/EC2-Instance-for-CloudFormation-Overview/page.md)
* [Demo Using a CloudFormation template to provision a basic EC2 Instance](/docs/AWS-CloudFormation/EC2-Instance-Setup-With-an-HTTP-Server/Demo-Using-a-CloudFormation-template-to-provision-a-basic-EC2-Instance/page.md)
* [Demo Defining a security group with your template](/docs/AWS-CloudFormation/EC2-Instance-Setup-With-an-HTTP-Server/Demo-Defining-a-security-group-with-your-template/page.md)
* [Demo Allowing SSH access in your security group](/docs/AWS-CloudFormation/EC2-Instance-Setup-With-an-HTTP-Server/Demo-Allowing-SSH-access-in-your-security-group/page.md)
* [Demo Integrating metadata and parameters](/docs/AWS-CloudFormation/EC2-Instance-Setup-With-an-HTTP-Server/Demo-Integrating-metadata-and-parameters/page.md)
* [Demo Integrating tags and outputs](/docs/AWS-CloudFormation/EC2-Instance-Setup-With-an-HTTP-Server/Demo-Integrating-tags-and-outputs/page.md)
* [Demo Using a CloudFormation template to provision a complete EC2 Instance](/docs/AWS-CloudFormation/EC2-Instance-Setup-With-an-HTTP-Server/Demo-Using-a-CloudFormation-template-to-provision-a-complete-EC2-Instance/page.md)
* [Demo Replacing hardcoded values with a pseudo parameter](/docs/AWS-CloudFormation/EC2-Instance-Setup-With-an-HTTP-Server/Demo-Replacing-hardcoded-values-with-a-pseudo-parameter/page.md)
* [Demo Managing and working with multiple regions Part 1](/docs/AWS-CloudFormation/EC2-Instance-Setup-With-an-HTTP-Server/Demo-Managing-and-working-with-multiple-regions-Part-1/page.md)
* [Demo Managing and working with multiple regions Part 2](/docs/AWS-CloudFormation/EC2-Instance-Setup-With-an-HTTP-Server/Demo-Managing-and-working-with-multiple-regions-Part-2/page.md)

## AWS CLI

* [AWS CLI for CloudFormation Overview](/docs/AWS-CloudFormation/AWS-CLI/AWS-CLI-for-CloudFormation-Overview/page.md)
* [Demo Installing and setting up AWS CLI](/docs/AWS-CloudFormation/AWS-CLI/Demo-Installing-and-setting-up-AWS-CLI/page.md)
* [Demo Creating an S3 bucket and EC2 Instance with AWS CLI](/docs/AWS-CloudFormation/AWS-CLI/Demo-Creating-an-S3-bucket-and-EC2-Instance-with-AWS-CLI/page.md)

## Access Control

* [Access Control for CloudFormation Stack Actions](/docs/AWS-CloudFormation/Access-Control/Access-Control-for-CloudFormation-Stack-Actions/page.md)
* [Demo Managing basic permission policies](/docs/AWS-CloudFormation/Access-Control/Demo-Managing-basic-permission-policies/page.md)
* [Demo Creating a custom permission policy Update a stack Part 1](/docs/AWS-CloudFormation/Access-Control/Demo-Creating-a-custom-permission-policy-Update-a-stack-Part-1/page.md)
* [Demo Creating a custom permission policy Update a stack Part 2](/docs/AWS-CloudFormation/Access-Control/Demo-Creating-a-custom-permission-policy-Update-a-stack-Part-2/page.md)
* [Demo Creating a custom permission policy Delete a stack](/docs/AWS-CloudFormation/Access-Control/Demo-Creating-a-custom-permission-policy-Delete-a-stack/page.md)

## Drift Detection

* [CloudFormation Drift Introduction](/docs/AWS-CloudFormation/Drift-Detection/CloudFormation-Drift-Introduction/page.md)
* [Demo Utilizing CloudFormation Drift](/docs/AWS-CloudFormation/Drift-Detection/Demo-Utilizing-CloudFormation-Drift/page.md)

## Nested Stacks

* [Nested Stacks Introduction](/docs/AWS-CloudFormation/Nested-Stacks/Nested-Stacks-Introduction/page.md)
* [Demo Resource cleanup](/docs/AWS-CloudFormation/Nested-Stacks/Demo-Resource-cleanup/page.md)
* [Demo Working with nested stacks](/docs/AWS-CloudFormation/Nested-Stacks/Demo-Working-with-nested-stacks/page.md)
* [Demo Updating nested stacks](/docs/AWS-CloudFormation/Nested-Stacks/Demo-Updating-nested-stacks/page.md)
* [Demo Deleting nested stacks](/docs/AWS-CloudFormation/Nested-Stacks/Demo-Deleting-nested-stacks/page.md)

## StackSets

* [StackSets Introduction](/docs/AWS-CloudFormation/StackSets/StackSets-Introduction/page.md)
* [Demo Creating a StackSet](/docs/AWS-CloudFormation/StackSets/Demo-Creating-a-StackSet/page.md)
* [Demo Analyzing a StackSet](/docs/AWS-CloudFormation/StackSets/Demo-Analyzing-a-StackSet/page.md)
* [Demo Updating a StackSet](/docs/AWS-CloudFormation/StackSets/Demo-Updating-a-StackSet/page.md)
* [StackSet Drift Detection](/docs/AWS-CloudFormation/StackSets/StackSet-Drift-Detection/page.md)
* [Demo Utilizing Drift detection with a StackSet](/docs/AWS-CloudFormation/StackSets/Demo-Utilizing-Drift-detection-with-a-StackSet/page.md)
* [Demo Deleting a StackSet](/docs/AWS-CloudFormation/StackSets/Demo-Deleting-a-StackSet/page.md)

## Deployment Modes

* [Evaluating Stack Creation Failures](/docs/AWS-CloudFormation/Deployment-Modes/Evaluating-Stack-Creation-Failures/page.md)
* [Demo Handling stack creation failures](/docs/AWS-CloudFormation/Deployment-Modes/Demo-Handling-stack-creation-failures/page.md)
* [Rollback Triggers Overview](/docs/AWS-CloudFormation/Deployment-Modes/Rollback-Triggers-Overview/page.md)
* [Demo Utilizing rollback triggers](/docs/AWS-CloudFormation/Deployment-Modes/Demo-Utilizing-rollback-triggers/page.md)
* [Stack Policies Overview](/docs/AWS-CloudFormation/Deployment-Modes/Stack-Policies-Overview/page.md)
* [Demo Utilizing a stack policy](/docs/AWS-CloudFormation/Deployment-Modes/Demo-Utilizing-a-stack-policy/page.md)
* [Preventing Accidental Deletion of a stack](/docs/AWS-CloudFormation/Deployment-Modes/Preventing-Accidental-Deletion-of-a-stack/page.md)
* [Demo Applying termination protection on a stack](/docs/AWS-CloudFormation/Deployment-Modes/Demo-Applying-termination-protection-on-a-stack/page.md)

## SSM Parameters

* [SSM Parameter Types Overview](/docs/AWS-CloudFormation/SSM-Parameters/SSM-Parameter-Types-Overview/page.md)
* [Demo Working with SSM parameter store](/docs/AWS-CloudFormation/SSM-Parameters/Demo-Working-with-SSM-parameter-store/page.md)

## CFN init and Resource Imports

* [CFN init Overview](/docs/AWS-CloudFormation/CFN-init-and-Resource-Imports/CFN-init-Overview/page.md)
* [Demo Setting up an IAM roleInstance profile for EC2](/docs/AWS-CloudFormation/CFN-init-and-Resource-Imports/Demo-Setting-up-an-IAM-roleInstance-profile-for-EC2/page.md)
* [Demo Working with CFN init scripting Part 1](/docs/AWS-CloudFormation/CFN-init-and-Resource-Imports/Demo-Working-with-CFN-init-scripting-Part-1/page.md)
* [Demo Working with CFN init scripting Part 2](/docs/AWS-CloudFormation/CFN-init-and-Resource-Imports/Demo-Working-with-CFN-init-scripting-Part-2/page.md)
* [Resource Imports Overview](/docs/AWS-CloudFormation/CFN-init-and-Resource-Imports/Resource-Imports-Overview/page.md)
* [Demo Working with resource imports](/docs/AWS-CloudFormation/CFN-init-and-Resource-Imports/Demo-Working-with-resource-imports/page.md)

## Automation and Integration

* [CloudFormation for Continuous Delivery With CodePipeline](/docs/AWS-CloudFormation/Automation-and-Integration/CloudFormation-for-Continuous-Delivery-With-CodePipeline/page.md)
* [Demo Creating a pipeline for continuous delivery](/docs/AWS-CloudFormation/Automation-and-Integration/Demo-Creating-a-pipeline-for-continuous-delivery/page.md)
* [Demo Updating our templates and resource cleanup](/docs/AWS-CloudFormation/Automation-and-Integration/Demo-Updating-our-templates-and-resource-cleanup/page.md)

## Registry

* [CloudFormation Registry Introduction](/docs/AWS-CloudFormation/Registry/CloudFormation-Registry-Introduction/page.md)
* [Demo A brief overview of the CloudFormation registry](/docs/AWS-CloudFormation/Registry/Demo-A-brief-overview-of-the-CloudFormation-registry/page.md)

## Conclusion

* [Conclusion](/docs/AWS-CloudFormation/Conclusion/Conclusion/page.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.