Skip to content

Instantly share code, notes, and snippets.

@sammarcus
Created July 6, 2016 13:41
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save sammarcus/6ea77d88fe075b0644b26be39c5269aa to your computer and use it in GitHub Desktop.
Save sammarcus/6ea77d88fe075b0644b26be39c5269aa to your computer and use it in GitHub Desktop.
{
"AWSTemplateFormatVersion": "2010-09-09",
"Description": "(0013) Deploy Magento on AWS (New VPC)",
"Parameters": {
"MagentoReleaseMedia": {
"Description": "Amazon S3 path to download magento .tar.gz file (s3://mybucket/magento-1.9.2.2.tar.gz)",
"Default": "",
"Type": "String"
},
"MagentoSampleData": {
"Description": "[ optional ] Amazon S3 path to download magento sample data file ((s3://mybucket/magento-sample-data.tar.gz)",
"Default": "",
"Type": "String"
},
"WebServerInstanceType": {
"Description": "WebServer EC2 instance type",
"Type": "String",
"Default": "m3.2xlarge",
"AllowedValues": [
"t2.micro",
"t2.small",
"t2.medium",
"m3.medium",
"m3.large",
"m3.xlarge",
"m3.2xlarge",
"m4.large",
"m4.xlarge",
"m4.2xlarge",
"m4.4xlarge",
"m4.10xlarge",
"c3.large",
"c3.xlarge",
"c3.2xlarge",
"c3.4xlarge",
"c3.8xlarge",
"c4.large",
"c4.xlarge",
"c4.2xlarge",
"c4.4xlarge",
"c4.8xlarge",
"g2.2xlarge",
"r3.large",
"r3.xlarge",
"r3.2xlarge",
"r3.4xlarge",
"r3.8xlarge",
"i2.xlarge",
"i2.2xlarge",
"i2.4xlarge",
"i2.8xlarge"
],
"ConstraintDescription": "must be a valid EC2 instance type."
},
"NotificationEmail": {
"Description": "Email address to notify if there are any scaling operations [ optional]",
"Default": "",
"Type": "String"
},
"WebServerMinSize": {
"Description": "The minimum number of EC2 instances in the Auto Scaling group of WebServers.",
"Default": "1",
"Type": "String",
"AllowedValues": [
"1",
"2",
"3",
"4",
"5",
"6",
"7",
"8",
"9",
"10"
]
},
"WebServerMaxSize": {
"Description": "The maximum number of EC2 instances in the Auto Scaling group of WebServers.",
"Type": "String",
"Default": "1",
"AllowedValues": [
"1",
"2",
"3",
"4",
"5",
"6",
"7",
"8",
"9",
"10"
]
},
"WebServerDesiredCapacity": {
"Description": "The desired number of EC2 instances in the Auto Scaling group of WebServers before indicating CREATE_SUCCESS.",
"Type": "String",
"Default": "1",
"AllowedValues": [
"1",
"2",
"3",
"4",
"5",
"6",
"7",
"8",
"9",
"10"
]
},
"KeyName": {
"Type": "AWS::EC2::KeyPair::KeyName",
"Default": "QS",
"Description": "Name of an EC2 KeyPair. Your instances will launch with this KeyPair."
},
"BucketNamePrefix": {
"Description": "Name of bucket to hold magento media assets",
"Default": "magentoquickstart",
"Type": "String"
},
"ExistingIamInstanceProfile": {
"Type": "String",
"Default": "",
"Description": "[Optional] Name or ARN of the instance profile associated with the IAM role for the WebServer instances. If empty, instances will be launched with default IAM role."
},
"RemoteAccessCIDR": {
"Description": "IP CIDR from where you could SSH into your QuickStart via NAT",
"Type": "String",
"MinLength": "9",
"MaxLength": "18",
"Default": "0.0.0.0/0",
"AllowedPattern": "(\\d{1,3})\\.(\\d{1,3})\\.(\\d{1,3})\\.(\\d{1,3})/(\\d{1,2})",
"ConstraintDescription": "must be a valid CIDR range of the form x.x.x.x/x."
},
"DBAllocatedStorage": {
"Default": "16",
"Description": "The size of the database in gigabytes (GB)",
"Type": "Number",
"MinValue": "5",
"MaxValue": "4096",
"ConstraintDescription": "must be between 5 and 4096 GB. If Iops specified, AllocatedStorage must be at least 100 GB and with minimum Iops value of 1000"
},
"DBAutoMinorVersionUpgrade": {
"Default": "true",
"Description": "Select true/false to setup Auto Minor Version upgrade",
"Type": "String",
"AllowedValues": [
"true",
"false"
]
},
"DBBackupRetentionPeriod": {
"Type": "String",
"Default": "7",
"Description": "The number of days for which automatic DB snapshots are retained."
},
"DBInstanceClass": {
"Default": "db.m3.2xlarge",
"Description": "The name of the compute and memory capacity class of the DB instance.",
"Type": "String",
"AllowedValues": [
"db.t1.micro",
"db.m1.small",
"db.m3.medium",
"db.m3.large",
"db.m3.xlarge",
"db.m3.2xlarge",
"db.r3.large",
"db.r3.xlarge",
"db.r3.2xlarge",
"db.r3.4xlarge",
"db.r3.8xlarge",
"db.t2.micro",
"db.t2.small",
"db.t2.medium",
"db.m2.xlarge",
"db.m2.2xlarge",
"db.m2.4xlarge",
"db.cr1.8xlarge",
"db.m1.medium",
"db.m1.large",
"db.m1.xlarge"
],
"ConstraintDescription": "Must select a valid database instance type."
},
"DBName": {
"Default": "QuickstartMySQLDB",
"Description": "Name of the initial database for the MySQL RDS Instance.",
"Type": "String",
"MinLength": "5",
"MaxLength": "64",
"AllowedPattern": "[a-zA-Z][a-zA-Z0-9]*"
},
"DBIops": {
"Default": "1000",
"Description": "DB Iops. Used only when io1 specified for the StorageType property",
"Type": "Number",
"AllowedValues": [
"1000",
"2000",
"3000",
"4000",
"5000",
"6000",
"7000",
"8000",
"9000",
"10000"
],
"ConstraintDescription": "1000 Iops min and increased in 1K increments. "
},
"DBMasterUsername": {
"Default": "admin",
"NoEcho": "true",
"Description": "The database admin account username",
"Type": "String",
"MinLength": "1",
"MaxLength": "16",
"AllowedPattern": "[a-zA-Z][a-zA-Z0-9]*",
"ConstraintDescription": "must begin with a letter and contain only alphanumeric characters."
},
"DBMasterUserPassword": {
"Description": "The database admin account password. Must be at least 8 characters containing letters, numbers and symbols",
"Type": "String",
"MinLength": "8",
"MaxLength": "32",
"AllowedPattern": "(?=^.{6,255}$)((?=.*\\d)(?=.*[A-Z])(?=.*[a-z])|(?=.*\\d)(?=.*[^A-Za-z0-9])(?=.*[a-z])|(?=.*[^A-Za-z0-9])(?=.*[A-Z])(?=.*[a-z])|(?=.*\\d)(?=.*[A-Z])(?=.*[^A-Za-z0-9]))^.*",
"NoEcho": "True"
},
"DBMultiAZ": {
"Default": "true",
"Description": "Specifies if the database instance is a multiple Availability Zone deployment.",
"Type": "String",
"AllowedValues": [
"true",
"false"
]
},
"DBPubliclyAccessible": {
"Default": "false",
"Description": "Indicates whether the database instance is an Internet-facing instance.",
"Type": "String",
"AllowedValues": [
"true",
"false"
]
},
"SSLCertificateId": {
"Description": "The ARN of the SSL certificate to use for the webserver. [ optional]",
"Default": "",
"Type": "String"
},
"DBStorageType": {
"Default": "gp2",
"Description": "The storage type associated with this database instance",
"Type": "String",
"AllowedValues": [
"standard",
"gp2",
"io1"
]
},
"VPCCIDR": {
"Description": "CIDR Block for the VPC you are creating.",
"Type": "String",
"Default": "10.0.0.0/16",
"AllowedPattern": "[a-zA-Z0-9]+\\..+"
},
"NATInstanceType": {
"Description": "Amazon EC2 instance type for the NAT Instances.",
"Type": "String",
"Default": "t2.medium",
"AllowedValues": [
"t2.small",
"t2.medium"
]
},
"PublicSubnetCIDR0": {
"Description": "CIDR Block for the Public Subnet.",
"Type": "String",
"Default": "10.0.160.0/20",
"AllowedPattern": "[a-zA-Z0-9]+\\..+"
},
"PrivateSubnetCIDR2": {
"Description": "CIDR Block for Private Subnet where nodes will be deployed.",
"Type": "String",
"Default": "10.0.0.0/19",
"AllowedPattern": "[a-zA-Z0-9]+\\..+"
},
"PrivateSubnetCIDR1": {
"Description": "CIDR Block for Private Subnet where nodes will be deployed.",
"Type": "String",
"Default": "10.0.64.0/19",
"AllowedPattern": "[a-zA-Z0-9]+\\..+"
},
"PrivateSubnetCIDR0": {
"Description": "CIDR Block for Private Subnet where nodes will be deployed.",
"Type": "String",
"Default": "10.0.128.0/19",
"AllowedPattern": "[a-zA-Z0-9]+\\..+"
},
"PublicSubnetCIDR2": {
"Description": "CIDR Block for the Public Subnet.",
"Type": "String",
"Default": "10.0.32.0/20",
"AllowedPattern": "[a-zA-Z0-9]+\\..+"
},
"PublicSubnetCIDR1": {
"Description": "CIDR Block for the Public Subnet.",
"Type": "String",
"Default": "10.0.96.0/20",
"AllowedPattern": "[a-zA-Z0-9]+\\..+"
}
},
"Outputs": {
"NATInstance0": {
"Description": "NAT InstanceID 0",
"Value": {
"Ref": "NATInstance0"
}
},
"NATInstance1": {
"Description": "NAT InstanceID 1",
"Value": {
"Ref": "NATInstance1"
}
},
"NATInstance2": {
"Condition": "MoreThan3AZ",
"Description": "NAT InstanceID 2",
"Value": {
"Ref": "NATInstance2"
}
},
"VPC": {
"Description": "VPC-ID of the newly created VPC",
"Value": {
"Ref": "VPC"
}
},
"PublicSubnet0": {
"Description": "Subnet-ID of the Public Subnet0",
"Value": {
"Ref": "PublicSubnet0"
}
},
"PublicSubnet1": {
"Description": "Subnet-ID of the Public Subnet1",
"Value": {
"Ref": "PublicSubnet1"
}
},
"PublicSubnet2": {
"Condition": "MoreThan3AZ",
"Description": "Subnet-ID of the Public Subnet2",
"Value": {
"Ref": "PublicSubnet2"
}
},
"PrivateSubnet0": {
"Value": {
"Ref": "PrivateSubnet0"
},
"Description": "Subnet-ID of the PrivateSubnet0"
},
"PrivateSubnet1": {
"Value": {
"Ref": "PrivateSubnet1"
},
"Description": "Subnet-ID of the PrivateSubnet1"
},
"PrivateSubnet2": {
"Condition": "MoreThan3AZ",
"Value": {
"Ref": "PrivateSubnet2"
},
"Description": "Subnet-ID of the PrivateSubnet2"
}
},
"Conditions": {
"MoreThan3AZ": {
"Fn::Or": [
{
"Fn::Equals": [
{
"Ref": "AWS::Region"
},
"eu-west-1"
]
},
{
"Fn::Equals": [
{
"Ref": "AWS::Region"
},
"sa-east-1"
]
},
{
"Fn::Equals": [
{
"Ref": "AWS::Region"
},
"us-east-1"
]
},
{
"Fn::Equals": [
{
"Ref": "AWS::Region"
},
"us-west-2"
]
}
]
}
},
"Resources": {
"WebServer": {
"Type": "AWS::CloudFormation::Stack",
"Properties": {
"TemplateURL": "https://s3.amazonaws.com/quickstart-reference/magento/latest/templates/BaseWebServerAutoScaler.template",
"Parameters": {
"VPC": {
"Ref": "VPC"
},
"WebServerInstanceType": {
"Ref": "WebServerInstanceType"
},
"BucketNamePrefix": {
"Ref": "BucketNamePrefix"
},
"NotificationEmail": {
"Ref": "NotificationEmail"
},
"ElasticLoadBalancerSecurityGroup": {
"Ref": "ElasticLoadBalancerSecurityGroup0"
},
"AutoScaledInstanceSecurityGroup": {
"Ref": "AutoScaledInstanceSecurityGroup0"
},
"MagentoReleaseMedia": {
"Ref": "MagentoReleaseMedia"
},
"MagentoSampleData": {
"Ref": "MagentoSampleData"
},
"SSLCertificateId": {
"Ref": "SSLCertificateId"
},
"WebServerMinSize": {
"Ref": "WebServerMinSize"
},
"DBMasterUsername": {
"Ref": "DBMasterUsername"
},
"DBMasterUserPassword": {
"Ref": "DBMasterUserPassword"
},
"RDSMySQLStack": {
"Ref": "RDSMySQL"
},
"WebServerSubnets": {
"Fn::Join": [
",",
[
{
"Ref": "PrivateSubnet0"
},
{
"Ref": "PrivateSubnet1"
}
]
]
},
"ElasticLoadBalancerSubnets": {
"Fn::Join": [
",",
[
{
"Ref": "PublicSubnet0"
},
{
"Ref": "PublicSubnet1"
}
]
]
},
"WebServerMaxSize": {
"Ref": "WebServerMaxSize"
},
"WebServerDesiredCapacity": {
"Ref": "WebServerDesiredCapacity"
},
"KeyName": {
"Ref": "KeyName"
},
"ExistingIamInstanceProfile": {
"Ref": "ExistingIamInstanceProfile"
},
"RemoteAccessCIDR": {
"Ref": "RemoteAccessCIDR"
}
}
},
"Metadata": {
"AWS::CloudFormation::Designer": {
"id": "f39f4aaf-b1e7-470b-8b5c-4d44996dc1f8"
}
}
},
"AutoScaledInstanceSecurityGroup0": {
"Type": "AWS::EC2::SecurityGroup",
"Properties": {
"GroupDescription": "Enable SSH access and HTTP from the load balancer only",
"VpcId": {
"Ref": "VPC"
},
"SecurityGroupIngress": [
{
"IpProtocol": "tcp",
"FromPort": "22",
"ToPort": "22",
"SourceSecurityGroupId": {
"Ref": "NATSecurityGroup"
}
},
{
"IpProtocol": "tcp",
"FromPort": "443",
"ToPort": "443",
"SourceSecurityGroupId": {
"Ref": "ElasticLoadBalancerSecurityGroup0"
}
},
{
"IpProtocol": "tcp",
"FromPort": "80",
"ToPort": "80",
"SourceSecurityGroupId": {
"Ref": "ElasticLoadBalancerSecurityGroup0"
}
}
],
"SecurityGroupEgress": [
{
"IpProtocol": "tcp",
"FromPort": "80",
"ToPort": "80",
"CidrIp": "0.0.0.0/0"
},
{
"IpProtocol": "tcp",
"FromPort": "443",
"ToPort": "443",
"CidrIp": "0.0.0.0/0"
},
{
"IpProtocol": "tcp",
"FromPort": "3306",
"ToPort": "3306",
"SourceSecurityGroupId": {
"Ref": "MySQLRDSSecurityGroup0"
}
}
]
},
"Metadata": {
"AWS::CloudFormation::Designer": {
"id": "a2eba248-a5de-4865-b8de-c52b2f234ee9"
}
}
},
"MySQLRDSSecurityGroup0": {
"Type": "AWS::EC2::SecurityGroup",
"Properties": {
"GroupDescription": "Allow access to MySQL Port",
"VpcId": {
"Ref": "VPC"
},
"SecurityGroupIngress": [
{
"IpProtocol": "tcp",
"FromPort": "3306",
"ToPort": "3306",
"CidrIp": "0.0.0.0/0"
}
]
},
"Metadata": {
"AWS::CloudFormation::Designer": {
"id": "916a5eda-f900-47e9-ad26-e9bf8f1f08af"
}
}
},
"AutoScaledInstanceLoopSecurityGroup0": {
"Type": "AWS::EC2::SecurityGroup",
"Properties": {
"GroupDescription": "Enable all communications within Auto Scaled instances",
"VpcId": {
"Ref": "VPC"
},
"SecurityGroupIngress": [
{
"IpProtocol": "-1",
"FromPort": "1",
"ToPort": "65535",
"SourceSecurityGroupId": {
"Ref": "AutoScaledInstanceSecurityGroup0"
}
}
]
},
"Metadata": {
"AWS::CloudFormation::Designer": {
"id": "f5f2f9da-698a-423d-8e37-6d43f236913a"
}
}
},
"ElasticLoadBalancerSecurityGroup0": {
"Type": "AWS::EC2::SecurityGroup",
"Properties": {
"GroupDescription": "Enable HTTP/HTTPS access on port 80 and 443",
"VpcId": {
"Ref": "VPC"
},
"SecurityGroupIngress": [
{
"IpProtocol": "tcp",
"FromPort": "80",
"ToPort": "80",
"CidrIp": "0.0.0.0/0"
},
{
"IpProtocol": "tcp",
"FromPort": "443",
"ToPort": "443",
"CidrIp": "0.0.0.0/0"
}
],
"SecurityGroupEgress": [
{
"IpProtocol": "tcp",
"FromPort": "80",
"ToPort": "80",
"CidrIp": "0.0.0.0/0"
},
{
"IpProtocol": "tcp",
"FromPort": "443",
"ToPort": "443",
"CidrIp": "0.0.0.0/0"
}
]
},
"Metadata": {
"AWS::CloudFormation::Designer": {
"id": "4142fe91-06c0-4756-9ab4-3fbcdaba0b87"
}
}
},
"RDSMySQL": {
"Type": "AWS::CloudFormation::Stack",
"Properties": {
"TemplateURL": "https://s3.amazonaws.com/quickstart-reference/magento/latest/templates/BaseRDSMySQLInstance.template",
"Parameters": {
"VPC": {
"Ref": "VPC"
},
"AutoScaledInstanceSecurityGroup": {
"Ref": "MySQLRDSSecurityGroup0"
},
"Subnets": {
"Fn::Join": [
",",
[
{
"Ref": "PrivateSubnet0"
},
{
"Ref": "PrivateSubnet1"
}
]
]
},
"DBAllocatedStorage": {
"Ref": "DBAllocatedStorage"
},
"DBAutoMinorVersionUpgrade": {
"Ref": "DBAutoMinorVersionUpgrade"
},
"DBBackupRetentionPeriod": {
"Ref": "DBBackupRetentionPeriod"
},
"DBInstanceClass": {
"Ref": "DBInstanceClass"
},
"DBName": {
"Ref": "DBName"
},
"DBIops": {
"Ref": "DBIops"
},
"DBMasterUsername": {
"Ref": "DBMasterUsername"
},
"DBMasterUserPassword": {
"Ref": "DBMasterUserPassword"
},
"DBMultiAZ": {
"Ref": "DBMultiAZ"
},
"DBPubliclyAccessible": {
"Ref": "DBPubliclyAccessible"
},
"DBStorageType": {
"Ref": "DBStorageType"
}
}
},
"Metadata": {
"AWS::CloudFormation::Designer": {
"id": "9212a28e-d490-49d3-a75b-eef9447ef68b"
}
}
},
"NATInstance0": {
"Type": "AWS::EC2::Instance",
"Properties": {
"Tags": [
{
"Key": "Name",
"Value": "NATInstance0 (QuickStart)"
}
],
"InstanceType": {
"Ref": "NATInstanceType"
},
"KeyName": {
"Ref": "KeyName"
},
"NetworkInterfaces": [
{
"NetworkInterfaceId": {
"Ref": "NATInstance0Interface"
},
"DeviceIndex": "0"
}
],
"ImageId": {
"Fn::FindInMap": [
"AWSNATAMI",
{
"Ref": "AWS::Region"
},
"AMI"
]
},
"UserData": {
"Fn::Base64": {
"Fn::Join": [
"",
[
"#!/bin/bash\n",
"yum update -y\n"
]
]
}
}
},
"Metadata": {
"AWS::CloudFormation::Designer": {
"id": "146c86cb-ca3a-48fe-831d-55300683c99f"
}
}
},
"NATInstance0EIP": {
"Type": "AWS::EC2::EIP",
"Properties": {
"Domain": "vpc"
},
"Metadata": {
"AWS::CloudFormation::Designer": {
"id": "7063c0f7-a42e-4e00-8866-857f32bd4c71"
}
}
},
"NATInstance0Interface": {
"Type": "AWS::EC2::NetworkInterface",
"Properties": {
"SubnetId": {
"Ref": "PublicSubnet0"
},
"Description": "External interface for the NAT instance",
"GroupSet": [
{
"Ref": "NATSecurityGroup"
}
],
"SourceDestCheck": "false",
"Tags": [
{
"Key": "Network",
"Value": "Public"
}
]
},
"Metadata": {
"AWS::CloudFormation::Designer": {
"id": "3af34709-ba08-407e-99b1-c451f90c029d"
}
}
},
"AssociateNATInstance0Interface": {
"Type": "AWS::EC2::EIPAssociation",
"Properties": {
"AllocationId": {
"Fn::GetAtt": [
"NATInstance0EIP",
"AllocationId"
]
},
"NetworkInterfaceId": {
"Ref": "NATInstance0Interface"
}
},
"DependsOn" : "NATInterface0",
"Metadata": {
"AWS::CloudFormation::Designer": {
"id": "4124090a-02eb-4925-b154-1f64b5e809e7"
}
}
},
"NATInstance1": {
"Type": "AWS::EC2::Instance",
"Properties": {
"Tags": [
{
"Key": "Name",
"Value": "NATInstance1 (QuickStart)"
}
],
"InstanceType": {
"Ref": "NATInstanceType"
},
"KeyName": {
"Ref": "KeyName"
},
"NetworkInterfaces": [
{
"NetworkInterfaceId": {
"Ref": "NATInstance1Interface"
},
"DeviceIndex": "0"
}
],
"ImageId": {
"Fn::FindInMap": [
"AWSNATAMI",
{
"Ref": "AWS::Region"
},
"AMI"
]
},
"UserData": {
"Fn::Base64": {
"Fn::Join": [
"",
[
"#!/bin/bash\n",
"yum update -y\n"
]
]
}
}
},
"Metadata": {
"AWS::CloudFormation::Designer": {
"id": "b847646f-49cd-4e55-bc50-d15764d6709a"
}
}
},
"NATInstance1EIP": {
"Type": "AWS::EC2::EIP",
"Properties": {
"Domain": "vpc"
},
"Metadata": {
"AWS::CloudFormation::Designer": {
"id": "9af59715-25d2-4e79-87a1-597ea0e18227"
}
}
},
"NATInstance1Interface": {
"Type": "AWS::EC2::NetworkInterface",
"Properties": {
"SubnetId": {
"Ref": "PublicSubnet1"
},
"Description": "External interface for the NAT instance",
"GroupSet": [
{
"Ref": "NATSecurityGroup"
}
],
"SourceDestCheck": "false",
"Tags": [
{
"Key": "Network",
"Value": "Public"
}
]
},
"Metadata": {
"AWS::CloudFormation::Designer": {
"id": "f5678f4f-da18-4288-b7f9-b9aa7b88c9cb"
}
}
},
"AssociateNATInstance1Interface": {
"Type": "AWS::EC2::EIPAssociation",
"Properties": {
"AllocationId": {
"Fn::GetAtt": [
"NATInstance1EIP",
"AllocationId"
]
},
"NetworkInterfaceId": {
"Ref": "NATInstance1Interface"
}
},
"Metadata": {
"AWS::CloudFormation::Designer": {
"id": "3b358614-1d2a-4d40-a4a9-525310cf4241"
}
}
},
"NATInstance2": {
"Condition": "MoreThan3AZ",
"Type": "AWS::EC2::Instance",
"Properties": {
"Tags": [
{
"Key": "Name",
"Value": "NATInstance2 (QuickStart)"
}
],
"InstanceType": {
"Ref": "NATInstanceType"
},
"KeyName": {
"Ref": "KeyName"
},
"NetworkInterfaces": [
{
"NetworkInterfaceId": {
"Ref": "NATInstance2Interface"
},
"DeviceIndex": "0"
}
],
"ImageId": {
"Fn::FindInMap": [
"AWSNATAMI",
{
"Ref": "AWS::Region"
},
"AMI"
]
},
"UserData": {
"Fn::Base64": {
"Fn::Join": [
"",
[
"#!/bin/bash\n",
"yum update -y\n"
]
]
}
}
},
"Metadata": {
"AWS::CloudFormation::Designer": {
"id": "64b09e3d-9831-4872-933c-d0b7889b18e1"
}
}
},
"NATInstance2EIP": {
"Condition": "MoreThan3AZ",
"Type": "AWS::EC2::EIP",
"Properties": {
"Domain": "vpc"
},
"Metadata": {
"AWS::CloudFormation::Designer": {
"id": "b57d0400-0b38-4dd4-9ad1-1569405b7e6a"
}
}
},
"NATInstance2Interface": {
"Condition": "MoreThan3AZ",
"Type": "AWS::EC2::NetworkInterface",
"Properties": {
"SubnetId": {
"Ref": "PublicSubnet2"
},
"Description": "External interface for the NAT instance",
"GroupSet": [
{
"Ref": "NATSecurityGroup"
}
],
"SourceDestCheck": "false",
"Tags": [
{
"Key": "Network",
"Value": "Public"
}
]
},
"Metadata": {
"AWS::CloudFormation::Designer": {
"id": "c8c2f8c9-55ec-4fd4-b9c6-a48c464412d4"
}
}
},
"AssociateNATInstance2Interface": {
"Condition": "MoreThan3AZ",
"Type": "AWS::EC2::EIPAssociation",
"Properties": {
"AllocationId": {
"Fn::GetAtt": [
"NATInstance2EIP",
"AllocationId"
]
},
"NetworkInterfaceId": {
"Ref": "NATInstance2Interface"
}
},
"Metadata": {
"AWS::CloudFormation::Designer": {
"id": "c56580c5-c46b-487a-a994-4303bce53209"
}
}
},
"NATSecurityGroup": {
"Type": "AWS::EC2::SecurityGroup",
"Properties": {
"GroupDescription": "Enable internal access to the NAT device",
"VpcId": {
"Ref": "VPC"
},
"SecurityGroupIngress": [
{
"IpProtocol": "tcp",
"FromPort": "80",
"ToPort": "80",
"CidrIp": {
"Ref": "VPCCIDR"
}
},
{
"IpProtocol": "tcp",
"FromPort": "443",
"ToPort": "443",
"CidrIp": {
"Ref": "VPCCIDR"
}
},
{
"IpProtocol": "tcp",
"FromPort": "22",
"ToPort": "22",
"CidrIp": {
"Ref": "RemoteAccessCIDR"
}
}
],
"SecurityGroupEgress": [
{
"IpProtocol": "tcp",
"FromPort": "80",
"ToPort": "80",
"CidrIp": "0.0.0.0/0"
},
{
"IpProtocol": "tcp",
"FromPort": "443",
"ToPort": "443",
"CidrIp": "0.0.0.0/0"
},
{
"IpProtocol": "tcp",
"FromPort": "22",
"ToPort": "22",
"CidrIp": {
"Ref": "VPCCIDR"
}
}
]
},
"Metadata": {
"AWS::CloudFormation::Designer": {
"id": "e6bfec0c-ea77-44e2-b730-c321970d3ca9"
}
}
},
"InboundEphemeralPrivateNetworkAclEntry": {
"Type": "AWS::EC2::NetworkAclEntry",
"Properties": {
"NetworkAclId": {
"Ref": "PrivateNetworkAcl"
},
"RuleNumber": "140",
"Protocol": "6",
"RuleAction": "allow",
"Egress": "false",
"CidrBlock": "0.0.0.0/0",
"PortRange": {
"From": "1024",
"To": "65535"
}
},
"Metadata": {
"AWS::CloudFormation::Designer": {
"id": "11a5506a-6865-4fc9-850c-2619de7496fe"
}
}
},
"OutboundHTTPPrivateNetworkAclEntry": {
"Type": "AWS::EC2::NetworkAclEntry",
"Properties": {
"NetworkAclId": {
"Ref": "PrivateNetworkAcl"
},
"RuleNumber": "100",
"Protocol": "6",
"RuleAction": "allow",
"Egress": "true",
"CidrBlock": "0.0.0.0/0",
"PortRange": {
"From": "80",
"To": "80"
}
},
"Metadata": {
"AWS::CloudFormation::Designer": {
"id": "b6c05d46-f8e3-4de7-82de-424dba0fc8a2"
}
}
},
"OutboundHTTPSPrivateNetworkAclEntry": {
"Type": "AWS::EC2::NetworkAclEntry",
"Properties": {
"NetworkAclId": {
"Ref": "PrivateNetworkAcl"
},
"RuleNumber": "110",
"Protocol": "6",
"RuleAction": "allow",
"Egress": "true",
"CidrBlock": "0.0.0.0/0",
"PortRange": {
"From": "443",
"To": "443"
}
},
"Metadata": {
"AWS::CloudFormation::Designer": {
"id": "6adaacb2-5895-4719-abfd-f324ef64cb2a"
}
}
},
"PrivateSubnet2": {
"Condition": "MoreThan3AZ",
"Type": "AWS::EC2::Subnet",
"Properties": {
"VpcId": {
"Ref": "VPC"
},
"CidrBlock": {
"Ref": "PrivateSubnetCIDR2"
},
"Tags": [
{
"Key": "Name",
"Value": "(QuickStart) PrivateSubnet2"
},
{
"Key": "Network",
"Value": "Private (QuickStart) "
}
],
"AvailabilityZone": {
"Fn::Select": [
2,
{
"Fn::GetAZs": ""
}
]
}
},
"Metadata": {
"AWS::CloudFormation::Designer": {
"id": "ac64514d-86d5-497d-be46-2d245062d223"
}
}
},
"PrivateSubnetRouteTable2": {
"Condition": "MoreThan3AZ",
"Type": "AWS::EC2::RouteTable",
"Properties": {
"VpcId": {
"Ref": "VPC"
},
"Tags": [
{
"Key": "Application",
"Value": "QuickStart"
}
]
},
"Metadata": {
"AWS::CloudFormation::Designer": {
"id": "1f287300-e9fb-464d-b716-cb0739e3fb21"
}
}
},
"PrivateSubnetRoute2": {
"Condition": "MoreThan3AZ",
"Type": "AWS::EC2::Route",
"Properties": {
"RouteTableId": {
"Ref": "PrivateSubnetRouteTable2"
},
"DestinationCidrBlock": "0.0.0.0/0",
"InstanceId": {
"Ref": "NATInstance2"
}
},
"Metadata": {
"AWS::CloudFormation::Designer": {
"id": "6ab69150-95bc-42a8-8910-0efac766cc9c"
}
}
},
"Inbound0MySQLPrivateNetworkAclEntry2": {
"Condition": "MoreThan3AZ",
"Type": "AWS::EC2::NetworkAclEntry",
"Properties": {
"NetworkAclId": {
"Ref": "PrivateNetworkAcl"
},
"Protocol": "6",
"RuleAction": "allow",
"Egress": "false",
"CidrBlock": {
"Ref": "PublicSubnetCIDR2"
},
"PortRange": {
"From": "1433",
"To": "1433"
},
"RuleNumber": "1002"
},
"Metadata": {
"AWS::CloudFormation::Designer": {
"id": "a1f92cdb-7f38-4a21-a950-6f1c21b0563a"
}
}
},
"Inbound1MySQLPrivateNetworkAclEntry2": {
"Condition": "MoreThan3AZ",
"Type": "AWS::EC2::NetworkAclEntry",
"Properties": {
"NetworkAclId": {
"Ref": "PrivateNetworkAcl"
},
"Protocol": "6",
"RuleAction": "allow",
"Egress": "false",
"CidrBlock": {
"Ref": "PublicSubnetCIDR2"
},
"PortRange": {
"From": "3306",
"To": "3306"
},
"RuleNumber": "1102"
},
"Metadata": {
"AWS::CloudFormation::Designer": {
"id": "b61683a5-c46b-4be8-be7e-5a8b892c1ce1"
}
}
},
"InboundSSHPrivateNetworkAclEntry2": {
"Condition": "MoreThan3AZ",
"Type": "AWS::EC2::NetworkAclEntry",
"Properties": {
"NetworkAclId": {
"Ref": "PrivateNetworkAcl"
},
"Protocol": "6",
"RuleAction": "allow",
"Egress": "false",
"CidrBlock": {
"Ref": "PublicSubnetCIDR2"
},
"PortRange": {
"From": "22",
"To": "22"
},
"RuleNumber": "1202"
},
"Metadata": {
"AWS::CloudFormation::Designer": {
"id": "ed493bbf-9daf-4a1b-8c30-c6a73a6c7437"
}
}
},
"InboundRDPPrivateNetworkAclEntry2": {
"Condition": "MoreThan3AZ",
"Type": "AWS::EC2::NetworkAclEntry",
"Properties": {
"NetworkAclId": {
"Ref": "PrivateNetworkAcl"
},
"Protocol": "6",
"RuleAction": "allow",
"Egress": "false",
"CidrBlock": {
"Ref": "PublicSubnetCIDR2"
},
"PortRange": {
"From": "3389",
"To": "3389"
},
"RuleNumber": "1302"
},
"Metadata": {
"AWS::CloudFormation::Designer": {
"id": "23b3661c-945e-4e1e-9f7e-69bc09afbe3d"
}
}
},
"InboundHTTPPrivateNetworkAclEntry2": {
"Condition": "MoreThan3AZ",
"Type": "AWS::EC2::NetworkAclEntry",
"Properties": {
"NetworkAclId": {
"Ref": "PrivateNetworkAcl"
},
"Protocol": "6",
"RuleAction": "allow",
"Egress": "false",
"CidrBlock": {
"Ref": "PublicSubnetCIDR2"
},
"PortRange": {
"From": "80",
"To": "80"
},
"RuleNumber": "1502"
},
"Metadata": {
"AWS::CloudFormation::Designer": {
"id": "52b0a516-c836-4f8a-8a12-e4a06906cd9f"
}
}
},
"OutboundEphemeralPrivateNetworkAclEntry2": {
"Condition": "MoreThan3AZ",
"Type": "AWS::EC2::NetworkAclEntry",
"Properties": {
"NetworkAclId": {
"Ref": "PrivateNetworkAcl"
},
"Protocol": "6",
"RuleAction": "allow",
"Egress": "true",
"CidrBlock": "0.0.0.0/0",
"PortRange": {
"From": "1024",
"To": "65535"
},
"RuleNumber": "1202"
},
"Metadata": {
"AWS::CloudFormation::Designer": {
"id": "c714b412-e521-47bc-a863-2d5ab171763d"
}
}
},
"PrivateSubnetNetworkAclAssociation2": {
"Condition": "MoreThan3AZ",
"Type": "AWS::EC2::SubnetNetworkAclAssociation",
"Properties": {
"SubnetId": {
"Ref": "PrivateSubnet2"
},
"NetworkAclId": {
"Ref": "PrivateNetworkAcl"
}
},
"Metadata": {
"AWS::CloudFormation::Designer": {
"id": "1798387c-f2c5-4e88-89f1-f242f24435bd"
}
}
},
"PrivateSubnetRouteTableAssociation2": {
"Condition": "MoreThan3AZ",
"Type": "AWS::EC2::SubnetRouteTableAssociation",
"Properties": {
"SubnetId": {
"Ref": "PrivateSubnet2"
},
"RouteTableId": {
"Ref": "PrivateSubnetRouteTable2"
}
},
"Metadata": {
"AWS::CloudFormation::Designer": {
"id": "ee9ace80-cc53-4174-8b52-31ee19d49650"
}
}
},
"PrivateSubnet1": {
"Type": "AWS::EC2::Subnet",
"Properties": {
"VpcId": {
"Ref": "VPC"
},
"CidrBlock": {
"Ref": "PrivateSubnetCIDR1"
},
"Tags": [
{
"Key": "Name",
"Value": "(QuickStart) PrivateSubnet1"
},
{
"Key": "Network",
"Value": "Private (QuickStart) "
}
],
"AvailabilityZone": {
"Fn::Select": [
1,
{
"Fn::GetAZs": ""
}
]
}
},
"Metadata": {
"AWS::CloudFormation::Designer": {
"id": "8831b4e3-f445-4131-aa1f-1dcffac24378"
}
}
},
"PrivateSubnetRouteTable1": {
"Type": "AWS::EC2::RouteTable",
"Properties": {
"VpcId": {
"Ref": "VPC"
},
"Tags": [
{
"Key": "Application",
"Value": "QuickStart"
}
]
},
"Metadata": {
"AWS::CloudFormation::Designer": {
"id": "6e914570-df7e-42ba-a11f-bb2f8a113dd4"
}
}
},
"PrivateSubnetRoute1": {
"Type": "AWS::EC2::Route",
"Properties": {
"RouteTableId": {
"Ref": "PrivateSubnetRouteTable1"
},
"DestinationCidrBlock": "0.0.0.0/0",
"InstanceId": {
"Ref": "NATInstance1"
}
},
"Metadata": {
"AWS::CloudFormation::Designer": {
"id": "91562921-be5a-4aeb-8e45-7d6092758cf1"
}
}
},
"Inbound0MySQLPrivateNetworkAclEntry1": {
"Type": "AWS::EC2::NetworkAclEntry",
"Properties": {
"NetworkAclId": {
"Ref": "PrivateNetworkAcl"
},
"Protocol": "6",
"RuleAction": "allow",
"Egress": "false",
"CidrBlock": {
"Ref": "PublicSubnetCIDR1"
},
"PortRange": {
"From": "1433",
"To": "1433"
},
"RuleNumber": "1001"
},
"Metadata": {
"AWS::CloudFormation::Designer": {
"id": "4c1ba8ec-539b-47c7-b59e-12c1bdb4bd49"
}
}
},
"Inbound1MySQLPrivateNetworkAclEntry1": {
"Type": "AWS::EC2::NetworkAclEntry",
"Properties": {
"NetworkAclId": {
"Ref": "PrivateNetworkAcl"
},
"Protocol": "6",
"RuleAction": "allow",
"Egress": "false",
"CidrBlock": {
"Ref": "PublicSubnetCIDR1"
},
"PortRange": {
"From": "3306",
"To": "3306"
},
"RuleNumber": "1101"
},
"Metadata": {
"AWS::CloudFormation::Designer": {
"id": "46e5cd89-036e-402e-a2d6-6d3c92325cfc"
}
}
},
"InboundSSHPrivateNetworkAclEntry1": {
"Type": "AWS::EC2::NetworkAclEntry",
"Properties": {
"NetworkAclId": {
"Ref": "PrivateNetworkAcl"
},
"Protocol": "6",
"RuleAction": "allow",
"Egress": "false",
"CidrBlock": {
"Ref": "PublicSubnetCIDR1"
},
"PortRange": {
"From": "22",
"To": "22"
},
"RuleNumber": "1201"
},
"Metadata": {
"AWS::CloudFormation::Designer": {
"id": "e6e06fc7-ceab-4958-b9ee-d6660f58848a"
}
}
},
"InboundRDPPrivateNetworkAclEntry1": {
"Type": "AWS::EC2::NetworkAclEntry",
"Properties": {
"NetworkAclId": {
"Ref": "PrivateNetworkAcl"
},
"Protocol": "6",
"RuleAction": "allow",
"Egress": "false",
"CidrBlock": {
"Ref": "PublicSubnetCIDR1"
},
"PortRange": {
"From": "3389",
"To": "3389"
},
"RuleNumber": "1301"
},
"Metadata": {
"AWS::CloudFormation::Designer": {
"id": "ab4d7284-1f9e-4348-bb92-a6cb281b14a3"
}
}
},
"InboundHTTPPrivateNetworkAclEntry1": {
"Type": "AWS::EC2::NetworkAclEntry",
"Properties": {
"NetworkAclId": {
"Ref": "PrivateNetworkAcl"
},
"Protocol": "6",
"RuleAction": "allow",
"Egress": "false",
"CidrBlock": {
"Ref": "PublicSubnetCIDR1"
},
"PortRange": {
"From": "80",
"To": "80"
},
"RuleNumber": "1501"
},
"Metadata": {
"AWS::CloudFormation::Designer": {
"id": "3dae10f0-0b95-498c-9102-671ddc291b06"
}
}
},
"OutboundEphemeralPrivateNetworkAclEntry1": {
"Type": "AWS::EC2::NetworkAclEntry",
"Properties": {
"NetworkAclId": {
"Ref": "PrivateNetworkAcl"
},
"Protocol": "6",
"RuleAction": "allow",
"Egress": "true",
"CidrBlock": "0.0.0.0/0",
"PortRange": {
"From": "1024",
"To": "65535"
},
"RuleNumber": "1201"
},
"Metadata": {
"AWS::CloudFormation::Designer": {
"id": "62e9bf7a-01ef-4661-b0dc-636a9d4ef169"
}
}
},
"PrivateSubnetNetworkAclAssociation1": {
"Type": "AWS::EC2::SubnetNetworkAclAssociation",
"Properties": {
"SubnetId": {
"Ref": "PrivateSubnet1"
},
"NetworkAclId": {
"Ref": "PrivateNetworkAcl"
}
},
"Metadata": {
"AWS::CloudFormation::Designer": {
"id": "5d5d96bb-b023-4dc3-8275-4ca6264aad4f"
}
}
},
"PrivateSubnetRouteTableAssociation1": {
"Type": "AWS::EC2::SubnetRouteTableAssociation",
"Properties": {
"SubnetId": {
"Ref": "PrivateSubnet1"
},
"RouteTableId": {
"Ref": "PrivateSubnetRouteTable1"
}
},
"Metadata": {
"AWS::CloudFormation::Designer": {
"id": "009b2274-6da0-4858-b317-6f58e8afe413"
}
}
},
"PrivateSubnet0": {
"Type": "AWS::EC2::Subnet",
"Properties": {
"VpcId": {
"Ref": "VPC"
},
"CidrBlock": {
"Ref": "PrivateSubnetCIDR0"
},
"Tags": [
{
"Key": "Name",
"Value": "(QuickStart) PrivateSubnet0"
},
{
"Key": "Network",
"Value": "Private (QuickStart) "
}
],
"AvailabilityZone": {
"Fn::Select": [
0,
{
"Fn::GetAZs": ""
}
]
}
},
"Metadata": {
"AWS::CloudFormation::Designer": {
"id": "77662542-b1de-49da-a687-d81f542b4832"
}
}
},
"PrivateSubnetRouteTable0": {
"Type": "AWS::EC2::RouteTable",
"Properties": {
"VpcId": {
"Ref": "VPC"
},
"Tags": [
{
"Key": "Application",
"Value": "QuickStart"
}
]
},
"Metadata": {
"AWS::CloudFormation::Designer": {
"id": "f30b9b35-4a38-40ae-a2da-f42f8005a9c3"
}
}
},
"PrivateSubnetRoute0": {
"Type": "AWS::EC2::Route",
"Properties": {
"RouteTableId": {
"Ref": "PrivateSubnetRouteTable0"
},
"DestinationCidrBlock": "0.0.0.0/0",
"InstanceId": {
"Ref": "NATInstance0"
}
},
"Metadata": {
"AWS::CloudFormation::Designer": {
"id": "98bed0b8-f37a-4961-bd7f-e0a9ed62b2b8"
}
}
},
"Inbound0MySQLPrivateNetworkAclEntry0": {
"Type": "AWS::EC2::NetworkAclEntry",
"Properties": {
"NetworkAclId": {
"Ref": "PrivateNetworkAcl"
},
"Protocol": "6",
"RuleAction": "allow",
"Egress": "false",
"CidrBlock": {
"Ref": "PublicSubnetCIDR0"
},
"PortRange": {
"From": "1433",
"To": "1433"
},
"RuleNumber": "1000"
},
"Metadata": {
"AWS::CloudFormation::Designer": {
"id": "e451f7d7-9c78-4954-a453-7f910c0d3ddf"
}
}
},
"Inbound1MySQLPrivateNetworkAclEntry0": {
"Type": "AWS::EC2::NetworkAclEntry",
"Properties": {
"NetworkAclId": {
"Ref": "PrivateNetworkAcl"
},
"Protocol": "6",
"RuleAction": "allow",
"Egress": "false",
"CidrBlock": {
"Ref": "PublicSubnetCIDR0"
},
"PortRange": {
"From": "3306",
"To": "3306"
},
"RuleNumber": "1100"
},
"Metadata": {
"AWS::CloudFormation::Designer": {
"id": "fe9caf8e-ecf3-4ab8-b19b-cb78346b2b57"
}
}
},
"InboundSSHPrivateNetworkAclEntry0": {
"Type": "AWS::EC2::NetworkAclEntry",
"Properties": {
"NetworkAclId": {
"Ref": "PrivateNetworkAcl"
},
"Protocol": "6",
"RuleAction": "allow",
"Egress": "false",
"CidrBlock": {
"Ref": "PublicSubnetCIDR0"
},
"PortRange": {
"From": "22",
"To": "22"
},
"RuleNumber": "1200"
},
"Metadata": {
"AWS::CloudFormation::Designer": {
"id": "32b44dc1-8b68-47e3-91d3-ee2184be57bd"
}
}
},
"InboundRDPPrivateNetworkAclEntry0": {
"Type": "AWS::EC2::NetworkAclEntry",
"Properties": {
"NetworkAclId": {
"Ref": "PrivateNetworkAcl"
},
"Protocol": "6",
"RuleAction": "allow",
"Egress": "false",
"CidrBlock": {
"Ref": "PublicSubnetCIDR0"
},
"PortRange": {
"From": "3389",
"To": "3389"
},
"RuleNumber": "1300"
},
"Metadata": {
"AWS::CloudFormation::Designer": {
"id": "6c546654-5bde-4648-b6e3-7bbaf816ead6"
}
}
},
"InboundHTTPPrivateNetworkAclEntry0": {
"Type": "AWS::EC2::NetworkAclEntry",
"Properties": {
"NetworkAclId": {
"Ref": "PrivateNetworkAcl"
},
"Protocol": "6",
"RuleAction": "allow",
"Egress": "false",
"CidrBlock": {
"Ref": "PublicSubnetCIDR0"
},
"PortRange": {
"From": "80",
"To": "80"
},
"RuleNumber": "1500"
},
"Metadata": {
"AWS::CloudFormation::Designer": {
"id": "ebc1394b-7850-48b1-b6b0-8ed1a0ffa4f1"
}
}
},
"OutboundEphemeralPrivateNetworkAclEntry0": {
"Type": "AWS::EC2::NetworkAclEntry",
"Properties": {
"NetworkAclId": {
"Ref": "PrivateNetworkAcl"
},
"Protocol": "6",
"RuleAction": "allow",
"Egress": "true",
"CidrBlock": "0.0.0.0/0",
"PortRange": {
"From": "1024",
"To": "65535"
},
"RuleNumber": "1200"
},
"Metadata": {
"AWS::CloudFormation::Designer": {
"id": "4c2310eb-ca4f-427a-a38b-4be58061df14"
}
}
},
"PrivateSubnetNetworkAclAssociation0": {
"Type": "AWS::EC2::SubnetNetworkAclAssociation",
"Properties": {
"SubnetId": {
"Ref": "PrivateSubnet0"
},
"NetworkAclId": {
"Ref": "PrivateNetworkAcl"
}
},
"Metadata": {
"AWS::CloudFormation::Designer": {
"id": "4261cdfb-dc12-4d32-9f98-44e67833fb84"
}
}
},
"PrivateSubnetRouteTableAssociation0": {
"Type": "AWS::EC2::SubnetRouteTableAssociation",
"Properties": {
"SubnetId": {
"Ref": "PrivateSubnet0"
},
"RouteTableId": {
"Ref": "PrivateSubnetRouteTable0"
}
},
"Metadata": {
"AWS::CloudFormation::Designer": {
"id": "6f24bdce-6bf9-43d8-8b88-87c41eedbd4d"
}
}
},
"InboundHTTPPublicNetworkAclEntry": {
"Type": "AWS::EC2::NetworkAclEntry",
"Properties": {
"NetworkAclId": {
"Ref": "PublicNetworkAcl"
},
"RuleNumber": "100",
"Protocol": "6",
"RuleAction": "allow",
"Egress": "false",
"CidrBlock": "0.0.0.0/0",
"PortRange": {
"From": "80",
"To": "80"
}
},
"Metadata": {
"AWS::CloudFormation::Designer": {
"id": "cccd8d85-2f30-438f-a503-e046ea95bd48"
}
}
},
"InboundHTTPSPublicNetworkAclEntry": {
"Type": "AWS::EC2::NetworkAclEntry",
"Properties": {
"NetworkAclId": {
"Ref": "PublicNetworkAcl"
},
"RuleNumber": "110",
"Protocol": "6",
"RuleAction": "allow",
"Egress": "false",
"CidrBlock": "0.0.0.0/0",
"PortRange": {
"From": "443",
"To": "443"
}
},
"Metadata": {
"AWS::CloudFormation::Designer": {
"id": "699b954f-7466-41da-91c0-3ff77351e45c"
}
}
},
"InboundRDSPublicNetworkAclEntry": {
"Type": "AWS::EC2::NetworkAclEntry",
"Properties": {
"NetworkAclId": {
"Ref": "PublicNetworkAcl"
},
"RuleNumber": "120",
"Protocol": "6",
"RuleAction": "allow",
"Egress": "false",
"CidrBlock": {
"Ref": "RemoteAccessCIDR"
},
"PortRange": {
"From": "3389",
"To": "3389"
}
},
"Metadata": {
"AWS::CloudFormation::Designer": {
"id": "70f8de2a-147e-4561-92d8-cd01b1644d36"
}
}
},
"InboundSSHPublicNetworkAclEntry": {
"Type": "AWS::EC2::NetworkAclEntry",
"Properties": {
"NetworkAclId": {
"Ref": "PublicNetworkAcl"
},
"RuleNumber": "130",
"Protocol": "6",
"RuleAction": "allow",
"Egress": "false",
"CidrBlock": {
"Ref": "RemoteAccessCIDR"
},
"PortRange": {
"From": "22",
"To": "22"
}
},
"Metadata": {
"AWS::CloudFormation::Designer": {
"id": "08a7d6a0-594c-44dc-b334-3336eee869be"
}
}
},
"InboundEmphemeralPublicNetworkAclEntry": {
"Type": "AWS::EC2::NetworkAclEntry",
"Properties": {
"NetworkAclId": {
"Ref": "PublicNetworkAcl"
},
"RuleNumber": "140",
"Protocol": "6",
"RuleAction": "allow",
"Egress": "false",
"CidrBlock": "0.0.0.0/0",
"PortRange": {
"From": "1024",
"To": "65535"
}
},
"Metadata": {
"AWS::CloudFormation::Designer": {
"id": "98796b1f-e5bc-424c-b754-b7d11e3a31c3"
}
}
},
"OutboundHTTPPublicNetworkAclEntry": {
"Type": "AWS::EC2::NetworkAclEntry",
"Properties": {
"NetworkAclId": {
"Ref": "PublicNetworkAcl"
},
"RuleNumber": "100",
"Protocol": "6",
"RuleAction": "allow",
"Egress": "true",
"CidrBlock": "0.0.0.0/0",
"PortRange": {
"From": "80",
"To": "80"
}
},
"Metadata": {
"AWS::CloudFormation::Designer": {
"id": "61392929-25e9-4dca-b356-1482e45240cc"
}
}
},
"OutboundHTTPSPublicNetworkAclEntry": {
"Type": "AWS::EC2::NetworkAclEntry",
"Properties": {
"NetworkAclId": {
"Ref": "PublicNetworkAcl"
},
"RuleNumber": "110",
"Protocol": "6",
"RuleAction": "allow",
"Egress": "true",
"CidrBlock": "0.0.0.0/0",
"PortRange": {
"From": "443",
"To": "443"
}
},
"Metadata": {
"AWS::CloudFormation::Designer": {
"id": "6659cee7-00aa-4178-85ab-19f3685ef18c"
}
}
},
"OutboundEphemeralPublicNetworkAclEntry": {
"Type": "AWS::EC2::NetworkAclEntry",
"Properties": {
"NetworkAclId": {
"Ref": "PublicNetworkAcl"
},
"RuleNumber": "140",
"Protocol": "6",
"RuleAction": "allow",
"Egress": "true",
"CidrBlock": "0.0.0.0/0",
"PortRange": {
"From": "1024",
"To": "65535"
}
},
"Metadata": {
"AWS::CloudFormation::Designer": {
"id": "da4f5463-9cf8-4dde-9fd9-71c8c1f0cab7"
}
}
},
"Outbound0MySQLPublicNetworkAclEntry2": {
"Condition": "MoreThan3AZ",
"Type": "AWS::EC2::NetworkAclEntry",
"Properties": {
"NetworkAclId": {
"Ref": "PublicNetworkAcl"
},
"Protocol": "6",
"RuleAction": "allow",
"Egress": "true",
"CidrBlock": {
"Ref": "PrivateSubnetCIDR2"
},
"PortRange": {
"From": "1433",
"To": "1433"
},
"RuleNumber": "1202"
},
"Metadata": {
"AWS::CloudFormation::Designer": {
"id": "a293200d-97ff-493f-a16d-a9277b991034"
}
}
},
"Outbound1MySQLPublicNetworkAclEntry2": {
"Condition": "MoreThan3AZ",
"Type": "AWS::EC2::NetworkAclEntry",
"Properties": {
"NetworkAclId": {
"Ref": "PublicNetworkAcl"
},
"Protocol": "6",
"RuleAction": "allow",
"Egress": "true",
"CidrBlock": {
"Ref": "PrivateSubnetCIDR2"
},
"PortRange": {
"From": "3306",
"To": "3306"
},
"RuleNumber": "1302"
},
"Metadata": {
"AWS::CloudFormation::Designer": {
"id": "c1686bd0-ffaf-4b16-a277-42f5e07406db"
}
}
},
"OutboundSSHPublicNetworkAclEntry2": {
"Condition": "MoreThan3AZ",
"Type": "AWS::EC2::NetworkAclEntry",
"Properties": {
"NetworkAclId": {
"Ref": "PublicNetworkAcl"
},
"Protocol": "-1",
"RuleAction": "allow",
"Egress": "true",
"CidrBlock": {
"Ref": "PrivateSubnetCIDR2"
},
"PortRange": {
"From": "22",
"To": "22"
},
"RuleNumber": "1502"
},
"Metadata": {
"AWS::CloudFormation::Designer": {
"id": "11c7291c-5ce1-456b-b4da-b01b4e888355"
}
}
},
"PublicSubnetNetworkAclAssociation2": {
"Condition": "MoreThan3AZ",
"Type": "AWS::EC2::SubnetNetworkAclAssociation",
"Properties": {
"SubnetId": {
"Ref": "PublicSubnet2"
},
"NetworkAclId": {
"Ref": "PublicNetworkAcl"
}
},
"Metadata": {
"AWS::CloudFormation::Designer": {
"id": "1706e028-67ee-4b38-845c-77971eb34f1d"
}
}
},
"PublicSubnet2": {
"Condition": "MoreThan3AZ",
"Type": "AWS::EC2::Subnet",
"Properties": {
"VpcId": {
"Ref": "VPC"
},
"CidrBlock": {
"Ref": "PublicSubnetCIDR2"
},
"Tags": [
{
"Key": "Application",
"Value": "NAT (QuickStart) "
},
{
"Key": "Name",
"Value": "(QuickStart) PublicSubnet2"
}
],
"AvailabilityZone": {
"Fn::Select": [
2,
{
"Fn::GetAZs": ""
}
]
}
},
"Metadata": {
"AWS::CloudFormation::Designer": {
"id": "986a4b29-62a4-49a5-80ea-28933fa19d64"
}
}
},
"DMZRouteTable2": {
"Condition": "MoreThan3AZ",
"Type": "AWS::EC2::RouteTable",
"Properties": {
"VpcId": {
"Ref": "VPC"
},
"Tags": [
{
"Key": "Application",
"Value": "NAT"
}
]
},
"Metadata": {
"AWS::CloudFormation::Designer": {
"id": "8d80593f-1989-499a-924b-92368b7a8e8b"
}
}
},
"PublicRoute2": {
"Condition": "MoreThan3AZ",
"Type": "AWS::EC2::Route",
"Properties": {
"RouteTableId": {
"Ref": "DMZRouteTable2"
},
"DestinationCidrBlock": "0.0.0.0/0",
"GatewayId": {
"Ref": "InternetGateway"
}
},
"Metadata": {
"AWS::CloudFormation::Designer": {
"id": "6eed4f24-a4c0-4dc9-a020-e252c93098ce"
}
}
},
"PublicSubnetRouteTableAssociation2": {
"Condition": "MoreThan3AZ",
"Type": "AWS::EC2::SubnetRouteTableAssociation",
"Properties": {
"SubnetId": {
"Ref": "PublicSubnet2"
},
"RouteTableId": {
"Ref": "DMZRouteTable2"
}
},
"Metadata": {
"AWS::CloudFormation::Designer": {
"id": "2586df82-4d88-4631-9f96-39d750eb39f9"
}
}
},
"Outbound0MySQLPublicNetworkAclEntry1": {
"Type": "AWS::EC2::NetworkAclEntry",
"Properties": {
"NetworkAclId": {
"Ref": "PublicNetworkAcl"
},
"Protocol": "6",
"RuleAction": "allow",
"Egress": "true",
"CidrBlock": {
"Ref": "PrivateSubnetCIDR1"
},
"PortRange": {
"From": "1433",
"To": "1433"
},
"RuleNumber": "1201"
},
"Metadata": {
"AWS::CloudFormation::Designer": {
"id": "a66c4faf-2881-46fb-95c8-a00fa7d8175b"
}
}
},
"Outbound1MySQLPublicNetworkAclEntry1": {
"Type": "AWS::EC2::NetworkAclEntry",
"Properties": {
"NetworkAclId": {
"Ref": "PublicNetworkAcl"
},
"Protocol": "6",
"RuleAction": "allow",
"Egress": "true",
"CidrBlock": {
"Ref": "PrivateSubnetCIDR1"
},
"PortRange": {
"From": "3306",
"To": "3306"
},
"RuleNumber": "1301"
},
"Metadata": {
"AWS::CloudFormation::Designer": {
"id": "050f58c7-30ce-454b-be9e-a69f9589fcfc"
}
}
},
"OutboundSSHPublicNetworkAclEntry1": {
"Type": "AWS::EC2::NetworkAclEntry",
"Properties": {
"NetworkAclId": {
"Ref": "PublicNetworkAcl"
},
"Protocol": "-1",
"RuleAction": "allow",
"Egress": "true",
"CidrBlock": {
"Ref": "PrivateSubnetCIDR1"
},
"PortRange": {
"From": "22",
"To": "22"
},
"RuleNumber": "1501"
},
"Metadata": {
"AWS::CloudFormation::Designer": {
"id": "8a76db1e-1219-457a-8033-9938ea39a9d5"
}
}
},
"PublicSubnetNetworkAclAssociation1": {
"Type": "AWS::EC2::SubnetNetworkAclAssociation",
"Properties": {
"SubnetId": {
"Ref": "PublicSubnet1"
},
"NetworkAclId": {
"Ref": "PublicNetworkAcl"
}
},
"Metadata": {
"AWS::CloudFormation::Designer": {
"id": "6ef95b06-8e6f-4328-b47b-698a0b69a538"
}
}
},
"PublicSubnet1": {
"Type": "AWS::EC2::Subnet",
"Properties": {
"VpcId": {
"Ref": "VPC"
},
"CidrBlock": {
"Ref": "PublicSubnetCIDR1"
},
"Tags": [
{
"Key": "Application",
"Value": "NAT (QuickStart) "
},
{
"Key": "Name",
"Value": "(QuickStart) PublicSubnet1"
}
],
"AvailabilityZone": {
"Fn::Select": [
1,
{
"Fn::GetAZs": ""
}
]
}
},
"Metadata": {
"AWS::CloudFormation::Designer": {
"id": "d7bbe33c-4f9c-4b20-9ce5-1ff69edffbbd"
}
}
},
"DMZRouteTable1": {
"Type": "AWS::EC2::RouteTable",
"Properties": {
"VpcId": {
"Ref": "VPC"
},
"Tags": [
{
"Key": "Application",
"Value": "NAT"
}
]
},
"Metadata": {
"AWS::CloudFormation::Designer": {
"id": "233c2d8d-856d-4d74-b867-9de734ff8173"
}
}
},
"PublicRoute1": {
"Type": "AWS::EC2::Route",
"Properties": {
"RouteTableId": {
"Ref": "DMZRouteTable1"
},
"DestinationCidrBlock": "0.0.0.0/0",
"GatewayId": {
"Ref": "InternetGateway"
}
},
"Metadata": {
"AWS::CloudFormation::Designer": {
"id": "6b778e42-23a9-4d8d-9e20-7727aed8f985"
}
}
},
"PublicSubnetRouteTableAssociation1": {
"Type": "AWS::EC2::SubnetRouteTableAssociation",
"Properties": {
"SubnetId": {
"Ref": "PublicSubnet1"
},
"RouteTableId": {
"Ref": "DMZRouteTable1"
}
},
"Metadata": {
"AWS::CloudFormation::Designer": {
"id": "ff9c070f-c72e-4398-9596-ede2a8d935ba"
}
}
},
"Outbound0MySQLPublicNetworkAclEntry0": {
"Type": "AWS::EC2::NetworkAclEntry",
"Properties": {
"NetworkAclId": {
"Ref": "PublicNetworkAcl"
},
"Protocol": "6",
"RuleAction": "allow",
"Egress": "true",
"CidrBlock": {
"Ref": "PrivateSubnetCIDR0"
},
"PortRange": {
"From": "1433",
"To": "1433"
},
"RuleNumber": "1200"
},
"Metadata": {
"AWS::CloudFormation::Designer": {
"id": "9e9a80a5-d65b-45a8-ac8f-de03147167e0"
}
}
},
"Outbound1MySQLPublicNetworkAclEntry0": {
"Type": "AWS::EC2::NetworkAclEntry",
"Properties": {
"NetworkAclId": {
"Ref": "PublicNetworkAcl"
},
"Protocol": "6",
"RuleAction": "allow",
"Egress": "true",
"CidrBlock": {
"Ref": "PrivateSubnetCIDR0"
},
"PortRange": {
"From": "3306",
"To": "3306"
},
"RuleNumber": "1300"
},
"Metadata": {
"AWS::CloudFormation::Designer": {
"id": "54864265-dfbd-4c30-96d2-6fadf290789f"
}
}
},
"OutboundSSHPublicNetworkAclEntry0": {
"Type": "AWS::EC2::NetworkAclEntry",
"Properties": {
"NetworkAclId": {
"Ref": "PublicNetworkAcl"
},
"Protocol": "-1",
"RuleAction": "allow",
"Egress": "true",
"CidrBlock": {
"Ref": "PrivateSubnetCIDR0"
},
"PortRange": {
"From": "22",
"To": "22"
},
"RuleNumber": "1500"
},
"Metadata": {
"AWS::CloudFormation::Designer": {
"id": "fd505db3-5e06-403f-8b66-b2546366932a"
}
}
},
"PublicSubnetNetworkAclAssociation0": {
"Type": "AWS::EC2::SubnetNetworkAclAssociation",
"Properties": {
"SubnetId": {
"Ref": "PublicSubnet0"
},
"NetworkAclId": {
"Ref": "PublicNetworkAcl"
}
},
"Metadata": {
"AWS::CloudFormation::Designer": {
"id": "99fa01e1-21e7-4d6d-a106-7777d7e1600c"
}
}
},
"PublicSubnet0": {
"Type": "AWS::EC2::Subnet",
"Properties": {
"VpcId": {
"Ref": "VPC"
},
"CidrBlock": {
"Ref": "PublicSubnetCIDR0"
},
"Tags": [
{
"Key": "Application",
"Value": "NAT (QuickStart) "
},
{
"Key": "Name",
"Value": "(QuickStart) PublicSubnet0"
}
],
"AvailabilityZone": {
"Fn::Select": [
0,
{
"Fn::GetAZs": ""
}
]
}
},
"Metadata": {
"AWS::CloudFormation::Designer": {
"id": "61ac54fb-e2f1-484b-9080-2dcc30930271"
}
}
},
"DMZRouteTable0": {
"Type": "AWS::EC2::RouteTable",
"Properties": {
"VpcId": {
"Ref": "VPC"
},
"Tags": [
{
"Key": "Application",
"Value": "NAT"
}
]
},
"Metadata": {
"AWS::CloudFormation::Designer": {
"id": "ae732738-d26b-4161-9f27-eb366c8a0735"
}
}
},
"PublicRoute0": {
"Type": "AWS::EC2::Route",
"Properties": {
"RouteTableId": {
"Ref": "DMZRouteTable0"
},
"DestinationCidrBlock": "0.0.0.0/0",
"GatewayId": {
"Ref": "InternetGateway"
}
},
"Metadata": {
"AWS::CloudFormation::Designer": {
"id": "55134e25-ca9b-4ae1-9168-38f2f8292cd5"
}
}
},
"PublicSubnetRouteTableAssociation0": {
"Type": "AWS::EC2::SubnetRouteTableAssociation",
"Properties": {
"SubnetId": {
"Ref": "PublicSubnet0"
},
"RouteTableId": {
"Ref": "DMZRouteTable0"
}
},
"Metadata": {
"AWS::CloudFormation::Designer": {
"id": "89c8b68d-35d7-471e-8d97-e99c140ebcfd"
}
}
},
"MyDHCP": {
"Type": "AWS::EC2::DHCPOptions",
"Properties": {
"DomainName": {
"Fn::FindInMap": [
"DomainNameMapping",
{
"Ref": "AWS::Region"
},
"NAME"
]
},
"DomainNameServers": [
"AmazonProvidedDNS"
],
"Tags": [
{
"Key": "Name",
"Value": "MyDHCP (QuickStart) "
}
]
},
"Metadata": {
"AWS::CloudFormation::Designer": {
"id": "f0147be1-f108-4944-bb20-47985fd8e013"
}
}
},
"VPC": {
"Type": "AWS::EC2::VPC",
"Properties": {
"CidrBlock": {
"Ref": "VPCCIDR"
},
"EnableDnsHostnames": "true",
"EnableDnsSupport": "true",
"Tags": [
{
"Key": "Application",
"Value": "AWS-QuickStart (QuickStart) "
},
{
"Key": "StackName",
"Value": {
"Ref": "AWS::StackId"
}
}
]
},
"Metadata": {
"AWS::CloudFormation::Designer": {
"id": "074e9101-08f1-4ca2-809d-9fb4a4e558ad"
}
}
},
"MyVPCDHCPOptionsAssociation": {
"Type": "AWS::EC2::VPCDHCPOptionsAssociation",
"Properties": {
"VpcId": {
"Ref": "VPC"
},
"DhcpOptionsId": {
"Ref": "MyDHCP"
}
},
"Metadata": {
"AWS::CloudFormation::Designer": {
"id": "404ee246-916f-43ff-8a4e-f03f755e099e"
}
}
},
"InternetGateway": {
"Type": "AWS::EC2::InternetGateway",
"Properties": {
"Tags": [
{
"Key": "IG (QuickStart) ",
"Value": {
"Ref": "AWS::StackId"
}
}
]
},
"Metadata": {
"AWS::CloudFormation::Designer": {
"id": "376ffdd1-29ef-4478-ab68-ad42b92add2c"
}
}
},
"AttachGateway": {
"Type": "AWS::EC2::VPCGatewayAttachment",
"Properties": {
"VpcId": {
"Ref": "VPC"
},
"InternetGatewayId": {
"Ref": "InternetGateway"
}
},
"Metadata": {
"AWS::CloudFormation::Designer": {
"id": "2ff376b3-ed3d-420b-8ecb-41043f61c0f3"
}
}
},
"PublicNetworkAcl": {
"Type": "AWS::EC2::NetworkAcl",
"Properties": {
"VpcId": {
"Ref": "VPC"
},
"Tags": [
{
"Key": "Name",
"Value": "PublicNetworkAcl (QuickStart) "
},
{
"Key": "Application",
"Value": {
"Ref": "AWS::StackId"
}
}
]
},
"Metadata": {
"AWS::CloudFormation::Designer": {
"id": "37d520d1-f17c-4d5c-9e90-59403f3eed87"
}
}
},
"PrivateNetworkAcl": {
"Type": "AWS::EC2::NetworkAcl",
"Properties": {
"VpcId": {
"Ref": "VPC"
},
"Tags": [
{
"Key": "Name",
"Value": "PrivateNetworkAcl (QuickStart) "
},
{
"Key": "Application",
"Value": {
"Ref": "AWS::StackId"
}
}
]
},
"Metadata": {
"AWS::CloudFormation::Designer": {
"id": "6b23d1a3-3b32-4df5-b0fb-bfd347de22bb"
}
}
}
},
"Mappings": {
"DomainNameMapping": {
"eu-central-1": {
"NAME": "eu-central-1.compute.internal"
},
"sa-east-1": {
"NAME": "sa-east-1.compute.internal"
},
"ap-northeast-1": {
"NAME": "ap-northeast-1.compute.internal"
},
"eu-west-1": {
"NAME": "eu-west-1.compute.internal"
},
"us-east-1": {
"NAME": "ec2.internal"
},
"us-west-1": {
"NAME": "us-west-1.compute.internal"
},
"us-west-2": {
"NAME": "us-west-2.compute.internal"
},
"ap-southeast-2": {
"NAME": "ap-southeast-2.compute.internal"
},
"ap-southeast-1": {
"NAME": "ap-southeast-1.compute.internal"
}
},
"AWSInstanceType2Arch": {
"t2.micro": {
"Arch": "HVM64"
},
"t2.small": {
"Arch": "HVM64"
},
"t2.medium": {
"Arch": "HVM64"
},
"m3.medium": {
"Arch": "HVM64"
},
"m3.large": {
"Arch": "HVM64"
},
"m3.xlarge": {
"Arch": "HVM64"
},
"m3.2xlarge": {
"Arch": "HVM64"
},
"c3.large": {
"Arch": "HVM64"
},
"c3.xlarge": {
"Arch": "HVM64"
},
"c3.2xlarge": {
"Arch": "HVM64"
},
"c3.4xlarge": {
"Arch": "HVM64"
},
"c3.8xlarge": {
"Arch": "HVM64"
},
"c4.large": {
"Arch": "HVM64"
},
"c4.xlarge": {
"Arch": "HVM64"
},
"c4.2xlarge": {
"Arch": "HVM64"
},
"c4.4xlarge": {
"Arch": "HVM64"
},
"c4.8xlarge": {
"Arch": "HVM64"
},
"g2.2xlarge": {
"Arch": "HVMG2"
},
"r3.large": {
"Arch": "HVM64"
},
"r3.xlarge": {
"Arch": "HVM64"
},
"r3.2xlarge": {
"Arch": "HVM64"
},
"r3.4xlarge": {
"Arch": "HVM64"
},
"r3.8xlarge": {
"Arch": "HVM64"
},
"i2.xlarge": {
"Arch": "HVM64"
},
"i2.2xlarge": {
"Arch": "HVM64"
},
"i2.4xlarge": {
"Arch": "HVM64"
},
"i2.8xlarge": {
"Arch": "HVM64"
},
"d2.xlarge": {
"Arch": "HVM64"
},
"d2.2xlarge": {
"Arch": "HVM64"
},
"d2.4xlarge": {
"Arch": "HVM64"
},
"d2.8xlarge": {
"Arch": "HVM64"
},
"hi1.4xlarge": {
"Arch": "HVM64"
},
"hs1.8xlarge": {
"Arch": "HVM64"
},
"cr1.8xlarge": {
"Arch": "HVM64"
},
"cc2.8xlarge": {
"Arch": "HVM64"
}
},
"AWSNATAMI": {
"eu-central-1": {
"AMI": "ami-46073a5b"
},
"sa-east-1": {
"AMI": "ami-fbfa41e6"
},
"ap-northeast-1": {
"AMI": "ami-03cf3903"
},
"eu-west-1": {
"AMI": "ami-6975eb1e"
},
"us-east-1": {
"AMI": "ami-303b1458"
},
"us-west-1": {
"AMI": "ami-7da94839"
},
"us-west-2": {
"AMI": "ami-69ae8259"
},
"ap-southeast-2": {
"AMI": "ami-e7ee9edd"
},
"ap-southeast-1": {
"AMI": "ami-b49dace6"
}
},
"AMI": {
"eu-central-1": {
"64HVM": "ami-a8221fb5"
},
"sa-east-1": {
"64HVM": "ami-b52890a8"
},
"ap-northeast-1": {
"64HVM": "ami-cbf90ecb"
},
"eu-west-1": {
"64HVM": "ami-a10897d6"
},
"us-east-1": {
"64HVM": "ami-1ecae776"
},
"us-west-1": {
"64HVM": "ami-d114f295"
},
"us-west-2": {
"64HVM": "ami-e7527ed7"
},
"ap-southeast-2": {
"64HVM": "ami-fd9cecc7"
},
"ap-southeast-1": {
"64HVM": "ami-68d8e93a"
}
}
},
"Metadata": {
"AWS::CloudFormation::Designer": {
"376ffdd1-29ef-4478-ab68-ad42b92add2c": {
"size": {
"width": 60,
"height": 60
},
"position": {
"x": 60,
"y": 1740
},
"z": 1,
"embeds": []
},
"074e9101-08f1-4ca2-809d-9fb4a4e558ad": {
"size": {
"width": 1680,
"height": 1590
},
"position": {
"x": 60,
"y": 90
},
"z": 1,
"embeds": [
"6b23d1a3-3b32-4df5-b0fb-bfd347de22bb",
"37d520d1-f17c-4d5c-9e90-59403f3eed87",
"ae732738-d26b-4161-9f27-eb366c8a0735",
"61ac54fb-e2f1-484b-9080-2dcc30930271",
"233c2d8d-856d-4d74-b867-9de734ff8173",
"d7bbe33c-4f9c-4b20-9ce5-1ff69edffbbd",
"8d80593f-1989-499a-924b-92368b7a8e8b",
"986a4b29-62a4-49a5-80ea-28933fa19d64",
"f30b9b35-4a38-40ae-a2da-f42f8005a9c3",
"77662542-b1de-49da-a687-d81f542b4832",
"6e914570-df7e-42ba-a11f-bb2f8a113dd4",
"8831b4e3-f445-4131-aa1f-1dcffac24378",
"1f287300-e9fb-464d-b716-cb0739e3fb21",
"ac64514d-86d5-497d-be46-2d245062d223",
"e6bfec0c-ea77-44e2-b730-c321970d3ca9",
"4142fe91-06c0-4756-9ab4-3fbcdaba0b87",
"916a5eda-f900-47e9-ad26-e9bf8f1f08af",
"a2eba248-a5de-4865-b8de-c52b2f234ee9",
"f5f2f9da-698a-423d-8e37-6d43f236913a"
]
},
"6b23d1a3-3b32-4df5-b0fb-bfd347de22bb": {
"size": {
"width": 690,
"height": 690
},
"position": {
"x": 90,
"y": 150
},
"z": 2,
"parent": "074e9101-08f1-4ca2-809d-9fb4a4e558ad",
"embeds": [
"4c2310eb-ca4f-427a-a38b-4be58061df14",
"ebc1394b-7850-48b1-b6b0-8ed1a0ffa4f1",
"6c546654-5bde-4648-b6e3-7bbaf816ead6",
"32b44dc1-8b68-47e3-91d3-ee2184be57bd",
"fe9caf8e-ecf3-4ab8-b19b-cb78346b2b57",
"e451f7d7-9c78-4954-a453-7f910c0d3ddf",
"62e9bf7a-01ef-4661-b0dc-636a9d4ef169",
"3dae10f0-0b95-498c-9102-671ddc291b06",
"ab4d7284-1f9e-4348-bb92-a6cb281b14a3",
"e6e06fc7-ceab-4958-b9ee-d6660f58848a",
"46e5cd89-036e-402e-a2d6-6d3c92325cfc",
"4c1ba8ec-539b-47c7-b59e-12c1bdb4bd49",
"c714b412-e521-47bc-a863-2d5ab171763d",
"52b0a516-c836-4f8a-8a12-e4a06906cd9f",
"23b3661c-945e-4e1e-9f7e-69bc09afbe3d",
"ed493bbf-9daf-4a1b-8c30-c6a73a6c7437",
"b61683a5-c46b-4be8-be7e-5a8b892c1ce1",
"a1f92cdb-7f38-4a21-a950-6f1c21b0563a",
"6adaacb2-5895-4719-abfd-f324ef64cb2a",
"b6c05d46-f8e3-4de7-82de-424dba0fc8a2",
"11a5506a-6865-4fc9-850c-2619de7496fe"
]
},
"37d520d1-f17c-4d5c-9e90-59403f3eed87": {
"size": {
"width": 690,
"height": 600
},
"position": {
"x": 90,
"y": 900
},
"z": 2,
"parent": "074e9101-08f1-4ca2-809d-9fb4a4e558ad",
"embeds": [
"fd505db3-5e06-403f-8b66-b2546366932a",
"54864265-dfbd-4c30-96d2-6fadf290789f",
"9e9a80a5-d65b-45a8-ac8f-de03147167e0",
"8a76db1e-1219-457a-8033-9938ea39a9d5",
"050f58c7-30ce-454b-be9e-a69f9589fcfc",
"a66c4faf-2881-46fb-95c8-a00fa7d8175b",
"11c7291c-5ce1-456b-b4da-b01b4e888355",
"c1686bd0-ffaf-4b16-a277-42f5e07406db",
"a293200d-97ff-493f-a16d-a9277b991034",
"da4f5463-9cf8-4dde-9fd9-71c8c1f0cab7",
"6659cee7-00aa-4178-85ab-19f3685ef18c",
"61392929-25e9-4dca-b356-1482e45240cc",
"98796b1f-e5bc-424c-b754-b7d11e3a31c3",
"08a7d6a0-594c-44dc-b334-3336eee869be",
"70f8de2a-147e-4561-92d8-cd01b1644d36",
"699b954f-7466-41da-91c0-3ff77351e45c",
"cccd8d85-2f30-438f-a503-e046ea95bd48"
]
},
"2ff376b3-ed3d-420b-8ecb-41043f61c0f3": {
"source": {
"id": "376ffdd1-29ef-4478-ab68-ad42b92add2c"
},
"target": {
"id": "074e9101-08f1-4ca2-809d-9fb4a4e558ad"
},
"z": 1
},
"f0147be1-f108-4944-bb20-47985fd8e013": {
"size": {
"width": 60,
"height": 60
},
"position": {
"x": 180,
"y": 1740
},
"z": 1,
"embeds": []
},
"404ee246-916f-43ff-8a4e-f03f755e099e": {
"source": {
"id": "f0147be1-f108-4944-bb20-47985fd8e013"
},
"target": {
"id": "074e9101-08f1-4ca2-809d-9fb4a4e558ad"
},
"z": 1
},
"ae732738-d26b-4161-9f27-eb366c8a0735": {
"size": {
"width": 240,
"height": 240
},
"position": {
"x": 840,
"y": 1350
},
"z": 2,
"parent": "074e9101-08f1-4ca2-809d-9fb4a4e558ad",
"embeds": [
"55134e25-ca9b-4ae1-9168-38f2f8292cd5"
]
},
"55134e25-ca9b-4ae1-9168-38f2f8292cd5": {
"size": {
"width": 60,
"height": 60
},
"position": {
"x": 870,
"y": 1410
},
"z": 3,
"parent": "ae732738-d26b-4161-9f27-eb366c8a0735",
"embeds": [],
"references": [
"376ffdd1-29ef-4478-ab68-ad42b92add2c"
]
},
"61ac54fb-e2f1-484b-9080-2dcc30930271": {
"size": {
"width": 240,
"height": 240
},
"position": {
"x": 1140,
"y": 1050
},
"z": 2,
"parent": "074e9101-08f1-4ca2-809d-9fb4a4e558ad",
"embeds": [
"3af34709-ba08-407e-99b1-c451f90c029d"
]
},
"89c8b68d-35d7-471e-8d97-e99c140ebcfd": {
"source": {
"id": "ae732738-d26b-4161-9f27-eb366c8a0735"
},
"target": {
"id": "61ac54fb-e2f1-484b-9080-2dcc30930271"
},
"z": 2
},
"99fa01e1-21e7-4d6d-a106-7777d7e1600c": {
"source": {
"id": "37d520d1-f17c-4d5c-9e90-59403f3eed87"
},
"target": {
"id": "61ac54fb-e2f1-484b-9080-2dcc30930271"
},
"z": 2
},
"fd505db3-5e06-403f-8b66-b2546366932a": {
"size": {
"width": 60,
"height": 60
},
"position": {
"x": 120,
"y": 960
},
"z": 3,
"parent": "37d520d1-f17c-4d5c-9e90-59403f3eed87",
"embeds": []
},
"54864265-dfbd-4c30-96d2-6fadf290789f": {
"size": {
"width": 60,
"height": 60
},
"position": {
"x": 240,
"y": 960
},
"z": 3,
"parent": "37d520d1-f17c-4d5c-9e90-59403f3eed87",
"embeds": []
},
"9e9a80a5-d65b-45a8-ac8f-de03147167e0": {
"size": {
"width": 60,
"height": 60
},
"position": {
"x": 120,
"y": 1080
},
"z": 3,
"parent": "37d520d1-f17c-4d5c-9e90-59403f3eed87",
"embeds": []
},
"233c2d8d-856d-4d74-b867-9de734ff8173": {
"size": {
"width": 240,
"height": 240
},
"position": {
"x": 840,
"y": 1050
},
"z": 2,
"parent": "074e9101-08f1-4ca2-809d-9fb4a4e558ad",
"embeds": [
"6b778e42-23a9-4d8d-9e20-7727aed8f985"
]
},
"6b778e42-23a9-4d8d-9e20-7727aed8f985": {
"size": {
"width": 60,
"height": 60
},
"position": {
"x": 870,
"y": 1110
},
"z": 3,
"parent": "233c2d8d-856d-4d74-b867-9de734ff8173",
"embeds": [],
"references": [
"376ffdd1-29ef-4478-ab68-ad42b92add2c"
]
},
"d7bbe33c-4f9c-4b20-9ce5-1ff69edffbbd": {
"size": {
"width": 240,
"height": 240
},
"position": {
"x": 1140,
"y": 750
},
"z": 2,
"parent": "074e9101-08f1-4ca2-809d-9fb4a4e558ad",
"embeds": [
"f5678f4f-da18-4288-b7f9-b9aa7b88c9cb"
]
},
"ff9c070f-c72e-4398-9596-ede2a8d935ba": {
"source": {
"id": "233c2d8d-856d-4d74-b867-9de734ff8173"
},
"target": {
"id": "d7bbe33c-4f9c-4b20-9ce5-1ff69edffbbd"
},
"z": 2
},
"6ef95b06-8e6f-4328-b47b-698a0b69a538": {
"source": {
"id": "37d520d1-f17c-4d5c-9e90-59403f3eed87"
},
"target": {
"id": "d7bbe33c-4f9c-4b20-9ce5-1ff69edffbbd"
},
"z": 2
},
"8a76db1e-1219-457a-8033-9938ea39a9d5": {
"size": {
"width": 60,
"height": 60
},
"position": {
"x": 240,
"y": 1080
},
"z": 3,
"parent": "37d520d1-f17c-4d5c-9e90-59403f3eed87",
"embeds": []
},
"050f58c7-30ce-454b-be9e-a69f9589fcfc": {
"size": {
"width": 60,
"height": 60
},
"position": {
"x": 360,
"y": 960
},
"z": 3,
"parent": "37d520d1-f17c-4d5c-9e90-59403f3eed87",
"embeds": []
},
"a66c4faf-2881-46fb-95c8-a00fa7d8175b": {
"size": {
"width": 60,
"height": 60
},
"position": {
"x": 360,
"y": 1080
},
"z": 3,
"parent": "37d520d1-f17c-4d5c-9e90-59403f3eed87",
"embeds": []
},
"8d80593f-1989-499a-924b-92368b7a8e8b": {
"size": {
"width": 240,
"height": 240
},
"position": {
"x": 840,
"y": 750
},
"z": 2,
"parent": "074e9101-08f1-4ca2-809d-9fb4a4e558ad",
"embeds": [
"6eed4f24-a4c0-4dc9-a020-e252c93098ce"
]
},
"6eed4f24-a4c0-4dc9-a020-e252c93098ce": {
"size": {
"width": 60,
"height": 60
},
"position": {
"x": 870,
"y": 810
},
"z": 3,
"parent": "8d80593f-1989-499a-924b-92368b7a8e8b",
"embeds": [],
"references": [
"376ffdd1-29ef-4478-ab68-ad42b92add2c"
]
},
"986a4b29-62a4-49a5-80ea-28933fa19d64": {
"size": {
"width": 240,
"height": 240
},
"position": {
"x": 1140,
"y": 450
},
"z": 2,
"parent": "074e9101-08f1-4ca2-809d-9fb4a4e558ad",
"embeds": [
"c8c2f8c9-55ec-4fd4-b9c6-a48c464412d4"
]
},
"2586df82-4d88-4631-9f96-39d750eb39f9": {
"source": {
"id": "8d80593f-1989-499a-924b-92368b7a8e8b"
},
"target": {
"id": "986a4b29-62a4-49a5-80ea-28933fa19d64"
},
"z": 2
},
"1706e028-67ee-4b38-845c-77971eb34f1d": {
"source": {
"id": "37d520d1-f17c-4d5c-9e90-59403f3eed87"
},
"target": {
"id": "986a4b29-62a4-49a5-80ea-28933fa19d64"
},
"z": 2
},
"11c7291c-5ce1-456b-b4da-b01b4e888355": {
"size": {
"width": 60,
"height": 60
},
"position": {
"x": 120,
"y": 1200
},
"z": 3,
"parent": "37d520d1-f17c-4d5c-9e90-59403f3eed87",
"embeds": []
},
"c1686bd0-ffaf-4b16-a277-42f5e07406db": {
"size": {
"width": 60,
"height": 60
},
"position": {
"x": 240,
"y": 1200
},
"z": 3,
"parent": "37d520d1-f17c-4d5c-9e90-59403f3eed87",
"embeds": []
},
"a293200d-97ff-493f-a16d-a9277b991034": {
"size": {
"width": 60,
"height": 60
},
"position": {
"x": 360,
"y": 1200
},
"z": 3,
"parent": "37d520d1-f17c-4d5c-9e90-59403f3eed87",
"embeds": []
},
"da4f5463-9cf8-4dde-9fd9-71c8c1f0cab7": {
"size": {
"width": 60,
"height": 60
},
"position": {
"x": 480,
"y": 960
},
"z": 3,
"parent": "37d520d1-f17c-4d5c-9e90-59403f3eed87",
"embeds": []
},
"6659cee7-00aa-4178-85ab-19f3685ef18c": {
"size": {
"width": 60,
"height": 60
},
"position": {
"x": 480,
"y": 1080
},
"z": 3,
"parent": "37d520d1-f17c-4d5c-9e90-59403f3eed87",
"embeds": []
},
"61392929-25e9-4dca-b356-1482e45240cc": {
"size": {
"width": 60,
"height": 60
},
"position": {
"x": 480,
"y": 1200
},
"z": 3,
"parent": "37d520d1-f17c-4d5c-9e90-59403f3eed87",
"embeds": []
},
"98796b1f-e5bc-424c-b754-b7d11e3a31c3": {
"size": {
"width": 60,
"height": 60
},
"position": {
"x": 120,
"y": 1320
},
"z": 3,
"parent": "37d520d1-f17c-4d5c-9e90-59403f3eed87",
"embeds": []
},
"08a7d6a0-594c-44dc-b334-3336eee869be": {
"size": {
"width": 60,
"height": 60
},
"position": {
"x": 240,
"y": 1320
},
"z": 3,
"parent": "37d520d1-f17c-4d5c-9e90-59403f3eed87",
"embeds": []
},
"70f8de2a-147e-4561-92d8-cd01b1644d36": {
"size": {
"width": 60,
"height": 60
},
"position": {
"x": 360,
"y": 1320
},
"z": 3,
"parent": "37d520d1-f17c-4d5c-9e90-59403f3eed87",
"embeds": []
},
"699b954f-7466-41da-91c0-3ff77351e45c": {
"size": {
"width": 60,
"height": 60
},
"position": {
"x": 480,
"y": 1320
},
"z": 3,
"parent": "37d520d1-f17c-4d5c-9e90-59403f3eed87",
"embeds": []
},
"cccd8d85-2f30-438f-a503-e046ea95bd48": {
"size": {
"width": 60,
"height": 60
},
"position": {
"x": 600,
"y": 960
},
"z": 3,
"parent": "37d520d1-f17c-4d5c-9e90-59403f3eed87",
"embeds": []
},
"4c2310eb-ca4f-427a-a38b-4be58061df14": {
"size": {
"width": 60,
"height": 60
},
"position": {
"x": 120,
"y": 210
},
"z": 3,
"parent": "6b23d1a3-3b32-4df5-b0fb-bfd347de22bb",
"embeds": []
},
"ebc1394b-7850-48b1-b6b0-8ed1a0ffa4f1": {
"size": {
"width": 60,
"height": 60
},
"position": {
"x": 240,
"y": 210
},
"z": 3,
"parent": "6b23d1a3-3b32-4df5-b0fb-bfd347de22bb",
"embeds": []
},
"6c546654-5bde-4648-b6e3-7bbaf816ead6": {
"size": {
"width": 60,
"height": 60
},
"position": {
"x": 120,
"y": 330
},
"z": 3,
"parent": "6b23d1a3-3b32-4df5-b0fb-bfd347de22bb",
"embeds": []
},
"32b44dc1-8b68-47e3-91d3-ee2184be57bd": {
"size": {
"width": 60,
"height": 60
},
"position": {
"x": 240,
"y": 330
},
"z": 3,
"parent": "6b23d1a3-3b32-4df5-b0fb-bfd347de22bb",
"embeds": []
},
"fe9caf8e-ecf3-4ab8-b19b-cb78346b2b57": {
"size": {
"width": 60,
"height": 60
},
"position": {
"x": 360,
"y": 210
},
"z": 3,
"parent": "6b23d1a3-3b32-4df5-b0fb-bfd347de22bb",
"embeds": []
},
"e451f7d7-9c78-4954-a453-7f910c0d3ddf": {
"size": {
"width": 60,
"height": 60
},
"position": {
"x": 360,
"y": 330
},
"z": 3,
"parent": "6b23d1a3-3b32-4df5-b0fb-bfd347de22bb",
"embeds": []
},
"f30b9b35-4a38-40ae-a2da-f42f8005a9c3": {
"size": {
"width": 240,
"height": 240
},
"position": {
"x": 840,
"y": 450
},
"z": 2,
"parent": "074e9101-08f1-4ca2-809d-9fb4a4e558ad",
"embeds": [
"98bed0b8-f37a-4961-bd7f-e0a9ed62b2b8"
]
},
"77662542-b1de-49da-a687-d81f542b4832": {
"size": {
"width": 150,
"height": 150
},
"position": {
"x": 1440,
"y": 150
},
"z": 2,
"parent": "074e9101-08f1-4ca2-809d-9fb4a4e558ad",
"embeds": []
},
"6f24bdce-6bf9-43d8-8b88-87c41eedbd4d": {
"source": {
"id": "f30b9b35-4a38-40ae-a2da-f42f8005a9c3"
},
"target": {
"id": "77662542-b1de-49da-a687-d81f542b4832"
},
"z": 2
},
"4261cdfb-dc12-4d32-9f98-44e67833fb84": {
"source": {
"id": "6b23d1a3-3b32-4df5-b0fb-bfd347de22bb"
},
"target": {
"id": "77662542-b1de-49da-a687-d81f542b4832"
},
"z": 2
},
"62e9bf7a-01ef-4661-b0dc-636a9d4ef169": {
"size": {
"width": 60,
"height": 60
},
"position": {
"x": 120,
"y": 450
},
"z": 3,
"parent": "6b23d1a3-3b32-4df5-b0fb-bfd347de22bb",
"embeds": []
},
"3dae10f0-0b95-498c-9102-671ddc291b06": {
"size": {
"width": 60,
"height": 60
},
"position": {
"x": 240,
"y": 450
},
"z": 3,
"parent": "6b23d1a3-3b32-4df5-b0fb-bfd347de22bb",
"embeds": []
},
"ab4d7284-1f9e-4348-bb92-a6cb281b14a3": {
"size": {
"width": 60,
"height": 60
},
"position": {
"x": 360,
"y": 450
},
"z": 3,
"parent": "6b23d1a3-3b32-4df5-b0fb-bfd347de22bb",
"embeds": []
},
"e6e06fc7-ceab-4958-b9ee-d6660f58848a": {
"size": {
"width": 60,
"height": 60
},
"position": {
"x": 480,
"y": 210
},
"z": 3,
"parent": "6b23d1a3-3b32-4df5-b0fb-bfd347de22bb",
"embeds": []
},
"46e5cd89-036e-402e-a2d6-6d3c92325cfc": {
"size": {
"width": 60,
"height": 60
},
"position": {
"x": 480,
"y": 330
},
"z": 3,
"parent": "6b23d1a3-3b32-4df5-b0fb-bfd347de22bb",
"embeds": []
},
"4c1ba8ec-539b-47c7-b59e-12c1bdb4bd49": {
"size": {
"width": 60,
"height": 60
},
"position": {
"x": 480,
"y": 450
},
"z": 3,
"parent": "6b23d1a3-3b32-4df5-b0fb-bfd347de22bb",
"embeds": []
},
"6e914570-df7e-42ba-a11f-bb2f8a113dd4": {
"size": {
"width": 240,
"height": 240
},
"position": {
"x": 1140,
"y": 150
},
"z": 2,
"parent": "074e9101-08f1-4ca2-809d-9fb4a4e558ad",
"embeds": [
"91562921-be5a-4aeb-8e45-7d6092758cf1"
]
},
"8831b4e3-f445-4131-aa1f-1dcffac24378": {
"size": {
"width": 150,
"height": 150
},
"position": {
"x": 1350,
"y": 1350
},
"z": 2,
"parent": "074e9101-08f1-4ca2-809d-9fb4a4e558ad",
"embeds": []
},
"009b2274-6da0-4858-b317-6f58e8afe413": {
"source": {
"id": "6e914570-df7e-42ba-a11f-bb2f8a113dd4"
},
"target": {
"id": "8831b4e3-f445-4131-aa1f-1dcffac24378"
},
"z": 2
},
"5d5d96bb-b023-4dc3-8275-4ca6264aad4f": {
"source": {
"id": "6b23d1a3-3b32-4df5-b0fb-bfd347de22bb"
},
"target": {
"id": "8831b4e3-f445-4131-aa1f-1dcffac24378"
},
"z": 2
},
"c714b412-e521-47bc-a863-2d5ab171763d": {
"size": {
"width": 60,
"height": 60
},
"position": {
"x": 120,
"y": 570
},
"z": 3,
"parent": "6b23d1a3-3b32-4df5-b0fb-bfd347de22bb",
"embeds": []
},
"52b0a516-c836-4f8a-8a12-e4a06906cd9f": {
"size": {
"width": 60,
"height": 60
},
"position": {
"x": 240,
"y": 570
},
"z": 3,
"parent": "6b23d1a3-3b32-4df5-b0fb-bfd347de22bb",
"embeds": []
},
"23b3661c-945e-4e1e-9f7e-69bc09afbe3d": {
"size": {
"width": 60,
"height": 60
},
"position": {
"x": 360,
"y": 570
},
"z": 3,
"parent": "6b23d1a3-3b32-4df5-b0fb-bfd347de22bb",
"embeds": []
},
"ed493bbf-9daf-4a1b-8c30-c6a73a6c7437": {
"size": {
"width": 60,
"height": 60
},
"position": {
"x": 480,
"y": 570
},
"z": 3,
"parent": "6b23d1a3-3b32-4df5-b0fb-bfd347de22bb",
"embeds": []
},
"b61683a5-c46b-4be8-be7e-5a8b892c1ce1": {
"size": {
"width": 60,
"height": 60
},
"position": {
"x": 600,
"y": 210
},
"z": 3,
"parent": "6b23d1a3-3b32-4df5-b0fb-bfd347de22bb",
"embeds": []
},
"a1f92cdb-7f38-4a21-a950-6f1c21b0563a": {
"size": {
"width": 60,
"height": 60
},
"position": {
"x": 600,
"y": 330
},
"z": 3,
"parent": "6b23d1a3-3b32-4df5-b0fb-bfd347de22bb",
"embeds": []
},
"1f287300-e9fb-464d-b716-cb0739e3fb21": {
"size": {
"width": 240,
"height": 240
},
"position": {
"x": 840,
"y": 150
},
"z": 2,
"parent": "074e9101-08f1-4ca2-809d-9fb4a4e558ad",
"embeds": [
"6ab69150-95bc-42a8-8910-0efac766cc9c"
]
},
"ac64514d-86d5-497d-be46-2d245062d223": {
"size": {
"width": 150,
"height": 150
},
"position": {
"x": 1140,
"y": 1350
},
"z": 2,
"parent": "074e9101-08f1-4ca2-809d-9fb4a4e558ad",
"embeds": []
},
"ee9ace80-cc53-4174-8b52-31ee19d49650": {
"source": {
"id": "1f287300-e9fb-464d-b716-cb0739e3fb21"
},
"target": {
"id": "ac64514d-86d5-497d-be46-2d245062d223"
},
"z": 2
},
"1798387c-f2c5-4e88-89f1-f242f24435bd": {
"source": {
"id": "6b23d1a3-3b32-4df5-b0fb-bfd347de22bb"
},
"target": {
"id": "ac64514d-86d5-497d-be46-2d245062d223"
},
"z": 2
},
"6adaacb2-5895-4719-abfd-f324ef64cb2a": {
"size": {
"width": 60,
"height": 60
},
"position": {
"x": 600,
"y": 450
},
"z": 3,
"parent": "6b23d1a3-3b32-4df5-b0fb-bfd347de22bb",
"embeds": []
},
"b6c05d46-f8e3-4de7-82de-424dba0fc8a2": {
"size": {
"width": 60,
"height": 60
},
"position": {
"x": 600,
"y": 570
},
"z": 3,
"parent": "6b23d1a3-3b32-4df5-b0fb-bfd347de22bb",
"embeds": []
},
"11a5506a-6865-4fc9-850c-2619de7496fe": {
"size": {
"width": 60,
"height": 60
},
"position": {
"x": 120,
"y": 690
},
"z": 3,
"parent": "6b23d1a3-3b32-4df5-b0fb-bfd347de22bb",
"embeds": []
},
"e6bfec0c-ea77-44e2-b730-c321970d3ca9": {
"size": {
"width": 60,
"height": 60
},
"position": {
"x": 1440,
"y": 360
},
"z": 2,
"parent": "074e9101-08f1-4ca2-809d-9fb4a4e558ad",
"embeds": []
},
"c8c2f8c9-55ec-4fd4-b9c6-a48c464412d4": {
"size": {
"width": 60,
"height": 60
},
"position": {
"x": 1170,
"y": 510
},
"z": 3,
"parent": "986a4b29-62a4-49a5-80ea-28933fa19d64",
"embeds": [],
"ismemberof": [
"e6bfec0c-ea77-44e2-b730-c321970d3ca9"
]
},
"b57d0400-0b38-4dd4-9ad1-1569405b7e6a": {
"size": {
"width": 60,
"height": 60
},
"position": {
"x": 300,
"y": 1740
},
"z": 1,
"embeds": []
},
"c56580c5-c46b-487a-a994-4303bce53209": {
"source": {
"id": "b57d0400-0b38-4dd4-9ad1-1569405b7e6a"
},
"target": {
"id": "c8c2f8c9-55ec-4fd4-b9c6-a48c464412d4"
},
"z": 3
},
"64b09e3d-9831-4872-933c-d0b7889b18e1": {
"size": {
"width": 60,
"height": 60
},
"position": {
"x": 420,
"y": 1740
},
"z": 1,
"embeds": [],
"isconnectedto": [
"c8c2f8c9-55ec-4fd4-b9c6-a48c464412d4"
]
},
"6ab69150-95bc-42a8-8910-0efac766cc9c": {
"size": {
"width": 60,
"height": 60
},
"position": {
"x": 870,
"y": 210
},
"z": 3,
"parent": "1f287300-e9fb-464d-b716-cb0739e3fb21",
"embeds": [],
"references": [
"64b09e3d-9831-4872-933c-d0b7889b18e1"
]
},
"f5678f4f-da18-4288-b7f9-b9aa7b88c9cb": {
"size": {
"width": 60,
"height": 60
},
"position": {
"x": 1170,
"y": 810
},
"z": 3,
"parent": "d7bbe33c-4f9c-4b20-9ce5-1ff69edffbbd",
"embeds": [],
"ismemberof": [
"e6bfec0c-ea77-44e2-b730-c321970d3ca9"
]
},
"9af59715-25d2-4e79-87a1-597ea0e18227": {
"size": {
"width": 60,
"height": 60
},
"position": {
"x": 540,
"y": 1740
},
"z": 1,
"embeds": []
},
"3b358614-1d2a-4d40-a4a9-525310cf4241": {
"source": {
"id": "9af59715-25d2-4e79-87a1-597ea0e18227"
},
"target": {
"id": "f5678f4f-da18-4288-b7f9-b9aa7b88c9cb"
},
"z": 3
},
"b847646f-49cd-4e55-bc50-d15764d6709a": {
"size": {
"width": 60,
"height": 60
},
"position": {
"x": 660,
"y": 1740
},
"z": 1,
"embeds": [],
"isconnectedto": [
"f5678f4f-da18-4288-b7f9-b9aa7b88c9cb"
]
},
"91562921-be5a-4aeb-8e45-7d6092758cf1": {
"size": {
"width": 60,
"height": 60
},
"position": {
"x": 1170,
"y": 210
},
"z": 3,
"parent": "6e914570-df7e-42ba-a11f-bb2f8a113dd4",
"embeds": [],
"references": [
"b847646f-49cd-4e55-bc50-d15764d6709a"
]
},
"3af34709-ba08-407e-99b1-c451f90c029d": {
"size": {
"width": 60,
"height": 60
},
"position": {
"x": 1170,
"y": 1110
},
"z": 3,
"parent": "61ac54fb-e2f1-484b-9080-2dcc30930271",
"embeds": [],
"ismemberof": [
"e6bfec0c-ea77-44e2-b730-c321970d3ca9"
]
},
"7063c0f7-a42e-4e00-8866-857f32bd4c71": {
"size": {
"width": 60,
"height": 60
},
"position": {
"x": 780,
"y": 1740
},
"z": 1,
"embeds": []
},
"4124090a-02eb-4925-b154-1f64b5e809e7": {
"source": {
"id": "7063c0f7-a42e-4e00-8866-857f32bd4c71"
},
"target": {
"id": "3af34709-ba08-407e-99b1-c451f90c029d"
},
"z": 3
},
"146c86cb-ca3a-48fe-831d-55300683c99f": {
"size": {
"width": 60,
"height": 60
},
"position": {
"x": 900,
"y": 1740
},
"z": 1,
"embeds": [],
"isconnectedto": [
"3af34709-ba08-407e-99b1-c451f90c029d"
]
},
"98bed0b8-f37a-4961-bd7f-e0a9ed62b2b8": {
"size": {
"width": 60,
"height": 60
},
"position": {
"x": 870,
"y": 510
},
"z": 3,
"parent": "f30b9b35-4a38-40ae-a2da-f42f8005a9c3",
"embeds": [],
"references": [
"146c86cb-ca3a-48fe-831d-55300683c99f"
]
},
"4142fe91-06c0-4756-9ab4-3fbcdaba0b87": {
"size": {
"width": 60,
"height": 60
},
"position": {
"x": 1560,
"y": 360
},
"z": 2,
"parent": "074e9101-08f1-4ca2-809d-9fb4a4e558ad",
"embeds": []
},
"916a5eda-f900-47e9-ad26-e9bf8f1f08af": {
"size": {
"width": 60,
"height": 60
},
"position": {
"x": 1440,
"y": 480
},
"z": 2,
"parent": "074e9101-08f1-4ca2-809d-9fb4a4e558ad",
"embeds": []
},
"9212a28e-d490-49d3-a75b-eef9447ef68b": {
"size": {
"width": 60,
"height": 60
},
"position": {
"x": 1020,
"y": 1740
},
"z": 1,
"embeds": [],
"isrelatedto": [
"074e9101-08f1-4ca2-809d-9fb4a4e558ad",
"916a5eda-f900-47e9-ad26-e9bf8f1f08af",
"77662542-b1de-49da-a687-d81f542b4832",
"8831b4e3-f445-4131-aa1f-1dcffac24378"
]
},
"a2eba248-a5de-4865-b8de-c52b2f234ee9": {
"size": {
"width": 60,
"height": 60
},
"position": {
"x": 1560,
"y": 480
},
"z": 2,
"parent": "074e9101-08f1-4ca2-809d-9fb4a4e558ad",
"embeds": [],
"isrelatedto": [
"e6bfec0c-ea77-44e2-b730-c321970d3ca9",
"4142fe91-06c0-4756-9ab4-3fbcdaba0b87",
"916a5eda-f900-47e9-ad26-e9bf8f1f08af"
]
},
"f5f2f9da-698a-423d-8e37-6d43f236913a": {
"size": {
"width": 60,
"height": 60
},
"position": {
"x": 1440,
"y": 600
},
"z": 2,
"parent": "074e9101-08f1-4ca2-809d-9fb4a4e558ad",
"embeds": [],
"isrelatedto": [
"a2eba248-a5de-4865-b8de-c52b2f234ee9"
]
},
"f39f4aaf-b1e7-470b-8b5c-4d44996dc1f8": {
"size": {
"width": 60,
"height": 60
},
"position": {
"x": 1140,
"y": 1740
},
"z": 1,
"embeds": [],
"isrelatedto": [
"074e9101-08f1-4ca2-809d-9fb4a4e558ad",
"4142fe91-06c0-4756-9ab4-3fbcdaba0b87",
"a2eba248-a5de-4865-b8de-c52b2f234ee9",
"9212a28e-d490-49d3-a75b-eef9447ef68b",
"77662542-b1de-49da-a687-d81f542b4832",
"8831b4e3-f445-4131-aa1f-1dcffac24378",
"61ac54fb-e2f1-484b-9080-2dcc30930271",
"d7bbe33c-4f9c-4b20-9ce5-1ff69edffbbd"
]
}
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment