diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-codebuild/test/integ.project-linux-arm.js.snapshot/cdk.out b/packages/@aws-cdk-testing/framework-integ/test/aws-codebuild/test/integ.project-linux-arm.js.snapshot/cdk.out index bd5311dc372de..188478b55560e 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-codebuild/test/integ.project-linux-arm.js.snapshot/cdk.out +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-codebuild/test/integ.project-linux-arm.js.snapshot/cdk.out @@ -1 +1 @@ -{"version":"36.0.5"} \ No newline at end of file +{"version":"41.0.0"} \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-codebuild/test/integ.project-linux-arm.js.snapshot/codebuild-project-arm.assets.json b/packages/@aws-cdk-testing/framework-integ/test/aws-codebuild/test/integ.project-linux-arm.js.snapshot/codebuild-project-arm.assets.json index 15d66e1bb38f4..8331160b2feed 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-codebuild/test/integ.project-linux-arm.js.snapshot/codebuild-project-arm.assets.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-codebuild/test/integ.project-linux-arm.js.snapshot/codebuild-project-arm.assets.json @@ -1,7 +1,8 @@ { - "version": "36.0.5", + "version": "41.0.0", "files": { - "fb14db2f3f849c96db420afc9fd158b99550fa4ffa602209cd78e471a282fc4a": { + "1111173b698339c6847c92c24177b6af55b6aeab691b97bac9a404ec8f3221ab": { + "displayName": "codebuild-project-arm Template", "source": { "path": "codebuild-project-arm.template.json", "packaging": "file" @@ -9,7 +10,7 @@ "destinations": { "current_account-current_region": { "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", - "objectKey": "fb14db2f3f849c96db420afc9fd158b99550fa4ffa602209cd78e471a282fc4a.json", + "objectKey": "1111173b698339c6847c92c24177b6af55b6aeab691b97bac9a404ec8f3221ab.json", "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" } } diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-codebuild/test/integ.project-linux-arm.js.snapshot/codebuild-project-arm.template.json b/packages/@aws-cdk-testing/framework-integ/test/aws-codebuild/test/integ.project-linux-arm.js.snapshot/codebuild-project-arm.template.json index a902bdb9a33ce..18cc978a59693 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-codebuild/test/integ.project-linux-arm.js.snapshot/codebuild-project-arm.template.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-codebuild/test/integ.project-linux-arm.js.snapshot/codebuild-project-arm.template.json @@ -458,6 +458,312 @@ "Type": "NO_SOURCE" } } + }, + "MyProjectARMAL2023Role5A985E72": { + "Type": "AWS::IAM::Role", + "Properties": { + "AssumeRolePolicyDocument": { + "Statement": [ + { + "Action": "sts:AssumeRole", + "Effect": "Allow", + "Principal": { + "Service": "codebuild.amazonaws.com" + } + } + ], + "Version": "2012-10-17" + } + } + }, + "MyProjectARMAL2023RoleDefaultPolicyC8DD37B3": { + "Type": "AWS::IAM::Policy", + "Properties": { + "PolicyDocument": { + "Statement": [ + { + "Action": [ + "logs:CreateLogGroup", + "logs:CreateLogStream", + "logs:PutLogEvents" + ], + "Effect": "Allow", + "Resource": [ + { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":logs:", + { + "Ref": "AWS::Region" + }, + ":", + { + "Ref": "AWS::AccountId" + }, + ":log-group:/aws/codebuild/", + { + "Ref": "MyProjectARMAL2023F5F197D0" + }, + ":*" + ] + ] + }, + { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":logs:", + { + "Ref": "AWS::Region" + }, + ":", + { + "Ref": "AWS::AccountId" + }, + ":log-group:/aws/codebuild/", + { + "Ref": "MyProjectARMAL2023F5F197D0" + } + ] + ] + } + ] + }, + { + "Action": [ + "codebuild:BatchPutCodeCoverages", + "codebuild:BatchPutTestCases", + "codebuild:CreateReport", + "codebuild:CreateReportGroup", + "codebuild:UpdateReport" + ], + "Effect": "Allow", + "Resource": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":codebuild:", + { + "Ref": "AWS::Region" + }, + ":", + { + "Ref": "AWS::AccountId" + }, + ":report-group/", + { + "Ref": "MyProjectARMAL2023F5F197D0" + }, + "-*" + ] + ] + } + } + ], + "Version": "2012-10-17" + }, + "PolicyName": "MyProjectARMAL2023RoleDefaultPolicyC8DD37B3", + "Roles": [ + { + "Ref": "MyProjectARMAL2023Role5A985E72" + } + ] + } + }, + "MyProjectARMAL2023F5F197D0": { + "Type": "AWS::CodeBuild::Project", + "Properties": { + "Artifacts": { + "Type": "NO_ARTIFACTS" + }, + "Cache": { + "Type": "NO_CACHE" + }, + "EncryptionKey": "alias/aws/s3", + "Environment": { + "ComputeType": "BUILD_GENERAL1_MEDIUM", + "Image": "aws/codebuild/ami/amazonlinux-arm-base:latest", + "ImagePullCredentialsType": "CODEBUILD", + "PrivilegedMode": false, + "Type": "ARM_EC2" + }, + "ServiceRole": { + "Fn::GetAtt": [ + "MyProjectARMAL2023Role5A985E72", + "Arn" + ] + }, + "Source": { + "BuildSpec": "{\n \"version\": \"0.2\"\n}", + "Type": "NO_SOURCE" + } + } + }, + "MyProjectAL2023Role6007CB95": { + "Type": "AWS::IAM::Role", + "Properties": { + "AssumeRolePolicyDocument": { + "Statement": [ + { + "Action": "sts:AssumeRole", + "Effect": "Allow", + "Principal": { + "Service": "codebuild.amazonaws.com" + } + } + ], + "Version": "2012-10-17" + } + } + }, + "MyProjectAL2023RoleDefaultPolicyD09BE532": { + "Type": "AWS::IAM::Policy", + "Properties": { + "PolicyDocument": { + "Statement": [ + { + "Action": [ + "logs:CreateLogGroup", + "logs:CreateLogStream", + "logs:PutLogEvents" + ], + "Effect": "Allow", + "Resource": [ + { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":logs:", + { + "Ref": "AWS::Region" + }, + ":", + { + "Ref": "AWS::AccountId" + }, + ":log-group:/aws/codebuild/", + { + "Ref": "MyProjectAL2023254D5457" + }, + ":*" + ] + ] + }, + { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":logs:", + { + "Ref": "AWS::Region" + }, + ":", + { + "Ref": "AWS::AccountId" + }, + ":log-group:/aws/codebuild/", + { + "Ref": "MyProjectAL2023254D5457" + } + ] + ] + } + ] + }, + { + "Action": [ + "codebuild:BatchPutCodeCoverages", + "codebuild:BatchPutTestCases", + "codebuild:CreateReport", + "codebuild:CreateReportGroup", + "codebuild:UpdateReport" + ], + "Effect": "Allow", + "Resource": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":codebuild:", + { + "Ref": "AWS::Region" + }, + ":", + { + "Ref": "AWS::AccountId" + }, + ":report-group/", + { + "Ref": "MyProjectAL2023254D5457" + }, + "-*" + ] + ] + } + } + ], + "Version": "2012-10-17" + }, + "PolicyName": "MyProjectAL2023RoleDefaultPolicyD09BE532", + "Roles": [ + { + "Ref": "MyProjectAL2023Role6007CB95" + } + ] + } + }, + "MyProjectAL2023254D5457": { + "Type": "AWS::CodeBuild::Project", + "Properties": { + "Artifacts": { + "Type": "NO_ARTIFACTS" + }, + "Cache": { + "Type": "NO_CACHE" + }, + "EncryptionKey": "alias/aws/s3", + "Environment": { + "ComputeType": "BUILD_GENERAL1_MEDIUM", + "Image": "aws/codebuild/ami/amazonlinux-x86_64-base:latest", + "ImagePullCredentialsType": "CODEBUILD", + "PrivilegedMode": false, + "Type": "LINUX_EC2" + }, + "ServiceRole": { + "Fn::GetAtt": [ + "MyProjectAL2023Role6007CB95", + "Arn" + ] + }, + "Source": { + "BuildSpec": "{\n \"version\": \"0.2\"\n}", + "Type": "NO_SOURCE" + } + } } }, "Parameters": { diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-codebuild/test/integ.project-linux-arm.js.snapshot/integ.json b/packages/@aws-cdk-testing/framework-integ/test/aws-codebuild/test/integ.project-linux-arm.js.snapshot/integ.json index 1b19409d332b6..4b6f8eeca1fcf 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-codebuild/test/integ.project-linux-arm.js.snapshot/integ.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-codebuild/test/integ.project-linux-arm.js.snapshot/integ.json @@ -1,5 +1,5 @@ { - "version": "36.0.5", + "version": "41.0.0", "testCases": { "integ-test-codebuild-project-arm/DefaultTest": { "stacks": [ diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-codebuild/test/integ.project-linux-arm.js.snapshot/integtestcodebuildprojectarmDefaultTestDeployAssert4EE92337.assets.json b/packages/@aws-cdk-testing/framework-integ/test/aws-codebuild/test/integ.project-linux-arm.js.snapshot/integtestcodebuildprojectarmDefaultTestDeployAssert4EE92337.assets.json index f367aa992702d..704a98acac774 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-codebuild/test/integ.project-linux-arm.js.snapshot/integtestcodebuildprojectarmDefaultTestDeployAssert4EE92337.assets.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-codebuild/test/integ.project-linux-arm.js.snapshot/integtestcodebuildprojectarmDefaultTestDeployAssert4EE92337.assets.json @@ -1,7 +1,8 @@ { - "version": "36.0.5", + "version": "41.0.0", "files": { "21fbb51d7b23f6a6c262b46a9caee79d744a3ac019fd45422d988b96d44b2a22": { + "displayName": "integtestcodebuildprojectarmDefaultTestDeployAssert4EE92337 Template", "source": { "path": "integtestcodebuildprojectarmDefaultTestDeployAssert4EE92337.template.json", "packaging": "file" diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-codebuild/test/integ.project-linux-arm.js.snapshot/manifest.json b/packages/@aws-cdk-testing/framework-integ/test/aws-codebuild/test/integ.project-linux-arm.js.snapshot/manifest.json index 9a9ed7d53e31d..bf705f0cdab11 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-codebuild/test/integ.project-linux-arm.js.snapshot/manifest.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-codebuild/test/integ.project-linux-arm.js.snapshot/manifest.json @@ -1,5 +1,5 @@ { - "version": "36.0.5", + "version": "42.0.0", "artifacts": { "codebuild-project-arm.assets": { "type": "cdk:asset-manifest", @@ -18,7 +18,7 @@ "validateOnSynth": false, "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-deploy-role-${AWS::AccountId}-${AWS::Region}", "cloudFormationExecutionRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-cfn-exec-role-${AWS::AccountId}-${AWS::Region}", - "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/fb14db2f3f849c96db420afc9fd158b99550fa4ffa602209cd78e471a282fc4a.json", + "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/1111173b698339c6847c92c24177b6af55b6aeab691b97bac9a404ec8f3221ab.json", "requiresBootstrapStackVersion": 6, "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version", "additionalDependencies": [ @@ -34,12 +34,119 @@ "codebuild-project-arm.assets" ], "metadata": { + "/codebuild-project-arm/MyProjectMedium": [ + { + "type": "aws:cdk:analytics:construct", + "data": { + "buildSpec": "*", + "environment": { + "buildImage": { + "defaultComputeType": "BUILD_GENERAL1_LARGE", + "imageId": "*", + "imagePullPrincipalType": "CODEBUILD", + "secretsManagerCredentials": "*", + "repository": "*", + "type": "*" + }, + "computeType": "BUILD_GENERAL1_MEDIUM" + } + } + } + ], + "/codebuild-project-arm/MyProjectMedium/Role": [ + { + "type": "aws:cdk:analytics:construct", + "data": { + "roleName": "*", + "assumedBy": { + "principalAccount": "*", + "assumeRoleAction": "*" + } + } + }, + { + "type": "aws:cdk:analytics:method", + "data": { + "addToPrincipalPolicy": [ + {} + ] + } + }, + { + "type": "aws:cdk:analytics:method", + "data": { + "attachInlinePolicy": [ + "*" + ] + } + }, + { + "type": "aws:cdk:analytics:method", + "data": { + "attachInlinePolicy": [ + "*" + ] + } + }, + { + "type": "aws:cdk:analytics:method", + "data": { + "addToPrincipalPolicy": [ + {} + ] + } + } + ], + "/codebuild-project-arm/MyProjectMedium/Role/ImportRole": [ + { + "type": "aws:cdk:analytics:construct", + "data": "*" + } + ], "/codebuild-project-arm/MyProjectMedium/Role/Resource": [ { "type": "aws:cdk:logicalId", "data": "MyProjectMediumRole1F3769C8" } ], + "/codebuild-project-arm/MyProjectMedium/Role/DefaultPolicy": [ + { + "type": "aws:cdk:analytics:construct", + "data": "*" + }, + { + "type": "aws:cdk:analytics:method", + "data": { + "attachToRole": [ + "*" + ] + } + }, + { + "type": "aws:cdk:analytics:method", + "data": { + "attachToRole": [ + "*" + ] + } + }, + { + "type": "aws:cdk:analytics:method", + "data": { + "addStatements": [ + {} + ] + } + }, + { + "type": "aws:cdk:analytics:method", + "data": { + "addStatements": [ + {} + ] + } + } + ], "/codebuild-project-arm/MyProjectMedium/Role/DefaultPolicy/Resource": [ { "type": "aws:cdk:logicalId", @@ -52,12 +159,119 @@ "data": "MyProjectMediumE40D9677" } ], + "/codebuild-project-arm/MyProjectXLarge": [ + { + "type": "aws:cdk:analytics:construct", + "data": { + "buildSpec": "*", + "environment": { + "buildImage": { + "defaultComputeType": "BUILD_GENERAL1_LARGE", + "imageId": "*", + "imagePullPrincipalType": "CODEBUILD", + "secretsManagerCredentials": "*", + "repository": "*", + "type": "*" + }, + "computeType": "BUILD_GENERAL1_XLARGE" + } + } + } + ], + "/codebuild-project-arm/MyProjectXLarge/Role": [ + { + "type": "aws:cdk:analytics:construct", + "data": { + "roleName": "*", + "assumedBy": { + "principalAccount": "*", + "assumeRoleAction": "*" + } + } + }, + { + "type": "aws:cdk:analytics:method", + "data": { + "addToPrincipalPolicy": [ + {} + ] + } + }, + { + "type": "aws:cdk:analytics:method", + "data": { + "attachInlinePolicy": [ + "*" + ] + } + }, + { + "type": "aws:cdk:analytics:method", + "data": { + "attachInlinePolicy": [ + "*" + ] + } + }, + { + "type": "aws:cdk:analytics:method", + "data": { + "addToPrincipalPolicy": [ + {} + ] + } + } + ], + "/codebuild-project-arm/MyProjectXLarge/Role/ImportRole": [ + { + "type": "aws:cdk:analytics:construct", + "data": "*" + } + ], "/codebuild-project-arm/MyProjectXLarge/Role/Resource": [ { "type": "aws:cdk:logicalId", "data": "MyProjectXLargeRoleC17867F7" } ], + "/codebuild-project-arm/MyProjectXLarge/Role/DefaultPolicy": [ + { + "type": "aws:cdk:analytics:construct", + "data": "*" + }, + { + "type": "aws:cdk:analytics:method", + "data": { + "attachToRole": [ + "*" + ] + } + }, + { + "type": "aws:cdk:analytics:method", + "data": { + "attachToRole": [ + "*" + ] + } + }, + { + "type": "aws:cdk:analytics:method", + "data": { + "addStatements": [ + {} + ] + } + }, + { + "type": "aws:cdk:analytics:method", + "data": { + "addStatements": [ + {} + ] + } + } + ], "/codebuild-project-arm/MyProjectXLarge/Role/DefaultPolicy/Resource": [ { "type": "aws:cdk:logicalId", @@ -70,12 +284,119 @@ "data": "MyProjectXLarge21A68AC6" } ], + "/codebuild-project-arm/MyProjectX2Large": [ + { + "type": "aws:cdk:analytics:construct", + "data": { + "buildSpec": "*", + "environment": { + "buildImage": { + "defaultComputeType": "BUILD_GENERAL1_LARGE", + "imageId": "*", + "imagePullPrincipalType": "CODEBUILD", + "secretsManagerCredentials": "*", + "repository": "*", + "type": "*" + }, + "computeType": "BUILD_GENERAL1_2XLARGE" + } + } + } + ], + "/codebuild-project-arm/MyProjectX2Large/Role": [ + { + "type": "aws:cdk:analytics:construct", + "data": { + "roleName": "*", + "assumedBy": { + "principalAccount": "*", + "assumeRoleAction": "*" + } + } + }, + { + "type": "aws:cdk:analytics:method", + "data": { + "addToPrincipalPolicy": [ + {} + ] + } + }, + { + "type": "aws:cdk:analytics:method", + "data": { + "attachInlinePolicy": [ + "*" + ] + } + }, + { + "type": "aws:cdk:analytics:method", + "data": { + "attachInlinePolicy": [ + "*" + ] + } + }, + { + "type": "aws:cdk:analytics:method", + "data": { + "addToPrincipalPolicy": [ + {} + ] + } + } + ], + "/codebuild-project-arm/MyProjectX2Large/Role/ImportRole": [ + { + "type": "aws:cdk:analytics:construct", + "data": "*" + } + ], "/codebuild-project-arm/MyProjectX2Large/Role/Resource": [ { "type": "aws:cdk:logicalId", "data": "MyProjectX2LargeRole65F64577" } ], + "/codebuild-project-arm/MyProjectX2Large/Role/DefaultPolicy": [ + { + "type": "aws:cdk:analytics:construct", + "data": "*" + }, + { + "type": "aws:cdk:analytics:method", + "data": { + "attachToRole": [ + "*" + ] + } + }, + { + "type": "aws:cdk:analytics:method", + "data": { + "attachToRole": [ + "*" + ] + } + }, + { + "type": "aws:cdk:analytics:method", + "data": { + "addStatements": [ + {} + ] + } + }, + { + "type": "aws:cdk:analytics:method", + "data": { + "addStatements": [ + {} + ] + } + } + ], "/codebuild-project-arm/MyProjectX2Large/Role/DefaultPolicy/Resource": [ { "type": "aws:cdk:logicalId", @@ -88,6 +409,256 @@ "data": "MyProjectX2Large715B77CC" } ], + "/codebuild-project-arm/MyProjectARMAL2023": [ + { + "type": "aws:cdk:analytics:construct", + "data": { + "buildSpec": "*", + "environment": { + "buildImage": { + "defaultComputeType": "BUILD_GENERAL1_LARGE", + "imageId": "*", + "imagePullPrincipalType": "CODEBUILD", + "secretsManagerCredentials": "*", + "repository": "*", + "type": "*" + }, + "computeType": "BUILD_GENERAL1_MEDIUM" + } + } + } + ], + "/codebuild-project-arm/MyProjectARMAL2023/Role": [ + { + "type": "aws:cdk:analytics:construct", + "data": { + "roleName": "*", + "assumedBy": { + "principalAccount": "*", + "assumeRoleAction": "*" + } + } + }, + { + "type": "aws:cdk:analytics:method", + "data": { + "addToPrincipalPolicy": [ + {} + ] + } + }, + { + "type": "aws:cdk:analytics:method", + "data": { + "attachInlinePolicy": [ + "*" + ] + } + }, + { + "type": "aws:cdk:analytics:method", + "data": { + "attachInlinePolicy": [ + "*" + ] + } + }, + { + "type": "aws:cdk:analytics:method", + "data": { + "addToPrincipalPolicy": [ + {} + ] + } + } + ], + "/codebuild-project-arm/MyProjectARMAL2023/Role/ImportRole": [ + { + "type": "aws:cdk:analytics:construct", + "data": "*" + } + ], + "/codebuild-project-arm/MyProjectARMAL2023/Role/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "MyProjectARMAL2023Role5A985E72" + } + ], + "/codebuild-project-arm/MyProjectARMAL2023/Role/DefaultPolicy": [ + { + "type": "aws:cdk:analytics:construct", + "data": "*" + }, + { + "type": "aws:cdk:analytics:method", + "data": { + "attachToRole": [ + "*" + ] + } + }, + { + "type": "aws:cdk:analytics:method", + "data": { + "attachToRole": [ + "*" + ] + } + }, + { + "type": "aws:cdk:analytics:method", + "data": { + "addStatements": [ + {} + ] + } + }, + { + "type": "aws:cdk:analytics:method", + "data": { + "addStatements": [ + {} + ] + } + } + ], + "/codebuild-project-arm/MyProjectARMAL2023/Role/DefaultPolicy/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "MyProjectARMAL2023RoleDefaultPolicyC8DD37B3" + } + ], + "/codebuild-project-arm/MyProjectARMAL2023/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "MyProjectARMAL2023F5F197D0" + } + ], + "/codebuild-project-arm/MyProjectAL2023": [ + { + "type": "aws:cdk:analytics:construct", + "data": { + "buildSpec": "*", + "environment": { + "buildImage": { + "defaultComputeType": "BUILD_GENERAL1_SMALL", + "imageId": "*", + "imagePullPrincipalType": "CODEBUILD", + "secretsManagerCredentials": "*", + "repository": "*", + "type": "*" + }, + "computeType": "BUILD_GENERAL1_MEDIUM" + } + } + } + ], + "/codebuild-project-arm/MyProjectAL2023/Role": [ + { + "type": "aws:cdk:analytics:construct", + "data": { + "roleName": "*", + "assumedBy": { + "principalAccount": "*", + "assumeRoleAction": "*" + } + } + }, + { + "type": "aws:cdk:analytics:method", + "data": { + "addToPrincipalPolicy": [ + {} + ] + } + }, + { + "type": "aws:cdk:analytics:method", + "data": { + "attachInlinePolicy": [ + "*" + ] + } + }, + { + "type": "aws:cdk:analytics:method", + "data": { + "attachInlinePolicy": [ + "*" + ] + } + }, + { + "type": "aws:cdk:analytics:method", + "data": { + "addToPrincipalPolicy": [ + {} + ] + } + } + ], + "/codebuild-project-arm/MyProjectAL2023/Role/ImportRole": [ + { + "type": "aws:cdk:analytics:construct", + "data": "*" + } + ], + "/codebuild-project-arm/MyProjectAL2023/Role/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "MyProjectAL2023Role6007CB95" + } + ], + "/codebuild-project-arm/MyProjectAL2023/Role/DefaultPolicy": [ + { + "type": "aws:cdk:analytics:construct", + "data": "*" + }, + { + "type": "aws:cdk:analytics:method", + "data": { + "attachToRole": [ + "*" + ] + } + }, + { + "type": "aws:cdk:analytics:method", + "data": { + "attachToRole": [ + "*" + ] + } + }, + { + "type": "aws:cdk:analytics:method", + "data": { + "addStatements": [ + {} + ] + } + }, + { + "type": "aws:cdk:analytics:method", + "data": { + "addStatements": [ + {} + ] + } + } + ], + "/codebuild-project-arm/MyProjectAL2023/Role/DefaultPolicy/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "MyProjectAL2023RoleDefaultPolicyD09BE532" + } + ], + "/codebuild-project-arm/MyProjectAL2023/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "MyProjectAL2023254D5457" + } + ], "/codebuild-project-arm/BootstrapVersion": [ { "type": "aws:cdk:logicalId", @@ -157,5 +728,6 @@ "file": "tree.json" } } - } + }, + "minimumCliVersion": "2.1006.0" } \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-codebuild/test/integ.project-linux-arm.js.snapshot/tree.json b/packages/@aws-cdk-testing/framework-integ/test/aws-codebuild/test/integ.project-linux-arm.js.snapshot/tree.json index a3bb52be1cc6d..4c8c0f3211480 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-codebuild/test/integ.project-linux-arm.js.snapshot/tree.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-codebuild/test/integ.project-linux-arm.js.snapshot/tree.json @@ -1,746 +1 @@ -{ - "version": "tree-0.1", - "tree": { - "id": "App", - "path": "", - "children": { - "codebuild-project-arm": { - "id": "codebuild-project-arm", - "path": "codebuild-project-arm", - "children": { - "MyProjectMedium": { - "id": "MyProjectMedium", - "path": "codebuild-project-arm/MyProjectMedium", - "children": { - "Role": { - "id": "Role", - "path": "codebuild-project-arm/MyProjectMedium/Role", - "children": { - "ImportRole": { - "id": "ImportRole", - "path": "codebuild-project-arm/MyProjectMedium/Role/ImportRole", - "constructInfo": { - "fqn": "aws-cdk-lib.Resource", - "version": "0.0.0" - } - }, - "Resource": { - "id": "Resource", - "path": "codebuild-project-arm/MyProjectMedium/Role/Resource", - "attributes": { - "aws:cdk:cloudformation:type": "AWS::IAM::Role", - "aws:cdk:cloudformation:props": { - "assumeRolePolicyDocument": { - "Statement": [ - { - "Action": "sts:AssumeRole", - "Effect": "Allow", - "Principal": { - "Service": "codebuild.amazonaws.com" - } - } - ], - "Version": "2012-10-17" - } - } - }, - "constructInfo": { - "fqn": "aws-cdk-lib.aws_iam.CfnRole", - "version": "0.0.0" - } - }, - "DefaultPolicy": { - "id": "DefaultPolicy", - "path": "codebuild-project-arm/MyProjectMedium/Role/DefaultPolicy", - "children": { - "Resource": { - "id": "Resource", - "path": "codebuild-project-arm/MyProjectMedium/Role/DefaultPolicy/Resource", - "attributes": { - "aws:cdk:cloudformation:type": "AWS::IAM::Policy", - "aws:cdk:cloudformation:props": { - "policyDocument": { - "Statement": [ - { - "Action": [ - "logs:CreateLogGroup", - "logs:CreateLogStream", - "logs:PutLogEvents" - ], - "Effect": "Allow", - "Resource": [ - { - "Fn::Join": [ - "", - [ - "arn:", - { - "Ref": "AWS::Partition" - }, - ":logs:", - { - "Ref": "AWS::Region" - }, - ":", - { - "Ref": "AWS::AccountId" - }, - ":log-group:/aws/codebuild/", - { - "Ref": "MyProjectMediumE40D9677" - }, - ":*" - ] - ] - }, - { - "Fn::Join": [ - "", - [ - "arn:", - { - "Ref": "AWS::Partition" - }, - ":logs:", - { - "Ref": "AWS::Region" - }, - ":", - { - "Ref": "AWS::AccountId" - }, - ":log-group:/aws/codebuild/", - { - "Ref": "MyProjectMediumE40D9677" - } - ] - ] - } - ] - }, - { - "Action": [ - "codebuild:BatchPutCodeCoverages", - "codebuild:BatchPutTestCases", - "codebuild:CreateReport", - "codebuild:CreateReportGroup", - "codebuild:UpdateReport" - ], - "Effect": "Allow", - "Resource": { - "Fn::Join": [ - "", - [ - "arn:", - { - "Ref": "AWS::Partition" - }, - ":codebuild:", - { - "Ref": "AWS::Region" - }, - ":", - { - "Ref": "AWS::AccountId" - }, - ":report-group/", - { - "Ref": "MyProjectMediumE40D9677" - }, - "-*" - ] - ] - } - } - ], - "Version": "2012-10-17" - }, - "policyName": "MyProjectMediumRoleDefaultPolicy08D66D98", - "roles": [ - { - "Ref": "MyProjectMediumRole1F3769C8" - } - ] - } - }, - "constructInfo": { - "fqn": "aws-cdk-lib.aws_iam.CfnPolicy", - "version": "0.0.0" - } - } - }, - "constructInfo": { - "fqn": "aws-cdk-lib.aws_iam.Policy", - "version": "0.0.0" - } - } - }, - "constructInfo": { - "fqn": "aws-cdk-lib.aws_iam.Role", - "version": "0.0.0" - } - }, - "Resource": { - "id": "Resource", - "path": "codebuild-project-arm/MyProjectMedium/Resource", - "attributes": { - "aws:cdk:cloudformation:type": "AWS::CodeBuild::Project", - "aws:cdk:cloudformation:props": { - "artifacts": { - "type": "NO_ARTIFACTS" - }, - "cache": { - "type": "NO_CACHE" - }, - "encryptionKey": "alias/aws/s3", - "environment": { - "type": "ARM_CONTAINER", - "image": "aws/codebuild/amazonlinux2-aarch64-standard:3.0", - "imagePullCredentialsType": "CODEBUILD", - "privilegedMode": false, - "computeType": "BUILD_GENERAL1_MEDIUM" - }, - "serviceRole": { - "Fn::GetAtt": [ - "MyProjectMediumRole1F3769C8", - "Arn" - ] - }, - "source": { - "type": "NO_SOURCE", - "buildSpec": "{\n \"version\": \"0.2\"\n}" - } - } - }, - "constructInfo": { - "fqn": "aws-cdk-lib.aws_codebuild.CfnProject", - "version": "0.0.0" - } - } - }, - "constructInfo": { - "fqn": "aws-cdk-lib.aws_codebuild.Project", - "version": "0.0.0" - } - }, - "MyProjectXLarge": { - "id": "MyProjectXLarge", - "path": "codebuild-project-arm/MyProjectXLarge", - "children": { - "Role": { - "id": "Role", - "path": "codebuild-project-arm/MyProjectXLarge/Role", - "children": { - "ImportRole": { - "id": "ImportRole", - "path": "codebuild-project-arm/MyProjectXLarge/Role/ImportRole", - "constructInfo": { - "fqn": "aws-cdk-lib.Resource", - "version": "0.0.0" - } - }, - "Resource": { - "id": "Resource", - "path": "codebuild-project-arm/MyProjectXLarge/Role/Resource", - "attributes": { - "aws:cdk:cloudformation:type": "AWS::IAM::Role", - "aws:cdk:cloudformation:props": { - "assumeRolePolicyDocument": { - "Statement": [ - { - "Action": "sts:AssumeRole", - "Effect": "Allow", - "Principal": { - "Service": "codebuild.amazonaws.com" - } - } - ], - "Version": "2012-10-17" - } - } - }, - "constructInfo": { - "fqn": "aws-cdk-lib.aws_iam.CfnRole", - "version": "0.0.0" - } - }, - "DefaultPolicy": { - "id": "DefaultPolicy", - "path": "codebuild-project-arm/MyProjectXLarge/Role/DefaultPolicy", - "children": { - "Resource": { - "id": "Resource", - "path": "codebuild-project-arm/MyProjectXLarge/Role/DefaultPolicy/Resource", - "attributes": { - "aws:cdk:cloudformation:type": "AWS::IAM::Policy", - "aws:cdk:cloudformation:props": { - "policyDocument": { - "Statement": [ - { - "Action": [ - "logs:CreateLogGroup", - "logs:CreateLogStream", - "logs:PutLogEvents" - ], - "Effect": "Allow", - "Resource": [ - { - "Fn::Join": [ - "", - [ - "arn:", - { - "Ref": "AWS::Partition" - }, - ":logs:", - { - "Ref": "AWS::Region" - }, - ":", - { - "Ref": "AWS::AccountId" - }, - ":log-group:/aws/codebuild/", - { - "Ref": "MyProjectXLarge21A68AC6" - }, - ":*" - ] - ] - }, - { - "Fn::Join": [ - "", - [ - "arn:", - { - "Ref": "AWS::Partition" - }, - ":logs:", - { - "Ref": "AWS::Region" - }, - ":", - { - "Ref": "AWS::AccountId" - }, - ":log-group:/aws/codebuild/", - { - "Ref": "MyProjectXLarge21A68AC6" - } - ] - ] - } - ] - }, - { - "Action": [ - "codebuild:BatchPutCodeCoverages", - "codebuild:BatchPutTestCases", - "codebuild:CreateReport", - "codebuild:CreateReportGroup", - "codebuild:UpdateReport" - ], - "Effect": "Allow", - "Resource": { - "Fn::Join": [ - "", - [ - "arn:", - { - "Ref": "AWS::Partition" - }, - ":codebuild:", - { - "Ref": "AWS::Region" - }, - ":", - { - "Ref": "AWS::AccountId" - }, - ":report-group/", - { - "Ref": "MyProjectXLarge21A68AC6" - }, - "-*" - ] - ] - } - } - ], - "Version": "2012-10-17" - }, - "policyName": "MyProjectXLargeRoleDefaultPolicyACC3F91E", - "roles": [ - { - "Ref": "MyProjectXLargeRoleC17867F7" - } - ] - } - }, - "constructInfo": { - "fqn": "aws-cdk-lib.aws_iam.CfnPolicy", - "version": "0.0.0" - } - } - }, - "constructInfo": { - "fqn": "aws-cdk-lib.aws_iam.Policy", - "version": "0.0.0" - } - } - }, - "constructInfo": { - "fqn": "aws-cdk-lib.aws_iam.Role", - "version": "0.0.0" - } - }, - "Resource": { - "id": "Resource", - "path": "codebuild-project-arm/MyProjectXLarge/Resource", - "attributes": { - "aws:cdk:cloudformation:type": "AWS::CodeBuild::Project", - "aws:cdk:cloudformation:props": { - "artifacts": { - "type": "NO_ARTIFACTS" - }, - "cache": { - "type": "NO_CACHE" - }, - "encryptionKey": "alias/aws/s3", - "environment": { - "type": "ARM_CONTAINER", - "image": "aws/codebuild/amazonlinux2-aarch64-standard:3.0", - "imagePullCredentialsType": "CODEBUILD", - "privilegedMode": false, - "computeType": "BUILD_GENERAL1_XLARGE" - }, - "serviceRole": { - "Fn::GetAtt": [ - "MyProjectXLargeRoleC17867F7", - "Arn" - ] - }, - "source": { - "type": "NO_SOURCE", - "buildSpec": "{\n \"version\": \"0.2\"\n}" - } - } - }, - "constructInfo": { - "fqn": "aws-cdk-lib.aws_codebuild.CfnProject", - "version": "0.0.0" - } - } - }, - "constructInfo": { - "fqn": "aws-cdk-lib.aws_codebuild.Project", - "version": "0.0.0" - } - }, - "MyProjectX2Large": { - "id": "MyProjectX2Large", - "path": "codebuild-project-arm/MyProjectX2Large", - "children": { - "Role": { - "id": "Role", - "path": "codebuild-project-arm/MyProjectX2Large/Role", - "children": { - "ImportRole": { - "id": "ImportRole", - "path": "codebuild-project-arm/MyProjectX2Large/Role/ImportRole", - "constructInfo": { - "fqn": "aws-cdk-lib.Resource", - "version": "0.0.0" - } - }, - "Resource": { - "id": "Resource", - "path": "codebuild-project-arm/MyProjectX2Large/Role/Resource", - "attributes": { - "aws:cdk:cloudformation:type": "AWS::IAM::Role", - "aws:cdk:cloudformation:props": { - "assumeRolePolicyDocument": { - "Statement": [ - { - "Action": "sts:AssumeRole", - "Effect": "Allow", - "Principal": { - "Service": "codebuild.amazonaws.com" - } - } - ], - "Version": "2012-10-17" - } - } - }, - "constructInfo": { - "fqn": "aws-cdk-lib.aws_iam.CfnRole", - "version": "0.0.0" - } - }, - "DefaultPolicy": { - "id": "DefaultPolicy", - "path": "codebuild-project-arm/MyProjectX2Large/Role/DefaultPolicy", - "children": { - "Resource": { - "id": "Resource", - "path": "codebuild-project-arm/MyProjectX2Large/Role/DefaultPolicy/Resource", - "attributes": { - "aws:cdk:cloudformation:type": "AWS::IAM::Policy", - "aws:cdk:cloudformation:props": { - "policyDocument": { - "Statement": [ - { - "Action": [ - "logs:CreateLogGroup", - "logs:CreateLogStream", - "logs:PutLogEvents" - ], - "Effect": "Allow", - "Resource": [ - { - "Fn::Join": [ - "", - [ - "arn:", - { - "Ref": "AWS::Partition" - }, - ":logs:", - { - "Ref": "AWS::Region" - }, - ":", - { - "Ref": "AWS::AccountId" - }, - ":log-group:/aws/codebuild/", - { - "Ref": "MyProjectX2Large715B77CC" - }, - ":*" - ] - ] - }, - { - "Fn::Join": [ - "", - [ - "arn:", - { - "Ref": "AWS::Partition" - }, - ":logs:", - { - "Ref": "AWS::Region" - }, - ":", - { - "Ref": "AWS::AccountId" - }, - ":log-group:/aws/codebuild/", - { - "Ref": "MyProjectX2Large715B77CC" - } - ] - ] - } - ] - }, - { - "Action": [ - "codebuild:BatchPutCodeCoverages", - "codebuild:BatchPutTestCases", - "codebuild:CreateReport", - "codebuild:CreateReportGroup", - "codebuild:UpdateReport" - ], - "Effect": "Allow", - "Resource": { - "Fn::Join": [ - "", - [ - "arn:", - { - "Ref": "AWS::Partition" - }, - ":codebuild:", - { - "Ref": "AWS::Region" - }, - ":", - { - "Ref": "AWS::AccountId" - }, - ":report-group/", - { - "Ref": "MyProjectX2Large715B77CC" - }, - "-*" - ] - ] - } - } - ], - "Version": "2012-10-17" - }, - "policyName": "MyProjectX2LargeRoleDefaultPolicy241428C8", - "roles": [ - { - "Ref": "MyProjectX2LargeRole65F64577" - } - ] - } - }, - "constructInfo": { - "fqn": "aws-cdk-lib.aws_iam.CfnPolicy", - "version": "0.0.0" - } - } - }, - "constructInfo": { - "fqn": "aws-cdk-lib.aws_iam.Policy", - "version": "0.0.0" - } - } - }, - "constructInfo": { - "fqn": "aws-cdk-lib.aws_iam.Role", - "version": "0.0.0" - } - }, - "Resource": { - "id": "Resource", - "path": "codebuild-project-arm/MyProjectX2Large/Resource", - "attributes": { - "aws:cdk:cloudformation:type": "AWS::CodeBuild::Project", - "aws:cdk:cloudformation:props": { - "artifacts": { - "type": "NO_ARTIFACTS" - }, - "cache": { - "type": "NO_CACHE" - }, - "encryptionKey": "alias/aws/s3", - "environment": { - "type": "ARM_CONTAINER", - "image": "aws/codebuild/amazonlinux2-aarch64-standard:3.0", - "imagePullCredentialsType": "CODEBUILD", - "privilegedMode": false, - "computeType": "BUILD_GENERAL1_2XLARGE" - }, - "serviceRole": { - "Fn::GetAtt": [ - "MyProjectX2LargeRole65F64577", - "Arn" - ] - }, - "source": { - "type": "NO_SOURCE", - "buildSpec": "{\n \"version\": \"0.2\"\n}" - } - } - }, - "constructInfo": { - "fqn": "aws-cdk-lib.aws_codebuild.CfnProject", - "version": "0.0.0" - } - } - }, - "constructInfo": { - "fqn": "aws-cdk-lib.aws_codebuild.Project", - "version": "0.0.0" - } - }, - "BootstrapVersion": { - "id": "BootstrapVersion", - "path": "codebuild-project-arm/BootstrapVersion", - "constructInfo": { - "fqn": "aws-cdk-lib.CfnParameter", - "version": "0.0.0" - } - }, - "CheckBootstrapVersion": { - "id": "CheckBootstrapVersion", - "path": "codebuild-project-arm/CheckBootstrapVersion", - "constructInfo": { - "fqn": "aws-cdk-lib.CfnRule", - "version": "0.0.0" - } - } - }, - "constructInfo": { - "fqn": "aws-cdk-lib.Stack", - "version": "0.0.0" - } - }, - "integ-test-codebuild-project-arm": { - "id": "integ-test-codebuild-project-arm", - "path": "integ-test-codebuild-project-arm", - "children": { - "DefaultTest": { - "id": "DefaultTest", - "path": "integ-test-codebuild-project-arm/DefaultTest", - "children": { - "Default": { - "id": "Default", - "path": "integ-test-codebuild-project-arm/DefaultTest/Default", - "constructInfo": { - "fqn": "constructs.Construct", - "version": "10.3.0" - } - }, - "DeployAssert": { - "id": "DeployAssert", - "path": "integ-test-codebuild-project-arm/DefaultTest/DeployAssert", - "children": { - "BootstrapVersion": { - "id": "BootstrapVersion", - "path": "integ-test-codebuild-project-arm/DefaultTest/DeployAssert/BootstrapVersion", - "constructInfo": { - "fqn": "aws-cdk-lib.CfnParameter", - "version": "0.0.0" - } - }, - "CheckBootstrapVersion": { - "id": "CheckBootstrapVersion", - "path": "integ-test-codebuild-project-arm/DefaultTest/DeployAssert/CheckBootstrapVersion", - "constructInfo": { - "fqn": "aws-cdk-lib.CfnRule", - "version": "0.0.0" - } - } - }, - "constructInfo": { - "fqn": "aws-cdk-lib.Stack", - "version": "0.0.0" - } - } - }, - "constructInfo": { - "fqn": "@aws-cdk/integ-tests-alpha.IntegTestCase", - "version": "0.0.0" - } - } - }, - "constructInfo": { - "fqn": "@aws-cdk/integ-tests-alpha.IntegTest", - "version": "0.0.0" - } - }, - "Tree": { - "id": "Tree", - "path": "Tree", - "constructInfo": { - "fqn": "constructs.Construct", - "version": "10.3.0" - } - } - }, - "constructInfo": { - "fqn": "aws-cdk-lib.App", - "version": "0.0.0" - } - } -} \ No newline at end of file +{"version":"tree-0.1","tree":{"id":"App","path":"","children":{"codebuild-project-arm":{"id":"codebuild-project-arm","path":"codebuild-project-arm","children":{"MyProjectMedium":{"id":"MyProjectMedium","path":"codebuild-project-arm/MyProjectMedium","children":{"Role":{"id":"Role","path":"codebuild-project-arm/MyProjectMedium/Role","children":{"ImportRole":{"id":"ImportRole","path":"codebuild-project-arm/MyProjectMedium/Role/ImportRole","constructInfo":{"fqn":"aws-cdk-lib.Resource","version":"0.0.0","metadata":["*"]}},"Resource":{"id":"Resource","path":"codebuild-project-arm/MyProjectMedium/Role/Resource","attributes":{"aws:cdk:cloudformation:type":"AWS::IAM::Role","aws:cdk:cloudformation:props":{"assumeRolePolicyDocument":{"Statement":[{"Action":"sts:AssumeRole","Effect":"Allow","Principal":{"Service":"codebuild.amazonaws.com"}}],"Version":"2012-10-17"}}},"constructInfo":{"fqn":"aws-cdk-lib.aws_iam.CfnRole","version":"0.0.0"}},"DefaultPolicy":{"id":"DefaultPolicy","path":"codebuild-project-arm/MyProjectMedium/Role/DefaultPolicy","children":{"Resource":{"id":"Resource","path":"codebuild-project-arm/MyProjectMedium/Role/DefaultPolicy/Resource","attributes":{"aws:cdk:cloudformation:type":"AWS::IAM::Policy","aws:cdk:cloudformation:props":{"policyDocument":{"Statement":[{"Action":["logs:CreateLogGroup","logs:CreateLogStream","logs:PutLogEvents"],"Effect":"Allow","Resource":[{"Fn::Join":["",["arn:",{"Ref":"AWS::Partition"},":logs:",{"Ref":"AWS::Region"},":",{"Ref":"AWS::AccountId"},":log-group:/aws/codebuild/",{"Ref":"MyProjectMediumE40D9677"},":*"]]},{"Fn::Join":["",["arn:",{"Ref":"AWS::Partition"},":logs:",{"Ref":"AWS::Region"},":",{"Ref":"AWS::AccountId"},":log-group:/aws/codebuild/",{"Ref":"MyProjectMediumE40D9677"}]]}]},{"Action":["codebuild:BatchPutCodeCoverages","codebuild:BatchPutTestCases","codebuild:CreateReport","codebuild:CreateReportGroup","codebuild:UpdateReport"],"Effect":"Allow","Resource":{"Fn::Join":["",["arn:",{"Ref":"AWS::Partition"},":codebuild:",{"Ref":"AWS::Region"},":",{"Ref":"AWS::AccountId"},":report-group/",{"Ref":"MyProjectMediumE40D9677"},"-*"]]}}],"Version":"2012-10-17"},"policyName":"MyProjectMediumRoleDefaultPolicy08D66D98","roles":[{"Ref":"MyProjectMediumRole1F3769C8"}]}},"constructInfo":{"fqn":"aws-cdk-lib.aws_iam.CfnPolicy","version":"0.0.0"}}},"constructInfo":{"fqn":"aws-cdk-lib.aws_iam.Policy","version":"0.0.0","metadata":["*",{"attachToRole":["*"]},{"attachToRole":["*"]},{"addStatements":[{}]},{"addStatements":[{}]}]}}},"constructInfo":{"fqn":"aws-cdk-lib.aws_iam.Role","version":"0.0.0","metadata":[{"roleName":"*","assumedBy":{"principalAccount":"*","assumeRoleAction":"*"}},{"addToPrincipalPolicy":[{}]},{"attachInlinePolicy":["*"]},{"attachInlinePolicy":["*"]},{"addToPrincipalPolicy":[{}]}]}},"Resource":{"id":"Resource","path":"codebuild-project-arm/MyProjectMedium/Resource","attributes":{"aws:cdk:cloudformation:type":"AWS::CodeBuild::Project","aws:cdk:cloudformation:props":{"artifacts":{"type":"NO_ARTIFACTS"},"cache":{"type":"NO_CACHE"},"encryptionKey":"alias/aws/s3","environment":{"type":"ARM_CONTAINER","image":"aws/codebuild/amazonlinux2-aarch64-standard:3.0","imagePullCredentialsType":"CODEBUILD","privilegedMode":false,"computeType":"BUILD_GENERAL1_MEDIUM"},"serviceRole":{"Fn::GetAtt":["MyProjectMediumRole1F3769C8","Arn"]},"source":{"type":"NO_SOURCE","buildSpec":"{\n \"version\": \"0.2\"\n}"}}},"constructInfo":{"fqn":"aws-cdk-lib.aws_codebuild.CfnProject","version":"0.0.0"}}},"constructInfo":{"fqn":"aws-cdk-lib.aws_codebuild.Project","version":"0.0.0","metadata":[{"buildSpec":"*","environment":{"buildImage":{"defaultComputeType":"BUILD_GENERAL1_LARGE","imageId":"*","imagePullPrincipalType":"CODEBUILD","secretsManagerCredentials":"*","repository":"*","type":"*"},"computeType":"BUILD_GENERAL1_MEDIUM"}}]}},"MyProjectXLarge":{"id":"MyProjectXLarge","path":"codebuild-project-arm/MyProjectXLarge","children":{"Role":{"id":"Role","path":"codebuild-project-arm/MyProjectXLarge/Role","children":{"ImportRole":{"id":"ImportRole","path":"codebuild-project-arm/MyProjectXLarge/Role/ImportRole","constructInfo":{"fqn":"aws-cdk-lib.Resource","version":"0.0.0","metadata":["*"]}},"Resource":{"id":"Resource","path":"codebuild-project-arm/MyProjectXLarge/Role/Resource","attributes":{"aws:cdk:cloudformation:type":"AWS::IAM::Role","aws:cdk:cloudformation:props":{"assumeRolePolicyDocument":{"Statement":[{"Action":"sts:AssumeRole","Effect":"Allow","Principal":{"Service":"codebuild.amazonaws.com"}}],"Version":"2012-10-17"}}},"constructInfo":{"fqn":"aws-cdk-lib.aws_iam.CfnRole","version":"0.0.0"}},"DefaultPolicy":{"id":"DefaultPolicy","path":"codebuild-project-arm/MyProjectXLarge/Role/DefaultPolicy","children":{"Resource":{"id":"Resource","path":"codebuild-project-arm/MyProjectXLarge/Role/DefaultPolicy/Resource","attributes":{"aws:cdk:cloudformation:type":"AWS::IAM::Policy","aws:cdk:cloudformation:props":{"policyDocument":{"Statement":[{"Action":["logs:CreateLogGroup","logs:CreateLogStream","logs:PutLogEvents"],"Effect":"Allow","Resource":[{"Fn::Join":["",["arn:",{"Ref":"AWS::Partition"},":logs:",{"Ref":"AWS::Region"},":",{"Ref":"AWS::AccountId"},":log-group:/aws/codebuild/",{"Ref":"MyProjectXLarge21A68AC6"},":*"]]},{"Fn::Join":["",["arn:",{"Ref":"AWS::Partition"},":logs:",{"Ref":"AWS::Region"},":",{"Ref":"AWS::AccountId"},":log-group:/aws/codebuild/",{"Ref":"MyProjectXLarge21A68AC6"}]]}]},{"Action":["codebuild:BatchPutCodeCoverages","codebuild:BatchPutTestCases","codebuild:CreateReport","codebuild:CreateReportGroup","codebuild:UpdateReport"],"Effect":"Allow","Resource":{"Fn::Join":["",["arn:",{"Ref":"AWS::Partition"},":codebuild:",{"Ref":"AWS::Region"},":",{"Ref":"AWS::AccountId"},":report-group/",{"Ref":"MyProjectXLarge21A68AC6"},"-*"]]}}],"Version":"2012-10-17"},"policyName":"MyProjectXLargeRoleDefaultPolicyACC3F91E","roles":[{"Ref":"MyProjectXLargeRoleC17867F7"}]}},"constructInfo":{"fqn":"aws-cdk-lib.aws_iam.CfnPolicy","version":"0.0.0"}}},"constructInfo":{"fqn":"aws-cdk-lib.aws_iam.Policy","version":"0.0.0","metadata":["*",{"attachToRole":["*"]},{"attachToRole":["*"]},{"addStatements":[{}]},{"addStatements":[{}]}]}}},"constructInfo":{"fqn":"aws-cdk-lib.aws_iam.Role","version":"0.0.0","metadata":[{"roleName":"*","assumedBy":{"principalAccount":"*","assumeRoleAction":"*"}},{"addToPrincipalPolicy":[{}]},{"attachInlinePolicy":["*"]},{"attachInlinePolicy":["*"]},{"addToPrincipalPolicy":[{}]}]}},"Resource":{"id":"Resource","path":"codebuild-project-arm/MyProjectXLarge/Resource","attributes":{"aws:cdk:cloudformation:type":"AWS::CodeBuild::Project","aws:cdk:cloudformation:props":{"artifacts":{"type":"NO_ARTIFACTS"},"cache":{"type":"NO_CACHE"},"encryptionKey":"alias/aws/s3","environment":{"type":"ARM_CONTAINER","image":"aws/codebuild/amazonlinux2-aarch64-standard:3.0","imagePullCredentialsType":"CODEBUILD","privilegedMode":false,"computeType":"BUILD_GENERAL1_XLARGE"},"serviceRole":{"Fn::GetAtt":["MyProjectXLargeRoleC17867F7","Arn"]},"source":{"type":"NO_SOURCE","buildSpec":"{\n \"version\": \"0.2\"\n}"}}},"constructInfo":{"fqn":"aws-cdk-lib.aws_codebuild.CfnProject","version":"0.0.0"}}},"constructInfo":{"fqn":"aws-cdk-lib.aws_codebuild.Project","version":"0.0.0","metadata":[{"buildSpec":"*","environment":{"buildImage":{"defaultComputeType":"BUILD_GENERAL1_LARGE","imageId":"*","imagePullPrincipalType":"CODEBUILD","secretsManagerCredentials":"*","repository":"*","type":"*"},"computeType":"BUILD_GENERAL1_XLARGE"}}]}},"MyProjectX2Large":{"id":"MyProjectX2Large","path":"codebuild-project-arm/MyProjectX2Large","children":{"Role":{"id":"Role","path":"codebuild-project-arm/MyProjectX2Large/Role","children":{"ImportRole":{"id":"ImportRole","path":"codebuild-project-arm/MyProjectX2Large/Role/ImportRole","constructInfo":{"fqn":"aws-cdk-lib.Resource","version":"0.0.0","metadata":["*"]}},"Resource":{"id":"Resource","path":"codebuild-project-arm/MyProjectX2Large/Role/Resource","attributes":{"aws:cdk:cloudformation:type":"AWS::IAM::Role","aws:cdk:cloudformation:props":{"assumeRolePolicyDocument":{"Statement":[{"Action":"sts:AssumeRole","Effect":"Allow","Principal":{"Service":"codebuild.amazonaws.com"}}],"Version":"2012-10-17"}}},"constructInfo":{"fqn":"aws-cdk-lib.aws_iam.CfnRole","version":"0.0.0"}},"DefaultPolicy":{"id":"DefaultPolicy","path":"codebuild-project-arm/MyProjectX2Large/Role/DefaultPolicy","children":{"Resource":{"id":"Resource","path":"codebuild-project-arm/MyProjectX2Large/Role/DefaultPolicy/Resource","attributes":{"aws:cdk:cloudformation:type":"AWS::IAM::Policy","aws:cdk:cloudformation:props":{"policyDocument":{"Statement":[{"Action":["logs:CreateLogGroup","logs:CreateLogStream","logs:PutLogEvents"],"Effect":"Allow","Resource":[{"Fn::Join":["",["arn:",{"Ref":"AWS::Partition"},":logs:",{"Ref":"AWS::Region"},":",{"Ref":"AWS::AccountId"},":log-group:/aws/codebuild/",{"Ref":"MyProjectX2Large715B77CC"},":*"]]},{"Fn::Join":["",["arn:",{"Ref":"AWS::Partition"},":logs:",{"Ref":"AWS::Region"},":",{"Ref":"AWS::AccountId"},":log-group:/aws/codebuild/",{"Ref":"MyProjectX2Large715B77CC"}]]}]},{"Action":["codebuild:BatchPutCodeCoverages","codebuild:BatchPutTestCases","codebuild:CreateReport","codebuild:CreateReportGroup","codebuild:UpdateReport"],"Effect":"Allow","Resource":{"Fn::Join":["",["arn:",{"Ref":"AWS::Partition"},":codebuild:",{"Ref":"AWS::Region"},":",{"Ref":"AWS::AccountId"},":report-group/",{"Ref":"MyProjectX2Large715B77CC"},"-*"]]}}],"Version":"2012-10-17"},"policyName":"MyProjectX2LargeRoleDefaultPolicy241428C8","roles":[{"Ref":"MyProjectX2LargeRole65F64577"}]}},"constructInfo":{"fqn":"aws-cdk-lib.aws_iam.CfnPolicy","version":"0.0.0"}}},"constructInfo":{"fqn":"aws-cdk-lib.aws_iam.Policy","version":"0.0.0","metadata":["*",{"attachToRole":["*"]},{"attachToRole":["*"]},{"addStatements":[{}]},{"addStatements":[{}]}]}}},"constructInfo":{"fqn":"aws-cdk-lib.aws_iam.Role","version":"0.0.0","metadata":[{"roleName":"*","assumedBy":{"principalAccount":"*","assumeRoleAction":"*"}},{"addToPrincipalPolicy":[{}]},{"attachInlinePolicy":["*"]},{"attachInlinePolicy":["*"]},{"addToPrincipalPolicy":[{}]}]}},"Resource":{"id":"Resource","path":"codebuild-project-arm/MyProjectX2Large/Resource","attributes":{"aws:cdk:cloudformation:type":"AWS::CodeBuild::Project","aws:cdk:cloudformation:props":{"artifacts":{"type":"NO_ARTIFACTS"},"cache":{"type":"NO_CACHE"},"encryptionKey":"alias/aws/s3","environment":{"type":"ARM_CONTAINER","image":"aws/codebuild/amazonlinux2-aarch64-standard:3.0","imagePullCredentialsType":"CODEBUILD","privilegedMode":false,"computeType":"BUILD_GENERAL1_2XLARGE"},"serviceRole":{"Fn::GetAtt":["MyProjectX2LargeRole65F64577","Arn"]},"source":{"type":"NO_SOURCE","buildSpec":"{\n \"version\": \"0.2\"\n}"}}},"constructInfo":{"fqn":"aws-cdk-lib.aws_codebuild.CfnProject","version":"0.0.0"}}},"constructInfo":{"fqn":"aws-cdk-lib.aws_codebuild.Project","version":"0.0.0","metadata":[{"buildSpec":"*","environment":{"buildImage":{"defaultComputeType":"BUILD_GENERAL1_LARGE","imageId":"*","imagePullPrincipalType":"CODEBUILD","secretsManagerCredentials":"*","repository":"*","type":"*"},"computeType":"BUILD_GENERAL1_2XLARGE"}}]}},"MyProjectARMAL2023":{"id":"MyProjectARMAL2023","path":"codebuild-project-arm/MyProjectARMAL2023","children":{"Role":{"id":"Role","path":"codebuild-project-arm/MyProjectARMAL2023/Role","children":{"ImportRole":{"id":"ImportRole","path":"codebuild-project-arm/MyProjectARMAL2023/Role/ImportRole","constructInfo":{"fqn":"aws-cdk-lib.Resource","version":"0.0.0","metadata":["*"]}},"Resource":{"id":"Resource","path":"codebuild-project-arm/MyProjectARMAL2023/Role/Resource","attributes":{"aws:cdk:cloudformation:type":"AWS::IAM::Role","aws:cdk:cloudformation:props":{"assumeRolePolicyDocument":{"Statement":[{"Action":"sts:AssumeRole","Effect":"Allow","Principal":{"Service":"codebuild.amazonaws.com"}}],"Version":"2012-10-17"}}},"constructInfo":{"fqn":"aws-cdk-lib.aws_iam.CfnRole","version":"0.0.0"}},"DefaultPolicy":{"id":"DefaultPolicy","path":"codebuild-project-arm/MyProjectARMAL2023/Role/DefaultPolicy","children":{"Resource":{"id":"Resource","path":"codebuild-project-arm/MyProjectARMAL2023/Role/DefaultPolicy/Resource","attributes":{"aws:cdk:cloudformation:type":"AWS::IAM::Policy","aws:cdk:cloudformation:props":{"policyDocument":{"Statement":[{"Action":["logs:CreateLogGroup","logs:CreateLogStream","logs:PutLogEvents"],"Effect":"Allow","Resource":[{"Fn::Join":["",["arn:",{"Ref":"AWS::Partition"},":logs:",{"Ref":"AWS::Region"},":",{"Ref":"AWS::AccountId"},":log-group:/aws/codebuild/",{"Ref":"MyProjectARMAL2023F5F197D0"},":*"]]},{"Fn::Join":["",["arn:",{"Ref":"AWS::Partition"},":logs:",{"Ref":"AWS::Region"},":",{"Ref":"AWS::AccountId"},":log-group:/aws/codebuild/",{"Ref":"MyProjectARMAL2023F5F197D0"}]]}]},{"Action":["codebuild:BatchPutCodeCoverages","codebuild:BatchPutTestCases","codebuild:CreateReport","codebuild:CreateReportGroup","codebuild:UpdateReport"],"Effect":"Allow","Resource":{"Fn::Join":["",["arn:",{"Ref":"AWS::Partition"},":codebuild:",{"Ref":"AWS::Region"},":",{"Ref":"AWS::AccountId"},":report-group/",{"Ref":"MyProjectARMAL2023F5F197D0"},"-*"]]}}],"Version":"2012-10-17"},"policyName":"MyProjectARMAL2023RoleDefaultPolicyC8DD37B3","roles":[{"Ref":"MyProjectARMAL2023Role5A985E72"}]}},"constructInfo":{"fqn":"aws-cdk-lib.aws_iam.CfnPolicy","version":"0.0.0"}}},"constructInfo":{"fqn":"aws-cdk-lib.aws_iam.Policy","version":"0.0.0","metadata":["*",{"attachToRole":["*"]},{"attachToRole":["*"]},{"addStatements":[{}]},{"addStatements":[{}]}]}}},"constructInfo":{"fqn":"aws-cdk-lib.aws_iam.Role","version":"0.0.0","metadata":[{"roleName":"*","assumedBy":{"principalAccount":"*","assumeRoleAction":"*"}},{"addToPrincipalPolicy":[{}]},{"attachInlinePolicy":["*"]},{"attachInlinePolicy":["*"]},{"addToPrincipalPolicy":[{}]}]}},"Resource":{"id":"Resource","path":"codebuild-project-arm/MyProjectARMAL2023/Resource","attributes":{"aws:cdk:cloudformation:type":"AWS::CodeBuild::Project","aws:cdk:cloudformation:props":{"artifacts":{"type":"NO_ARTIFACTS"},"cache":{"type":"NO_CACHE"},"encryptionKey":"alias/aws/s3","environment":{"type":"ARM_EC2","image":"aws/codebuild/ami/amazonlinux-arm-base:latest","imagePullCredentialsType":"CODEBUILD","privilegedMode":false,"computeType":"BUILD_GENERAL1_MEDIUM"},"serviceRole":{"Fn::GetAtt":["MyProjectARMAL2023Role5A985E72","Arn"]},"source":{"type":"NO_SOURCE","buildSpec":"{\n \"version\": \"0.2\"\n}"}}},"constructInfo":{"fqn":"aws-cdk-lib.aws_codebuild.CfnProject","version":"0.0.0"}}},"constructInfo":{"fqn":"aws-cdk-lib.aws_codebuild.Project","version":"0.0.0","metadata":[{"buildSpec":"*","environment":{"buildImage":{"defaultComputeType":"BUILD_GENERAL1_LARGE","imageId":"*","imagePullPrincipalType":"CODEBUILD","secretsManagerCredentials":"*","repository":"*","type":"*"},"computeType":"BUILD_GENERAL1_MEDIUM"}}]}},"MyProjectAL2023":{"id":"MyProjectAL2023","path":"codebuild-project-arm/MyProjectAL2023","children":{"Role":{"id":"Role","path":"codebuild-project-arm/MyProjectAL2023/Role","children":{"ImportRole":{"id":"ImportRole","path":"codebuild-project-arm/MyProjectAL2023/Role/ImportRole","constructInfo":{"fqn":"aws-cdk-lib.Resource","version":"0.0.0","metadata":["*"]}},"Resource":{"id":"Resource","path":"codebuild-project-arm/MyProjectAL2023/Role/Resource","attributes":{"aws:cdk:cloudformation:type":"AWS::IAM::Role","aws:cdk:cloudformation:props":{"assumeRolePolicyDocument":{"Statement":[{"Action":"sts:AssumeRole","Effect":"Allow","Principal":{"Service":"codebuild.amazonaws.com"}}],"Version":"2012-10-17"}}},"constructInfo":{"fqn":"aws-cdk-lib.aws_iam.CfnRole","version":"0.0.0"}},"DefaultPolicy":{"id":"DefaultPolicy","path":"codebuild-project-arm/MyProjectAL2023/Role/DefaultPolicy","children":{"Resource":{"id":"Resource","path":"codebuild-project-arm/MyProjectAL2023/Role/DefaultPolicy/Resource","attributes":{"aws:cdk:cloudformation:type":"AWS::IAM::Policy","aws:cdk:cloudformation:props":{"policyDocument":{"Statement":[{"Action":["logs:CreateLogGroup","logs:CreateLogStream","logs:PutLogEvents"],"Effect":"Allow","Resource":[{"Fn::Join":["",["arn:",{"Ref":"AWS::Partition"},":logs:",{"Ref":"AWS::Region"},":",{"Ref":"AWS::AccountId"},":log-group:/aws/codebuild/",{"Ref":"MyProjectAL2023254D5457"},":*"]]},{"Fn::Join":["",["arn:",{"Ref":"AWS::Partition"},":logs:",{"Ref":"AWS::Region"},":",{"Ref":"AWS::AccountId"},":log-group:/aws/codebuild/",{"Ref":"MyProjectAL2023254D5457"}]]}]},{"Action":["codebuild:BatchPutCodeCoverages","codebuild:BatchPutTestCases","codebuild:CreateReport","codebuild:CreateReportGroup","codebuild:UpdateReport"],"Effect":"Allow","Resource":{"Fn::Join":["",["arn:",{"Ref":"AWS::Partition"},":codebuild:",{"Ref":"AWS::Region"},":",{"Ref":"AWS::AccountId"},":report-group/",{"Ref":"MyProjectAL2023254D5457"},"-*"]]}}],"Version":"2012-10-17"},"policyName":"MyProjectAL2023RoleDefaultPolicyD09BE532","roles":[{"Ref":"MyProjectAL2023Role6007CB95"}]}},"constructInfo":{"fqn":"aws-cdk-lib.aws_iam.CfnPolicy","version":"0.0.0"}}},"constructInfo":{"fqn":"aws-cdk-lib.aws_iam.Policy","version":"0.0.0","metadata":["*",{"attachToRole":["*"]},{"attachToRole":["*"]},{"addStatements":[{}]},{"addStatements":[{}]}]}}},"constructInfo":{"fqn":"aws-cdk-lib.aws_iam.Role","version":"0.0.0","metadata":[{"roleName":"*","assumedBy":{"principalAccount":"*","assumeRoleAction":"*"}},{"addToPrincipalPolicy":[{}]},{"attachInlinePolicy":["*"]},{"attachInlinePolicy":["*"]},{"addToPrincipalPolicy":[{}]}]}},"Resource":{"id":"Resource","path":"codebuild-project-arm/MyProjectAL2023/Resource","attributes":{"aws:cdk:cloudformation:type":"AWS::CodeBuild::Project","aws:cdk:cloudformation:props":{"artifacts":{"type":"NO_ARTIFACTS"},"cache":{"type":"NO_CACHE"},"encryptionKey":"alias/aws/s3","environment":{"type":"LINUX_EC2","image":"aws/codebuild/ami/amazonlinux-x86_64-base:latest","imagePullCredentialsType":"CODEBUILD","privilegedMode":false,"computeType":"BUILD_GENERAL1_MEDIUM"},"serviceRole":{"Fn::GetAtt":["MyProjectAL2023Role6007CB95","Arn"]},"source":{"type":"NO_SOURCE","buildSpec":"{\n \"version\": \"0.2\"\n}"}}},"constructInfo":{"fqn":"aws-cdk-lib.aws_codebuild.CfnProject","version":"0.0.0"}}},"constructInfo":{"fqn":"aws-cdk-lib.aws_codebuild.Project","version":"0.0.0","metadata":[{"buildSpec":"*","environment":{"buildImage":{"defaultComputeType":"BUILD_GENERAL1_SMALL","imageId":"*","imagePullPrincipalType":"CODEBUILD","secretsManagerCredentials":"*","repository":"*","type":"*"},"computeType":"BUILD_GENERAL1_MEDIUM"}}]}},"BootstrapVersion":{"id":"BootstrapVersion","path":"codebuild-project-arm/BootstrapVersion","constructInfo":{"fqn":"aws-cdk-lib.CfnParameter","version":"0.0.0"}},"CheckBootstrapVersion":{"id":"CheckBootstrapVersion","path":"codebuild-project-arm/CheckBootstrapVersion","constructInfo":{"fqn":"aws-cdk-lib.CfnRule","version":"0.0.0"}}},"constructInfo":{"fqn":"aws-cdk-lib.Stack","version":"0.0.0"}},"integ-test-codebuild-project-arm":{"id":"integ-test-codebuild-project-arm","path":"integ-test-codebuild-project-arm","children":{"DefaultTest":{"id":"DefaultTest","path":"integ-test-codebuild-project-arm/DefaultTest","children":{"Default":{"id":"Default","path":"integ-test-codebuild-project-arm/DefaultTest/Default","constructInfo":{"fqn":"constructs.Construct","version":"10.4.2"}},"DeployAssert":{"id":"DeployAssert","path":"integ-test-codebuild-project-arm/DefaultTest/DeployAssert","children":{"BootstrapVersion":{"id":"BootstrapVersion","path":"integ-test-codebuild-project-arm/DefaultTest/DeployAssert/BootstrapVersion","constructInfo":{"fqn":"aws-cdk-lib.CfnParameter","version":"0.0.0"}},"CheckBootstrapVersion":{"id":"CheckBootstrapVersion","path":"integ-test-codebuild-project-arm/DefaultTest/DeployAssert/CheckBootstrapVersion","constructInfo":{"fqn":"aws-cdk-lib.CfnRule","version":"0.0.0"}}},"constructInfo":{"fqn":"aws-cdk-lib.Stack","version":"0.0.0"}}},"constructInfo":{"fqn":"@aws-cdk/integ-tests-alpha.IntegTestCase","version":"0.0.0"}}},"constructInfo":{"fqn":"@aws-cdk/integ-tests-alpha.IntegTest","version":"0.0.0"}},"Tree":{"id":"Tree","path":"Tree","constructInfo":{"fqn":"constructs.Construct","version":"10.4.2"}}},"constructInfo":{"fqn":"aws-cdk-lib.App","version":"0.0.0"}}} \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-codebuild/test/integ.project-linux-arm.ts b/packages/@aws-cdk-testing/framework-integ/test/aws-codebuild/test/integ.project-linux-arm.ts index bf40ca6e8fac8..1d33775ffeda2 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-codebuild/test/integ.project-linux-arm.ts +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-codebuild/test/integ.project-linux-arm.ts @@ -1,6 +1,6 @@ import { App, Stack } from 'aws-cdk-lib'; import { Construct } from 'constructs'; -import { BuildSpec, ComputeType, LinuxBuildImage, Project } from 'aws-cdk-lib/aws-codebuild'; +import { BuildSpec, ComputeType, LinuxBuildImage, LinuxArmBuildImage, Project } from 'aws-cdk-lib/aws-codebuild'; import { IntegTest } from '@aws-cdk/integ-tests-alpha'; class AmazonLinuxArmTestStack extends Stack { @@ -36,6 +36,26 @@ class AmazonLinuxArmTestStack extends Stack { computeType: ComputeType.X2_LARGE, }, }); + + new Project(this, 'MyProjectARMAL2023', { + buildSpec: BuildSpec.fromObject({ + version: '0.2', + }), + environment: { + buildImage: LinuxArmBuildImage.AMAZON_LINUX_2023_AMI, + computeType: ComputeType.MEDIUM, + }, + }); + + new Project(this, 'MyProjectAL2023', { + buildSpec: BuildSpec.fromObject({ + version: '0.2', + }), + environment: { + buildImage: LinuxBuildImage.AMAZON_LINUX_2023_AMI, + computeType: ComputeType.MEDIUM, + }, + }); } } diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-codebuild/test/integ.project-windows-image.js.snapshot/WinCore2019-1.assets.json b/packages/@aws-cdk-testing/framework-integ/test/aws-codebuild/test/integ.project-windows-image.js.snapshot/WinCore2019-1.assets.json index 3b3b47728ad21..3053a25fb4a6b 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-codebuild/test/integ.project-windows-image.js.snapshot/WinCore2019-1.assets.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-codebuild/test/integ.project-windows-image.js.snapshot/WinCore2019-1.assets.json @@ -1,7 +1,8 @@ { - "version": "36.0.0", + "version": "41.0.0", "files": { "dec1d132f4e572dd7762d43b8dac666629a2f9d085a892097f7f7ad7d40faf01": { + "displayName": "WinCore2019-1 Template", "source": { "path": "WinCore2019-1.template.json", "packaging": "file" diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-codebuild/test/integ.project-windows-image.js.snapshot/WinCore2019-2.assets.json b/packages/@aws-cdk-testing/framework-integ/test/aws-codebuild/test/integ.project-windows-image.js.snapshot/WinCore2019-2.assets.json index d58133c4f480c..990fc25941216 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-codebuild/test/integ.project-windows-image.js.snapshot/WinCore2019-2.assets.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-codebuild/test/integ.project-windows-image.js.snapshot/WinCore2019-2.assets.json @@ -1,7 +1,8 @@ { - "version": "36.0.0", + "version": "41.0.0", "files": { "5c29023cae8e324b2a79007bfa8b380a864ff1b9e054fe9397c2e901f1a3612c": { + "displayName": "WinCore2019-2 Template", "source": { "path": "WinCore2019-2.template.json", "packaging": "file" diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-codebuild/test/integ.project-windows-image.js.snapshot/WinCore2019-3.assets.json b/packages/@aws-cdk-testing/framework-integ/test/aws-codebuild/test/integ.project-windows-image.js.snapshot/WinCore2019-3.assets.json index e44d70a00da45..5e710ddacbbc0 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-codebuild/test/integ.project-windows-image.js.snapshot/WinCore2019-3.assets.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-codebuild/test/integ.project-windows-image.js.snapshot/WinCore2019-3.assets.json @@ -1,7 +1,8 @@ { - "version": "36.0.0", + "version": "41.0.0", "files": { "e8bc0d78d8da99417fcf656d4fa2ca8b510073cd9d9fcecf9d7df22f0c8e2f60": { + "displayName": "WinCore2019-3 Template", "source": { "path": "WinCore2019-3.template.json", "packaging": "file" diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-codebuild/test/integ.project-windows-image.js.snapshot/WinServer2022-1.assets.json b/packages/@aws-cdk-testing/framework-integ/test/aws-codebuild/test/integ.project-windows-image.js.snapshot/WinServer2022-1.assets.json new file mode 100644 index 0000000000000..a65b7c831b768 --- /dev/null +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-codebuild/test/integ.project-windows-image.js.snapshot/WinServer2022-1.assets.json @@ -0,0 +1,20 @@ +{ + "version": "41.0.0", + "files": { + "30068986393e7d9c7c1b79c3ecf036e784720a868d606f5c8a89e0a06cfc7ed8": { + "displayName": "WinServer2022-1 Template", + "source": { + "path": "WinServer2022-1.template.json", + "packaging": "file" + }, + "destinations": { + "current_account-current_region": { + "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}", + "objectKey": "30068986393e7d9c7c1b79c3ecf036e784720a868d606f5c8a89e0a06cfc7ed8.json", + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}" + } + } + } + }, + "dockerImages": {} +} \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-codebuild/test/integ.project-windows-image.js.snapshot/WinServer2022-1.template.json b/packages/@aws-cdk-testing/framework-integ/test/aws-codebuild/test/integ.project-windows-image.js.snapshot/WinServer2022-1.template.json new file mode 100644 index 0000000000000..0f1b7f6ae0e70 --- /dev/null +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-codebuild/test/integ.project-windows-image.js.snapshot/WinServer2022-1.template.json @@ -0,0 +1,191 @@ +{ + "Resources": { + "ProjectRole4CCB274E": { + "Type": "AWS::IAM::Role", + "Properties": { + "AssumeRolePolicyDocument": { + "Statement": [ + { + "Action": "sts:AssumeRole", + "Effect": "Allow", + "Principal": { + "Service": "codebuild.amazonaws.com" + } + } + ], + "Version": "2012-10-17" + } + } + }, + "ProjectRoleDefaultPolicy7F29461B": { + "Type": "AWS::IAM::Policy", + "Properties": { + "PolicyDocument": { + "Statement": [ + { + "Action": [ + "logs:CreateLogGroup", + "logs:CreateLogStream", + "logs:PutLogEvents" + ], + "Effect": "Allow", + "Resource": [ + { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":logs:", + { + "Ref": "AWS::Region" + }, + ":", + { + "Ref": "AWS::AccountId" + }, + ":log-group:/aws/codebuild/", + { + "Ref": "ProjectC78D97AD" + }, + ":*" + ] + ] + }, + { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":logs:", + { + "Ref": "AWS::Region" + }, + ":", + { + "Ref": "AWS::AccountId" + }, + ":log-group:/aws/codebuild/", + { + "Ref": "ProjectC78D97AD" + } + ] + ] + } + ] + }, + { + "Action": [ + "codebuild:BatchPutCodeCoverages", + "codebuild:BatchPutTestCases", + "codebuild:CreateReport", + "codebuild:CreateReportGroup", + "codebuild:UpdateReport" + ], + "Effect": "Allow", + "Resource": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition" + }, + ":codebuild:", + { + "Ref": "AWS::Region" + }, + ":", + { + "Ref": "AWS::AccountId" + }, + ":report-group/", + { + "Ref": "ProjectC78D97AD" + }, + "-*" + ] + ] + } + } + ], + "Version": "2012-10-17" + }, + "PolicyName": "ProjectRoleDefaultPolicy7F29461B", + "Roles": [ + { + "Ref": "ProjectRole4CCB274E" + } + ] + } + }, + "ProjectC78D97AD": { + "Type": "AWS::CodeBuild::Project", + "Properties": { + "Artifacts": { + "Type": "NO_ARTIFACTS" + }, + "Cache": { + "Type": "NO_CACHE" + }, + "EncryptionKey": "alias/aws/s3", + "Environment": { + "ComputeType": "BUILD_GENERAL1_MEDIUM", + "Image": "aws/codebuild/ami/windows-base:2022", + "ImagePullCredentialsType": "CODEBUILD", + "PrivilegedMode": false, + "Type": "WINDOWS_EC2" + }, + "ServiceRole": { + "Fn::GetAtt": [ + "ProjectRole4CCB274E", + "Arn" + ] + }, + "Source": { + "BuildSpec": "{\n \"version\": \"0.2\"\n}", + "Type": "NO_SOURCE" + } + } + } + }, + "Parameters": { + "BootstrapVersion": { + "Type": "AWS::SSM::Parameter::Value", + "Default": "/cdk-bootstrap/hnb659fds/version", + "Description": "Version of the CDK Bootstrap resources in this environment, automatically retrieved from SSM Parameter Store. [cdk:skip]" + } + }, + "Rules": { + "CheckBootstrapVersion": { + "Assertions": [ + { + "Assert": { + "Fn::Not": [ + { + "Fn::Contains": [ + [ + "1", + "2", + "3", + "4", + "5" + ], + { + "Ref": "BootstrapVersion" + } + ] + } + ] + }, + "AssertDescription": "CDK bootstrap stack version 6 required. Please run 'cdk bootstrap' with a recent version of the CDK CLI." + } + ] + } + } +} \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-codebuild/test/integ.project-windows-image.js.snapshot/cdk.out b/packages/@aws-cdk-testing/framework-integ/test/aws-codebuild/test/integ.project-windows-image.js.snapshot/cdk.out index 1f0068d32659a..188478b55560e 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-codebuild/test/integ.project-windows-image.js.snapshot/cdk.out +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-codebuild/test/integ.project-windows-image.js.snapshot/cdk.out @@ -1 +1 @@ -{"version":"36.0.0"} \ No newline at end of file +{"version":"41.0.0"} \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-codebuild/test/integ.project-windows-image.js.snapshot/integ.json b/packages/@aws-cdk-testing/framework-integ/test/aws-codebuild/test/integ.project-windows-image.js.snapshot/integ.json index c268bcae8de2c..298dec68b70bf 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-codebuild/test/integ.project-windows-image.js.snapshot/integ.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-codebuild/test/integ.project-windows-image.js.snapshot/integ.json @@ -1,11 +1,12 @@ { - "version": "36.0.0", + "version": "41.0.0", "testCases": { "integ-project-windows-images/DefaultTest": { "stacks": [ "WinCore2019-1", "WinCore2019-2", - "WinCore2019-3" + "WinCore2019-3", + "WinServer2022-1" ], "assertionStack": "integ-project-windows-images/DefaultTest/DeployAssert", "assertionStackName": "integprojectwindowsimagesDefaultTestDeployAssert5D19E22D" diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-codebuild/test/integ.project-windows-image.js.snapshot/integprojectwindowsimagesDefaultTestDeployAssert5D19E22D.assets.json b/packages/@aws-cdk-testing/framework-integ/test/aws-codebuild/test/integ.project-windows-image.js.snapshot/integprojectwindowsimagesDefaultTestDeployAssert5D19E22D.assets.json index 02fcecdc45c6e..7d0faeae83127 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-codebuild/test/integ.project-windows-image.js.snapshot/integprojectwindowsimagesDefaultTestDeployAssert5D19E22D.assets.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-codebuild/test/integ.project-windows-image.js.snapshot/integprojectwindowsimagesDefaultTestDeployAssert5D19E22D.assets.json @@ -1,7 +1,8 @@ { - "version": "36.0.0", + "version": "41.0.0", "files": { "21fbb51d7b23f6a6c262b46a9caee79d744a3ac019fd45422d988b96d44b2a22": { + "displayName": "integprojectwindowsimagesDefaultTestDeployAssert5D19E22D Template", "source": { "path": "integprojectwindowsimagesDefaultTestDeployAssert5D19E22D.template.json", "packaging": "file" diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-codebuild/test/integ.project-windows-image.js.snapshot/manifest.json b/packages/@aws-cdk-testing/framework-integ/test/aws-codebuild/test/integ.project-windows-image.js.snapshot/manifest.json index d04166136252c..d5b7d6e257acb 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-codebuild/test/integ.project-windows-image.js.snapshot/manifest.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-codebuild/test/integ.project-windows-image.js.snapshot/manifest.json @@ -1,5 +1,5 @@ { - "version": "36.0.0", + "version": "42.0.0", "artifacts": { "WinCore2019-1.assets": { "type": "cdk:asset-manifest", @@ -34,12 +34,119 @@ "WinCore2019-1.assets" ], "metadata": { + "/WinCore2019-1/Project": [ + { + "type": "aws:cdk:analytics:construct", + "data": { + "buildSpec": "*", + "environment": { + "buildImage": { + "defaultComputeType": "BUILD_GENERAL1_MEDIUM", + "type": "*", + "imageId": "*", + "imagePullPrincipalType": "CODEBUILD", + "secretsManagerCredentials": "*", + "repository": "*" + }, + "computeType": "BUILD_GENERAL1_MEDIUM" + } + } + } + ], + "/WinCore2019-1/Project/Role": [ + { + "type": "aws:cdk:analytics:construct", + "data": { + "roleName": "*", + "assumedBy": { + "principalAccount": "*", + "assumeRoleAction": "*" + } + } + }, + { + "type": "aws:cdk:analytics:method", + "data": { + "addToPrincipalPolicy": [ + {} + ] + } + }, + { + "type": "aws:cdk:analytics:method", + "data": { + "attachInlinePolicy": [ + "*" + ] + } + }, + { + "type": "aws:cdk:analytics:method", + "data": { + "attachInlinePolicy": [ + "*" + ] + } + }, + { + "type": "aws:cdk:analytics:method", + "data": { + "addToPrincipalPolicy": [ + {} + ] + } + } + ], + "/WinCore2019-1/Project/Role/ImportRole": [ + { + "type": "aws:cdk:analytics:construct", + "data": "*" + } + ], "/WinCore2019-1/Project/Role/Resource": [ { "type": "aws:cdk:logicalId", "data": "ProjectRole4CCB274E" } ], + "/WinCore2019-1/Project/Role/DefaultPolicy": [ + { + "type": "aws:cdk:analytics:construct", + "data": "*" + }, + { + "type": "aws:cdk:analytics:method", + "data": { + "attachToRole": [ + "*" + ] + } + }, + { + "type": "aws:cdk:analytics:method", + "data": { + "attachToRole": [ + "*" + ] + } + }, + { + "type": "aws:cdk:analytics:method", + "data": { + "addStatements": [ + {} + ] + } + }, + { + "type": "aws:cdk:analytics:method", + "data": { + "addStatements": [ + {} + ] + } + } + ], "/WinCore2019-1/Project/Role/DefaultPolicy/Resource": [ { "type": "aws:cdk:logicalId", @@ -100,12 +207,119 @@ "WinCore2019-2.assets" ], "metadata": { + "/WinCore2019-2/Project": [ + { + "type": "aws:cdk:analytics:construct", + "data": { + "buildSpec": "*", + "environment": { + "buildImage": { + "defaultComputeType": "BUILD_GENERAL1_MEDIUM", + "type": "*", + "imageId": "*", + "imagePullPrincipalType": "CODEBUILD", + "secretsManagerCredentials": "*", + "repository": "*" + }, + "computeType": "BUILD_GENERAL1_MEDIUM" + } + } + } + ], + "/WinCore2019-2/Project/Role": [ + { + "type": "aws:cdk:analytics:construct", + "data": { + "roleName": "*", + "assumedBy": { + "principalAccount": "*", + "assumeRoleAction": "*" + } + } + }, + { + "type": "aws:cdk:analytics:method", + "data": { + "addToPrincipalPolicy": [ + {} + ] + } + }, + { + "type": "aws:cdk:analytics:method", + "data": { + "attachInlinePolicy": [ + "*" + ] + } + }, + { + "type": "aws:cdk:analytics:method", + "data": { + "attachInlinePolicy": [ + "*" + ] + } + }, + { + "type": "aws:cdk:analytics:method", + "data": { + "addToPrincipalPolicy": [ + {} + ] + } + } + ], + "/WinCore2019-2/Project/Role/ImportRole": [ + { + "type": "aws:cdk:analytics:construct", + "data": "*" + } + ], "/WinCore2019-2/Project/Role/Resource": [ { "type": "aws:cdk:logicalId", "data": "ProjectRole4CCB274E" } ], + "/WinCore2019-2/Project/Role/DefaultPolicy": [ + { + "type": "aws:cdk:analytics:construct", + "data": "*" + }, + { + "type": "aws:cdk:analytics:method", + "data": { + "attachToRole": [ + "*" + ] + } + }, + { + "type": "aws:cdk:analytics:method", + "data": { + "attachToRole": [ + "*" + ] + } + }, + { + "type": "aws:cdk:analytics:method", + "data": { + "addStatements": [ + {} + ] + } + }, + { + "type": "aws:cdk:analytics:method", + "data": { + "addStatements": [ + {} + ] + } + } + ], "/WinCore2019-2/Project/Role/DefaultPolicy/Resource": [ { "type": "aws:cdk:logicalId", @@ -166,12 +380,119 @@ "WinCore2019-3.assets" ], "metadata": { + "/WinCore2019-3/Project": [ + { + "type": "aws:cdk:analytics:construct", + "data": { + "buildSpec": "*", + "environment": { + "buildImage": { + "defaultComputeType": "BUILD_GENERAL1_MEDIUM", + "type": "*", + "imageId": "*", + "imagePullPrincipalType": "CODEBUILD", + "secretsManagerCredentials": "*", + "repository": "*" + }, + "computeType": "BUILD_GENERAL1_MEDIUM" + } + } + } + ], + "/WinCore2019-3/Project/Role": [ + { + "type": "aws:cdk:analytics:construct", + "data": { + "roleName": "*", + "assumedBy": { + "principalAccount": "*", + "assumeRoleAction": "*" + } + } + }, + { + "type": "aws:cdk:analytics:method", + "data": { + "addToPrincipalPolicy": [ + {} + ] + } + }, + { + "type": "aws:cdk:analytics:method", + "data": { + "attachInlinePolicy": [ + "*" + ] + } + }, + { + "type": "aws:cdk:analytics:method", + "data": { + "attachInlinePolicy": [ + "*" + ] + } + }, + { + "type": "aws:cdk:analytics:method", + "data": { + "addToPrincipalPolicy": [ + {} + ] + } + } + ], + "/WinCore2019-3/Project/Role/ImportRole": [ + { + "type": "aws:cdk:analytics:construct", + "data": "*" + } + ], "/WinCore2019-3/Project/Role/Resource": [ { "type": "aws:cdk:logicalId", "data": "ProjectRole4CCB274E" } ], + "/WinCore2019-3/Project/Role/DefaultPolicy": [ + { + "type": "aws:cdk:analytics:construct", + "data": "*" + }, + { + "type": "aws:cdk:analytics:method", + "data": { + "attachToRole": [ + "*" + ] + } + }, + { + "type": "aws:cdk:analytics:method", + "data": { + "attachToRole": [ + "*" + ] + } + }, + { + "type": "aws:cdk:analytics:method", + "data": { + "addStatements": [ + {} + ] + } + }, + { + "type": "aws:cdk:analytics:method", + "data": { + "addStatements": [ + {} + ] + } + } + ], "/WinCore2019-3/Project/Role/DefaultPolicy/Resource": [ { "type": "aws:cdk:logicalId", @@ -199,6 +520,179 @@ }, "displayName": "WinCore2019-3" }, + "WinServer2022-1.assets": { + "type": "cdk:asset-manifest", + "properties": { + "file": "WinServer2022-1.assets.json", + "requiresBootstrapStackVersion": 6, + "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version" + } + }, + "WinServer2022-1": { + "type": "aws:cloudformation:stack", + "environment": "aws://unknown-account/unknown-region", + "properties": { + "templateFile": "WinServer2022-1.template.json", + "terminationProtection": false, + "validateOnSynth": false, + "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-deploy-role-${AWS::AccountId}-${AWS::Region}", + "cloudFormationExecutionRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-cfn-exec-role-${AWS::AccountId}-${AWS::Region}", + "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/30068986393e7d9c7c1b79c3ecf036e784720a868d606f5c8a89e0a06cfc7ed8.json", + "requiresBootstrapStackVersion": 6, + "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version", + "additionalDependencies": [ + "WinServer2022-1.assets" + ], + "lookupRole": { + "arn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-lookup-role-${AWS::AccountId}-${AWS::Region}", + "requiresBootstrapStackVersion": 8, + "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version" + } + }, + "dependencies": [ + "WinServer2022-1.assets" + ], + "metadata": { + "/WinServer2022-1/Project": [ + { + "type": "aws:cdk:analytics:construct", + "data": { + "buildSpec": "*", + "environment": { + "buildImage": { + "defaultComputeType": "BUILD_GENERAL1_MEDIUM", + "type": "*", + "imageId": "*", + "imagePullPrincipalType": "CODEBUILD", + "secretsManagerCredentials": "*", + "repository": "*" + }, + "computeType": "BUILD_GENERAL1_MEDIUM" + } + } + } + ], + "/WinServer2022-1/Project/Role": [ + { + "type": "aws:cdk:analytics:construct", + "data": { + "roleName": "*", + "assumedBy": { + "principalAccount": "*", + "assumeRoleAction": "*" + } + } + }, + { + "type": "aws:cdk:analytics:method", + "data": { + "addToPrincipalPolicy": [ + {} + ] + } + }, + { + "type": "aws:cdk:analytics:method", + "data": { + "attachInlinePolicy": [ + "*" + ] + } + }, + { + "type": "aws:cdk:analytics:method", + "data": { + "attachInlinePolicy": [ + "*" + ] + } + }, + { + "type": "aws:cdk:analytics:method", + "data": { + "addToPrincipalPolicy": [ + {} + ] + } + } + ], + "/WinServer2022-1/Project/Role/ImportRole": [ + { + "type": "aws:cdk:analytics:construct", + "data": "*" + } + ], + "/WinServer2022-1/Project/Role/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "ProjectRole4CCB274E" + } + ], + "/WinServer2022-1/Project/Role/DefaultPolicy": [ + { + "type": "aws:cdk:analytics:construct", + "data": "*" + }, + { + "type": "aws:cdk:analytics:method", + "data": { + "attachToRole": [ + "*" + ] + } + }, + { + "type": "aws:cdk:analytics:method", + "data": { + "attachToRole": [ + "*" + ] + } + }, + { + "type": "aws:cdk:analytics:method", + "data": { + "addStatements": [ + {} + ] + } + }, + { + "type": "aws:cdk:analytics:method", + "data": { + "addStatements": [ + {} + ] + } + } + ], + "/WinServer2022-1/Project/Role/DefaultPolicy/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "ProjectRoleDefaultPolicy7F29461B" + } + ], + "/WinServer2022-1/Project/Resource": [ + { + "type": "aws:cdk:logicalId", + "data": "ProjectC78D97AD" + } + ], + "/WinServer2022-1/BootstrapVersion": [ + { + "type": "aws:cdk:logicalId", + "data": "BootstrapVersion" + } + ], + "/WinServer2022-1/CheckBootstrapVersion": [ + { + "type": "aws:cdk:logicalId", + "data": "CheckBootstrapVersion" + } + ] + }, + "displayName": "WinServer2022-1" + }, "integprojectwindowsimagesDefaultTestDeployAssert5D19E22D.assets": { "type": "cdk:asset-manifest", "properties": { @@ -253,5 +747,6 @@ "file": "tree.json" } } - } + }, + "minimumCliVersion": "2.1006.0" } \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-codebuild/test/integ.project-windows-image.js.snapshot/tree.json b/packages/@aws-cdk-testing/framework-integ/test/aws-codebuild/test/integ.project-windows-image.js.snapshot/tree.json index 7948e9fc4868f..345e18ca70233 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-codebuild/test/integ.project-windows-image.js.snapshot/tree.json +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-codebuild/test/integ.project-windows-image.js.snapshot/tree.json @@ -1,798 +1 @@ -{ - "version": "tree-0.1", - "tree": { - "id": "App", - "path": "", - "children": { - "WinCore2019-1": { - "id": "WinCore2019-1", - "path": "WinCore2019-1", - "children": { - "Project": { - "id": "Project", - "path": "WinCore2019-1/Project", - "children": { - "Role": { - "id": "Role", - "path": "WinCore2019-1/Project/Role", - "children": { - "ImportRole": { - "id": "ImportRole", - "path": "WinCore2019-1/Project/Role/ImportRole", - "constructInfo": { - "fqn": "aws-cdk-lib.Resource", - "version": "0.0.0" - } - }, - "Resource": { - "id": "Resource", - "path": "WinCore2019-1/Project/Role/Resource", - "attributes": { - "aws:cdk:cloudformation:type": "AWS::IAM::Role", - "aws:cdk:cloudformation:props": { - "assumeRolePolicyDocument": { - "Statement": [ - { - "Action": "sts:AssumeRole", - "Effect": "Allow", - "Principal": { - "Service": "codebuild.amazonaws.com" - } - } - ], - "Version": "2012-10-17" - } - } - }, - "constructInfo": { - "fqn": "aws-cdk-lib.aws_iam.CfnRole", - "version": "0.0.0" - } - }, - "DefaultPolicy": { - "id": "DefaultPolicy", - "path": "WinCore2019-1/Project/Role/DefaultPolicy", - "children": { - "Resource": { - "id": "Resource", - "path": "WinCore2019-1/Project/Role/DefaultPolicy/Resource", - "attributes": { - "aws:cdk:cloudformation:type": "AWS::IAM::Policy", - "aws:cdk:cloudformation:props": { - "policyDocument": { - "Statement": [ - { - "Action": [ - "logs:CreateLogGroup", - "logs:CreateLogStream", - "logs:PutLogEvents" - ], - "Effect": "Allow", - "Resource": [ - { - "Fn::Join": [ - "", - [ - "arn:", - { - "Ref": "AWS::Partition" - }, - ":logs:", - { - "Ref": "AWS::Region" - }, - ":", - { - "Ref": "AWS::AccountId" - }, - ":log-group:/aws/codebuild/", - { - "Ref": "ProjectC78D97AD" - }, - ":*" - ] - ] - }, - { - "Fn::Join": [ - "", - [ - "arn:", - { - "Ref": "AWS::Partition" - }, - ":logs:", - { - "Ref": "AWS::Region" - }, - ":", - { - "Ref": "AWS::AccountId" - }, - ":log-group:/aws/codebuild/", - { - "Ref": "ProjectC78D97AD" - } - ] - ] - } - ] - }, - { - "Action": [ - "codebuild:BatchPutCodeCoverages", - "codebuild:BatchPutTestCases", - "codebuild:CreateReport", - "codebuild:CreateReportGroup", - "codebuild:UpdateReport" - ], - "Effect": "Allow", - "Resource": { - "Fn::Join": [ - "", - [ - "arn:", - { - "Ref": "AWS::Partition" - }, - ":codebuild:", - { - "Ref": "AWS::Region" - }, - ":", - { - "Ref": "AWS::AccountId" - }, - ":report-group/", - { - "Ref": "ProjectC78D97AD" - }, - "-*" - ] - ] - } - } - ], - "Version": "2012-10-17" - }, - "policyName": "ProjectRoleDefaultPolicy7F29461B", - "roles": [ - { - "Ref": "ProjectRole4CCB274E" - } - ] - } - }, - "constructInfo": { - "fqn": "aws-cdk-lib.aws_iam.CfnPolicy", - "version": "0.0.0" - } - } - }, - "constructInfo": { - "fqn": "aws-cdk-lib.aws_iam.Policy", - "version": "0.0.0" - } - } - }, - "constructInfo": { - "fqn": "aws-cdk-lib.aws_iam.Role", - "version": "0.0.0" - } - }, - "Resource": { - "id": "Resource", - "path": "WinCore2019-1/Project/Resource", - "attributes": { - "aws:cdk:cloudformation:type": "AWS::CodeBuild::Project", - "aws:cdk:cloudformation:props": { - "artifacts": { - "type": "NO_ARTIFACTS" - }, - "cache": { - "type": "NO_CACHE" - }, - "encryptionKey": "alias/aws/s3", - "environment": { - "type": "WINDOWS_SERVER_2019_CONTAINER", - "image": "aws/codebuild/windows-base:2019-1.0", - "imagePullCredentialsType": "CODEBUILD", - "privilegedMode": false, - "computeType": "BUILD_GENERAL1_MEDIUM" - }, - "serviceRole": { - "Fn::GetAtt": [ - "ProjectRole4CCB274E", - "Arn" - ] - }, - "source": { - "type": "NO_SOURCE", - "buildSpec": "{\n \"version\": \"0.2\"\n}" - } - } - }, - "constructInfo": { - "fqn": "aws-cdk-lib.aws_codebuild.CfnProject", - "version": "0.0.0" - } - } - }, - "constructInfo": { - "fqn": "aws-cdk-lib.aws_codebuild.Project", - "version": "0.0.0" - } - }, - "BootstrapVersion": { - "id": "BootstrapVersion", - "path": "WinCore2019-1/BootstrapVersion", - "constructInfo": { - "fqn": "aws-cdk-lib.CfnParameter", - "version": "0.0.0" - } - }, - "CheckBootstrapVersion": { - "id": "CheckBootstrapVersion", - "path": "WinCore2019-1/CheckBootstrapVersion", - "constructInfo": { - "fqn": "aws-cdk-lib.CfnRule", - "version": "0.0.0" - } - } - }, - "constructInfo": { - "fqn": "aws-cdk-lib.Stack", - "version": "0.0.0" - } - }, - "WinCore2019-2": { - "id": "WinCore2019-2", - "path": "WinCore2019-2", - "children": { - "Project": { - "id": "Project", - "path": "WinCore2019-2/Project", - "children": { - "Role": { - "id": "Role", - "path": "WinCore2019-2/Project/Role", - "children": { - "ImportRole": { - "id": "ImportRole", - "path": "WinCore2019-2/Project/Role/ImportRole", - "constructInfo": { - "fqn": "aws-cdk-lib.Resource", - "version": "0.0.0" - } - }, - "Resource": { - "id": "Resource", - "path": "WinCore2019-2/Project/Role/Resource", - "attributes": { - "aws:cdk:cloudformation:type": "AWS::IAM::Role", - "aws:cdk:cloudformation:props": { - "assumeRolePolicyDocument": { - "Statement": [ - { - "Action": "sts:AssumeRole", - "Effect": "Allow", - "Principal": { - "Service": "codebuild.amazonaws.com" - } - } - ], - "Version": "2012-10-17" - } - } - }, - "constructInfo": { - "fqn": "aws-cdk-lib.aws_iam.CfnRole", - "version": "0.0.0" - } - }, - "DefaultPolicy": { - "id": "DefaultPolicy", - "path": "WinCore2019-2/Project/Role/DefaultPolicy", - "children": { - "Resource": { - "id": "Resource", - "path": "WinCore2019-2/Project/Role/DefaultPolicy/Resource", - "attributes": { - "aws:cdk:cloudformation:type": "AWS::IAM::Policy", - "aws:cdk:cloudformation:props": { - "policyDocument": { - "Statement": [ - { - "Action": [ - "logs:CreateLogGroup", - "logs:CreateLogStream", - "logs:PutLogEvents" - ], - "Effect": "Allow", - "Resource": [ - { - "Fn::Join": [ - "", - [ - "arn:", - { - "Ref": "AWS::Partition" - }, - ":logs:", - { - "Ref": "AWS::Region" - }, - ":", - { - "Ref": "AWS::AccountId" - }, - ":log-group:/aws/codebuild/", - { - "Ref": "ProjectC78D97AD" - }, - ":*" - ] - ] - }, - { - "Fn::Join": [ - "", - [ - "arn:", - { - "Ref": "AWS::Partition" - }, - ":logs:", - { - "Ref": "AWS::Region" - }, - ":", - { - "Ref": "AWS::AccountId" - }, - ":log-group:/aws/codebuild/", - { - "Ref": "ProjectC78D97AD" - } - ] - ] - } - ] - }, - { - "Action": [ - "codebuild:BatchPutCodeCoverages", - "codebuild:BatchPutTestCases", - "codebuild:CreateReport", - "codebuild:CreateReportGroup", - "codebuild:UpdateReport" - ], - "Effect": "Allow", - "Resource": { - "Fn::Join": [ - "", - [ - "arn:", - { - "Ref": "AWS::Partition" - }, - ":codebuild:", - { - "Ref": "AWS::Region" - }, - ":", - { - "Ref": "AWS::AccountId" - }, - ":report-group/", - { - "Ref": "ProjectC78D97AD" - }, - "-*" - ] - ] - } - } - ], - "Version": "2012-10-17" - }, - "policyName": "ProjectRoleDefaultPolicy7F29461B", - "roles": [ - { - "Ref": "ProjectRole4CCB274E" - } - ] - } - }, - "constructInfo": { - "fqn": "aws-cdk-lib.aws_iam.CfnPolicy", - "version": "0.0.0" - } - } - }, - "constructInfo": { - "fqn": "aws-cdk-lib.aws_iam.Policy", - "version": "0.0.0" - } - } - }, - "constructInfo": { - "fqn": "aws-cdk-lib.aws_iam.Role", - "version": "0.0.0" - } - }, - "Resource": { - "id": "Resource", - "path": "WinCore2019-2/Project/Resource", - "attributes": { - "aws:cdk:cloudformation:type": "AWS::CodeBuild::Project", - "aws:cdk:cloudformation:props": { - "artifacts": { - "type": "NO_ARTIFACTS" - }, - "cache": { - "type": "NO_CACHE" - }, - "encryptionKey": "alias/aws/s3", - "environment": { - "type": "WINDOWS_SERVER_2019_CONTAINER", - "image": "aws/codebuild/windows-base:2019-2.0", - "imagePullCredentialsType": "CODEBUILD", - "privilegedMode": false, - "computeType": "BUILD_GENERAL1_MEDIUM" - }, - "serviceRole": { - "Fn::GetAtt": [ - "ProjectRole4CCB274E", - "Arn" - ] - }, - "source": { - "type": "NO_SOURCE", - "buildSpec": "{\n \"version\": \"0.2\"\n}" - } - } - }, - "constructInfo": { - "fqn": "aws-cdk-lib.aws_codebuild.CfnProject", - "version": "0.0.0" - } - } - }, - "constructInfo": { - "fqn": "aws-cdk-lib.aws_codebuild.Project", - "version": "0.0.0" - } - }, - "BootstrapVersion": { - "id": "BootstrapVersion", - "path": "WinCore2019-2/BootstrapVersion", - "constructInfo": { - "fqn": "aws-cdk-lib.CfnParameter", - "version": "0.0.0" - } - }, - "CheckBootstrapVersion": { - "id": "CheckBootstrapVersion", - "path": "WinCore2019-2/CheckBootstrapVersion", - "constructInfo": { - "fqn": "aws-cdk-lib.CfnRule", - "version": "0.0.0" - } - } - }, - "constructInfo": { - "fqn": "aws-cdk-lib.Stack", - "version": "0.0.0" - } - }, - "WinCore2019-3": { - "id": "WinCore2019-3", - "path": "WinCore2019-3", - "children": { - "Project": { - "id": "Project", - "path": "WinCore2019-3/Project", - "children": { - "Role": { - "id": "Role", - "path": "WinCore2019-3/Project/Role", - "children": { - "ImportRole": { - "id": "ImportRole", - "path": "WinCore2019-3/Project/Role/ImportRole", - "constructInfo": { - "fqn": "aws-cdk-lib.Resource", - "version": "0.0.0" - } - }, - "Resource": { - "id": "Resource", - "path": "WinCore2019-3/Project/Role/Resource", - "attributes": { - "aws:cdk:cloudformation:type": "AWS::IAM::Role", - "aws:cdk:cloudformation:props": { - "assumeRolePolicyDocument": { - "Statement": [ - { - "Action": "sts:AssumeRole", - "Effect": "Allow", - "Principal": { - "Service": "codebuild.amazonaws.com" - } - } - ], - "Version": "2012-10-17" - } - } - }, - "constructInfo": { - "fqn": "aws-cdk-lib.aws_iam.CfnRole", - "version": "0.0.0" - } - }, - "DefaultPolicy": { - "id": "DefaultPolicy", - "path": "WinCore2019-3/Project/Role/DefaultPolicy", - "children": { - "Resource": { - "id": "Resource", - "path": "WinCore2019-3/Project/Role/DefaultPolicy/Resource", - "attributes": { - "aws:cdk:cloudformation:type": "AWS::IAM::Policy", - "aws:cdk:cloudformation:props": { - "policyDocument": { - "Statement": [ - { - "Action": [ - "logs:CreateLogGroup", - "logs:CreateLogStream", - "logs:PutLogEvents" - ], - "Effect": "Allow", - "Resource": [ - { - "Fn::Join": [ - "", - [ - "arn:", - { - "Ref": "AWS::Partition" - }, - ":logs:", - { - "Ref": "AWS::Region" - }, - ":", - { - "Ref": "AWS::AccountId" - }, - ":log-group:/aws/codebuild/", - { - "Ref": "ProjectC78D97AD" - }, - ":*" - ] - ] - }, - { - "Fn::Join": [ - "", - [ - "arn:", - { - "Ref": "AWS::Partition" - }, - ":logs:", - { - "Ref": "AWS::Region" - }, - ":", - { - "Ref": "AWS::AccountId" - }, - ":log-group:/aws/codebuild/", - { - "Ref": "ProjectC78D97AD" - } - ] - ] - } - ] - }, - { - "Action": [ - "codebuild:BatchPutCodeCoverages", - "codebuild:BatchPutTestCases", - "codebuild:CreateReport", - "codebuild:CreateReportGroup", - "codebuild:UpdateReport" - ], - "Effect": "Allow", - "Resource": { - "Fn::Join": [ - "", - [ - "arn:", - { - "Ref": "AWS::Partition" - }, - ":codebuild:", - { - "Ref": "AWS::Region" - }, - ":", - { - "Ref": "AWS::AccountId" - }, - ":report-group/", - { - "Ref": "ProjectC78D97AD" - }, - "-*" - ] - ] - } - } - ], - "Version": "2012-10-17" - }, - "policyName": "ProjectRoleDefaultPolicy7F29461B", - "roles": [ - { - "Ref": "ProjectRole4CCB274E" - } - ] - } - }, - "constructInfo": { - "fqn": "aws-cdk-lib.aws_iam.CfnPolicy", - "version": "0.0.0" - } - } - }, - "constructInfo": { - "fqn": "aws-cdk-lib.aws_iam.Policy", - "version": "0.0.0" - } - } - }, - "constructInfo": { - "fqn": "aws-cdk-lib.aws_iam.Role", - "version": "0.0.0" - } - }, - "Resource": { - "id": "Resource", - "path": "WinCore2019-3/Project/Resource", - "attributes": { - "aws:cdk:cloudformation:type": "AWS::CodeBuild::Project", - "aws:cdk:cloudformation:props": { - "artifacts": { - "type": "NO_ARTIFACTS" - }, - "cache": { - "type": "NO_CACHE" - }, - "encryptionKey": "alias/aws/s3", - "environment": { - "type": "WINDOWS_SERVER_2019_CONTAINER", - "image": "aws/codebuild/windows-base:2019-3.0", - "imagePullCredentialsType": "CODEBUILD", - "privilegedMode": false, - "computeType": "BUILD_GENERAL1_MEDIUM" - }, - "serviceRole": { - "Fn::GetAtt": [ - "ProjectRole4CCB274E", - "Arn" - ] - }, - "source": { - "type": "NO_SOURCE", - "buildSpec": "{\n \"version\": \"0.2\"\n}" - } - } - }, - "constructInfo": { - "fqn": "aws-cdk-lib.aws_codebuild.CfnProject", - "version": "0.0.0" - } - } - }, - "constructInfo": { - "fqn": "aws-cdk-lib.aws_codebuild.Project", - "version": "0.0.0" - } - }, - "BootstrapVersion": { - "id": "BootstrapVersion", - "path": "WinCore2019-3/BootstrapVersion", - "constructInfo": { - "fqn": "aws-cdk-lib.CfnParameter", - "version": "0.0.0" - } - }, - "CheckBootstrapVersion": { - "id": "CheckBootstrapVersion", - "path": "WinCore2019-3/CheckBootstrapVersion", - "constructInfo": { - "fqn": "aws-cdk-lib.CfnRule", - "version": "0.0.0" - } - } - }, - "constructInfo": { - "fqn": "aws-cdk-lib.Stack", - "version": "0.0.0" - } - }, - "integ-project-windows-images": { - "id": "integ-project-windows-images", - "path": "integ-project-windows-images", - "children": { - "DefaultTest": { - "id": "DefaultTest", - "path": "integ-project-windows-images/DefaultTest", - "children": { - "Default": { - "id": "Default", - "path": "integ-project-windows-images/DefaultTest/Default", - "constructInfo": { - "fqn": "constructs.Construct", - "version": "10.3.0" - } - }, - "DeployAssert": { - "id": "DeployAssert", - "path": "integ-project-windows-images/DefaultTest/DeployAssert", - "children": { - "BootstrapVersion": { - "id": "BootstrapVersion", - "path": "integ-project-windows-images/DefaultTest/DeployAssert/BootstrapVersion", - "constructInfo": { - "fqn": "aws-cdk-lib.CfnParameter", - "version": "0.0.0" - } - }, - "CheckBootstrapVersion": { - "id": "CheckBootstrapVersion", - "path": "integ-project-windows-images/DefaultTest/DeployAssert/CheckBootstrapVersion", - "constructInfo": { - "fqn": "aws-cdk-lib.CfnRule", - "version": "0.0.0" - } - } - }, - "constructInfo": { - "fqn": "aws-cdk-lib.Stack", - "version": "0.0.0" - } - } - }, - "constructInfo": { - "fqn": "@aws-cdk/integ-tests-alpha.IntegTestCase", - "version": "0.0.0" - } - } - }, - "constructInfo": { - "fqn": "@aws-cdk/integ-tests-alpha.IntegTest", - "version": "0.0.0" - } - }, - "Tree": { - "id": "Tree", - "path": "Tree", - "constructInfo": { - "fqn": "constructs.Construct", - "version": "10.3.0" - } - } - }, - "constructInfo": { - "fqn": "aws-cdk-lib.App", - "version": "0.0.0" - } - } -} \ No newline at end of file +{"version":"tree-0.1","tree":{"id":"App","path":"","children":{"WinCore2019-1":{"id":"WinCore2019-1","path":"WinCore2019-1","children":{"Project":{"id":"Project","path":"WinCore2019-1/Project","children":{"Role":{"id":"Role","path":"WinCore2019-1/Project/Role","children":{"ImportRole":{"id":"ImportRole","path":"WinCore2019-1/Project/Role/ImportRole","constructInfo":{"fqn":"aws-cdk-lib.Resource","version":"0.0.0","metadata":["*"]}},"Resource":{"id":"Resource","path":"WinCore2019-1/Project/Role/Resource","attributes":{"aws:cdk:cloudformation:type":"AWS::IAM::Role","aws:cdk:cloudformation:props":{"assumeRolePolicyDocument":{"Statement":[{"Action":"sts:AssumeRole","Effect":"Allow","Principal":{"Service":"codebuild.amazonaws.com"}}],"Version":"2012-10-17"}}},"constructInfo":{"fqn":"aws-cdk-lib.aws_iam.CfnRole","version":"0.0.0"}},"DefaultPolicy":{"id":"DefaultPolicy","path":"WinCore2019-1/Project/Role/DefaultPolicy","children":{"Resource":{"id":"Resource","path":"WinCore2019-1/Project/Role/DefaultPolicy/Resource","attributes":{"aws:cdk:cloudformation:type":"AWS::IAM::Policy","aws:cdk:cloudformation:props":{"policyDocument":{"Statement":[{"Action":["logs:CreateLogGroup","logs:CreateLogStream","logs:PutLogEvents"],"Effect":"Allow","Resource":[{"Fn::Join":["",["arn:",{"Ref":"AWS::Partition"},":logs:",{"Ref":"AWS::Region"},":",{"Ref":"AWS::AccountId"},":log-group:/aws/codebuild/",{"Ref":"ProjectC78D97AD"},":*"]]},{"Fn::Join":["",["arn:",{"Ref":"AWS::Partition"},":logs:",{"Ref":"AWS::Region"},":",{"Ref":"AWS::AccountId"},":log-group:/aws/codebuild/",{"Ref":"ProjectC78D97AD"}]]}]},{"Action":["codebuild:BatchPutCodeCoverages","codebuild:BatchPutTestCases","codebuild:CreateReport","codebuild:CreateReportGroup","codebuild:UpdateReport"],"Effect":"Allow","Resource":{"Fn::Join":["",["arn:",{"Ref":"AWS::Partition"},":codebuild:",{"Ref":"AWS::Region"},":",{"Ref":"AWS::AccountId"},":report-group/",{"Ref":"ProjectC78D97AD"},"-*"]]}}],"Version":"2012-10-17"},"policyName":"ProjectRoleDefaultPolicy7F29461B","roles":[{"Ref":"ProjectRole4CCB274E"}]}},"constructInfo":{"fqn":"aws-cdk-lib.aws_iam.CfnPolicy","version":"0.0.0"}}},"constructInfo":{"fqn":"aws-cdk-lib.aws_iam.Policy","version":"0.0.0","metadata":["*",{"attachToRole":["*"]},{"attachToRole":["*"]},{"addStatements":[{}]},{"addStatements":[{}]}]}}},"constructInfo":{"fqn":"aws-cdk-lib.aws_iam.Role","version":"0.0.0","metadata":[{"roleName":"*","assumedBy":{"principalAccount":"*","assumeRoleAction":"*"}},{"addToPrincipalPolicy":[{}]},{"attachInlinePolicy":["*"]},{"attachInlinePolicy":["*"]},{"addToPrincipalPolicy":[{}]}]}},"Resource":{"id":"Resource","path":"WinCore2019-1/Project/Resource","attributes":{"aws:cdk:cloudformation:type":"AWS::CodeBuild::Project","aws:cdk:cloudformation:props":{"artifacts":{"type":"NO_ARTIFACTS"},"cache":{"type":"NO_CACHE"},"encryptionKey":"alias/aws/s3","environment":{"type":"WINDOWS_SERVER_2019_CONTAINER","image":"aws/codebuild/windows-base:2019-1.0","imagePullCredentialsType":"CODEBUILD","privilegedMode":false,"computeType":"BUILD_GENERAL1_MEDIUM"},"serviceRole":{"Fn::GetAtt":["ProjectRole4CCB274E","Arn"]},"source":{"type":"NO_SOURCE","buildSpec":"{\n \"version\": \"0.2\"\n}"}}},"constructInfo":{"fqn":"aws-cdk-lib.aws_codebuild.CfnProject","version":"0.0.0"}}},"constructInfo":{"fqn":"aws-cdk-lib.aws_codebuild.Project","version":"0.0.0","metadata":[{"buildSpec":"*","environment":{"buildImage":{"defaultComputeType":"BUILD_GENERAL1_MEDIUM","type":"*","imageId":"*","imagePullPrincipalType":"CODEBUILD","secretsManagerCredentials":"*","repository":"*"},"computeType":"BUILD_GENERAL1_MEDIUM"}}]}},"BootstrapVersion":{"id":"BootstrapVersion","path":"WinCore2019-1/BootstrapVersion","constructInfo":{"fqn":"aws-cdk-lib.CfnParameter","version":"0.0.0"}},"CheckBootstrapVersion":{"id":"CheckBootstrapVersion","path":"WinCore2019-1/CheckBootstrapVersion","constructInfo":{"fqn":"aws-cdk-lib.CfnRule","version":"0.0.0"}}},"constructInfo":{"fqn":"aws-cdk-lib.Stack","version":"0.0.0"}},"WinCore2019-2":{"id":"WinCore2019-2","path":"WinCore2019-2","children":{"Project":{"id":"Project","path":"WinCore2019-2/Project","children":{"Role":{"id":"Role","path":"WinCore2019-2/Project/Role","children":{"ImportRole":{"id":"ImportRole","path":"WinCore2019-2/Project/Role/ImportRole","constructInfo":{"fqn":"aws-cdk-lib.Resource","version":"0.0.0","metadata":["*"]}},"Resource":{"id":"Resource","path":"WinCore2019-2/Project/Role/Resource","attributes":{"aws:cdk:cloudformation:type":"AWS::IAM::Role","aws:cdk:cloudformation:props":{"assumeRolePolicyDocument":{"Statement":[{"Action":"sts:AssumeRole","Effect":"Allow","Principal":{"Service":"codebuild.amazonaws.com"}}],"Version":"2012-10-17"}}},"constructInfo":{"fqn":"aws-cdk-lib.aws_iam.CfnRole","version":"0.0.0"}},"DefaultPolicy":{"id":"DefaultPolicy","path":"WinCore2019-2/Project/Role/DefaultPolicy","children":{"Resource":{"id":"Resource","path":"WinCore2019-2/Project/Role/DefaultPolicy/Resource","attributes":{"aws:cdk:cloudformation:type":"AWS::IAM::Policy","aws:cdk:cloudformation:props":{"policyDocument":{"Statement":[{"Action":["logs:CreateLogGroup","logs:CreateLogStream","logs:PutLogEvents"],"Effect":"Allow","Resource":[{"Fn::Join":["",["arn:",{"Ref":"AWS::Partition"},":logs:",{"Ref":"AWS::Region"},":",{"Ref":"AWS::AccountId"},":log-group:/aws/codebuild/",{"Ref":"ProjectC78D97AD"},":*"]]},{"Fn::Join":["",["arn:",{"Ref":"AWS::Partition"},":logs:",{"Ref":"AWS::Region"},":",{"Ref":"AWS::AccountId"},":log-group:/aws/codebuild/",{"Ref":"ProjectC78D97AD"}]]}]},{"Action":["codebuild:BatchPutCodeCoverages","codebuild:BatchPutTestCases","codebuild:CreateReport","codebuild:CreateReportGroup","codebuild:UpdateReport"],"Effect":"Allow","Resource":{"Fn::Join":["",["arn:",{"Ref":"AWS::Partition"},":codebuild:",{"Ref":"AWS::Region"},":",{"Ref":"AWS::AccountId"},":report-group/",{"Ref":"ProjectC78D97AD"},"-*"]]}}],"Version":"2012-10-17"},"policyName":"ProjectRoleDefaultPolicy7F29461B","roles":[{"Ref":"ProjectRole4CCB274E"}]}},"constructInfo":{"fqn":"aws-cdk-lib.aws_iam.CfnPolicy","version":"0.0.0"}}},"constructInfo":{"fqn":"aws-cdk-lib.aws_iam.Policy","version":"0.0.0","metadata":["*",{"attachToRole":["*"]},{"attachToRole":["*"]},{"addStatements":[{}]},{"addStatements":[{}]}]}}},"constructInfo":{"fqn":"aws-cdk-lib.aws_iam.Role","version":"0.0.0","metadata":[{"roleName":"*","assumedBy":{"principalAccount":"*","assumeRoleAction":"*"}},{"addToPrincipalPolicy":[{}]},{"attachInlinePolicy":["*"]},{"attachInlinePolicy":["*"]},{"addToPrincipalPolicy":[{}]}]}},"Resource":{"id":"Resource","path":"WinCore2019-2/Project/Resource","attributes":{"aws:cdk:cloudformation:type":"AWS::CodeBuild::Project","aws:cdk:cloudformation:props":{"artifacts":{"type":"NO_ARTIFACTS"},"cache":{"type":"NO_CACHE"},"encryptionKey":"alias/aws/s3","environment":{"type":"WINDOWS_SERVER_2019_CONTAINER","image":"aws/codebuild/windows-base:2019-2.0","imagePullCredentialsType":"CODEBUILD","privilegedMode":false,"computeType":"BUILD_GENERAL1_MEDIUM"},"serviceRole":{"Fn::GetAtt":["ProjectRole4CCB274E","Arn"]},"source":{"type":"NO_SOURCE","buildSpec":"{\n \"version\": \"0.2\"\n}"}}},"constructInfo":{"fqn":"aws-cdk-lib.aws_codebuild.CfnProject","version":"0.0.0"}}},"constructInfo":{"fqn":"aws-cdk-lib.aws_codebuild.Project","version":"0.0.0","metadata":[{"buildSpec":"*","environment":{"buildImage":{"defaultComputeType":"BUILD_GENERAL1_MEDIUM","type":"*","imageId":"*","imagePullPrincipalType":"CODEBUILD","secretsManagerCredentials":"*","repository":"*"},"computeType":"BUILD_GENERAL1_MEDIUM"}}]}},"BootstrapVersion":{"id":"BootstrapVersion","path":"WinCore2019-2/BootstrapVersion","constructInfo":{"fqn":"aws-cdk-lib.CfnParameter","version":"0.0.0"}},"CheckBootstrapVersion":{"id":"CheckBootstrapVersion","path":"WinCore2019-2/CheckBootstrapVersion","constructInfo":{"fqn":"aws-cdk-lib.CfnRule","version":"0.0.0"}}},"constructInfo":{"fqn":"aws-cdk-lib.Stack","version":"0.0.0"}},"WinCore2019-3":{"id":"WinCore2019-3","path":"WinCore2019-3","children":{"Project":{"id":"Project","path":"WinCore2019-3/Project","children":{"Role":{"id":"Role","path":"WinCore2019-3/Project/Role","children":{"ImportRole":{"id":"ImportRole","path":"WinCore2019-3/Project/Role/ImportRole","constructInfo":{"fqn":"aws-cdk-lib.Resource","version":"0.0.0","metadata":["*"]}},"Resource":{"id":"Resource","path":"WinCore2019-3/Project/Role/Resource","attributes":{"aws:cdk:cloudformation:type":"AWS::IAM::Role","aws:cdk:cloudformation:props":{"assumeRolePolicyDocument":{"Statement":[{"Action":"sts:AssumeRole","Effect":"Allow","Principal":{"Service":"codebuild.amazonaws.com"}}],"Version":"2012-10-17"}}},"constructInfo":{"fqn":"aws-cdk-lib.aws_iam.CfnRole","version":"0.0.0"}},"DefaultPolicy":{"id":"DefaultPolicy","path":"WinCore2019-3/Project/Role/DefaultPolicy","children":{"Resource":{"id":"Resource","path":"WinCore2019-3/Project/Role/DefaultPolicy/Resource","attributes":{"aws:cdk:cloudformation:type":"AWS::IAM::Policy","aws:cdk:cloudformation:props":{"policyDocument":{"Statement":[{"Action":["logs:CreateLogGroup","logs:CreateLogStream","logs:PutLogEvents"],"Effect":"Allow","Resource":[{"Fn::Join":["",["arn:",{"Ref":"AWS::Partition"},":logs:",{"Ref":"AWS::Region"},":",{"Ref":"AWS::AccountId"},":log-group:/aws/codebuild/",{"Ref":"ProjectC78D97AD"},":*"]]},{"Fn::Join":["",["arn:",{"Ref":"AWS::Partition"},":logs:",{"Ref":"AWS::Region"},":",{"Ref":"AWS::AccountId"},":log-group:/aws/codebuild/",{"Ref":"ProjectC78D97AD"}]]}]},{"Action":["codebuild:BatchPutCodeCoverages","codebuild:BatchPutTestCases","codebuild:CreateReport","codebuild:CreateReportGroup","codebuild:UpdateReport"],"Effect":"Allow","Resource":{"Fn::Join":["",["arn:",{"Ref":"AWS::Partition"},":codebuild:",{"Ref":"AWS::Region"},":",{"Ref":"AWS::AccountId"},":report-group/",{"Ref":"ProjectC78D97AD"},"-*"]]}}],"Version":"2012-10-17"},"policyName":"ProjectRoleDefaultPolicy7F29461B","roles":[{"Ref":"ProjectRole4CCB274E"}]}},"constructInfo":{"fqn":"aws-cdk-lib.aws_iam.CfnPolicy","version":"0.0.0"}}},"constructInfo":{"fqn":"aws-cdk-lib.aws_iam.Policy","version":"0.0.0","metadata":["*",{"attachToRole":["*"]},{"attachToRole":["*"]},{"addStatements":[{}]},{"addStatements":[{}]}]}}},"constructInfo":{"fqn":"aws-cdk-lib.aws_iam.Role","version":"0.0.0","metadata":[{"roleName":"*","assumedBy":{"principalAccount":"*","assumeRoleAction":"*"}},{"addToPrincipalPolicy":[{}]},{"attachInlinePolicy":["*"]},{"attachInlinePolicy":["*"]},{"addToPrincipalPolicy":[{}]}]}},"Resource":{"id":"Resource","path":"WinCore2019-3/Project/Resource","attributes":{"aws:cdk:cloudformation:type":"AWS::CodeBuild::Project","aws:cdk:cloudformation:props":{"artifacts":{"type":"NO_ARTIFACTS"},"cache":{"type":"NO_CACHE"},"encryptionKey":"alias/aws/s3","environment":{"type":"WINDOWS_SERVER_2019_CONTAINER","image":"aws/codebuild/windows-base:2019-3.0","imagePullCredentialsType":"CODEBUILD","privilegedMode":false,"computeType":"BUILD_GENERAL1_MEDIUM"},"serviceRole":{"Fn::GetAtt":["ProjectRole4CCB274E","Arn"]},"source":{"type":"NO_SOURCE","buildSpec":"{\n \"version\": \"0.2\"\n}"}}},"constructInfo":{"fqn":"aws-cdk-lib.aws_codebuild.CfnProject","version":"0.0.0"}}},"constructInfo":{"fqn":"aws-cdk-lib.aws_codebuild.Project","version":"0.0.0","metadata":[{"buildSpec":"*","environment":{"buildImage":{"defaultComputeType":"BUILD_GENERAL1_MEDIUM","type":"*","imageId":"*","imagePullPrincipalType":"CODEBUILD","secretsManagerCredentials":"*","repository":"*"},"computeType":"BUILD_GENERAL1_MEDIUM"}}]}},"BootstrapVersion":{"id":"BootstrapVersion","path":"WinCore2019-3/BootstrapVersion","constructInfo":{"fqn":"aws-cdk-lib.CfnParameter","version":"0.0.0"}},"CheckBootstrapVersion":{"id":"CheckBootstrapVersion","path":"WinCore2019-3/CheckBootstrapVersion","constructInfo":{"fqn":"aws-cdk-lib.CfnRule","version":"0.0.0"}}},"constructInfo":{"fqn":"aws-cdk-lib.Stack","version":"0.0.0"}},"WinServer2022-1":{"id":"WinServer2022-1","path":"WinServer2022-1","children":{"Project":{"id":"Project","path":"WinServer2022-1/Project","children":{"Role":{"id":"Role","path":"WinServer2022-1/Project/Role","children":{"ImportRole":{"id":"ImportRole","path":"WinServer2022-1/Project/Role/ImportRole","constructInfo":{"fqn":"aws-cdk-lib.Resource","version":"0.0.0","metadata":["*"]}},"Resource":{"id":"Resource","path":"WinServer2022-1/Project/Role/Resource","attributes":{"aws:cdk:cloudformation:type":"AWS::IAM::Role","aws:cdk:cloudformation:props":{"assumeRolePolicyDocument":{"Statement":[{"Action":"sts:AssumeRole","Effect":"Allow","Principal":{"Service":"codebuild.amazonaws.com"}}],"Version":"2012-10-17"}}},"constructInfo":{"fqn":"aws-cdk-lib.aws_iam.CfnRole","version":"0.0.0"}},"DefaultPolicy":{"id":"DefaultPolicy","path":"WinServer2022-1/Project/Role/DefaultPolicy","children":{"Resource":{"id":"Resource","path":"WinServer2022-1/Project/Role/DefaultPolicy/Resource","attributes":{"aws:cdk:cloudformation:type":"AWS::IAM::Policy","aws:cdk:cloudformation:props":{"policyDocument":{"Statement":[{"Action":["logs:CreateLogGroup","logs:CreateLogStream","logs:PutLogEvents"],"Effect":"Allow","Resource":[{"Fn::Join":["",["arn:",{"Ref":"AWS::Partition"},":logs:",{"Ref":"AWS::Region"},":",{"Ref":"AWS::AccountId"},":log-group:/aws/codebuild/",{"Ref":"ProjectC78D97AD"},":*"]]},{"Fn::Join":["",["arn:",{"Ref":"AWS::Partition"},":logs:",{"Ref":"AWS::Region"},":",{"Ref":"AWS::AccountId"},":log-group:/aws/codebuild/",{"Ref":"ProjectC78D97AD"}]]}]},{"Action":["codebuild:BatchPutCodeCoverages","codebuild:BatchPutTestCases","codebuild:CreateReport","codebuild:CreateReportGroup","codebuild:UpdateReport"],"Effect":"Allow","Resource":{"Fn::Join":["",["arn:",{"Ref":"AWS::Partition"},":codebuild:",{"Ref":"AWS::Region"},":",{"Ref":"AWS::AccountId"},":report-group/",{"Ref":"ProjectC78D97AD"},"-*"]]}}],"Version":"2012-10-17"},"policyName":"ProjectRoleDefaultPolicy7F29461B","roles":[{"Ref":"ProjectRole4CCB274E"}]}},"constructInfo":{"fqn":"aws-cdk-lib.aws_iam.CfnPolicy","version":"0.0.0"}}},"constructInfo":{"fqn":"aws-cdk-lib.aws_iam.Policy","version":"0.0.0","metadata":["*",{"attachToRole":["*"]},{"attachToRole":["*"]},{"addStatements":[{}]},{"addStatements":[{}]}]}}},"constructInfo":{"fqn":"aws-cdk-lib.aws_iam.Role","version":"0.0.0","metadata":[{"roleName":"*","assumedBy":{"principalAccount":"*","assumeRoleAction":"*"}},{"addToPrincipalPolicy":[{}]},{"attachInlinePolicy":["*"]},{"attachInlinePolicy":["*"]},{"addToPrincipalPolicy":[{}]}]}},"Resource":{"id":"Resource","path":"WinServer2022-1/Project/Resource","attributes":{"aws:cdk:cloudformation:type":"AWS::CodeBuild::Project","aws:cdk:cloudformation:props":{"artifacts":{"type":"NO_ARTIFACTS"},"cache":{"type":"NO_CACHE"},"encryptionKey":"alias/aws/s3","environment":{"type":"WINDOWS_EC2","image":"aws/codebuild/ami/windows-base:2022","imagePullCredentialsType":"CODEBUILD","privilegedMode":false,"computeType":"BUILD_GENERAL1_MEDIUM"},"serviceRole":{"Fn::GetAtt":["ProjectRole4CCB274E","Arn"]},"source":{"type":"NO_SOURCE","buildSpec":"{\n \"version\": \"0.2\"\n}"}}},"constructInfo":{"fqn":"aws-cdk-lib.aws_codebuild.CfnProject","version":"0.0.0"}}},"constructInfo":{"fqn":"aws-cdk-lib.aws_codebuild.Project","version":"0.0.0","metadata":[{"buildSpec":"*","environment":{"buildImage":{"defaultComputeType":"BUILD_GENERAL1_MEDIUM","type":"*","imageId":"*","imagePullPrincipalType":"CODEBUILD","secretsManagerCredentials":"*","repository":"*"},"computeType":"BUILD_GENERAL1_MEDIUM"}}]}},"BootstrapVersion":{"id":"BootstrapVersion","path":"WinServer2022-1/BootstrapVersion","constructInfo":{"fqn":"aws-cdk-lib.CfnParameter","version":"0.0.0"}},"CheckBootstrapVersion":{"id":"CheckBootstrapVersion","path":"WinServer2022-1/CheckBootstrapVersion","constructInfo":{"fqn":"aws-cdk-lib.CfnRule","version":"0.0.0"}}},"constructInfo":{"fqn":"aws-cdk-lib.Stack","version":"0.0.0"}},"integ-project-windows-images":{"id":"integ-project-windows-images","path":"integ-project-windows-images","children":{"DefaultTest":{"id":"DefaultTest","path":"integ-project-windows-images/DefaultTest","children":{"Default":{"id":"Default","path":"integ-project-windows-images/DefaultTest/Default","constructInfo":{"fqn":"constructs.Construct","version":"10.4.2"}},"DeployAssert":{"id":"DeployAssert","path":"integ-project-windows-images/DefaultTest/DeployAssert","children":{"BootstrapVersion":{"id":"BootstrapVersion","path":"integ-project-windows-images/DefaultTest/DeployAssert/BootstrapVersion","constructInfo":{"fqn":"aws-cdk-lib.CfnParameter","version":"0.0.0"}},"CheckBootstrapVersion":{"id":"CheckBootstrapVersion","path":"integ-project-windows-images/DefaultTest/DeployAssert/CheckBootstrapVersion","constructInfo":{"fqn":"aws-cdk-lib.CfnRule","version":"0.0.0"}}},"constructInfo":{"fqn":"aws-cdk-lib.Stack","version":"0.0.0"}}},"constructInfo":{"fqn":"@aws-cdk/integ-tests-alpha.IntegTestCase","version":"0.0.0"}}},"constructInfo":{"fqn":"@aws-cdk/integ-tests-alpha.IntegTest","version":"0.0.0"}},"Tree":{"id":"Tree","path":"Tree","constructInfo":{"fqn":"constructs.Construct","version":"10.4.2"}}},"constructInfo":{"fqn":"aws-cdk-lib.App","version":"0.0.0"}}} \ No newline at end of file diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-codebuild/test/integ.project-windows-image.ts b/packages/@aws-cdk-testing/framework-integ/test/aws-codebuild/test/integ.project-windows-image.ts index ee6dd38353550..4321fcffc897e 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-codebuild/test/integ.project-windows-image.ts +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-codebuild/test/integ.project-windows-image.ts @@ -27,6 +27,7 @@ new IntegTest(app, 'integ-project-windows-images', { new ImageTestStack(app, 'WinCore2019-3', WindowsBuildImage.WIN_SERVER_CORE_2019_BASE_3_0), // Windows 2022 images are not supported for on-demand build projects /* new ImageTestStack(app, 'WinCore2022-3', WindowsBuildImage.WIN_SERVER_CORE_2022_BASE_3_0), */ + new ImageTestStack(app, 'WinServer2022-1', WindowsBuildImage.WIN_SERVER_2022_AMI), ], }); diff --git a/packages/aws-cdk-lib/aws-codebuild/README.md b/packages/aws-cdk-lib/aws-codebuild/README.md index 7f57906f49b28..6cd98f5073fe3 100644 --- a/packages/aws-cdk-lib/aws-codebuild/README.md +++ b/packages/aws-cdk-lib/aws-codebuild/README.md @@ -332,6 +332,12 @@ of the constants such as `WindowsBuildImage.WIN_SERVER_CORE_2019_BASE`, `LinuxBuildImage.AMAZON_LINUX_2_5`, `MacBuildImage.BASE_14`, `LinuxArmBuildImage.AMAZON_LINUX_2_ARM`, `LinuxLambdaBuildImage.AMAZON_LINUX_2_NODE_18` or `LinuxArmLambdaBuildImage.AMAZON_LINUX_2_NODE_18`. +For ec2 environment types: + +* `LINUX_EC2`: `LinuxBuildImage.AMAZON_LINUX_2023_AMI` +* `ARM_EC2`: `LinuxArmBuildImage.AMAZON_LINUX_2023_AMI` +* `WINDOWS_EC2`: `WindowsBuildImage.WIN_SERVER_2022_AMI` + Alternatively, you can specify a custom image using one of the static methods on `LinuxBuildImage`: diff --git a/packages/aws-cdk-lib/aws-codebuild/lib/linux-arm-build-image.ts b/packages/aws-cdk-lib/aws-codebuild/lib/linux-arm-build-image.ts index ce112e6370a71..48751475d201d 100644 --- a/packages/aws-cdk-lib/aws-codebuild/lib/linux-arm-build-image.ts +++ b/packages/aws-cdk-lib/aws-codebuild/lib/linux-arm-build-image.ts @@ -6,6 +6,21 @@ import { BuildEnvironment, IBuildImage, ImagePullPrincipalType, DockerImageOptio import * as ecr from '../../aws-ecr'; import * as secretsmanager from '../../aws-secretsmanager'; +/** + * Environment type for Linux Arm Docker images or AMI + */ +export enum LinuxArmImageType { + /** + * The ARM_CONTAINER environment type + */ + ARM_CONTAINER = EnvironmentType.ARM_CONTAINER, + + /** + * The ARM_EC2 environment type + */ + ARM_EC2 = EnvironmentType.ARM_EC2, +} + /** * Construction properties of `LinuxArmBuildImage`. * Module-private, as the constructor of `LinuxArmBuildImage` is private. @@ -15,6 +30,7 @@ interface LinuxArmBuildImageProps { readonly imagePullPrincipalType?: ImagePullPrincipalType; readonly secretsManagerCredentials?: secretsmanager.ISecret; readonly repository?: ecr.IRepository; + readonly imageType?: LinuxArmImageType; } /** @@ -46,6 +62,13 @@ export class LinuxArmBuildImage implements IBuildImage { /** Image "aws/codebuild/amazonlinux-aarch64-standard:3.0" based on Amazon Linux 2023. */ public static readonly AMAZON_LINUX_2023_STANDARD_3_0 = LinuxArmBuildImage.fromCodeBuildImageId('aws/codebuild/amazonlinux-aarch64-standard:3.0'); + /** The Amazon Linux arm 1.0 AMI, based on Amazon Linux 2023. */ + public static readonly AMAZON_LINUX_2023_AMI: IBuildImage = new LinuxArmBuildImage({ + imageId: 'aws/codebuild/ami/amazonlinux-arm-base:latest', + imagePullPrincipalType: ImagePullPrincipalType.CODEBUILD, + imageType: LinuxArmImageType.ARM_EC2, + }); + /** * @returns a aarch-64 Linux build image from a Docker Hub image. */ @@ -93,7 +116,7 @@ export class LinuxArmBuildImage implements IBuildImage { }); } - public readonly type = EnvironmentType.ARM_CONTAINER as string; + public readonly type: string; public readonly defaultComputeType = ComputeType.LARGE; public readonly imageId: string; public readonly imagePullPrincipalType?: ImagePullPrincipalType; @@ -105,6 +128,7 @@ export class LinuxArmBuildImage implements IBuildImage { this.imagePullPrincipalType = props.imagePullPrincipalType; this.secretsManagerCredentials = props.secretsManagerCredentials; this.repository = props.repository; + this.type = props.imageType ?? LinuxArmImageType.ARM_CONTAINER; } /** diff --git a/packages/aws-cdk-lib/aws-codebuild/lib/project.ts b/packages/aws-cdk-lib/aws-codebuild/lib/project.ts index 0976ae5bd7de5..68df728414388 100644 --- a/packages/aws-cdk-lib/aws-codebuild/lib/project.ts +++ b/packages/aws-cdk-lib/aws-codebuild/lib/project.ts @@ -1785,6 +1785,21 @@ export interface DockerImageOptions { readonly secretsManagerCredentials?: secretsmanager.ISecret; } +/** + * Environment type for Linux Docker images or AMI + */ +export enum LinuxImageType { + /** + * The LINUX_CONTAINER environment type + */ + LINUX_CONTAINER = EnvironmentType.LINUX_CONTAINER, + + /** + * The LINUX_EC2 environment type + */ + LINUX_EC2 = EnvironmentType.LINUX_EC2, +} + /** * Construction properties of `LinuxBuildImage`. * Module-private, as the constructor of `LinuxBuildImage` is private. @@ -1794,6 +1809,7 @@ interface LinuxBuildImageProps { readonly imagePullPrincipalType?: ImagePullPrincipalType; readonly secretsManagerCredentials?: secretsmanager.ISecret; readonly repository?: ecr.IRepository; + readonly imageType?: LinuxImageType; } // Keep around to resolve a circular dependency until removing deprecated ARM image constants from LinuxBuildImage @@ -1861,6 +1877,13 @@ export class LinuxBuildImage implements IBuildImage { /** The Amazon Coretto 11 image x86_64, based on Amazon Linux 2023. */ public static readonly AMAZON_LINUX_2023_CORETTO_11 = LinuxBuildImage.codeBuildImage('aws/codebuild/amazonlinux-x86_64-standard:corretto11'); + /** The Amazon Linux x86_64 latest AMI, based on Amazon Linux 2023. */ + public static readonly AMAZON_LINUX_2023_AMI: IBuildImage = new LinuxBuildImage({ + imageId: 'aws/codebuild/ami/amazonlinux-x86_64-base:latest', + imagePullPrincipalType: ImagePullPrincipalType.CODEBUILD, + imageType: LinuxImageType.LINUX_EC2, + }); + /** * Image "aws/codebuild/amazonlinux2-aarch64-standard:1.0". * @see {LinuxArmBuildImage.AMAZON_LINUX_2_STANDARD_1_0} @@ -2003,7 +2026,7 @@ export class LinuxBuildImage implements IBuildImage { }); } - public readonly type = EnvironmentType.LINUX_CONTAINER as string; + public readonly type: string; public readonly defaultComputeType = ComputeType.SMALL; public readonly imageId: string; public readonly imagePullPrincipalType?: ImagePullPrincipalType; @@ -2015,6 +2038,7 @@ export class LinuxBuildImage implements IBuildImage { this.imagePullPrincipalType = props.imagePullPrincipalType; this.secretsManagerCredentials = props.secretsManagerCredentials; this.repository = props.repository; + this.type = props.imageType ?? EnvironmentType.LINUX_CONTAINER; } public validate(env: BuildEnvironment): string[] { @@ -2033,7 +2057,7 @@ export class LinuxBuildImage implements IBuildImage { } /** - * Environment type for Windows Docker images + * Environment type for Windows Docker images or AMI */ export enum WindowsImageType { /** @@ -2055,6 +2079,11 @@ export enum WindowsImageType { * @see https://docs.aws.amazon.com/codebuild/latest/userguide/fleets.html */ SERVER_2022 = EnvironmentType.WINDOWS_SERVER_2022_CONTAINER, + + /** + * The WINDOWS_EC2 environment type + */ + WINDOWS_EC2 = EnvironmentType.WINDOWS_EC2, } /** @@ -2149,6 +2178,14 @@ export class WindowsBuildImage implements IBuildImage { imageType: WindowsImageType.SERVER_2022, }); + /** The CodeBuild Windows Server 2022 AMI */ + public static readonly WIN_SERVER_2022_AMI: IBuildImage = + new WindowsBuildImage({ + imageId: 'aws/codebuild/ami/windows-base:2022', + imagePullPrincipalType: ImagePullPrincipalType.CODEBUILD, + imageType: WindowsImageType.WINDOWS_EC2, + }); + /** * @returns a Windows build image from a Docker Hub image. */ diff --git a/packages/aws-cdk-lib/aws-codebuild/test/project.test.ts b/packages/aws-cdk-lib/aws-codebuild/test/project.test.ts index 7ea2aae4dae28..1c096b67d5c97 100644 --- a/packages/aws-cdk-lib/aws-codebuild/test/project.test.ts +++ b/packages/aws-cdk-lib/aws-codebuild/test/project.test.ts @@ -966,8 +966,11 @@ describe('Environment', () => { }); test.each([ - ['Base 14', codebuild.MacBuildImage.BASE_14, 'aws/codebuild/macos-arm-base:14'], - ])('has build image for %s', (_, buildImage, expected) => { + ['macOS Base 14', codebuild.EnvironmentType.MAC_ARM, codebuild.MacBuildImage.BASE_14, 'aws/codebuild/macos-arm-base:14'], + ['Linux EC2 AL2023 1.0', codebuild.EnvironmentType.LINUX_EC2, codebuild.LinuxBuildImage.AMAZON_LINUX_2023_AMI, 'aws/codebuild/ami/amazonlinux-x86_64-base:latest'], + ['Arm EC2 AL2023 1.0', codebuild.EnvironmentType.ARM_EC2, codebuild.LinuxArmBuildImage.AMAZON_LINUX_2023_AMI, 'aws/codebuild/ami/amazonlinux-arm-base:latest'], + ['Windows EC2 Server 2022 1.0', codebuild.EnvironmentType.WINDOWS_EC2, codebuild.WindowsBuildImage.WIN_SERVER_2022_AMI, 'aws/codebuild/ami/windows-base:2022'], + ])('has build image for %s', (_, environmentType, buildImage, expected) => { // GIVEN const stack = new cdk.Stack(); const bucket = s3.Bucket.fromBucketName(stack, 'Bucket', 'my-bucket'); // (stack, 'Bucket'); @@ -975,7 +978,7 @@ describe('Environment', () => { fleetName: 'MyFleet', baseCapacity: 1, computeType: codebuild.FleetComputeType.MEDIUM, - environmentType: codebuild.EnvironmentType.MAC_ARM, + environmentType: environmentType, }); // WHEN