Bird
Raised Fist0
AWScloud~5 mins

Template structure (JSON/YAML) in AWS - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What is the main purpose of a CloudFormation template?
A CloudFormation template defines the resources and their configurations needed to build and manage AWS infrastructure automatically.
Click to reveal answer
beginner
Name the two formats supported for AWS CloudFormation templates.
AWS CloudFormation templates can be written in JSON or YAML format.
Click to reveal answer
intermediate
What are the main sections of a CloudFormation template?
The main sections are: Parameters, Resources, Outputs, Mappings, Conditions, and Metadata.
Click to reveal answer
beginner
In a CloudFormation template, what is the purpose of the 'Resources' section?
The 'Resources' section declares all AWS resources (like EC2 instances, S3 buckets) that the template will create.
Click to reveal answer
intermediate
Why might you choose YAML over JSON for a CloudFormation template?
YAML is easier to read and write due to its concise syntax and supports comments, making templates clearer and more maintainable.
Click to reveal answer
Which section in a CloudFormation template defines the AWS resources to create?
AMappings
BParameters
COutputs
DResources
What formats can AWS CloudFormation templates be written in?
AXML and JSON
BJSON and YAML
CYAML and TOML
DINI and JSON
Which section allows you to pass values into a CloudFormation template at deployment time?
AParameters
BMappings
CConditions
DOutputs
What is the purpose of the 'Outputs' section in a CloudFormation template?
ATo define resource properties
BTo specify input parameters
CTo declare values to return after stack creation
DTo map region-specific values
Which section would you use to create conditional resources in a CloudFormation template?
AConditions
BMappings
CResources
DMetadata
Describe the main sections of a CloudFormation template and their roles.
Think about what you input, what you create, and what you get back.
You got /6 concepts.
    Explain why YAML might be preferred over JSON for writing CloudFormation templates.
    Consider how easy it is to read and edit the template.
    You got /4 concepts.

      Practice

      (1/5)
      1. What is the main purpose of a cloud template written in JSON or YAML?
      easy
      A. To manually configure cloud resources one by one
      B. To write application code for cloud functions
      C. To monitor cloud resource usage in real-time
      D. To describe and set up cloud resources automatically

      Solution

      1. Step 1: Understand what a cloud template does

        A cloud template is a file that describes cloud resources and how to create them automatically.
      2. Step 2: Compare options with this purpose

        Only To describe and set up cloud resources automatically matches this description; others describe different tasks.
      3. Final Answer:

        To describe and set up cloud resources automatically -> Option D
      4. Quick Check:

        Cloud templates automate resource setup = D [OK]
      Hint: Templates automate resource setup, not manual or monitoring tasks [OK]
      Common Mistakes:
      • Confusing templates with monitoring tools
      • Thinking templates are for writing application code
      • Assuming templates require manual resource setup
      2. Which of the following is the correct top-level section name in an AWS CloudFormation JSON template?
      easy
      A. Resources
      B. Scripts
      C. Functions
      D. Commands

      Solution

      1. Step 1: Recall AWS CloudFormation template structure

        The main sections include Parameters, Resources, Outputs, etc. 'Resources' defines the cloud resources.
      2. Step 2: Identify valid section names

        Only 'Resources' is a valid top-level section; others are not used in CloudFormation templates.
      3. Final Answer:

        Resources -> Option A
      4. Quick Check:

        Resources section defines cloud resources = C [OK]
      Hint: Remember: Resources section always defines cloud items [OK]
      Common Mistakes:
      • Using non-existent sections like Scripts or Commands
      • Confusing function code with template sections
      • Mixing up template sections with programming terms
      3. Given this snippet of a CloudFormation JSON template:
      {
        "Resources": {
          "MyBucket": {
            "Type": "AWS::S3::Bucket"
          }
        }
      }

      What resource will this template create?
      medium
      A. An EC2 virtual server
      B. An S3 storage bucket
      C. A Lambda function
      D. A VPC network

      Solution

      1. Step 1: Read the resource type in the template

        The resource type is "AWS::S3::Bucket", which means an S3 storage bucket.
      2. Step 2: Match resource type to options

        Only An S3 storage bucket matches the S3 bucket resource type.
      3. Final Answer:

        An S3 storage bucket -> Option B
      4. Quick Check:

        "AWS::S3::Bucket" means S3 bucket = B [OK]
      Hint: Look for "Type" value to identify resource created [OK]
      Common Mistakes:
      • Confusing S3 bucket with EC2 or Lambda
      • Ignoring the resource type string
      • Assuming resource names define type
      4. You wrote this YAML snippet for a CloudFormation template but it fails to deploy:
      Resources:
        MyInstance:
          Type: AWS::EC2::Instance
          Properties:
            ImageId: ami-12345678
            InstanceType: t2.micro
            SecurityGroups: my-security-group

      What is the likely error?
      medium
      A. InstanceType is invalid for EC2
      B. ImageId must be a number, not a string
      C. SecurityGroups should be a list, not a single string
      D. Resources section name is misspelled

      Solution

      1. Step 1: Check the SecurityGroups property format

        SecurityGroups expects a list of strings, but here it is a single string.
      2. Step 2: Validate other properties

        ImageId is a string (correct), InstanceType is valid, Resources is spelled correctly.
      3. Final Answer:

        SecurityGroups should be a list, not a single string -> Option C
      4. Quick Check:

        SecurityGroups needs list format = A [OK]
      Hint: Lists must be in brackets or dash format in YAML [OK]
      Common Mistakes:
      • Using string instead of list for SecurityGroups
      • Assuming ImageId is numeric
      • Misspelling Resources section
      5. You want to create a reusable CloudFormation template that accepts a bucket name as input and outputs the bucket ARN. Which two sections must you include in your JSON template?
      hard
      A. Parameters and Outputs
      B. Resources and Scripts
      C. Functions and Parameters
      D. Outputs and Commands

      Solution

      1. Step 1: Identify input and output sections needed

        To accept input like bucket name, use Parameters. To show output like ARN, use Outputs.
      2. Step 2: Confirm other sections are invalid

        Scripts, Functions, Commands are not valid top-level sections in CloudFormation templates.
      3. Final Answer:

        Parameters and Outputs -> Option A
      4. Quick Check:

        Input = Parameters, Output = Outputs [OK]
      Hint: Parameters take inputs; Outputs show results [OK]
      Common Mistakes:
      • Using non-existent sections like Scripts or Commands
      • Confusing Resources with input/output sections
      • Forgetting to include Outputs for results
      Recommended

      Ready to prove it?

      Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

      10 questions~5 mineasy hard