{
  "Resources": {
    "MyVpcF9F0CA6F": {
      "Type": "AWS::EC2::VPC",
      "Properties": {
        "CidrBlock": "10.0.0.0/16",
        "EnableDnsHostnames": true,
        "EnableDnsSupport": true,
        "InstanceTenancy": "default",
        "Tags": [
          {
            "Key": "Name",
            "Value": "aws-cdk-ec2-vpc/MyVpc"
          }
        ]
      }
    },
    "MyVpcPublicSubnet1SubnetF6608456": {
      "Type": "AWS::EC2::Subnet",
      "Properties": {
        "CidrBlock": "10.0.0.0/19",
        "VpcId": {
          "Ref": "MyVpcF9F0CA6F"
        },
        "AvailabilityZone": "test-region-1a",
        "MapPublicIpOnLaunch": true,
        "Tags": [
          {
            "Key": "aws-cdk:subnet-name",
            "Value": "Public"
          },
          {
            "Key": "aws-cdk:subnet-type",
            "Value": "Public"
          },
          {
            "Key": "Name",
            "Value": "aws-cdk-ec2-vpc/MyVpc/PublicSubnet1"
          }
        ]
      }
    },
    "MyVpcPublicSubnet1RouteTableC46AB2F4": {
      "Type": "AWS::EC2::RouteTable",
      "Properties": {
        "VpcId": {
          "Ref": "MyVpcF9F0CA6F"
        },
        "Tags": [
          {
            "Key": "Name",
            "Value": "aws-cdk-ec2-vpc/MyVpc/PublicSubnet1"
          }
        ]
      }
    },
    "MyVpcPublicSubnet1RouteTableAssociation2ECEE1CB": {
      "Type": "AWS::EC2::SubnetRouteTableAssociation",
      "Properties": {
        "RouteTableId": {
          "Ref": "MyVpcPublicSubnet1RouteTableC46AB2F4"
        },
        "SubnetId": {
          "Ref": "MyVpcPublicSubnet1SubnetF6608456"
        }
      }
    },
    "MyVpcPublicSubnet1DefaultRoute95FDF9EB": {
      "Type": "AWS::EC2::Route",
      "Properties": {
        "RouteTableId": {
          "Ref": "MyVpcPublicSubnet1RouteTableC46AB2F4"
        },
        "DestinationCidrBlock": "0.0.0.0/0",
        "GatewayId": {
          "Ref": "MyVpcIGW5C4A4F63"
        }
      },
      "DependsOn": [
        "MyVpcVPCGW488ACE0D"
      ]
    },
    "MyVpcPublicSubnet1EIP096967CB": {
      "Type": "AWS::EC2::EIP",
      "Properties": {
        "Domain": "vpc",
        "Tags": [
          {
            "Key": "Name",
            "Value": "aws-cdk-ec2-vpc/MyVpc/PublicSubnet1"
          }
        ]
      }
    },
    "MyVpcPublicSubnet1NATGatewayAD3400C1": {
      "Type": "AWS::EC2::NatGateway",
      "Properties": {
        "AllocationId": {
          "Fn::GetAtt": [
            "MyVpcPublicSubnet1EIP096967CB",
            "AllocationId"
          ]
        },
        "SubnetId": {
          "Ref": "MyVpcPublicSubnet1SubnetF6608456"
        },
        "Tags": [
          {
            "Key": "Name",
            "Value": "aws-cdk-ec2-vpc/MyVpc/PublicSubnet1"
          }
        ]
      }
    },
    "MyVpcPublicSubnet2Subnet492B6BFB": {
      "Type": "AWS::EC2::Subnet",
      "Properties": {
        "CidrBlock": "10.0.32.0/19",
        "VpcId": {
          "Ref": "MyVpcF9F0CA6F"
        },
        "AvailabilityZone": "test-region-1b",
        "MapPublicIpOnLaunch": true,
        "Tags": [
          {
            "Key": "aws-cdk:subnet-name",
            "Value": "Public"
          },
          {
            "Key": "aws-cdk:subnet-type",
            "Value": "Public"
          },
          {
            "Key": "Name",
            "Value": "aws-cdk-ec2-vpc/MyVpc/PublicSubnet2"
          }
        ]
      }
    },
    "MyVpcPublicSubnet2RouteTable1DF17386": {
      "Type": "AWS::EC2::RouteTable",
      "Properties": {
        "VpcId": {
          "Ref": "MyVpcF9F0CA6F"
        },
        "Tags": [
          {
            "Key": "Name",
            "Value": "aws-cdk-ec2-vpc/MyVpc/PublicSubnet2"
          }
        ]
      }
    },
    "MyVpcPublicSubnet2RouteTableAssociation227DE78D": {
      "Type": "AWS::EC2::SubnetRouteTableAssociation",
      "Properties": {
        "RouteTableId": {
          "Ref": "MyVpcPublicSubnet2RouteTable1DF17386"
        },
        "SubnetId": {
          "Ref": "MyVpcPublicSubnet2Subnet492B6BFB"
        }
      }
    },
    "MyVpcPublicSubnet2DefaultRoute052936F6": {
      "Type": "AWS::EC2::Route",
      "Properties": {
        "RouteTableId": {
          "Ref": "MyVpcPublicSubnet2RouteTable1DF17386"
        },
        "DestinationCidrBlock": "0.0.0.0/0",
        "GatewayId": {
          "Ref": "MyVpcIGW5C4A4F63"
        }
      },
      "DependsOn": [
        "MyVpcVPCGW488ACE0D"
      ]
    },
    "MyVpcPublicSubnet2EIP8CCBA239": {
      "Type": "AWS::EC2::EIP",
      "Properties": {
        "Domain": "vpc",
        "Tags": [
          {
            "Key": "Name",
            "Value": "aws-cdk-ec2-vpc/MyVpc/PublicSubnet2"
          }
        ]
      }
    },
    "MyVpcPublicSubnet2NATGateway91BFBEC9": {
      "Type": "AWS::EC2::NatGateway",
      "Properties": {
        "AllocationId": {
          "Fn::GetAtt": [
            "MyVpcPublicSubnet2EIP8CCBA239",
            "AllocationId"
          ]
        },
        "SubnetId": {
          "Ref": "MyVpcPublicSubnet2Subnet492B6BFB"
        },
        "Tags": [
          {
            "Key": "Name",
            "Value": "aws-cdk-ec2-vpc/MyVpc/PublicSubnet2"
          }
        ]
      }
    },
    "MyVpcPublicSubnet3Subnet57EEE236": {
      "Type": "AWS::EC2::Subnet",
      "Properties": {
        "CidrBlock": "10.0.64.0/19",
        "VpcId": {
          "Ref": "MyVpcF9F0CA6F"
        },
        "AvailabilityZone": "test-region-1c",
        "MapPublicIpOnLaunch": true,
        "Tags": [
          {
            "Key": "aws-cdk:subnet-name",
            "Value": "Public"
          },
          {
            "Key": "aws-cdk:subnet-type",
            "Value": "Public"
          },
          {
            "Key": "Name",
            "Value": "aws-cdk-ec2-vpc/MyVpc/PublicSubnet3"
          }
        ]
      }
    },
    "MyVpcPublicSubnet3RouteTable15028F08": {
      "Type": "AWS::EC2::RouteTable",
      "Properties": {
        "VpcId": {
          "Ref": "MyVpcF9F0CA6F"
        },
        "Tags": [
          {
            "Key": "Name",
            "Value": "aws-cdk-ec2-vpc/MyVpc/PublicSubnet3"
          }
        ]
      }
    },
    "MyVpcPublicSubnet3RouteTableAssociation5C27DDA4": {
      "Type": "AWS::EC2::SubnetRouteTableAssociation",
      "Properties": {
        "RouteTableId": {
          "Ref": "MyVpcPublicSubnet3RouteTable15028F08"
        },
        "SubnetId": {
          "Ref": "MyVpcPublicSubnet3Subnet57EEE236"
        }
      }
    },
    "MyVpcPublicSubnet3DefaultRoute3A83AB36": {
      "Type": "AWS::EC2::Route",
      "Properties": {
        "RouteTableId": {
          "Ref": "MyVpcPublicSubnet3RouteTable15028F08"
        },
        "DestinationCidrBlock": "0.0.0.0/0",
        "GatewayId": {
          "Ref": "MyVpcIGW5C4A4F63"
        }
      },
      "DependsOn": [
        "MyVpcVPCGW488ACE0D"
      ]
    },
    "MyVpcPublicSubnet3EIPC5ACADAB": {
      "Type": "AWS::EC2::EIP",
      "Properties": {
        "Domain": "vpc",
        "Tags": [
          {
            "Key": "Name",
            "Value": "aws-cdk-ec2-vpc/MyVpc/PublicSubnet3"
          }
        ]
      }
    },
    "MyVpcPublicSubnet3NATGatewayD4B50EBE": {
      "Type": "AWS::EC2::NatGateway",
      "Properties": {
        "AllocationId": {
          "Fn::GetAtt": [
            "MyVpcPublicSubnet3EIPC5ACADAB",
            "AllocationId"
          ]
        },
        "SubnetId": {
          "Ref": "MyVpcPublicSubnet3Subnet57EEE236"
        },
        "Tags": [
          {
            "Key": "Name",
            "Value": "aws-cdk-ec2-vpc/MyVpc/PublicSubnet3"
          }
        ]
      }
    },
    "MyVpcPrivateSubnet1Subnet5057CF7E": {
      "Type": "AWS::EC2::Subnet",
      "Properties": {
        "CidrBlock": "10.0.96.0/19",
        "VpcId": {
          "Ref": "MyVpcF9F0CA6F"
        },
        "AvailabilityZone": "test-region-1a",
        "MapPublicIpOnLaunch": false,
        "Tags": [
          {
            "Key": "aws-cdk:subnet-name",
            "Value": "Private"
          },
          {
            "Key": "aws-cdk:subnet-type",
            "Value": "Private"
          },
          {
            "Key": "Name",
            "Value": "aws-cdk-ec2-vpc/MyVpc/PrivateSubnet1"
          }
        ]
      }
    },
    "MyVpcPrivateSubnet1RouteTable8819E6E2": {
      "Type": "AWS::EC2::RouteTable",
      "Properties": {
        "VpcId": {
          "Ref": "MyVpcF9F0CA6F"
        },
        "Tags": [
          {
            "Key": "Name",
            "Value": "aws-cdk-ec2-vpc/MyVpc/PrivateSubnet1"
          }
        ]
      }
    },
    "MyVpcPrivateSubnet1RouteTableAssociation56D38C7E": {
      "Type": "AWS::EC2::SubnetRouteTableAssociation",
      "Properties": {
        "RouteTableId": {
          "Ref": "MyVpcPrivateSubnet1RouteTable8819E6E2"
        },
        "SubnetId": {
          "Ref": "MyVpcPrivateSubnet1Subnet5057CF7E"
        }
      }
    },
    "MyVpcPrivateSubnet1DefaultRouteA8CDE2FA": {
      "Type": "AWS::EC2::Route",
      "Properties": {
        "RouteTableId": {
          "Ref": "MyVpcPrivateSubnet1RouteTable8819E6E2"
        },
        "DestinationCidrBlock": "0.0.0.0/0",
        "NatGatewayId": {
          "Ref": "MyVpcPublicSubnet1NATGatewayAD3400C1"
        }
      }
    },
    "MyVpcPrivateSubnet2Subnet0040C983": {
      "Type": "AWS::EC2::Subnet",
      "Properties": {
        "CidrBlock": "10.0.128.0/19",
        "VpcId": {
          "Ref": "MyVpcF9F0CA6F"
        },
        "AvailabilityZone": "test-region-1b",
        "MapPublicIpOnLaunch": false,
        "Tags": [
          {
            "Key": "aws-cdk:subnet-name",
            "Value": "Private"
          },
          {
            "Key": "aws-cdk:subnet-type",
            "Value": "Private"
          },
          {
            "Key": "Name",
            "Value": "aws-cdk-ec2-vpc/MyVpc/PrivateSubnet2"
          }
        ]
      }
    },
    "MyVpcPrivateSubnet2RouteTableCEDCEECE": {
      "Type": "AWS::EC2::RouteTable",
      "Properties": {
        "VpcId": {
          "Ref": "MyVpcF9F0CA6F"
        },
        "Tags": [
          {
            "Key": "Name",
            "Value": "aws-cdk-ec2-vpc/MyVpc/PrivateSubnet2"
          }
        ]
      }
    },
    "MyVpcPrivateSubnet2RouteTableAssociation86A610DA": {
      "Type": "AWS::EC2::SubnetRouteTableAssociation",
      "Properties": {
        "RouteTableId": {
          "Ref": "MyVpcPrivateSubnet2RouteTableCEDCEECE"
        },
        "SubnetId": {
          "Ref": "MyVpcPrivateSubnet2Subnet0040C983"
        }
      }
    },
    "MyVpcPrivateSubnet2DefaultRoute9CE96294": {
      "Type": "AWS::EC2::Route",
      "Properties": {
        "RouteTableId": {
          "Ref": "MyVpcPrivateSubnet2RouteTableCEDCEECE"
        },
        "DestinationCidrBlock": "0.0.0.0/0",
        "NatGatewayId": {
          "Ref": "MyVpcPublicSubnet2NATGateway91BFBEC9"
        }
      }
    },
    "MyVpcPrivateSubnet3Subnet772D6AD7": {
      "Type": "AWS::EC2::Subnet",
      "Properties": {
        "CidrBlock": "10.0.160.0/19",
        "VpcId": {
          "Ref": "MyVpcF9F0CA6F"
        },
        "AvailabilityZone": "test-region-1c",
        "MapPublicIpOnLaunch": false,
        "Tags": [
          {
            "Key": "aws-cdk:subnet-name",
            "Value": "Private"
          },
          {
            "Key": "aws-cdk:subnet-type",
            "Value": "Private"
          },
          {
            "Key": "Name",
            "Value": "aws-cdk-ec2-vpc/MyVpc/PrivateSubnet3"
          }
        ]
      }
    },
    "MyVpcPrivateSubnet3RouteTableB790927C": {
      "Type": "AWS::EC2::RouteTable",
      "Properties": {
        "VpcId": {
          "Ref": "MyVpcF9F0CA6F"
        },
        "Tags": [
          {
            "Key": "Name",
            "Value": "aws-cdk-ec2-vpc/MyVpc/PrivateSubnet3"
          }
        ]
      }
    },
    "MyVpcPrivateSubnet3RouteTableAssociationD951741C": {
      "Type": "AWS::EC2::SubnetRouteTableAssociation",
      "Properties": {
        "RouteTableId": {
          "Ref": "MyVpcPrivateSubnet3RouteTableB790927C"
        },
        "SubnetId": {
          "Ref": "MyVpcPrivateSubnet3Subnet772D6AD7"
        }
      }
    },
    "MyVpcPrivateSubnet3DefaultRouteEC11C0C5": {
      "Type": "AWS::EC2::Route",
      "Properties": {
        "RouteTableId": {
          "Ref": "MyVpcPrivateSubnet3RouteTableB790927C"
        },
        "DestinationCidrBlock": "0.0.0.0/0",
        "NatGatewayId": {
          "Ref": "MyVpcPublicSubnet3NATGatewayD4B50EBE"
        }
      }
    },
    "MyVpcIGW5C4A4F63": {
      "Type": "AWS::EC2::InternetGateway",
      "Properties": {
        "Tags": [
          {
            "Key": "Name",
            "Value": "aws-cdk-ec2-vpc/MyVpc"
          }
        ]
      }
    },
    "MyVpcVPCGW488ACE0D": {
      "Type": "AWS::EC2::VPCGatewayAttachment",
      "Properties": {
        "VpcId": {
          "Ref": "MyVpcF9F0CA6F"
        },
        "InternetGatewayId": {
          "Ref": "MyVpcIGW5C4A4F63"
        }
      }
    },
    "SGADB53937": {
      "Type": "AWS::EC2::SecurityGroup",
      "Properties": {
        "GroupDescription": "aws-cdk-ec2-vpc/SG",
        "SecurityGroupEgress": [
          {
            "CidrIp": "0.0.0.0/0",
            "Description": "Allow all outbound traffic by default",
            "IpProtocol": "-1"
          }
        ],
        "SecurityGroupIngress": [
          {
            "CidrIp": "0.0.0.0/0",
            "Description": "from 0.0.0.0/0:ICMP Type 8",
            "FromPort": 8,
            "IpProtocol": "icmp",
            "ToPort": -1
          },
          {
            "CidrIp": "0.0.0.0/0",
            "Description": "from 0.0.0.0/0:ICMP Type 128",
            "FromPort": 128,
            "IpProtocol": "icmp",
            "ToPort": -1
          },
          {
            "CidrIp": "0.0.0.0/0",
            "Description": "from 0.0.0.0/0:ALL ICMP",
            "FromPort": -1,
            "IpProtocol": "icmp",
            "ToPort": -1
          },
          {
            "CidrIp": "0.0.0.0/0",
            "Description": "from 0.0.0.0/0:UDP ALL PORTS",
            "FromPort": 0,
            "IpProtocol": "udp",
            "ToPort": 65535
          },
          {
            "CidrIp": "0.0.0.0/0",
            "Description": "from 0.0.0.0/0:UDP 123",
            "FromPort": 123,
            "IpProtocol": "udp",
            "ToPort": 123
          },
          {
            "CidrIp": "0.0.0.0/0",
            "Description": "from 0.0.0.0/0:UDP 800-801",
            "FromPort": 800,
            "IpProtocol": "udp",
            "ToPort": 801
          }
        ],
        "VpcId": {
          "Ref": "MyVpcF9F0CA6F"
        }
      }
    }
  }
}