初めてのCloudFormation

初めてのCloudFormation

![template1-designer.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/347413/ce45c73d-6662-3a39-d3b5-fc88918404b4.png)


```xxx.yaml
AWSTemplateFormatVersion: 2010-09-09
Description: VPC and Subnet Create
Metadata:
  'AWS::CloudFormation::Interface':
    ParameterGroups:
      - Label:
          default: Project Name Prefix
        Parameters:
          - PJPrefix
      - Label:
          default: Network Configuration
        Parameters:
          - AvailabilityZonea
          - AvailabilityZonec
          - VPCCIDR
          - PublicSubnetACIDR
          - PublicSubnetCCIDR
          - PrivateSubnetACIDR
          - PrivateSubnetCCIDR
    ParameterLabels:
      AvailabilityZonea:
        default: AvailabilityZoneA
      AvailabilityZonec:
        default: AvailabilityZoneC
      VPCCIDR:
        default: VPC CIDR
      PublicSubnetACIDR:
        default: PublicSubnetA CIDR
      PublicSubnetCCIDR:
        default: PublicSubnetC CIDR
      PrivateSubnetACIDR:
        default: PrivateSubnetA CIDR
      PrivateSubnetCCIDR:
        default: PrivateSubnetC CIDR
  'AWS::CloudFormation::Designer':
    5047ce55-d430-4e3b-bc5c-1362a697c10d:
      size:
        width: 60
        height: 60
      position:
        x: 60
        'y': -70
      z: 1
      embeds: []
    9bf7ec59-5ca8-419a-9ab6-f6aab8cda313:
      size:
        width: 880
        height: 540
      position:
        x: -350
        'y': 50
      z: 1
      embeds:
        - 09565c34-f746-4b98-b6e7-d1676f551e34
        - d17b595b-3c33-4d10-a864-8aef7e101277
        - 93679880-69cc-471a-ae45-d2f700872404
        - 9fedbeb2-73a7-4d7b-870f-390a3380fc68
        - 8e3930c0-565e-46ef-9c39-402c6a5dc7d3
        - 19fe5b22-8f06-4316-84c0-5145a386b950
        - 079e934d-8b90-48f1-baee-13155958dbc9
        - 3356ac1f-eccd-4bbd-8487-d4bd1ae64976
    09565c34-f746-4b98-b6e7-d1676f551e34:
      size:
        width: 150
        height: 150
      position:
        x: 360
        'y': 280
      z: 2
      parent: 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
      embeds:
        - 71dc52d1-76a6-4d41-b56b-7b3de099679a
      iscontainedinside:
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
    d17b595b-3c33-4d10-a864-8aef7e101277:
      size:
        width: 150
        height: 150
      position:
        x: -310
        'y': 280
      z: 2
      parent: 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
      embeds:
        - 395e6d46-062d-4566-9259-35bad5b5c420
      iscontainedinside:
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
    93679880-69cc-471a-ae45-d2f700872404:
      size:
        width: 150
        height: 140
      position:
        x: 350
        'y': 90
      z: 2
      parent: 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
      embeds:
        - 6e973da7-68bb-4890-8e42-ffcbd8c1a75c
      iscontainedinside:
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
    6e973da7-68bb-4890-8e42-ffcbd8c1a75c:
      size:
        width: 60
        height: 60
      position:
        x: 410
        'y': 130
      z: 3
      parent: 93679880-69cc-471a-ae45-d2f700872404
      embeds: []
      iscontainedinside:
        - 93679880-69cc-471a-ae45-d2f700872404
        - 93679880-69cc-471a-ae45-d2f700872404
        - 93679880-69cc-471a-ae45-d2f700872404
        - 93679880-69cc-471a-ae45-d2f700872404
        - 93679880-69cc-471a-ae45-d2f700872404
        - 93679880-69cc-471a-ae45-d2f700872404
        - 93679880-69cc-471a-ae45-d2f700872404
        - 93679880-69cc-471a-ae45-d2f700872404
        - 93679880-69cc-471a-ae45-d2f700872404
        - 93679880-69cc-471a-ae45-d2f700872404
        - 93679880-69cc-471a-ae45-d2f700872404
        - 93679880-69cc-471a-ae45-d2f700872404
        - 93679880-69cc-471a-ae45-d2f700872404
        - 93679880-69cc-471a-ae45-d2f700872404
        - 93679880-69cc-471a-ae45-d2f700872404
        - 93679880-69cc-471a-ae45-d2f700872404
        - 93679880-69cc-471a-ae45-d2f700872404
        - 93679880-69cc-471a-ae45-d2f700872404
        - 93679880-69cc-471a-ae45-d2f700872404
        - 93679880-69cc-471a-ae45-d2f700872404
        - 93679880-69cc-471a-ae45-d2f700872404
        - 93679880-69cc-471a-ae45-d2f700872404
        - 93679880-69cc-471a-ae45-d2f700872404
        - 93679880-69cc-471a-ae45-d2f700872404
        - 93679880-69cc-471a-ae45-d2f700872404
        - 93679880-69cc-471a-ae45-d2f700872404
        - 93679880-69cc-471a-ae45-d2f700872404
        - 93679880-69cc-471a-ae45-d2f700872404
        - 93679880-69cc-471a-ae45-d2f700872404
        - 93679880-69cc-471a-ae45-d2f700872404
        - 93679880-69cc-471a-ae45-d2f700872404
        - 93679880-69cc-471a-ae45-d2f700872404
        - 93679880-69cc-471a-ae45-d2f700872404
        - 93679880-69cc-471a-ae45-d2f700872404
        - 93679880-69cc-471a-ae45-d2f700872404
        - 93679880-69cc-471a-ae45-d2f700872404
        - 93679880-69cc-471a-ae45-d2f700872404
        - 93679880-69cc-471a-ae45-d2f700872404
        - 93679880-69cc-471a-ae45-d2f700872404
        - 93679880-69cc-471a-ae45-d2f700872404
        - 93679880-69cc-471a-ae45-d2f700872404
        - 93679880-69cc-471a-ae45-d2f700872404
        - 93679880-69cc-471a-ae45-d2f700872404
        - 93679880-69cc-471a-ae45-d2f700872404
        - 93679880-69cc-471a-ae45-d2f700872404
        - 93679880-69cc-471a-ae45-d2f700872404
      dependson:
        - 5047ce55-d430-4e3b-bc5c-1362a697c10d
    9fedbeb2-73a7-4d7b-870f-390a3380fc68:
      size:
        width: 140
        height: 150
      position:
        x: -300
        'y': 80
      z: 2
      parent: 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
      embeds:
        - ee0bc9d9-d106-4df6-a9dc-348fcd6b3fb7
      iscontainedinside:
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
    ee0bc9d9-d106-4df6-a9dc-348fcd6b3fb7:
      size:
        width: 60
        height: 60
      position:
        x: -260
        'y': 120
      z: 3
      parent: 9fedbeb2-73a7-4d7b-870f-390a3380fc68
      embeds: []
      iscontainedinside:
        - 9fedbeb2-73a7-4d7b-870f-390a3380fc68
        - 9fedbeb2-73a7-4d7b-870f-390a3380fc68
        - 9fedbeb2-73a7-4d7b-870f-390a3380fc68
        - 9fedbeb2-73a7-4d7b-870f-390a3380fc68
        - 9fedbeb2-73a7-4d7b-870f-390a3380fc68
        - 9fedbeb2-73a7-4d7b-870f-390a3380fc68
        - 9fedbeb2-73a7-4d7b-870f-390a3380fc68
        - 9fedbeb2-73a7-4d7b-870f-390a3380fc68
        - 9fedbeb2-73a7-4d7b-870f-390a3380fc68
        - 9fedbeb2-73a7-4d7b-870f-390a3380fc68
        - 9fedbeb2-73a7-4d7b-870f-390a3380fc68
        - 9fedbeb2-73a7-4d7b-870f-390a3380fc68
        - 9fedbeb2-73a7-4d7b-870f-390a3380fc68
        - 9fedbeb2-73a7-4d7b-870f-390a3380fc68
        - 9fedbeb2-73a7-4d7b-870f-390a3380fc68
        - 9fedbeb2-73a7-4d7b-870f-390a3380fc68
        - 9fedbeb2-73a7-4d7b-870f-390a3380fc68
        - 9fedbeb2-73a7-4d7b-870f-390a3380fc68
        - 9fedbeb2-73a7-4d7b-870f-390a3380fc68
        - 9fedbeb2-73a7-4d7b-870f-390a3380fc68
        - 9fedbeb2-73a7-4d7b-870f-390a3380fc68
        - 9fedbeb2-73a7-4d7b-870f-390a3380fc68
        - 9fedbeb2-73a7-4d7b-870f-390a3380fc68
        - 9fedbeb2-73a7-4d7b-870f-390a3380fc68
        - 9fedbeb2-73a7-4d7b-870f-390a3380fc68
        - 9fedbeb2-73a7-4d7b-870f-390a3380fc68
        - 9fedbeb2-73a7-4d7b-870f-390a3380fc68
        - 9fedbeb2-73a7-4d7b-870f-390a3380fc68
        - 9fedbeb2-73a7-4d7b-870f-390a3380fc68
        - 9fedbeb2-73a7-4d7b-870f-390a3380fc68
        - 9fedbeb2-73a7-4d7b-870f-390a3380fc68
        - 9fedbeb2-73a7-4d7b-870f-390a3380fc68
        - 9fedbeb2-73a7-4d7b-870f-390a3380fc68
        - 9fedbeb2-73a7-4d7b-870f-390a3380fc68
        - 9fedbeb2-73a7-4d7b-870f-390a3380fc68
        - 9fedbeb2-73a7-4d7b-870f-390a3380fc68
        - 9fedbeb2-73a7-4d7b-870f-390a3380fc68
        - 9fedbeb2-73a7-4d7b-870f-390a3380fc68
        - 9fedbeb2-73a7-4d7b-870f-390a3380fc68
        - 9fedbeb2-73a7-4d7b-870f-390a3380fc68
        - 9fedbeb2-73a7-4d7b-870f-390a3380fc68
        - 9fedbeb2-73a7-4d7b-870f-390a3380fc68
        - 9fedbeb2-73a7-4d7b-870f-390a3380fc68
        - 9fedbeb2-73a7-4d7b-870f-390a3380fc68
        - 9fedbeb2-73a7-4d7b-870f-390a3380fc68
        - 9fedbeb2-73a7-4d7b-870f-390a3380fc68
      dependson:
        - 5047ce55-d430-4e3b-bc5c-1362a697c10d
    8e3930c0-565e-46ef-9c39-402c6a5dc7d3:
      size:
        width: 180
        height: 160
      position:
        x: 120
        'y': 280
      z: 2
      parent: 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
      embeds: []
      iscontainedinside:
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
    fd93e4f5-c1e2-48e4-8b70-738e6ccc53df:
      source:
        id: 09565c34-f746-4b98-b6e7-d1676f551e34
      target:
        id: 8e3930c0-565e-46ef-9c39-402c6a5dc7d3
      z: 2
    19fe5b22-8f06-4316-84c0-5145a386b950:
      size:
        width: 180
        height: 160
      position:
        x: -110
        'y': 280
      z: 2
      parent: 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
      embeds: []
      iscontainedinside:
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
    a78e5f32-8661-496a-bf3f-06d2e3102b44:
      source:
        id: d17b595b-3c33-4d10-a864-8aef7e101277
      target:
        id: 19fe5b22-8f06-4316-84c0-5145a386b950
      z: 2
    079e934d-8b90-48f1-baee-13155958dbc9:
      size:
        width: 180
        height: 200
      position:
        x: 120
        'y': 60
      z: 2
      parent: 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
      embeds:
        - a14a1b88-ac42-4017-b91f-84269950e31e
        - b5f1adc5-3107-4366-9226-bad8e99c89e3
      iscontainedinside:
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
    34143a1e-ccb7-48b2-b0ab-721b7f4f88ee:
      source:
        id: 93679880-69cc-471a-ae45-d2f700872404
      target:
        id: 079e934d-8b90-48f1-baee-13155958dbc9
      z: 2
    3356ac1f-eccd-4bbd-8487-d4bd1ae64976:
      size:
        width: 180
        height: 200
      position:
        x: -100
        'y': 60
      z: 2
      parent: 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
      embeds:
        - c6de1395-7693-4198-abb7-1955870b0259
        - 2aeabdb8-ce19-4e9d-9e48-c78711aedc52
      iscontainedinside:
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
    12a35b39-0fde-4f15-a8b2-d42c0e17f8a3:
      source:
        id: 9fedbeb2-73a7-4d7b-870f-390a3380fc68
      target:
        id: 3356ac1f-eccd-4bbd-8487-d4bd1ae64976
      z: 2
    4aa3b8a2-5fe1-4ed4-870a-adb1ff8bb0ae:
      source:
        id: 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
      target:
        id: 5047ce55-d430-4e3b-bc5c-1362a697c10d
      z: 1
    c6de1395-7693-4198-abb7-1955870b0259:
      size:
        width: 60
        height: 60
      position:
        x: -80
        'y': 80
      z: 3
      parent: 3356ac1f-eccd-4bbd-8487-d4bd1ae64976
      embeds: []
    2aeabdb8-ce19-4e9d-9e48-c78711aedc52:
      size:
        width: 60
        height: 60
      position:
        x: -80
        'y': 180
      z: 3
      parent: 3356ac1f-eccd-4bbd-8487-d4bd1ae64976
      embeds: []
      iscontainedinside:
        - 3356ac1f-eccd-4bbd-8487-d4bd1ae64976
        - 3356ac1f-eccd-4bbd-8487-d4bd1ae64976
        - 3356ac1f-eccd-4bbd-8487-d4bd1ae64976
        - 3356ac1f-eccd-4bbd-8487-d4bd1ae64976
        - 3356ac1f-eccd-4bbd-8487-d4bd1ae64976
        - 3356ac1f-eccd-4bbd-8487-d4bd1ae64976
        - 3356ac1f-eccd-4bbd-8487-d4bd1ae64976
        - 3356ac1f-eccd-4bbd-8487-d4bd1ae64976
        - 3356ac1f-eccd-4bbd-8487-d4bd1ae64976
        - 3356ac1f-eccd-4bbd-8487-d4bd1ae64976
        - 3356ac1f-eccd-4bbd-8487-d4bd1ae64976
        - 3356ac1f-eccd-4bbd-8487-d4bd1ae64976
        - 3356ac1f-eccd-4bbd-8487-d4bd1ae64976
        - 3356ac1f-eccd-4bbd-8487-d4bd1ae64976
        - 3356ac1f-eccd-4bbd-8487-d4bd1ae64976
        - 3356ac1f-eccd-4bbd-8487-d4bd1ae64976
        - 3356ac1f-eccd-4bbd-8487-d4bd1ae64976
        - 3356ac1f-eccd-4bbd-8487-d4bd1ae64976
        - 3356ac1f-eccd-4bbd-8487-d4bd1ae64976
        - 3356ac1f-eccd-4bbd-8487-d4bd1ae64976
        - 3356ac1f-eccd-4bbd-8487-d4bd1ae64976
        - 3356ac1f-eccd-4bbd-8487-d4bd1ae64976
        - 3356ac1f-eccd-4bbd-8487-d4bd1ae64976
        - 3356ac1f-eccd-4bbd-8487-d4bd1ae64976
        - 3356ac1f-eccd-4bbd-8487-d4bd1ae64976
        - 3356ac1f-eccd-4bbd-8487-d4bd1ae64976
        - 3356ac1f-eccd-4bbd-8487-d4bd1ae64976
        - 3356ac1f-eccd-4bbd-8487-d4bd1ae64976
        - 3356ac1f-eccd-4bbd-8487-d4bd1ae64976
        - 3356ac1f-eccd-4bbd-8487-d4bd1ae64976
        - 3356ac1f-eccd-4bbd-8487-d4bd1ae64976
        - 3356ac1f-eccd-4bbd-8487-d4bd1ae64976
        - 3356ac1f-eccd-4bbd-8487-d4bd1ae64976
        - 3356ac1f-eccd-4bbd-8487-d4bd1ae64976
        - 3356ac1f-eccd-4bbd-8487-d4bd1ae64976
        - 3356ac1f-eccd-4bbd-8487-d4bd1ae64976
        - 3356ac1f-eccd-4bbd-8487-d4bd1ae64976
        - 3356ac1f-eccd-4bbd-8487-d4bd1ae64976
        - 3356ac1f-eccd-4bbd-8487-d4bd1ae64976
        - 3356ac1f-eccd-4bbd-8487-d4bd1ae64976
        - 3356ac1f-eccd-4bbd-8487-d4bd1ae64976
        - 3356ac1f-eccd-4bbd-8487-d4bd1ae64976
        - 3356ac1f-eccd-4bbd-8487-d4bd1ae64976
        - 3356ac1f-eccd-4bbd-8487-d4bd1ae64976
        - 3356ac1f-eccd-4bbd-8487-d4bd1ae64976
        - 3356ac1f-eccd-4bbd-8487-d4bd1ae64976
      dependson:
        - c6de1395-7693-4198-abb7-1955870b0259
    395e6d46-062d-4566-9259-35bad5b5c420:
      size:
        width: 60
        height: 60
      position:
        x: -260
        'y': 320
      z: 3
      parent: d17b595b-3c33-4d10-a864-8aef7e101277
      embeds: []
      iscontainedinside:
        - d17b595b-3c33-4d10-a864-8aef7e101277
        - d17b595b-3c33-4d10-a864-8aef7e101277
        - d17b595b-3c33-4d10-a864-8aef7e101277
        - d17b595b-3c33-4d10-a864-8aef7e101277
        - d17b595b-3c33-4d10-a864-8aef7e101277
        - d17b595b-3c33-4d10-a864-8aef7e101277
        - d17b595b-3c33-4d10-a864-8aef7e101277
        - d17b595b-3c33-4d10-a864-8aef7e101277
        - d17b595b-3c33-4d10-a864-8aef7e101277
        - d17b595b-3c33-4d10-a864-8aef7e101277
        - d17b595b-3c33-4d10-a864-8aef7e101277
        - d17b595b-3c33-4d10-a864-8aef7e101277
        - d17b595b-3c33-4d10-a864-8aef7e101277
        - d17b595b-3c33-4d10-a864-8aef7e101277
        - d17b595b-3c33-4d10-a864-8aef7e101277
        - d17b595b-3c33-4d10-a864-8aef7e101277
        - d17b595b-3c33-4d10-a864-8aef7e101277
        - d17b595b-3c33-4d10-a864-8aef7e101277
        - d17b595b-3c33-4d10-a864-8aef7e101277
        - d17b595b-3c33-4d10-a864-8aef7e101277
        - d17b595b-3c33-4d10-a864-8aef7e101277
        - d17b595b-3c33-4d10-a864-8aef7e101277
        - d17b595b-3c33-4d10-a864-8aef7e101277
        - d17b595b-3c33-4d10-a864-8aef7e101277
        - d17b595b-3c33-4d10-a864-8aef7e101277
        - d17b595b-3c33-4d10-a864-8aef7e101277
        - d17b595b-3c33-4d10-a864-8aef7e101277
        - d17b595b-3c33-4d10-a864-8aef7e101277
        - d17b595b-3c33-4d10-a864-8aef7e101277
        - d17b595b-3c33-4d10-a864-8aef7e101277
        - d17b595b-3c33-4d10-a864-8aef7e101277
        - d17b595b-3c33-4d10-a864-8aef7e101277
        - d17b595b-3c33-4d10-a864-8aef7e101277
        - d17b595b-3c33-4d10-a864-8aef7e101277
        - d17b595b-3c33-4d10-a864-8aef7e101277
        - d17b595b-3c33-4d10-a864-8aef7e101277
        - d17b595b-3c33-4d10-a864-8aef7e101277
        - d17b595b-3c33-4d10-a864-8aef7e101277
        - d17b595b-3c33-4d10-a864-8aef7e101277
        - d17b595b-3c33-4d10-a864-8aef7e101277
        - d17b595b-3c33-4d10-a864-8aef7e101277
        - d17b595b-3c33-4d10-a864-8aef7e101277
        - d17b595b-3c33-4d10-a864-8aef7e101277
        - d17b595b-3c33-4d10-a864-8aef7e101277
        - d17b595b-3c33-4d10-a864-8aef7e101277
        - d17b595b-3c33-4d10-a864-8aef7e101277
    b5f1adc5-3107-4366-9226-bad8e99c89e3:
      size:
        width: 60
        height: 60
      position:
        x: 220
        'y': 180
      z: 3
      parent: 079e934d-8b90-48f1-baee-13155958dbc9
      embeds: []
      iscontainedinside:
        - 079e934d-8b90-48f1-baee-13155958dbc9
        - 079e934d-8b90-48f1-baee-13155958dbc9
        - 079e934d-8b90-48f1-baee-13155958dbc9
        - 079e934d-8b90-48f1-baee-13155958dbc9
        - 079e934d-8b90-48f1-baee-13155958dbc9
        - 079e934d-8b90-48f1-baee-13155958dbc9
        - 079e934d-8b90-48f1-baee-13155958dbc9
        - 079e934d-8b90-48f1-baee-13155958dbc9
        - 079e934d-8b90-48f1-baee-13155958dbc9
        - 079e934d-8b90-48f1-baee-13155958dbc9
        - 079e934d-8b90-48f1-baee-13155958dbc9
        - 079e934d-8b90-48f1-baee-13155958dbc9
        - 079e934d-8b90-48f1-baee-13155958dbc9
        - 079e934d-8b90-48f1-baee-13155958dbc9
        - 079e934d-8b90-48f1-baee-13155958dbc9
        - 079e934d-8b90-48f1-baee-13155958dbc9
        - 079e934d-8b90-48f1-baee-13155958dbc9
        - 079e934d-8b90-48f1-baee-13155958dbc9
        - 079e934d-8b90-48f1-baee-13155958dbc9
        - 079e934d-8b90-48f1-baee-13155958dbc9
        - 079e934d-8b90-48f1-baee-13155958dbc9
        - 079e934d-8b90-48f1-baee-13155958dbc9
        - 079e934d-8b90-48f1-baee-13155958dbc9
        - 079e934d-8b90-48f1-baee-13155958dbc9
        - 079e934d-8b90-48f1-baee-13155958dbc9
        - 079e934d-8b90-48f1-baee-13155958dbc9
        - 079e934d-8b90-48f1-baee-13155958dbc9
        - 079e934d-8b90-48f1-baee-13155958dbc9
        - 079e934d-8b90-48f1-baee-13155958dbc9
        - 079e934d-8b90-48f1-baee-13155958dbc9
        - 079e934d-8b90-48f1-baee-13155958dbc9
        - 079e934d-8b90-48f1-baee-13155958dbc9
        - 079e934d-8b90-48f1-baee-13155958dbc9
        - 079e934d-8b90-48f1-baee-13155958dbc9
        - 079e934d-8b90-48f1-baee-13155958dbc9
        - 079e934d-8b90-48f1-baee-13155958dbc9
        - 079e934d-8b90-48f1-baee-13155958dbc9
        - 079e934d-8b90-48f1-baee-13155958dbc9
        - 079e934d-8b90-48f1-baee-13155958dbc9
        - 079e934d-8b90-48f1-baee-13155958dbc9
        - 079e934d-8b90-48f1-baee-13155958dbc9
        - 079e934d-8b90-48f1-baee-13155958dbc9
      dependson:
        - a14a1b88-ac42-4017-b91f-84269950e31e
    a14a1b88-ac42-4017-b91f-84269950e31e:
      size:
        width: 60
        height: 60
      position:
        x: 220
        'y': 70
      z: 3
      parent: 079e934d-8b90-48f1-baee-13155958dbc9
      embeds: []
    71dc52d1-76a6-4d41-b56b-7b3de099679a:
      size:
        width: 60
        height: 60
      position:
        x: 400
        'y': 330
      z: 3
      parent: 09565c34-f746-4b98-b6e7-d1676f551e34
      embeds: []
      iscontainedinside:
        - 09565c34-f746-4b98-b6e7-d1676f551e34
        - 09565c34-f746-4b98-b6e7-d1676f551e34
        - 09565c34-f746-4b98-b6e7-d1676f551e34
        - 09565c34-f746-4b98-b6e7-d1676f551e34
        - 09565c34-f746-4b98-b6e7-d1676f551e34
        - 09565c34-f746-4b98-b6e7-d1676f551e34
        - 09565c34-f746-4b98-b6e7-d1676f551e34
        - 09565c34-f746-4b98-b6e7-d1676f551e34
        - 09565c34-f746-4b98-b6e7-d1676f551e34
        - 09565c34-f746-4b98-b6e7-d1676f551e34
        - 09565c34-f746-4b98-b6e7-d1676f551e34
        - 09565c34-f746-4b98-b6e7-d1676f551e34
        - 09565c34-f746-4b98-b6e7-d1676f551e34
        - 09565c34-f746-4b98-b6e7-d1676f551e34
        - 09565c34-f746-4b98-b6e7-d1676f551e34
        - 09565c34-f746-4b98-b6e7-d1676f551e34
        - 09565c34-f746-4b98-b6e7-d1676f551e34
        - 09565c34-f746-4b98-b6e7-d1676f551e34
        - 09565c34-f746-4b98-b6e7-d1676f551e34
        - 09565c34-f746-4b98-b6e7-d1676f551e34
        - 09565c34-f746-4b98-b6e7-d1676f551e34
        - 09565c34-f746-4b98-b6e7-d1676f551e34
        - 09565c34-f746-4b98-b6e7-d1676f551e34
        - 09565c34-f746-4b98-b6e7-d1676f551e34
        - 09565c34-f746-4b98-b6e7-d1676f551e34
        - 09565c34-f746-4b98-b6e7-d1676f551e34
        - 09565c34-f746-4b98-b6e7-d1676f551e34
        - 09565c34-f746-4b98-b6e7-d1676f551e34
        - 09565c34-f746-4b98-b6e7-d1676f551e34
        - 09565c34-f746-4b98-b6e7-d1676f551e34
        - 09565c34-f746-4b98-b6e7-d1676f551e34
        - 09565c34-f746-4b98-b6e7-d1676f551e34
        - 09565c34-f746-4b98-b6e7-d1676f551e34
        - 09565c34-f746-4b98-b6e7-d1676f551e34
        - 09565c34-f746-4b98-b6e7-d1676f551e34
      dependson:
        - 2aeabdb8-ce19-4e9d-9e48-c78711aedc52
    4e62daff-91b9-4e4a-a2f0-92bc08b43cfc:
      size:
        width: 60
        height: 60
      position:
        x: -160
        'y': 720
      z: 0
      embeds: []
      iscontainedinside:
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
    35768da1-afe2-400e-9d4b-950011c6400c:
      size:
        width: 60
        height: 60
      position:
        x: -50
        'y': 720
      z: 0
      embeds: []
      iscontainedinside:
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
    aace8e1c-317a-4d1a-aa55-0e4343b07b7d:
      size:
        width: 60
        height: 60
      position:
        x: 60
        'y': 720
      z: 0
      embeds: []
      iscontainedinside:
        - 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
Parameters:
  PJPrefix:
    Type: String
  AvailabilityZonea:
    Type: String
    Default: us-east-1a
  AvailabilityZonec:
    Type: String
    Default: us-east-1c
  VPCCIDR:
    Type: String
    Default: 10.1.0.0/16
  PublicSubnetACIDR:
    Type: String
    Default: 10.1.0.0/28
  PublicSubnetCCIDR:
    Type: String
    Default: 10.1.0.16/28
  PrivateSubnetACIDR:
    Type: String
    Default: 10.1.1.0/26
  PrivateSubnetCCIDR:
    Type: String
    Default: 10.1.1.64/26
Resources:
  VPC:
    Type: 'AWS::EC2::VPC'
    Properties:
      CidrBlock: !Ref VPCCIDR
      EnableDnsSupport: 'true'
      EnableDnsHostnames: 'true'
      InstanceTenancy: default
      Tags:
        - Key: Name
          Value: !Sub '${PJPrefix}-vpc'
    Metadata:
      'AWS::CloudFormation::Designer':
        id: 9bf7ec59-5ca8-419a-9ab6-f6aab8cda313
  InternetGateway:
    Type: 'AWS::EC2::InternetGateway'
    Properties:
      Tags:
        - Key: Name
          Value: !Sub '${PJPrefix}-igw'
    Metadata:
      'AWS::CloudFormation::Designer':
        id: 5047ce55-d430-4e3b-bc5c-1362a697c10d
  InternetGatewayAttachment:
    Type: 'AWS::EC2::VPCGatewayAttachment'
    Properties:
      InternetGatewayId: !Ref InternetGateway
      VpcId: !Ref VPC
    Metadata:
      'AWS::CloudFormation::Designer':
        id: 4aa3b8a2-5fe1-4ed4-870a-adb1ff8bb0ae
  PublicSubnetA:
    Type: 'AWS::EC2::Subnet'
    Properties:
      AvailabilityZone: !Ref AvailabilityZonea
      CidrBlock: !Ref PublicSubnetACIDR
      VpcId: !Ref VPC
      Tags:
        - Key: Name
          Value: !Sub '${PJPrefix}-public-subnet-a'
    Metadata:
      'AWS::CloudFormation::Designer':
        id: 3356ac1f-eccd-4bbd-8487-d4bd1ae64976
  PublicSubnetC:
    Type: 'AWS::EC2::Subnet'
    Properties:
      AvailabilityZone: !Ref AvailabilityZonec
      CidrBlock: !Ref PublicSubnetCCIDR
      VpcId: !Ref VPC
      Tags:
        - Key: Name
          Value: !Sub '${PJPrefix}-public-subnet-c'
    Metadata:
      'AWS::CloudFormation::Designer':
        id: 079e934d-8b90-48f1-baee-13155958dbc9
  PrivateSubnetA:
    Type: 'AWS::EC2::Subnet'
    Properties:
      AvailabilityZone: !Ref AvailabilityZonea
      CidrBlock: !Ref PrivateSubnetACIDR
      VpcId: !Ref VPC
      Tags:
        - Key: Name
          Value: !Sub '${PJPrefix}-private-subnet-a'
    Metadata:
      'AWS::CloudFormation::Designer':
        id: 19fe5b22-8f06-4316-84c0-5145a386b950
  PrivateSubnetC:
    Type: 'AWS::EC2::Subnet'
    Properties:
      AvailabilityZone: !Ref AvailabilityZonec
      CidrBlock: !Ref PrivateSubnetCCIDR
      VpcId: !Ref VPC
      Tags:
        - Key: Name
          Value: !Sub '${PJPrefix}-private-subnet-c'
    Metadata:
      'AWS::CloudFormation::Designer':
        id: 8e3930c0-565e-46ef-9c39-402c6a5dc7d3
  PublicRouteTableA:
    Type: 'AWS::EC2::RouteTable'
    Properties:
      VpcId: !Ref VPC
      Tags:
        - Key: Name
          Value: !Sub '${PJPrefix}-public-route-a'
    Metadata:
      'AWS::CloudFormation::Designer':
        id: 9fedbeb2-73a7-4d7b-870f-390a3380fc68
  PublicRouteTableC:
    Type: 'AWS::EC2::RouteTable'
    Properties:
      VpcId: !Ref VPC
      Tags:
        - Key: Name
          Value: !Sub '${PJPrefix}-public-route-c'
    Metadata:
      'AWS::CloudFormation::Designer':
        id: 93679880-69cc-471a-ae45-d2f700872404
  PrivateRouteTableA:
    Type: 'AWS::EC2::RouteTable'
    Properties:
      VpcId: !Ref VPC
      Tags:
        - Key: Name
          Value: !Sub '${PJPrefix}-private-route-a'
    Metadata:
      'AWS::CloudFormation::Designer':
        id: d17b595b-3c33-4d10-a864-8aef7e101277
  PrivateRouteTableC:
    Type: 'AWS::EC2::RouteTable'
    Properties:
      VpcId: !Ref VPC
      Tags:
        - Key: Name
          Value: !Sub '${PJPrefix}-private-route-c'
    Metadata:
      'AWS::CloudFormation::Designer':
        id: 09565c34-f746-4b98-b6e7-d1676f551e34
  PublicRouteA:
    Type: 'AWS::EC2::Route'
    Properties:
      RouteTableId: !Ref PublicRouteTableA
      DestinationCidrBlock: 0.0.0.0/0
      GatewayId: !Ref InternetGateway
    DependsOn: InternetGateway
    Metadata:
      'AWS::CloudFormation::Designer':
        id: ee0bc9d9-d106-4df6-a9dc-348fcd6b3fb7
  PublicRouteC:
    Type: 'AWS::EC2::Route'
    Properties:
      RouteTableId: !Ref PublicRouteTableC
      DestinationCidrBlock: 0.0.0.0/0
      GatewayId: !Ref InternetGateway
    DependsOn: InternetGateway
    Metadata:
      'AWS::CloudFormation::Designer':
        id: 6e973da7-68bb-4890-8e42-ffcbd8c1a75c
  PublicSubnetARouteTableAssociation:
    Type: 'AWS::EC2::SubnetRouteTableAssociation'
    Properties:
      SubnetId: !Ref PublicSubnetA
      RouteTableId: !Ref PublicRouteTableA
    Metadata:
      'AWS::CloudFormation::Designer':
        id: 12a35b39-0fde-4f15-a8b2-d42c0e17f8a3
  PublicSubnetCRouteTableAssociation:
    Type: 'AWS::EC2::SubnetRouteTableAssociation'
    Properties:
      SubnetId: !Ref PublicSubnetC
      RouteTableId: !Ref PublicRouteTableC
    Metadata:
      'AWS::CloudFormation::Designer':
        id: 34143a1e-ccb7-48b2-b0ab-721b7f4f88ee
  PrivateSubnetARouteTableAssociation:
    Type: 'AWS::EC2::SubnetRouteTableAssociation'
    Properties:
      SubnetId: !Ref PrivateSubnetA
      RouteTableId: !Ref PrivateRouteTableA
    Metadata:
      'AWS::CloudFormation::Designer':
        id: a78e5f32-8661-496a-bf3f-06d2e3102b44
  PrivateSubnetCRouteTableAssociation:
    Type: 'AWS::EC2::SubnetRouteTableAssociation'
    Properties:
      SubnetId: !Ref PrivateSubnetC
      RouteTableId: !Ref PrivateRouteTableC
    Metadata:
      'AWS::CloudFormation::Designer':
        id: fd93e4f5-c1e2-48e4-8b70-738e6ccc53df
  EIPA:
    Type: 'AWS::EC2::EIP'
    Properties:
      Domain: vpc
    Metadata:
      'AWS::CloudFormation::Designer':
        id: c6de1395-7693-4198-abb7-1955870b0259
  NatGatewayA:
    Type: 'AWS::EC2::NatGateway'
    Properties:
      AllocationId: 'Fn::GetAtt - EIPA - AllocationId'
      SubnetId: !Ref PublicSubnetA
      Tags:
        - Key: Name
          Value: NatGatewayA
    DependsOn: EIPA
    Metadata:
      'AWS::CloudFormation::Designer':
        id: 2aeabdb8-ce19-4e9d-9e48-c78711aedc52
  PlivateRouteA:
    Type: 'AWS::EC2::Route'
    Properties:
      RouteTableId: !Ref PrivateRouteTableA
      DestinationCidrBlock: 0.0.0.0/0
      GatewayId: !Ref NatGatewayA
    DependsOn: NatGatewayA
    Metadata:
      'AWS::CloudFormation::Designer':
        id: 395e6d46-062d-4566-9259-35bad5b5c420
  NatGatewayC:
    Type: 'AWS::EC2::NatGateway'
    Properties:
      AllocationId:
        Fn::GetAtt
        - EIPB
        - AllocationId
      SubnetId: !Ref PublicSubnetC
      Tags:
        - Key: Name
          Value: NatGatewayC
    DependsOn: EIPC
    Metadata:
      'AWS::CloudFormation::Designer':
        id: b5f1adc5-3107-4366-9226-bad8e99c89e3
  EIPC:
    Type: 'AWS::EC2::EIP'
    Properties:
      Domain: vpc
    Metadata:
      'AWS::CloudFormation::Designer':
        id: a14a1b88-ac42-4017-b91f-84269950e31e
  PlivateRouteC:
    Type: 'AWS::EC2::Route'
    Properties:
      RouteTableId: !Ref PrivateRouteTableC
      DestinationCidrBlock: 0.0.0.0/0
      GatewayId: !Ref NatGatewayC
    DependsOn: NatGatewayC
    Metadata:
      'AWS::CloudFormation::Designer':
        id: 71dc52d1-76a6-4d41-b56b-7b3de099679a
  LoadBalancerSecurityGroup:
    Type: 'AWS::EC2::SecurityGroup'
    Properties:
      GroupName: LoadBalancerSecurityGroup
      GroupDescription: Enable HTTP access to All client host
      SecurityGroupIngress:
        - IpProtocol: tcp
          FromPort: 80
          ToPort: 80
          CidrIp: 0.0.0.0/0
        - IpProtocol: tcp
          FromPort: 80
          ToPort: 80
          CidrIpv6: '::/0'
      VpcId: !Ref VPC
    Metadata:
      'AWS::CloudFormation::Designer':
        id: 4e62daff-91b9-4e4a-a2f0-92bc08b43cfc
  WebserverSecurityGroup:
    Type: 'AWS::EC2::SecurityGroup'
    Properties:
      GroupName: WebserverSecurityGroup
      GroupDescription: Enable HTTP access to All client host
      SecurityGroupIngress:
        - IpProtocol: tcp
          FromPort: 80
          ToPort: 80
          SourceSecurityGroupId: !Ref LoadBalancerSecurityGroup
        - IpProtocol: tcp
          FromPort: 22
          ToPort: 22
          SourceSecurityGroupId: !Ref BastionSecurityGroup
      VpcId: !Ref VPC
    Metadata:
      'AWS::CloudFormation::Designer':
        id: 35768da1-afe2-400e-9d4b-950011c6400c
  BastionSecurityGroup:
    Type: 'AWS::EC2::SecurityGroup'
    Properties:
      GroupName: BastionSecurityGroup
      GroupDescription: Enable SSH access to MyIP
      SecurityGroupIngress:
        - IpProtocol: tcp
          FromPort: 22
          ToPort: 22
          CidrIp: 0.0.0.0/0
      VpcId: !Ref VPC
    Metadata:
      'AWS::CloudFormation::Designer':
        id: aace8e1c-317a-4d1a-aa55-0e4343b07b7d
Outputs:
  VPC:
    Value: !Ref VPC
    Export:
      Name: !Sub '${PJPrefix}-vpc'
  VPCCIDR:
    Value: !Ref VPCCIDR
    Export:
      Name: !Sub '${PJPrefix}-vpc-cidr'
  PublicSubnetA:
    Value: !Ref PublicSubnetA
    Export:
      Name: !Sub '${PJPrefix}-public-subnet-a'
  PublicSubnetACIDR:
    Value: !Ref PublicSubnetACIDR
    Export:
      Name: !Sub '${PJPrefix}-public-subnet-a-cidr'
  PublicSubnetC:
    Value: !Ref PublicSubnetC
    Export:
      Name: !Sub '${PJPrefix}-public-subnet-c'
  PublicSubnetCCIDR:
    Value: !Ref PublicSubnetCCIDR
    Export:
      Name: !Sub '${PJPrefix}-public-subnet-c-cidr'
  PrivateSubnetA:
    Value: !Ref PrivateSubnetA
    Export:
      Name: !Sub '${PJPrefix}-private-subnet-a'
  PrivateSubnetACIDR:
    Value: !Ref PrivateSubnetACIDR
    Export:
      Name: !Sub '${PJPrefix}-private-subnet-a-cidr'
  PrivateSubnetC:
    Value: !Ref PrivateSubnetC
    Export:
      Name: !Sub '${PJPrefix}-private-subnet-c'
  PrivateSubnetCCIDR:
    Value: !Ref PrivateSubnetCCIDR
    Export:
      Name: !Sub '${PJPrefix}-private-subnet-c-cidr'
  PublicRouteTableA:
    Value: !Ref PublicRouteTableA
    Export:
      Name: !Sub '${PJPrefix}-public-route-a'
  PublicRouteTableC:
    Value: !Ref PublicRouteTableC
    Export:
      Name: !Sub '${PJPrefix}-public-route-c'
  PrivateRouteTableA:
    Value: !Ref PrivateRouteTableA
    Export:
      Name: !Sub '${PJPrefix}-private-route-a'
  PrivateRouteTableC:
    Value: !Ref PrivateRouteTableC
    Export:
      Name: !Sub '${PJPrefix}-private-route-c'

```