// Jest Snapshot v1, https://goo.gl/fbAQLP exports[`Snapshot test 1`] = ` Object { "Outputs": Object { "EcsClusterArn": Object { "Value": Object { "Fn::GetAtt": Array [ "ClusterEB0386A7", "Arn", ], }, }, "MasterServiceLoadBalancerDNSD23C49A7": Object { "Value": Object { "Fn::GetAtt": Array [ "MasterServiceLBA62FC209", "DNSName", ], }, }, "MasterServiceServiceURL66A06FCF": Object { "Value": Object { "Fn::Join": Array [ "", Array [ "http://", Object { "Fn::GetAtt": Array [ "MasterServiceLBA62FC209", "DNSName", ], }, ], ], }, }, "WorkerServiceName": Object { "Value": Object { "Fn::GetAtt": Array [ "WorkerService3F60922A", "Name", ], }, }, }, "Parameters": Object { "BootstrapVersion": Object { "Default": "/cdk-bootstrap/hnb659fds/version", "Description": "Version of the CDK Bootstrap resources in this environment, automatically retrieved from SSM Parameter Store. [cdk:skip]", "Type": "AWS::SSM::Parameter::Value", }, }, "Resources": Object { "ClusterDefaultServiceDiscoveryNamespaceC336F9B4": Object { "Properties": Object { "Name": "locust", "Vpc": Object { "Ref": "Vpc8378EB38", }, }, "Type": "AWS::ServiceDiscovery::PrivateDnsNamespace", }, "ClusterEB0386A7": Object { "Properties": Object { "ClusterSettings": Array [ Object { "Name": "containerInsights", "Value": "enabled", }, ], }, "Type": "AWS::ECS::Cluster", }, "CustomS3AutoDeleteObjectsCustomResourceProviderHandler9D90184F": Object { "DependsOn": Array [ "CustomS3AutoDeleteObjectsCustomResourceProviderRole3B1BD092", ], "Properties": Object { "Code": Object { "S3Bucket": Object { "Fn::Sub": "cdk-hnb659fds-assets-\${AWS::AccountId}-us-west-2", }, "S3Key": "e57c1acaa363d7d2b81736776007a7091bc73dff4aeb8135627c4511a51e7dca.zip", }, "Description": Object { "Fn::Join": Array [ "", Array [ "Lambda function for auto-deleting objects in ", Object { "Ref": "LogBucketCC3B17E8", }, " S3 bucket.", ], ], }, "Handler": "__entrypoint__.handler", "MemorySize": 128, "Role": Object { "Fn::GetAtt": Array [ "CustomS3AutoDeleteObjectsCustomResourceProviderRole3B1BD092", "Arn", ], }, "Runtime": "nodejs14.x", "Timeout": 900, }, "Type": "AWS::Lambda::Function", }, "CustomS3AutoDeleteObjectsCustomResourceProviderRole3B1BD092": Object { "Properties": Object { "AssumeRolePolicyDocument": Object { "Statement": Array [ Object { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": Object { "Service": "lambda.amazonaws.com", }, }, ], "Version": "2012-10-17", }, "ManagedPolicyArns": Array [ Object { "Fn::Sub": "arn:\${AWS::Partition}:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole", }, ], }, "Type": "AWS::IAM::Role", }, "LogBucketAutoDeleteObjectsCustomResource7762F42C": Object { "DeletionPolicy": "Delete", "DependsOn": Array [ "LogBucketPolicy900DBE48", ], "Properties": Object { "BucketName": Object { "Ref": "LogBucketCC3B17E8", }, "ServiceToken": Object { "Fn::GetAtt": Array [ "CustomS3AutoDeleteObjectsCustomResourceProviderHandler9D90184F", "Arn", ], }, }, "Type": "Custom::S3AutoDeleteObjects", "UpdateReplacePolicy": "Delete", }, "LogBucketCC3B17E8": Object { "DeletionPolicy": "Delete", "Properties": Object { "BucketEncryption": Object { "ServerSideEncryptionConfiguration": Array [ Object { "ServerSideEncryptionByDefault": Object { "SSEAlgorithm": "AES256", }, }, ], }, "PublicAccessBlockConfiguration": Object { "BlockPublicAcls": true, "BlockPublicPolicy": true, "IgnorePublicAcls": true, "RestrictPublicBuckets": true, }, "Tags": Array [ Object { "Key": "aws-cdk:auto-delete-objects", "Value": "true", }, ], }, "Type": "AWS::S3::Bucket", "UpdateReplacePolicy": "Delete", }, "LogBucketPolicy900DBE48": Object { "Properties": Object { "Bucket": Object { "Ref": "LogBucketCC3B17E8", }, "PolicyDocument": Object { "Statement": Array [ Object { "Action": Array [ "s3:GetBucket*", "s3:List*", "s3:DeleteObject*", ], "Effect": "Allow", "Principal": Object { "AWS": Object { "Fn::GetAtt": Array [ "CustomS3AutoDeleteObjectsCustomResourceProviderRole3B1BD092", "Arn", ], }, }, "Resource": Array [ Object { "Fn::GetAtt": Array [ "LogBucketCC3B17E8", "Arn", ], }, Object { "Fn::Join": Array [ "", Array [ Object { "Fn::GetAtt": Array [ "LogBucketCC3B17E8", "Arn", ], }, "/*", ], ], }, ], }, Object { "Action": Array [ "s3:PutObject", "s3:PutObjectLegalHold", "s3:PutObjectRetention", "s3:PutObjectTagging", "s3:PutObjectVersionTagging", "s3:Abort*", ], "Effect": "Allow", "Principal": Object { "AWS": Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":iam::797873946194:root", ], ], }, }, "Resource": Object { "Fn::Join": Array [ "", Array [ Object { "Fn::GetAtt": Array [ "LogBucketCC3B17E8", "Arn", ], }, "/locustAlbAccessLog/AWSLogs/", Object { "Ref": "AWS::AccountId", }, "/*", ], ], }, }, Object { "Action": "s3:PutObject", "Condition": Object { "StringEquals": Object { "s3:x-amz-acl": "bucket-owner-full-control", }, }, "Effect": "Allow", "Principal": Object { "Service": "delivery.logs.amazonaws.com", }, "Resource": Object { "Fn::Join": Array [ "", Array [ Object { "Fn::GetAtt": Array [ "LogBucketCC3B17E8", "Arn", ], }, "/locustAlbAccessLog/AWSLogs/", Object { "Ref": "AWS::AccountId", }, "/*", ], ], }, }, Object { "Action": "s3:GetBucketAcl", "Effect": "Allow", "Principal": Object { "Service": "delivery.logs.amazonaws.com", }, "Resource": Object { "Fn::GetAtt": Array [ "LogBucketCC3B17E8", "Arn", ], }, }, ], "Version": "2012-10-17", }, }, "Type": "AWS::S3::BucketPolicy", }, "MasterService71606C9C": Object { "DependsOn": Array [ "MasterServiceLBPublicListenerECSGroup2ADF8BD2", "MasterServiceLBPublicListener6927AEE3", ], "Properties": Object { "Cluster": Object { "Ref": "ClusterEB0386A7", }, "DeploymentConfiguration": Object { "DeploymentCircuitBreaker": Object { "Enable": true, "Rollback": true, }, "MaximumPercent": 200, "MinimumHealthyPercent": 50, }, "DeploymentController": Object { "Type": "ECS", }, "DesiredCount": 1, "EnableECSManagedTags": false, "HealthCheckGracePeriodSeconds": 20, "LaunchType": "FARGATE", "LoadBalancers": Array [ Object { "ContainerName": "locust", "ContainerPort": 8089, "TargetGroupArn": Object { "Ref": "MasterServiceLBPublicListenerECSGroup2ADF8BD2", }, }, ], "NetworkConfiguration": Object { "AwsvpcConfiguration": Object { "AssignPublicIp": "DISABLED", "SecurityGroups": Array [ Object { "Fn::GetAtt": Array [ "MasterServiceSecurityGroup15959E4E", "GroupId", ], }, ], "Subnets": Array [ Object { "Ref": "VpcPrivateSubnet1Subnet536B997A", }, Object { "Ref": "VpcPrivateSubnet2Subnet3788AAA1", }, ], }, }, "ServiceRegistries": Array [ Object { "RegistryArn": Object { "Fn::GetAtt": Array [ "MasterServiceCloudmapService131FE122", "Arn", ], }, }, ], "TaskDefinition": Object { "Ref": "MasterTaskDefinition1C9B90C0", }, }, "Type": "AWS::ECS::Service", }, "MasterServiceCloudmapService131FE122": Object { "Properties": Object { "DnsConfig": Object { "DnsRecords": Array [ Object { "TTL": 60, "Type": "A", }, ], "NamespaceId": Object { "Fn::GetAtt": Array [ "ClusterDefaultServiceDiscoveryNamespaceC336F9B4", "Id", ], }, "RoutingPolicy": "MULTIVALUE", }, "HealthCheckCustomConfig": Object { "FailureThreshold": 1, }, "Name": "master", "NamespaceId": Object { "Fn::GetAtt": Array [ "ClusterDefaultServiceDiscoveryNamespaceC336F9B4", "Id", ], }, }, "Type": "AWS::ServiceDiscovery::Service", }, "MasterServiceLBA62FC209": Object { "DependsOn": Array [ "LogBucketAutoDeleteObjectsCustomResource7762F42C", "LogBucketPolicy900DBE48", "LogBucketCC3B17E8", "VpcPublicSubnet1DefaultRoute3DA9E72A", "VpcPublicSubnet1RouteTableAssociation97140677", "VpcPublicSubnet2DefaultRoute97F91067", "VpcPublicSubnet2RouteTableAssociationDD5762D8", ], "Properties": Object { "LoadBalancerAttributes": Array [ Object { "Key": "deletion_protection.enabled", "Value": "false", }, Object { "Key": "access_logs.s3.enabled", "Value": "true", }, Object { "Key": "access_logs.s3.bucket", "Value": Object { "Ref": "LogBucketCC3B17E8", }, }, Object { "Key": "access_logs.s3.prefix", "Value": "locustAlbAccessLog", }, ], "Scheme": "internet-facing", "SecurityGroups": Array [ Object { "Fn::GetAtt": Array [ "MasterServiceLBSecurityGroupD08B195F", "GroupId", ], }, ], "Subnets": Array [ Object { "Ref": "VpcPublicSubnet1Subnet5C2D37C4", }, Object { "Ref": "VpcPublicSubnet2Subnet691E08A3", }, ], "Type": "application", }, "Type": "AWS::ElasticLoadBalancingV2::LoadBalancer", }, "MasterServiceLBPublicListener6927AEE3": Object { "DependsOn": Array [ "LogBucketAutoDeleteObjectsCustomResource7762F42C", "LogBucketPolicy900DBE48", "LogBucketCC3B17E8", ], "Properties": Object { "DefaultActions": Array [ Object { "TargetGroupArn": Object { "Ref": "MasterServiceLBPublicListenerECSGroup2ADF8BD2", }, "Type": "forward", }, ], "LoadBalancerArn": Object { "Ref": "MasterServiceLBA62FC209", }, "Port": 80, "Protocol": "HTTP", }, "Type": "AWS::ElasticLoadBalancingV2::Listener", }, "MasterServiceLBPublicListenerECSGroup2ADF8BD2": Object { "DependsOn": Array [ "LogBucketAutoDeleteObjectsCustomResource7762F42C", "LogBucketPolicy900DBE48", "LogBucketCC3B17E8", ], "Properties": Object { "HealthCheckIntervalSeconds": 15, "HealthyThresholdCount": 2, "Matcher": Object { "HttpCode": "200,401", }, "Port": 80, "Protocol": "HTTP", "TargetGroupAttributes": Array [ Object { "Key": "stickiness.enabled", "Value": "false", }, Object { "Key": "deregistration_delay.timeout_seconds", "Value": "10", }, ], "TargetType": "ip", "VpcId": Object { "Ref": "Vpc8378EB38", }, }, "Type": "AWS::ElasticLoadBalancingV2::TargetGroup", }, "MasterServiceLBSecurityGroupD08B195F": Object { "DependsOn": Array [ "LogBucketAutoDeleteObjectsCustomResource7762F42C", "LogBucketPolicy900DBE48", "LogBucketCC3B17E8", ], "Properties": Object { "GroupDescription": "Automatically created Security Group for ELB MyTestStackMasterServiceLBE4F14E5D", "SecurityGroupIngress": Array [ Object { "CidrIp": "0.0.0.0/0", "Description": "from 0.0.0.0/0:80", "FromPort": 80, "IpProtocol": "tcp", "ToPort": 80, }, ], "VpcId": Object { "Ref": "Vpc8378EB38", }, }, "Type": "AWS::EC2::SecurityGroup", }, "MasterServiceLBSecurityGrouptoMyTestStackMasterServiceSecurityGroupE67F99DB80899337C012": Object { "DependsOn": Array [ "LogBucketAutoDeleteObjectsCustomResource7762F42C", "LogBucketPolicy900DBE48", "LogBucketCC3B17E8", ], "Properties": Object { "Description": "Load balancer to target", "DestinationSecurityGroupId": Object { "Fn::GetAtt": Array [ "MasterServiceSecurityGroup15959E4E", "GroupId", ], }, "FromPort": 8089, "GroupId": Object { "Fn::GetAtt": Array [ "MasterServiceLBSecurityGroupD08B195F", "GroupId", ], }, "IpProtocol": "tcp", "ToPort": 8089, }, "Type": "AWS::EC2::SecurityGroupEgress", }, "MasterServiceSecurityGroup15959E4E": Object { "Properties": Object { "GroupDescription": "MyTestStack/Master/Service/Service/SecurityGroup", "SecurityGroupEgress": Array [ Object { "CidrIp": "0.0.0.0/0", "Description": "Allow all outbound traffic by default", "IpProtocol": "-1", }, ], "VpcId": Object { "Ref": "Vpc8378EB38", }, }, "Type": "AWS::EC2::SecurityGroup", }, "MasterServiceSecurityGroupfromMyTestStackMasterServiceLBSecurityGroupF151AF3D80891A97AF54": Object { "Properties": Object { "Description": "Load balancer to target", "FromPort": 8089, "GroupId": Object { "Fn::GetAtt": Array [ "MasterServiceSecurityGroup15959E4E", "GroupId", ], }, "IpProtocol": "tcp", "SourceSecurityGroupId": Object { "Fn::GetAtt": Array [ "MasterServiceLBSecurityGroupD08B195F", "GroupId", ], }, "ToPort": 8089, }, "Type": "AWS::EC2::SecurityGroupIngress", }, "MasterServiceSecurityGroupfromMyTestStackWorkerServiceSecurityGroup4859B45B55573987A617": Object { "Properties": Object { "Description": "from MyTestStackWorkerServiceSecurityGroup4859B45B:5557", "FromPort": 5557, "GroupId": Object { "Fn::GetAtt": Array [ "MasterServiceSecurityGroup15959E4E", "GroupId", ], }, "IpProtocol": "tcp", "SourceSecurityGroupId": Object { "Fn::GetAtt": Array [ "WorkerServiceSecurityGroup31B1E69F", "GroupId", ], }, "ToPort": 5557, }, "Type": "AWS::EC2::SecurityGroupIngress", }, "MasterTaskDefinition1C9B90C0": Object { "Properties": Object { "ContainerDefinitions": Array [ Object { "Command": Array [ "--master", ], "Essential": true, "Image": Object { "Fn::Sub": "\${AWS::AccountId}.dkr.ecr.us-west-2.\${AWS::URLSuffix}/cdk-hnb659fds-container-assets-\${AWS::AccountId}-us-west-2:a74a7c24e409fc89d6317c2ff4aa4c7e3a1d86f887c037ac797018cc1cff9b3a", }, "LogConfiguration": Object { "LogDriver": "awslogs", "Options": Object { "awslogs-group": Object { "Ref": "MasterTaskDefinitionlocustLogGroupC83D6DB3", }, "awslogs-region": "us-west-2", "awslogs-stream-prefix": "locust-master", }, }, "Name": "locust", "PortMappings": Array [ Object { "ContainerPort": 8089, "Protocol": "tcp", }, ], }, ], "Cpu": "1024", "ExecutionRoleArn": Object { "Fn::GetAtt": Array [ "MasterTaskDefinitionExecutionRoleB4264D23", "Arn", ], }, "Family": "MyTestStackMasterTaskDefinitionA981C48F", "Memory": "2048", "NetworkMode": "awsvpc", "RequiresCompatibilities": Array [ "FARGATE", ], "TaskRoleArn": Object { "Fn::GetAtt": Array [ "MasterTaskDefinitionTaskRole4D5064F8", "Arn", ], }, }, "Type": "AWS::ECS::TaskDefinition", }, "MasterTaskDefinitionExecutionRoleB4264D23": Object { "Properties": Object { "AssumeRolePolicyDocument": Object { "Statement": Array [ Object { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": Object { "Service": "ecs-tasks.amazonaws.com", }, }, ], "Version": "2012-10-17", }, }, "Type": "AWS::IAM::Role", }, "MasterTaskDefinitionExecutionRoleDefaultPolicyD32D6D8E": Object { "Properties": Object { "PolicyDocument": Object { "Statement": Array [ Object { "Action": Array [ "ecr:BatchCheckLayerAvailability", "ecr:GetDownloadUrlForLayer", "ecr:BatchGetImage", ], "Effect": "Allow", "Resource": Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":ecr:us-west-2:", Object { "Ref": "AWS::AccountId", }, ":repository/", Object { "Fn::Sub": "cdk-hnb659fds-container-assets-\${AWS::AccountId}-us-west-2", }, ], ], }, }, Object { "Action": "ecr:GetAuthorizationToken", "Effect": "Allow", "Resource": "*", }, Object { "Action": Array [ "logs:CreateLogStream", "logs:PutLogEvents", ], "Effect": "Allow", "Resource": Object { "Fn::GetAtt": Array [ "MasterTaskDefinitionlocustLogGroupC83D6DB3", "Arn", ], }, }, ], "Version": "2012-10-17", }, "PolicyName": "MasterTaskDefinitionExecutionRoleDefaultPolicyD32D6D8E", "Roles": Array [ Object { "Ref": "MasterTaskDefinitionExecutionRoleB4264D23", }, ], }, "Type": "AWS::IAM::Policy", }, "MasterTaskDefinitionTaskRole4D5064F8": Object { "Properties": Object { "AssumeRolePolicyDocument": Object { "Statement": Array [ Object { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": Object { "Service": "ecs-tasks.amazonaws.com", }, }, ], "Version": "2012-10-17", }, }, "Type": "AWS::IAM::Role", }, "MasterTaskDefinitionlocustLogGroupC83D6DB3": Object { "DeletionPolicy": "Retain", "Properties": Object { "RetentionInDays": 180, }, "Type": "AWS::Logs::LogGroup", "UpdateReplacePolicy": "Retain", }, "Vpc8378EB38": Object { "Properties": Object { "CidrBlock": "10.0.0.0/16", "EnableDnsHostnames": true, "EnableDnsSupport": true, "InstanceTenancy": "default", "Tags": Array [ Object { "Key": "Name", "Value": "MyTestStack/Vpc", }, ], }, "Type": "AWS::EC2::VPC", }, "VpcFlowLogS3FlowLogCC5B61E6": Object { "DependsOn": Array [ "LogBucketAutoDeleteObjectsCustomResource7762F42C", "LogBucketPolicy900DBE48", "LogBucketCC3B17E8", ], "Properties": Object { "LogDestination": Object { "Fn::Join": Array [ "", Array [ Object { "Fn::GetAtt": Array [ "LogBucketCC3B17E8", "Arn", ], }, "/vpcFlowLog", ], ], }, "LogDestinationType": "s3", "ResourceId": Object { "Ref": "Vpc8378EB38", }, "ResourceType": "VPC", "Tags": Array [ Object { "Key": "Name", "Value": "MyTestStack/Vpc", }, ], "TrafficType": "ALL", }, "Type": "AWS::EC2::FlowLog", }, "VpcIGWD7BA715C": Object { "Properties": Object { "Tags": Array [ Object { "Key": "Name", "Value": "MyTestStack/Vpc", }, ], }, "Type": "AWS::EC2::InternetGateway", }, "VpcPrivateSubnet1DefaultRouteBE02A9ED": Object { "Properties": Object { "DestinationCidrBlock": "0.0.0.0/0", "NatGatewayId": Object { "Ref": "VpcPublicSubnet1NATGateway4D7517AA", }, "RouteTableId": Object { "Ref": "VpcPrivateSubnet1RouteTableB2C5B500", }, }, "Type": "AWS::EC2::Route", }, "VpcPrivateSubnet1RouteTableAssociation70C59FA6": Object { "Properties": Object { "RouteTableId": Object { "Ref": "VpcPrivateSubnet1RouteTableB2C5B500", }, "SubnetId": Object { "Ref": "VpcPrivateSubnet1Subnet536B997A", }, }, "Type": "AWS::EC2::SubnetRouteTableAssociation", }, "VpcPrivateSubnet1RouteTableB2C5B500": Object { "Properties": Object { "Tags": Array [ Object { "Key": "Name", "Value": "MyTestStack/Vpc/PrivateSubnet1", }, ], "VpcId": Object { "Ref": "Vpc8378EB38", }, }, "Type": "AWS::EC2::RouteTable", }, "VpcPrivateSubnet1Subnet536B997A": Object { "Properties": Object { "AvailabilityZone": Object { "Fn::Select": Array [ 0, Object { "Fn::GetAZs": "", }, ], }, "CidrBlock": "10.0.128.0/18", "MapPublicIpOnLaunch": false, "Tags": Array [ Object { "Key": "aws-cdk:subnet-name", "Value": "Private", }, Object { "Key": "aws-cdk:subnet-type", "Value": "Private", }, Object { "Key": "Name", "Value": "MyTestStack/Vpc/PrivateSubnet1", }, ], "VpcId": Object { "Ref": "Vpc8378EB38", }, }, "Type": "AWS::EC2::Subnet", }, "VpcPrivateSubnet2DefaultRoute060D2087": Object { "Properties": Object { "DestinationCidrBlock": "0.0.0.0/0", "NatGatewayId": Object { "Ref": "VpcPublicSubnet1NATGateway4D7517AA", }, "RouteTableId": Object { "Ref": "VpcPrivateSubnet2RouteTableA678073B", }, }, "Type": "AWS::EC2::Route", }, "VpcPrivateSubnet2RouteTableA678073B": Object { "Properties": Object { "Tags": Array [ Object { "Key": "Name", "Value": "MyTestStack/Vpc/PrivateSubnet2", }, ], "VpcId": Object { "Ref": "Vpc8378EB38", }, }, "Type": "AWS::EC2::RouteTable", }, "VpcPrivateSubnet2RouteTableAssociationA89CAD56": Object { "Properties": Object { "RouteTableId": Object { "Ref": "VpcPrivateSubnet2RouteTableA678073B", }, "SubnetId": Object { "Ref": "VpcPrivateSubnet2Subnet3788AAA1", }, }, "Type": "AWS::EC2::SubnetRouteTableAssociation", }, "VpcPrivateSubnet2Subnet3788AAA1": Object { "Properties": Object { "AvailabilityZone": Object { "Fn::Select": Array [ 1, Object { "Fn::GetAZs": "", }, ], }, "CidrBlock": "10.0.192.0/18", "MapPublicIpOnLaunch": false, "Tags": Array [ Object { "Key": "aws-cdk:subnet-name", "Value": "Private", }, Object { "Key": "aws-cdk:subnet-type", "Value": "Private", }, Object { "Key": "Name", "Value": "MyTestStack/Vpc/PrivateSubnet2", }, ], "VpcId": Object { "Ref": "Vpc8378EB38", }, }, "Type": "AWS::EC2::Subnet", }, "VpcPublicSubnet1DefaultRoute3DA9E72A": Object { "DependsOn": Array [ "VpcVPCGWBF912B6E", ], "Properties": Object { "DestinationCidrBlock": "0.0.0.0/0", "GatewayId": Object { "Ref": "VpcIGWD7BA715C", }, "RouteTableId": Object { "Ref": "VpcPublicSubnet1RouteTable6C95E38E", }, }, "Type": "AWS::EC2::Route", }, "VpcPublicSubnet1EIPD7E02669": Object { "Properties": Object { "Domain": "vpc", "Tags": Array [ Object { "Key": "Name", "Value": "MyTestStack/Vpc/PublicSubnet1", }, ], }, "Type": "AWS::EC2::EIP", }, "VpcPublicSubnet1NATGateway4D7517AA": Object { "DependsOn": Array [ "VpcPublicSubnet1DefaultRoute3DA9E72A", "VpcPublicSubnet1RouteTableAssociation97140677", ], "Properties": Object { "AllocationId": Object { "Fn::GetAtt": Array [ "VpcPublicSubnet1EIPD7E02669", "AllocationId", ], }, "SubnetId": Object { "Ref": "VpcPublicSubnet1Subnet5C2D37C4", }, "Tags": Array [ Object { "Key": "Name", "Value": "MyTestStack/Vpc/PublicSubnet1", }, ], }, "Type": "AWS::EC2::NatGateway", }, "VpcPublicSubnet1RouteTable6C95E38E": Object { "Properties": Object { "Tags": Array [ Object { "Key": "Name", "Value": "MyTestStack/Vpc/PublicSubnet1", }, ], "VpcId": Object { "Ref": "Vpc8378EB38", }, }, "Type": "AWS::EC2::RouteTable", }, "VpcPublicSubnet1RouteTableAssociation97140677": Object { "Properties": Object { "RouteTableId": Object { "Ref": "VpcPublicSubnet1RouteTable6C95E38E", }, "SubnetId": Object { "Ref": "VpcPublicSubnet1Subnet5C2D37C4", }, }, "Type": "AWS::EC2::SubnetRouteTableAssociation", }, "VpcPublicSubnet1Subnet5C2D37C4": Object { "Properties": Object { "AvailabilityZone": Object { "Fn::Select": Array [ 0, Object { "Fn::GetAZs": "", }, ], }, "CidrBlock": "10.0.0.0/18", "MapPublicIpOnLaunch": true, "Tags": Array [ Object { "Key": "aws-cdk:subnet-name", "Value": "Public", }, Object { "Key": "aws-cdk:subnet-type", "Value": "Public", }, Object { "Key": "Name", "Value": "MyTestStack/Vpc/PublicSubnet1", }, ], "VpcId": Object { "Ref": "Vpc8378EB38", }, }, "Type": "AWS::EC2::Subnet", }, "VpcPublicSubnet2DefaultRoute97F91067": Object { "DependsOn": Array [ "VpcVPCGWBF912B6E", ], "Properties": Object { "DestinationCidrBlock": "0.0.0.0/0", "GatewayId": Object { "Ref": "VpcIGWD7BA715C", }, "RouteTableId": Object { "Ref": "VpcPublicSubnet2RouteTable94F7E489", }, }, "Type": "AWS::EC2::Route", }, "VpcPublicSubnet2RouteTable94F7E489": Object { "Properties": Object { "Tags": Array [ Object { "Key": "Name", "Value": "MyTestStack/Vpc/PublicSubnet2", }, ], "VpcId": Object { "Ref": "Vpc8378EB38", }, }, "Type": "AWS::EC2::RouteTable", }, "VpcPublicSubnet2RouteTableAssociationDD5762D8": Object { "Properties": Object { "RouteTableId": Object { "Ref": "VpcPublicSubnet2RouteTable94F7E489", }, "SubnetId": Object { "Ref": "VpcPublicSubnet2Subnet691E08A3", }, }, "Type": "AWS::EC2::SubnetRouteTableAssociation", }, "VpcPublicSubnet2Subnet691E08A3": Object { "Properties": Object { "AvailabilityZone": Object { "Fn::Select": Array [ 1, Object { "Fn::GetAZs": "", }, ], }, "CidrBlock": "10.0.64.0/18", "MapPublicIpOnLaunch": true, "Tags": Array [ Object { "Key": "aws-cdk:subnet-name", "Value": "Public", }, Object { "Key": "aws-cdk:subnet-type", "Value": "Public", }, Object { "Key": "Name", "Value": "MyTestStack/Vpc/PublicSubnet2", }, ], "VpcId": Object { "Ref": "Vpc8378EB38", }, }, "Type": "AWS::EC2::Subnet", }, "VpcVPCGWBF912B6E": Object { "Properties": Object { "InternetGatewayId": Object { "Ref": "VpcIGWD7BA715C", }, "VpcId": Object { "Ref": "Vpc8378EB38", }, }, "Type": "AWS::EC2::VPCGatewayAttachment", }, "WorkerService3F60922A": Object { "Properties": Object { "CapacityProviderStrategy": Array [ Object { "CapacityProvider": "FARGATE_SPOT", "Weight": 1, }, Object { "CapacityProvider": "FARGATE", "Weight": 0, }, ], "Cluster": Object { "Ref": "ClusterEB0386A7", }, "DeploymentConfiguration": Object { "MaximumPercent": 200, "MinimumHealthyPercent": 0, }, "EnableECSManagedTags": false, "NetworkConfiguration": Object { "AwsvpcConfiguration": Object { "AssignPublicIp": "DISABLED", "SecurityGroups": Array [ Object { "Fn::GetAtt": Array [ "WorkerServiceSecurityGroup31B1E69F", "GroupId", ], }, ], "Subnets": Array [ Object { "Ref": "VpcPrivateSubnet1Subnet536B997A", }, Object { "Ref": "VpcPrivateSubnet2Subnet3788AAA1", }, ], }, }, "TaskDefinition": Object { "Ref": "WorkerTaskDefinitionC7EEADA6", }, }, "Type": "AWS::ECS::Service", }, "WorkerServiceSecurityGroup31B1E69F": Object { "Properties": Object { "GroupDescription": "MyTestStack/Worker/Service/SecurityGroup", "SecurityGroupEgress": Array [ Object { "CidrIp": "0.0.0.0/0", "Description": "Allow all outbound traffic by default", "IpProtocol": "-1", }, ], "VpcId": Object { "Ref": "Vpc8378EB38", }, }, "Type": "AWS::EC2::SecurityGroup", }, "WorkerTaskDefinitionC7EEADA6": Object { "Properties": Object { "ContainerDefinitions": Array [ Object { "Command": Array [ "--worker", "--master-host", "master.locust", ], "Essential": true, "Image": Object { "Fn::Sub": "\${AWS::AccountId}.dkr.ecr.us-west-2.\${AWS::URLSuffix}/cdk-hnb659fds-container-assets-\${AWS::AccountId}-us-west-2:a74a7c24e409fc89d6317c2ff4aa4c7e3a1d86f887c037ac797018cc1cff9b3a", }, "LogConfiguration": Object { "LogDriver": "awslogs", "Options": Object { "awslogs-group": Object { "Ref": "WorkerTaskDefinitionlocustLogGroup0EA81668", }, "awslogs-region": "us-west-2", "awslogs-stream-prefix": "locust-worker", }, }, "Name": "locust", "Ulimits": Array [ Object { "HardLimit": 10000, "Name": "nofile", "SoftLimit": 10000, }, ], }, ], "Cpu": "1024", "ExecutionRoleArn": Object { "Fn::GetAtt": Array [ "WorkerTaskDefinitionExecutionRole04BD42F4", "Arn", ], }, "Family": "MyTestStackWorkerTaskDefinition957E58DF", "Memory": "2048", "NetworkMode": "awsvpc", "RequiresCompatibilities": Array [ "FARGATE", ], "TaskRoleArn": Object { "Fn::GetAtt": Array [ "WorkerTaskDefinitionTaskRoleDCDA51F5", "Arn", ], }, }, "Type": "AWS::ECS::TaskDefinition", }, "WorkerTaskDefinitionExecutionRole04BD42F4": Object { "Properties": Object { "AssumeRolePolicyDocument": Object { "Statement": Array [ Object { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": Object { "Service": "ecs-tasks.amazonaws.com", }, }, ], "Version": "2012-10-17", }, }, "Type": "AWS::IAM::Role", }, "WorkerTaskDefinitionExecutionRoleDefaultPolicy32BEDE20": Object { "Properties": Object { "PolicyDocument": Object { "Statement": Array [ Object { "Action": Array [ "ecr:BatchCheckLayerAvailability", "ecr:GetDownloadUrlForLayer", "ecr:BatchGetImage", ], "Effect": "Allow", "Resource": Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":ecr:us-west-2:", Object { "Ref": "AWS::AccountId", }, ":repository/", Object { "Fn::Sub": "cdk-hnb659fds-container-assets-\${AWS::AccountId}-us-west-2", }, ], ], }, }, Object { "Action": "ecr:GetAuthorizationToken", "Effect": "Allow", "Resource": "*", }, Object { "Action": Array [ "logs:CreateLogStream", "logs:PutLogEvents", ], "Effect": "Allow", "Resource": Object { "Fn::GetAtt": Array [ "WorkerTaskDefinitionlocustLogGroup0EA81668", "Arn", ], }, }, ], "Version": "2012-10-17", }, "PolicyName": "WorkerTaskDefinitionExecutionRoleDefaultPolicy32BEDE20", "Roles": Array [ Object { "Ref": "WorkerTaskDefinitionExecutionRole04BD42F4", }, ], }, "Type": "AWS::IAM::Policy", }, "WorkerTaskDefinitionTaskRoleDCDA51F5": Object { "Properties": Object { "AssumeRolePolicyDocument": Object { "Statement": Array [ Object { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": Object { "Service": "ecs-tasks.amazonaws.com", }, }, ], "Version": "2012-10-17", }, }, "Type": "AWS::IAM::Role", }, "WorkerTaskDefinitionlocustLogGroup0EA81668": Object { "DeletionPolicy": "Retain", "Properties": Object { "RetentionInDays": 180, }, "Type": "AWS::Logs::LogGroup", "UpdateReplacePolicy": "Retain", }, }, "Rules": Object { "CheckBootstrapVersion": Object { "Assertions": Array [ Object { "Assert": Object { "Fn::Not": Array [ Object { "Fn::Contains": Array [ Array [ "1", "2", "3", "4", "5", ], Object { "Ref": "BootstrapVersion", }, ], }, ], }, "AssertDescription": "CDK bootstrap stack version 6 required. Please run 'cdk bootstrap' with a recent version of the CDK CLI.", }, ], }, }, } `;