# KodeKloud: Beta Courses AWS CloudFormation

## AWS CloudFormation

### Course Introduction

- [Introduction](https://notes.kodekloud.com/docs/AWS-CloudFormation/Course-Introduction/Introduction/page.md): 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.
- [Course Prerequisites](https://notes.kodekloud.com/docs/AWS-CloudFormation/Course-Introduction/Course-Prerequisites/page.md): AWS CloudFormation course prerequisites covering basic AWS, Amazon S3 and EC2 familiarity, networking fundamentals, estimated prep time, and recommended learning resources for hands on templates.
- [Course Overview](https://notes.kodekloud.com/docs/AWS-CloudFormation/Course-Introduction/Course-Overview/page.md): Overview course teaching AWS CloudFormation and Infrastructure as Code with examples, best practices, automation, security, and CI/CD integrations
- [Course Structure](https://notes.kodekloud.com/docs/AWS-CloudFormation/Course-Introduction/Course-Structure/page.md): A guide to a hands-on course structure emphasizing demos, guided exercises, incremental difficulty, and deliberate repetition to build practical skills and retention
- [Thought Process](https://notes.kodekloud.com/docs/AWS-CloudFormation/Course-Introduction/Thought-Process/page.md): Guides learners to build a structured, sustainable study routine emphasizing one concept at a time, active techniques, spaced repetition, Pomodoro sessions, checklists, and celebrating small wins.

### Cloud Service Models

- [Cloud Service Models Overview](https://notes.kodekloud.com/docs/AWS-CloudFormation/Cloud-Service-Models/Cloud-Service-Models-Overview/page.md): Overview of IaaS, PaaS, SaaS and Infrastructure as Code that explains responsibility boundaries, typical workflows, and guidance for selecting and automating cloud deployments.
- [Complete Lifecycle Workflow](https://notes.kodekloud.com/docs/AWS-CloudFormation/Cloud-Service-Models/Complete-Lifecycle-Workflow/page.md): Guide to the complete lifecycle workflow for AWS CloudFormation templates covering authoring, linting, validating, deploying, verifying resources, and iterative best practices for safe infrastructure as code

### Code Editor Setup and Source Code

- [Demo Visual Studio Code Installation Windows](https://notes.kodekloud.com/docs/AWS-CloudFormation/Code-Editor-Setup-and-Source-Code/Demo-Visual-Studio-Code-Installation-Windows/page.md): Guide to downloading installing and verifying Visual Studio Code on Windows including recommended installer options PATH setup and basic commands
- [Demo Visual Studio Code Installation MacOS](https://notes.kodekloud.com/docs/AWS-CloudFormation/Code-Editor-Setup-and-Source-Code/Demo-Visual-Studio-Code-Installation-MacOS/page.md): Step by step guide to download, install, and configure Visual Studio Code on macOS, enable the code command line launcher, and set useful shortcuts.
- [Demo Source Code reference and download](https://notes.kodekloud.com/docs/AWS-CloudFormation/Code-Editor-Setup-and-Source-Code/Demo-Source-Code-reference-and-download/page.md): Guide to a GitHub repository of AWS CloudFormation demo templates with usage instructions for cloning, validating, and deploying templates for learning and reference

### AWS CloudFormation Introduction

- [AWS CloudFormation Introduction](https://notes.kodekloud.com/docs/AWS-CloudFormation/AWS-CloudFormation-Introduction/AWS-CloudFormation-Introduction/page.md): Overview of AWS CloudFormation, an Infrastructure as Code service to define, provision, update, and manage AWS resources via reusable YAML or JSON templates for automated, consistent infrastructure.
- [How Does AWS CloudFormation Work](https://notes.kodekloud.com/docs/AWS-CloudFormation/AWS-CloudFormation-Introduction/How-Does-AWS-CloudFormation-Work/page.md): Explains how AWS CloudFormation templates and stacks work, how templates are stored, and how stacks are created, updated, and deleted.
- [Demo Creating a base IAM user](https://notes.kodekloud.com/docs/AWS-CloudFormation/AWS-CloudFormation-Introduction/Demo-Creating-a-base-IAM-user/page.md): Guide to creating a base AWS IAM user with administrative permissions and MFA to get started with CloudFormation, with recommendations for least-privilege practices.
- [Demo Using AWS CloudFormation for the first time](https://notes.kodekloud.com/docs/AWS-CloudFormation/AWS-CloudFormation-Introduction/Demo-Using-AWS-CloudFormation-for-the-first-time/page.md): Step-by-step beginner demo showing how to upload a local CloudFormation template, create and verify AWS resources like S3 and EC2, then delete the stack to clean up
- [Deploying CloudFormation Templates](https://notes.kodekloud.com/docs/AWS-CloudFormation/AWS-CloudFormation-Introduction/Deploying-CloudFormation-Templates/page.md): Overview of deploying AWS CloudFormation templates using console, CLI, and CI/CD with recommended practices and examples
- [Demo Accessing documentation on CloudFormation](https://notes.kodekloud.com/docs/AWS-CloudFormation/AWS-CloudFormation-Introduction/Demo-Accessing-documentation-on-CloudFormation/page.md): Guide to finding and using official AWS CloudFormation documentation, including resource references, examples, CLI and API details, and bookmarking tips for template development.

### Resources

- [CloudFormation Resources Introduction](https://notes.kodekloud.com/docs/AWS-CloudFormation/Resources/CloudFormation-Resources-Introduction/page.md): Explains AWS CloudFormation resources, structure, intrinsic functions, dependency handling, lifecycle controls and best practices for defining and managing resources in templates.
- [Demo Creating a base template in YAML for Amazon S3](https://notes.kodekloud.com/docs/AWS-CloudFormation/Resources/Demo-Creating-a-base-template-in-YAML-for-Amazon-S3/page.md): Guide to creating a minimal AWS CloudFormation YAML template that provisions an Amazon S3 bucket, including file setup, Resources section, optional bucket name, validation, and deployment steps.
- [Optional Attributes to Use for Resources](https://notes.kodekloud.com/docs/AWS-CloudFormation/Resources/Optional-Attributes-to-Use-for-Resources/page.md): Explains CloudFormation optional resource attributes like Properties, Metadata, DependsOn, DeletionPolicy, UpdatePolicy, and Condition to control configuration, lifecycle, and conditional resource creation

### From Template to Stack

- [Linting and Validating our Templates With CFN Lint](https://notes.kodekloud.com/docs/AWS-CloudFormation/From-Template-to-Stack/Linting-and-Validating-our-Templates-With-CFN-Lint/page.md): How to lint and validate AWS CloudFormation templates using cfn-lint, including installation, usage examples, editor and CI integration, and best practices to catch errors before deployment
- [Demo Defining and setting up CFN Lint for our templates Part 1](https://notes.kodekloud.com/docs/AWS-CloudFormation/From-Template-to-Stack/Demo-Defining-and-setting-up-CFN-Lint-for-our-templates-Part-1/page.md): Guide to install and configure cfn-lint and VS Code extension to lint AWS CloudFormation templates, verify CLI integration, and troubleshoot setup
- [Demo Python Installation and setup Windows](https://notes.kodekloud.com/docs/AWS-CloudFormation/From-Template-to-Stack/Demo-Python-Installation-and-setup-Windows/page.md): Guide to downloading, installing, and verifying Python 3 on Windows, including installer options, PATH setup, pip, and basic troubleshooting.
- [Demo Python Installation and setup MacOS](https://notes.kodekloud.com/docs/AWS-CloudFormation/From-Template-to-Stack/Demo-Python-Installation-and-setup-MacOS/page.md): Guide to installing Python 3 on macOS, running the official installer, verifying installation via Terminal, setting PATH and basic troubleshooting
- [Demo Defining and setting up CFN Lint for our templates Part 2](https://notes.kodekloud.com/docs/AWS-CloudFormation/From-Template-to-Stack/Demo-Defining-and-setting-up-CFN-Lint-for-our-templates-Part-2/page.md): Guide to installing and using cfn-lint to validate AWS CloudFormation YAML templates, detect common errors like indentation and misspelled keys, and integrate linting into development workflows
- [DemoModifying the name of an S3 Bucket](https://notes.kodekloud.com/docs/AWS-CloudFormation/From-Template-to-Stack/DemoModifying-the-name-of-an-S3-Bucket/page.md): Explains how to set a custom Amazon S3 bucket name in AWS CloudFormation templates and covers naming rules, risks of renaming, and best practices like using DeletionPolicy retain.
- [Demo Using a CloudFormation template to provision an S3 Bucket](https://notes.kodekloud.com/docs/AWS-CloudFormation/From-Template-to-Stack/Demo-Using-a-CloudFormation-template-to-provision-an-S3-Bucket/page.md): Guide to provision an Amazon S3 bucket by uploading a CloudFormation YAML template to create a stack via the AWS Management Console, including validation, console steps, and verification

### Metadata and Tags

- [Metadata and Tags Introduction](https://notes.kodekloud.com/docs/AWS-CloudFormation/Metadata-and-Tags/Metadata-and-Tags-Introduction/page.md): Explains differences between CloudFormation Metadata and resource Tags, their uses, visibility, best practices, and examples for maintainers, automation, and operational governance.
- [Demo Adding Metadata in the template resource](https://notes.kodekloud.com/docs/AWS-CloudFormation/Metadata-and-Tags/Demo-Adding-Metadata-in-the-template-resource/page.md): Shows how to add Metadata to CloudFormation resources, contrasts Metadata with Tags, provides examples, update instructions, best practices, and tooling usage such as cfn-init
- [Demo Adding Tags in the template resource](https://notes.kodekloud.com/docs/AWS-CloudFormation/Metadata-and-Tags/Demo-Adding-Tags-in-the-template-resource/page.md): Describes using Metadata and Tags in AWS CloudFormation templates, showing examples, placement, updates, and verification.
- [Demo Tagging resources in the AWS Management Console](https://notes.kodekloud.com/docs/AWS-CloudFormation/Metadata-and-Tags/Demo-Tagging-resources-in-the-AWS-Management-Console/page.md): Demonstrates adding tags to an AWS CloudFormation stack in the Management Console and verifying tag propagation to supported resources like S3 for cost allocation and environment identification

### Intrinsic Functions

- [Intrinsic Functions Introduction](https://notes.kodekloud.com/docs/AWS-CloudFormation/Intrinsic-Functions/Intrinsic-Functions-Introduction/page.md): Overview of AWS CloudFormation intrinsic functions, explaining short forms, purposes and examples for Ref, GetAtt, Join, Sub, If, Equals, and FindInMap

### Parameters

- [Parameters Introduction](https://notes.kodekloud.com/docs/AWS-CloudFormation/Parameters/Parameters-Introduction/page.md): Explains AWS CloudFormation parameters, their types, usage, and examples to make templates configurable, reusable, and safe across environments.
- [Demo Parameterizing an S3 bucket name](https://notes.kodekloud.com/docs/AWS-CloudFormation/Parameters/Demo-Parameterizing-an-S3-bucket-name/page.md): Explains how to parameterize an AWS CloudFormation template to supply an S3 bucket name via Parameters and !Ref, validate locally, and safely update stacks
- [Demo Setting default values and limit choices](https://notes.kodekloud.com/docs/AWS-CloudFormation/Parameters/Demo-Setting-default-values-and-limit-choices/page.md): Explains how to use AWS CloudFormation parameters to set defaults, validate input, restrict allowed values, and reference parameters in resources like S3 buckets
- [Demo Evaluating our template with documentation](https://notes.kodekloud.com/docs/AWS-CloudFormation/Parameters/Demo-Evaluating-our-template-with-documentation/page.md): Guide for validating CloudFormation templates using AWS documentation, explaining intrinsic functions like Ref and Sub, resource property references, examples, and best practices to avoid template errors.

### Mappings

- [Mappings Introduction](https://notes.kodekloud.com/docs/AWS-CloudFormation/Mappings/Mappings-Introduction/page.md): Explains CloudFormation mappings and using FindInMap for static, template-time lookups such as region AMI IDs, account settings, and environment labels
- [Accessing Mapped Values](https://notes.kodekloud.com/docs/AWS-CloudFormation/Mappings/Accessing-Mapped-Values/page.md): Explains how to use the FindInMap intrinsic function in AWS CloudFormation to perform static lookups from the Mappings section for region and configuration specific values
- [Demo Defining mappings in CloudFormation](https://notes.kodekloud.com/docs/AWS-CloudFormation/Mappings/Demo-Defining-mappings-in-CloudFormation/page.md): Guide demonstrating how to define and use CloudFormation mappings with !FindInMap for static lookups, examples, and best practices for maintainable templates
- [Demo Accessing our mapped values](https://notes.kodekloud.com/docs/AWS-CloudFormation/Mappings/Demo-Accessing-our-mapped-values/page.md): Shows how to use CloudFormation Mappings and !FindInMap to retrieve values and apply them to resource tags using an S3 bucket example with deployment and verification steps
- [Demo Using FindInMap dynamically with parameters](https://notes.kodekloud.com/docs/AWS-CloudFormation/Mappings/Demo-Using-FindInMap-dynamically-with-parameters/page.md): Demonstrates using AWS CloudFormation Mappings with FindInMap and Ref to dynamically set S3 bucket tags based on a selected parameter

### CloudFormation - Conditions and Policies

- [Conditions Introduction](https://notes.kodekloud.com/docs/AWS-CloudFormation/CloudFormation-Conditions-and-Policies/Conditions-Introduction/page.md): Explains AWS CloudFormation Conditions and how to use intrinsic functions to conditionally create resources, set properties, and make templates environment aware
- [Demo Defining a basic public read policy](https://notes.kodekloud.com/docs/AWS-CloudFormation/CloudFormation-Conditions-and-Policies/Demo-Defining-a-basic-public-read-policy/page.md): Adding a public-read S3 bucket policy with CloudFormation, showing manual and dynamic ARN methods and best practices for public access configuration
- [Demo Using Sub dynamically with parameters](https://notes.kodekloud.com/docs/AWS-CloudFormation/CloudFormation-Conditions-and-Policies/Demo-Using-Sub-dynamically-with-parameters/page.md): Using CloudFormation !Sub to inject parameters into ARNs and strings for reusable environment agnostic templates and partition portability with AWS partition and cfn lint guidance
- [Demo Creating a condition to differentiate environments](https://notes.kodekloud.com/docs/AWS-CloudFormation/CloudFormation-Conditions-and-Policies/Demo-Creating-a-condition-to-differentiate-environments/page.md): Using CloudFormation mappings and conditions to create environment-specific resources, applying a production-only public-read S3 bucket policy based on developer selection.
- [Demo Applying a condition to a public read policy](https://notes.kodekloud.com/docs/AWS-CloudFormation/CloudFormation-Conditions-and-Policies/Demo-Applying-a-condition-to-a-public-read-policy/page.md): Explains adding a CloudFormation Condition to attach a public-read S3 bucket policy only when deployment environment is Production, omitting it for Development and Test
- [DependsOn Attribute](https://notes.kodekloud.com/docs/AWS-CloudFormation/CloudFormation-Conditions-and-Policies/DependsOn-Attribute/page.md): Explains AWS CloudFormation DependsOn attribute that enforces resource creation and deletion order, with a YAML example showing an S3 bucket and bucket policy dependency.
- [Demo Utilizing the DependsOn attribute](https://notes.kodekloud.com/docs/AWS-CloudFormation/CloudFormation-Conditions-and-Policies/Demo-Utilizing-the-DependsOn-attribute/page.md): Explains using CloudFormation DependsOn to enforce resource creation order, illustrated with an S3 bucket and bucket policy, and discusses when to prefer implicit dependencies and avoid overuse.
- [Demo Managing public access settings with conditions](https://notes.kodekloud.com/docs/AWS-CloudFormation/CloudFormation-Conditions-and-Policies/Demo-Managing-public-access-settings-with-conditions/page.md): Demonstrates using CloudFormation Conditions to toggle S3 PublicAccessBlockConfiguration and conditionally create a public-read bucket policy for Production environments.
- [Demo Conditional resource based creation Part 1](https://notes.kodekloud.com/docs/AWS-CloudFormation/CloudFormation-Conditions-and-Policies/Demo-Conditional-resource-based-creation-Part-1/page.md): Demonstrates using AWS CloudFormation conditions, mappings, and parameters to apply environment-specific S3 public access settings and conditional bucket policy creation.
- [Demo Conditional resource based creation Part 2](https://notes.kodekloud.com/docs/AWS-CloudFormation/CloudFormation-Conditions-and-Policies/Demo-Conditional-resource-based-creation-Part-2/page.md): Shows using AWS CloudFormation mappings and Conditions to configure or conditionally create S3 resources per environment, toggling public access settings and bucket policy for production versus non production
- [Policies Overview](https://notes.kodekloud.com/docs/AWS-CloudFormation/CloudFormation-Conditions-and-Policies/Policies-Overview/page.md): Overview of AWS CloudFormation per resource policies that control deletion, replacement, and creation signals to protect data and manage resource lifecycle during stack operations

### Outputs

- [Outputs Introduction](https://notes.kodekloud.com/docs/AWS-CloudFormation/Outputs/Outputs-Introduction/page.md): Explains AWS CloudFormation Outputs, how to export and import values, retrieve them via CLI or SDK, and secure best practices
- [Demo Working with Outputs in CloudFormation](https://notes.kodekloud.com/docs/AWS-CloudFormation/Outputs/Demo-Working-with-Outputs-in-CloudFormation/page.md): Explains how to declare and use Outputs in AWS CloudFormation templates, demonstrating S3 bucket ARNs, labels, best practices, and viewing outputs via console and CLI

### Infrastructure Composer

- [AWS Infrastructure Composer Introduction](https://notes.kodekloud.com/docs/AWS-CloudFormation/Infrastructure-Composer/AWS-Infrastructure-Composer-Introduction/page.md): Overview of AWS Infrastructure Composer, a visual drag-and-drop tool that generates deployable CloudFormation YAML or JSON templates for prototyping, learning, and collaboration.
- [Demo Editing your existing template with Infrastructure Composer](https://notes.kodekloud.com/docs/AWS-CloudFormation/Infrastructure-Composer/Demo-Editing-your-existing-template-with-Infrastructure-Composer/page.md): Demonstrates editing, validating, and updating an existing AWS CloudFormation template using Infrastructure Composer’s visual and code editor, staging templates to S3 and applying stack updates.
- [Demo Resource cleanup](https://notes.kodekloud.com/docs/AWS-CloudFormation/Infrastructure-Composer/Demo-Resource-cleanup/page.md): Instructions to empty a demo S3 bucket, remove object versions if needed, and delete its CloudFormation stack to properly clean up demo AWS resources and avoid deletion failures.
- [Demo Creating your stack and template with Infrastructure Composer](https://notes.kodekloud.com/docs/AWS-CloudFormation/Infrastructure-Composer/Demo-Creating-your-stack-and-template-with-Infrastructure-Composer/page.md): Guide showing how to use AWS CloudFormation Infrastructure Composer to visually create an S3 bucket, export the generated template, and deploy a CloudFormation stack

### EC2 Instance Setup With an HTTP Server

- [EC2 Instance for CloudFormation Overview](https://notes.kodekloud.com/docs/AWS-CloudFormation/EC2-Instance-Setup-With-an-HTTP-Server/EC2-Instance-for-CloudFormation-Overview/page.md): Guides provisioning EC2 instances with AWS CloudFormation covering template properties, stack lifecycle, updates and replacements, UserData, IAM, volumes, AMI selection, and best practices
- [Demo Using a CloudFormation template to provision a basic EC2 Instance](https://notes.kodekloud.com/docs/AWS-CloudFormation/EC2-Instance-Setup-With-an-HTTP-Server/Demo-Using-a-CloudFormation-template-to-provision-a-basic-EC2-Instance/page.md): Guide to creating and deploying a minimal AWS CloudFormation template that provisions a basic EC2 t3.micro instance and validates it before stack creation
- [Demo Defining a security group with your template](https://notes.kodekloud.com/docs/AWS-CloudFormation/EC2-Instance-Setup-With-an-HTTP-Server/Demo-Defining-a-security-group-with-your-template/page.md): Adding a security group to a CloudFormation template and attaching it to an EC2 instance to allow public HTTP access while troubleshooting VPC and update issues
- [Demo Allowing SSH access in your security group](https://notes.kodekloud.com/docs/AWS-CloudFormation/EC2-Instance-Setup-With-an-HTTP-Server/Demo-Allowing-SSH-access-in-your-security-group/page.md): Updating an AWS CloudFormation template to add SSH access to an EC2 security group alongside HTTP, including validation steps, troubleshooting checklist, and security best practices
- [Demo Integrating metadata and parameters](https://notes.kodekloud.com/docs/AWS-CloudFormation/EC2-Instance-Setup-With-an-HTTP-Server/Demo-Integrating-metadata-and-parameters/page.md): Explains adding Metadata and Parameters to a CloudFormation template to let users choose EC2 instance types via dropdown and document choices for auditing and deployment.
- [Demo Integrating tags and outputs](https://notes.kodekloud.com/docs/AWS-CloudFormation/EC2-Instance-Setup-With-an-HTTP-Server/Demo-Integrating-tags-and-outputs/page.md): How to add tags to an EC2 instance and expose its instance ID and public IP using AWS CloudFormation Outputs
- [Demo Using a CloudFormation template to provision a complete EC2 Instance](https://notes.kodekloud.com/docs/AWS-CloudFormation/EC2-Instance-Setup-With-an-HTTP-Server/Demo-Using-a-CloudFormation-template-to-provision-a-complete-EC2-Instance/page.md): Guide to provisioning an EC2 instance with CloudFormation that installs and starts Apache via Base64 UserData, configures security group rules, and exposes the public IP
- [Demo Replacing hardcoded values with a pseudo parameter](https://notes.kodekloud.com/docs/AWS-CloudFormation/EC2-Instance-Setup-With-an-HTTP-Server/Demo-Replacing-hardcoded-values-with-a-pseudo-parameter/page.md): Guide to replace a hardcoded VPC ID with an AWS EC2 VPC Id parameter in a CloudFormation template, enabling region-aware VPC selection via console dropdown
- [Demo Managing and working with multiple regions Part 1](https://notes.kodekloud.com/docs/AWS-CloudFormation/EC2-Instance-Setup-With-an-HTTP-Server/Demo-Managing-and-working-with-multiple-regions-Part-1/page.md): How to use CloudFormation mappings to look up region specific EC2 AMIs so templates deploy correctly across multiple AWS regions.
- [Demo Managing and working with multiple regions Part 2](https://notes.kodekloud.com/docs/AWS-CloudFormation/EC2-Instance-Setup-With-an-HTTP-Server/Demo-Managing-and-working-with-multiple-regions-Part-2/page.md): Guide to deploying an AWS CloudFormation stack in another region, launching an EC2 web server from a template, verifying resources and cleaning up regional S3 template buckets.

### AWS CLI

- [AWS CLI for CloudFormation Overview](https://notes.kodekloud.com/docs/AWS-CloudFormation/AWS-CLI/AWS-CLI-for-CloudFormation-Overview/page.md): Guide to using the AWS CLI to automate CloudFormation stack operations, manage AWS resources, upload artifacts to S3, and integrate infrastructure provisioning into scripts and CI/CD pipelines.
- [Demo Installing and setting up AWS CLI](https://notes.kodekloud.com/docs/AWS-CloudFormation/AWS-CLI/Demo-Installing-and-setting-up-AWS-CLI/page.md): Guide to installing and configuring the AWS CLI, creating IAM access keys and profiles, verifying installation, and following security best practices.
- [Demo Creating an S3 bucket and EC2 Instance with AWS CLI](https://notes.kodekloud.com/docs/AWS-CloudFormation/AWS-CLI/Demo-Creating-an-S3-bucket-and-EC2-Instance-with-AWS-CLI/page.md): Step by step guide to author a minimal CloudFormation YAML and use AWS CLI to create an S3 bucket and EC2 instance, verify resources, and clean up.

### Access Control

- [Access Control for CloudFormation Stack Actions](https://notes.kodekloud.com/docs/AWS-CloudFormation/Access-Control/Access-Control-for-CloudFormation-Stack-Actions/page.md): Details IAM and service permissions for AWS CloudFormation stack create update and delete operations, emphasizing least privilege, required S3 EC2 IAM permissions, and iam PassRole usage.
- [Demo Managing basic permission policies](https://notes.kodekloud.com/docs/AWS-CloudFormation/Access-Control/Demo-Managing-basic-permission-policies/page.md): Demonstrates how changing IAM policies affects CloudFormation and S3 access by modifying a user’s permissions and observing console behavior, illustrating least privilege and required service permissions.
- [Demo Creating a custom permission policy Update a stack Part 1](https://notes.kodekloud.com/docs/AWS-CloudFormation/Access-Control/Demo-Creating-a-custom-permission-policy-Update-a-stack-Part-1/page.md): Guide to create a minimal IAM policy granting a limited user permissions to list and describe CloudFormation stacks, with steps to test and later extend for updates.
- [Demo Creating a custom permission policy Update a stack Part 2](https://notes.kodekloud.com/docs/AWS-CloudFormation/Access-Control/Demo-Creating-a-custom-permission-policy-Update-a-stack-Part-2/page.md): Guide to building a minimal IAM policy granting CloudFormation and S3 permissions so a restricted user can inspect and update an AWS CloudFormation stack, with troubleshooting and best practices.
- [Demo Creating a custom permission policy Delete a stack](https://notes.kodekloud.com/docs/AWS-CloudFormation/Access-Control/Demo-Creating-a-custom-permission-policy-Delete-a-stack/page.md): Fix authorization errors deleting an AWS CloudFormation stack by updating a custom IAM policy to allow deletion and S3 access, then remove the stack and clean up resources

### Drift Detection

- [CloudFormation Drift Introduction](https://notes.kodekloud.com/docs/AWS-CloudFormation/Drift-Detection/CloudFormation-Drift-Introduction/page.md): Explains AWS CloudFormation drift detection, how to detect out of band resource changes via console or CLI, interpret drift states, and remediate or update templates.
- [Demo Utilizing CloudFormation Drift](https://notes.kodekloud.com/docs/AWS-CloudFormation/Drift-Detection/Demo-Utilizing-CloudFormation-Drift/page.md): Demonstrates using AWS CloudFormation drift detection to identify and reconcile out-of-band changes to AWS resources, using an EC2 instance example.

### Nested Stacks

- [Nested Stacks Introduction](https://notes.kodekloud.com/docs/AWS-CloudFormation/Nested-Stacks/Nested-Stacks-Introduction/page.md): Introduction to AWS CloudFormation nested stacks, explaining parent and child stack relationships, update handling, modularization benefits, best practices, and operational constraints.
- [Demo Resource cleanup](https://notes.kodekloud.com/docs/AWS-CloudFormation/Nested-Stacks/Demo-Resource-cleanup/page.md): Cleaning up temporary S3 buckets used for CloudFormation templates, including steps to empty, remove object versions, delete buckets, and best practices for managing templates
- [Demo Working with nested stacks](https://notes.kodekloud.com/docs/AWS-CloudFormation/Nested-Stacks/Demo-Working-with-nested-stacks/page.md): Guide to structuring and deploying nested AWS CloudFormation stacks using parent and child templates to provision S3 buckets and EC2 instances, with templates hosted in S3.
- [Demo Updating nested stacks](https://notes.kodekloud.com/docs/AWS-CloudFormation/Nested-Stacks/Demo-Updating-nested-stacks/page.md): How to update nested AWS CloudFormation stacks by modifying nested EC2 and S3 templates, uploading them to the same S3 keys, and updating the parent stack to apply changes
- [Demo Deleting nested stacks](https://notes.kodekloud.com/docs/AWS-CloudFormation/Nested-Stacks/Demo-Deleting-nested-stacks/page.md): Guide for safely deleting nested AWS CloudFormation stacks by removing the parent stack, using DeletionPolicy to retain resources when needed, and cleaning up template S3 buckets.

### StackSets

- [StackSets Introduction](https://notes.kodekloud.com/docs/AWS-CloudFormation/StackSets/StackSets-Introduction/page.md): Overview of AWS CloudFormation StackSets for centrally deploying, updating, and deleting consistent CloudFormation stacks across multiple AWS accounts and regions using administrator account control
- [Demo Creating a StackSet](https://notes.kodekloud.com/docs/AWS-CloudFormation/StackSets/Demo-Creating-a-StackSet/page.md): Guide to creating an AWS CloudFormation StackSet to deploy S3 buckets across multiple accounts and regions, including IAM role setup, trust policy changes, deployment, and monitoring.
- [Demo Analyzing a StackSet](https://notes.kodekloud.com/docs/AWS-CloudFormation/StackSets/Demo-Analyzing-a-StackSet/page.md): Demonstrates inspecting a CloudFormation StackSet, verifying stack instances across regions/accounts, and how pseudoparameters produce unique per-instance S3 bucket names.
- [Demo Updating a StackSet](https://notes.kodekloud.com/docs/AWS-CloudFormation/StackSets/Demo-Updating-a-StackSet/page.md): Guide to updating an AWS CloudFormation StackSet by modifying a template to add an S3 bucket tag and deploying the change across target accounts and regions.
- [StackSet Drift Detection](https://notes.kodekloud.com/docs/AWS-CloudFormation/StackSets/StackSet-Drift-Detection/page.md): Explains AWS CloudFormation StackSet drift detection, how it identifies and reports configuration drift across accounts and regions, and strategies to remediate or accept changes.
- [Demo Utilizing Drift detection with a StackSet](https://notes.kodekloud.com/docs/AWS-CloudFormation/StackSets/Demo-Utilizing-Drift-detection-with-a-StackSet/page.md): Demonstrates using AWS CloudFormation StackSet drift detection to identify, simulate, and remediate resource drift across accounts and regions using an S3 bucket example.
- [Demo Deleting a StackSet](https://notes.kodekloud.com/docs/AWS-CloudFormation/StackSets/Demo-Deleting-a-StackSet/page.md): Guide for safely deleting an AWS CloudFormation StackSet by removing stack instances, verifying resource cleanup, monitoring operations, and handling common failures and permissions issues.

### Deployment Modes

- [Evaluating Stack Creation Failures](https://notes.kodekloud.com/docs/AWS-CloudFormation/Deployment-Modes/Evaluating-Stack-Creation-Failures/page.md): Guidance for diagnosing and recovering AWS CloudFormation stack creation failures, especially ROLLBACK_COMPLETE, using events, resource logs, permission checks, then deleting and recreating the stack.
- [Demo Handling stack creation failures](https://notes.kodekloud.com/docs/AWS-CloudFormation/Deployment-Modes/Demo-Handling-stack-creation-failures/page.md): Guide on diagnosing and recovering from AWS CloudFormation stack creation failures, preserving resources for debugging, disabling rollback, and fixing S3 bucket naming issues.
- [Rollback Triggers Overview](https://notes.kodekloud.com/docs/AWS-CloudFormation/Deployment-Modes/Rollback-Triggers-Overview/page.md): Explains using CloudFormation rollback triggers to monitor CloudWatch alarms during stack create or update and automatically revert deployments when alarms enter ALARM state.
- [Demo Utilizing rollback triggers](https://notes.kodekloud.com/docs/AWS-CloudFormation/Deployment-Modes/Demo-Utilizing-rollback-triggers/page.md): Demonstrates using CloudFormation rollback triggers tied to CloudWatch alarms to prevent or roll back stack updates when monitored metrics indicate unhealthy states
- [Stack Policies Overview](https://notes.kodekloud.com/docs/AWS-CloudFormation/Deployment-Modes/Stack-Policies-Overview/page.md): Explains AWS CloudFormation stack policies, how they protect resources during updates, how to apply them via the AWS CLI, examples, use cases, and best practices.
- [Demo Utilizing a stack policy](https://notes.kodekloud.com/docs/AWS-CloudFormation/Deployment-Modes/Demo-Utilizing-a-stack-policy/page.md): Demonstrates creating and applying an AWS CloudFormation stack policy that prevents updates to a specified resource, showing denial of an update to an S3 bucket and rollback.
- [Preventing Accidental Deletion of a stack](https://notes.kodekloud.com/docs/AWS-CloudFormation/Deployment-Modes/Preventing-Accidental-Deletion-of-a-stack/page.md): Explains using AWS CloudFormation termination protection to prevent accidental stack deletion and best practices for IAM, automation, and auditing.
- [Demo Applying termination protection on a stack](https://notes.kodekloud.com/docs/AWS-CloudFormation/Deployment-Modes/Demo-Applying-termination-protection-on-a-stack/page.md): Guide to enabling and disabling AWS CloudFormation termination protection to prevent accidental stack deletion and explain deletion behavior.

### SSM Parameters

- [SSM Parameter Types Overview](https://notes.kodekloud.com/docs/AWS-CloudFormation/SSM-Parameters/SSM-Parameter-Types-Overview/page.md): Overview of AWS Systems Manager Parameter Store types and guidance for String, StringList, and SecureString including size limits, KMS encryption, permissions, and best practices
- [Demo Working with SSM parameter store](https://notes.kodekloud.com/docs/AWS-CloudFormation/SSM-Parameters/Demo-Working-with-SSM-parameter-store/page.md): Demonstrates storing an AMI ID in AWS SSM Parameter Store and referencing it from a CloudFormation template to launch an EC2 instance.

### CFN init and Resource Imports

- [CFN init Overview](https://notes.kodekloud.com/docs/AWS-CloudFormation/CFN-init-and-Resource-Imports/CFN-init-Overview/page.md): Explains how to use CloudFormation init to bootstrap and manage EC2 instances, including cfn-init, cfn-signal, cfn-hup, metadata sections, and practical examples
- [Demo Setting up an IAM roleInstance profile for EC2](https://notes.kodekloud.com/docs/AWS-CloudFormation/CFN-init-and-Resource-Imports/Demo-Setting-up-an-IAM-roleInstance-profile-for-EC2/page.md): Guide to creating an IAM role and instance profile so EC2 instances can run cfn-init and retrieve CloudFormation metadata and configuration.
- [Demo Working with CFN init scripting Part 1](https://notes.kodekloud.com/docs/AWS-CloudFormation/CFN-init-and-Resource-Imports/Demo-Working-with-CFN-init-scripting-Part-1/page.md): Guide explaining how to use CloudFormation cfn-init and UserData to configure EC2 instances, install packages, enable services, and provide a minimal example template.
- [Demo Working with CFN init scripting Part 2](https://notes.kodekloud.com/docs/AWS-CloudFormation/CFN-init-and-Resource-Imports/Demo-Working-with-CFN-init-scripting-Part-2/page.md): Demonstrating how to use cfn-init with AWS CloudFormation Init metadata to configure EC2 instances, install packages, manage services, and pass stack parameters through UserData.
- [Resource Imports Overview](https://notes.kodekloud.com/docs/AWS-CloudFormation/CFN-init-and-Resource-Imports/Resource-Imports-Overview/page.md): How to import existing AWS resources into CloudFormation stacks to manage them without recreating them.
- [Demo Working with resource imports](https://notes.kodekloud.com/docs/AWS-CloudFormation/CFN-init-and-Resource-Imports/Demo-Working-with-resource-imports/page.md): How to import an existing S3 bucket into an AWS CloudFormation stack and retain it using DeletionPolicy while mapping resources and verifying account, region, and ownership

### Automation and Integration

- [CloudFormation for Continuous Delivery With CodePipeline](https://notes.kodekloud.com/docs/AWS-CloudFormation/Automation-and-Integration/CloudFormation-for-Continuous-Delivery-With-CodePipeline/page.md): Automating CloudFormation infrastructure deployments with AWS CodePipeline for validation, change sets, testing, approvals, and secure auditable continuous delivery.
- [Demo Creating a pipeline for continuous delivery](https://notes.kodekloud.com/docs/AWS-CloudFormation/Automation-and-Integration/Demo-Creating-a-pipeline-for-continuous-delivery/page.md): Guide to build a CodePipeline that deploys a CloudFormation template from S3 to provision an EC2 instance.
- [Demo Updating our templates and resource cleanup](https://notes.kodekloud.com/docs/AWS-CloudFormation/Automation-and-Integration/Demo-Updating-our-templates-and-resource-cleanup/page.md): Demo showing updating a CloudFormation template, redeploying via CodePipeline, verifying EC2 instance changes, and safely cleaning up pipeline related resources

### Registry

- [CloudFormation Registry Introduction](https://notes.kodekloud.com/docs/AWS-CloudFormation/Registry/CloudFormation-Registry-Introduction/page.md): Overview of AWS CloudFormation Registry, explaining how to create, publish, register, version, and use custom and third party resource types, plus CLI commands, security, and best practices.
- [Demo A brief overview of the CloudFormation registry](https://notes.kodekloud.com/docs/AWS-CloudFormation/Registry/Demo-A-brief-overview-of-the-CloudFormation-registry/page.md): Overview of the AWS CloudFormation Registry showing how to find and inspect activated and public extensions, view configuration schemas, and register as a publisher.

### Conclusion

- [Conclusion](https://notes.kodekloud.com/docs/AWS-CloudFormation/Conclusion/Conclusion/page.md): Summary of AWS CloudFormation course covering templates, parameters, nested stacks, StackSets, CI/CD with CodePipeline, S3 bucket tips, and practice guidance
