@mavogel/cdk-vscode-server 0.0.55 → 0.0.56
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude/hooks/file_checker.sh +0 -0
- package/.jsii +96 -24
- package/API.md +56 -0
- package/CLAUDE.md +84 -118
- package/README.md +48 -0
- package/assets/installer/installer.lambda/index.js +14 -2
- package/examples/custom-domain/main.ts +49 -0
- package/integ-tests/integ.al2023.ts.snapshot/IntegSetupVSCodeOnAl2023DefaultTestDeployAssert74D8F645.assets.json +7 -6
- package/integ-tests/integ.al2023.ts.snapshot/IntegSetupVSCodeOnAl2023DefaultTestDeployAssert74D8F645.template.json +6 -6
- package/integ-tests/integ.al2023.ts.snapshot/IntegTestStackAl2023.assets.json +20 -12
- package/integ-tests/integ.al2023.ts.snapshot/IntegTestStackAl2023.template.json +36 -152
- package/integ-tests/integ.al2023.ts.snapshot/{asset.23732f3d1982f7fb0da3bd6638a8107337bb767fea165b45eae12000a1dd67ce → asset.0ad50fc42afd768c3d0bfdd4701e43284fb077a25f19eea1e8c51a5ca36ebfe4}/index.js +988 -1165
- package/integ-tests/{integ.ubuntu.ts.snapshot/asset.a9865c9d36c7aa999e28cb7926e7a3a8e0b6d0854b25131a172024c5777442fa.lambda → integ.al2023.ts.snapshot/asset.33da23274e25bd9f43638c5d83dad26e3931cbe78d462ffd9a9f565e948b4f5f.lambda}/index.js +14 -2
- package/integ-tests/{integ.ubuntu.ts.snapshot/asset.f692c9f68e4daba2abc99103efd3518bced1e9d7a2a89847b9b5d5473c64f1bd.bundle → integ.al2023.ts.snapshot/asset.530055f7515b3f0a47900f5df37e729ba40ca977b2d07b952bdefa2b8f883f42.bundle}/index.js +296 -191
- package/integ-tests/{integ.ubuntu.ts.snapshot/asset.ce2f3595a340d6c519a65888ef97e3b9b64f053f83608e32cc28162e22d7d99a → integ.al2023.ts.snapshot/asset.9d043014be736e8162bcc7ec5590cc6d2ff24fd0d9c73a5c5d595151c5fdad00}/index.js +1 -1
- package/integ-tests/integ.al2023.ts.snapshot/cdk.out +1 -1
- package/integ-tests/integ.al2023.ts.snapshot/integ.json +4 -3
- package/integ-tests/integ.al2023.ts.snapshot/manifest.json +956 -7
- package/integ-tests/integ.al2023.ts.snapshot/tree.json +1 -3228
- package/integ-tests/integ.custom-domain.ts +87 -0
- package/integ-tests/integ.custom-domain.ts.snapshot/IntegSetupVSCodeOnCustomDomainDefaultTestDeployAssert6982D514.assets.json +33 -0
- package/integ-tests/integ.custom-domain.ts.snapshot/IntegSetupVSCodeOnCustomDomainDefaultTestDeployAssert6982D514.template.json +333 -0
- package/integ-tests/integ.custom-domain.ts.snapshot/IntegTestStackCustomDomain.assets.json +132 -0
- package/integ-tests/integ.custom-domain.ts.snapshot/IntegTestStackCustomDomain.template.json +2862 -0
- package/integ-tests/{integ.ubuntu.ts.snapshot/asset.23732f3d1982f7fb0da3bd6638a8107337bb767fea165b45eae12000a1dd67ce → integ.custom-domain.ts.snapshot/asset.0ad50fc42afd768c3d0bfdd4701e43284fb077a25f19eea1e8c51a5ca36ebfe4}/index.js +988 -1165
- package/integ-tests/integ.custom-domain.ts.snapshot/asset.2819175352ad1ce0dae768e83fc328fb70fb5f10b4a8ff0ccbcb791f02b0716d/index.js +1 -0
- package/integ-tests/{integ.al2023.ts.snapshot/asset.a9865c9d36c7aa999e28cb7926e7a3a8e0b6d0854b25131a172024c5777442fa.lambda → integ.custom-domain.ts.snapshot/asset.33da23274e25bd9f43638c5d83dad26e3931cbe78d462ffd9a9f565e948b4f5f.lambda}/index.js +14 -2
- package/integ-tests/{integ.al2023.ts.snapshot/asset.f692c9f68e4daba2abc99103efd3518bced1e9d7a2a89847b9b5d5473c64f1bd.bundle → integ.custom-domain.ts.snapshot/asset.530055f7515b3f0a47900f5df37e729ba40ca977b2d07b952bdefa2b8f883f42.bundle}/index.js +296 -191
- package/integ-tests/integ.custom-domain.ts.snapshot/asset.781ab0ab74634cdaf61539ab208ab777829ef07097ac21f95b9e15a3b1eedc1b.lambda/index.js +57 -0
- package/integ-tests/integ.custom-domain.ts.snapshot/asset.7fa1e366ee8a9ded01fc355f704cff92bfd179574e6f9cfee800a3541df1b200/__entrypoint__.js +1 -0
- package/integ-tests/integ.custom-domain.ts.snapshot/asset.7fa1e366ee8a9ded01fc355f704cff92bfd179574e6f9cfee800a3541df1b200/index.js +1 -0
- package/integ-tests/{integ.al2023.ts.snapshot/asset.ce2f3595a340d6c519a65888ef97e3b9b64f053f83608e32cc28162e22d7d99a → integ.custom-domain.ts.snapshot/asset.9d043014be736e8162bcc7ec5590cc6d2ff24fd0d9c73a5c5d595151c5fdad00}/index.js +1 -1
- package/integ-tests/integ.custom-domain.ts.snapshot/asset.b073cebcf4d61fb152a30f5a5e57a94df7f980a549fdf1a79a0b18c5750522d8/index.js +1 -0
- package/integ-tests/integ.custom-domain.ts.snapshot/asset.bdc104ed9cab1b5b6421713c8155f0b753380595356f710400609664d3635eca/cfn-response.js +1 -0
- package/integ-tests/integ.custom-domain.ts.snapshot/asset.bdc104ed9cab1b5b6421713c8155f0b753380595356f710400609664d3635eca/consts.js +1 -0
- package/integ-tests/integ.custom-domain.ts.snapshot/asset.bdc104ed9cab1b5b6421713c8155f0b753380595356f710400609664d3635eca/framework.js +3 -0
- package/integ-tests/integ.custom-domain.ts.snapshot/asset.bdc104ed9cab1b5b6421713c8155f0b753380595356f710400609664d3635eca/outbound.js +1 -0
- package/integ-tests/integ.custom-domain.ts.snapshot/asset.bdc104ed9cab1b5b6421713c8155f0b753380595356f710400609664d3635eca/util.js +1 -0
- package/integ-tests/integ.custom-domain.ts.snapshot/integ.json +23 -0
- package/integ-tests/integ.custom-domain.ts.snapshot/manifest.json +1653 -0
- package/integ-tests/integ.custom-domain.ts.snapshot/tree.json +1 -0
- package/integ-tests/integ.ubuntu.ts.snapshot/IntegSetupVSCodeOnUbuntuDefaultTestDeployAssertFF8DF2C5.assets.json +7 -6
- package/integ-tests/integ.ubuntu.ts.snapshot/IntegSetupVSCodeOnUbuntuDefaultTestDeployAssertFF8DF2C5.template.json +6 -6
- package/integ-tests/integ.ubuntu.ts.snapshot/IntegTestStackUbuntu22.assets.json +20 -12
- package/integ-tests/integ.ubuntu.ts.snapshot/IntegTestStackUbuntu22.template.json +36 -72
- package/integ-tests/integ.ubuntu.ts.snapshot/asset.0ad50fc42afd768c3d0bfdd4701e43284fb077a25f19eea1e8c51a5ca36ebfe4/index.js +5992 -0
- package/integ-tests/integ.ubuntu.ts.snapshot/asset.33da23274e25bd9f43638c5d83dad26e3931cbe78d462ffd9a9f565e948b4f5f.lambda/index.js +143 -0
- package/integ-tests/integ.ubuntu.ts.snapshot/asset.530055f7515b3f0a47900f5df37e729ba40ca977b2d07b952bdefa2b8f883f42.bundle/index.js +30676 -0
- package/integ-tests/integ.ubuntu.ts.snapshot/asset.9d043014be736e8162bcc7ec5590cc6d2ff24fd0d9c73a5c5d595151c5fdad00/index.js +1 -0
- package/integ-tests/integ.ubuntu.ts.snapshot/cdk.out +1 -1
- package/integ-tests/integ.ubuntu.ts.snapshot/integ.json +3 -2
- package/integ-tests/integ.ubuntu.ts.snapshot/manifest.json +956 -7
- package/integ-tests/integ.ubuntu.ts.snapshot/tree.json +1 -3070
- package/lib/installer/installer.d.ts +7 -0
- package/lib/installer/installer.js +15 -7
- package/lib/installer/installer.lambda.js +20 -3
- package/lib/vscode-server.d.ts +33 -0
- package/lib/vscode-server.js +165 -5
- package/mavogelcdkvscodeserver/go.mod +1 -1
- package/mavogelcdkvscodeserver/jsii/jsii.go +2 -2
- package/mavogelcdkvscodeserver/version +1 -1
- package/package.json +4 -4
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":"tree-0.1","tree":{"id":"App","path":"","children":{"IntegTestStackCustomDomain":{"id":"IntegTestStackCustomDomain","path":"IntegTestStackCustomDomain","children":{"IntegVSCodeServer":{"id":"IntegVSCodeServer","path":"IntegTestStackCustomDomain/IntegVSCodeServer","children":{"password-secret":{"id":"password-secret","path":"IntegTestStackCustomDomain/IntegVSCodeServer/password-secret","children":{"Resource":{"id":"Resource","path":"IntegTestStackCustomDomain/IntegVSCodeServer/password-secret/Resource","attributes":{"aws:cdk:cloudformation:type":"AWS::SecretsManager::Secret","aws:cdk:cloudformation:props":{"generateSecretString":{"passwordLength":16,"secretStringTemplate":"{\"username\":\"participant\"}","excludePunctuation":true,"includeSpace":false,"generateStringKey":"password"},"tags":[{"key":"app","value":"vscode-server"},{"key":"Environment","value":"IntegTestCustomDomain"},{"key":"IntegTest","value":"True"}]}},"constructInfo":{"fqn":"aws-cdk-lib.aws_secretsmanager.CfnSecret","version":"2.190.0"}}},"constructInfo":{"fqn":"aws-cdk-lib.aws_secretsmanager.Secret","version":"2.190.0","metadata":[{"generateSecretString":{"passwordLength":"*","secretStringTemplate":"*","excludePunctuation":true,"includeSpace":false,"generateStringKey":"*"}}]}},"SecretRetrieverOnEventHandler":{"id":"SecretRetrieverOnEventHandler","path":"IntegTestStackCustomDomain/IntegVSCodeServer/SecretRetrieverOnEventHandler","children":{"ServiceRole":{"id":"ServiceRole","path":"IntegTestStackCustomDomain/IntegVSCodeServer/SecretRetrieverOnEventHandler/ServiceRole","children":{"ImportServiceRole":{"id":"ImportServiceRole","path":"IntegTestStackCustomDomain/IntegVSCodeServer/SecretRetrieverOnEventHandler/ServiceRole/ImportServiceRole","constructInfo":{"fqn":"aws-cdk-lib.Resource","version":"2.190.0","metadata":["*"]}},"Resource":{"id":"Resource","path":"IntegTestStackCustomDomain/IntegVSCodeServer/SecretRetrieverOnEventHandler/ServiceRole/Resource","attributes":{"aws:cdk:cloudformation:type":"AWS::IAM::Role","aws:cdk:cloudformation:props":{"assumeRolePolicyDocument":{"Statement":[{"Action":"sts:AssumeRole","Effect":"Allow","Principal":{"Service":"lambda.amazonaws.com"}}],"Version":"2012-10-17"},"managedPolicyArns":[{"Fn::Join":["",["arn:",{"Ref":"AWS::Partition"},":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole"]]}]}},"constructInfo":{"fqn":"aws-cdk-lib.aws_iam.CfnRole","version":"2.190.0"}},"DefaultPolicy":{"id":"DefaultPolicy","path":"IntegTestStackCustomDomain/IntegVSCodeServer/SecretRetrieverOnEventHandler/ServiceRole/DefaultPolicy","children":{"Resource":{"id":"Resource","path":"IntegTestStackCustomDomain/IntegVSCodeServer/SecretRetrieverOnEventHandler/ServiceRole/DefaultPolicy/Resource","attributes":{"aws:cdk:cloudformation:type":"AWS::IAM::Policy","aws:cdk:cloudformation:props":{"policyDocument":{"Statement":[{"Action":"secretsmanager:GetSecretValue","Effect":"Allow","Resource":{"Ref":"IntegVSCodeServerpasswordsecret202A5DB3"}}],"Version":"2012-10-17"},"policyName":"IntegVSCodeServerSecretRetrieverOnEventHandlerServiceRoleDefaultPolicy2641E2C6","roles":[{"Ref":"IntegVSCodeServerSecretRetrieverOnEventHandlerServiceRoleBEF8D4D2"}]}},"constructInfo":{"fqn":"aws-cdk-lib.aws_iam.CfnPolicy","version":"2.190.0"}}},"constructInfo":{"fqn":"aws-cdk-lib.aws_iam.Policy","version":"2.190.0","metadata":["*",{"attachToRole":["*"]},{"attachToRole":["*"]},{"addStatements":[{}]}]}}},"constructInfo":{"fqn":"aws-cdk-lib.aws_iam.Role","version":"2.190.0","metadata":[{"assumedBy":{"principalAccount":"*","assumeRoleAction":"*"},"managedPolicies":[{"managedPolicyArn":"*"}]},{"addToPrincipalPolicy":[{}]},{"attachInlinePolicy":["*"]},{"attachInlinePolicy":["*"]}]}},"Code":{"id":"Code","path":"IntegTestStackCustomDomain/IntegVSCodeServer/SecretRetrieverOnEventHandler/Code","children":{"Stage":{"id":"Stage","path":"IntegTestStackCustomDomain/IntegVSCodeServer/SecretRetrieverOnEventHandler/Code/Stage","constructInfo":{"fqn":"aws-cdk-lib.AssetStaging","version":"2.190.0"}},"AssetBucket":{"id":"AssetBucket","path":"IntegTestStackCustomDomain/IntegVSCodeServer/SecretRetrieverOnEventHandler/Code/AssetBucket","constructInfo":{"fqn":"aws-cdk-lib.aws_s3.BucketBase","version":"2.190.0","metadata":[]}}},"constructInfo":{"fqn":"aws-cdk-lib.aws_s3_assets.Asset","version":"2.190.0"}},"Resource":{"id":"Resource","path":"IntegTestStackCustomDomain/IntegVSCodeServer/SecretRetrieverOnEventHandler/Resource","attributes":{"aws:cdk:cloudformation:type":"AWS::Lambda::Function","aws:cdk:cloudformation:props":{"code":{"s3Bucket":{"Fn::Sub":"cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}"},"s3Key":"781ab0ab74634cdaf61539ab208ab777829ef07097ac21f95b9e15a3b1eedc1b.zip"},"description":"src/secret-retriever/secret-retriever.lambda.ts","handler":"index.handler","memorySize":128,"role":{"Fn::GetAtt":["IntegVSCodeServerSecretRetrieverOnEventHandlerServiceRoleBEF8D4D2","Arn"]},"runtime":"nodejs20.x","timeout":10}},"constructInfo":{"fqn":"aws-cdk-lib.aws_lambda.CfnFunction","version":"2.190.0"}}},"constructInfo":{"fqn":"aws-cdk-lib.aws_lambda.Function","version":"2.190.0","metadata":[{"description":"*","timeout":"*","memorySize":"*","runtime":"*","handler":"*","code":"*"}]}},"SecretRetrieveProvider":{"id":"SecretRetrieveProvider","path":"IntegTestStackCustomDomain/IntegVSCodeServer/SecretRetrieveProvider","children":{"framework-onEvent":{"id":"framework-onEvent","path":"IntegTestStackCustomDomain/IntegVSCodeServer/SecretRetrieveProvider/framework-onEvent","children":{"ServiceRole":{"id":"ServiceRole","path":"IntegTestStackCustomDomain/IntegVSCodeServer/SecretRetrieveProvider/framework-onEvent/ServiceRole","children":{"ImportServiceRole":{"id":"ImportServiceRole","path":"IntegTestStackCustomDomain/IntegVSCodeServer/SecretRetrieveProvider/framework-onEvent/ServiceRole/ImportServiceRole","constructInfo":{"fqn":"aws-cdk-lib.Resource","version":"2.190.0","metadata":["*"]}},"Resource":{"id":"Resource","path":"IntegTestStackCustomDomain/IntegVSCodeServer/SecretRetrieveProvider/framework-onEvent/ServiceRole/Resource","attributes":{"aws:cdk:cloudformation:type":"AWS::IAM::Role","aws:cdk:cloudformation:props":{"assumeRolePolicyDocument":{"Statement":[{"Action":"sts:AssumeRole","Effect":"Allow","Principal":{"Service":"lambda.amazonaws.com"}}],"Version":"2012-10-17"},"managedPolicyArns":[{"Fn::Join":["",["arn:",{"Ref":"AWS::Partition"},":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole"]]}]}},"constructInfo":{"fqn":"aws-cdk-lib.aws_iam.CfnRole","version":"2.190.0"}},"DefaultPolicy":{"id":"DefaultPolicy","path":"IntegTestStackCustomDomain/IntegVSCodeServer/SecretRetrieveProvider/framework-onEvent/ServiceRole/DefaultPolicy","children":{"Resource":{"id":"Resource","path":"IntegTestStackCustomDomain/IntegVSCodeServer/SecretRetrieveProvider/framework-onEvent/ServiceRole/DefaultPolicy/Resource","attributes":{"aws:cdk:cloudformation:type":"AWS::IAM::Policy","aws:cdk:cloudformation:props":{"policyDocument":{"Statement":[{"Action":"lambda:InvokeFunction","Effect":"Allow","Resource":[{"Fn::GetAtt":["IntegVSCodeServerSecretRetrieverOnEventHandlerDD084AE3","Arn"]},{"Fn::Join":["",[{"Fn::GetAtt":["IntegVSCodeServerSecretRetrieverOnEventHandlerDD084AE3","Arn"]},":*"]]}]},{"Action":"lambda:GetFunction","Effect":"Allow","Resource":{"Fn::GetAtt":["IntegVSCodeServerSecretRetrieverOnEventHandlerDD084AE3","Arn"]}}],"Version":"2012-10-17"},"policyName":"IntegVSCodeServerSecretRetrieveProviderframeworkonEventServiceRoleDefaultPolicyEC4DCEA0","roles":[{"Ref":"IntegVSCodeServerSecretRetrieveProviderframeworkonEventServiceRole0F156B64"}]}},"constructInfo":{"fqn":"aws-cdk-lib.aws_iam.CfnPolicy","version":"2.190.0"}}},"constructInfo":{"fqn":"aws-cdk-lib.aws_iam.Policy","version":"2.190.0","metadata":["*",{"attachToRole":["*"]},{"attachToRole":["*"]},{"addStatements":[{}]},{"addStatements":[{}]}]}}},"constructInfo":{"fqn":"aws-cdk-lib.aws_iam.Role","version":"2.190.0","metadata":[{"assumedBy":{"principalAccount":"*","assumeRoleAction":"*"},"managedPolicies":[{"managedPolicyArn":"*"}]},{"addToPrincipalPolicy":[{}]},{"attachInlinePolicy":["*"]},{"attachInlinePolicy":["*"]},{"addToPrincipalPolicy":[{}]}]}},"Code":{"id":"Code","path":"IntegTestStackCustomDomain/IntegVSCodeServer/SecretRetrieveProvider/framework-onEvent/Code","children":{"Stage":{"id":"Stage","path":"IntegTestStackCustomDomain/IntegVSCodeServer/SecretRetrieveProvider/framework-onEvent/Code/Stage","constructInfo":{"fqn":"aws-cdk-lib.AssetStaging","version":"2.190.0"}},"AssetBucket":{"id":"AssetBucket","path":"IntegTestStackCustomDomain/IntegVSCodeServer/SecretRetrieveProvider/framework-onEvent/Code/AssetBucket","constructInfo":{"fqn":"aws-cdk-lib.aws_s3.BucketBase","version":"2.190.0","metadata":[]}}},"constructInfo":{"fqn":"aws-cdk-lib.aws_s3_assets.Asset","version":"2.190.0"}},"Resource":{"id":"Resource","path":"IntegTestStackCustomDomain/IntegVSCodeServer/SecretRetrieveProvider/framework-onEvent/Resource","attributes":{"aws:cdk:cloudformation:type":"AWS::Lambda::Function","aws:cdk:cloudformation:props":{"code":{"s3Bucket":{"Fn::Sub":"cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}"},"s3Key":"bdc104ed9cab1b5b6421713c8155f0b753380595356f710400609664d3635eca.zip"},"description":"AWS CDK resource provider framework - onEvent (IntegTestStackCustomDomain/IntegVSCodeServer/SecretRetrieveProvider)","environment":{"variables":{"USER_ON_EVENT_FUNCTION_ARN":{"Fn::GetAtt":["IntegVSCodeServerSecretRetrieverOnEventHandlerDD084AE3","Arn"]}}},"handler":"framework.onEvent","role":{"Fn::GetAtt":["IntegVSCodeServerSecretRetrieveProviderframeworkonEventServiceRole0F156B64","Arn"]},"runtime":{"Fn::FindInMap":["LatestNodeRuntimeMap",{"Ref":"AWS::Region"},"value"]},"timeout":900}},"constructInfo":{"fqn":"aws-cdk-lib.aws_lambda.CfnFunction","version":"2.190.0"}}},"constructInfo":{"fqn":"aws-cdk-lib.aws_lambda.Function","version":"2.190.0","metadata":[{"code":"*","description":"*","runtime":"*","handler":"*","timeout":"*","logGroup":"*","vpc":"*","vpcSubnets":"*","securityGroups":"*","role":"*","functionName":"*","environmentEncryption":"*"},{"addEnvironment":["*","*"]}]}}},"constructInfo":{"fqn":"aws-cdk-lib.custom_resources.Provider","version":"2.190.0"}},"SecretRetrieverCustomResource":{"id":"SecretRetrieverCustomResource","path":"IntegTestStackCustomDomain/IntegVSCodeServer/SecretRetrieverCustomResource","children":{"Default":{"id":"Default","path":"IntegTestStackCustomDomain/IntegVSCodeServer/SecretRetrieverCustomResource/Default","constructInfo":{"fqn":"aws-cdk-lib.CfnResource","version":"2.190.0"}}},"constructInfo":{"fqn":"aws-cdk-lib.CustomResource","version":"2.190.0","metadata":["*","*","*","*"]}},"hosted-zone":{"id":"hosted-zone","path":"IntegTestStackCustomDomain/IntegVSCodeServer/hosted-zone","constructInfo":{"fqn":"aws-cdk-lib.Resource","version":"2.190.0","metadata":[]}},"certificate-validation-role":{"id":"certificate-validation-role","path":"IntegTestStackCustomDomain/IntegVSCodeServer/certificate-validation-role","children":{"Importcertificate-validation-role":{"id":"Importcertificate-validation-role","path":"IntegTestStackCustomDomain/IntegVSCodeServer/certificate-validation-role/Importcertificate-validation-role","constructInfo":{"fqn":"aws-cdk-lib.Resource","version":"2.190.0","metadata":["*"]}},"Resource":{"id":"Resource","path":"IntegTestStackCustomDomain/IntegVSCodeServer/certificate-validation-role/Resource","attributes":{"aws:cdk:cloudformation:type":"AWS::IAM::Role","aws:cdk:cloudformation:props":{"assumeRolePolicyDocument":{"Statement":[{"Action":"sts:AssumeRole","Effect":"Allow","Principal":{"Service":"lambda.amazonaws.com"}}],"Version":"2012-10-17"},"managedPolicyArns":[{"Fn::Join":["",["arn:",{"Ref":"AWS::Partition"},":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole"]]}],"policies":[{"policyName":"CertificateValidationPolicy","policyDocument":{"Statement":[{"Action":["acm:DeleteCertificate","acm:DescribeCertificate","acm:RequestCertificate","route53:ChangeResourceRecordSets","route53:GetChange"],"Effect":"Allow","Resource":"*"}],"Version":"2012-10-17"}}]}},"constructInfo":{"fqn":"aws-cdk-lib.aws_iam.CfnRole","version":"2.190.0"}},"DefaultPolicy":{"id":"DefaultPolicy","path":"IntegTestStackCustomDomain/IntegVSCodeServer/certificate-validation-role/DefaultPolicy","children":{"Resource":{"id":"Resource","path":"IntegTestStackCustomDomain/IntegVSCodeServer/certificate-validation-role/DefaultPolicy/Resource","attributes":{"aws:cdk:cloudformation:type":"AWS::IAM::Policy","aws:cdk:cloudformation:props":{"policyDocument":{"Statement":[{"Action":["acm:AddTagsToCertificate","acm:DeleteCertificate","acm:DescribeCertificate","acm:RequestCertificate","route53:GetChange"],"Effect":"Allow","Resource":"*"},{"Action":"route53:changeResourceRecordSets","Condition":{"ForAllValues:StringEquals":{"route53:ChangeResourceRecordSetsRecordTypes":["CNAME"],"route53:ChangeResourceRecordSetsActions":["UPSERT"]},"ForAllValues:StringLike":{"route53:ChangeResourceRecordSetsNormalizedRecordNames":["*.vscode-server-test.mavogel.xyz"]}},"Effect":"Allow","Resource":{"Fn::Join":["",["arn:",{"Ref":"AWS::Partition"},":route53:::hostedzone/Z03751551EDMO1J40VL58"]]}}],"Version":"2012-10-17"},"policyName":"IntegVSCodeServercertificatevalidationroleDefaultPolicy7ED8ABBB","roles":[{"Ref":"IntegVSCodeServercertificatevalidationroleBD33BDA4"}]}},"constructInfo":{"fqn":"aws-cdk-lib.aws_iam.CfnPolicy","version":"2.190.0"}}},"constructInfo":{"fqn":"aws-cdk-lib.aws_iam.Policy","version":"2.190.0","metadata":["*",{"attachToRole":["*"]},{"attachToRole":["*"]},{"addStatements":[{}]},{"addStatements":[{}]},{"addStatements":[{}]}]}}},"constructInfo":{"fqn":"aws-cdk-lib.aws_iam.Role","version":"2.190.0","metadata":[{"assumedBy":{"principalAccount":"*","assumeRoleAction":"*"},"managedPolicies":[{"managedPolicyArn":"*"}],"inlinePolicies":"*"},{"addToPrincipalPolicy":[{}]},{"attachInlinePolicy":["*"]},{"attachInlinePolicy":["*"]},{"addToPrincipalPolicy":[{}]},{"addToPrincipalPolicy":[{}]}]}},"certificate":{"id":"certificate","path":"IntegTestStackCustomDomain/IntegVSCodeServer/certificate","children":{"CertificateRequestorFunction":{"id":"CertificateRequestorFunction","path":"IntegTestStackCustomDomain/IntegVSCodeServer/certificate/CertificateRequestorFunction","children":{"Code":{"id":"Code","path":"IntegTestStackCustomDomain/IntegVSCodeServer/certificate/CertificateRequestorFunction/Code","children":{"Stage":{"id":"Stage","path":"IntegTestStackCustomDomain/IntegVSCodeServer/certificate/CertificateRequestorFunction/Code/Stage","constructInfo":{"fqn":"aws-cdk-lib.AssetStaging","version":"2.190.0"}},"AssetBucket":{"id":"AssetBucket","path":"IntegTestStackCustomDomain/IntegVSCodeServer/certificate/CertificateRequestorFunction/Code/AssetBucket","constructInfo":{"fqn":"aws-cdk-lib.aws_s3.BucketBase","version":"2.190.0","metadata":[]}}},"constructInfo":{"fqn":"aws-cdk-lib.aws_s3_assets.Asset","version":"2.190.0"}},"Resource":{"id":"Resource","path":"IntegTestStackCustomDomain/IntegVSCodeServer/certificate/CertificateRequestorFunction/Resource","attributes":{"aws:cdk:cloudformation:type":"AWS::Lambda::Function","aws:cdk:cloudformation:props":{"code":{"s3Bucket":{"Fn::Sub":"cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}"},"s3Key":"b073cebcf4d61fb152a30f5a5e57a94df7f980a549fdf1a79a0b18c5750522d8.zip"},"handler":"index.certificateRequestHandler","role":{"Fn::GetAtt":["IntegVSCodeServercertificatevalidationroleBD33BDA4","Arn"]},"runtime":{"Fn::FindInMap":["LatestNodeRuntimeMap",{"Ref":"AWS::Region"},"value"]},"timeout":900}},"constructInfo":{"fqn":"aws-cdk-lib.aws_lambda.CfnFunction","version":"2.190.0"}}},"constructInfo":{"fqn":"aws-cdk-lib.aws_lambda.Function","version":"2.190.0","metadata":[{"timeout":"*","role":"*","code":"*","handler":"*","runtime":"*"}]}},"CertificateRequestorResource":{"id":"CertificateRequestorResource","path":"IntegTestStackCustomDomain/IntegVSCodeServer/certificate/CertificateRequestorResource","children":{"Default":{"id":"Default","path":"IntegTestStackCustomDomain/IntegVSCodeServer/certificate/CertificateRequestorResource/Default","constructInfo":{"fqn":"aws-cdk-lib.CfnResource","version":"2.190.0"}}},"constructInfo":{"fqn":"aws-cdk-lib.CustomResource","version":"2.190.0","metadata":["*","*"]}}},"constructInfo":{"fqn":"aws-cdk-lib.aws_certificatemanager.DnsValidatedCertificate","version":"2.190.0","metadata":[{"domainName":"*","hostedZone":"*","region":"*","customResourceRole":"*"}]}},"vpc":{"id":"vpc","path":"IntegTestStackCustomDomain/IntegVSCodeServer/vpc","children":{"Resource":{"id":"Resource","path":"IntegTestStackCustomDomain/IntegVSCodeServer/vpc/Resource","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":"app","value":"vscode-server"},{"key":"Environment","value":"IntegTestCustomDomain"},{"key":"IntegTest","value":"True"},{"key":"Name","value":"IntegTestStackCustomDomain/IntegVSCodeServer/vpc"}]}},"constructInfo":{"fqn":"aws-cdk-lib.aws_ec2.CfnVPC","version":"2.190.0"}},"publicSubnet1":{"id":"publicSubnet1","path":"IntegTestStackCustomDomain/IntegVSCodeServer/vpc/publicSubnet1","children":{"Subnet":{"id":"Subnet","path":"IntegTestStackCustomDomain/IntegVSCodeServer/vpc/publicSubnet1/Subnet","attributes":{"aws:cdk:cloudformation:type":"AWS::EC2::Subnet","aws:cdk:cloudformation:props":{"availabilityZone":{"Fn::Select":[0,{"Fn::GetAZs":""}]},"cidrBlock":"10.0.0.0/17","mapPublicIpOnLaunch":true,"tags":[{"key":"app","value":"vscode-server"},{"key":"aws-cdk:subnet-name","value":"public"},{"key":"aws-cdk:subnet-type","value":"Public"},{"key":"Environment","value":"IntegTestCustomDomain"},{"key":"IntegTest","value":"True"},{"key":"Name","value":"IntegTestStackCustomDomain/IntegVSCodeServer/vpc/publicSubnet1"}],"vpcId":{"Ref":"IntegVSCodeServervpc93DDE887"}}},"constructInfo":{"fqn":"aws-cdk-lib.aws_ec2.CfnSubnet","version":"2.190.0"}},"Acl":{"id":"Acl","path":"IntegTestStackCustomDomain/IntegVSCodeServer/vpc/publicSubnet1/Acl","constructInfo":{"fqn":"aws-cdk-lib.Resource","version":"2.190.0","metadata":[]}},"RouteTable":{"id":"RouteTable","path":"IntegTestStackCustomDomain/IntegVSCodeServer/vpc/publicSubnet1/RouteTable","attributes":{"aws:cdk:cloudformation:type":"AWS::EC2::RouteTable","aws:cdk:cloudformation:props":{"tags":[{"key":"app","value":"vscode-server"},{"key":"Environment","value":"IntegTestCustomDomain"},{"key":"IntegTest","value":"True"},{"key":"Name","value":"IntegTestStackCustomDomain/IntegVSCodeServer/vpc/publicSubnet1"}],"vpcId":{"Ref":"IntegVSCodeServervpc93DDE887"}}},"constructInfo":{"fqn":"aws-cdk-lib.aws_ec2.CfnRouteTable","version":"2.190.0"}},"RouteTableAssociation":{"id":"RouteTableAssociation","path":"IntegTestStackCustomDomain/IntegVSCodeServer/vpc/publicSubnet1/RouteTableAssociation","attributes":{"aws:cdk:cloudformation:type":"AWS::EC2::SubnetRouteTableAssociation","aws:cdk:cloudformation:props":{"routeTableId":{"Ref":"IntegVSCodeServervpcpublicSubnet1RouteTableFD418D0B"},"subnetId":{"Ref":"IntegVSCodeServervpcpublicSubnet1Subnet928029A1"}}},"constructInfo":{"fqn":"aws-cdk-lib.aws_ec2.CfnSubnetRouteTableAssociation","version":"2.190.0"}},"DefaultRoute":{"id":"DefaultRoute","path":"IntegTestStackCustomDomain/IntegVSCodeServer/vpc/publicSubnet1/DefaultRoute","attributes":{"aws:cdk:cloudformation:type":"AWS::EC2::Route","aws:cdk:cloudformation:props":{"destinationCidrBlock":"0.0.0.0/0","gatewayId":{"Ref":"IntegVSCodeServervpcIGW960F6D83"},"routeTableId":{"Ref":"IntegVSCodeServervpcpublicSubnet1RouteTableFD418D0B"}}},"constructInfo":{"fqn":"aws-cdk-lib.aws_ec2.CfnRoute","version":"2.190.0"}}},"constructInfo":{"fqn":"aws-cdk-lib.aws_ec2.PublicSubnet","version":"2.190.0","metadata":[{"availabilityZone":"*","vpcId":"*","cidrBlock":"*","mapPublicIpOnLaunch":true,"ipv6CidrBlock":"*","assignIpv6AddressOnCreation":"*"},{"availabilityZone":"*","vpcId":"*","cidrBlock":"*","mapPublicIpOnLaunch":true,"ipv6CidrBlock":"*","assignIpv6AddressOnCreation":"*"},{}]}},"publicSubnet2":{"id":"publicSubnet2","path":"IntegTestStackCustomDomain/IntegVSCodeServer/vpc/publicSubnet2","children":{"Subnet":{"id":"Subnet","path":"IntegTestStackCustomDomain/IntegVSCodeServer/vpc/publicSubnet2/Subnet","attributes":{"aws:cdk:cloudformation:type":"AWS::EC2::Subnet","aws:cdk:cloudformation:props":{"availabilityZone":{"Fn::Select":[1,{"Fn::GetAZs":""}]},"cidrBlock":"10.0.128.0/17","mapPublicIpOnLaunch":true,"tags":[{"key":"app","value":"vscode-server"},{"key":"aws-cdk:subnet-name","value":"public"},{"key":"aws-cdk:subnet-type","value":"Public"},{"key":"Environment","value":"IntegTestCustomDomain"},{"key":"IntegTest","value":"True"},{"key":"Name","value":"IntegTestStackCustomDomain/IntegVSCodeServer/vpc/publicSubnet2"}],"vpcId":{"Ref":"IntegVSCodeServervpc93DDE887"}}},"constructInfo":{"fqn":"aws-cdk-lib.aws_ec2.CfnSubnet","version":"2.190.0"}},"Acl":{"id":"Acl","path":"IntegTestStackCustomDomain/IntegVSCodeServer/vpc/publicSubnet2/Acl","constructInfo":{"fqn":"aws-cdk-lib.Resource","version":"2.190.0","metadata":[]}},"RouteTable":{"id":"RouteTable","path":"IntegTestStackCustomDomain/IntegVSCodeServer/vpc/publicSubnet2/RouteTable","attributes":{"aws:cdk:cloudformation:type":"AWS::EC2::RouteTable","aws:cdk:cloudformation:props":{"tags":[{"key":"app","value":"vscode-server"},{"key":"Environment","value":"IntegTestCustomDomain"},{"key":"IntegTest","value":"True"},{"key":"Name","value":"IntegTestStackCustomDomain/IntegVSCodeServer/vpc/publicSubnet2"}],"vpcId":{"Ref":"IntegVSCodeServervpc93DDE887"}}},"constructInfo":{"fqn":"aws-cdk-lib.aws_ec2.CfnRouteTable","version":"2.190.0"}},"RouteTableAssociation":{"id":"RouteTableAssociation","path":"IntegTestStackCustomDomain/IntegVSCodeServer/vpc/publicSubnet2/RouteTableAssociation","attributes":{"aws:cdk:cloudformation:type":"AWS::EC2::SubnetRouteTableAssociation","aws:cdk:cloudformation:props":{"routeTableId":{"Ref":"IntegVSCodeServervpcpublicSubnet2RouteTableC264EFB4"},"subnetId":{"Ref":"IntegVSCodeServervpcpublicSubnet2SubnetE381654D"}}},"constructInfo":{"fqn":"aws-cdk-lib.aws_ec2.CfnSubnetRouteTableAssociation","version":"2.190.0"}},"DefaultRoute":{"id":"DefaultRoute","path":"IntegTestStackCustomDomain/IntegVSCodeServer/vpc/publicSubnet2/DefaultRoute","attributes":{"aws:cdk:cloudformation:type":"AWS::EC2::Route","aws:cdk:cloudformation:props":{"destinationCidrBlock":"0.0.0.0/0","gatewayId":{"Ref":"IntegVSCodeServervpcIGW960F6D83"},"routeTableId":{"Ref":"IntegVSCodeServervpcpublicSubnet2RouteTableC264EFB4"}}},"constructInfo":{"fqn":"aws-cdk-lib.aws_ec2.CfnRoute","version":"2.190.0"}}},"constructInfo":{"fqn":"aws-cdk-lib.aws_ec2.PublicSubnet","version":"2.190.0","metadata":[{"availabilityZone":"*","vpcId":"*","cidrBlock":"*","mapPublicIpOnLaunch":true,"ipv6CidrBlock":"*","assignIpv6AddressOnCreation":"*"},{"availabilityZone":"*","vpcId":"*","cidrBlock":"*","mapPublicIpOnLaunch":true,"ipv6CidrBlock":"*","assignIpv6AddressOnCreation":"*"},{}]}},"IGW":{"id":"IGW","path":"IntegTestStackCustomDomain/IntegVSCodeServer/vpc/IGW","attributes":{"aws:cdk:cloudformation:type":"AWS::EC2::InternetGateway","aws:cdk:cloudformation:props":{"tags":[{"key":"app","value":"vscode-server"},{"key":"Environment","value":"IntegTestCustomDomain"},{"key":"IntegTest","value":"True"},{"key":"Name","value":"IntegTestStackCustomDomain/IntegVSCodeServer/vpc"}]}},"constructInfo":{"fqn":"aws-cdk-lib.aws_ec2.CfnInternetGateway","version":"2.190.0"}},"VPCGW":{"id":"VPCGW","path":"IntegTestStackCustomDomain/IntegVSCodeServer/vpc/VPCGW","attributes":{"aws:cdk:cloudformation:type":"AWS::EC2::VPCGatewayAttachment","aws:cdk:cloudformation:props":{"internetGatewayId":{"Ref":"IntegVSCodeServervpcIGW960F6D83"},"vpcId":{"Ref":"IntegVSCodeServervpc93DDE887"}}},"constructInfo":{"fqn":"aws-cdk-lib.aws_ec2.CfnVPCGatewayAttachment","version":"2.190.0"}},"RestrictDefaultSecurityGroupCustomResource":{"id":"RestrictDefaultSecurityGroupCustomResource","path":"IntegTestStackCustomDomain/IntegVSCodeServer/vpc/RestrictDefaultSecurityGroupCustomResource","children":{"Default":{"id":"Default","path":"IntegTestStackCustomDomain/IntegVSCodeServer/vpc/RestrictDefaultSecurityGroupCustomResource/Default","constructInfo":{"fqn":"aws-cdk-lib.CfnResource","version":"2.190.0"}}},"constructInfo":{"fqn":"aws-cdk-lib.CustomResource","version":"2.190.0","metadata":["*"]}}},"constructInfo":{"fqn":"aws-cdk-lib.aws_ec2.Vpc","version":"2.190.0","metadata":[{"maxAzs":"*","createInternetGateway":true,"subnetConfiguration":[{"name":"*","subnetType":"Public"}],"enableDnsHostnames":true,"enableDnsSupport":true}]}},"cf-to-server-sg":{"id":"cf-to-server-sg","path":"IntegTestStackCustomDomain/IntegVSCodeServer/cf-to-server-sg","children":{"Resource":{"id":"Resource","path":"IntegTestStackCustomDomain/IntegVSCodeServer/cf-to-server-sg/Resource","attributes":{"aws:cdk:cloudformation:type":"AWS::EC2::SecurityGroup","aws:cdk:cloudformation:props":{"groupDescription":"SG for VSCodeServer - only allow CloudFront ingress","groupName":"cloudfront-to-vscode-server","securityGroupEgress":[{"cidrIp":"0.0.0.0/0","description":"Allow all outbound traffic by default","ipProtocol":"-1"}],"tags":[{"key":"app","value":"vscode-server"},{"key":"Environment","value":"IntegTestCustomDomain"},{"key":"IntegTest","value":"True"}],"vpcId":{"Ref":"IntegVSCodeServervpc93DDE887"}}},"constructInfo":{"fqn":"aws-cdk-lib.aws_ec2.CfnSecurityGroup","version":"2.190.0"}},"from {IndirectPeer}:80":{"id":"from {IndirectPeer}:80","path":"IntegTestStackCustomDomain/IntegVSCodeServer/cf-to-server-sg/from {IndirectPeer}:80","attributes":{"aws:cdk:cloudformation:type":"AWS::EC2::SecurityGroupIngress","aws:cdk:cloudformation:props":{"description":"Allow HTTP from com.amazonaws.global.cloudfront.origin-facing","fromPort":80,"groupId":{"Fn::GetAtt":["IntegVSCodeServercftoserversgFFE586B0","GroupId"]},"ipProtocol":"tcp","sourcePrefixListId":{"Fn::GetAtt":["IntegVSCodeServercfprefixlistIdGetPrefixListIdF0821FFC","PrefixLists.0.PrefixListId"]},"toPort":80}},"constructInfo":{"fqn":"aws-cdk-lib.aws_ec2.CfnSecurityGroupIngress","version":"2.190.0"}}},"constructInfo":{"fqn":"aws-cdk-lib.aws_ec2.SecurityGroup","version":"2.190.0","metadata":[{"vpc":"*","description":"*","securityGroupName":"*"},{"addIngressRule":[{"canInlineRule":false,"connections":"*","uniqueId":"*"},{},"*"]}]}},"cf-prefixlistId":{"id":"cf-prefixlistId","path":"IntegTestStackCustomDomain/IntegVSCodeServer/cf-prefixlistId","children":{"GetPrefixListIdLogGroup":{"id":"GetPrefixListIdLogGroup","path":"IntegTestStackCustomDomain/IntegVSCodeServer/cf-prefixlistId/GetPrefixListIdLogGroup","children":{"Resource":{"id":"Resource","path":"IntegTestStackCustomDomain/IntegVSCodeServer/cf-prefixlistId/GetPrefixListIdLogGroup/Resource","attributes":{"aws:cdk:cloudformation:type":"AWS::Logs::LogGroup","aws:cdk:cloudformation:props":{"retentionInDays":1,"tags":[{"key":"app","value":"vscode-server"},{"key":"Environment","value":"IntegTestCustomDomain"},{"key":"IntegTest","value":"True"}]}},"constructInfo":{"fqn":"aws-cdk-lib.aws_logs.CfnLogGroup","version":"2.190.0"}}},"constructInfo":{"fqn":"aws-cdk-lib.aws_logs.LogGroup","version":"2.190.0","metadata":[{"removalPolicy":"destroy","retention":1}]}},"GetPrefixListIdRole":{"id":"GetPrefixListIdRole","path":"IntegTestStackCustomDomain/IntegVSCodeServer/cf-prefixlistId/GetPrefixListIdRole","children":{"ImportGetPrefixListIdRole":{"id":"ImportGetPrefixListIdRole","path":"IntegTestStackCustomDomain/IntegVSCodeServer/cf-prefixlistId/GetPrefixListIdRole/ImportGetPrefixListIdRole","constructInfo":{"fqn":"aws-cdk-lib.Resource","version":"2.190.0","metadata":["*"]}},"Resource":{"id":"Resource","path":"IntegTestStackCustomDomain/IntegVSCodeServer/cf-prefixlistId/GetPrefixListIdRole/Resource","attributes":{"aws:cdk:cloudformation:type":"AWS::IAM::Role","aws:cdk:cloudformation:props":{"assumeRolePolicyDocument":{"Statement":[{"Action":"sts:AssumeRole","Effect":"Allow","Principal":{"Service":"lambda.amazonaws.com"}}],"Version":"2012-10-17"}}},"constructInfo":{"fqn":"aws-cdk-lib.aws_iam.CfnRole","version":"2.190.0"}}},"constructInfo":{"fqn":"aws-cdk-lib.aws_iam.Role","version":"2.190.0","metadata":[{"assumedBy":{"principalAccount":"*","assumeRoleAction":"*"}},{"attachInlinePolicy":["*"]}]}},"GetPrefixListId":{"id":"GetPrefixListId","path":"IntegTestStackCustomDomain/IntegVSCodeServer/cf-prefixlistId/GetPrefixListId","children":{"Provider":{"id":"Provider","path":"IntegTestStackCustomDomain/IntegVSCodeServer/cf-prefixlistId/GetPrefixListId/Provider","constructInfo":{"fqn":"aws-cdk-lib.aws_lambda.SingletonFunction","version":"2.190.0","metadata":[{"uuid":"*","lambdaPurpose":"*","memorySize":"*","timeout":"*","role":"*","logGroup":"*","functionName":"*","vpc":"*","vpcSubnets":"*","code":"*","handler":"*","runtime":"*"},{"addMetadata":["*",true]},{"addMetadata":["*","*"]}]}},"Resource":{"id":"Resource","path":"IntegTestStackCustomDomain/IntegVSCodeServer/cf-prefixlistId/GetPrefixListId/Resource","children":{"Default":{"id":"Default","path":"IntegTestStackCustomDomain/IntegVSCodeServer/cf-prefixlistId/GetPrefixListId/Resource/Default","constructInfo":{"fqn":"aws-cdk-lib.CfnResource","version":"2.190.0"}}},"constructInfo":{"fqn":"aws-cdk-lib.CustomResource","version":"2.190.0","metadata":["*","*","*"]}},"CustomResourcePolicy":{"id":"CustomResourcePolicy","path":"IntegTestStackCustomDomain/IntegVSCodeServer/cf-prefixlistId/GetPrefixListId/CustomResourcePolicy","children":{"Resource":{"id":"Resource","path":"IntegTestStackCustomDomain/IntegVSCodeServer/cf-prefixlistId/GetPrefixListId/CustomResourcePolicy/Resource","attributes":{"aws:cdk:cloudformation:type":"AWS::IAM::Policy","aws:cdk:cloudformation:props":{"policyDocument":{"Statement":[{"Action":"ec2:DescribeManagedPrefixLists","Effect":"Allow","Resource":"*"}],"Version":"2012-10-17"},"policyName":"IntegVSCodeServercfprefixlistIdGetPrefixListIdCustomResourcePolicyAB3F4958","roles":[{"Ref":"IntegVSCodeServercfprefixlistIdGetPrefixListIdRole1302B3E1"}]}},"constructInfo":{"fqn":"aws-cdk-lib.aws_iam.CfnPolicy","version":"2.190.0"}}},"constructInfo":{"fqn":"aws-cdk-lib.aws_iam.Policy","version":"2.190.0","metadata":[{"statements":"*"},{"addStatements":[{}]},{"attachToRole":["*"]},{"attachToRole":["*"]}]}}},"constructInfo":{"fqn":"aws-cdk-lib.custom_resources.AwsCustomResource","version":"2.190.0"}},"PrefixList":{"id":"PrefixList","path":"IntegTestStackCustomDomain/IntegVSCodeServer/cf-prefixlistId/PrefixList","constructInfo":{"fqn":"aws-cdk-lib.Resource","version":"2.190.0","metadata":[]}}},"constructInfo":{"fqn":"constructs.Construct","version":"10.4.2"}},"server-instance-role":{"id":"server-instance-role","path":"IntegTestStackCustomDomain/IntegVSCodeServer/server-instance-role","children":{"Importserver-instance-role":{"id":"Importserver-instance-role","path":"IntegTestStackCustomDomain/IntegVSCodeServer/server-instance-role/Importserver-instance-role","constructInfo":{"fqn":"aws-cdk-lib.Resource","version":"2.190.0","metadata":["*"]}},"Resource":{"id":"Resource","path":"IntegTestStackCustomDomain/IntegVSCodeServer/server-instance-role/Resource","attributes":{"aws:cdk:cloudformation:type":"AWS::IAM::Role","aws:cdk:cloudformation:props":{"assumeRolePolicyDocument":{"Statement":[{"Action":"sts:AssumeRole","Effect":"Allow","Principal":{"Service":["ec2.amazonaws.com","ssm.amazonaws.com"]}}],"Version":"2012-10-17"},"managedPolicyArns":[{"Fn::Join":["",["arn:",{"Ref":"AWS::Partition"},":iam::aws:policy/AmazonSSMManagedInstanceCore"]]},{"Fn::Join":["",["arn:",{"Ref":"AWS::Partition"},":iam::aws:policy/CloudWatchAgentServerPolicy"]]},{"Fn::Join":["",["arn:",{"Ref":"AWS::Partition"},":iam::aws:policy/AmazonQDeveloperAccess"]]},{"Fn::Join":["",["arn:",{"Ref":"AWS::Partition"},":iam::aws:policy/ReadOnlyAccess"]]}],"policies":[{"policyName":"VSCodeInstanceInlinePolicy","policyDocument":{"Statement":[{"Action":["iam:AddRoleToInstanceProfile","iam:AttachRolePolicy","iam:CreateRole","iam:CreateServiceLinkedRole","iam:DeleteRole","iam:DeleteRolePermissionsBoundary","iam:DeleteRolePolicy","iam:DeleteServiceLinkedRole","iam:DetachRolePolicy","iam:GetRole","iam:GetRolePolicy","iam:GetServiceLinkedRoleDeletionStatus","iam:ListAttachedRolePolicies","iam:ListInstanceProfilesForRole","iam:ListRolePolicies","iam:ListRoleTags","iam:ListRoles","iam:PutRolePermissionsBoundary","iam:PutRolePolicy","iam:RemoveRoleFromInstanceProfile","iam:TagRole","iam:UntagRole","iam:UpdateAssumeRolePolicy","iam:UpdateRole","iam:UpdateRoleDescription","sts:AssumeRole"],"Effect":"Allow","Resource":{"Fn::Join":["",["arn:aws:iam::",{"Ref":"AWS::AccountId"},":role/cdk-*"]]},"Sid":"StsAccess"},{"Action":"iam:PassRole","Condition":{"StringLike":{"iam:PassedToService":"cloudformation.amazonaws.com"}},"Effect":"Allow","Resource":{"Fn::Join":["",["arn:aws:iam::",{"Ref":"AWS::AccountId"},":role/cdk-*"]]}},{"Action":"cloudformation:*","Effect":"Allow","Resource":{"Fn::Join":["",["arn:aws:cloudformation:*:",{"Ref":"AWS::AccountId"},":stack/CDKToolkit/*"]]}},{"Action":["cloudformation:CreateChangeSet","cloudformation:DeleteChangeSet","cloudformation:ExecuteChangeSet","ec2:DescribeInstances","ec2:DescribeVolumesModifications*","ec2:ModifyVolume"],"Effect":"Allow","Resource":"*"},{"Action":"s3:*","Effect":"Allow","Resource":"*","Sid":"S3Access"},{"Action":["ecr:CreateRepository","ecr:DeleteRepository","ecr:DescribeRepositories","ecr:GetLifecyclePolicy","ecr:PutImageScanningConfiguration","ecr:PutLifecyclePolicy","ecr:SetRepositoryPolicy"],"Effect":"Allow","Resource":{"Fn::Join":["",["arn:aws:ecr:*:",{"Ref":"AWS::AccountId"},":repository/cdk-*"]]},"Sid":"ECRAccess"},{"Action":["ssm:DeleteParameter*","ssm:GetParameter*","ssm:PutParameter*"],"Effect":"Allow","Resource":{"Fn::Join":["",["arn:aws:ssm:*:",{"Ref":"AWS::AccountId"},":parameter/cdk-bootstrap/*"]]}},{"Action":["codepipeline:DisableStageTransition","codepipeline:EnableStageTransition","codepipeline:StartPipelineExecution","codepipeline:StopPipelineExecution","codepipeline:UpdatePipeline"],"Effect":"Allow","Resource":{"Fn::Join":["",["arn:aws:codepipeline:*:",{"Ref":"AWS::AccountId"},":*/*"]]}},{"Action":"kms:Decrypt","Effect":"Allow","Resource":{"Fn::Join":["",["arn:aws:kms:*:",{"Ref":"AWS::AccountId"},":key/*"]]}}],"Version":"2012-10-17"}}]}},"constructInfo":{"fqn":"aws-cdk-lib.aws_iam.CfnRole","version":"2.190.0"}}},"constructInfo":{"fqn":"aws-cdk-lib.aws_iam.Role","version":"2.190.0","metadata":[{"assumedBy":{"principalAccount":"*","assumeRoleAction":"*"},"inlinePolicies":"*","managedPolicies":[{"managedPolicyArn":"*"},{"managedPolicyArn":"*"},{"managedPolicyArn":"*"},{"managedPolicyArn":"*"}]}]}},"server-instance":{"id":"server-instance","path":"IntegTestStackCustomDomain/IntegVSCodeServer/server-instance","children":{"InstanceProfile":{"id":"InstanceProfile","path":"IntegTestStackCustomDomain/IntegVSCodeServer/server-instance/InstanceProfile","attributes":{"aws:cdk:cloudformation:type":"AWS::IAM::InstanceProfile","aws:cdk:cloudformation:props":{"roles":[{"Ref":"IntegVSCodeServerserverinstancerole7745B5BB"}]}},"constructInfo":{"fqn":"aws-cdk-lib.aws_iam.CfnInstanceProfile","version":"2.190.0"}},"Resource":{"id":"Resource","path":"IntegTestStackCustomDomain/IntegVSCodeServer/server-instance/Resource","attributes":{"aws:cdk:cloudformation:type":"AWS::EC2::Instance","aws:cdk:cloudformation:props":{"availabilityZone":{"Fn::Select":[0,{"Fn::GetAZs":""}]},"blockDeviceMappings":[{"deviceName":"/dev/sda1","ebs":{"encrypted":true,"deleteOnTermination":true,"volumeSize":40,"volumeType":"gp3"}}],"iamInstanceProfile":{"Ref":"IntegVSCodeServerserverinstanceInstanceProfile6130979E"},"imageId":{"Ref":"SsmParameterValueawsservicecanonicalubuntuserverjammystablecurrentarm64hvmebsgp2amiidC96584B6F00A464EAD1953AFF4B05118Parameter"},"instanceType":"m7g.xlarge","launchTemplate":{"launchTemplateName":"IntegTestStackCustomDomainIntegVSCodeServerserverinstanceLaunchTemplate2E30ED0B","version":{"Fn::GetAtt":["IntegVSCodeServerserverinstanceLaunchTemplate43932ED3","LatestVersionNumber"]}},"monitoring":true,"networkInterfaces":[{"deviceIndex":"0","associatePublicIpAddress":true,"subnetId":{"Ref":"IntegVSCodeServervpcpublicSubnet1Subnet928029A1"},"groupSet":[{"Fn::GetAtt":["IntegVSCodeServercftoserversgFFE586B0","GroupId"]}]}],"tags":[{"key":"app","value":"vscode-server"},{"key":"Environment","value":"IntegTestCustomDomain"},{"key":"IntegTest","value":"True"},{"key":"Name","value":"VSCodeServer"}],"userData":{"Fn::Base64":"\n #cloud-config\n hostname: VSCodeServer\n runcmd:\n - mkdir -p /Workshop && chown -R participant:participant /Workshop\n "}}},"constructInfo":{"fqn":"aws-cdk-lib.aws_ec2.CfnInstance","version":"2.190.0"}},"LaunchTemplate":{"id":"LaunchTemplate","path":"IntegTestStackCustomDomain/IntegVSCodeServer/server-instance/LaunchTemplate","attributes":{"aws:cdk:cloudformation:type":"AWS::EC2::LaunchTemplate","aws:cdk:cloudformation:props":{"launchTemplateData":{"metadataOptions":{"httpTokens":"required"}},"launchTemplateName":"IntegTestStackCustomDomainIntegVSCodeServerserverinstanceLaunchTemplate2E30ED0B"}},"constructInfo":{"fqn":"aws-cdk-lib.aws_ec2.CfnLaunchTemplate","version":"2.190.0"}}},"constructInfo":{"fqn":"aws-cdk-lib.aws_ec2.Instance","version":"2.190.0","metadata":[{"vpc":"*","instanceName":"*","instanceType":"*","machineImage":"*","requireImdsv2":true,"vpcSubnets":{"subnetType":"Public"},"associatePublicIpAddress":true,"detailedMonitoring":true,"blockDevices":[{"deviceName":"*","volume":"*"}],"role":"*","securityGroup":"*","userData":"*"}]}},"cf-cache-policy":{"id":"cf-cache-policy","path":"IntegTestStackCustomDomain/IntegVSCodeServer/cf-cache-policy","children":{"Resource":{"id":"Resource","path":"IntegTestStackCustomDomain/IntegVSCodeServer/cf-cache-policy/Resource","attributes":{"aws:cdk:cloudformation:type":"AWS::CloudFront::CachePolicy","aws:cdk:cloudformation:props":{"cachePolicyConfig":{"name":"cf-cache-policy-vscodeserver-IntegTestStackCustomDomain","comment":"Cache policy for VSCodeServer","minTtl":1,"maxTtl":31536000,"defaultTtl":86400,"parametersInCacheKeyAndForwardedToOrigin":{"cookiesConfig":{"cookieBehavior":"all"},"headersConfig":{"headerBehavior":"whitelist","headers":["Accept-Charset","Authorization","Origin","Accept","Referer","Host","Accept-Language","Accept-Encoding","Accept-Datetime"]},"enableAcceptEncodingGzip":false,"enableAcceptEncodingBrotli":false,"queryStringsConfig":{"queryStringBehavior":"all"}}}}},"constructInfo":{"fqn":"aws-cdk-lib.aws_cloudfront.CfnCachePolicy","version":"2.190.0"}}},"constructInfo":{"fqn":"aws-cdk-lib.aws_cloudfront.CachePolicy","version":"2.190.0","metadata":[{"cachePolicyName":"*","comment":"*","minTtl":"*","maxTtl":"*","defaultTtl":"*","cookieBehavior":"*","enableAcceptEncodingGzip":false,"headerBehavior":"*","queryStringBehavior":"*"}]}},"cf-distribution":{"id":"cf-distribution","path":"IntegTestStackCustomDomain/IntegVSCodeServer/cf-distribution","children":{"Origin1":{"id":"Origin1","path":"IntegTestStackCustomDomain/IntegVSCodeServer/cf-distribution/Origin1","constructInfo":{"fqn":"constructs.Construct","version":"10.4.2"}},"Resource":{"id":"Resource","path":"IntegTestStackCustomDomain/IntegVSCodeServer/cf-distribution/Resource","attributes":{"aws:cdk:cloudformation:type":"AWS::CloudFront::Distribution","aws:cdk:cloudformation:props":{"distributionConfig":{"enabled":true,"origins":[{"domainName":{"Fn::GetAtt":["IntegVSCodeServerserverinstance0A3D62D7","PublicDnsName"]},"id":"Cloudfront-IntegTestStackCustomDomain-IntegTestStackCustomDomain","customOriginConfig":{"originSslProtocols":["TLSv1.2"],"originProtocolPolicy":"http-only"}}],"defaultCacheBehavior":{"pathPattern":"*","targetOriginId":"Cloudfront-IntegTestStackCustomDomain-IntegTestStackCustomDomain","allowedMethods":["GET","HEAD","OPTIONS","PUT","PATCH","POST","DELETE"],"cachePolicyId":{"Ref":"IntegVSCodeServercfcachepolicy8F5F1F69"},"compress":true,"originRequestPolicyId":"216adef6-5c7f-47e4-b989-5492eafa07d3","viewerProtocolPolicy":"allow-all"},"aliases":["vscode-server-test.mavogel.xyz"],"cacheBehaviors":[{"pathPattern":"/proxy/*","targetOriginId":"Cloudfront-IntegTestStackCustomDomain-IntegTestStackCustomDomain","allowedMethods":["GET","HEAD","OPTIONS","PUT","PATCH","POST","DELETE"],"cachePolicyId":"4135ea2d-6df8-44a3-9df3-4b5a84be39ad","compress":false,"originRequestPolicyId":"216adef6-5c7f-47e4-b989-5492eafa07d3","viewerProtocolPolicy":"allow-all"}],"comment":"Distribution for VSCodeServer","httpVersion":"http2and3","ipv6Enabled":true,"priceClass":"PriceClass_All","viewerCertificate":{"acmCertificateArn":{"Fn::GetAtt":["IntegVSCodeServercertificateCertificateRequestorResourceFDC04752","Arn"]},"minimumProtocolVersion":"TLSv1.2_2021","sslSupportMethod":"sni-only"}},"tags":[{"key":"app","value":"vscode-server"},{"key":"Environment","value":"IntegTestCustomDomain"},{"key":"IntegTest","value":"True"}]}},"constructInfo":{"fqn":"aws-cdk-lib.aws_cloudfront.CfnDistribution","version":"2.190.0"}}},"constructInfo":{"fqn":"aws-cdk-lib.aws_cloudfront.Distribution","version":"2.190.0","metadata":[{"enabled":true,"httpVersion":"http2and3","comment":"*","priceClass":"PriceClass_All","domainNames":"*","certificate":"*","defaultBehavior":{"allowedMethods":"*","cachePolicy":"*","originRequestPolicy":{"originRequestPolicyId":"*"},"viewerProtocolPolicy":"allow-all","origin":"*"},"additionalBehaviors":"*"},{"addBehavior":["*",{},{"allowedMethods":"*","compress":false,"cachePolicy":{"cachePolicyId":"*"},"originRequestPolicy":{"originRequestPolicyId":"*"},"viewerProtocolPolicy":"allow-all"}]}]}},"domain-record":{"id":"domain-record","path":"IntegTestStackCustomDomain/IntegVSCodeServer/domain-record","children":{"Resource":{"id":"Resource","path":"IntegTestStackCustomDomain/IntegVSCodeServer/domain-record/Resource","attributes":{"aws:cdk:cloudformation:type":"AWS::Route53::RecordSet","aws:cdk:cloudformation:props":{"aliasTarget":{"hostedZoneId":{"Fn::FindInMap":["AWSCloudFrontPartitionHostedZoneIdMap",{"Ref":"AWS::Partition"},"zoneId"]},"dnsName":{"Fn::GetAtt":["IntegVSCodeServercfdistributionFDBE873F","DomainName"]}},"hostedZoneId":"Z03751551EDMO1J40VL58","name":"vscode-server-test.mavogel.xyz.","type":"A"}},"constructInfo":{"fqn":"aws-cdk-lib.aws_route53.CfnRecordSet","version":"2.190.0"}}},"constructInfo":{"fqn":"aws-cdk-lib.aws_route53.ARecord","version":"2.190.0","metadata":[{"zone":"*","recordName":"*","target":"*"},{"zone":"*","recordName":"*","target":"*"}]}},"ssm-document-ubuntu":{"id":"ssm-document-ubuntu","path":"IntegTestStackCustomDomain/IntegVSCodeServer/ssm-document-ubuntu","attributes":{"aws:cdk:cloudformation:type":"AWS::SSM::Document","aws:cdk:cloudformation:props":{"content":{"schemaVersion":"2.2","description":"Bootstrap VSCode code-server instance","parameters":{"VSCodePassword":{"type":"String","default":{"Ref":"AWS::StackId"}},"NodeVersion":{"type":"String","default":"20","allowedValues":["22","20","18"]},"DotNetVersion":{"type":"String","default":"8.0","allowedValues":["8.0","7.0"]}},"mainSteps":[{"action":"aws:configurePackage","name":"InstallCloudWatchAgent","inputs":{"name":"AmazonCloudWatchAgent","action":"Install"}},{"action":"aws:runDocument","name":"ConfigureCloudWatchAgent","inputs":{"documentType":"SSMDocument","documentPath":"AmazonCloudWatch-ManageAgent","documentParameters":{"action":"configure","mode":"ec2","optionalConfigurationSource":"default","optionalRestart":"yes"}}},{"action":"aws:runShellScript","name":"InstallAptPackagesApt","inputs":{"runCommand":["#!/bin/bash","apt-get -q update && DEBIAN_FRONTEND=noninteractive apt-get install -y -q apt-utils","apt-get -q update && DEBIAN_FRONTEND=noninteractive apt-get install -y -q needrestart unattended-upgrades","sed -i 's/#$nrconf{kernelhints} = -1;/$nrconf{kernelhints} = 0;/' /etc/needrestart/needrestart.conf","sed -i 's/#$nrconf{verbosity} = 2;/$nrconf{verbosity} = 0;/' /etc/needrestart/needrestart.conf","sed -i \"s/#$nrconf{restart} = 'i';/$nrconf{restart} = 'a';/\" /etc/needrestart/needrestart.conf","echo \"Apt helper packages added. Checking configuration\"","cat /etc/needrestart/needrestart.conf"]}},{"action":"aws:runShellScript","name":"InstallBasePackagesApt","inputs":{"runCommand":["#!/bin/bash","apt-get -q update && DEBIAN_FRONTEND=noninteractive apt-get install -y -q curl gnupg whois argon2 openssl locales locales-all unzip apt-transport-https ca-certificates software-properties-common nginx"]}},{"action":"aws:runShellScript","name":"AddUserApt","inputs":{"runCommand":["#!/bin/bash","echo 'Adding user: ${VSCodeUser}'","adduser --disabled-password --gecos '' participant","echo \"participant:{{ VSCodePassword }}\" | chpasswd","usermod -aG sudo participant","tee /etc/sudoers.d/91-vscode-user <<EOF\nparticipant ALL=(ALL) NOPASSWD:ALL\nEOF","mkdir -p /home/participant && chown -R participant:participant /home/participant","echo \"User added. Checking configuration\"","getent passwd participant"]}},{"action":"aws:runShellScript","name":"InstallNodeApt","inputs":{"runCommand":["#!/bin/bash","curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /usr/share/keyrings/nodesource.gpg","echo \"deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/nodesource.gpg] https://deb.nodesource.com/node_{{ NodeVersion }}.x nodistro main\" > /etc/apt/sources.list.d/nodesource.list","apt-get -q update && DEBIAN_FRONTEND=noninteractive apt-get install -y -q nodejs","npm install -g npm@latest","echo \"Node and npm installed. Checking configuration\"","node -v","npm -v"]}},{"action":"aws:runShellScript","name":"InstallDockerApt","inputs":{"runCommand":["#!/bin/bash","curl -fsSL https://download.docker.com/linux/ubuntu/gpg | gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg","echo \"deb [signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release --codename --short) stable\" > /etc/apt/sources.list.d/docker.list","apt-get -q update && DEBIAN_FRONTEND=noninteractive apt-get install -y -q docker-ce docker-ce-cli containerd.io","systemctl restart code-server@participant.service","systemctl start docker.service","echo \"Docker installed. Checking configuration\"","docker --version","systemctl status docker.service"]}},{"action":"aws:runShellScript","name":"InstallGitApt","inputs":{"runCommand":["#!/bin/bash","add-apt-repository ppa:git-core/ppa","apt-get -q update && DEBIAN_FRONTEND=noninteractive apt-get install -y -q git","sudo -u participant git config --global user.email \"participant@example.com\"","sudo -u participant git config --global user.name \"Workshop participant\"","sudo -u participant git config --global init.defaultBranch \"main\"","echo \"Git installed. Checking configuration\"","git --version"]}},{"action":"aws:runShellScript","name":"InstallPythonApt","inputs":{"runCommand":["#!/bin/bash","apt-get -q update && DEBIAN_FRONTEND=noninteractive apt-get install -y -q python3-pip python3-venv python3-boto3 python3-pytest","echo 'alias pytest=pytest-3' >> /home/participant/.bashrc","systemctl restart code-server@participant.service","systemctl start multipathd.service packagekit.service","systemctl restart unattended-upgrades.service","echo \"Python and Pip installed. Checking configuration\"","python3 --version","pip3 --version"]}},{"action":"aws:runShellScript","name":"InstallAWSCLI","inputs":{"runCommand":["#!/bin/bash","curl -fsSL https://awscli.amazonaws.com/awscli-exe-linux-$(uname -m).zip -o /tmp/aws-cli.zip","unzip -q -d /tmp /tmp/aws-cli.zip","sudo /tmp/aws/install","rm -rf /tmp/aws","echo \"AWS CLI installed. Checking configuration\"","aws --version"]}},{"action":"aws:runShellScript","name":"ConfigureCodeServer","inputs":{"runCommand":["#!/bin/bash","export HOME=/home/participant","curl -fsSL https://code-server.dev/install.sh | bash -s -- 2>&1","systemctl enable --now code-server@participant 2>&1","tee /etc/nginx/conf.d/code-server.conf <<EOF\nserver {\n listen 80;\n listen [::]:80;\n # server_name distribution.distributionDomainName;\n server_name *.cloudfront.net vscode-server-test.mavogel.xyz;\n location / {\n proxy_pass http://localhost:8080/;\n proxy_set_header Host \\$host;\n proxy_set_header Upgrade \\$http_upgrade;\n proxy_set_header Connection upgrade;\n proxy_set_header Accept-Encoding gzip;\n }\n location /app {\n proxy_pass http://localhost:8081/app;\n proxy_set_header Host \\$host;\n proxy_set_header Upgrade \\$http_upgrade;\n proxy_set_header Connection upgrade;\n proxy_set_header Accept-Encoding gzip;\n }\n}\nEOF","mkdir -p /home/participant/.config/code-server","tee /home/participant/.config/code-server/config.yaml <<EOF\ncert: false\nauth: password\nhashed-password: \"$(echo -n {{ VSCodePassword }} | argon2 $(openssl rand -base64 12) -e)\"\nEOF","mkdir -p /home/participant/.local/share/code-server/User/","touch /home/participant/.hushlogin","mkdir -p /Workshop && chown -R participant:participant /Workshop","tee /home/participant/.local/share/code-server/User/settings.json <<EOF\n{\n \"extensions.autoUpdate\": false,\n \"extensions.autoCheckUpdates\": false,\n \"telemetry.telemetryLevel\": \"off\",\n \"security.workspace.trust.startupPrompt\": \"never\",\n \"security.workspace.trust.enabled\": false,\n \"security.workspace.trust.banner\": \"never\",\n \"security.workspace.trust.emptyWindow\": false,\n \"python.testing.pytestEnabled\": true,\n \"auto-run-command.rules\": [\n {\n \"command\": \"workbench.action.terminal.new\"\n }\n ]\n}\nEOF","chown -R participant:participant /home/participant","systemctl restart code-server@participant","systemctl restart nginx","sudo -u participant --login code-server --install-extension AmazonWebServices.aws-toolkit-vscode --force","sudo -u participant --login code-server --install-extension AmazonWebServices.amazon-q-vscode --force","sudo -u participant --login code-server --install-extension synedra.auto-run-command --force","sudo -u participant --login code-server --install-extension vscjava.vscode-java-pack --force","sudo -u participant --login code-server --install-extension ms-vscode.live-server --force","chown -R participant:participant /home/participant","echo \"Nginx installed. Checking configuration\"","nginx -t 2>&1","systemctl status nginx","echo \"CodeServer installed. Checking configuration\"","code-server -v","systemctl status code-server@participant"]}},{"action":"aws:runShellScript","name":"UpdateProfile","inputs":{"runCommand":["#!/bin/bash","echo LANG=en_US.utf-8 >> /etc/environment","echo LC_ALL=en_US.UTF-8 >> /etc/environment","echo 'PATH=$PATH:/home/participant/.local/bin' >> /home/participant/.bashrc","echo 'export PATH' >> /home/participant/.bashrc",{"Fn::Join":["",["echo 'export AWS_REGION=",{"Ref":"AWS::Region"},"' >> /home/participant/.bashrc"]]},{"Fn::Join":["",["echo 'export AWS_ACCOUNTID=",{"Ref":"AWS::AccountId"},"' >> /home/participant/.bashrc"]]},"echo 'export NEXT_TELEMETRY_DISABLED=1' >> /home/participant/.bashrc","echo \"export PS1='\\[\\033[01;32m\\]\\u:\\[\\033[01;34m\\]\\w\\[\\033[00m\\]\\$ '\" >> /home/participant/.bashrc","chown -R participant:participant /home/participant"]}},{"action":"aws:runShellScript","name":"InstallCDK","inputs":{"runCommand":["#!/bin/bash","npm install -g aws-cdk","echo \"AWS CDK installed. Checking configuration\"","cdk --version"]}}]},"documentType":"Command","name":"vscode-server-ubuntu-IntegTestStackCustomDomain","tags":[{"key":"app","value":"vscode-server"},{"key":"Environment","value":"IntegTestCustomDomain"},{"key":"IntegTest","value":"True"}]}},"constructInfo":{"fqn":"aws-cdk-lib.aws_ssm.CfnDocument","version":"2.190.0"}},"InstallerOnEventHandler":{"id":"InstallerOnEventHandler","path":"IntegTestStackCustomDomain/IntegVSCodeServer/InstallerOnEventHandler","children":{"ServiceRole":{"id":"ServiceRole","path":"IntegTestStackCustomDomain/IntegVSCodeServer/InstallerOnEventHandler/ServiceRole","children":{"ImportServiceRole":{"id":"ImportServiceRole","path":"IntegTestStackCustomDomain/IntegVSCodeServer/InstallerOnEventHandler/ServiceRole/ImportServiceRole","constructInfo":{"fqn":"aws-cdk-lib.Resource","version":"2.190.0","metadata":["*"]}},"Resource":{"id":"Resource","path":"IntegTestStackCustomDomain/IntegVSCodeServer/InstallerOnEventHandler/ServiceRole/Resource","attributes":{"aws:cdk:cloudformation:type":"AWS::IAM::Role","aws:cdk:cloudformation:props":{"assumeRolePolicyDocument":{"Statement":[{"Action":"sts:AssumeRole","Effect":"Allow","Principal":{"Service":"lambda.amazonaws.com"}}],"Version":"2012-10-17"},"managedPolicyArns":[{"Fn::Join":["",["arn:",{"Ref":"AWS::Partition"},":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole"]]}]}},"constructInfo":{"fqn":"aws-cdk-lib.aws_iam.CfnRole","version":"2.190.0"}},"DefaultPolicy":{"id":"DefaultPolicy","path":"IntegTestStackCustomDomain/IntegVSCodeServer/InstallerOnEventHandler/ServiceRole/DefaultPolicy","children":{"Resource":{"id":"Resource","path":"IntegTestStackCustomDomain/IntegVSCodeServer/InstallerOnEventHandler/ServiceRole/DefaultPolicy/Resource","attributes":{"aws:cdk:cloudformation:type":"AWS::IAM::Policy","aws:cdk:cloudformation:props":{"policyDocument":{"Statement":[{"Action":["ssm:GetCommandInvocation","ssm:ListCommandInvocations","ssm:SendCommand"],"Effect":"Allow","Resource":[{"Fn::Join":["",["arn:",{"Ref":"AWS::Partition"},":ec2:",{"Ref":"AWS::Region"},":",{"Ref":"AWS::AccountId"},":instance/",{"Ref":"IntegVSCodeServerserverinstance0A3D62D7"}]]},{"Fn::Join":["",["arn:",{"Ref":"AWS::Partition"},":ssm:",{"Ref":"AWS::Region"},":",{"Ref":"AWS::AccountId"},":document/AmazonCloudWatch-ManageAgent"]]},{"Fn::Join":["",["arn:",{"Ref":"AWS::Partition"},":ssm:",{"Ref":"AWS::Region"},":",{"Ref":"AWS::AccountId"},":document/vscode-server-ubuntu-IntegTestStackCustomDomain"]]}]}],"Version":"2012-10-17"},"policyName":"IntegVSCodeServerInstallerOnEventHandlerServiceRoleDefaultPolicy1CAD86C2","roles":[{"Ref":"IntegVSCodeServerInstallerOnEventHandlerServiceRole59651FEF"}]}},"constructInfo":{"fqn":"aws-cdk-lib.aws_iam.CfnPolicy","version":"2.190.0"}}},"constructInfo":{"fqn":"aws-cdk-lib.aws_iam.Policy","version":"2.190.0","metadata":["*",{"attachToRole":["*"]},{"attachToRole":["*"]},{"addStatements":[{}]}]}}},"constructInfo":{"fqn":"aws-cdk-lib.aws_iam.Role","version":"2.190.0","metadata":[{"assumedBy":{"principalAccount":"*","assumeRoleAction":"*"},"managedPolicies":[{"managedPolicyArn":"*"}]},{"addToPrincipalPolicy":[{}]},{"attachInlinePolicy":["*"]},{"attachInlinePolicy":["*"]}]}},"Code":{"id":"Code","path":"IntegTestStackCustomDomain/IntegVSCodeServer/InstallerOnEventHandler/Code","children":{"Stage":{"id":"Stage","path":"IntegTestStackCustomDomain/IntegVSCodeServer/InstallerOnEventHandler/Code/Stage","constructInfo":{"fqn":"aws-cdk-lib.AssetStaging","version":"2.190.0"}},"AssetBucket":{"id":"AssetBucket","path":"IntegTestStackCustomDomain/IntegVSCodeServer/InstallerOnEventHandler/Code/AssetBucket","constructInfo":{"fqn":"aws-cdk-lib.aws_s3.BucketBase","version":"2.190.0","metadata":[]}}},"constructInfo":{"fqn":"aws-cdk-lib.aws_s3_assets.Asset","version":"2.190.0"}},"Resource":{"id":"Resource","path":"IntegTestStackCustomDomain/IntegVSCodeServer/InstallerOnEventHandler/Resource","attributes":{"aws:cdk:cloudformation:type":"AWS::Lambda::Function","aws:cdk:cloudformation:props":{"code":{"s3Bucket":{"Fn::Sub":"cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}"},"s3Key":"33da23274e25bd9f43638c5d83dad26e3931cbe78d462ffd9a9f565e948b4f5f.zip"},"description":"src/installer/installer.lambda.ts","handler":"index.handler","memorySize":512,"role":{"Fn::GetAtt":["IntegVSCodeServerInstallerOnEventHandlerServiceRole59651FEF","Arn"]},"runtime":"nodejs20.x","timeout":300}},"constructInfo":{"fqn":"aws-cdk-lib.aws_lambda.CfnFunction","version":"2.190.0"}}},"constructInfo":{"fqn":"aws-cdk-lib.aws_lambda.Function","version":"2.190.0","metadata":[{"description":"*","timeout":"*","memorySize":"*","runtime":"*","handler":"*","code":"*"}]}},"InstallerProvider":{"id":"InstallerProvider","path":"IntegTestStackCustomDomain/IntegVSCodeServer/InstallerProvider","children":{"framework-onEvent":{"id":"framework-onEvent","path":"IntegTestStackCustomDomain/IntegVSCodeServer/InstallerProvider/framework-onEvent","children":{"ServiceRole":{"id":"ServiceRole","path":"IntegTestStackCustomDomain/IntegVSCodeServer/InstallerProvider/framework-onEvent/ServiceRole","children":{"ImportServiceRole":{"id":"ImportServiceRole","path":"IntegTestStackCustomDomain/IntegVSCodeServer/InstallerProvider/framework-onEvent/ServiceRole/ImportServiceRole","constructInfo":{"fqn":"aws-cdk-lib.Resource","version":"2.190.0","metadata":["*"]}},"Resource":{"id":"Resource","path":"IntegTestStackCustomDomain/IntegVSCodeServer/InstallerProvider/framework-onEvent/ServiceRole/Resource","attributes":{"aws:cdk:cloudformation:type":"AWS::IAM::Role","aws:cdk:cloudformation:props":{"assumeRolePolicyDocument":{"Statement":[{"Action":"sts:AssumeRole","Effect":"Allow","Principal":{"Service":"lambda.amazonaws.com"}}],"Version":"2012-10-17"},"managedPolicyArns":[{"Fn::Join":["",["arn:",{"Ref":"AWS::Partition"},":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole"]]}]}},"constructInfo":{"fqn":"aws-cdk-lib.aws_iam.CfnRole","version":"2.190.0"}},"DefaultPolicy":{"id":"DefaultPolicy","path":"IntegTestStackCustomDomain/IntegVSCodeServer/InstallerProvider/framework-onEvent/ServiceRole/DefaultPolicy","children":{"Resource":{"id":"Resource","path":"IntegTestStackCustomDomain/IntegVSCodeServer/InstallerProvider/framework-onEvent/ServiceRole/DefaultPolicy/Resource","attributes":{"aws:cdk:cloudformation:type":"AWS::IAM::Policy","aws:cdk:cloudformation:props":{"policyDocument":{"Statement":[{"Action":"lambda:InvokeFunction","Effect":"Allow","Resource":[{"Fn::GetAtt":["IntegVSCodeServerInstallerOnEventHandler6FF91542","Arn"]},{"Fn::Join":["",[{"Fn::GetAtt":["IntegVSCodeServerInstallerOnEventHandler6FF91542","Arn"]},":*"]]}]},{"Action":"lambda:GetFunction","Effect":"Allow","Resource":{"Fn::GetAtt":["IntegVSCodeServerInstallerOnEventHandler6FF91542","Arn"]}}],"Version":"2012-10-17"},"policyName":"IntegVSCodeServerInstallerProviderframeworkonEventServiceRoleDefaultPolicy3E54FC3A","roles":[{"Ref":"IntegVSCodeServerInstallerProviderframeworkonEventServiceRoleA509851F"}]}},"constructInfo":{"fqn":"aws-cdk-lib.aws_iam.CfnPolicy","version":"2.190.0"}}},"constructInfo":{"fqn":"aws-cdk-lib.aws_iam.Policy","version":"2.190.0","metadata":["*",{"attachToRole":["*"]},{"attachToRole":["*"]},{"addStatements":[{}]},{"addStatements":[{}]}]}}},"constructInfo":{"fqn":"aws-cdk-lib.aws_iam.Role","version":"2.190.0","metadata":[{"assumedBy":{"principalAccount":"*","assumeRoleAction":"*"},"managedPolicies":[{"managedPolicyArn":"*"}]},{"addToPrincipalPolicy":[{}]},{"attachInlinePolicy":["*"]},{"attachInlinePolicy":["*"]},{"addToPrincipalPolicy":[{}]}]}},"Code":{"id":"Code","path":"IntegTestStackCustomDomain/IntegVSCodeServer/InstallerProvider/framework-onEvent/Code","children":{"Stage":{"id":"Stage","path":"IntegTestStackCustomDomain/IntegVSCodeServer/InstallerProvider/framework-onEvent/Code/Stage","constructInfo":{"fqn":"aws-cdk-lib.AssetStaging","version":"2.190.0"}},"AssetBucket":{"id":"AssetBucket","path":"IntegTestStackCustomDomain/IntegVSCodeServer/InstallerProvider/framework-onEvent/Code/AssetBucket","constructInfo":{"fqn":"aws-cdk-lib.aws_s3.BucketBase","version":"2.190.0","metadata":[]}}},"constructInfo":{"fqn":"aws-cdk-lib.aws_s3_assets.Asset","version":"2.190.0"}},"Resource":{"id":"Resource","path":"IntegTestStackCustomDomain/IntegVSCodeServer/InstallerProvider/framework-onEvent/Resource","attributes":{"aws:cdk:cloudformation:type":"AWS::Lambda::Function","aws:cdk:cloudformation:props":{"code":{"s3Bucket":{"Fn::Sub":"cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}"},"s3Key":"bdc104ed9cab1b5b6421713c8155f0b753380595356f710400609664d3635eca.zip"},"description":"AWS CDK resource provider framework - onEvent (IntegTestStackCustomDomain/IntegVSCodeServer/InstallerProvider)","environment":{"variables":{"USER_ON_EVENT_FUNCTION_ARN":{"Fn::GetAtt":["IntegVSCodeServerInstallerOnEventHandler6FF91542","Arn"]}}},"handler":"framework.onEvent","role":{"Fn::GetAtt":["IntegVSCodeServerInstallerProviderframeworkonEventServiceRoleA509851F","Arn"]},"runtime":{"Fn::FindInMap":["LatestNodeRuntimeMap",{"Ref":"AWS::Region"},"value"]},"timeout":900}},"constructInfo":{"fqn":"aws-cdk-lib.aws_lambda.CfnFunction","version":"2.190.0"}}},"constructInfo":{"fqn":"aws-cdk-lib.aws_lambda.Function","version":"2.190.0","metadata":[{"code":"*","description":"*","runtime":"*","handler":"*","timeout":"*","logGroup":"*","vpc":"*","vpcSubnets":"*","securityGroups":"*","role":"*","functionName":"*","environmentEncryption":"*"},{"addEnvironment":["*","*"]}]}}},"constructInfo":{"fqn":"aws-cdk-lib.custom_resources.Provider","version":"2.190.0"}},"SSMInstallerCustomResource":{"id":"SSMInstallerCustomResource","path":"IntegTestStackCustomDomain/IntegVSCodeServer/SSMInstallerCustomResource","children":{"Default":{"id":"Default","path":"IntegTestStackCustomDomain/IntegVSCodeServer/SSMInstallerCustomResource/Default","constructInfo":{"fqn":"aws-cdk-lib.CfnResource","version":"2.190.0"}}},"constructInfo":{"fqn":"aws-cdk-lib.CustomResource","version":"2.190.0","metadata":["*"]}},"domainName":{"id":"domainName","path":"IntegTestStackCustomDomain/IntegVSCodeServer/domainName","constructInfo":{"fqn":"aws-cdk-lib.CfnOutput","version":"2.190.0"}},"password":{"id":"password","path":"IntegTestStackCustomDomain/IntegVSCodeServer/password","constructInfo":{"fqn":"aws-cdk-lib.CfnOutput","version":"2.190.0"}}},"constructInfo":{"fqn":"constructs.Construct","version":"10.4.2"}},"LatestNodeRuntimeMap":{"id":"LatestNodeRuntimeMap","path":"IntegTestStackCustomDomain/LatestNodeRuntimeMap","constructInfo":{"fqn":"aws-cdk-lib.CfnMapping","version":"2.190.0"}},"Custom::VpcRestrictDefaultSGCustomResourceProvider":{"id":"Custom::VpcRestrictDefaultSGCustomResourceProvider","path":"IntegTestStackCustomDomain/Custom::VpcRestrictDefaultSGCustomResourceProvider","children":{"Staging":{"id":"Staging","path":"IntegTestStackCustomDomain/Custom::VpcRestrictDefaultSGCustomResourceProvider/Staging","constructInfo":{"fqn":"aws-cdk-lib.AssetStaging","version":"2.190.0"}},"Role":{"id":"Role","path":"IntegTestStackCustomDomain/Custom::VpcRestrictDefaultSGCustomResourceProvider/Role","constructInfo":{"fqn":"aws-cdk-lib.CfnResource","version":"2.190.0"}},"Handler":{"id":"Handler","path":"IntegTestStackCustomDomain/Custom::VpcRestrictDefaultSGCustomResourceProvider/Handler","constructInfo":{"fqn":"aws-cdk-lib.CfnResource","version":"2.190.0"}}},"constructInfo":{"fqn":"aws-cdk-lib.CustomResourceProviderBase","version":"2.190.0"}},"AWS679f53fac002430cb0da5b7982bd2287":{"id":"AWS679f53fac002430cb0da5b7982bd2287","path":"IntegTestStackCustomDomain/AWS679f53fac002430cb0da5b7982bd2287","children":{"Code":{"id":"Code","path":"IntegTestStackCustomDomain/AWS679f53fac002430cb0da5b7982bd2287/Code","children":{"Stage":{"id":"Stage","path":"IntegTestStackCustomDomain/AWS679f53fac002430cb0da5b7982bd2287/Code/Stage","constructInfo":{"fqn":"aws-cdk-lib.AssetStaging","version":"2.190.0"}},"AssetBucket":{"id":"AssetBucket","path":"IntegTestStackCustomDomain/AWS679f53fac002430cb0da5b7982bd2287/Code/AssetBucket","constructInfo":{"fqn":"aws-cdk-lib.aws_s3.BucketBase","version":"2.190.0","metadata":[]}}},"constructInfo":{"fqn":"aws-cdk-lib.aws_s3_assets.Asset","version":"2.190.0"}},"Resource":{"id":"Resource","path":"IntegTestStackCustomDomain/AWS679f53fac002430cb0da5b7982bd2287/Resource","attributes":{"aws:cdk:cloudformation:type":"AWS::Lambda::Function","aws:cdk:cloudformation:props":{"code":{"s3Bucket":{"Fn::Sub":"cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}"},"s3Key":"9d043014be736e8162bcc7ec5590cc6d2ff24fd0d9c73a5c5d595151c5fdad00.zip"},"handler":"index.handler","loggingConfig":{"logGroup":{"Ref":"IntegVSCodeServercfprefixlistIdGetPrefixListIdLogGroup171C2803"}},"role":{"Fn::GetAtt":["IntegVSCodeServercfprefixlistIdGetPrefixListIdRole1302B3E1","Arn"]},"runtime":{"Fn::FindInMap":["LatestNodeRuntimeMap",{"Ref":"AWS::Region"},"value"]},"timeout":120}},"constructInfo":{"fqn":"aws-cdk-lib.aws_lambda.CfnFunction","version":"2.190.0"}}},"constructInfo":{"fqn":"aws-cdk-lib.aws_lambda.Function","version":"2.190.0","metadata":[{"memorySize":"*","timeout":"*","role":"*","logGroup":"*","functionName":"*","vpc":"*","vpcSubnets":"*","code":"*","handler":"*","runtime":"*"}]}},"SsmParameterValue:--aws--service--canonical--ubuntu--server--jammy--stable--current--arm64--hvm--ebs-gp2--ami-id:C96584B6-F00A-464E-AD19-53AFF4B05118.Parameter":{"id":"SsmParameterValue:--aws--service--canonical--ubuntu--server--jammy--stable--current--arm64--hvm--ebs-gp2--ami-id:C96584B6-F00A-464E-AD19-53AFF4B05118.Parameter","path":"IntegTestStackCustomDomain/SsmParameterValue:--aws--service--canonical--ubuntu--server--jammy--stable--current--arm64--hvm--ebs-gp2--ami-id:C96584B6-F00A-464E-AD19-53AFF4B05118.Parameter","constructInfo":{"fqn":"aws-cdk-lib.CfnParameter","version":"2.190.0"}},"SsmParameterValue:--aws--service--canonical--ubuntu--server--jammy--stable--current--arm64--hvm--ebs-gp2--ami-id:C96584B6-F00A-464E-AD19-53AFF4B05118":{"id":"SsmParameterValue:--aws--service--canonical--ubuntu--server--jammy--stable--current--arm64--hvm--ebs-gp2--ami-id:C96584B6-F00A-464E-AD19-53AFF4B05118","path":"IntegTestStackCustomDomain/SsmParameterValue:--aws--service--canonical--ubuntu--server--jammy--stable--current--arm64--hvm--ebs-gp2--ami-id:C96584B6-F00A-464E-AD19-53AFF4B05118","constructInfo":{"fqn":"aws-cdk-lib.Resource","version":"2.190.0","metadata":[]}},"AWSCloudFrontPartitionHostedZoneIdMap":{"id":"AWSCloudFrontPartitionHostedZoneIdMap","path":"IntegTestStackCustomDomain/AWSCloudFrontPartitionHostedZoneIdMap","constructInfo":{"fqn":"aws-cdk-lib.CfnMapping","version":"2.190.0"}},"login-handler":{"id":"login-handler","path":"IntegTestStackCustomDomain/login-handler","children":{"ServiceRole":{"id":"ServiceRole","path":"IntegTestStackCustomDomain/login-handler/ServiceRole","children":{"ImportServiceRole":{"id":"ImportServiceRole","path":"IntegTestStackCustomDomain/login-handler/ServiceRole/ImportServiceRole","constructInfo":{"fqn":"aws-cdk-lib.Resource","version":"2.190.0","metadata":["*"]}},"Resource":{"id":"Resource","path":"IntegTestStackCustomDomain/login-handler/ServiceRole/Resource","attributes":{"aws:cdk:cloudformation:type":"AWS::IAM::Role","aws:cdk:cloudformation:props":{"assumeRolePolicyDocument":{"Statement":[{"Action":"sts:AssumeRole","Effect":"Allow","Principal":{"Service":"lambda.amazonaws.com"}}],"Version":"2012-10-17"},"managedPolicyArns":[{"Fn::Join":["",["arn:",{"Ref":"AWS::Partition"},":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole"]]}]}},"constructInfo":{"fqn":"aws-cdk-lib.aws_iam.CfnRole","version":"2.190.0"}}},"constructInfo":{"fqn":"aws-cdk-lib.aws_iam.Role","version":"2.190.0","metadata":[{"assumedBy":{"principalAccount":"*","assumeRoleAction":"*"},"managedPolicies":[{"managedPolicyArn":"*"}]}]}},"Code":{"id":"Code","path":"IntegTestStackCustomDomain/login-handler/Code","children":{"Stage":{"id":"Stage","path":"IntegTestStackCustomDomain/login-handler/Code/Stage","constructInfo":{"fqn":"aws-cdk-lib.AssetStaging","version":"2.190.0"}},"AssetBucket":{"id":"AssetBucket","path":"IntegTestStackCustomDomain/login-handler/Code/AssetBucket","constructInfo":{"fqn":"aws-cdk-lib.aws_s3.BucketBase","version":"2.190.0","metadata":[]}}},"constructInfo":{"fqn":"aws-cdk-lib.aws_s3_assets.Asset","version":"2.190.0"}},"Resource":{"id":"Resource","path":"IntegTestStackCustomDomain/login-handler/Resource","attributes":{"aws:cdk:cloudformation:type":"AWS::Lambda::Function","aws:cdk:cloudformation:props":{"code":{"s3Bucket":{"Fn::Sub":"cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}"},"s3Key":"0ad50fc42afd768c3d0bfdd4701e43284fb077a25f19eea1e8c51a5ca36ebfe4.zip"},"handler":"index.handler","role":{"Fn::GetAtt":["loginhandlerServiceRole330B0B32","Arn"]},"runtime":"nodejs20.x","timeout":30}},"constructInfo":{"fqn":"aws-cdk-lib.aws_lambda.CfnFunction","version":"2.190.0"}},"LogRetention":{"id":"LogRetention","path":"IntegTestStackCustomDomain/login-handler/LogRetention","children":{"Resource":{"id":"Resource","path":"IntegTestStackCustomDomain/login-handler/LogRetention/Resource","constructInfo":{"fqn":"aws-cdk-lib.CfnResource","version":"2.190.0"}}},"constructInfo":{"fqn":"aws-cdk-lib.aws_logs.LogRetention","version":"2.190.0"}},"LogGroup":{"id":"LogGroup","path":"IntegTestStackCustomDomain/login-handler/LogGroup","constructInfo":{"fqn":"aws-cdk-lib.Resource","version":"2.190.0","metadata":[]}}},"constructInfo":{"fqn":"aws-cdk-lib.aws_lambda_nodejs.NodejsFunction","version":"2.190.0","metadata":[{"functionName":"*","entry":"*","runtime":"*","logRetention":1,"timeout":"*","bundling":{"esbuildArgs":"*"},"code":"*","handler":"*"},{"functionName":"*","entry":"*","runtime":"*","logRetention":1,"timeout":"*","bundling":{"esbuildArgs":"*"}}]}},"LogRetentionaae0aa3c5b4d4f87b02d85b201efdd8a":{"id":"LogRetentionaae0aa3c5b4d4f87b02d85b201efdd8a","path":"IntegTestStackCustomDomain/LogRetentionaae0aa3c5b4d4f87b02d85b201efdd8a","children":{"Code":{"id":"Code","path":"IntegTestStackCustomDomain/LogRetentionaae0aa3c5b4d4f87b02d85b201efdd8a/Code","children":{"Stage":{"id":"Stage","path":"IntegTestStackCustomDomain/LogRetentionaae0aa3c5b4d4f87b02d85b201efdd8a/Code/Stage","constructInfo":{"fqn":"aws-cdk-lib.AssetStaging","version":"2.190.0"}},"AssetBucket":{"id":"AssetBucket","path":"IntegTestStackCustomDomain/LogRetentionaae0aa3c5b4d4f87b02d85b201efdd8a/Code/AssetBucket","constructInfo":{"fqn":"aws-cdk-lib.aws_s3.BucketBase","version":"2.190.0","metadata":[]}}},"constructInfo":{"fqn":"aws-cdk-lib.aws_s3_assets.Asset","version":"2.190.0"}},"ServiceRole":{"id":"ServiceRole","path":"IntegTestStackCustomDomain/LogRetentionaae0aa3c5b4d4f87b02d85b201efdd8a/ServiceRole","children":{"ImportServiceRole":{"id":"ImportServiceRole","path":"IntegTestStackCustomDomain/LogRetentionaae0aa3c5b4d4f87b02d85b201efdd8a/ServiceRole/ImportServiceRole","constructInfo":{"fqn":"aws-cdk-lib.Resource","version":"2.190.0","metadata":["*"]}},"Resource":{"id":"Resource","path":"IntegTestStackCustomDomain/LogRetentionaae0aa3c5b4d4f87b02d85b201efdd8a/ServiceRole/Resource","attributes":{"aws:cdk:cloudformation:type":"AWS::IAM::Role","aws:cdk:cloudformation:props":{"assumeRolePolicyDocument":{"Statement":[{"Action":"sts:AssumeRole","Effect":"Allow","Principal":{"Service":"lambda.amazonaws.com"}}],"Version":"2012-10-17"},"managedPolicyArns":[{"Fn::Join":["",["arn:",{"Ref":"AWS::Partition"},":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole"]]}]}},"constructInfo":{"fqn":"aws-cdk-lib.aws_iam.CfnRole","version":"2.190.0"}},"DefaultPolicy":{"id":"DefaultPolicy","path":"IntegTestStackCustomDomain/LogRetentionaae0aa3c5b4d4f87b02d85b201efdd8a/ServiceRole/DefaultPolicy","children":{"Resource":{"id":"Resource","path":"IntegTestStackCustomDomain/LogRetentionaae0aa3c5b4d4f87b02d85b201efdd8a/ServiceRole/DefaultPolicy/Resource","attributes":{"aws:cdk:cloudformation:type":"AWS::IAM::Policy","aws:cdk:cloudformation:props":{"policyDocument":{"Statement":[{"Action":["logs:DeleteRetentionPolicy","logs:PutRetentionPolicy"],"Effect":"Allow","Resource":"*"}],"Version":"2012-10-17"},"policyName":"LogRetentionaae0aa3c5b4d4f87b02d85b201efdd8aServiceRoleDefaultPolicyADDA7DEB","roles":[{"Ref":"LogRetentionaae0aa3c5b4d4f87b02d85b201efdd8aServiceRole9741ECFB"}]}},"constructInfo":{"fqn":"aws-cdk-lib.aws_iam.CfnPolicy","version":"2.190.0"}}},"constructInfo":{"fqn":"aws-cdk-lib.aws_iam.Policy","version":"2.190.0","metadata":["*",{"attachToRole":["*"]},{"attachToRole":["*"]},{"addStatements":[{}]}]}}},"constructInfo":{"fqn":"aws-cdk-lib.aws_iam.Role","version":"2.190.0","metadata":[{"assumedBy":{"principalAccount":"*","assumeRoleAction":"*"},"managedPolicies":[{"managedPolicyArn":"*"}]},{"addToPrincipalPolicy":[{}]},{"attachInlinePolicy":["*"]},{"attachInlinePolicy":["*"]}]}},"Resource":{"id":"Resource","path":"IntegTestStackCustomDomain/LogRetentionaae0aa3c5b4d4f87b02d85b201efdd8a/Resource","constructInfo":{"fqn":"aws-cdk-lib.CfnResource","version":"2.190.0"}}},"constructInfo":{"fqn":"constructs.Construct","version":"10.4.2"}},"Exports":{"id":"Exports","path":"IntegTestStackCustomDomain/Exports","children":{"Output{\"Ref\":\"loginhandler99CCCCFD\"}":{"id":"Output{\"Ref\":\"loginhandler99CCCCFD\"}","path":"IntegTestStackCustomDomain/Exports/Output{\"Ref\":\"loginhandler99CCCCFD\"}","constructInfo":{"fqn":"aws-cdk-lib.CfnOutput","version":"2.190.0"}},"Output{\"Fn::GetAtt\":[\"IntegVSCodeServerSecretRetrieverCustomResource2F3DB8BD\",\"secretPasswordValue\"]}":{"id":"Output{\"Fn::GetAtt\":[\"IntegVSCodeServerSecretRetrieverCustomResource2F3DB8BD\",\"secretPasswordValue\"]}","path":"IntegTestStackCustomDomain/Exports/Output{\"Fn::GetAtt\":[\"IntegVSCodeServerSecretRetrieverCustomResource2F3DB8BD\",\"secretPasswordValue\"]}","constructInfo":{"fqn":"aws-cdk-lib.CfnOutput","version":"2.190.0"}}},"constructInfo":{"fqn":"constructs.Construct","version":"10.4.2"}},"BootstrapVersion":{"id":"BootstrapVersion","path":"IntegTestStackCustomDomain/BootstrapVersion","constructInfo":{"fqn":"aws-cdk-lib.CfnParameter","version":"2.190.0"}},"CheckBootstrapVersion":{"id":"CheckBootstrapVersion","path":"IntegTestStackCustomDomain/CheckBootstrapVersion","constructInfo":{"fqn":"aws-cdk-lib.CfnRule","version":"2.190.0"}}},"constructInfo":{"fqn":"aws-cdk-lib.Stack","version":"2.190.0"}},"IntegSetupVSCodeOnCustomDomain":{"id":"IntegSetupVSCodeOnCustomDomain","path":"IntegSetupVSCodeOnCustomDomain","children":{"DefaultTest":{"id":"DefaultTest","path":"IntegSetupVSCodeOnCustomDomain/DefaultTest","children":{"Default":{"id":"Default","path":"IntegSetupVSCodeOnCustomDomain/DefaultTest/Default","constructInfo":{"fqn":"constructs.Construct","version":"10.4.2"}},"DeployAssert":{"id":"DeployAssert","path":"IntegSetupVSCodeOnCustomDomain/DefaultTest/DeployAssert","children":{"LambdaInvoke8ec5b9bf9e6f21453cf51f55dba9cfe4":{"id":"LambdaInvoke8ec5b9bf9e6f21453cf51f55dba9cfe4","path":"IntegSetupVSCodeOnCustomDomain/DefaultTest/DeployAssert/LambdaInvoke8ec5b9bf9e6f21453cf51f55dba9cfe4","children":{"SdkProvider":{"id":"SdkProvider","path":"IntegSetupVSCodeOnCustomDomain/DefaultTest/DeployAssert/LambdaInvoke8ec5b9bf9e6f21453cf51f55dba9cfe4/SdkProvider","children":{"AssertionsProvider":{"id":"AssertionsProvider","path":"IntegSetupVSCodeOnCustomDomain/DefaultTest/DeployAssert/LambdaInvoke8ec5b9bf9e6f21453cf51f55dba9cfe4/SdkProvider/AssertionsProvider","constructInfo":{"fqn":"constructs.Construct","version":"10.4.2"}}},"constructInfo":{"fqn":"@aws-cdk/integ-tests-alpha.AssertionsProvider","version":"2.190.0-alpha.0"}},"Default":{"id":"Default","path":"IntegSetupVSCodeOnCustomDomain/DefaultTest/DeployAssert/LambdaInvoke8ec5b9bf9e6f21453cf51f55dba9cfe4/Default","children":{"Default":{"id":"Default","path":"IntegSetupVSCodeOnCustomDomain/DefaultTest/DeployAssert/LambdaInvoke8ec5b9bf9e6f21453cf51f55dba9cfe4/Default/Default","constructInfo":{"fqn":"aws-cdk-lib.CfnResource","version":"2.190.0"}}},"constructInfo":{"fqn":"aws-cdk-lib.CustomResource","version":"2.190.0","metadata":["*","*","*"]}},"Invoke":{"id":"Invoke","path":"IntegSetupVSCodeOnCustomDomain/DefaultTest/DeployAssert/LambdaInvoke8ec5b9bf9e6f21453cf51f55dba9cfe4/Invoke","constructInfo":{"fqn":"aws-cdk-lib.CfnResource","version":"2.190.0"}},"AssertionResults":{"id":"AssertionResults","path":"IntegSetupVSCodeOnCustomDomain/DefaultTest/DeployAssert/LambdaInvoke8ec5b9bf9e6f21453cf51f55dba9cfe4/AssertionResults","constructInfo":{"fqn":"aws-cdk-lib.CfnOutput","version":"2.190.0"}}},"constructInfo":{"fqn":"@aws-cdk/integ-tests-alpha.LambdaInvokeFunction","version":"2.190.0-alpha.0"}},"SingletonFunction1488541a7b23466481b69b4408076b81":{"id":"SingletonFunction1488541a7b23466481b69b4408076b81","path":"IntegSetupVSCodeOnCustomDomain/DefaultTest/DeployAssert/SingletonFunction1488541a7b23466481b69b4408076b81","children":{"Staging":{"id":"Staging","path":"IntegSetupVSCodeOnCustomDomain/DefaultTest/DeployAssert/SingletonFunction1488541a7b23466481b69b4408076b81/Staging","constructInfo":{"fqn":"aws-cdk-lib.AssetStaging","version":"2.190.0"}},"Role":{"id":"Role","path":"IntegSetupVSCodeOnCustomDomain/DefaultTest/DeployAssert/SingletonFunction1488541a7b23466481b69b4408076b81/Role","constructInfo":{"fqn":"aws-cdk-lib.CfnResource","version":"2.190.0"}},"Handler":{"id":"Handler","path":"IntegSetupVSCodeOnCustomDomain/DefaultTest/DeployAssert/SingletonFunction1488541a7b23466481b69b4408076b81/Handler","constructInfo":{"fqn":"aws-cdk-lib.CfnResource","version":"2.190.0"}}},"constructInfo":{"fqn":"constructs.Construct","version":"10.4.2"}},"LatestNodeRuntimeMap":{"id":"LatestNodeRuntimeMap","path":"IntegSetupVSCodeOnCustomDomain/DefaultTest/DeployAssert/LatestNodeRuntimeMap","constructInfo":{"fqn":"aws-cdk-lib.CfnMapping","version":"2.190.0"}},"BootstrapVersion":{"id":"BootstrapVersion","path":"IntegSetupVSCodeOnCustomDomain/DefaultTest/DeployAssert/BootstrapVersion","constructInfo":{"fqn":"aws-cdk-lib.CfnParameter","version":"2.190.0"}},"CheckBootstrapVersion":{"id":"CheckBootstrapVersion","path":"IntegSetupVSCodeOnCustomDomain/DefaultTest/DeployAssert/CheckBootstrapVersion","constructInfo":{"fqn":"aws-cdk-lib.CfnRule","version":"2.190.0"}}},"constructInfo":{"fqn":"aws-cdk-lib.Stack","version":"2.190.0"}}},"constructInfo":{"fqn":"@aws-cdk/integ-tests-alpha.IntegTestCase","version":"2.190.0-alpha.0"}}},"constructInfo":{"fqn":"@aws-cdk/integ-tests-alpha.IntegTest","version":"2.190.0-alpha.0"}},"Tree":{"id":"Tree","path":"Tree","constructInfo":{"fqn":"constructs.Construct","version":"10.4.2"}}},"constructInfo":{"fqn":"aws-cdk-lib.App","version":"2.190.0"}}}
|
|
@@ -1,20 +1,21 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "
|
|
2
|
+
"version": "41.0.0",
|
|
3
3
|
"files": {
|
|
4
|
-
"
|
|
4
|
+
"530055f7515b3f0a47900f5df37e729ba40ca977b2d07b952bdefa2b8f883f42": {
|
|
5
5
|
"source": {
|
|
6
|
-
"path": "asset.
|
|
6
|
+
"path": "asset.530055f7515b3f0a47900f5df37e729ba40ca977b2d07b952bdefa2b8f883f42.bundle",
|
|
7
7
|
"packaging": "zip"
|
|
8
8
|
},
|
|
9
9
|
"destinations": {
|
|
10
10
|
"current_account-current_region": {
|
|
11
11
|
"bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}",
|
|
12
|
-
"objectKey": "
|
|
12
|
+
"objectKey": "530055f7515b3f0a47900f5df37e729ba40ca977b2d07b952bdefa2b8f883f42.zip",
|
|
13
13
|
"assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}"
|
|
14
14
|
}
|
|
15
15
|
}
|
|
16
16
|
},
|
|
17
|
-
"
|
|
17
|
+
"4b172853f97562ce69aef5c13e0e47c1b57b0743f17f3f26595522493ca8c6a9": {
|
|
18
|
+
"displayName": "IntegSetupVSCodeOnUbuntuDefaultTestDeployAssertFF8DF2C5 Template",
|
|
18
19
|
"source": {
|
|
19
20
|
"path": "IntegSetupVSCodeOnUbuntuDefaultTestDeployAssertFF8DF2C5.template.json",
|
|
20
21
|
"packaging": "file"
|
|
@@ -22,7 +23,7 @@
|
|
|
22
23
|
"destinations": {
|
|
23
24
|
"current_account-current_region": {
|
|
24
25
|
"bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}",
|
|
25
|
-
"objectKey": "
|
|
26
|
+
"objectKey": "4b172853f97562ce69aef5c13e0e47c1b57b0743f17f3f26595522493ca8c6a9.json",
|
|
26
27
|
"assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}"
|
|
27
28
|
}
|
|
28
29
|
}
|
|
@@ -45,7 +45,7 @@
|
|
|
45
45
|
}
|
|
46
46
|
},
|
|
47
47
|
"flattenResponse": "false",
|
|
48
|
-
"salt": "
|
|
48
|
+
"salt": "1759319199686"
|
|
49
49
|
},
|
|
50
50
|
"UpdateReplacePolicy": "Delete",
|
|
51
51
|
"DeletionPolicy": "Delete"
|
|
@@ -153,7 +153,7 @@
|
|
|
153
153
|
"S3Bucket": {
|
|
154
154
|
"Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}"
|
|
155
155
|
},
|
|
156
|
-
"S3Key": "
|
|
156
|
+
"S3Key": "530055f7515b3f0a47900f5df37e729ba40ca977b2d07b952bdefa2b8f883f42.zip"
|
|
157
157
|
},
|
|
158
158
|
"Timeout": 120,
|
|
159
159
|
"Handler": "index.handler",
|
|
@@ -224,10 +224,10 @@
|
|
|
224
224
|
"value": "nodejs20.x"
|
|
225
225
|
},
|
|
226
226
|
"cn-north-1": {
|
|
227
|
-
"value": "
|
|
227
|
+
"value": "nodejs20.x"
|
|
228
228
|
},
|
|
229
229
|
"cn-northwest-1": {
|
|
230
|
-
"value": "
|
|
230
|
+
"value": "nodejs20.x"
|
|
231
231
|
},
|
|
232
232
|
"eu-central-1": {
|
|
233
233
|
"value": "nodejs20.x"
|
|
@@ -278,10 +278,10 @@
|
|
|
278
278
|
"value": "nodejs20.x"
|
|
279
279
|
},
|
|
280
280
|
"us-gov-east-1": {
|
|
281
|
-
"value": "
|
|
281
|
+
"value": "nodejs20.x"
|
|
282
282
|
},
|
|
283
283
|
"us-gov-west-1": {
|
|
284
|
-
"value": "
|
|
284
|
+
"value": "nodejs20.x"
|
|
285
285
|
},
|
|
286
286
|
"us-iso-east-1": {
|
|
287
287
|
"value": "nodejs18.x"
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "
|
|
2
|
+
"version": "41.0.0",
|
|
3
3
|
"files": {
|
|
4
4
|
"781ab0ab74634cdaf61539ab208ab777829ef07097ac21f95b9e15a3b1eedc1b": {
|
|
5
|
+
"displayName": "IntegVSCodeServer/SecretRetrieverOnEventHandler/Code",
|
|
5
6
|
"source": {
|
|
6
7
|
"path": "asset.781ab0ab74634cdaf61539ab208ab777829ef07097ac21f95b9e15a3b1eedc1b.lambda",
|
|
7
8
|
"packaging": "zip"
|
|
@@ -15,6 +16,7 @@
|
|
|
15
16
|
}
|
|
16
17
|
},
|
|
17
18
|
"bdc104ed9cab1b5b6421713c8155f0b753380595356f710400609664d3635eca": {
|
|
19
|
+
"displayName": "IntegVSCodeServer/SecretRetrieveProvider/framework-onEvent/Code",
|
|
18
20
|
"source": {
|
|
19
21
|
"path": "asset.bdc104ed9cab1b5b6421713c8155f0b753380595356f710400609664d3635eca",
|
|
20
22
|
"packaging": "zip"
|
|
@@ -28,6 +30,7 @@
|
|
|
28
30
|
}
|
|
29
31
|
},
|
|
30
32
|
"7fa1e366ee8a9ded01fc355f704cff92bfd179574e6f9cfee800a3541df1b200": {
|
|
33
|
+
"displayName": "IntegTestStackUbuntu22/Custom::VpcRestrictDefaultSGCustomResourceProvider Code",
|
|
31
34
|
"source": {
|
|
32
35
|
"path": "asset.7fa1e366ee8a9ded01fc355f704cff92bfd179574e6f9cfee800a3541df1b200",
|
|
33
36
|
"packaging": "zip"
|
|
@@ -40,46 +43,50 @@
|
|
|
40
43
|
}
|
|
41
44
|
}
|
|
42
45
|
},
|
|
43
|
-
"
|
|
46
|
+
"9d043014be736e8162bcc7ec5590cc6d2ff24fd0d9c73a5c5d595151c5fdad00": {
|
|
47
|
+
"displayName": "AWS679f53fac002430cb0da5b7982bd2287/Code",
|
|
44
48
|
"source": {
|
|
45
|
-
"path": "asset.
|
|
49
|
+
"path": "asset.9d043014be736e8162bcc7ec5590cc6d2ff24fd0d9c73a5c5d595151c5fdad00",
|
|
46
50
|
"packaging": "zip"
|
|
47
51
|
},
|
|
48
52
|
"destinations": {
|
|
49
53
|
"current_account-current_region": {
|
|
50
54
|
"bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}",
|
|
51
|
-
"objectKey": "
|
|
55
|
+
"objectKey": "9d043014be736e8162bcc7ec5590cc6d2ff24fd0d9c73a5c5d595151c5fdad00.zip",
|
|
52
56
|
"assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}"
|
|
53
57
|
}
|
|
54
58
|
}
|
|
55
59
|
},
|
|
56
|
-
"
|
|
60
|
+
"33da23274e25bd9f43638c5d83dad26e3931cbe78d462ffd9a9f565e948b4f5f": {
|
|
61
|
+
"displayName": "IntegVSCodeServer/InstallerOnEventHandler/Code",
|
|
57
62
|
"source": {
|
|
58
|
-
"path": "asset.
|
|
63
|
+
"path": "asset.33da23274e25bd9f43638c5d83dad26e3931cbe78d462ffd9a9f565e948b4f5f.lambda",
|
|
59
64
|
"packaging": "zip"
|
|
60
65
|
},
|
|
61
66
|
"destinations": {
|
|
62
67
|
"current_account-current_region": {
|
|
63
68
|
"bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}",
|
|
64
|
-
"objectKey": "
|
|
69
|
+
"objectKey": "33da23274e25bd9f43638c5d83dad26e3931cbe78d462ffd9a9f565e948b4f5f.zip",
|
|
65
70
|
"assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}"
|
|
66
71
|
}
|
|
67
72
|
}
|
|
68
73
|
},
|
|
69
|
-
"
|
|
74
|
+
"0ad50fc42afd768c3d0bfdd4701e43284fb077a25f19eea1e8c51a5ca36ebfe4": {
|
|
75
|
+
"displayName": "login-handler/Code",
|
|
70
76
|
"source": {
|
|
71
|
-
"path": "asset.
|
|
77
|
+
"path": "asset.0ad50fc42afd768c3d0bfdd4701e43284fb077a25f19eea1e8c51a5ca36ebfe4",
|
|
72
78
|
"packaging": "zip"
|
|
73
79
|
},
|
|
74
80
|
"destinations": {
|
|
75
81
|
"current_account-current_region": {
|
|
76
82
|
"bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}",
|
|
77
|
-
"objectKey": "
|
|
83
|
+
"objectKey": "0ad50fc42afd768c3d0bfdd4701e43284fb077a25f19eea1e8c51a5ca36ebfe4.zip",
|
|
78
84
|
"assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}"
|
|
79
85
|
}
|
|
80
86
|
}
|
|
81
87
|
},
|
|
82
88
|
"2819175352ad1ce0dae768e83fc328fb70fb5f10b4a8ff0ccbcb791f02b0716d": {
|
|
89
|
+
"displayName": "LogRetentionaae0aa3c5b4d4f87b02d85b201efdd8a/Code",
|
|
83
90
|
"source": {
|
|
84
91
|
"path": "asset.2819175352ad1ce0dae768e83fc328fb70fb5f10b4a8ff0ccbcb791f02b0716d",
|
|
85
92
|
"packaging": "zip"
|
|
@@ -92,7 +99,8 @@
|
|
|
92
99
|
}
|
|
93
100
|
}
|
|
94
101
|
},
|
|
95
|
-
"
|
|
102
|
+
"a7c2aeec7d9d4fadadd4ac092c193c570531ae7b013f8f6300d15855836ea007": {
|
|
103
|
+
"displayName": "IntegTestStackUbuntu22 Template",
|
|
96
104
|
"source": {
|
|
97
105
|
"path": "IntegTestStackUbuntu22.template.json",
|
|
98
106
|
"packaging": "file"
|
|
@@ -100,7 +108,7 @@
|
|
|
100
108
|
"destinations": {
|
|
101
109
|
"current_account-current_region": {
|
|
102
110
|
"bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}",
|
|
103
|
-
"objectKey": "
|
|
111
|
+
"objectKey": "a7c2aeec7d9d4fadadd4ac092c193c570531ae7b013f8f6300d15855836ea007.json",
|
|
104
112
|
"assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}"
|
|
105
113
|
}
|
|
106
114
|
}
|