{
  "Resources": {
    "bucket43879C71": {
      "Type": "AWS::S3::Bucket",
      "Properties": {
        "Tags": [
          {
            "Key": "Lab",
            "Value": "2"
          }
        ],
        "PublicAccessBlockConfiguration": { 
            "BlockPublicAcls": false,
        },
        "OwnershipControls": {
            "Rules": [
                {
                    "ObjectOwnership": "BucketOwnerPreferred"
                }
            ]
        }
      },
      "UpdateReplacePolicy": "Delete",
      "DeletionPolicy": "Delete",
      "Metadata": {
        "aws:cdk:path": "LabStack/bucket/Resource"
      }
    },
    "bucketPolicy638F945D": {
      "Type": "AWS::S3::BucketPolicy",
      "Properties": {
        "Bucket": {
          "Ref": "bucket43879C71"
        },
        "PolicyDocument": {
          "Statement": [
            {
              "Action": "s3:GetObject",
              "Effect": "Allow",
              "Principal": "*",
              "Resource": {
                "Fn::Join": [
                  "",
                  [
                    {
                      "Fn::GetAtt": [
                        "bucket43879C71",
                        "Arn"
                      ]
                    },
                    "/*"
                  ]
                ]
              }
            }
          ],
          "Version": "2012-10-17"
        }
      },
      "Metadata": {
        "aws:cdk:path": "LabStack/bucket/Policy/Resource"
      }
    },
    "vpcA2121C38": {
      "Type": "AWS::EC2::VPC",
      "Properties": {
        "CidrBlock": "10.0.0.0/16",
        "EnableDnsHostnames": true,
        "EnableDnsSupport": true,
        "InstanceTenancy": "default",
        "Tags": [
          {
            "Key": "Lab",
            "Value": "Yes"
          },
          {
            "Key": "Name",
            "Value": "LabStack/vpc"
          }
        ]
      },
      "Metadata": {
        "aws:cdk:path": "LabStack/vpc/Resource"
      }
    },
    "vpcPublicSubnet1Subnet2E65531E": {
      "Type": "AWS::EC2::Subnet",
      "Properties": {
        "CidrBlock": "10.0.0.0/18",
        "VpcId": {
          "Ref": "vpcA2121C38"
        },
        "AvailabilityZone": {
          "Fn::Select": [
            0,
            {
              "Fn::GetAZs": ""
            }
          ]
        },
        "MapPublicIpOnLaunch": true,
        "Tags": [
          {
            "Key": "aws-cdk:subnet-name",
            "Value": "Public"
          },
          {
            "Key": "aws-cdk:subnet-type",
            "Value": "Public"
          },
          {
            "Key": "Lab",
            "Value": "Yes"
          },
          {
            "Key": "Name",
            "Value": "LabStack/vpc/PublicSubnet1"
          }
        ]
      },
      "Metadata": {
        "aws:cdk:path": "LabStack/vpc/PublicSubnet1/Subnet"
      }
    },
    "vpcPublicSubnet1RouteTable48A2DF9B": {
      "Type": "AWS::EC2::RouteTable",
      "Properties": {
        "VpcId": {
          "Ref": "vpcA2121C38"
        },
        "Tags": [
          {
            "Key": "Lab",
            "Value": "Yes"
          },
          {
            "Key": "Name",
            "Value": "LabStack/vpc/PublicSubnet1"
          }
        ]
      },
      "Metadata": {
        "aws:cdk:path": "LabStack/vpc/PublicSubnet1/RouteTable"
      }
    },
    "vpcPublicSubnet1RouteTableAssociation5D3F4579": {
      "Type": "AWS::EC2::SubnetRouteTableAssociation",
      "Properties": {
        "RouteTableId": {
          "Ref": "vpcPublicSubnet1RouteTable48A2DF9B"
        },
        "SubnetId": {
          "Ref": "vpcPublicSubnet1Subnet2E65531E"
        }
      },
      "Metadata": {
        "aws:cdk:path": "LabStack/vpc/PublicSubnet1/RouteTableAssociation"
      }
    },
    "vpcPublicSubnet1DefaultRoute10708846": {
      "Type": "AWS::EC2::Route",
      "Properties": {
        "RouteTableId": {
          "Ref": "vpcPublicSubnet1RouteTable48A2DF9B"
        },
        "DestinationCidrBlock": "0.0.0.0/0",
        "GatewayId": {
          "Ref": "vpcIGWE57CBDCA"
        }
      },
      "DependsOn": [
        "vpcVPCGW7984C166"
      ],
      "Metadata": {
        "aws:cdk:path": "LabStack/vpc/PublicSubnet1/DefaultRoute"
      }
    },
    "vpcPublicSubnet1EIPDA49DCBE": {
      "Type": "AWS::EC2::EIP",
      "Properties": {
        "Domain": "vpc",
        "Tags": [
          {
            "Key": "Lab",
            "Value": "Yes"
          },
          {
            "Key": "Name",
            "Value": "LabStack/vpc/PublicSubnet1"
          }
        ]
      },
      "Metadata": {
        "aws:cdk:path": "LabStack/vpc/PublicSubnet1/EIP"
      }
    },
    "vpcPublicSubnet1NATGateway9C16659E": {
      "Type": "AWS::EC2::NatGateway",
      "Properties": {
        "AllocationId": {
          "Fn::GetAtt": [
            "vpcPublicSubnet1EIPDA49DCBE",
            "AllocationId"
          ]
        },
        "SubnetId": {
          "Ref": "vpcPublicSubnet1Subnet2E65531E"
        },
        "Tags": [
          {
            "Key": "Lab",
            "Value": "Yes"
          },
          {
            "Key": "Name",
            "Value": "LabStack/vpc/PublicSubnet1"
          }
        ]
      },
      "Metadata": {
        "aws:cdk:path": "LabStack/vpc/PublicSubnet1/NATGateway"
      }
    },
    "vpcPublicSubnet2Subnet009B674F": {
      "Type": "AWS::EC2::Subnet",
      "Properties": {
        "CidrBlock": "10.0.64.0/18",
        "VpcId": {
          "Ref": "vpcA2121C38"
        },
        "AvailabilityZone": {
          "Fn::Select": [
            1,
            {
              "Fn::GetAZs": ""
            }
          ]
        },
        "MapPublicIpOnLaunch": true,
        "Tags": [
          {
            "Key": "aws-cdk:subnet-name",
            "Value": "Public"
          },
          {
            "Key": "aws-cdk:subnet-type",
            "Value": "Public"
          },
          {
            "Key": "Lab",
            "Value": "Yes"
          },
          {
            "Key": "Name",
            "Value": "LabStack/vpc/PublicSubnet2"
          }
        ]
      },
      "Metadata": {
        "aws:cdk:path": "LabStack/vpc/PublicSubnet2/Subnet"
      }
    },
    "vpcPublicSubnet2RouteTableEB40D4CB": {
      "Type": "AWS::EC2::RouteTable",
      "Properties": {
        "VpcId": {
          "Ref": "vpcA2121C38"
        },
        "Tags": [
          {
            "Key": "Lab",
            "Value": "Yes"
          },
          {
            "Key": "Name",
            "Value": "LabStack/vpc/PublicSubnet2"
          }
        ]
      },
      "Metadata": {
        "aws:cdk:path": "LabStack/vpc/PublicSubnet2/RouteTable"
      }
    },
    "vpcPublicSubnet2RouteTableAssociation21F81B59": {
      "Type": "AWS::EC2::SubnetRouteTableAssociation",
      "Properties": {
        "RouteTableId": {
          "Ref": "vpcPublicSubnet2RouteTableEB40D4CB"
        },
        "SubnetId": {
          "Ref": "vpcPublicSubnet2Subnet009B674F"
        }
      },
      "Metadata": {
        "aws:cdk:path": "LabStack/vpc/PublicSubnet2/RouteTableAssociation"
      }
    },
    "vpcPublicSubnet2DefaultRouteA1EC0F60": {
      "Type": "AWS::EC2::Route",
      "Properties": {
        "RouteTableId": {
          "Ref": "vpcPublicSubnet2RouteTableEB40D4CB"
        },
        "DestinationCidrBlock": "0.0.0.0/0",
        "GatewayId": {
          "Ref": "vpcIGWE57CBDCA"
        }
      },
      "DependsOn": [
        "vpcVPCGW7984C166"
      ],
      "Metadata": {
        "aws:cdk:path": "LabStack/vpc/PublicSubnet2/DefaultRoute"
      }
    },
    "vpcPublicSubnet2EIP9B3743B1": {
      "Type": "AWS::EC2::EIP",
      "Properties": {
        "Domain": "vpc",
        "Tags": [
          {
            "Key": "Lab",
            "Value": "Yes"
          },
          {
            "Key": "Name",
            "Value": "LabStack/vpc/PublicSubnet2"
          }
        ]
      },
      "Metadata": {
        "aws:cdk:path": "LabStack/vpc/PublicSubnet2/EIP"
      }
    },
    "vpcPublicSubnet2NATGateway9B8AE11A": {
      "Type": "AWS::EC2::NatGateway",
      "Properties": {
        "AllocationId": {
          "Fn::GetAtt": [
            "vpcPublicSubnet2EIP9B3743B1",
            "AllocationId"
          ]
        },
        "SubnetId": {
          "Ref": "vpcPublicSubnet2Subnet009B674F"
        },
        "Tags": [
          {
            "Key": "Lab",
            "Value": "Yes"
          },
          {
            "Key": "Name",
            "Value": "LabStack/vpc/PublicSubnet2"
          }
        ]
      },
      "Metadata": {
        "aws:cdk:path": "LabStack/vpc/PublicSubnet2/NATGateway"
      }
    },
    "vpcPrivateSubnet1Subnet934893E8": {
      "Type": "AWS::EC2::Subnet",
      "Properties": {
        "CidrBlock": "10.0.128.0/18",
        "VpcId": {
          "Ref": "vpcA2121C38"
        },
        "AvailabilityZone": {
          "Fn::Select": [
            0,
            {
              "Fn::GetAZs": ""
            }
          ]
        },
        "MapPublicIpOnLaunch": false,
        "Tags": [
          {
            "Key": "aws-cdk:subnet-name",
            "Value": "Private"
          },
          {
            "Key": "aws-cdk:subnet-type",
            "Value": "Private"
          },
          {
            "Key": "Lab",
            "Value": "Yes"
          },
          {
            "Key": "Name",
            "Value": "LabStack/vpc/PrivateSubnet1"
          }
        ]
      },
      "Metadata": {
        "aws:cdk:path": "LabStack/vpc/PrivateSubnet1/Subnet"
      }
    },
    "vpcPrivateSubnet1RouteTableB41A48CC": {
      "Type": "AWS::EC2::RouteTable",
      "Properties": {
        "VpcId": {
          "Ref": "vpcA2121C38"
        },
        "Tags": [
          {
            "Key": "Lab",
            "Value": "Yes"
          },
          {
            "Key": "Name",
            "Value": "LabStack/vpc/PrivateSubnet1"
          }
        ]
      },
      "Metadata": {
        "aws:cdk:path": "LabStack/vpc/PrivateSubnet1/RouteTable"
      }
    },
    "vpcPrivateSubnet1RouteTableAssociation67945127": {
      "Type": "AWS::EC2::SubnetRouteTableAssociation",
      "Properties": {
        "RouteTableId": {
          "Ref": "vpcPrivateSubnet1RouteTableB41A48CC"
        },
        "SubnetId": {
          "Ref": "vpcPrivateSubnet1Subnet934893E8"
        }
      },
      "Metadata": {
        "aws:cdk:path": "LabStack/vpc/PrivateSubnet1/RouteTableAssociation"
      }
    },
    "vpcPrivateSubnet1DefaultRoute1AA8E2E5": {
      "Type": "AWS::EC2::Route",
      "Properties": {
        "RouteTableId": {
          "Ref": "vpcPrivateSubnet1RouteTableB41A48CC"
        },
        "DestinationCidrBlock": "0.0.0.0/0",
        "NatGatewayId": {
          "Ref": "vpcPublicSubnet1NATGateway9C16659E"
        }
      },
      "Metadata": {
        "aws:cdk:path": "LabStack/vpc/PrivateSubnet1/DefaultRoute"
      }
    },
    "vpcPrivateSubnet2Subnet7031C2BA": {
      "Type": "AWS::EC2::Subnet",
      "Properties": {
        "CidrBlock": "10.0.192.0/18",
        "VpcId": {
          "Ref": "vpcA2121C38"
        },
        "AvailabilityZone": {
          "Fn::Select": [
            1,
            {
              "Fn::GetAZs": ""
            }
          ]
        },
        "MapPublicIpOnLaunch": false,
        "Tags": [
          {
            "Key": "aws-cdk:subnet-name",
            "Value": "Private"
          },
          {
            "Key": "aws-cdk:subnet-type",
            "Value": "Private"
          },
          {
            "Key": "Lab",
            "Value": "Yes"
          },
          {
            "Key": "Name",
            "Value": "LabStack/vpc/PrivateSubnet2"
          }
        ]
      },
      "Metadata": {
        "aws:cdk:path": "LabStack/vpc/PrivateSubnet2/Subnet"
      }
    },
    "vpcPrivateSubnet2RouteTable7280F23E": {
      "Type": "AWS::EC2::RouteTable",
      "Properties": {
        "VpcId": {
          "Ref": "vpcA2121C38"
        },
        "Tags": [
          {
            "Key": "Lab",
            "Value": "Yes"
          },
          {
            "Key": "Name",
            "Value": "LabStack/vpc/PrivateSubnet2"
          }
        ]
      },
      "Metadata": {
        "aws:cdk:path": "LabStack/vpc/PrivateSubnet2/RouteTable"
      }
    },
    "vpcPrivateSubnet2RouteTableAssociation007E94D3": {
      "Type": "AWS::EC2::SubnetRouteTableAssociation",
      "Properties": {
        "RouteTableId": {
          "Ref": "vpcPrivateSubnet2RouteTable7280F23E"
        },
        "SubnetId": {
          "Ref": "vpcPrivateSubnet2Subnet7031C2BA"
        }
      },
      "Metadata": {
        "aws:cdk:path": "LabStack/vpc/PrivateSubnet2/RouteTableAssociation"
      }
    },
    "vpcPrivateSubnet2DefaultRouteB0E07F99": {
      "Type": "AWS::EC2::Route",
      "Properties": {
        "RouteTableId": {
          "Ref": "vpcPrivateSubnet2RouteTable7280F23E"
        },
        "DestinationCidrBlock": "0.0.0.0/0",
        "NatGatewayId": {
          "Ref": "vpcPublicSubnet2NATGateway9B8AE11A"
        }
      },
      "Metadata": {
        "aws:cdk:path": "LabStack/vpc/PrivateSubnet2/DefaultRoute"
      }
    },
    "vpcIGWE57CBDCA": {
      "Type": "AWS::EC2::InternetGateway",
      "Properties": {
        "Tags": [
          {
            "Key": "Lab",
            "Value": "Yes"
          },
          {
            "Key": "Name",
            "Value": "LabStack/vpc"
          }
        ]
      },
      "Metadata": {
        "aws:cdk:path": "LabStack/vpc/IGW"
      }
    },
    "vpcVPCGW7984C166": {
      "Type": "AWS::EC2::VPCGatewayAttachment",
      "Properties": {
        "VpcId": {
          "Ref": "vpcA2121C38"
        },
        "InternetGatewayId": {
          "Ref": "vpcIGWE57CBDCA"
        }
      },
      "Metadata": {
        "aws:cdk:path": "LabStack/vpc/VPCGW"
      }
    },
    "sg29196201": {
      "Type": "AWS::EC2::SecurityGroup",
      "Properties": {
        "GroupDescription": "LabStack/sg",
        "GroupName": "SuperSecureSG",
        "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:22",
            "FromPort": 22,
            "IpProtocol": "tcp",
            "ToPort": 22
          }
        ],
        "Tags": [
          {
            "Key": "Lab",
            "Value": "Home"
          }
        ],
        "VpcId": {
          "Ref": "vpcA2121C38"
        }
      },
      "Metadata": {
        "aws:cdk:path": "LabStack/sg/Resource"
      }
    },
    "sqs1386CA46": {
      "Type": "AWS::SQS::Queue",
      "Properties": {
        "Tags": [
          {
            "Key": "Lab",
            "Value": "4"
          }
        ]
      },
      "Metadata": {
        "aws:cdk:path": "LabStack/sqs/Resource"
      }
    },
    "sns78FA588D": {
      "Type": "AWS::SNS::Topic",
      "Properties": {
        "Tags": [
          {
            "Key": "Lab",
            "Value": "4"
          }
        ]
      },
      "Metadata": {
        "aws:cdk:path": "LabStack/sns/Resource"
      }
    },
    "roleC7B7E775": {
      "Type": "AWS::IAM::Role",
      "Properties": {
        "AssumeRolePolicyDocument": {
          "Statement": [
            {
              "Action": "sts:AssumeRole",
              "Effect": "Allow",
              "Principal": {
                "Service": "sns.amazonaws.com"
              }
            }
          ],
          "Version": "2012-10-17"
        },
        "Tags": [
          {
            "Key": "Lab",
            "Value": "3"
          }
        ]
      },
      "Metadata": {
        "aws:cdk:path": "LabStack/role/Resource"
      }
    },
    "policyE16B4B70": {
      "Type": "AWS::IAM::Policy",
      "Properties": {
        "PolicyDocument": {
          "Statement": [
            {
              "Action": "*",
              "Effect": "Allow",
              "Resource": "*"
            }
          ],
          "Version": "2012-10-17"
        },
        "PolicyName": "policyE16B4B70",
        "Roles": [
          {
            "Ref": "roleC7B7E775"
          }
        ]
      },
      "Metadata": {
        "aws:cdk:path": "LabStack/policy/Resource"
      }
    },
    "secretmanagerE7F46652": {
      "Type": "AWS::SecretsManager::Secret",
      "Properties": {
        "GenerateSecretString": {},
        "Tags": [
          {
            "Key": "Lab",
            "Value": "Home"
          }
        ]
      },
      "Metadata": {
        "aws:cdk:path": "LabStack/secret-manager/Resource"
      }
    },
    "CloudTrailS310CD22F2": {
      "Type": "AWS::S3::Bucket",
      "Properties": {
        "Tags": [
          {
            "Key": "Lab",
            "Value": "Home"
          }
        ]
      },
      "UpdateReplacePolicy": "Retain",
      "DeletionPolicy": "Retain",
      "Metadata": {
        "aws:cdk:path": "LabStack/CloudTrail/S3/Resource"
      }
    },
    "CloudTrailS3PolicyEA49A03E": {
      "Type": "AWS::S3::BucketPolicy",
      "Properties": {
        "Bucket": {
          "Ref": "CloudTrailS310CD22F2"
        },
        "PolicyDocument": {
          "Statement": [
            {
              "Action": "s3:GetBucketAcl",
              "Effect": "Allow",
              "Principal": {
                "Service": "cloudtrail.amazonaws.com"
              },
              "Resource": {
                "Fn::GetAtt": [
                  "CloudTrailS310CD22F2",
                  "Arn"
                ]
              }
            },
            {
              "Action": "s3:PutObject",
              "Condition": {
                "StringEquals": {
                  "s3:x-amz-acl": "bucket-owner-full-control"
                }
              },
              "Effect": "Allow",
              "Principal": {
                "Service": "cloudtrail.amazonaws.com"
              },
              "Resource": {
                "Fn::Join": [
                  "",
                  [
                    {
                      "Fn::GetAtt": [
                        "CloudTrailS310CD22F2",
                        "Arn"
                      ]
                    },
                    "/AWSLogs/",
                    {
                      "Ref": "AWS::AccountId"
                    },
                    "/*"
                  ]
                ]
              }
            }
          ],
          "Version": "2012-10-17"
        }
      },
      "Metadata": {
        "aws:cdk:path": "LabStack/CloudTrail/S3/Policy/Resource"
      }
    },
    "CloudTrailA62D711D": {
      "Type": "AWS::CloudTrail::Trail",
      "Properties": {
        "IsLogging": true,
        "S3BucketName": {
          "Ref": "CloudTrailS310CD22F2"
        },
        "EnableLogFileValidation": true,
        "EventSelectors": [],
        "IncludeGlobalServiceEvents": false,
        "IsMultiRegionTrail": false,
        "Tags": [
          {
            "Key": "Lab",
            "Value": "Home"
          }
        ]
      },
      "DependsOn": [
        "CloudTrailS3PolicyEA49A03E"
      ],
      "Metadata": {
        "aws:cdk:path": "LabStack/CloudTrail/Resource"
      }
    }
  }
}