diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-ec2/test/integ.vpc-endpoint.lit.js.snapshot/aws-cdk-ec2-vpc-endpoint.assets.json b/packages/@aws-cdk-testing/framework-integ/test/aws-ec2/test/integ.vpc-endpoint.lit.js.snapshot/aws-cdk-ec2-vpc-endpoint.assets.json index d57e58b21e0dd..2b07dbb289de7 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-ec2/test/integ.vpc-endpoint.lit.js.snapshot/aws-cdk-ec2-vpc-endpoint.assets.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-ec2/test/integ.vpc-endpoint.lit.js.snapshot/aws-cdk-ec2-vpc-endpoint.assets.json @@ -1,17 +1,18 @@ { - "version": "45.0.0", + "version": "48.0.0", "files": { - "fba77ce7666353e1a9ff62a7331cd4e25544aed711bffe3475e34a6411572bd5": { + "a56e902e51d10aaeb38279fdd6b4312c0077fc00f68ed9e1665f9e8e442fdae0": { "displayName": "aws-cdk-ec2-vpc-endpoint Template", "source": { "path": "aws-cdk-ec2-vpc-endpoint.template.json", "packaging": "file" }, "destinations": { - "current_account-current_region-0aea0a8c": { - "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", - "objectKey": "fba77ce7666353e1a9ff62a7331cd4e25544aed711bffe3475e34a6411572bd5.json", - "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + "current_account-us-west-2-09f2591a": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-us-west-2", + "objectKey": "a56e902e51d10aaeb38279fdd6b4312c0077fc00f68ed9e1665f9e8e442fdae0.json", + "region": "us-west-2", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-us-west-2" } } } diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-ec2/test/integ.vpc-endpoint.lit.js.snapshot/aws-cdk-ec2-vpc-endpoint.template.json b/packages/@aws-cdk-testing/framework-integ/test/aws-ec2/test/integ.vpc-endpoint.lit.js.snapshot/aws-cdk-ec2-vpc-endpoint.template.json index f51d58506cd71..fe98dfc3cdb44 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-ec2/test/integ.vpc-endpoint.lit.js.snapshot/aws-cdk-ec2-vpc-endpoint.template.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-ec2/test/integ.vpc-endpoint.lit.js.snapshot/aws-cdk-ec2-vpc-endpoint.template.json @@ -551,18 +551,7 @@ ] } ], - "ServiceName": { - "Fn::Join": [ - "", - [ - "com.amazonaws.", - { - "Ref": "AWS::Region" - }, - ".ecr.dkr" - ] - ] - }, + "ServiceName": "com.amazonaws.us-west-2.ecr.dkr", "SubnetIds": [ { "Ref": "MyVpcPrivateSubnet1Subnet5057CF7E" @@ -645,18 +634,7 @@ ] } ], - "ServiceName": { - "Fn::Join": [ - "", - [ - "com.amazonaws.", - { - "Ref": "AWS::Region" - }, - ".dynamodb" - ] - ] - }, + "ServiceName": "com.amazonaws.us-west-2.dynamodb", "SubnetIds": [ { "Ref": "MyVpcPrivateSubnet1Subnet5057CF7E" @@ -677,10 +655,10 @@ } } }, - "MyVpcCloudwatchLogsEndpointSecurityGroup4A3B5DFB": { + "MyVpcSESEndpointSecurityGroup06F927CE": { "Type": "AWS::EC2::SecurityGroup", "Properties": { - "GroupDescription": "aws-cdk-ec2-vpc-endpoint/MyVpc/CloudwatchLogsEndpoint/SecurityGroup", + "GroupDescription": "aws-cdk-ec2-vpc-endpoint/MyVpc/SESEndpoint/SecurityGroup", "SecurityGroupEgress": [ { "CidrIp": "0.0.0.0/0", @@ -707,13 +685,13 @@ "CidrBlock" ] }, - ":443" + ":587" ] ] }, - "FromPort": 443, + "FromPort": 587, "IpProtocol": "tcp", - "ToPort": 443 + "ToPort": 587 } ], "Tags": [ @@ -727,34 +705,19 @@ } } }, - "MyVpcCloudwatchLogsEndpointB1C11ADC": { + "MyVpcSESEndpointA308E10A": { "Type": "AWS::EC2::VPCEndpoint", "Properties": { - "DnsOptions": { - "DnsRecordIpType": "ipv4" - }, - "IpAddressType": "ipv4", "PrivateDnsEnabled": true, "SecurityGroupIds": [ { "Fn::GetAtt": [ - "MyVpcCloudwatchLogsEndpointSecurityGroup4A3B5DFB", + "MyVpcSESEndpointSecurityGroup06F927CE", "GroupId" ] } ], - "ServiceName": { - "Fn::Join": [ - "", - [ - "com.amazonaws.", - { - "Ref": "AWS::Region" - }, - ".logs" - ] - ] - }, + "ServiceName": "com.amazonaws.us-west-2.email-smtp", "SubnetIds": [ { "Ref": "MyVpcPrivateSubnet1Subnet5057CF7E" @@ -775,10 +738,10 @@ } } }, - "MyVpcCrossRegionEndpointSecurityGroup371BDCEC": { + "MyVpcCloudwatchLogsEndpointSecurityGroup4A3B5DFB": { "Type": "AWS::EC2::SecurityGroup", "Properties": { - "GroupDescription": "aws-cdk-ec2-vpc-endpoint/MyVpc/CrossRegionEndpoint/SecurityGroup", + "GroupDescription": "aws-cdk-ec2-vpc-endpoint/MyVpc/CloudwatchLogsEndpoint/SecurityGroup", "SecurityGroupEgress": [ { "CidrIp": "0.0.0.0/0", @@ -825,20 +788,23 @@ } } }, - "MyVpcCrossRegionEndpoint9A9ABB87": { + "MyVpcCloudwatchLogsEndpointB1C11ADC": { "Type": "AWS::EC2::VPCEndpoint", "Properties": { - "PrivateDnsEnabled": false, + "DnsOptions": { + "DnsRecordIpType": "ipv4" + }, + "IpAddressType": "ipv4", + "PrivateDnsEnabled": true, "SecurityGroupIds": [ { "Fn::GetAtt": [ - "MyVpcCrossRegionEndpointSecurityGroup371BDCEC", + "MyVpcCloudwatchLogsEndpointSecurityGroup4A3B5DFB", "GroupId" ] } ], - "ServiceName": "com.amazonaws.vpce.us-east-1.vpce-svc-123456", - "ServiceRegion": "us-east-1", + "ServiceName": "com.amazonaws.us-west-2.logs", "SubnetIds": [ { "Ref": "MyVpcPrivateSubnet1Subnet5057CF7E" diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-ec2/test/integ.vpc-endpoint.lit.js.snapshot/cdk.out b/packages/@aws-cdk-testing/framework-integ/test/aws-ec2/test/integ.vpc-endpoint.lit.js.snapshot/cdk.out index 3704a1b682acf..523a9aac37cbf 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-ec2/test/integ.vpc-endpoint.lit.js.snapshot/cdk.out +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-ec2/test/integ.vpc-endpoint.lit.js.snapshot/cdk.out @@ -1 +1 @@ -{"version":"45.0.0"} \ No newline at end of file +{"version":"48.0.0"} \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-ec2/test/integ.vpc-endpoint.lit.js.snapshot/integ.json b/packages/@aws-cdk-testing/framework-integ/test/aws-ec2/test/integ.vpc-endpoint.lit.js.snapshot/integ.json index dd197a9ccabaa..324a09ca00588 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-ec2/test/integ.vpc-endpoint.lit.js.snapshot/integ.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-ec2/test/integ.vpc-endpoint.lit.js.snapshot/integ.json @@ -1,5 +1,5 @@ { - "version": "45.0.0", + "version": "48.0.0", "testCases": { "integ.vpc-endpoint.lit": { "stacks": [ @@ -11,5 +11,5 @@ }, "synthContext": {}, "enableLookups": false, - "minimumCliVersion": "2.1020.2" + "minimumCliVersion": "2.1027.0" } \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-ec2/test/integ.vpc-endpoint.lit.js.snapshot/manifest.json b/packages/@aws-cdk-testing/framework-integ/test/aws-ec2/test/integ.vpc-endpoint.lit.js.snapshot/manifest.json index 382b6f2c4bbe1..af6793f7c83a6 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-ec2/test/integ.vpc-endpoint.lit.js.snapshot/manifest.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-ec2/test/integ.vpc-endpoint.lit.js.snapshot/manifest.json @@ -1,5 +1,5 @@ { - "version": "45.0.0", + "version": "48.0.0", "artifacts": { "aws-cdk-ec2-vpc-endpoint.assets": { "type": "cdk:asset-manifest", @@ -11,21 +11,21 @@ }, "aws-cdk-ec2-vpc-endpoint": { "type": "aws:cloudformation:stack", - "environment": "aws://unknown-account/unknown-region", + "environment": "aws://unknown-account/us-west-2", "properties": { "templateFile": "aws-cdk-ec2-vpc-endpoint.template.json", "terminationProtection": false, "validateOnSynth": false, - "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-deploy-role-${AWS::AccountId}-${AWS::Region}", - "cloudFormationExecutionRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-cfn-exec-role-${AWS::AccountId}-${AWS::Region}", - "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/fba77ce7666353e1a9ff62a7331cd4e25544aed711bffe3475e34a6411572bd5.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-deploy-role-${AWS::AccountId}-us-west-2", + "cloudFormationExecutionRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-cfn-exec-role-${AWS::AccountId}-us-west-2", + "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-us-west-2/a56e902e51d10aaeb38279fdd6b4312c0077fc00f68ed9e1665f9e8e442fdae0.json", "requiresBootstrapStackVersion": 6, "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version", "additionalDependencies": [ "aws-cdk-ec2-vpc-endpoint.assets" ], "lookupRole": { - "arn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-lookup-role-${AWS::AccountId}-${AWS::Region}", + "arn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-lookup-role-${AWS::AccountId}-us-west-2", "requiresBootstrapStackVersion": 8, "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version" } @@ -387,7 +387,10 @@ "/aws-cdk-ec2-vpc-endpoint/MyVpc/EcrDockerEndpoint/Resource": [ { "type": "aws:cdk:logicalId", - "data": "MyVpcEcrDockerEndpoint0385050C" + "data": "MyVpcEcrDockerEndpoint0385050C", + "trace": [ + "!!DESTRUCTIVE_CHANGES: WILL_REPLACE" + ] } ], "/aws-cdk-ec2-vpc-endpoint/MyVpc/DynamoDbInterfaceEndpoint": [ @@ -436,10 +439,13 @@ "/aws-cdk-ec2-vpc-endpoint/MyVpc/DynamoDbInterfaceEndpoint/Resource": [ { "type": "aws:cdk:logicalId", - "data": "MyVpcDynamoDbInterfaceEndpointA97B3149" + "data": "MyVpcDynamoDbInterfaceEndpointA97B3149", + "trace": [ + "!!DESTRUCTIVE_CHANGES: WILL_REPLACE" + ] } ], - "/aws-cdk-ec2-vpc-endpoint/MyVpc/CloudwatchLogsEndpoint": [ + "/aws-cdk-ec2-vpc-endpoint/MyVpc/SESEndpoint": [ { "type": "aws:cdk:analytics:construct", "data": { @@ -448,13 +454,11 @@ "privateDnsDefault": true, "name": "*", "port": "*" - }, - "ipAddressType": "ipv4", - "dnsRecordIpType": "ipv4" + } } } ], - "/aws-cdk-ec2-vpc-endpoint/MyVpc/CloudwatchLogsEndpoint/SecurityGroup": [ + "/aws-cdk-ec2-vpc-endpoint/MyVpc/SESEndpoint/SecurityGroup": [ { "type": "aws:cdk:analytics:construct", "data": { @@ -477,32 +481,34 @@ } } ], - "/aws-cdk-ec2-vpc-endpoint/MyVpc/CloudwatchLogsEndpoint/SecurityGroup/Resource": [ + "/aws-cdk-ec2-vpc-endpoint/MyVpc/SESEndpoint/SecurityGroup/Resource": [ { "type": "aws:cdk:logicalId", - "data": "MyVpcCloudwatchLogsEndpointSecurityGroup4A3B5DFB" + "data": "MyVpcSESEndpointSecurityGroup06F927CE" } ], - "/aws-cdk-ec2-vpc-endpoint/MyVpc/CloudwatchLogsEndpoint/Resource": [ + "/aws-cdk-ec2-vpc-endpoint/MyVpc/SESEndpoint/Resource": [ { "type": "aws:cdk:logicalId", - "data": "MyVpcCloudwatchLogsEndpointB1C11ADC" + "data": "MyVpcSESEndpointA308E10A" } ], - "/aws-cdk-ec2-vpc-endpoint/MyVpc/CrossRegionEndpoint": [ + "/aws-cdk-ec2-vpc-endpoint/MyVpc/CloudwatchLogsEndpoint": [ { "type": "aws:cdk:analytics:construct", "data": { "vpc": "*", "service": { - "privateDnsDefault": false, + "privateDnsDefault": true, "name": "*", "port": "*" - } + }, + "ipAddressType": "ipv4", + "dnsRecordIpType": "ipv4" } } ], - "/aws-cdk-ec2-vpc-endpoint/MyVpc/CrossRegionEndpoint/SecurityGroup": [ + "/aws-cdk-ec2-vpc-endpoint/MyVpc/CloudwatchLogsEndpoint/SecurityGroup": [ { "type": "aws:cdk:analytics:construct", "data": { @@ -525,16 +531,19 @@ } } ], - "/aws-cdk-ec2-vpc-endpoint/MyVpc/CrossRegionEndpoint/SecurityGroup/Resource": [ + "/aws-cdk-ec2-vpc-endpoint/MyVpc/CloudwatchLogsEndpoint/SecurityGroup/Resource": [ { "type": "aws:cdk:logicalId", - "data": "MyVpcCrossRegionEndpointSecurityGroup371BDCEC" + "data": "MyVpcCloudwatchLogsEndpointSecurityGroup4A3B5DFB" } ], - "/aws-cdk-ec2-vpc-endpoint/MyVpc/CrossRegionEndpoint/Resource": [ + "/aws-cdk-ec2-vpc-endpoint/MyVpc/CloudwatchLogsEndpoint/Resource": [ { "type": "aws:cdk:logicalId", - "data": "MyVpcCrossRegionEndpoint9A9ABB87" + "data": "MyVpcCloudwatchLogsEndpointB1C11ADC", + "trace": [ + "!!DESTRUCTIVE_CHANGES: WILL_REPLACE" + ] } ], "/aws-cdk-ec2-vpc-endpoint/BootstrapVersion": [ @@ -548,6 +557,24 @@ "type": "aws:cdk:logicalId", "data": "CheckBootstrapVersion" } + ], + "MyVpcCrossRegionEndpointSecurityGroup371BDCEC": [ + { + "type": "aws:cdk:logicalId", + "data": "MyVpcCrossRegionEndpointSecurityGroup371BDCEC", + "trace": [ + "!!DESTRUCTIVE_CHANGES: WILL_DESTROY" + ] + } + ], + "MyVpcCrossRegionEndpoint9A9ABB87": [ + { + "type": "aws:cdk:logicalId", + "data": "MyVpcCrossRegionEndpoint9A9ABB87", + "trace": [ + "!!DESTRUCTIVE_CHANGES: WILL_DESTROY" + ] + } ] }, "displayName": "aws-cdk-ec2-vpc-endpoint" @@ -563,57 +590,48 @@ "properties": { "module": "aws-cdk-lib", "flags": { - "@aws-cdk/core:enableStackNameDuplicates": { - "recommendedValue": true, - "explanation": "Allow multiple stacks with the same name" - }, - "aws-cdk:enableDiffNoFail": { + "@aws-cdk/aws-signer:signingProfileNamePassedToCfn": { "recommendedValue": true, - "explanation": "Make `cdk diff` not fail when there are differences" + "explanation": "Pass signingProfileName to CfnSigningProfile" }, "@aws-cdk/core:newStyleStackSynthesis": { "recommendedValue": true, - "explanation": "Switch to new stack synthesis method which enables CI/CD" + "explanation": "Switch to new stack synthesis method which enables CI/CD", + "unconfiguredBehavesLike": { + "v2": true + } }, "@aws-cdk/core:stackRelativeExports": { "recommendedValue": true, - "explanation": "Name exports based on the construct paths relative to the stack, rather than the global construct path" - }, - "@aws-cdk/aws-ecr-assets:dockerIgnoreSupport": { - "recommendedValue": true, - "explanation": "DockerImageAsset properly supports `.dockerignore` files by default" - }, - "@aws-cdk/aws-secretsmanager:parseOwnedSecretName": { - "recommendedValue": true, - "explanation": "Fix the referencing of SecretsManager names from ARNs" - }, - "@aws-cdk/aws-kms:defaultKeyPolicies": { - "recommendedValue": true, - "explanation": "Tighten default KMS key policies" - }, - "@aws-cdk/aws-s3:grantWriteWithoutAcl": { - "recommendedValue": true, - "explanation": "Remove `PutObjectAcl` from Bucket.grantWrite" + "explanation": "Name exports based on the construct paths relative to the stack, rather than the global construct path", + "unconfiguredBehavesLike": { + "v2": true + } }, - "@aws-cdk/aws-ecs-patterns:removeDefaultDesiredCount": { + "@aws-cdk/aws-ecs-patterns:secGroupsDisablesImplicitOpenListener": { "recommendedValue": true, - "explanation": "Do not specify a default DesiredCount for ECS services" + "explanation": "Disable implicit openListener when custom security groups are provided" }, "@aws-cdk/aws-rds:lowercaseDbIdentifier": { "recommendedValue": true, - "explanation": "Force lowercasing of RDS Cluster names in CDK" + "explanation": "Force lowercasing of RDS Cluster names in CDK", + "unconfiguredBehavesLike": { + "v2": true + } }, "@aws-cdk/aws-apigateway:usagePlanKeyOrderInsensitiveId": { "recommendedValue": true, - "explanation": "Allow adding/removing multiple UsagePlanKeys independently" - }, - "@aws-cdk/aws-efs:defaultEncryptionAtRest": { - "recommendedValue": true, - "explanation": "Enable this feature flag to have elastic file systems encrypted at rest by default." + "explanation": "Allow adding/removing multiple UsagePlanKeys independently", + "unconfiguredBehavesLike": { + "v2": true + } }, "@aws-cdk/aws-lambda:recognizeVersionProps": { "recommendedValue": true, - "explanation": "Enable this feature flag to opt in to the updated logical id calculation for Lambda Version created using the `fn.currentVersion`." + "explanation": "Enable this feature flag to opt in to the updated logical id calculation for Lambda Version created using the `fn.currentVersion`.", + "unconfiguredBehavesLike": { + "v2": true + } }, "@aws-cdk/aws-lambda:recognizeLayerVersion": { "userValue": true, @@ -622,7 +640,10 @@ }, "@aws-cdk/aws-cloudfront:defaultSecurityPolicyTLSv1.2_2021": { "recommendedValue": true, - "explanation": "Enable this feature flag to have cloudfront distributions use the security policy TLSv1.2_2021 by default." + "explanation": "Enable this feature flag to have cloudfront distributions use the security policy TLSv1.2_2021 by default.", + "unconfiguredBehavesLike": { + "v2": true + } }, "@aws-cdk/core:checkSecretUsage": { "userValue": true, @@ -843,7 +864,10 @@ }, "@aws-cdk/pipelines:reduceAssetRoleTrustScope": { "recommendedValue": true, - "explanation": "Remove the root account principal from PipelineAssetsFileRole trust policy" + "explanation": "Remove the root account principal from PipelineAssetsFileRole trust policy", + "unconfiguredBehavesLike": { + "v2": true + } }, "@aws-cdk/aws-eks:nodegroupNameAttribute": { "userValue": true, @@ -872,9 +896,13 @@ }, "@aws-cdk/aws-stepfunctions-tasks:useNewS3UriParametersForBedrockInvokeModelTask": { "recommendedValue": true, - "explanation": "When enabled, use new props for S3 URI field in task definition of state machine for bedrock invoke model." + "explanation": "When enabled, use new props for S3 URI field in task definition of state machine for bedrock invoke model.", + "unconfiguredBehavesLike": { + "v2": true + } }, "@aws-cdk/core:explicitStackTags": { + "userValue": true, "recommendedValue": true, "explanation": "When enabled, stack tags need to be assigned explicitly on a Stack." }, @@ -935,7 +963,10 @@ }, "@aws-cdk/core:aspectStabilization": { "recommendedValue": true, - "explanation": "When enabled, a stabilization loop will be run when invoking Aspects during synthesis." + "explanation": "When enabled, a stabilization loop will be run when invoking Aspects during synthesis.", + "unconfiguredBehavesLike": { + "v2": true + } }, "@aws-cdk/aws-route53-targets:userPoolDomainNameMethodWithoutCustomResource": { "userValue": true, @@ -969,7 +1000,10 @@ }, "@aws-cdk/pipelines:reduceStageRoleTrustScope": { "recommendedValue": true, - "explanation": "Remove the root account principal from Stage addActions trust policy" + "explanation": "Remove the root account principal from Stage addActions trust policy", + "unconfiguredBehavesLike": { + "v2": true + } }, "@aws-cdk/aws-events:requireEventBusPolicySid": { "userValue": true, @@ -992,7 +1026,10 @@ }, "@aws-cdk/pipelines:reduceCrossAccountActionRoleTrustScope": { "recommendedValue": true, - "explanation": "When enabled, scopes down the trust policy for the cross-account action role" + "explanation": "When enabled, scopes down the trust policy for the cross-account action role", + "unconfiguredBehavesLike": { + "v2": true + } }, "@aws-cdk/aws-stepfunctions:useDistributedMapResultWriterV2": { "userValue": true, @@ -1027,5 +1064,5 @@ } } }, - "minimumCliVersion": "2.1020.2" + "minimumCliVersion": "2.1027.0" } \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-ec2/test/integ.vpc-endpoint.lit.js.snapshot/tree.json b/packages/@aws-cdk-testing/framework-integ/test/aws-ec2/test/integ.vpc-endpoint.lit.js.snapshot/tree.json index 52702bf67291d..3127ce0f842ca 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-ec2/test/integ.vpc-endpoint.lit.js.snapshot/tree.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-ec2/test/integ.vpc-endpoint.lit.js.snapshot/tree.json @@ -1 +1 @@ -{"version":"tree-0.1","tree":{"id":"App","path":"","constructInfo":{"fqn":"aws-cdk-lib.App","version":"0.0.0"},"children":{"aws-cdk-ec2-vpc-endpoint":{"id":"aws-cdk-ec2-vpc-endpoint","path":"aws-cdk-ec2-vpc-endpoint","constructInfo":{"fqn":"aws-cdk-lib.Stack","version":"0.0.0"},"children":{"MyVpc":{"id":"MyVpc","path":"aws-cdk-ec2-vpc-endpoint/MyVpc","constructInfo":{"fqn":"aws-cdk-lib.aws_ec2.Vpc","version":"0.0.0","metadata":[{"gatewayEndpoints":"*"}]},"children":{"Resource":{"id":"Resource","path":"aws-cdk-ec2-vpc-endpoint/MyVpc/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_ec2.CfnVPC","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::EC2::VPC","aws:cdk:cloudformation:props":{"cidrBlock":"10.0.0.0/16","enableDnsHostnames":true,"enableDnsSupport":true,"instanceTenancy":"default","tags":[{"key":"Name","value":"aws-cdk-ec2-vpc-endpoint/MyVpc"}]}}},"PublicSubnet1":{"id":"PublicSubnet1","path":"aws-cdk-ec2-vpc-endpoint/MyVpc/PublicSubnet1","constructInfo":{"fqn":"aws-cdk-lib.aws_ec2.PublicSubnet","version":"0.0.0","metadata":[{"availabilityZone":"*","vpcId":"*","cidrBlock":"*","mapPublicIpOnLaunch":true,"ipv6CidrBlock":"*","assignIpv6AddressOnCreation":"*"},{"availabilityZone":"*","vpcId":"*","cidrBlock":"*","mapPublicIpOnLaunch":true,"ipv6CidrBlock":"*","assignIpv6AddressOnCreation":"*"},{},{"addNatGateway":["*"]}]},"children":{"Subnet":{"id":"Subnet","path":"aws-cdk-ec2-vpc-endpoint/MyVpc/PublicSubnet1/Subnet","constructInfo":{"fqn":"aws-cdk-lib.aws_ec2.CfnSubnet","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::EC2::Subnet","aws:cdk:cloudformation:props":{"availabilityZone":{"Fn::Select":[0,{"Fn::GetAZs":""}]},"cidrBlock":"10.0.0.0/18","mapPublicIpOnLaunch":true,"tags":[{"key":"aws-cdk:subnet-name","value":"Public"},{"key":"aws-cdk:subnet-type","value":"Public"},{"key":"Name","value":"aws-cdk-ec2-vpc-endpoint/MyVpc/PublicSubnet1"}],"vpcId":{"Ref":"MyVpcF9F0CA6F"}}}},"Acl":{"id":"Acl","path":"aws-cdk-ec2-vpc-endpoint/MyVpc/PublicSubnet1/Acl","constructInfo":{"fqn":"aws-cdk-lib.Resource","version":"0.0.0","metadata":[]}},"RouteTable":{"id":"RouteTable","path":"aws-cdk-ec2-vpc-endpoint/MyVpc/PublicSubnet1/RouteTable","constructInfo":{"fqn":"aws-cdk-lib.aws_ec2.CfnRouteTable","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::EC2::RouteTable","aws:cdk:cloudformation:props":{"tags":[{"key":"Name","value":"aws-cdk-ec2-vpc-endpoint/MyVpc/PublicSubnet1"}],"vpcId":{"Ref":"MyVpcF9F0CA6F"}}}},"RouteTableAssociation":{"id":"RouteTableAssociation","path":"aws-cdk-ec2-vpc-endpoint/MyVpc/PublicSubnet1/RouteTableAssociation","constructInfo":{"fqn":"aws-cdk-lib.aws_ec2.CfnSubnetRouteTableAssociation","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::EC2::SubnetRouteTableAssociation","aws:cdk:cloudformation:props":{"routeTableId":{"Ref":"MyVpcPublicSubnet1RouteTableC46AB2F4"},"subnetId":{"Ref":"MyVpcPublicSubnet1SubnetF6608456"}}}},"DefaultRoute":{"id":"DefaultRoute","path":"aws-cdk-ec2-vpc-endpoint/MyVpc/PublicSubnet1/DefaultRoute","constructInfo":{"fqn":"aws-cdk-lib.aws_ec2.CfnRoute","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::EC2::Route","aws:cdk:cloudformation:props":{"destinationCidrBlock":"0.0.0.0/0","gatewayId":{"Ref":"MyVpcIGW5C4A4F63"},"routeTableId":{"Ref":"MyVpcPublicSubnet1RouteTableC46AB2F4"}}}},"EIP":{"id":"EIP","path":"aws-cdk-ec2-vpc-endpoint/MyVpc/PublicSubnet1/EIP","constructInfo":{"fqn":"aws-cdk-lib.aws_ec2.CfnEIP","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::EC2::EIP","aws:cdk:cloudformation:props":{"domain":"vpc","tags":[{"key":"Name","value":"aws-cdk-ec2-vpc-endpoint/MyVpc/PublicSubnet1"}]}}},"NATGateway":{"id":"NATGateway","path":"aws-cdk-ec2-vpc-endpoint/MyVpc/PublicSubnet1/NATGateway","constructInfo":{"fqn":"aws-cdk-lib.aws_ec2.CfnNatGateway","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::EC2::NatGateway","aws:cdk:cloudformation:props":{"allocationId":{"Fn::GetAtt":["MyVpcPublicSubnet1EIP096967CB","AllocationId"]},"subnetId":{"Ref":"MyVpcPublicSubnet1SubnetF6608456"},"tags":[{"key":"Name","value":"aws-cdk-ec2-vpc-endpoint/MyVpc/PublicSubnet1"}]}}}}},"PublicSubnet2":{"id":"PublicSubnet2","path":"aws-cdk-ec2-vpc-endpoint/MyVpc/PublicSubnet2","constructInfo":{"fqn":"aws-cdk-lib.aws_ec2.PublicSubnet","version":"0.0.0","metadata":[{"availabilityZone":"*","vpcId":"*","cidrBlock":"*","mapPublicIpOnLaunch":true,"ipv6CidrBlock":"*","assignIpv6AddressOnCreation":"*"},{"availabilityZone":"*","vpcId":"*","cidrBlock":"*","mapPublicIpOnLaunch":true,"ipv6CidrBlock":"*","assignIpv6AddressOnCreation":"*"},{},{"addNatGateway":["*"]}]},"children":{"Subnet":{"id":"Subnet","path":"aws-cdk-ec2-vpc-endpoint/MyVpc/PublicSubnet2/Subnet","constructInfo":{"fqn":"aws-cdk-lib.aws_ec2.CfnSubnet","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::EC2::Subnet","aws:cdk:cloudformation:props":{"availabilityZone":{"Fn::Select":[1,{"Fn::GetAZs":""}]},"cidrBlock":"10.0.64.0/18","mapPublicIpOnLaunch":true,"tags":[{"key":"aws-cdk:subnet-name","value":"Public"},{"key":"aws-cdk:subnet-type","value":"Public"},{"key":"Name","value":"aws-cdk-ec2-vpc-endpoint/MyVpc/PublicSubnet2"}],"vpcId":{"Ref":"MyVpcF9F0CA6F"}}}},"Acl":{"id":"Acl","path":"aws-cdk-ec2-vpc-endpoint/MyVpc/PublicSubnet2/Acl","constructInfo":{"fqn":"aws-cdk-lib.Resource","version":"0.0.0","metadata":[]}},"RouteTable":{"id":"RouteTable","path":"aws-cdk-ec2-vpc-endpoint/MyVpc/PublicSubnet2/RouteTable","constructInfo":{"fqn":"aws-cdk-lib.aws_ec2.CfnRouteTable","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::EC2::RouteTable","aws:cdk:cloudformation:props":{"tags":[{"key":"Name","value":"aws-cdk-ec2-vpc-endpoint/MyVpc/PublicSubnet2"}],"vpcId":{"Ref":"MyVpcF9F0CA6F"}}}},"RouteTableAssociation":{"id":"RouteTableAssociation","path":"aws-cdk-ec2-vpc-endpoint/MyVpc/PublicSubnet2/RouteTableAssociation","constructInfo":{"fqn":"aws-cdk-lib.aws_ec2.CfnSubnetRouteTableAssociation","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::EC2::SubnetRouteTableAssociation","aws:cdk:cloudformation:props":{"routeTableId":{"Ref":"MyVpcPublicSubnet2RouteTable1DF17386"},"subnetId":{"Ref":"MyVpcPublicSubnet2Subnet492B6BFB"}}}},"DefaultRoute":{"id":"DefaultRoute","path":"aws-cdk-ec2-vpc-endpoint/MyVpc/PublicSubnet2/DefaultRoute","constructInfo":{"fqn":"aws-cdk-lib.aws_ec2.CfnRoute","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::EC2::Route","aws:cdk:cloudformation:props":{"destinationCidrBlock":"0.0.0.0/0","gatewayId":{"Ref":"MyVpcIGW5C4A4F63"},"routeTableId":{"Ref":"MyVpcPublicSubnet2RouteTable1DF17386"}}}},"EIP":{"id":"EIP","path":"aws-cdk-ec2-vpc-endpoint/MyVpc/PublicSubnet2/EIP","constructInfo":{"fqn":"aws-cdk-lib.aws_ec2.CfnEIP","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::EC2::EIP","aws:cdk:cloudformation:props":{"domain":"vpc","tags":[{"key":"Name","value":"aws-cdk-ec2-vpc-endpoint/MyVpc/PublicSubnet2"}]}}},"NATGateway":{"id":"NATGateway","path":"aws-cdk-ec2-vpc-endpoint/MyVpc/PublicSubnet2/NATGateway","constructInfo":{"fqn":"aws-cdk-lib.aws_ec2.CfnNatGateway","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::EC2::NatGateway","aws:cdk:cloudformation:props":{"allocationId":{"Fn::GetAtt":["MyVpcPublicSubnet2EIP8CCBA239","AllocationId"]},"subnetId":{"Ref":"MyVpcPublicSubnet2Subnet492B6BFB"},"tags":[{"key":"Name","value":"aws-cdk-ec2-vpc-endpoint/MyVpc/PublicSubnet2"}]}}}}},"PrivateSubnet1":{"id":"PrivateSubnet1","path":"aws-cdk-ec2-vpc-endpoint/MyVpc/PrivateSubnet1","constructInfo":{"fqn":"aws-cdk-lib.aws_ec2.PrivateSubnet","version":"0.0.0","metadata":[{"availabilityZone":"*","vpcId":"*","cidrBlock":"*","mapPublicIpOnLaunch":false,"ipv6CidrBlock":"*","assignIpv6AddressOnCreation":"*"},{"availabilityZone":"*","vpcId":"*","cidrBlock":"*","mapPublicIpOnLaunch":false,"ipv6CidrBlock":"*","assignIpv6AddressOnCreation":"*"},{}]},"children":{"Subnet":{"id":"Subnet","path":"aws-cdk-ec2-vpc-endpoint/MyVpc/PrivateSubnet1/Subnet","constructInfo":{"fqn":"aws-cdk-lib.aws_ec2.CfnSubnet","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::EC2::Subnet","aws:cdk:cloudformation:props":{"availabilityZone":{"Fn::Select":[0,{"Fn::GetAZs":""}]},"cidrBlock":"10.0.128.0/18","mapPublicIpOnLaunch":false,"tags":[{"key":"aws-cdk:subnet-name","value":"Private"},{"key":"aws-cdk:subnet-type","value":"Private"},{"key":"Name","value":"aws-cdk-ec2-vpc-endpoint/MyVpc/PrivateSubnet1"}],"vpcId":{"Ref":"MyVpcF9F0CA6F"}}}},"Acl":{"id":"Acl","path":"aws-cdk-ec2-vpc-endpoint/MyVpc/PrivateSubnet1/Acl","constructInfo":{"fqn":"aws-cdk-lib.Resource","version":"0.0.0","metadata":[]}},"RouteTable":{"id":"RouteTable","path":"aws-cdk-ec2-vpc-endpoint/MyVpc/PrivateSubnet1/RouteTable","constructInfo":{"fqn":"aws-cdk-lib.aws_ec2.CfnRouteTable","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::EC2::RouteTable","aws:cdk:cloudformation:props":{"tags":[{"key":"Name","value":"aws-cdk-ec2-vpc-endpoint/MyVpc/PrivateSubnet1"}],"vpcId":{"Ref":"MyVpcF9F0CA6F"}}}},"RouteTableAssociation":{"id":"RouteTableAssociation","path":"aws-cdk-ec2-vpc-endpoint/MyVpc/PrivateSubnet1/RouteTableAssociation","constructInfo":{"fqn":"aws-cdk-lib.aws_ec2.CfnSubnetRouteTableAssociation","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::EC2::SubnetRouteTableAssociation","aws:cdk:cloudformation:props":{"routeTableId":{"Ref":"MyVpcPrivateSubnet1RouteTable8819E6E2"},"subnetId":{"Ref":"MyVpcPrivateSubnet1Subnet5057CF7E"}}}},"DefaultRoute":{"id":"DefaultRoute","path":"aws-cdk-ec2-vpc-endpoint/MyVpc/PrivateSubnet1/DefaultRoute","constructInfo":{"fqn":"aws-cdk-lib.aws_ec2.CfnRoute","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::EC2::Route","aws:cdk:cloudformation:props":{"destinationCidrBlock":"0.0.0.0/0","natGatewayId":{"Ref":"MyVpcPublicSubnet1NATGatewayAD3400C1"},"routeTableId":{"Ref":"MyVpcPrivateSubnet1RouteTable8819E6E2"}}}}}},"PrivateSubnet2":{"id":"PrivateSubnet2","path":"aws-cdk-ec2-vpc-endpoint/MyVpc/PrivateSubnet2","constructInfo":{"fqn":"aws-cdk-lib.aws_ec2.PrivateSubnet","version":"0.0.0","metadata":[{"availabilityZone":"*","vpcId":"*","cidrBlock":"*","mapPublicIpOnLaunch":false,"ipv6CidrBlock":"*","assignIpv6AddressOnCreation":"*"},{"availabilityZone":"*","vpcId":"*","cidrBlock":"*","mapPublicIpOnLaunch":false,"ipv6CidrBlock":"*","assignIpv6AddressOnCreation":"*"},{}]},"children":{"Subnet":{"id":"Subnet","path":"aws-cdk-ec2-vpc-endpoint/MyVpc/PrivateSubnet2/Subnet","constructInfo":{"fqn":"aws-cdk-lib.aws_ec2.CfnSubnet","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::EC2::Subnet","aws:cdk:cloudformation:props":{"availabilityZone":{"Fn::Select":[1,{"Fn::GetAZs":""}]},"cidrBlock":"10.0.192.0/18","mapPublicIpOnLaunch":false,"tags":[{"key":"aws-cdk:subnet-name","value":"Private"},{"key":"aws-cdk:subnet-type","value":"Private"},{"key":"Name","value":"aws-cdk-ec2-vpc-endpoint/MyVpc/PrivateSubnet2"}],"vpcId":{"Ref":"MyVpcF9F0CA6F"}}}},"Acl":{"id":"Acl","path":"aws-cdk-ec2-vpc-endpoint/MyVpc/PrivateSubnet2/Acl","constructInfo":{"fqn":"aws-cdk-lib.Resource","version":"0.0.0","metadata":[]}},"RouteTable":{"id":"RouteTable","path":"aws-cdk-ec2-vpc-endpoint/MyVpc/PrivateSubnet2/RouteTable","constructInfo":{"fqn":"aws-cdk-lib.aws_ec2.CfnRouteTable","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::EC2::RouteTable","aws:cdk:cloudformation:props":{"tags":[{"key":"Name","value":"aws-cdk-ec2-vpc-endpoint/MyVpc/PrivateSubnet2"}],"vpcId":{"Ref":"MyVpcF9F0CA6F"}}}},"RouteTableAssociation":{"id":"RouteTableAssociation","path":"aws-cdk-ec2-vpc-endpoint/MyVpc/PrivateSubnet2/RouteTableAssociation","constructInfo":{"fqn":"aws-cdk-lib.aws_ec2.CfnSubnetRouteTableAssociation","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::EC2::SubnetRouteTableAssociation","aws:cdk:cloudformation:props":{"routeTableId":{"Ref":"MyVpcPrivateSubnet2RouteTableCEDCEECE"},"subnetId":{"Ref":"MyVpcPrivateSubnet2Subnet0040C983"}}}},"DefaultRoute":{"id":"DefaultRoute","path":"aws-cdk-ec2-vpc-endpoint/MyVpc/PrivateSubnet2/DefaultRoute","constructInfo":{"fqn":"aws-cdk-lib.aws_ec2.CfnRoute","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::EC2::Route","aws:cdk:cloudformation:props":{"destinationCidrBlock":"0.0.0.0/0","natGatewayId":{"Ref":"MyVpcPublicSubnet2NATGateway91BFBEC9"},"routeTableId":{"Ref":"MyVpcPrivateSubnet2RouteTableCEDCEECE"}}}}}},"IGW":{"id":"IGW","path":"aws-cdk-ec2-vpc-endpoint/MyVpc/IGW","constructInfo":{"fqn":"aws-cdk-lib.aws_ec2.CfnInternetGateway","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::EC2::InternetGateway","aws:cdk:cloudformation:props":{"tags":[{"key":"Name","value":"aws-cdk-ec2-vpc-endpoint/MyVpc"}]}}},"VPCGW":{"id":"VPCGW","path":"aws-cdk-ec2-vpc-endpoint/MyVpc/VPCGW","constructInfo":{"fqn":"aws-cdk-lib.aws_ec2.CfnVPCGatewayAttachment","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::EC2::VPCGatewayAttachment","aws:cdk:cloudformation:props":{"internetGatewayId":{"Ref":"MyVpcIGW5C4A4F63"},"vpcId":{"Ref":"MyVpcF9F0CA6F"}}}},"S3":{"id":"S3","path":"aws-cdk-ec2-vpc-endpoint/MyVpc/S3","constructInfo":{"fqn":"aws-cdk-lib.aws_ec2.GatewayVpcEndpoint","version":"0.0.0","metadata":[{"vpc":"*","service":{"name":"*"}}]},"children":{"Resource":{"id":"Resource","path":"aws-cdk-ec2-vpc-endpoint/MyVpc/S3/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_ec2.CfnVPCEndpoint","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::EC2::VPCEndpoint","aws:cdk:cloudformation:props":{"tags":[{"key":"Name","value":"aws-cdk-ec2-vpc-endpoint/MyVpc"}],"routeTableIds":[{"Ref":"MyVpcPrivateSubnet1RouteTable8819E6E2"},{"Ref":"MyVpcPrivateSubnet2RouteTableCEDCEECE"},{"Ref":"MyVpcPublicSubnet1RouteTableC46AB2F4"},{"Ref":"MyVpcPublicSubnet2RouteTable1DF17386"}],"serviceName":{"Fn::Join":["",["com.amazonaws.",{"Ref":"AWS::Region"},".s3"]]},"vpcEndpointType":"Gateway","vpcId":{"Ref":"MyVpcF9F0CA6F"}}}}}},"DynamoDbEndpoint":{"id":"DynamoDbEndpoint","path":"aws-cdk-ec2-vpc-endpoint/MyVpc/DynamoDbEndpoint","constructInfo":{"fqn":"aws-cdk-lib.aws_ec2.GatewayVpcEndpoint","version":"0.0.0","metadata":[{"vpc":"*","service":{"name":"*"}}]},"children":{"Resource":{"id":"Resource","path":"aws-cdk-ec2-vpc-endpoint/MyVpc/DynamoDbEndpoint/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_ec2.CfnVPCEndpoint","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::EC2::VPCEndpoint","aws:cdk:cloudformation:props":{"tags":[{"key":"Name","value":"aws-cdk-ec2-vpc-endpoint/MyVpc"}],"policyDocument":{"Statement":[{"Action":["dynamodb:DescribeTable","dynamodb:ListTables"],"Effect":"Allow","Principal":{"AWS":"*"},"Resource":"*"}],"Version":"2012-10-17"},"routeTableIds":[{"Ref":"MyVpcPrivateSubnet1RouteTable8819E6E2"},{"Ref":"MyVpcPrivateSubnet2RouteTableCEDCEECE"},{"Ref":"MyVpcPublicSubnet1RouteTableC46AB2F4"},{"Ref":"MyVpcPublicSubnet2RouteTable1DF17386"}],"serviceName":{"Fn::Join":["",["com.amazonaws.",{"Ref":"AWS::Region"},".dynamodb"]]},"vpcEndpointType":"Gateway","vpcId":{"Ref":"MyVpcF9F0CA6F"}}}}}},"EcrDockerEndpoint":{"id":"EcrDockerEndpoint","path":"aws-cdk-ec2-vpc-endpoint/MyVpc/EcrDockerEndpoint","constructInfo":{"fqn":"aws-cdk-lib.aws_ec2.InterfaceVpcEndpoint","version":"0.0.0","metadata":[{"vpc":"*","service":{"privateDnsDefault":true,"name":"*","port":"*"}}]},"children":{"SecurityGroup":{"id":"SecurityGroup","path":"aws-cdk-ec2-vpc-endpoint/MyVpc/EcrDockerEndpoint/SecurityGroup","constructInfo":{"fqn":"aws-cdk-lib.aws_ec2.SecurityGroup","version":"0.0.0","metadata":[{"vpc":"*"},{"addIngressRule":[{"canInlineRule":true,"connections":"*","uniqueId":"*"},{},"*",false]}]},"children":{"Resource":{"id":"Resource","path":"aws-cdk-ec2-vpc-endpoint/MyVpc/EcrDockerEndpoint/SecurityGroup/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_ec2.CfnSecurityGroup","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::EC2::SecurityGroup","aws:cdk:cloudformation:props":{"groupDescription":"aws-cdk-ec2-vpc-endpoint/MyVpc/EcrDockerEndpoint/SecurityGroup","securityGroupEgress":[{"cidrIp":"0.0.0.0/0","description":"Allow all outbound traffic by default","ipProtocol":"-1"}],"securityGroupIngress":[{"cidrIp":{"Fn::GetAtt":["MyVpcF9F0CA6F","CidrBlock"]},"ipProtocol":"tcp","fromPort":443,"toPort":443,"description":{"Fn::Join":["",["from ",{"Fn::GetAtt":["MyVpcF9F0CA6F","CidrBlock"]},":443"]]}}],"tags":[{"key":"Name","value":"aws-cdk-ec2-vpc-endpoint/MyVpc"}],"vpcId":{"Ref":"MyVpcF9F0CA6F"}}}}}},"Resource":{"id":"Resource","path":"aws-cdk-ec2-vpc-endpoint/MyVpc/EcrDockerEndpoint/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_ec2.CfnVPCEndpoint","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::EC2::VPCEndpoint","aws:cdk:cloudformation:props":{"tags":[{"key":"Name","value":"aws-cdk-ec2-vpc-endpoint/MyVpc"}],"privateDnsEnabled":true,"securityGroupIds":[{"Fn::GetAtt":["MyVpcEcrDockerEndpointSecurityGroup47BB9CC1","GroupId"]}],"serviceName":{"Fn::Join":["",["com.amazonaws.",{"Ref":"AWS::Region"},".ecr.dkr"]]},"subnetIds":[{"Ref":"MyVpcPrivateSubnet1Subnet5057CF7E"},{"Ref":"MyVpcPrivateSubnet2Subnet0040C983"}],"vpcEndpointType":"Interface","vpcId":{"Ref":"MyVpcF9F0CA6F"}}}}}},"DynamoDbInterfaceEndpoint":{"id":"DynamoDbInterfaceEndpoint","path":"aws-cdk-ec2-vpc-endpoint/MyVpc/DynamoDbInterfaceEndpoint","constructInfo":{"fqn":"aws-cdk-lib.aws_ec2.InterfaceVpcEndpoint","version":"0.0.0","metadata":[{"vpc":"*","service":{"privateDnsDefault":true,"name":"*","port":"*"},"privateDnsEnabled":false}]},"children":{"SecurityGroup":{"id":"SecurityGroup","path":"aws-cdk-ec2-vpc-endpoint/MyVpc/DynamoDbInterfaceEndpoint/SecurityGroup","constructInfo":{"fqn":"aws-cdk-lib.aws_ec2.SecurityGroup","version":"0.0.0","metadata":[{"vpc":"*"},{"addIngressRule":[{"canInlineRule":true,"connections":"*","uniqueId":"*"},{},"*",false]}]},"children":{"Resource":{"id":"Resource","path":"aws-cdk-ec2-vpc-endpoint/MyVpc/DynamoDbInterfaceEndpoint/SecurityGroup/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_ec2.CfnSecurityGroup","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::EC2::SecurityGroup","aws:cdk:cloudformation:props":{"groupDescription":"aws-cdk-ec2-vpc-endpoint/MyVpc/DynamoDbInterfaceEndpoint/SecurityGroup","securityGroupEgress":[{"cidrIp":"0.0.0.0/0","description":"Allow all outbound traffic by default","ipProtocol":"-1"}],"securityGroupIngress":[{"cidrIp":{"Fn::GetAtt":["MyVpcF9F0CA6F","CidrBlock"]},"ipProtocol":"tcp","fromPort":443,"toPort":443,"description":{"Fn::Join":["",["from ",{"Fn::GetAtt":["MyVpcF9F0CA6F","CidrBlock"]},":443"]]}}],"tags":[{"key":"Name","value":"aws-cdk-ec2-vpc-endpoint/MyVpc"}],"vpcId":{"Ref":"MyVpcF9F0CA6F"}}}}}},"Resource":{"id":"Resource","path":"aws-cdk-ec2-vpc-endpoint/MyVpc/DynamoDbInterfaceEndpoint/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_ec2.CfnVPCEndpoint","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::EC2::VPCEndpoint","aws:cdk:cloudformation:props":{"tags":[{"key":"Name","value":"aws-cdk-ec2-vpc-endpoint/MyVpc"}],"privateDnsEnabled":false,"securityGroupIds":[{"Fn::GetAtt":["MyVpcDynamoDbInterfaceEndpointSecurityGroupD6D5A6EF","GroupId"]}],"serviceName":{"Fn::Join":["",["com.amazonaws.",{"Ref":"AWS::Region"},".dynamodb"]]},"subnetIds":[{"Ref":"MyVpcPrivateSubnet1Subnet5057CF7E"},{"Ref":"MyVpcPrivateSubnet2Subnet0040C983"}],"vpcEndpointType":"Interface","vpcId":{"Ref":"MyVpcF9F0CA6F"}}}}}},"CloudwatchLogsEndpoint":{"id":"CloudwatchLogsEndpoint","path":"aws-cdk-ec2-vpc-endpoint/MyVpc/CloudwatchLogsEndpoint","constructInfo":{"fqn":"aws-cdk-lib.aws_ec2.InterfaceVpcEndpoint","version":"0.0.0","metadata":[{"vpc":"*","service":{"privateDnsDefault":true,"name":"*","port":"*"},"ipAddressType":"ipv4","dnsRecordIpType":"ipv4"}]},"children":{"SecurityGroup":{"id":"SecurityGroup","path":"aws-cdk-ec2-vpc-endpoint/MyVpc/CloudwatchLogsEndpoint/SecurityGroup","constructInfo":{"fqn":"aws-cdk-lib.aws_ec2.SecurityGroup","version":"0.0.0","metadata":[{"vpc":"*"},{"addIngressRule":[{"canInlineRule":true,"connections":"*","uniqueId":"*"},{},"*",false]}]},"children":{"Resource":{"id":"Resource","path":"aws-cdk-ec2-vpc-endpoint/MyVpc/CloudwatchLogsEndpoint/SecurityGroup/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_ec2.CfnSecurityGroup","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::EC2::SecurityGroup","aws:cdk:cloudformation:props":{"groupDescription":"aws-cdk-ec2-vpc-endpoint/MyVpc/CloudwatchLogsEndpoint/SecurityGroup","securityGroupEgress":[{"cidrIp":"0.0.0.0/0","description":"Allow all outbound traffic by default","ipProtocol":"-1"}],"securityGroupIngress":[{"cidrIp":{"Fn::GetAtt":["MyVpcF9F0CA6F","CidrBlock"]},"ipProtocol":"tcp","fromPort":443,"toPort":443,"description":{"Fn::Join":["",["from ",{"Fn::GetAtt":["MyVpcF9F0CA6F","CidrBlock"]},":443"]]}}],"tags":[{"key":"Name","value":"aws-cdk-ec2-vpc-endpoint/MyVpc"}],"vpcId":{"Ref":"MyVpcF9F0CA6F"}}}}}},"Resource":{"id":"Resource","path":"aws-cdk-ec2-vpc-endpoint/MyVpc/CloudwatchLogsEndpoint/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_ec2.CfnVPCEndpoint","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::EC2::VPCEndpoint","aws:cdk:cloudformation:props":{"tags":[{"key":"Name","value":"aws-cdk-ec2-vpc-endpoint/MyVpc"}],"dnsOptions":{"dnsRecordIpType":"ipv4"},"ipAddressType":"ipv4","privateDnsEnabled":true,"securityGroupIds":[{"Fn::GetAtt":["MyVpcCloudwatchLogsEndpointSecurityGroup4A3B5DFB","GroupId"]}],"serviceName":{"Fn::Join":["",["com.amazonaws.",{"Ref":"AWS::Region"},".logs"]]},"subnetIds":[{"Ref":"MyVpcPrivateSubnet1Subnet5057CF7E"},{"Ref":"MyVpcPrivateSubnet2Subnet0040C983"}],"vpcEndpointType":"Interface","vpcId":{"Ref":"MyVpcF9F0CA6F"}}}}}},"CrossRegionEndpoint":{"id":"CrossRegionEndpoint","path":"aws-cdk-ec2-vpc-endpoint/MyVpc/CrossRegionEndpoint","constructInfo":{"fqn":"aws-cdk-lib.aws_ec2.InterfaceVpcEndpoint","version":"0.0.0","metadata":[{"vpc":"*","service":{"privateDnsDefault":false,"name":"*","port":"*"}}]},"children":{"SecurityGroup":{"id":"SecurityGroup","path":"aws-cdk-ec2-vpc-endpoint/MyVpc/CrossRegionEndpoint/SecurityGroup","constructInfo":{"fqn":"aws-cdk-lib.aws_ec2.SecurityGroup","version":"0.0.0","metadata":[{"vpc":"*"},{"addIngressRule":[{"canInlineRule":true,"connections":"*","uniqueId":"*"},{},"*",false]}]},"children":{"Resource":{"id":"Resource","path":"aws-cdk-ec2-vpc-endpoint/MyVpc/CrossRegionEndpoint/SecurityGroup/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_ec2.CfnSecurityGroup","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::EC2::SecurityGroup","aws:cdk:cloudformation:props":{"groupDescription":"aws-cdk-ec2-vpc-endpoint/MyVpc/CrossRegionEndpoint/SecurityGroup","securityGroupEgress":[{"cidrIp":"0.0.0.0/0","description":"Allow all outbound traffic by default","ipProtocol":"-1"}],"securityGroupIngress":[{"cidrIp":{"Fn::GetAtt":["MyVpcF9F0CA6F","CidrBlock"]},"ipProtocol":"tcp","fromPort":443,"toPort":443,"description":{"Fn::Join":["",["from ",{"Fn::GetAtt":["MyVpcF9F0CA6F","CidrBlock"]},":443"]]}}],"tags":[{"key":"Name","value":"aws-cdk-ec2-vpc-endpoint/MyVpc"}],"vpcId":{"Ref":"MyVpcF9F0CA6F"}}}}}},"Resource":{"id":"Resource","path":"aws-cdk-ec2-vpc-endpoint/MyVpc/CrossRegionEndpoint/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_ec2.CfnVPCEndpoint","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::EC2::VPCEndpoint","aws:cdk:cloudformation:props":{"tags":[{"key":"Name","value":"aws-cdk-ec2-vpc-endpoint/MyVpc"}],"privateDnsEnabled":false,"securityGroupIds":[{"Fn::GetAtt":["MyVpcCrossRegionEndpointSecurityGroup371BDCEC","GroupId"]}],"serviceName":"com.amazonaws.vpce.us-east-1.vpce-svc-123456","serviceRegion":"us-east-1","subnetIds":[{"Ref":"MyVpcPrivateSubnet1Subnet5057CF7E"},{"Ref":"MyVpcPrivateSubnet2Subnet0040C983"}],"vpcEndpointType":"Interface","vpcId":{"Ref":"MyVpcF9F0CA6F"}}}}}}}},"BootstrapVersion":{"id":"BootstrapVersion","path":"aws-cdk-ec2-vpc-endpoint/BootstrapVersion","constructInfo":{"fqn":"aws-cdk-lib.CfnParameter","version":"0.0.0"}},"CheckBootstrapVersion":{"id":"CheckBootstrapVersion","path":"aws-cdk-ec2-vpc-endpoint/CheckBootstrapVersion","constructInfo":{"fqn":"aws-cdk-lib.CfnRule","version":"0.0.0"}}}},"Tree":{"id":"Tree","path":"Tree","constructInfo":{"fqn":"constructs.Construct","version":"10.4.2"}}}}} \ No newline at end of file +{"version":"tree-0.1","tree":{"id":"App","path":"","constructInfo":{"fqn":"aws-cdk-lib.App","version":"0.0.0"},"children":{"aws-cdk-ec2-vpc-endpoint":{"id":"aws-cdk-ec2-vpc-endpoint","path":"aws-cdk-ec2-vpc-endpoint","constructInfo":{"fqn":"aws-cdk-lib.Stack","version":"0.0.0"},"children":{"MyVpc":{"id":"MyVpc","path":"aws-cdk-ec2-vpc-endpoint/MyVpc","constructInfo":{"fqn":"aws-cdk-lib.aws_ec2.Vpc","version":"0.0.0","metadata":[{"gatewayEndpoints":"*"}]},"children":{"Resource":{"id":"Resource","path":"aws-cdk-ec2-vpc-endpoint/MyVpc/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_ec2.CfnVPC","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::EC2::VPC","aws:cdk:cloudformation:props":{"cidrBlock":"10.0.0.0/16","enableDnsHostnames":true,"enableDnsSupport":true,"instanceTenancy":"default","tags":[{"key":"Name","value":"aws-cdk-ec2-vpc-endpoint/MyVpc"}]}}},"PublicSubnet1":{"id":"PublicSubnet1","path":"aws-cdk-ec2-vpc-endpoint/MyVpc/PublicSubnet1","constructInfo":{"fqn":"aws-cdk-lib.aws_ec2.PublicSubnet","version":"0.0.0","metadata":[{"availabilityZone":"*","vpcId":"*","cidrBlock":"*","mapPublicIpOnLaunch":true,"ipv6CidrBlock":"*","assignIpv6AddressOnCreation":"*"},{"availabilityZone":"*","vpcId":"*","cidrBlock":"*","mapPublicIpOnLaunch":true,"ipv6CidrBlock":"*","assignIpv6AddressOnCreation":"*"},{},{"addNatGateway":["*"]}]},"children":{"Subnet":{"id":"Subnet","path":"aws-cdk-ec2-vpc-endpoint/MyVpc/PublicSubnet1/Subnet","constructInfo":{"fqn":"aws-cdk-lib.aws_ec2.CfnSubnet","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::EC2::Subnet","aws:cdk:cloudformation:props":{"availabilityZone":{"Fn::Select":[0,{"Fn::GetAZs":""}]},"cidrBlock":"10.0.0.0/18","mapPublicIpOnLaunch":true,"tags":[{"key":"aws-cdk:subnet-name","value":"Public"},{"key":"aws-cdk:subnet-type","value":"Public"},{"key":"Name","value":"aws-cdk-ec2-vpc-endpoint/MyVpc/PublicSubnet1"}],"vpcId":{"Ref":"MyVpcF9F0CA6F"}}}},"Acl":{"id":"Acl","path":"aws-cdk-ec2-vpc-endpoint/MyVpc/PublicSubnet1/Acl","constructInfo":{"fqn":"aws-cdk-lib.Resource","version":"0.0.0","metadata":[]}},"RouteTable":{"id":"RouteTable","path":"aws-cdk-ec2-vpc-endpoint/MyVpc/PublicSubnet1/RouteTable","constructInfo":{"fqn":"aws-cdk-lib.aws_ec2.CfnRouteTable","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::EC2::RouteTable","aws:cdk:cloudformation:props":{"tags":[{"key":"Name","value":"aws-cdk-ec2-vpc-endpoint/MyVpc/PublicSubnet1"}],"vpcId":{"Ref":"MyVpcF9F0CA6F"}}}},"RouteTableAssociation":{"id":"RouteTableAssociation","path":"aws-cdk-ec2-vpc-endpoint/MyVpc/PublicSubnet1/RouteTableAssociation","constructInfo":{"fqn":"aws-cdk-lib.aws_ec2.CfnSubnetRouteTableAssociation","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::EC2::SubnetRouteTableAssociation","aws:cdk:cloudformation:props":{"routeTableId":{"Ref":"MyVpcPublicSubnet1RouteTableC46AB2F4"},"subnetId":{"Ref":"MyVpcPublicSubnet1SubnetF6608456"}}}},"DefaultRoute":{"id":"DefaultRoute","path":"aws-cdk-ec2-vpc-endpoint/MyVpc/PublicSubnet1/DefaultRoute","constructInfo":{"fqn":"aws-cdk-lib.aws_ec2.CfnRoute","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::EC2::Route","aws:cdk:cloudformation:props":{"destinationCidrBlock":"0.0.0.0/0","gatewayId":{"Ref":"MyVpcIGW5C4A4F63"},"routeTableId":{"Ref":"MyVpcPublicSubnet1RouteTableC46AB2F4"}}}},"EIP":{"id":"EIP","path":"aws-cdk-ec2-vpc-endpoint/MyVpc/PublicSubnet1/EIP","constructInfo":{"fqn":"aws-cdk-lib.aws_ec2.CfnEIP","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::EC2::EIP","aws:cdk:cloudformation:props":{"domain":"vpc","tags":[{"key":"Name","value":"aws-cdk-ec2-vpc-endpoint/MyVpc/PublicSubnet1"}]}}},"NATGateway":{"id":"NATGateway","path":"aws-cdk-ec2-vpc-endpoint/MyVpc/PublicSubnet1/NATGateway","constructInfo":{"fqn":"aws-cdk-lib.aws_ec2.CfnNatGateway","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::EC2::NatGateway","aws:cdk:cloudformation:props":{"allocationId":{"Fn::GetAtt":["MyVpcPublicSubnet1EIP096967CB","AllocationId"]},"subnetId":{"Ref":"MyVpcPublicSubnet1SubnetF6608456"},"tags":[{"key":"Name","value":"aws-cdk-ec2-vpc-endpoint/MyVpc/PublicSubnet1"}]}}}}},"PublicSubnet2":{"id":"PublicSubnet2","path":"aws-cdk-ec2-vpc-endpoint/MyVpc/PublicSubnet2","constructInfo":{"fqn":"aws-cdk-lib.aws_ec2.PublicSubnet","version":"0.0.0","metadata":[{"availabilityZone":"*","vpcId":"*","cidrBlock":"*","mapPublicIpOnLaunch":true,"ipv6CidrBlock":"*","assignIpv6AddressOnCreation":"*"},{"availabilityZone":"*","vpcId":"*","cidrBlock":"*","mapPublicIpOnLaunch":true,"ipv6CidrBlock":"*","assignIpv6AddressOnCreation":"*"},{},{"addNatGateway":["*"]}]},"children":{"Subnet":{"id":"Subnet","path":"aws-cdk-ec2-vpc-endpoint/MyVpc/PublicSubnet2/Subnet","constructInfo":{"fqn":"aws-cdk-lib.aws_ec2.CfnSubnet","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::EC2::Subnet","aws:cdk:cloudformation:props":{"availabilityZone":{"Fn::Select":[1,{"Fn::GetAZs":""}]},"cidrBlock":"10.0.64.0/18","mapPublicIpOnLaunch":true,"tags":[{"key":"aws-cdk:subnet-name","value":"Public"},{"key":"aws-cdk:subnet-type","value":"Public"},{"key":"Name","value":"aws-cdk-ec2-vpc-endpoint/MyVpc/PublicSubnet2"}],"vpcId":{"Ref":"MyVpcF9F0CA6F"}}}},"Acl":{"id":"Acl","path":"aws-cdk-ec2-vpc-endpoint/MyVpc/PublicSubnet2/Acl","constructInfo":{"fqn":"aws-cdk-lib.Resource","version":"0.0.0","metadata":[]}},"RouteTable":{"id":"RouteTable","path":"aws-cdk-ec2-vpc-endpoint/MyVpc/PublicSubnet2/RouteTable","constructInfo":{"fqn":"aws-cdk-lib.aws_ec2.CfnRouteTable","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::EC2::RouteTable","aws:cdk:cloudformation:props":{"tags":[{"key":"Name","value":"aws-cdk-ec2-vpc-endpoint/MyVpc/PublicSubnet2"}],"vpcId":{"Ref":"MyVpcF9F0CA6F"}}}},"RouteTableAssociation":{"id":"RouteTableAssociation","path":"aws-cdk-ec2-vpc-endpoint/MyVpc/PublicSubnet2/RouteTableAssociation","constructInfo":{"fqn":"aws-cdk-lib.aws_ec2.CfnSubnetRouteTableAssociation","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::EC2::SubnetRouteTableAssociation","aws:cdk:cloudformation:props":{"routeTableId":{"Ref":"MyVpcPublicSubnet2RouteTable1DF17386"},"subnetId":{"Ref":"MyVpcPublicSubnet2Subnet492B6BFB"}}}},"DefaultRoute":{"id":"DefaultRoute","path":"aws-cdk-ec2-vpc-endpoint/MyVpc/PublicSubnet2/DefaultRoute","constructInfo":{"fqn":"aws-cdk-lib.aws_ec2.CfnRoute","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::EC2::Route","aws:cdk:cloudformation:props":{"destinationCidrBlock":"0.0.0.0/0","gatewayId":{"Ref":"MyVpcIGW5C4A4F63"},"routeTableId":{"Ref":"MyVpcPublicSubnet2RouteTable1DF17386"}}}},"EIP":{"id":"EIP","path":"aws-cdk-ec2-vpc-endpoint/MyVpc/PublicSubnet2/EIP","constructInfo":{"fqn":"aws-cdk-lib.aws_ec2.CfnEIP","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::EC2::EIP","aws:cdk:cloudformation:props":{"domain":"vpc","tags":[{"key":"Name","value":"aws-cdk-ec2-vpc-endpoint/MyVpc/PublicSubnet2"}]}}},"NATGateway":{"id":"NATGateway","path":"aws-cdk-ec2-vpc-endpoint/MyVpc/PublicSubnet2/NATGateway","constructInfo":{"fqn":"aws-cdk-lib.aws_ec2.CfnNatGateway","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::EC2::NatGateway","aws:cdk:cloudformation:props":{"allocationId":{"Fn::GetAtt":["MyVpcPublicSubnet2EIP8CCBA239","AllocationId"]},"subnetId":{"Ref":"MyVpcPublicSubnet2Subnet492B6BFB"},"tags":[{"key":"Name","value":"aws-cdk-ec2-vpc-endpoint/MyVpc/PublicSubnet2"}]}}}}},"PrivateSubnet1":{"id":"PrivateSubnet1","path":"aws-cdk-ec2-vpc-endpoint/MyVpc/PrivateSubnet1","constructInfo":{"fqn":"aws-cdk-lib.aws_ec2.PrivateSubnet","version":"0.0.0","metadata":[{"availabilityZone":"*","vpcId":"*","cidrBlock":"*","mapPublicIpOnLaunch":false,"ipv6CidrBlock":"*","assignIpv6AddressOnCreation":"*"},{"availabilityZone":"*","vpcId":"*","cidrBlock":"*","mapPublicIpOnLaunch":false,"ipv6CidrBlock":"*","assignIpv6AddressOnCreation":"*"},{}]},"children":{"Subnet":{"id":"Subnet","path":"aws-cdk-ec2-vpc-endpoint/MyVpc/PrivateSubnet1/Subnet","constructInfo":{"fqn":"aws-cdk-lib.aws_ec2.CfnSubnet","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::EC2::Subnet","aws:cdk:cloudformation:props":{"availabilityZone":{"Fn::Select":[0,{"Fn::GetAZs":""}]},"cidrBlock":"10.0.128.0/18","mapPublicIpOnLaunch":false,"tags":[{"key":"aws-cdk:subnet-name","value":"Private"},{"key":"aws-cdk:subnet-type","value":"Private"},{"key":"Name","value":"aws-cdk-ec2-vpc-endpoint/MyVpc/PrivateSubnet1"}],"vpcId":{"Ref":"MyVpcF9F0CA6F"}}}},"Acl":{"id":"Acl","path":"aws-cdk-ec2-vpc-endpoint/MyVpc/PrivateSubnet1/Acl","constructInfo":{"fqn":"aws-cdk-lib.Resource","version":"0.0.0","metadata":[]}},"RouteTable":{"id":"RouteTable","path":"aws-cdk-ec2-vpc-endpoint/MyVpc/PrivateSubnet1/RouteTable","constructInfo":{"fqn":"aws-cdk-lib.aws_ec2.CfnRouteTable","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::EC2::RouteTable","aws:cdk:cloudformation:props":{"tags":[{"key":"Name","value":"aws-cdk-ec2-vpc-endpoint/MyVpc/PrivateSubnet1"}],"vpcId":{"Ref":"MyVpcF9F0CA6F"}}}},"RouteTableAssociation":{"id":"RouteTableAssociation","path":"aws-cdk-ec2-vpc-endpoint/MyVpc/PrivateSubnet1/RouteTableAssociation","constructInfo":{"fqn":"aws-cdk-lib.aws_ec2.CfnSubnetRouteTableAssociation","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::EC2::SubnetRouteTableAssociation","aws:cdk:cloudformation:props":{"routeTableId":{"Ref":"MyVpcPrivateSubnet1RouteTable8819E6E2"},"subnetId":{"Ref":"MyVpcPrivateSubnet1Subnet5057CF7E"}}}},"DefaultRoute":{"id":"DefaultRoute","path":"aws-cdk-ec2-vpc-endpoint/MyVpc/PrivateSubnet1/DefaultRoute","constructInfo":{"fqn":"aws-cdk-lib.aws_ec2.CfnRoute","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::EC2::Route","aws:cdk:cloudformation:props":{"destinationCidrBlock":"0.0.0.0/0","natGatewayId":{"Ref":"MyVpcPublicSubnet1NATGatewayAD3400C1"},"routeTableId":{"Ref":"MyVpcPrivateSubnet1RouteTable8819E6E2"}}}}}},"PrivateSubnet2":{"id":"PrivateSubnet2","path":"aws-cdk-ec2-vpc-endpoint/MyVpc/PrivateSubnet2","constructInfo":{"fqn":"aws-cdk-lib.aws_ec2.PrivateSubnet","version":"0.0.0","metadata":[{"availabilityZone":"*","vpcId":"*","cidrBlock":"*","mapPublicIpOnLaunch":false,"ipv6CidrBlock":"*","assignIpv6AddressOnCreation":"*"},{"availabilityZone":"*","vpcId":"*","cidrBlock":"*","mapPublicIpOnLaunch":false,"ipv6CidrBlock":"*","assignIpv6AddressOnCreation":"*"},{}]},"children":{"Subnet":{"id":"Subnet","path":"aws-cdk-ec2-vpc-endpoint/MyVpc/PrivateSubnet2/Subnet","constructInfo":{"fqn":"aws-cdk-lib.aws_ec2.CfnSubnet","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::EC2::Subnet","aws:cdk:cloudformation:props":{"availabilityZone":{"Fn::Select":[1,{"Fn::GetAZs":""}]},"cidrBlock":"10.0.192.0/18","mapPublicIpOnLaunch":false,"tags":[{"key":"aws-cdk:subnet-name","value":"Private"},{"key":"aws-cdk:subnet-type","value":"Private"},{"key":"Name","value":"aws-cdk-ec2-vpc-endpoint/MyVpc/PrivateSubnet2"}],"vpcId":{"Ref":"MyVpcF9F0CA6F"}}}},"Acl":{"id":"Acl","path":"aws-cdk-ec2-vpc-endpoint/MyVpc/PrivateSubnet2/Acl","constructInfo":{"fqn":"aws-cdk-lib.Resource","version":"0.0.0","metadata":[]}},"RouteTable":{"id":"RouteTable","path":"aws-cdk-ec2-vpc-endpoint/MyVpc/PrivateSubnet2/RouteTable","constructInfo":{"fqn":"aws-cdk-lib.aws_ec2.CfnRouteTable","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::EC2::RouteTable","aws:cdk:cloudformation:props":{"tags":[{"key":"Name","value":"aws-cdk-ec2-vpc-endpoint/MyVpc/PrivateSubnet2"}],"vpcId":{"Ref":"MyVpcF9F0CA6F"}}}},"RouteTableAssociation":{"id":"RouteTableAssociation","path":"aws-cdk-ec2-vpc-endpoint/MyVpc/PrivateSubnet2/RouteTableAssociation","constructInfo":{"fqn":"aws-cdk-lib.aws_ec2.CfnSubnetRouteTableAssociation","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::EC2::SubnetRouteTableAssociation","aws:cdk:cloudformation:props":{"routeTableId":{"Ref":"MyVpcPrivateSubnet2RouteTableCEDCEECE"},"subnetId":{"Ref":"MyVpcPrivateSubnet2Subnet0040C983"}}}},"DefaultRoute":{"id":"DefaultRoute","path":"aws-cdk-ec2-vpc-endpoint/MyVpc/PrivateSubnet2/DefaultRoute","constructInfo":{"fqn":"aws-cdk-lib.aws_ec2.CfnRoute","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::EC2::Route","aws:cdk:cloudformation:props":{"destinationCidrBlock":"0.0.0.0/0","natGatewayId":{"Ref":"MyVpcPublicSubnet2NATGateway91BFBEC9"},"routeTableId":{"Ref":"MyVpcPrivateSubnet2RouteTableCEDCEECE"}}}}}},"IGW":{"id":"IGW","path":"aws-cdk-ec2-vpc-endpoint/MyVpc/IGW","constructInfo":{"fqn":"aws-cdk-lib.aws_ec2.CfnInternetGateway","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::EC2::InternetGateway","aws:cdk:cloudformation:props":{"tags":[{"key":"Name","value":"aws-cdk-ec2-vpc-endpoint/MyVpc"}]}}},"VPCGW":{"id":"VPCGW","path":"aws-cdk-ec2-vpc-endpoint/MyVpc/VPCGW","constructInfo":{"fqn":"aws-cdk-lib.aws_ec2.CfnVPCGatewayAttachment","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::EC2::VPCGatewayAttachment","aws:cdk:cloudformation:props":{"internetGatewayId":{"Ref":"MyVpcIGW5C4A4F63"},"vpcId":{"Ref":"MyVpcF9F0CA6F"}}}},"S3":{"id":"S3","path":"aws-cdk-ec2-vpc-endpoint/MyVpc/S3","constructInfo":{"fqn":"aws-cdk-lib.aws_ec2.GatewayVpcEndpoint","version":"0.0.0","metadata":[{"vpc":"*","service":{"name":"*"}}]},"children":{"Resource":{"id":"Resource","path":"aws-cdk-ec2-vpc-endpoint/MyVpc/S3/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_ec2.CfnVPCEndpoint","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::EC2::VPCEndpoint","aws:cdk:cloudformation:props":{"tags":[{"key":"Name","value":"aws-cdk-ec2-vpc-endpoint/MyVpc"}],"routeTableIds":[{"Ref":"MyVpcPrivateSubnet1RouteTable8819E6E2"},{"Ref":"MyVpcPrivateSubnet2RouteTableCEDCEECE"},{"Ref":"MyVpcPublicSubnet1RouteTableC46AB2F4"},{"Ref":"MyVpcPublicSubnet2RouteTable1DF17386"}],"serviceName":{"Fn::Join":["",["com.amazonaws.",{"Ref":"AWS::Region"},".s3"]]},"vpcEndpointType":"Gateway","vpcId":{"Ref":"MyVpcF9F0CA6F"}}}}}},"DynamoDbEndpoint":{"id":"DynamoDbEndpoint","path":"aws-cdk-ec2-vpc-endpoint/MyVpc/DynamoDbEndpoint","constructInfo":{"fqn":"aws-cdk-lib.aws_ec2.GatewayVpcEndpoint","version":"0.0.0","metadata":[{"vpc":"*","service":{"name":"*"}}]},"children":{"Resource":{"id":"Resource","path":"aws-cdk-ec2-vpc-endpoint/MyVpc/DynamoDbEndpoint/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_ec2.CfnVPCEndpoint","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::EC2::VPCEndpoint","aws:cdk:cloudformation:props":{"tags":[{"key":"Name","value":"aws-cdk-ec2-vpc-endpoint/MyVpc"}],"policyDocument":{"Statement":[{"Action":["dynamodb:DescribeTable","dynamodb:ListTables"],"Effect":"Allow","Principal":{"AWS":"*"},"Resource":"*"}],"Version":"2012-10-17"},"routeTableIds":[{"Ref":"MyVpcPrivateSubnet1RouteTable8819E6E2"},{"Ref":"MyVpcPrivateSubnet2RouteTableCEDCEECE"},{"Ref":"MyVpcPublicSubnet1RouteTableC46AB2F4"},{"Ref":"MyVpcPublicSubnet2RouteTable1DF17386"}],"serviceName":{"Fn::Join":["",["com.amazonaws.",{"Ref":"AWS::Region"},".dynamodb"]]},"vpcEndpointType":"Gateway","vpcId":{"Ref":"MyVpcF9F0CA6F"}}}}}},"EcrDockerEndpoint":{"id":"EcrDockerEndpoint","path":"aws-cdk-ec2-vpc-endpoint/MyVpc/EcrDockerEndpoint","constructInfo":{"fqn":"aws-cdk-lib.aws_ec2.InterfaceVpcEndpoint","version":"0.0.0","metadata":[{"vpc":"*","service":{"privateDnsDefault":true,"name":"*","port":"*"}}]},"children":{"SecurityGroup":{"id":"SecurityGroup","path":"aws-cdk-ec2-vpc-endpoint/MyVpc/EcrDockerEndpoint/SecurityGroup","constructInfo":{"fqn":"aws-cdk-lib.aws_ec2.SecurityGroup","version":"0.0.0","metadata":[{"vpc":"*"},{"addIngressRule":[{"canInlineRule":true,"connections":"*","uniqueId":"*"},{},"*",false]}]},"children":{"Resource":{"id":"Resource","path":"aws-cdk-ec2-vpc-endpoint/MyVpc/EcrDockerEndpoint/SecurityGroup/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_ec2.CfnSecurityGroup","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::EC2::SecurityGroup","aws:cdk:cloudformation:props":{"groupDescription":"aws-cdk-ec2-vpc-endpoint/MyVpc/EcrDockerEndpoint/SecurityGroup","securityGroupEgress":[{"cidrIp":"0.0.0.0/0","description":"Allow all outbound traffic by default","ipProtocol":"-1"}],"securityGroupIngress":[{"cidrIp":{"Fn::GetAtt":["MyVpcF9F0CA6F","CidrBlock"]},"ipProtocol":"tcp","fromPort":443,"toPort":443,"description":{"Fn::Join":["",["from ",{"Fn::GetAtt":["MyVpcF9F0CA6F","CidrBlock"]},":443"]]}}],"tags":[{"key":"Name","value":"aws-cdk-ec2-vpc-endpoint/MyVpc"}],"vpcId":{"Ref":"MyVpcF9F0CA6F"}}}}}},"Resource":{"id":"Resource","path":"aws-cdk-ec2-vpc-endpoint/MyVpc/EcrDockerEndpoint/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_ec2.CfnVPCEndpoint","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::EC2::VPCEndpoint","aws:cdk:cloudformation:props":{"tags":[{"key":"Name","value":"aws-cdk-ec2-vpc-endpoint/MyVpc"}],"privateDnsEnabled":true,"securityGroupIds":[{"Fn::GetAtt":["MyVpcEcrDockerEndpointSecurityGroup47BB9CC1","GroupId"]}],"serviceName":"com.amazonaws.us-west-2.ecr.dkr","subnetIds":[{"Ref":"MyVpcPrivateSubnet1Subnet5057CF7E"},{"Ref":"MyVpcPrivateSubnet2Subnet0040C983"}],"vpcEndpointType":"Interface","vpcId":{"Ref":"MyVpcF9F0CA6F"}}}}}},"DynamoDbInterfaceEndpoint":{"id":"DynamoDbInterfaceEndpoint","path":"aws-cdk-ec2-vpc-endpoint/MyVpc/DynamoDbInterfaceEndpoint","constructInfo":{"fqn":"aws-cdk-lib.aws_ec2.InterfaceVpcEndpoint","version":"0.0.0","metadata":[{"vpc":"*","service":{"privateDnsDefault":true,"name":"*","port":"*"},"privateDnsEnabled":false}]},"children":{"SecurityGroup":{"id":"SecurityGroup","path":"aws-cdk-ec2-vpc-endpoint/MyVpc/DynamoDbInterfaceEndpoint/SecurityGroup","constructInfo":{"fqn":"aws-cdk-lib.aws_ec2.SecurityGroup","version":"0.0.0","metadata":[{"vpc":"*"},{"addIngressRule":[{"canInlineRule":true,"connections":"*","uniqueId":"*"},{},"*",false]}]},"children":{"Resource":{"id":"Resource","path":"aws-cdk-ec2-vpc-endpoint/MyVpc/DynamoDbInterfaceEndpoint/SecurityGroup/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_ec2.CfnSecurityGroup","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::EC2::SecurityGroup","aws:cdk:cloudformation:props":{"groupDescription":"aws-cdk-ec2-vpc-endpoint/MyVpc/DynamoDbInterfaceEndpoint/SecurityGroup","securityGroupEgress":[{"cidrIp":"0.0.0.0/0","description":"Allow all outbound traffic by default","ipProtocol":"-1"}],"securityGroupIngress":[{"cidrIp":{"Fn::GetAtt":["MyVpcF9F0CA6F","CidrBlock"]},"ipProtocol":"tcp","fromPort":443,"toPort":443,"description":{"Fn::Join":["",["from ",{"Fn::GetAtt":["MyVpcF9F0CA6F","CidrBlock"]},":443"]]}}],"tags":[{"key":"Name","value":"aws-cdk-ec2-vpc-endpoint/MyVpc"}],"vpcId":{"Ref":"MyVpcF9F0CA6F"}}}}}},"Resource":{"id":"Resource","path":"aws-cdk-ec2-vpc-endpoint/MyVpc/DynamoDbInterfaceEndpoint/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_ec2.CfnVPCEndpoint","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::EC2::VPCEndpoint","aws:cdk:cloudformation:props":{"tags":[{"key":"Name","value":"aws-cdk-ec2-vpc-endpoint/MyVpc"}],"privateDnsEnabled":false,"securityGroupIds":[{"Fn::GetAtt":["MyVpcDynamoDbInterfaceEndpointSecurityGroupD6D5A6EF","GroupId"]}],"serviceName":"com.amazonaws.us-west-2.dynamodb","subnetIds":[{"Ref":"MyVpcPrivateSubnet1Subnet5057CF7E"},{"Ref":"MyVpcPrivateSubnet2Subnet0040C983"}],"vpcEndpointType":"Interface","vpcId":{"Ref":"MyVpcF9F0CA6F"}}}}}},"SESEndpoint":{"id":"SESEndpoint","path":"aws-cdk-ec2-vpc-endpoint/MyVpc/SESEndpoint","constructInfo":{"fqn":"aws-cdk-lib.aws_ec2.InterfaceVpcEndpoint","version":"0.0.0","metadata":[{"vpc":"*","service":{"privateDnsDefault":true,"name":"*","port":"*"}}]},"children":{"SecurityGroup":{"id":"SecurityGroup","path":"aws-cdk-ec2-vpc-endpoint/MyVpc/SESEndpoint/SecurityGroup","constructInfo":{"fqn":"aws-cdk-lib.aws_ec2.SecurityGroup","version":"0.0.0","metadata":[{"vpc":"*"},{"addIngressRule":[{"canInlineRule":true,"connections":"*","uniqueId":"*"},{},"*",false]}]},"children":{"Resource":{"id":"Resource","path":"aws-cdk-ec2-vpc-endpoint/MyVpc/SESEndpoint/SecurityGroup/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_ec2.CfnSecurityGroup","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::EC2::SecurityGroup","aws:cdk:cloudformation:props":{"groupDescription":"aws-cdk-ec2-vpc-endpoint/MyVpc/SESEndpoint/SecurityGroup","securityGroupEgress":[{"cidrIp":"0.0.0.0/0","description":"Allow all outbound traffic by default","ipProtocol":"-1"}],"securityGroupIngress":[{"cidrIp":{"Fn::GetAtt":["MyVpcF9F0CA6F","CidrBlock"]},"ipProtocol":"tcp","fromPort":587,"toPort":587,"description":{"Fn::Join":["",["from ",{"Fn::GetAtt":["MyVpcF9F0CA6F","CidrBlock"]},":587"]]}}],"tags":[{"key":"Name","value":"aws-cdk-ec2-vpc-endpoint/MyVpc"}],"vpcId":{"Ref":"MyVpcF9F0CA6F"}}}}}},"Resource":{"id":"Resource","path":"aws-cdk-ec2-vpc-endpoint/MyVpc/SESEndpoint/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_ec2.CfnVPCEndpoint","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::EC2::VPCEndpoint","aws:cdk:cloudformation:props":{"tags":[{"key":"Name","value":"aws-cdk-ec2-vpc-endpoint/MyVpc"}],"privateDnsEnabled":true,"securityGroupIds":[{"Fn::GetAtt":["MyVpcSESEndpointSecurityGroup06F927CE","GroupId"]}],"serviceName":"com.amazonaws.us-west-2.email-smtp","subnetIds":[{"Ref":"MyVpcPrivateSubnet1Subnet5057CF7E"},{"Ref":"MyVpcPrivateSubnet2Subnet0040C983"}],"vpcEndpointType":"Interface","vpcId":{"Ref":"MyVpcF9F0CA6F"}}}}}},"CloudwatchLogsEndpoint":{"id":"CloudwatchLogsEndpoint","path":"aws-cdk-ec2-vpc-endpoint/MyVpc/CloudwatchLogsEndpoint","constructInfo":{"fqn":"aws-cdk-lib.aws_ec2.InterfaceVpcEndpoint","version":"0.0.0","metadata":[{"vpc":"*","service":{"privateDnsDefault":true,"name":"*","port":"*"},"ipAddressType":"ipv4","dnsRecordIpType":"ipv4"}]},"children":{"SecurityGroup":{"id":"SecurityGroup","path":"aws-cdk-ec2-vpc-endpoint/MyVpc/CloudwatchLogsEndpoint/SecurityGroup","constructInfo":{"fqn":"aws-cdk-lib.aws_ec2.SecurityGroup","version":"0.0.0","metadata":[{"vpc":"*"},{"addIngressRule":[{"canInlineRule":true,"connections":"*","uniqueId":"*"},{},"*",false]}]},"children":{"Resource":{"id":"Resource","path":"aws-cdk-ec2-vpc-endpoint/MyVpc/CloudwatchLogsEndpoint/SecurityGroup/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_ec2.CfnSecurityGroup","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::EC2::SecurityGroup","aws:cdk:cloudformation:props":{"groupDescription":"aws-cdk-ec2-vpc-endpoint/MyVpc/CloudwatchLogsEndpoint/SecurityGroup","securityGroupEgress":[{"cidrIp":"0.0.0.0/0","description":"Allow all outbound traffic by default","ipProtocol":"-1"}],"securityGroupIngress":[{"cidrIp":{"Fn::GetAtt":["MyVpcF9F0CA6F","CidrBlock"]},"ipProtocol":"tcp","fromPort":443,"toPort":443,"description":{"Fn::Join":["",["from ",{"Fn::GetAtt":["MyVpcF9F0CA6F","CidrBlock"]},":443"]]}}],"tags":[{"key":"Name","value":"aws-cdk-ec2-vpc-endpoint/MyVpc"}],"vpcId":{"Ref":"MyVpcF9F0CA6F"}}}}}},"Resource":{"id":"Resource","path":"aws-cdk-ec2-vpc-endpoint/MyVpc/CloudwatchLogsEndpoint/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_ec2.CfnVPCEndpoint","version":"0.0.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::EC2::VPCEndpoint","aws:cdk:cloudformation:props":{"tags":[{"key":"Name","value":"aws-cdk-ec2-vpc-endpoint/MyVpc"}],"dnsOptions":{"dnsRecordIpType":"ipv4"},"ipAddressType":"ipv4","privateDnsEnabled":true,"securityGroupIds":[{"Fn::GetAtt":["MyVpcCloudwatchLogsEndpointSecurityGroup4A3B5DFB","GroupId"]}],"serviceName":"com.amazonaws.us-west-2.logs","subnetIds":[{"Ref":"MyVpcPrivateSubnet1Subnet5057CF7E"},{"Ref":"MyVpcPrivateSubnet2Subnet0040C983"}],"vpcEndpointType":"Interface","vpcId":{"Ref":"MyVpcF9F0CA6F"}}}}}}}},"BootstrapVersion":{"id":"BootstrapVersion","path":"aws-cdk-ec2-vpc-endpoint/BootstrapVersion","constructInfo":{"fqn":"aws-cdk-lib.CfnParameter","version":"0.0.0"}},"CheckBootstrapVersion":{"id":"CheckBootstrapVersion","path":"aws-cdk-ec2-vpc-endpoint/CheckBootstrapVersion","constructInfo":{"fqn":"aws-cdk-lib.CfnRule","version":"0.0.0"}}}},"Tree":{"id":"Tree","path":"Tree","constructInfo":{"fqn":"constructs.Construct","version":"10.4.2"}}}}} \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-ec2/test/integ.vpc-endpoint.lit.ts b/packages/@aws-cdk-testing/framework-integ/test/aws-ec2/test/integ.vpc-endpoint.lit.ts index 11001f72df6b6..e3406a37d44aa 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-ec2/test/integ.vpc-endpoint.lit.ts +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-ec2/test/integ.vpc-endpoint.lit.ts @@ -49,6 +49,11 @@ class VpcEndpointStack extends cdk.Stack { privateDnsEnabled: false, }); + // Add an interface with a non-standard port + vpc.addInterfaceEndpoint('SESEndpoint', { + service: ec2.InterfaceVpcEndpointAwsService.EMAIL_SMTP, + }); + // Add an interface endpoint with ipAddressType and dnsRecordIpType vpc.addInterfaceEndpoint('CloudwatchLogsEndpoint', { service: ec2.InterfaceVpcEndpointAwsService.CLOUDWATCH_LOGS, @@ -64,5 +69,5 @@ class VpcEndpointStack extends cdk.Stack { } } -new VpcEndpointStack(app, 'aws-cdk-ec2-vpc-endpoint'); +new VpcEndpointStack(app, 'aws-cdk-ec2-vpc-endpoint', { env: { region: 'us-west-2' } }); app.synth(); diff --git a/packages/aws-cdk-lib/aws-ec2/lib/vpc-endpoint.ts b/packages/aws-cdk-lib/aws-ec2/lib/vpc-endpoint.ts index 5c9e6b6069dec..a4e546b4987cc 100644 --- a/packages/aws-cdk-lib/aws-ec2/lib/vpc-endpoint.ts +++ b/packages/aws-cdk-lib/aws-ec2/lib/vpc-endpoint.ts @@ -515,7 +515,7 @@ export class InterfaceVpcEndpointAwsService implements IInterfaceVpcEndpointServ public static readonly ELASTICACHE = new InterfaceVpcEndpointAwsService('elasticache'); public static readonly ELASTICACHE_FIPS = new InterfaceVpcEndpointAwsService('elasticache-fips'); public static readonly ELEMENTAL_MEDIACONNECT = new InterfaceVpcEndpointAwsService('mediaconnect'); - public static readonly EMAIL_SMTP = new InterfaceVpcEndpointAwsService('email-smtp'); + public static readonly EMAIL_SMTP = new InterfaceVpcEndpointAwsService('email-smtp', undefined, 587); public static readonly EMR = new InterfaceVpcEndpointAwsService('elasticmapreduce'); public static readonly EMR_EKS = new InterfaceVpcEndpointAwsService('emr-containers'); public static readonly EMR_SERVERLESS = new InterfaceVpcEndpointAwsService('emr-serverless'); @@ -721,7 +721,7 @@ export class InterfaceVpcEndpointAwsService implements IInterfaceVpcEndpointServ public static readonly SERVER_MIGRATION_SERVICE_AWSCONNECTOR = new InterfaceVpcEndpointAwsService('awsconnector'); public static readonly SERVERLESS_APPLICATION_REPOSITORY = new InterfaceVpcEndpointAwsService('serverlessrepo'); /** @deprecated - Use InterfaceVpcEndpointAwsService.EMAIL_SMTP instead. */ - public static readonly SES = new InterfaceVpcEndpointAwsService('email-smtp'); + public static readonly SES = new InterfaceVpcEndpointAwsService('email-smtp', undefined, 587); public static readonly SHIELD = new InterfaceVpcEndpointAwsService('shield'); public static readonly SHIELD_FIPS = new InterfaceVpcEndpointAwsService('shield-fips'); public static readonly SIMSPACE_WEAVER = new InterfaceVpcEndpointAwsService('simspaceweaver'); diff --git a/packages/aws-cdk-lib/aws-ec2/test/vpc-endpoint.test.ts b/packages/aws-cdk-lib/aws-ec2/test/vpc-endpoint.test.ts index 0837ee5d0cc8f..c5afdb342a22e 100644 --- a/packages/aws-cdk-lib/aws-ec2/test/vpc-endpoint.test.ts +++ b/packages/aws-cdk-lib/aws-ec2/test/vpc-endpoint.test.ts @@ -415,6 +415,28 @@ describe('vpc endpoint', () => { ], }); }); + test('security group has correct port for EMAIL_SMTP', () => { + // GIVEN + const stack = new Stack(); + const vpc = new Vpc(stack, 'VpcNetwork'); + + // WHEN + vpc.addInterfaceEndpoint('SESEndpoint', { + service: InterfaceVpcEndpointAwsService.EMAIL_SMTP, + }); + + // THEN + Template.fromStack(stack).hasResourceProperties('AWS::EC2::SecurityGroup', { + SecurityGroupIngress: [ + Match.objectLike({ + CidrIp: { 'Fn::GetAtt': ['VpcNetworkB258E83A', 'CidrBlock'] }, + FromPort: 587, + IpProtocol: 'tcp', + ToPort: 587, + }), + ], + }); + }); test('non-AWS service interface endpoint', () => { // GIVEN const stack = new Stack();