AWS CloudFormation Concepts
External
Internal
Overview
CloudFormation creates and configures resources, grouped in stacks.
Stack
A stack is a collection of AWS resources that can be managed (create, update or delete) as a single unit. All resources in a stack are defined by the stack's AWS CloudFormation template. Because AWS CloudFormation treats the stack resources as a single unit, they must all be created or deleted successfully for the stack to be created or deleted. If a resource cannot be created, AWS CloudFormation rolls the stack back and automatically deletes any resources that were created. If a resource cannot be deleted, any remaining resources are retained until the stack can be successfully deleted.
Nested Stack
A nested stack is a stack created as part of other stacks.
Template
A template is a declaration of AWS resources that make up a stack. The templates are stored as JSON or YAML text files.
Template Structure
---
AWSTemplateFormatVersion: "version date"
Description:
<String>
Metadata:
<template metadata>
Parameters:
<set of parameters>
Mappings:
<set of mappings>
Conditions:
<set of conditions>
Transform:
<set of transforms>
Resources:
<set of resources - the only required top-level object>
Outputs:
<set of outputs>
Input Parameters
Resources
A resource must have a Type attribute, which defines the kind of AWS resource should be created.
AWS::ProductIdentifier::ResourceType
Full list of resource types: