// Jest Snapshot v1, https://goo.gl/fbAQLP exports[`Pipeline Snapshot 1`] = ` Object { "Metadata": Object { "cdk_nag": Object { "rules_to_suppress": Array [ Object { "id": "AwsSolutions-IAM4", "reason": "Allow CDK Pipeline", }, Object { "id": "AwsSolutions-IAM5", "reason": "Allow CDK Pipeline", }, Object { "id": "AwsSolutions-S1", "reason": "Allow CDK Pipeline", }, Object { "id": "AwsSolutions-KMS5", "reason": "Allow CDK Pipeline", }, Object { "id": "AwsSolutions-CB3", "reason": "Allow CDK Pipeline", }, ], }, }, "Parameters": Object { "BootstrapVersion": Object { "Default": "/cdk-bootstrap/hnb659fds/version", "Description": "Version of the CDK Bootstrap resources in this environment, automatically retrieved from SSM Parameter Store. [cdk:skip]", "Type": "AWS::SSM::Parameter::Value", }, }, "Resources": Object { "CacheBucket41D9D0B0": Object { "DeletionPolicy": "Retain", "Properties": Object { "BucketEncryption": Object { "ServerSideEncryptionConfiguration": Array [ Object { "ServerSideEncryptionByDefault": Object { "SSEAlgorithm": "AES256", }, }, ], }, "PublicAccessBlockConfiguration": Object { "BlockPublicAcls": true, "BlockPublicPolicy": true, "IgnorePublicAcls": true, "RestrictPublicBuckets": true, }, }, "Type": "AWS::S3::Bucket", "UpdateReplacePolicy": "Retain", }, "CacheBucketPolicyE2F00ED4": Object { "Properties": Object { "Bucket": Object { "Ref": "CacheBucket41D9D0B0", }, "PolicyDocument": Object { "Statement": Array [ Object { "Action": "s3:*", "Condition": Object { "Bool": Object { "aws:SecureTransport": "false", }, }, "Effect": "Deny", "Principal": Object { "AWS": "*", }, "Resource": Array [ Object { "Fn::GetAtt": Array [ "CacheBucket41D9D0B0", "Arn", ], }, Object { "Fn::Join": Array [ "", Array [ Object { "Fn::GetAtt": Array [ "CacheBucket41D9D0B0", "Arn", ], }, "/*", ], ], }, ], }, ], "Version": "2012-10-17", }, }, "Type": "AWS::S3::BucketPolicy", }, "SourceCfnRepositoryAssociation738A9DD0": Object { "Properties": Object { "Name": Object { "Fn::GetAtt": Array [ "SourceCodeCommitRepoF7A67B81", "Name", ], }, "Type": "CodeCommit", }, "Type": "AWS::CodeGuruReviewer::RepositoryAssociation", }, "SourceCodeCommitRepoF7A67B81": Object { "Properties": Object { "Code": Object { "BranchName": "main", "S3": Object { "Bucket": "cdk-hnb659fds-assets-dummy-us-east-1", "Key": "code.zip", }, }, "RepositoryName": "fruit-api", }, "Type": "AWS::CodeCommit::Repository", }, "SourceCodeCommitRepoTestStackfruitapiPipeline54C9B885mainEventRule07E06655": Object { "Properties": Object { "EventPattern": Object { "detail": Object { "event": Array [ "referenceCreated", "referenceUpdated", ], "referenceName": Array [ "main", ], }, "detail-type": Array [ "CodeCommit Repository State Change", ], "resources": Array [ Object { "Fn::GetAtt": Array [ "SourceCodeCommitRepoF7A67B81", "Arn", ], }, ], "source": Array [ "aws.codecommit", ], }, "State": "ENABLED", "Targets": Array [ Object { "Arn": Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":codepipeline:us-east-1:dummy:", Object { "Ref": "fruitapiPipeline1F033DA2", }, ], ], }, "Id": "Target0", "RoleArn": Object { "Fn::GetAtt": Array [ "fruitapiPipelineEventsRole00ED83BE", "Arn", ], }, }, ], }, "Type": "AWS::Events::Rule", }, "fruitapiAssetsDockerAssetD43255A2": Object { "Properties": Object { "Artifacts": Object { "Type": "CODEPIPELINE", }, "Cache": Object { "Type": "NO_CACHE", }, "Description": "Pipeline step TestStack/Pipeline/Assets/DockerAsset", "EncryptionKey": Object { "Fn::GetAtt": Array [ "fruitapiPipelineArtifactsBucketEncryptionKey9E5E2FC5", "Arn", ], }, "Environment": Object { "ComputeType": "BUILD_GENERAL1_SMALL", "Image": "aws/codebuild/standard:6.0", "ImagePullCredentialsType": "CODEBUILD", "PrivilegedMode": true, "Type": "LINUX_CONTAINER", }, "ServiceRole": Object { "Fn::GetAtt": Array [ "fruitapiAssetsDockerRole19B5E4D3", "Arn", ], }, "Source": Object { "BuildSpec": "buildspec-c81cb9840889e8394c8dd75a23a3f9fe04346e4f19-DockerAsset.yaml", "Type": "CODEPIPELINE", }, }, "Type": "AWS::CodeBuild::Project", }, "fruitapiAssetsDockerRole19B5E4D3": Object { "Properties": Object { "AssumeRolePolicyDocument": Object { "Statement": Array [ Object { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": Object { "Service": "codebuild.amazonaws.com", }, }, Object { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": Object { "AWS": Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":iam::dummy:root", ], ], }, }, }, ], "Version": "2012-10-17", }, }, "Type": "AWS::IAM::Role", }, "fruitapiAssetsDockerRoleDefaultPolicy19C4FC9E": Object { "Properties": Object { "PolicyDocument": Object { "Statement": Array [ Object { "Action": Array [ "logs:CreateLogGroup", "logs:CreateLogStream", "logs:PutLogEvents", ], "Effect": "Allow", "Resource": Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":logs:us-east-1:dummy:log-group:/aws/codebuild/*", ], ], }, }, Object { "Action": Array [ "codebuild:CreateReportGroup", "codebuild:CreateReport", "codebuild:UpdateReport", "codebuild:BatchPutTestCases", "codebuild:BatchPutCodeCoverages", ], "Effect": "Allow", "Resource": Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":codebuild:us-east-1:dummy:report-group/*", ], ], }, }, Object { "Action": Array [ "codebuild:BatchGetBuilds", "codebuild:StartBuild", "codebuild:StopBuild", ], "Effect": "Allow", "Resource": "*", }, Object { "Action": "sts:AssumeRole", "Effect": "Allow", "Resource": Array [ Object { "Fn::Sub": "arn:\${AWS::Partition}:iam::000000000000:role/cdk-hnb659fds-image-publishing-role-000000000000-us-west-2", }, Object { "Fn::Sub": "arn:\${AWS::Partition}:iam::000000000000:role/cdk-hnb659fds-image-publishing-role-000000000000-us-west-2", }, Object { "Fn::Sub": "arn:\${AWS::Partition}:iam::000000000000:role/cdk-hnb659fds-image-publishing-role-000000000000-us-east-1", }, Object { "Fn::Sub": "arn:\${AWS::Partition}:iam::000000000000:role/cdk-hnb659fds-image-publishing-role-000000000000-us-west-2", }, Object { "Fn::Sub": "arn:\${AWS::Partition}:iam::000000000000:role/cdk-hnb659fds-image-publishing-role-000000000000-us-east-1", }, Object { "Fn::Sub": "arn:\${AWS::Partition}:iam::000000000000:role/cdk-hnb659fds-image-publishing-role-000000000000-eu-central-1", }, Object { "Fn::Sub": "arn:\${AWS::Partition}:iam::000000000000:role/cdk-hnb659fds-image-publishing-role-000000000000-eu-west-1", }, Object { "Fn::Sub": "arn:\${AWS::Partition}:iam::000000000000:role/cdk-hnb659fds-image-publishing-role-000000000000-ap-south-1", }, Object { "Fn::Sub": "arn:\${AWS::Partition}:iam::000000000000:role/cdk-hnb659fds-image-publishing-role-000000000000-ap-southeast-2", }, ], }, Object { "Action": Array [ "s3:GetObject*", "s3:GetBucket*", "s3:List*", ], "Effect": "Allow", "Resource": Array [ Object { "Fn::GetAtt": Array [ "fruitapiPipelineArtifactsBucket07B9157E", "Arn", ], }, Object { "Fn::Join": Array [ "", Array [ Object { "Fn::GetAtt": Array [ "fruitapiPipelineArtifactsBucket07B9157E", "Arn", ], }, "/*", ], ], }, ], }, Object { "Action": Array [ "kms:Decrypt", "kms:DescribeKey", ], "Effect": "Allow", "Resource": Object { "Fn::GetAtt": Array [ "fruitapiPipelineArtifactsBucketEncryptionKey9E5E2FC5", "Arn", ], }, }, ], "Version": "2012-10-17", }, "PolicyName": "fruitapiAssetsDockerRoleDefaultPolicy19C4FC9E", "Roles": Array [ Object { "Ref": "fruitapiAssetsDockerRole19B5E4D3", }, ], }, "Type": "AWS::IAM::Policy", }, "fruitapiAssetsFileAssetE1558F89": Object { "Properties": Object { "Artifacts": Object { "Type": "CODEPIPELINE", }, "Cache": Object { "Type": "NO_CACHE", }, "Description": "Pipeline step TestStack/Pipeline/Assets/FileAsset", "EncryptionKey": Object { "Fn::GetAtt": Array [ "fruitapiPipelineArtifactsBucketEncryptionKey9E5E2FC5", "Arn", ], }, "Environment": Object { "ComputeType": "BUILD_GENERAL1_SMALL", "Image": "aws/codebuild/standard:6.0", "ImagePullCredentialsType": "CODEBUILD", "PrivilegedMode": false, "Type": "LINUX_CONTAINER", }, "ServiceRole": Object { "Fn::GetAtt": Array [ "fruitapiAssetsFileRole2CEFDD50", "Arn", ], }, "Source": Object { "BuildSpec": "buildspec-c81cb9840889e8394c8dd75a23a3f9fe04346e4f19-FileAsset.yaml", "Type": "CODEPIPELINE", }, }, "Type": "AWS::CodeBuild::Project", }, "fruitapiAssetsFileRole2CEFDD50": Object { "Properties": Object { "AssumeRolePolicyDocument": Object { "Statement": Array [ Object { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": Object { "Service": "codebuild.amazonaws.com", }, }, Object { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": Object { "AWS": Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":iam::dummy:root", ], ], }, }, }, ], "Version": "2012-10-17", }, }, "Type": "AWS::IAM::Role", }, "fruitapiAssetsFileRoleDefaultPolicyE93AC574": Object { "Properties": Object { "PolicyDocument": Object { "Statement": Array [ Object { "Action": Array [ "logs:CreateLogGroup", "logs:CreateLogStream", "logs:PutLogEvents", ], "Effect": "Allow", "Resource": Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":logs:us-east-1:dummy:log-group:/aws/codebuild/*", ], ], }, }, Object { "Action": Array [ "codebuild:CreateReportGroup", "codebuild:CreateReport", "codebuild:UpdateReport", "codebuild:BatchPutTestCases", "codebuild:BatchPutCodeCoverages", ], "Effect": "Allow", "Resource": Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":codebuild:us-east-1:dummy:report-group/*", ], ], }, }, Object { "Action": Array [ "codebuild:BatchGetBuilds", "codebuild:StartBuild", "codebuild:StopBuild", ], "Effect": "Allow", "Resource": "*", }, Object { "Action": "sts:AssumeRole", "Effect": "Allow", "Resource": Array [ Object { "Fn::Sub": "arn:\${AWS::Partition}:iam::000000000000:role/cdk-hnb659fds-file-publishing-role-000000000000-us-west-2", }, Object { "Fn::Sub": "arn:\${AWS::Partition}:iam::000000000000:role/cdk-hnb659fds-file-publishing-role-000000000000-us-west-2", }, Object { "Fn::Sub": "arn:\${AWS::Partition}:iam::000000000000:role/cdk-hnb659fds-file-publishing-role-000000000000-us-east-1", }, Object { "Fn::Sub": "arn:\${AWS::Partition}:iam::000000000000:role/cdk-hnb659fds-file-publishing-role-000000000000-us-west-2", }, Object { "Fn::Sub": "arn:\${AWS::Partition}:iam::000000000000:role/cdk-hnb659fds-file-publishing-role-000000000000-us-east-1", }, Object { "Fn::Sub": "arn:\${AWS::Partition}:iam::000000000000:role/cdk-hnb659fds-file-publishing-role-000000000000-eu-central-1", }, Object { "Fn::Sub": "arn:\${AWS::Partition}:iam::000000000000:role/cdk-hnb659fds-file-publishing-role-000000000000-eu-west-1", }, Object { "Fn::Sub": "arn:\${AWS::Partition}:iam::000000000000:role/cdk-hnb659fds-file-publishing-role-000000000000-ap-south-1", }, Object { "Fn::Sub": "arn:\${AWS::Partition}:iam::000000000000:role/cdk-hnb659fds-file-publishing-role-000000000000-ap-southeast-2", }, ], }, Object { "Action": Array [ "s3:GetObject*", "s3:GetBucket*", "s3:List*", ], "Effect": "Allow", "Resource": Array [ Object { "Fn::GetAtt": Array [ "fruitapiPipelineArtifactsBucket07B9157E", "Arn", ], }, Object { "Fn::Join": Array [ "", Array [ Object { "Fn::GetAtt": Array [ "fruitapiPipelineArtifactsBucket07B9157E", "Arn", ], }, "/*", ], ], }, ], }, Object { "Action": Array [ "kms:Decrypt", "kms:DescribeKey", ], "Effect": "Allow", "Resource": Object { "Fn::GetAtt": Array [ "fruitapiPipelineArtifactsBucketEncryptionKey9E5E2FC5", "Arn", ], }, }, ], "Version": "2012-10-17", }, "PolicyName": "fruitapiAssetsFileRoleDefaultPolicyE93AC574", "Roles": Array [ Object { "Ref": "fruitapiAssetsFileRole2CEFDD50", }, ], }, "Type": "AWS::IAM::Policy", }, "fruitapiCodeBuildActionRole9A61A6CE": Object { "Properties": Object { "AssumeRolePolicyDocument": Object { "Statement": Array [ Object { "Action": "sts:AssumeRole", "Condition": Object { "Bool": Object { "aws:ViaAWSService": "codepipeline.amazonaws.com", }, }, "Effect": "Allow", "Principal": Object { "AWS": Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":iam::dummy:root", ], ], }, }, }, ], "Version": "2012-10-17", }, }, "Type": "AWS::IAM::Role", }, "fruitapiCodeBuildActionRoleDefaultPolicy58443F01": Object { "Properties": Object { "PolicyDocument": Object { "Statement": Array [ Object { "Action": Array [ "codebuild:BatchGetBuilds", "codebuild:StartBuild", "codebuild:StopBuild", ], "Effect": "Allow", "Resource": Object { "Fn::GetAtt": Array [ "fruitapiPipelineBuildTrivyScan7159420B", "Arn", ], }, }, Object { "Action": Array [ "codebuild:BatchGetBuilds", "codebuild:StartBuild", "codebuild:StopBuild", ], "Effect": "Allow", "Resource": Object { "Fn::GetAtt": Array [ "fruitapiPipelineBuild1CEF8E13", "Arn", ], }, }, Object { "Action": Array [ "codebuild:BatchGetBuilds", "codebuild:StartBuild", "codebuild:StopBuild", ], "Effect": "Allow", "Resource": Object { "Fn::GetAtt": Array [ "fruitapiPipelineBuildSynthCdkBuildProjectB2FD2528", "Arn", ], }, }, Object { "Action": Array [ "codebuild:BatchGetBuilds", "codebuild:StartBuild", "codebuild:StopBuild", ], "Effect": "Allow", "Resource": Object { "Fn::GetAtt": Array [ "fruitapiUpdatePipelineSelfMutation2C85BD41", "Arn", ], }, }, Object { "Action": Array [ "codebuild:BatchGetBuilds", "codebuild:StartBuild", "codebuild:StopBuild", ], "Effect": "Allow", "Resource": Object { "Fn::GetAtt": Array [ "fruitapiAssetsDockerAssetD43255A2", "Arn", ], }, }, Object { "Action": Array [ "codebuild:BatchGetBuilds", "codebuild:StartBuild", "codebuild:StopBuild", ], "Effect": "Allow", "Resource": Object { "Fn::GetAtt": Array [ "fruitapiAssetsFileAssetE1558F89", "Arn", ], }, }, Object { "Action": Array [ "codebuild:BatchGetBuilds", "codebuild:StartBuild", "codebuild:StopBuild", ], "Effect": "Allow", "Resource": Object { "Fn::GetAtt": Array [ "fruitapiPipelineBetauswest2E2ETestE2ETest3CB062CC", "Arn", ], }, }, Object { "Action": Array [ "codebuild:BatchGetBuilds", "codebuild:StartBuild", "codebuild:StopBuild", ], "Effect": "Allow", "Resource": Object { "Fn::GetAtt": Array [ "fruitapiPipelineGamma0Gammauswest2PerformanceTestPerformanceTest8C6ACD96", "Arn", ], }, }, Object { "Action": Array [ "codebuild:BatchGetBuilds", "codebuild:StartBuild", "codebuild:StopBuild", ], "Effect": "Allow", "Resource": Object { "Fn::GetAtt": Array [ "fruitapiPipelineGamma0Gammauseast1PerformanceTestPerformanceTestE1E6B155", "Arn", ], }, }, ], "Version": "2012-10-17", }, "PolicyName": "fruitapiCodeBuildActionRoleDefaultPolicy58443F01", "Roles": Array [ Object { "Ref": "fruitapiCodeBuildActionRole9A61A6CE", }, ], }, "Type": "AWS::IAM::Policy", }, "fruitapiPipeline1F033DA2": Object { "DependsOn": Array [ "fruitapiPipelineRoleDefaultPolicyAA4C5A7F", "fruitapiPipelineRoleDFF3438D", ], "Properties": Object { "ArtifactStores": Array [ Object { "ArtifactStore": Object { "EncryptionKey": Object { "Id": Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":kms:us-west-2:dummy:alias/-us-westtencryptionaliase94f7d312d6a60d53e79", ], ], }, "Type": "KMS", }, "Location": "teststack-support-us-westeplicationbucket6c4b3648c465b12ccb3f", "Type": "S3", }, "Region": "us-west-2", }, Object { "ArtifactStore": Object { "EncryptionKey": Object { "Id": Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":kms:eu-central-1:dummy:alias/-eu-centtencryptionalias9af9f3baa6f4d0e08faa", ], ], }, "Type": "KMS", }, "Location": "teststack-support-eu-centeplicationbucket2ea6a5e48d5e28fc8bac", "Type": "S3", }, "Region": "eu-central-1", }, Object { "ArtifactStore": Object { "EncryptionKey": Object { "Id": Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":kms:eu-west-1:dummy:alias/-eu-westtencryptionalias2c129cd6ae48a82d3c41", ], ], }, "Type": "KMS", }, "Location": "teststack-support-eu-westeplicationbucket38f2db97e24f75f47670", "Type": "S3", }, "Region": "eu-west-1", }, Object { "ArtifactStore": Object { "EncryptionKey": Object { "Id": Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":kms:ap-south-1:dummy:alias/-ap-souttencryptionaliasf550e8b9babe0af1f76f", ], ], }, "Type": "KMS", }, "Location": "teststack-support-ap-souteplicationbucket9f37be574b7489dcf907", "Type": "S3", }, "Region": "ap-south-1", }, Object { "ArtifactStore": Object { "EncryptionKey": Object { "Id": Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":kms:ap-southeast-2:dummy:alias/-ap-souttencryptionaliasedbcb5f7a713715f9af6", ], ], }, "Type": "KMS", }, "Location": "teststack-support-ap-souteplicationbucket96d426b15838f27daa81", "Type": "S3", }, "Region": "ap-southeast-2", }, Object { "ArtifactStore": Object { "EncryptionKey": Object { "Id": Object { "Fn::GetAtt": Array [ "fruitapiPipelineArtifactsBucketEncryptionKey9E5E2FC5", "Arn", ], }, "Type": "KMS", }, "Location": Object { "Ref": "fruitapiPipelineArtifactsBucket07B9157E", }, "Type": "S3", }, "Region": "us-east-1", }, ], "Name": "fruit-api", "RestartExecutionOnUpdate": true, "RoleArn": Object { "Fn::GetAtt": Array [ "fruitapiPipelineRoleDFF3438D", "Arn", ], }, "Stages": Array [ Object { "Actions": Array [ Object { "ActionTypeId": Object { "Category": "Source", "Owner": "AWS", "Provider": "CodeCommit", "Version": "1", }, "Configuration": Object { "BranchName": "main", "PollForSourceChanges": false, "RepositoryName": Object { "Fn::GetAtt": Array [ "SourceCodeCommitRepoF7A67B81", "Name", ], }, }, "Name": Object { "Fn::GetAtt": Array [ "SourceCodeCommitRepoF7A67B81", "Name", ], }, "Namespace": "Source@c81247736ebecb146a1d9a5ee9d4686c00c8806055", "OutputArtifacts": Array [ Object { "Name": "c81247736ebecb146a1d9a5ee9d4686c00c8806055_Source", }, ], "RoleArn": Object { "Fn::GetAtt": Array [ "fruitapiPipelineSourceCodeCommitCodePipelineActionRole408E27CC", "Arn", ], }, "RunOrder": 1, }, ], "Name": "Source", }, Object { "Actions": Array [ Object { "ActionTypeId": Object { "Category": "Invoke", "Owner": "AWS", "Provider": "Lambda", "Version": "1", }, "Configuration": Object { "FunctionName": Object { "Ref": "fruitapiPipelineCodeGuruQualityCodeGuruLambdaF7A3E8BE", }, "UserParameters": "{\\"RepositoryName\\":\\"#{Source@c81247736ebecb146a1d9a5ee9d4686c00c8806055.RepositoryName}\\",\\"CommitId\\":\\"#{Source@c81247736ebecb146a1d9a5ee9d4686c00c8806055.CommitId}\\",\\"RecommendationCategories\\":\\"AWSBestPractices,CodeInconsistencies,CodeMaintenanceIssues,DuplicateCode,InputValidations,ConcurrencyIssues,ResourceLeaks,JavaBestPractices,PythonBestPractices\\",\\"MaxSuppressedLinesOfCodeCount\\":\\"0\\",\\"MaxCriticalRecommendations\\":\\"0\\",\\"MaxHighRecommendations\\":\\"0\\",\\"MaxInfoRecommendations\\":\\"0\\",\\"MaxMediumRecommendations\\":\\"0\\",\\"MaxLowRecommendations\\":\\"0\\",\\"ReviewRequired\\":\\"false\\"}", }, "InputArtifacts": Array [ Object { "Name": "c81247736ebecb146a1d9a5ee9d4686c00c8806055_Source", }, ], "Name": "CodeGuruQuality", "RoleArn": Object { "Fn::GetAtt": Array [ "fruitapiPipelineBuildCodeGuruQualityCodePipelineActionRole578506C4", "Arn", ], }, "RunOrder": 1, }, Object { "ActionTypeId": Object { "Category": "Invoke", "Owner": "AWS", "Provider": "Lambda", "Version": "1", }, "Configuration": Object { "FunctionName": Object { "Ref": "fruitapiPipelineCodeGuruSecurityCodeGuruLambda095BEB71", }, "UserParameters": "{\\"RepositoryName\\":\\"#{Source@c81247736ebecb146a1d9a5ee9d4686c00c8806055.RepositoryName}\\",\\"CommitId\\":\\"#{Source@c81247736ebecb146a1d9a5ee9d4686c00c8806055.CommitId}\\",\\"RecommendationCategories\\":\\"SecurityIssues\\",\\"MaxSuppressedLinesOfCodeCount\\":\\"0\\",\\"MaxCriticalRecommendations\\":\\"0\\",\\"MaxHighRecommendations\\":\\"0\\",\\"MaxInfoRecommendations\\":\\"0\\",\\"MaxMediumRecommendations\\":\\"0\\",\\"MaxLowRecommendations\\":\\"0\\",\\"ReviewRequired\\":\\"false\\"}", }, "InputArtifacts": Array [ Object { "Name": "c81247736ebecb146a1d9a5ee9d4686c00c8806055_Source", }, ], "Name": "CodeGuruSecurity", "RoleArn": Object { "Fn::GetAtt": Array [ "fruitapiPipelineBuildCodeGuruSecurityCodePipelineActionRole29AC9D5B", "Arn", ], }, "RunOrder": 1, }, Object { "ActionTypeId": Object { "Category": "Build", "Owner": "AWS", "Provider": "CodeBuild", "Version": "1", }, "Configuration": Object { "EnvironmentVariables": "[{\\"name\\":\\"_PROJECT_CONFIG_HASH\\",\\"type\\":\\"PLAINTEXT\\",\\"value\\":\\"50a5eb7d9ad0d7a50bfb476ff5224c01d9373cf9e30adbf4f6490bbdf4894e0e\\"}]", "ProjectName": Object { "Ref": "fruitapiPipelineBuildTrivyScan7159420B", }, }, "InputArtifacts": Array [ Object { "Name": "c81247736ebecb146a1d9a5ee9d4686c00c8806055_Source", }, ], "Name": "TrivyScan", "OutputArtifacts": Array [ Object { "Name": "TrivyScan_Output", }, ], "RoleArn": Object { "Fn::GetAtt": Array [ "fruitapiCodeBuildActionRole9A61A6CE", "Arn", ], }, "RunOrder": 1, }, Object { "ActionTypeId": Object { "Category": "Build", "Owner": "AWS", "Provider": "CodeBuild", "Version": "1", }, "Configuration": Object { "EnvironmentVariables": "[{\\"name\\":\\"_PROJECT_CONFIG_HASH\\",\\"type\\":\\"PLAINTEXT\\",\\"value\\":\\"35a67d5920cf485154569aa37698b7162671b22bcbf2b1d78935c162b42de7a2\\"}]", "ProjectName": Object { "Ref": "fruitapiPipelineBuild1CEF8E13", }, }, "InputArtifacts": Array [ Object { "Name": "c81247736ebecb146a1d9a5ee9d4686c00c8806055_Source", }, ], "Name": "Build", "OutputArtifacts": Array [ Object { "Name": "Build_Output", }, ], "RoleArn": Object { "Fn::GetAtt": Array [ "fruitapiCodeBuildActionRole9A61A6CE", "Arn", ], }, "RunOrder": 2, }, Object { "ActionTypeId": Object { "Category": "Build", "Owner": "AWS", "Provider": "CodeBuild", "Version": "1", }, "Configuration": Object { "EnvironmentVariables": "[{\\"name\\":\\"_PROJECT_CONFIG_HASH\\",\\"type\\":\\"PLAINTEXT\\",\\"value\\":\\"257b619bfd66bed361fc2c779afa4d7043092ea89bb03baca93c4686fe403f5d\\"}]", "ProjectName": Object { "Ref": "fruitapiPipelineBuildSynthCdkBuildProjectB2FD2528", }, }, "InputArtifacts": Array [ Object { "Name": "Build_Output", }, ], "Name": "Synth", "OutputArtifacts": Array [ Object { "Name": "Synth_Output", }, ], "RoleArn": Object { "Fn::GetAtt": Array [ "fruitapiCodeBuildActionRole9A61A6CE", "Arn", ], }, "RunOrder": 3, }, ], "Name": "Build", }, Object { "Actions": Array [ Object { "ActionTypeId": Object { "Category": "Build", "Owner": "AWS", "Provider": "CodeBuild", "Version": "1", }, "Configuration": Object { "EnvironmentVariables": "[{\\"name\\":\\"_PROJECT_CONFIG_HASH\\",\\"type\\":\\"PLAINTEXT\\",\\"value\\":\\"95a8e1287e596cb484b4933d87728e035dc17a374a83850fdd2e1678a7c4691a\\"}]", "ProjectName": Object { "Ref": "fruitapiUpdatePipelineSelfMutation2C85BD41", }, }, "InputArtifacts": Array [ Object { "Name": "Synth_Output", }, ], "Name": "SelfMutate", "RoleArn": Object { "Fn::GetAtt": Array [ "fruitapiCodeBuildActionRole9A61A6CE", "Arn", ], }, "RunOrder": 1, }, ], "Name": "UpdatePipeline", }, Object { "Actions": Array [ Object { "ActionTypeId": Object { "Category": "Build", "Owner": "AWS", "Provider": "CodeBuild", "Version": "1", }, "Configuration": Object { "ProjectName": Object { "Ref": "fruitapiAssetsDockerAssetD43255A2", }, }, "InputArtifacts": Array [ Object { "Name": "Synth_Output", }, ], "Name": "DockerAsset", "RoleArn": Object { "Fn::GetAtt": Array [ "fruitapiCodeBuildActionRole9A61A6CE", "Arn", ], }, "RunOrder": 1, }, Object { "ActionTypeId": Object { "Category": "Build", "Owner": "AWS", "Provider": "CodeBuild", "Version": "1", }, "Configuration": Object { "ProjectName": Object { "Ref": "fruitapiAssetsFileAssetE1558F89", }, }, "InputArtifacts": Array [ Object { "Name": "Synth_Output", }, ], "Name": "FileAsset", "RoleArn": Object { "Fn::GetAtt": Array [ "fruitapiCodeBuildActionRole9A61A6CE", "Arn", ], }, "RunOrder": 1, }, ], "Name": "Assets", }, Object { "Actions": Array [ Object { "ActionTypeId": Object { "Category": "Deploy", "Owner": "AWS", "Provider": "CloudFormation", "Version": "1", }, "Configuration": Object { "ActionMode": "CHANGE_SET_REPLACE", "Capabilities": "CAPABILITY_NAMED_IAM,CAPABILITY_AUTO_EXPAND", "ChangeSetName": "PipelineChange", "RoleArn": Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":iam::000000000000:role/cdk-hnb659fds-cfn-exec-role-000000000000-us-west-2", ], ], }, "StackName": "Beta-us-west-2-fruit-api", "TemplateConfiguration": "Synth_Output::assembly-TestStack-fruit-api-Beta-us-west-2/TestStackfruitapiBetauswest2fruitapiE54C0B51.template.json.config.json", "TemplatePath": "Synth_Output::assembly-TestStack-fruit-api-Beta-us-west-2/TestStackfruitapiBetauswest2fruitapiE54C0B51.template.json", }, "InputArtifacts": Array [ Object { "Name": "Synth_Output", }, ], "Name": "fruit-api.Prepare", "Region": "us-west-2", "RoleArn": Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":iam::000000000000:role/cdk-hnb659fds-deploy-role-000000000000-us-west-2", ], ], }, "RunOrder": 1, }, Object { "ActionTypeId": Object { "Category": "Deploy", "Owner": "AWS", "Provider": "CloudFormation", "Version": "1", }, "Configuration": Object { "ActionMode": "CHANGE_SET_EXECUTE", "ChangeSetName": "PipelineChange", "StackName": "Beta-us-west-2-fruit-api", }, "Name": "fruit-api.Deploy", "Namespace": "TestStackfruitapiBetauswest2fruitapiE54C0B51", "Region": "us-west-2", "RoleArn": Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":iam::000000000000:role/cdk-hnb659fds-deploy-role-000000000000-us-west-2", ], ], }, "RunOrder": 2, }, Object { "ActionTypeId": Object { "Category": "Build", "Owner": "AWS", "Provider": "CodeBuild", "Version": "1", }, "Configuration": Object { "EnvironmentVariables": "[{\\"name\\":\\"ENDPOINT\\",\\"type\\":\\"PLAINTEXT\\",\\"value\\":\\"#{TestStackfruitapiBetauswest2fruitapiE54C0B51.endpointUrl}\\"}]", "ProjectName": Object { "Ref": "fruitapiPipelineBetauswest2E2ETestE2ETest3CB062CC", }, }, "InputArtifacts": Array [ Object { "Name": "c81247736ebecb146a1d9a5ee9d4686c00c8806055_Source", }, ], "Name": "E2E_Test", "RoleArn": Object { "Fn::GetAtt": Array [ "fruitapiCodeBuildActionRole9A61A6CE", "Arn", ], }, "RunOrder": 3, }, ], "Name": "Beta-us-west-2", }, Object { "Actions": Array [ Object { "ActionTypeId": Object { "Category": "Deploy", "Owner": "AWS", "Provider": "CloudFormation", "Version": "1", }, "Configuration": Object { "ActionMode": "CHANGE_SET_REPLACE", "Capabilities": "CAPABILITY_NAMED_IAM,CAPABILITY_AUTO_EXPAND", "ChangeSetName": "PipelineChange", "RoleArn": Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":iam::000000000000:role/cdk-hnb659fds-cfn-exec-role-000000000000-us-west-2", ], ], }, "StackName": "Gamma-us-west-2-fruit-api", "TemplateConfiguration": "Synth_Output::assembly-TestStack-fruit-api-Gamma-us-west-2/TestStackfruitapiGammauswest2fruitapi6ACE9A1B.template.json.config.json", "TemplatePath": "Synth_Output::assembly-TestStack-fruit-api-Gamma-us-west-2/TestStackfruitapiGammauswest2fruitapi6ACE9A1B.template.json", }, "InputArtifacts": Array [ Object { "Name": "Synth_Output", }, ], "Name": "Gamma-us-west-2.fruit-api.Prepare", "Region": "us-west-2", "RoleArn": Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":iam::000000000000:role/cdk-hnb659fds-deploy-role-000000000000-us-west-2", ], ], }, "RunOrder": 1, }, Object { "ActionTypeId": Object { "Category": "Deploy", "Owner": "AWS", "Provider": "CloudFormation", "Version": "1", }, "Configuration": Object { "ActionMode": "CHANGE_SET_REPLACE", "Capabilities": "CAPABILITY_NAMED_IAM,CAPABILITY_AUTO_EXPAND", "ChangeSetName": "PipelineChange", "RoleArn": Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":iam::000000000000:role/cdk-hnb659fds-cfn-exec-role-000000000000-us-east-1", ], ], }, "StackName": "Gamma-us-east-1-fruit-api", "TemplateConfiguration": "Synth_Output::assembly-TestStack-fruit-api-Gamma-us-east-1/TestStackfruitapiGammauseast1fruitapi8F799F28.template.json.config.json", "TemplatePath": "Synth_Output::assembly-TestStack-fruit-api-Gamma-us-east-1/TestStackfruitapiGammauseast1fruitapi8F799F28.template.json", }, "InputArtifacts": Array [ Object { "Name": "Synth_Output", }, ], "Name": "Gamma-us-east-1.fruit-api.Prepare", "RoleArn": Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":iam::000000000000:role/cdk-hnb659fds-deploy-role-000000000000-us-east-1", ], ], }, "RunOrder": 1, }, Object { "ActionTypeId": Object { "Category": "Deploy", "Owner": "AWS", "Provider": "CloudFormation", "Version": "1", }, "Configuration": Object { "ActionMode": "CHANGE_SET_EXECUTE", "ChangeSetName": "PipelineChange", "StackName": "Gamma-us-west-2-fruit-api", }, "Name": "Gamma-us-west-2.fruit-api.Deploy", "Namespace": "TestStackfruitapiGammauswest2fruitapi6ACE9A1B", "Region": "us-west-2", "RoleArn": Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":iam::000000000000:role/cdk-hnb659fds-deploy-role-000000000000-us-west-2", ], ], }, "RunOrder": 2, }, Object { "ActionTypeId": Object { "Category": "Deploy", "Owner": "AWS", "Provider": "CloudFormation", "Version": "1", }, "Configuration": Object { "ActionMode": "CHANGE_SET_EXECUTE", "ChangeSetName": "PipelineChange", "StackName": "Gamma-us-east-1-fruit-api", }, "Name": "Gamma-us-east-1.fruit-api.Deploy", "Namespace": "TestStackfruitapiGammauseast1fruitapi8F799F28", "RoleArn": Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":iam::000000000000:role/cdk-hnb659fds-deploy-role-000000000000-us-east-1", ], ], }, "RunOrder": 2, }, Object { "ActionTypeId": Object { "Category": "Build", "Owner": "AWS", "Provider": "CodeBuild", "Version": "1", }, "Configuration": Object { "EnvironmentVariables": "[{\\"name\\":\\"ENDPOINT\\",\\"type\\":\\"PLAINTEXT\\",\\"value\\":\\"#{TestStackfruitapiGammauswest2fruitapi6ACE9A1B.endpointUrl}\\"}]", "ProjectName": Object { "Ref": "fruitapiPipelineGamma0Gammauswest2PerformanceTestPerformanceTest8C6ACD96", }, }, "InputArtifacts": Array [ Object { "Name": "c81247736ebecb146a1d9a5ee9d4686c00c8806055_Source", }, ], "Name": "Gamma-us-west-2.Performance_Test", "RoleArn": Object { "Fn::GetAtt": Array [ "fruitapiCodeBuildActionRole9A61A6CE", "Arn", ], }, "RunOrder": 3, }, Object { "ActionTypeId": Object { "Category": "Build", "Owner": "AWS", "Provider": "CodeBuild", "Version": "1", }, "Configuration": Object { "EnvironmentVariables": "[{\\"name\\":\\"ENDPOINT\\",\\"type\\":\\"PLAINTEXT\\",\\"value\\":\\"#{TestStackfruitapiGammauseast1fruitapi8F799F28.endpointUrl}\\"}]", "ProjectName": Object { "Ref": "fruitapiPipelineGamma0Gammauseast1PerformanceTestPerformanceTestE1E6B155", }, }, "InputArtifacts": Array [ Object { "Name": "c81247736ebecb146a1d9a5ee9d4686c00c8806055_Source", }, ], "Name": "Gamma-us-east-1.Performance_Test", "RoleArn": Object { "Fn::GetAtt": Array [ "fruitapiCodeBuildActionRole9A61A6CE", "Arn", ], }, "RunOrder": 3, }, Object { "ActionTypeId": Object { "Category": "Approval", "Owner": "AWS", "Provider": "Manual", "Version": "1", }, "Name": "PromoteToProd", "RoleArn": Object { "Fn::GetAtt": Array [ "fruitapiPipelineGamma0PromoteToProdCodePipelineActionRoleC0594F5B", "Arn", ], }, "RunOrder": 4, }, ], "Name": "Gamma-0", }, Object { "Actions": Array [ Object { "ActionTypeId": Object { "Category": "Deploy", "Owner": "AWS", "Provider": "CloudFormation", "Version": "1", }, "Configuration": Object { "ActionMode": "CHANGE_SET_REPLACE", "Capabilities": "CAPABILITY_NAMED_IAM,CAPABILITY_AUTO_EXPAND", "ChangeSetName": "PipelineChange", "RoleArn": Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":iam::000000000000:role/cdk-hnb659fds-cfn-exec-role-000000000000-us-west-2", ], ], }, "StackName": "Prod-us-west-2-fruit-api", "TemplateConfiguration": "Synth_Output::assembly-TestStack-fruit-api-Prod-us-west-2/TestStackfruitapiProduswest2fruitapiDDA9C7BF.template.json.config.json", "TemplatePath": "Synth_Output::assembly-TestStack-fruit-api-Prod-us-west-2/TestStackfruitapiProduswest2fruitapiDDA9C7BF.template.json", }, "InputArtifacts": Array [ Object { "Name": "Synth_Output", }, ], "Name": "Prod-us-west-2.fruit-api.Prepare", "Region": "us-west-2", "RoleArn": Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":iam::000000000000:role/cdk-hnb659fds-deploy-role-000000000000-us-west-2", ], ], }, "RunOrder": 1, }, Object { "ActionTypeId": Object { "Category": "Deploy", "Owner": "AWS", "Provider": "CloudFormation", "Version": "1", }, "Configuration": Object { "ActionMode": "CHANGE_SET_REPLACE", "Capabilities": "CAPABILITY_NAMED_IAM,CAPABILITY_AUTO_EXPAND", "ChangeSetName": "PipelineChange", "RoleArn": Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":iam::000000000000:role/cdk-hnb659fds-cfn-exec-role-000000000000-us-east-1", ], ], }, "StackName": "Prod-us-east-1-fruit-api", "TemplateConfiguration": "Synth_Output::assembly-TestStack-fruit-api-Prod-us-east-1/TestStackfruitapiProduseast1fruitapiC0C2CDB3.template.json.config.json", "TemplatePath": "Synth_Output::assembly-TestStack-fruit-api-Prod-us-east-1/TestStackfruitapiProduseast1fruitapiC0C2CDB3.template.json", }, "InputArtifacts": Array [ Object { "Name": "Synth_Output", }, ], "Name": "Prod-us-east-1.fruit-api.Prepare", "RoleArn": Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":iam::000000000000:role/cdk-hnb659fds-deploy-role-000000000000-us-east-1", ], ], }, "RunOrder": 1, }, Object { "ActionTypeId": Object { "Category": "Deploy", "Owner": "AWS", "Provider": "CloudFormation", "Version": "1", }, "Configuration": Object { "ActionMode": "CHANGE_SET_EXECUTE", "ChangeSetName": "PipelineChange", "StackName": "Prod-us-west-2-fruit-api", }, "Name": "Prod-us-west-2.fruit-api.Deploy", "Region": "us-west-2", "RoleArn": Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":iam::000000000000:role/cdk-hnb659fds-deploy-role-000000000000-us-west-2", ], ], }, "RunOrder": 2, }, Object { "ActionTypeId": Object { "Category": "Deploy", "Owner": "AWS", "Provider": "CloudFormation", "Version": "1", }, "Configuration": Object { "ActionMode": "CHANGE_SET_EXECUTE", "ChangeSetName": "PipelineChange", "StackName": "Prod-us-east-1-fruit-api", }, "Name": "Prod-us-east-1.fruit-api.Deploy", "RoleArn": Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":iam::000000000000:role/cdk-hnb659fds-deploy-role-000000000000-us-east-1", ], ], }, "RunOrder": 2, }, ], "Name": "Prod-0", }, Object { "Actions": Array [ Object { "ActionTypeId": Object { "Category": "Deploy", "Owner": "AWS", "Provider": "CloudFormation", "Version": "1", }, "Configuration": Object { "ActionMode": "CHANGE_SET_REPLACE", "Capabilities": "CAPABILITY_NAMED_IAM,CAPABILITY_AUTO_EXPAND", "ChangeSetName": "PipelineChange", "RoleArn": Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":iam::000000000000:role/cdk-hnb659fds-cfn-exec-role-000000000000-eu-central-1", ], ], }, "StackName": "Prod-eu-central-1-fruit-api", "TemplateConfiguration": "Synth_Output::assembly-TestStack-fruit-api-Prod-eu-central-1/TestStackfruitapiProdeucentral1fruitapi5AF03006.template.json.config.json", "TemplatePath": "Synth_Output::assembly-TestStack-fruit-api-Prod-eu-central-1/TestStackfruitapiProdeucentral1fruitapi5AF03006.template.json", }, "InputArtifacts": Array [ Object { "Name": "Synth_Output", }, ], "Name": "Prod-eu-central-1.fruit-api.Prepare", "Region": "eu-central-1", "RoleArn": Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":iam::000000000000:role/cdk-hnb659fds-deploy-role-000000000000-eu-central-1", ], ], }, "RunOrder": 1, }, Object { "ActionTypeId": Object { "Category": "Deploy", "Owner": "AWS", "Provider": "CloudFormation", "Version": "1", }, "Configuration": Object { "ActionMode": "CHANGE_SET_REPLACE", "Capabilities": "CAPABILITY_NAMED_IAM,CAPABILITY_AUTO_EXPAND", "ChangeSetName": "PipelineChange", "RoleArn": Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":iam::000000000000:role/cdk-hnb659fds-cfn-exec-role-000000000000-eu-west-1", ], ], }, "StackName": "Prod-eu-west-1-fruit-api", "TemplateConfiguration": "Synth_Output::assembly-TestStack-fruit-api-Prod-eu-west-1/TestStackfruitapiProdeuwest1fruitapiC737DFE7.template.json.config.json", "TemplatePath": "Synth_Output::assembly-TestStack-fruit-api-Prod-eu-west-1/TestStackfruitapiProdeuwest1fruitapiC737DFE7.template.json", }, "InputArtifacts": Array [ Object { "Name": "Synth_Output", }, ], "Name": "Prod-eu-west-1.fruit-api.Prepare", "Region": "eu-west-1", "RoleArn": Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":iam::000000000000:role/cdk-hnb659fds-deploy-role-000000000000-eu-west-1", ], ], }, "RunOrder": 1, }, Object { "ActionTypeId": Object { "Category": "Deploy", "Owner": "AWS", "Provider": "CloudFormation", "Version": "1", }, "Configuration": Object { "ActionMode": "CHANGE_SET_EXECUTE", "ChangeSetName": "PipelineChange", "StackName": "Prod-eu-central-1-fruit-api", }, "Name": "Prod-eu-central-1.fruit-api.Deploy", "Region": "eu-central-1", "RoleArn": Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":iam::000000000000:role/cdk-hnb659fds-deploy-role-000000000000-eu-central-1", ], ], }, "RunOrder": 2, }, Object { "ActionTypeId": Object { "Category": "Deploy", "Owner": "AWS", "Provider": "CloudFormation", "Version": "1", }, "Configuration": Object { "ActionMode": "CHANGE_SET_EXECUTE", "ChangeSetName": "PipelineChange", "StackName": "Prod-eu-west-1-fruit-api", }, "Name": "Prod-eu-west-1.fruit-api.Deploy", "Region": "eu-west-1", "RoleArn": Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":iam::000000000000:role/cdk-hnb659fds-deploy-role-000000000000-eu-west-1", ], ], }, "RunOrder": 2, }, ], "Name": "Prod-1", }, Object { "Actions": Array [ Object { "ActionTypeId": Object { "Category": "Deploy", "Owner": "AWS", "Provider": "CloudFormation", "Version": "1", }, "Configuration": Object { "ActionMode": "CHANGE_SET_REPLACE", "Capabilities": "CAPABILITY_NAMED_IAM,CAPABILITY_AUTO_EXPAND", "ChangeSetName": "PipelineChange", "RoleArn": Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":iam::000000000000:role/cdk-hnb659fds-cfn-exec-role-000000000000-ap-south-1", ], ], }, "StackName": "Prod-ap-south-1-fruit-api", "TemplateConfiguration": "Synth_Output::assembly-TestStack-fruit-api-Prod-ap-south-1/TestStackfruitapiProdapsouth1fruitapi9D505BC6.template.json.config.json", "TemplatePath": "Synth_Output::assembly-TestStack-fruit-api-Prod-ap-south-1/TestStackfruitapiProdapsouth1fruitapi9D505BC6.template.json", }, "InputArtifacts": Array [ Object { "Name": "Synth_Output", }, ], "Name": "Prod-ap-south-1.fruit-api.Prepare", "Region": "ap-south-1", "RoleArn": Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":iam::000000000000:role/cdk-hnb659fds-deploy-role-000000000000-ap-south-1", ], ], }, "RunOrder": 1, }, Object { "ActionTypeId": Object { "Category": "Deploy", "Owner": "AWS", "Provider": "CloudFormation", "Version": "1", }, "Configuration": Object { "ActionMode": "CHANGE_SET_REPLACE", "Capabilities": "CAPABILITY_NAMED_IAM,CAPABILITY_AUTO_EXPAND", "ChangeSetName": "PipelineChange", "RoleArn": Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":iam::000000000000:role/cdk-hnb659fds-cfn-exec-role-000000000000-ap-southeast-2", ], ], }, "StackName": "Prod-ap-southeast-2-fruit-api", "TemplateConfiguration": "Synth_Output::assembly-TestStack-fruit-api-Prod-ap-southeast-2/TestStackfruitapiProdapsoutheast2fruitapi923CF575.template.json.config.json", "TemplatePath": "Synth_Output::assembly-TestStack-fruit-api-Prod-ap-southeast-2/TestStackfruitapiProdapsoutheast2fruitapi923CF575.template.json", }, "InputArtifacts": Array [ Object { "Name": "Synth_Output", }, ], "Name": "Prod-ap-southeast-2.fruit-api.Prepare", "Region": "ap-southeast-2", "RoleArn": Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":iam::000000000000:role/cdk-hnb659fds-deploy-role-000000000000-ap-southeast-2", ], ], }, "RunOrder": 1, }, Object { "ActionTypeId": Object { "Category": "Deploy", "Owner": "AWS", "Provider": "CloudFormation", "Version": "1", }, "Configuration": Object { "ActionMode": "CHANGE_SET_EXECUTE", "ChangeSetName": "PipelineChange", "StackName": "Prod-ap-south-1-fruit-api", }, "Name": "Prod-ap-south-1.fruit-api.Deploy", "Region": "ap-south-1", "RoleArn": Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":iam::000000000000:role/cdk-hnb659fds-deploy-role-000000000000-ap-south-1", ], ], }, "RunOrder": 2, }, Object { "ActionTypeId": Object { "Category": "Deploy", "Owner": "AWS", "Provider": "CloudFormation", "Version": "1", }, "Configuration": Object { "ActionMode": "CHANGE_SET_EXECUTE", "ChangeSetName": "PipelineChange", "StackName": "Prod-ap-southeast-2-fruit-api", }, "Name": "Prod-ap-southeast-2.fruit-api.Deploy", "Region": "ap-southeast-2", "RoleArn": Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":iam::000000000000:role/cdk-hnb659fds-deploy-role-000000000000-ap-southeast-2", ], ], }, "RunOrder": 2, }, ], "Name": "Prod-2", }, ], }, "Type": "AWS::CodePipeline::Pipeline", }, "fruitapiPipelineArtifactsBucket07B9157E": Object { "DeletionPolicy": "Retain", "Properties": Object { "BucketEncryption": Object { "ServerSideEncryptionConfiguration": Array [ Object { "ServerSideEncryptionByDefault": Object { "KMSMasterKeyID": Object { "Fn::GetAtt": Array [ "fruitapiPipelineArtifactsBucketEncryptionKey9E5E2FC5", "Arn", ], }, "SSEAlgorithm": "aws:kms", }, }, ], }, "PublicAccessBlockConfiguration": Object { "BlockPublicAcls": true, "BlockPublicPolicy": true, "IgnorePublicAcls": true, "RestrictPublicBuckets": true, }, }, "Type": "AWS::S3::Bucket", "UpdateReplacePolicy": "Retain", }, "fruitapiPipelineArtifactsBucketEncryptionKey9E5E2FC5": Object { "DeletionPolicy": "Delete", "Properties": Object { "KeyPolicy": Object { "Statement": Array [ Object { "Action": "kms:*", "Effect": "Allow", "Principal": Object { "AWS": Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":iam::dummy:root", ], ], }, }, "Resource": "*", }, Object { "Action": Array [ "kms:Decrypt", "kms:DescribeKey", ], "Effect": "Allow", "Principal": Object { "AWS": Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":iam::000000000000:role/cdk-hnb659fds-deploy-role-000000000000-us-east-1", ], ], }, }, "Resource": "*", }, Object { "Action": Array [ "kms:Decrypt", "kms:DescribeKey", ], "Effect": "Allow", "Principal": Object { "AWS": Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":iam::000000000000:role/cdk-hnb659fds-deploy-role-000000000000-us-east-1", ], ], }, }, "Resource": "*", }, ], "Version": "2012-10-17", }, }, "Type": "AWS::KMS::Key", "UpdateReplacePolicy": "Delete", }, "fruitapiPipelineArtifactsBucketEncryptionKeyAlias323A80C8": Object { "DeletionPolicy": "Delete", "Properties": Object { "AliasName": "alias/codepipeline-teststackfruitapipipeline54c9b885", "TargetKeyId": Object { "Fn::GetAtt": Array [ "fruitapiPipelineArtifactsBucketEncryptionKey9E5E2FC5", "Arn", ], }, }, "Type": "AWS::KMS::Alias", "UpdateReplacePolicy": "Delete", }, "fruitapiPipelineArtifactsBucketPolicyE8E8DABA": Object { "Properties": Object { "Bucket": Object { "Ref": "fruitapiPipelineArtifactsBucket07B9157E", }, "PolicyDocument": Object { "Statement": Array [ Object { "Action": "s3:*", "Condition": Object { "Bool": Object { "aws:SecureTransport": "false", }, }, "Effect": "Deny", "Principal": Object { "AWS": "*", }, "Resource": Array [ Object { "Fn::GetAtt": Array [ "fruitapiPipelineArtifactsBucket07B9157E", "Arn", ], }, Object { "Fn::Join": Array [ "", Array [ Object { "Fn::GetAtt": Array [ "fruitapiPipelineArtifactsBucket07B9157E", "Arn", ], }, "/*", ], ], }, ], }, Object { "Action": Array [ "s3:GetObject*", "s3:GetBucket*", "s3:List*", ], "Effect": "Allow", "Principal": Object { "AWS": Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":iam::000000000000:role/cdk-hnb659fds-deploy-role-000000000000-us-east-1", ], ], }, }, "Resource": Array [ Object { "Fn::GetAtt": Array [ "fruitapiPipelineArtifactsBucket07B9157E", "Arn", ], }, Object { "Fn::Join": Array [ "", Array [ Object { "Fn::GetAtt": Array [ "fruitapiPipelineArtifactsBucket07B9157E", "Arn", ], }, "/*", ], ], }, ], }, Object { "Action": Array [ "s3:GetObject*", "s3:GetBucket*", "s3:List*", ], "Effect": "Allow", "Principal": Object { "AWS": Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":iam::000000000000:role/cdk-hnb659fds-deploy-role-000000000000-us-east-1", ], ], }, }, "Resource": Array [ Object { "Fn::GetAtt": Array [ "fruitapiPipelineArtifactsBucket07B9157E", "Arn", ], }, Object { "Fn::Join": Array [ "", Array [ Object { "Fn::GetAtt": Array [ "fruitapiPipelineArtifactsBucket07B9157E", "Arn", ], }, "/*", ], ], }, ], }, ], "Version": "2012-10-17", }, }, "Type": "AWS::S3::BucketPolicy", }, "fruitapiPipelineBetauswest2E2ETestE2ETest3CB062CC": Object { "Properties": Object { "Artifacts": Object { "Type": "CODEPIPELINE", }, "Cache": Object { "Location": Object { "Fn::Join": Array [ "/", Array [ Object { "Ref": "CacheBucket41D9D0B0", }, Object { "Ref": "AWS::NoValue", }, ], ], }, "Type": "S3", }, "Description": "Pipeline step TestStack/Pipeline/Beta-us-west-2/E2E_Test", "EncryptionKey": Object { "Fn::GetAtt": Array [ "fruitapiPipelineArtifactsBucketEncryptionKey9E5E2FC5", "Arn", ], }, "Environment": Object { "ComputeType": "BUILD_GENERAL1_SMALL", "Image": "aws/codebuild/standard:6.0", "ImagePullCredentialsType": "CODEBUILD", "PrivilegedMode": false, "Type": "LINUX_CONTAINER", }, "ServiceRole": Object { "Fn::GetAtt": Array [ "fruitapiPipelineBetauswest2E2ETestE2ETestRoleE3E5233A", "Arn", ], }, "Source": Object { "BuildSpec": "{ \\"env\\": { \\"variables\\": { \\"MAVEN_OPTS\\": \\"-XX:+TieredCompilation -XX:TieredStopAtLevel=1\\", \\"MAVEN_ARGS\\": \\"--batch-mode --no-transfer-progress\\" } }, \\"phases\\": { \\"install\\": { \\"runtime-versions\\": { \\"java\\": \\"corretto17\\" } }, \\"build\\": { \\"commands\\": [ \\"mvn \${MAVEN_ARGS} soapui:test -Dsoapui.endpoint=\${ENDPOINT}\\" ] } }, \\"cache\\": { \\"paths\\": [ \\"/root/.m2/**/*\\" ] }, \\"reports\\": { \\"e2e\\": { \\"files\\": [ \\"target/soapui-reports/*.xml\\" ], \\"file-format\\": \\"JUNITXML\\" } }, \\"version\\": \\"0.2\\" }", "Type": "CODEPIPELINE", }, }, "Type": "AWS::CodeBuild::Project", }, "fruitapiPipelineBetauswest2E2ETestE2ETestRoleDefaultPolicy1692C561": Object { "Properties": Object { "PolicyDocument": Object { "Statement": Array [ Object { "Action": Array [ "s3:GetObject*", "s3:GetBucket*", "s3:List*", "s3:DeleteObject*", "s3:PutObject", "s3:PutObjectLegalHold", "s3:PutObjectRetention", "s3:PutObjectTagging", "s3:PutObjectVersionTagging", "s3:Abort*", ], "Effect": "Allow", "Resource": Array [ Object { "Fn::GetAtt": Array [ "CacheBucket41D9D0B0", "Arn", ], }, Object { "Fn::Join": Array [ "", Array [ Object { "Fn::GetAtt": Array [ "CacheBucket41D9D0B0", "Arn", ], }, "/*", ], ], }, ], }, Object { "Action": Array [ "logs:CreateLogGroup", "logs:CreateLogStream", "logs:PutLogEvents", ], "Effect": "Allow", "Resource": Array [ Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":logs:us-east-1:dummy:log-group:/aws/codebuild/", Object { "Ref": "fruitapiPipelineBetauswest2E2ETestE2ETest3CB062CC", }, ], ], }, Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":logs:us-east-1:dummy:log-group:/aws/codebuild/", Object { "Ref": "fruitapiPipelineBetauswest2E2ETestE2ETest3CB062CC", }, ":*", ], ], }, ], }, Object { "Action": Array [ "codebuild:CreateReportGroup", "codebuild:CreateReport", "codebuild:UpdateReport", "codebuild:BatchPutTestCases", "codebuild:BatchPutCodeCoverages", ], "Effect": "Allow", "Resource": Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":codebuild:us-east-1:dummy:report-group/", Object { "Ref": "fruitapiPipelineBetauswest2E2ETestE2ETest3CB062CC", }, "-*", ], ], }, }, Object { "Action": Array [ "s3:GetObject*", "s3:GetBucket*", "s3:List*", ], "Effect": "Allow", "Resource": Array [ Object { "Fn::GetAtt": Array [ "fruitapiPipelineArtifactsBucket07B9157E", "Arn", ], }, Object { "Fn::Join": Array [ "", Array [ Object { "Fn::GetAtt": Array [ "fruitapiPipelineArtifactsBucket07B9157E", "Arn", ], }, "/*", ], ], }, ], }, Object { "Action": Array [ "kms:Decrypt", "kms:DescribeKey", ], "Effect": "Allow", "Resource": Object { "Fn::GetAtt": Array [ "fruitapiPipelineArtifactsBucketEncryptionKey9E5E2FC5", "Arn", ], }, }, Object { "Action": Array [ "kms:Decrypt", "kms:Encrypt", "kms:ReEncrypt*", "kms:GenerateDataKey*", ], "Effect": "Allow", "Resource": Object { "Fn::GetAtt": Array [ "fruitapiPipelineArtifactsBucketEncryptionKey9E5E2FC5", "Arn", ], }, }, ], "Version": "2012-10-17", }, "PolicyName": "fruitapiPipelineBetauswest2E2ETestE2ETestRoleDefaultPolicy1692C561", "Roles": Array [ Object { "Ref": "fruitapiPipelineBetauswest2E2ETestE2ETestRoleE3E5233A", }, ], }, "Type": "AWS::IAM::Policy", }, "fruitapiPipelineBetauswest2E2ETestE2ETestRoleE3E5233A": Object { "Properties": Object { "AssumeRolePolicyDocument": Object { "Statement": Array [ Object { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": Object { "Service": "codebuild.amazonaws.com", }, }, ], "Version": "2012-10-17", }, }, "Type": "AWS::IAM::Role", }, "fruitapiPipelineBuild1CEF8E13": Object { "Properties": Object { "Artifacts": Object { "Type": "CODEPIPELINE", }, "Cache": Object { "Location": Object { "Fn::Join": Array [ "/", Array [ Object { "Ref": "CacheBucket41D9D0B0", }, Object { "Ref": "AWS::NoValue", }, ], ], }, "Type": "S3", }, "Description": "Pipeline step TestStack/Pipeline/Build/Build", "EncryptionKey": Object { "Fn::GetAtt": Array [ "fruitapiPipelineArtifactsBucketEncryptionKey9E5E2FC5", "Arn", ], }, "Environment": Object { "ComputeType": "BUILD_GENERAL1_SMALL", "Image": "aws/codebuild/standard:6.0", "ImagePullCredentialsType": "CODEBUILD", "PrivilegedMode": false, "Type": "LINUX_CONTAINER", }, "ServiceRole": Object { "Fn::GetAtt": Array [ "fruitapiPipelineBuildRoleD8011BF2", "Arn", ], }, "Source": Object { "BuildSpec": "{ \\"env\\": { \\"variables\\": { \\"MAVEN_OPTS\\": \\"-XX:+TieredCompilation -XX:TieredStopAtLevel=1\\", \\"MAVEN_ARGS\\": \\"--batch-mode --no-transfer-progress\\" } }, \\"phases\\": { \\"install\\": { \\"runtime-versions\\": { \\"java\\": \\"corretto17\\" } }, \\"build\\": { \\"commands\\": [ \\"mvn \${MAVEN_ARGS} clean verify\\" ] } }, \\"cache\\": { \\"paths\\": [ \\"/root/.m2/**/*\\" ] }, \\"reports\\": { \\"unit\\": { \\"files\\": [ \\"target/surefire-reports/*.xml\\" ], \\"file-format\\": \\"JUNITXML\\" }, \\"integration\\": { \\"files\\": [ \\"target/soapui-reports/*.xml\\" ], \\"file-format\\": \\"JUNITXML\\" } }, \\"version\\": \\"0.2\\", \\"artifacts\\": { \\"base-directory\\": \\".\\", \\"files\\": [ \\"**/*\\" ] } }", "Type": "CODEPIPELINE", }, }, "Type": "AWS::CodeBuild::Project", }, "fruitapiPipelineBuildCodeGuruQualityCodePipelineActionRole578506C4": Object { "Properties": Object { "AssumeRolePolicyDocument": Object { "Statement": Array [ Object { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": Object { "AWS": Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":iam::dummy:root", ], ], }, }, }, ], "Version": "2012-10-17", }, }, "Type": "AWS::IAM::Role", }, "fruitapiPipelineBuildCodeGuruQualityCodePipelineActionRoleDefaultPolicyF0F4E6F5": Object { "Properties": Object { "PolicyDocument": Object { "Statement": Array [ Object { "Action": "lambda:ListFunctions", "Effect": "Allow", "Resource": "*", }, Object { "Action": "lambda:InvokeFunction", "Effect": "Allow", "Resource": Array [ Object { "Fn::GetAtt": Array [ "fruitapiPipelineCodeGuruQualityCodeGuruLambdaF7A3E8BE", "Arn", ], }, Object { "Fn::Join": Array [ "", Array [ Object { "Fn::GetAtt": Array [ "fruitapiPipelineCodeGuruQualityCodeGuruLambdaF7A3E8BE", "Arn", ], }, ":*", ], ], }, ], }, Object { "Action": Array [ "s3:GetObject*", "s3:GetBucket*", "s3:List*", ], "Effect": "Allow", "Resource": Array [ Object { "Fn::GetAtt": Array [ "fruitapiPipelineArtifactsBucket07B9157E", "Arn", ], }, Object { "Fn::Join": Array [ "", Array [ Object { "Fn::GetAtt": Array [ "fruitapiPipelineArtifactsBucket07B9157E", "Arn", ], }, "/*", ], ], }, ], }, Object { "Action": Array [ "kms:Decrypt", "kms:DescribeKey", ], "Effect": "Allow", "Resource": Object { "Fn::GetAtt": Array [ "fruitapiPipelineArtifactsBucketEncryptionKey9E5E2FC5", "Arn", ], }, }, ], "Version": "2012-10-17", }, "PolicyName": "fruitapiPipelineBuildCodeGuruQualityCodePipelineActionRoleDefaultPolicyF0F4E6F5", "Roles": Array [ Object { "Ref": "fruitapiPipelineBuildCodeGuruQualityCodePipelineActionRole578506C4", }, ], }, "Type": "AWS::IAM::Policy", }, "fruitapiPipelineBuildCodeGuruSecurityCodePipelineActionRole29AC9D5B": Object { "Properties": Object { "AssumeRolePolicyDocument": Object { "Statement": Array [ Object { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": Object { "AWS": Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":iam::dummy:root", ], ], }, }, }, ], "Version": "2012-10-17", }, }, "Type": "AWS::IAM::Role", }, "fruitapiPipelineBuildCodeGuruSecurityCodePipelineActionRoleDefaultPolicyE15CCB79": Object { "Properties": Object { "PolicyDocument": Object { "Statement": Array [ Object { "Action": "lambda:ListFunctions", "Effect": "Allow", "Resource": "*", }, Object { "Action": "lambda:InvokeFunction", "Effect": "Allow", "Resource": Array [ Object { "Fn::GetAtt": Array [ "fruitapiPipelineCodeGuruSecurityCodeGuruLambda095BEB71", "Arn", ], }, Object { "Fn::Join": Array [ "", Array [ Object { "Fn::GetAtt": Array [ "fruitapiPipelineCodeGuruSecurityCodeGuruLambda095BEB71", "Arn", ], }, ":*", ], ], }, ], }, Object { "Action": Array [ "s3:GetObject*", "s3:GetBucket*", "s3:List*", ], "Effect": "Allow", "Resource": Array [ Object { "Fn::GetAtt": Array [ "fruitapiPipelineArtifactsBucket07B9157E", "Arn", ], }, Object { "Fn::Join": Array [ "", Array [ Object { "Fn::GetAtt": Array [ "fruitapiPipelineArtifactsBucket07B9157E", "Arn", ], }, "/*", ], ], }, ], }, Object { "Action": Array [ "kms:Decrypt", "kms:DescribeKey", ], "Effect": "Allow", "Resource": Object { "Fn::GetAtt": Array [ "fruitapiPipelineArtifactsBucketEncryptionKey9E5E2FC5", "Arn", ], }, }, ], "Version": "2012-10-17", }, "PolicyName": "fruitapiPipelineBuildCodeGuruSecurityCodePipelineActionRoleDefaultPolicyE15CCB79", "Roles": Array [ Object { "Ref": "fruitapiPipelineBuildCodeGuruSecurityCodePipelineActionRole29AC9D5B", }, ], }, "Type": "AWS::IAM::Policy", }, "fruitapiPipelineBuildRoleD8011BF2": Object { "Properties": Object { "AssumeRolePolicyDocument": Object { "Statement": Array [ Object { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": Object { "Service": "codebuild.amazonaws.com", }, }, ], "Version": "2012-10-17", }, }, "Type": "AWS::IAM::Role", }, "fruitapiPipelineBuildRoleDefaultPolicyC9102332": Object { "Properties": Object { "PolicyDocument": Object { "Statement": Array [ Object { "Action": Array [ "s3:GetObject*", "s3:GetBucket*", "s3:List*", "s3:DeleteObject*", "s3:PutObject", "s3:PutObjectLegalHold", "s3:PutObjectRetention", "s3:PutObjectTagging", "s3:PutObjectVersionTagging", "s3:Abort*", ], "Effect": "Allow", "Resource": Array [ Object { "Fn::GetAtt": Array [ "CacheBucket41D9D0B0", "Arn", ], }, Object { "Fn::Join": Array [ "", Array [ Object { "Fn::GetAtt": Array [ "CacheBucket41D9D0B0", "Arn", ], }, "/*", ], ], }, ], }, Object { "Action": Array [ "logs:CreateLogGroup", "logs:CreateLogStream", "logs:PutLogEvents", ], "Effect": "Allow", "Resource": Array [ Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":logs:us-east-1:dummy:log-group:/aws/codebuild/", Object { "Ref": "fruitapiPipelineBuild1CEF8E13", }, ], ], }, Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":logs:us-east-1:dummy:log-group:/aws/codebuild/", Object { "Ref": "fruitapiPipelineBuild1CEF8E13", }, ":*", ], ], }, ], }, Object { "Action": Array [ "codebuild:CreateReportGroup", "codebuild:CreateReport", "codebuild:UpdateReport", "codebuild:BatchPutTestCases", "codebuild:BatchPutCodeCoverages", ], "Effect": "Allow", "Resource": Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":codebuild:us-east-1:dummy:report-group/", Object { "Ref": "fruitapiPipelineBuild1CEF8E13", }, "-*", ], ], }, }, Object { "Action": Array [ "s3:GetObject*", "s3:GetBucket*", "s3:List*", "s3:DeleteObject*", "s3:PutObject", "s3:PutObjectLegalHold", "s3:PutObjectRetention", "s3:PutObjectTagging", "s3:PutObjectVersionTagging", "s3:Abort*", ], "Effect": "Allow", "Resource": Array [ Object { "Fn::GetAtt": Array [ "fruitapiPipelineArtifactsBucket07B9157E", "Arn", ], }, Object { "Fn::Join": Array [ "", Array [ Object { "Fn::GetAtt": Array [ "fruitapiPipelineArtifactsBucket07B9157E", "Arn", ], }, "/*", ], ], }, ], }, Object { "Action": Array [ "kms:Decrypt", "kms:DescribeKey", "kms:Encrypt", "kms:ReEncrypt*", "kms:GenerateDataKey*", ], "Effect": "Allow", "Resource": Object { "Fn::GetAtt": Array [ "fruitapiPipelineArtifactsBucketEncryptionKey9E5E2FC5", "Arn", ], }, }, Object { "Action": Array [ "kms:Decrypt", "kms:Encrypt", "kms:ReEncrypt*", "kms:GenerateDataKey*", ], "Effect": "Allow", "Resource": Object { "Fn::GetAtt": Array [ "fruitapiPipelineArtifactsBucketEncryptionKey9E5E2FC5", "Arn", ], }, }, ], "Version": "2012-10-17", }, "PolicyName": "fruitapiPipelineBuildRoleDefaultPolicyC9102332", "Roles": Array [ Object { "Ref": "fruitapiPipelineBuildRoleD8011BF2", }, ], }, "Type": "AWS::IAM::Policy", }, "fruitapiPipelineBuildSynthCdkBuildProjectB2FD2528": Object { "Properties": Object { "Artifacts": Object { "Type": "CODEPIPELINE", }, "Cache": Object { "Type": "NO_CACHE", }, "Description": "Pipeline step TestStack/Pipeline/Build/Synth", "EncryptionKey": Object { "Fn::GetAtt": Array [ "fruitapiPipelineArtifactsBucketEncryptionKey9E5E2FC5", "Arn", ], }, "Environment": Object { "ComputeType": "BUILD_GENERAL1_SMALL", "Image": "aws/codebuild/standard:6.0", "ImagePullCredentialsType": "CODEBUILD", "PrivilegedMode": true, "Type": "LINUX_CONTAINER", }, "ServiceRole": Object { "Fn::GetAtt": Array [ "fruitapiPipelineBuildSynthCdkBuildProjectRole6C14B862", "Arn", ], }, "Source": Object { "BuildSpec": "{ \\"phases\\": { \\"install\\": { \\"runtime-versions\\": { \\"nodejs\\": 16 } }, \\"build\\": { \\"commands\\": [ \\"yarn install --frozen-lockfile\\", \\"npm test\\", \\"npm run build\\" ] } }, \\"version\\": \\"0.2\\", \\"artifacts\\": { \\"base-directory\\": \\"cdk.out\\", \\"files\\": [ \\"**/*\\" ] } }", "Type": "CODEPIPELINE", }, }, "Type": "AWS::CodeBuild::Project", }, "fruitapiPipelineBuildSynthCdkBuildProjectRole6C14B862": Object { "Properties": Object { "AssumeRolePolicyDocument": Object { "Statement": Array [ Object { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": Object { "Service": "codebuild.amazonaws.com", }, }, ], "Version": "2012-10-17", }, }, "Type": "AWS::IAM::Role", }, "fruitapiPipelineBuildSynthCdkBuildProjectRoleDefaultPolicy034B1D6E": Object { "Properties": Object { "PolicyDocument": Object { "Statement": Array [ Object { "Action": Array [ "logs:CreateLogGroup", "logs:CreateLogStream", "logs:PutLogEvents", ], "Effect": "Allow", "Resource": Array [ Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":logs:us-east-1:dummy:log-group:/aws/codebuild/", Object { "Ref": "fruitapiPipelineBuildSynthCdkBuildProjectB2FD2528", }, ], ], }, Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":logs:us-east-1:dummy:log-group:/aws/codebuild/", Object { "Ref": "fruitapiPipelineBuildSynthCdkBuildProjectB2FD2528", }, ":*", ], ], }, ], }, Object { "Action": Array [ "codebuild:CreateReportGroup", "codebuild:CreateReport", "codebuild:UpdateReport", "codebuild:BatchPutTestCases", "codebuild:BatchPutCodeCoverages", ], "Effect": "Allow", "Resource": Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":codebuild:us-east-1:dummy:report-group/", Object { "Ref": "fruitapiPipelineBuildSynthCdkBuildProjectB2FD2528", }, "-*", ], ], }, }, Object { "Action": Array [ "s3:GetObject*", "s3:GetBucket*", "s3:List*", "s3:DeleteObject*", "s3:PutObject", "s3:PutObjectLegalHold", "s3:PutObjectRetention", "s3:PutObjectTagging", "s3:PutObjectVersionTagging", "s3:Abort*", ], "Effect": "Allow", "Resource": Array [ Object { "Fn::GetAtt": Array [ "fruitapiPipelineArtifactsBucket07B9157E", "Arn", ], }, Object { "Fn::Join": Array [ "", Array [ Object { "Fn::GetAtt": Array [ "fruitapiPipelineArtifactsBucket07B9157E", "Arn", ], }, "/*", ], ], }, ], }, Object { "Action": Array [ "kms:Decrypt", "kms:DescribeKey", "kms:Encrypt", "kms:ReEncrypt*", "kms:GenerateDataKey*", ], "Effect": "Allow", "Resource": Object { "Fn::GetAtt": Array [ "fruitapiPipelineArtifactsBucketEncryptionKey9E5E2FC5", "Arn", ], }, }, Object { "Action": Array [ "kms:Decrypt", "kms:Encrypt", "kms:ReEncrypt*", "kms:GenerateDataKey*", ], "Effect": "Allow", "Resource": Object { "Fn::GetAtt": Array [ "fruitapiPipelineArtifactsBucketEncryptionKey9E5E2FC5", "Arn", ], }, }, ], "Version": "2012-10-17", }, "PolicyName": "fruitapiPipelineBuildSynthCdkBuildProjectRoleDefaultPolicy034B1D6E", "Roles": Array [ Object { "Ref": "fruitapiPipelineBuildSynthCdkBuildProjectRole6C14B862", }, ], }, "Type": "AWS::IAM::Policy", }, "fruitapiPipelineBuildTrivyScan7159420B": Object { "Properties": Object { "Artifacts": Object { "Type": "CODEPIPELINE", }, "Cache": Object { "Type": "NO_CACHE", }, "Description": "Pipeline step TestStack/Pipeline/Build/TrivyScan", "EncryptionKey": Object { "Fn::GetAtt": Array [ "fruitapiPipelineArtifactsBucketEncryptionKey9E5E2FC5", "Arn", ], }, "Environment": Object { "ComputeType": "BUILD_GENERAL1_SMALL", "Image": "aws/codebuild/standard:6.0", "ImagePullCredentialsType": "CODEBUILD", "PrivilegedMode": false, "Type": "LINUX_CONTAINER", }, "ServiceRole": Object { "Fn::GetAtt": Array [ "fruitapiPipelineBuildTrivyScanRole5EBDA9A1", "Arn", ], }, "Source": Object { "BuildSpec": "{ \\"phases\\": { \\"install\\": { \\"commands\\": [ \\"curl -sfL https://raw.githubusercontent.com/aquasecurity/trivy/main/contrib/install.sh | sh -s -- -b /usr/local/bin \\" ] }, \\"build\\": { \\"commands\\": [ \\"trivy filesystem --exit-code 1 --no-progress --ignore-unfixed --format cyclonedx --output sbom.json --severity CRITICAL,HIGH --security-checks vuln,config,secret .\\" ] } }, \\"version\\": \\"0.2\\", \\"artifacts\\": { \\"base-directory\\": \\".\\", \\"files\\": [ \\"**/*\\" ] } }", "Type": "CODEPIPELINE", }, }, "Type": "AWS::CodeBuild::Project", }, "fruitapiPipelineBuildTrivyScanRole5EBDA9A1": Object { "Properties": Object { "AssumeRolePolicyDocument": Object { "Statement": Array [ Object { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": Object { "Service": "codebuild.amazonaws.com", }, }, ], "Version": "2012-10-17", }, }, "Type": "AWS::IAM::Role", }, "fruitapiPipelineBuildTrivyScanRoleDefaultPolicyF807A158": Object { "Properties": Object { "PolicyDocument": Object { "Statement": Array [ Object { "Action": Array [ "logs:CreateLogGroup", "logs:CreateLogStream", "logs:PutLogEvents", ], "Effect": "Allow", "Resource": Array [ Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":logs:us-east-1:dummy:log-group:/aws/codebuild/", Object { "Ref": "fruitapiPipelineBuildTrivyScan7159420B", }, ], ], }, Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":logs:us-east-1:dummy:log-group:/aws/codebuild/", Object { "Ref": "fruitapiPipelineBuildTrivyScan7159420B", }, ":*", ], ], }, ], }, Object { "Action": Array [ "codebuild:CreateReportGroup", "codebuild:CreateReport", "codebuild:UpdateReport", "codebuild:BatchPutTestCases", "codebuild:BatchPutCodeCoverages", ], "Effect": "Allow", "Resource": Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":codebuild:us-east-1:dummy:report-group/", Object { "Ref": "fruitapiPipelineBuildTrivyScan7159420B", }, "-*", ], ], }, }, Object { "Action": Array [ "s3:GetObject*", "s3:GetBucket*", "s3:List*", "s3:DeleteObject*", "s3:PutObject", "s3:PutObjectLegalHold", "s3:PutObjectRetention", "s3:PutObjectTagging", "s3:PutObjectVersionTagging", "s3:Abort*", ], "Effect": "Allow", "Resource": Array [ Object { "Fn::GetAtt": Array [ "fruitapiPipelineArtifactsBucket07B9157E", "Arn", ], }, Object { "Fn::Join": Array [ "", Array [ Object { "Fn::GetAtt": Array [ "fruitapiPipelineArtifactsBucket07B9157E", "Arn", ], }, "/*", ], ], }, ], }, Object { "Action": Array [ "kms:Decrypt", "kms:DescribeKey", "kms:Encrypt", "kms:ReEncrypt*", "kms:GenerateDataKey*", ], "Effect": "Allow", "Resource": Object { "Fn::GetAtt": Array [ "fruitapiPipelineArtifactsBucketEncryptionKey9E5E2FC5", "Arn", ], }, }, Object { "Action": Array [ "kms:Decrypt", "kms:Encrypt", "kms:ReEncrypt*", "kms:GenerateDataKey*", ], "Effect": "Allow", "Resource": Object { "Fn::GetAtt": Array [ "fruitapiPipelineArtifactsBucketEncryptionKey9E5E2FC5", "Arn", ], }, }, ], "Version": "2012-10-17", }, "PolicyName": "fruitapiPipelineBuildTrivyScanRoleDefaultPolicyF807A158", "Roles": Array [ Object { "Ref": "fruitapiPipelineBuildTrivyScanRole5EBDA9A1", }, ], }, "Type": "AWS::IAM::Policy", }, "fruitapiPipelineCodeGuruQualityCodeGuruLambdaF7A3E8BE": Object { "DependsOn": Array [ "fruitapiPipelineCodeGuruQualityCodeGuruLambdaServiceRoleDefaultPolicy7BFC3B00", "fruitapiPipelineCodeGuruQualityCodeGuruLambdaServiceRoleB8AD4EAA", ], "Properties": Object { "Code": Object { "S3Bucket": "cdk-hnb659fds-assets-dummy-us-east-1", "S3Key": "code.zip", }, "Environment": Object { "Variables": Object { "AWS_NODEJS_CONNECTION_REUSE_ENABLED": "1", }, }, "Handler": "index.main", "Role": Object { "Fn::GetAtt": Array [ "fruitapiPipelineCodeGuruQualityCodeGuruLambdaServiceRoleB8AD4EAA", "Arn", ], }, "Runtime": "nodejs18.x", "Timeout": 60, }, "Type": "AWS::Lambda::Function", }, "fruitapiPipelineCodeGuruQualityCodeGuruLambdaServiceRoleB8AD4EAA": Object { "Properties": Object { "AssumeRolePolicyDocument": Object { "Statement": Array [ Object { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": Object { "Service": "lambda.amazonaws.com", }, }, ], "Version": "2012-10-17", }, "ManagedPolicyArns": Array [ Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole", ], ], }, ], }, "Type": "AWS::IAM::Role", }, "fruitapiPipelineCodeGuruQualityCodeGuruLambdaServiceRoleDefaultPolicy7BFC3B00": Object { "Properties": Object { "PolicyDocument": Object { "Statement": Array [ Object { "Action": Array [ "codeguru-reviewer:ListCodeReviews", "codeguru-reviewer:ListRecommendations", ], "Effect": "Allow", "Resource": "*", }, Object { "Action": Array [ "codepipeline:PutJobSuccessResult", "codepipeline:PutJobFailureResult", ], "Effect": "Allow", "Resource": "*", }, ], "Version": "2012-10-17", }, "PolicyName": "fruitapiPipelineCodeGuruQualityCodeGuruLambdaServiceRoleDefaultPolicy7BFC3B00", "Roles": Array [ Object { "Ref": "fruitapiPipelineCodeGuruQualityCodeGuruLambdaServiceRoleB8AD4EAA", }, ], }, "Type": "AWS::IAM::Policy", }, "fruitapiPipelineCodeGuruSecurityCodeGuruLambda095BEB71": Object { "DependsOn": Array [ "fruitapiPipelineCodeGuruSecurityCodeGuruLambdaServiceRoleDefaultPolicy375B423D", "fruitapiPipelineCodeGuruSecurityCodeGuruLambdaServiceRoleB69482CC", ], "Properties": Object { "Code": Object { "S3Bucket": "cdk-hnb659fds-assets-dummy-us-east-1", "S3Key": "code.zip", }, "Environment": Object { "Variables": Object { "AWS_NODEJS_CONNECTION_REUSE_ENABLED": "1", }, }, "Handler": "index.main", "Role": Object { "Fn::GetAtt": Array [ "fruitapiPipelineCodeGuruSecurityCodeGuruLambdaServiceRoleB69482CC", "Arn", ], }, "Runtime": "nodejs18.x", "Timeout": 60, }, "Type": "AWS::Lambda::Function", }, "fruitapiPipelineCodeGuruSecurityCodeGuruLambdaServiceRoleB69482CC": Object { "Properties": Object { "AssumeRolePolicyDocument": Object { "Statement": Array [ Object { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": Object { "Service": "lambda.amazonaws.com", }, }, ], "Version": "2012-10-17", }, "ManagedPolicyArns": Array [ Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole", ], ], }, ], }, "Type": "AWS::IAM::Role", }, "fruitapiPipelineCodeGuruSecurityCodeGuruLambdaServiceRoleDefaultPolicy375B423D": Object { "Properties": Object { "PolicyDocument": Object { "Statement": Array [ Object { "Action": Array [ "codeguru-reviewer:ListCodeReviews", "codeguru-reviewer:ListRecommendations", ], "Effect": "Allow", "Resource": "*", }, Object { "Action": Array [ "codepipeline:PutJobSuccessResult", "codepipeline:PutJobFailureResult", ], "Effect": "Allow", "Resource": "*", }, ], "Version": "2012-10-17", }, "PolicyName": "fruitapiPipelineCodeGuruSecurityCodeGuruLambdaServiceRoleDefaultPolicy375B423D", "Roles": Array [ Object { "Ref": "fruitapiPipelineCodeGuruSecurityCodeGuruLambdaServiceRoleB69482CC", }, ], }, "Type": "AWS::IAM::Policy", }, "fruitapiPipelineEventsRole00ED83BE": Object { "Properties": Object { "AssumeRolePolicyDocument": Object { "Statement": Array [ Object { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": Object { "Service": "events.amazonaws.com", }, }, ], "Version": "2012-10-17", }, }, "Type": "AWS::IAM::Role", }, "fruitapiPipelineEventsRoleDefaultPolicy805E8108": Object { "Properties": Object { "PolicyDocument": Object { "Statement": Array [ Object { "Action": "codepipeline:StartPipelineExecution", "Effect": "Allow", "Resource": Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":codepipeline:us-east-1:dummy:", Object { "Ref": "fruitapiPipeline1F033DA2", }, ], ], }, }, ], "Version": "2012-10-17", }, "PolicyName": "fruitapiPipelineEventsRoleDefaultPolicy805E8108", "Roles": Array [ Object { "Ref": "fruitapiPipelineEventsRole00ED83BE", }, ], }, "Type": "AWS::IAM::Policy", }, "fruitapiPipelineGamma0Gammauseast1PerformanceTestPerformanceTestE1E6B155": Object { "Properties": Object { "Artifacts": Object { "Type": "CODEPIPELINE", }, "Cache": Object { "Location": Object { "Fn::Join": Array [ "/", Array [ Object { "Ref": "CacheBucket41D9D0B0", }, Object { "Ref": "AWS::NoValue", }, ], ], }, "Type": "S3", }, "Description": "Pipeline step TestStack/Pipeline/Gamma-0/Gamma-us-east-1.Performance_Test", "EncryptionKey": Object { "Fn::GetAtt": Array [ "fruitapiPipelineArtifactsBucketEncryptionKey9E5E2FC5", "Arn", ], }, "Environment": Object { "ComputeType": "BUILD_GENERAL1_SMALL", "Image": "aws/codebuild/standard:6.0", "ImagePullCredentialsType": "CODEBUILD", "PrivilegedMode": false, "Type": "LINUX_CONTAINER", }, "ServiceRole": Object { "Fn::GetAtt": Array [ "fruitapiPipelineGamma0Gammauseast1PerformanceTestPerformanceTestRole220C9DC2", "Arn", ], }, "Source": Object { "BuildSpec": "{ \\"env\\": { \\"variables\\": { \\"MAVEN_OPTS\\": \\"-XX:+TieredCompilation -XX:TieredStopAtLevel=1\\", \\"MAVEN_ARGS\\": \\"--batch-mode --no-transfer-progress\\" } }, \\"phases\\": { \\"install\\": { \\"runtime-versions\\": { \\"java\\": \\"corretto17\\" } }, \\"build\\": { \\"commands\\": [ \\"mvn \${MAVEN_ARGS} compile jmeter:jmeter jmeter:results -Djmeter.endpoint=\${ENDPOINT} -Djmeter.threads=300 -Djmeter.duration=300 -Djmeter.throughput=6000\\" ] } }, \\"cache\\": { \\"paths\\": [ \\"/root/.m2/**/*\\" ] }, \\"version\\": \\"0.2\\" }", "Type": "CODEPIPELINE", }, }, "Type": "AWS::CodeBuild::Project", }, "fruitapiPipelineGamma0Gammauseast1PerformanceTestPerformanceTestRole220C9DC2": Object { "Properties": Object { "AssumeRolePolicyDocument": Object { "Statement": Array [ Object { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": Object { "Service": "codebuild.amazonaws.com", }, }, ], "Version": "2012-10-17", }, }, "Type": "AWS::IAM::Role", }, "fruitapiPipelineGamma0Gammauseast1PerformanceTestPerformanceTestRoleDefaultPolicy85F928A0": Object { "Properties": Object { "PolicyDocument": Object { "Statement": Array [ Object { "Action": Array [ "s3:GetObject*", "s3:GetBucket*", "s3:List*", "s3:DeleteObject*", "s3:PutObject", "s3:PutObjectLegalHold", "s3:PutObjectRetention", "s3:PutObjectTagging", "s3:PutObjectVersionTagging", "s3:Abort*", ], "Effect": "Allow", "Resource": Array [ Object { "Fn::GetAtt": Array [ "CacheBucket41D9D0B0", "Arn", ], }, Object { "Fn::Join": Array [ "", Array [ Object { "Fn::GetAtt": Array [ "CacheBucket41D9D0B0", "Arn", ], }, "/*", ], ], }, ], }, Object { "Action": Array [ "logs:CreateLogGroup", "logs:CreateLogStream", "logs:PutLogEvents", ], "Effect": "Allow", "Resource": Array [ Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":logs:us-east-1:dummy:log-group:/aws/codebuild/", Object { "Ref": "fruitapiPipelineGamma0Gammauseast1PerformanceTestPerformanceTestE1E6B155", }, ], ], }, Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":logs:us-east-1:dummy:log-group:/aws/codebuild/", Object { "Ref": "fruitapiPipelineGamma0Gammauseast1PerformanceTestPerformanceTestE1E6B155", }, ":*", ], ], }, ], }, Object { "Action": Array [ "codebuild:CreateReportGroup", "codebuild:CreateReport", "codebuild:UpdateReport", "codebuild:BatchPutTestCases", "codebuild:BatchPutCodeCoverages", ], "Effect": "Allow", "Resource": Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":codebuild:us-east-1:dummy:report-group/", Object { "Ref": "fruitapiPipelineGamma0Gammauseast1PerformanceTestPerformanceTestE1E6B155", }, "-*", ], ], }, }, Object { "Action": Array [ "s3:GetObject*", "s3:GetBucket*", "s3:List*", ], "Effect": "Allow", "Resource": Array [ Object { "Fn::GetAtt": Array [ "fruitapiPipelineArtifactsBucket07B9157E", "Arn", ], }, Object { "Fn::Join": Array [ "", Array [ Object { "Fn::GetAtt": Array [ "fruitapiPipelineArtifactsBucket07B9157E", "Arn", ], }, "/*", ], ], }, ], }, Object { "Action": Array [ "kms:Decrypt", "kms:DescribeKey", ], "Effect": "Allow", "Resource": Object { "Fn::GetAtt": Array [ "fruitapiPipelineArtifactsBucketEncryptionKey9E5E2FC5", "Arn", ], }, }, Object { "Action": Array [ "kms:Decrypt", "kms:Encrypt", "kms:ReEncrypt*", "kms:GenerateDataKey*", ], "Effect": "Allow", "Resource": Object { "Fn::GetAtt": Array [ "fruitapiPipelineArtifactsBucketEncryptionKey9E5E2FC5", "Arn", ], }, }, ], "Version": "2012-10-17", }, "PolicyName": "fruitapiPipelineGamma0Gammauseast1PerformanceTestPerformanceTestRoleDefaultPolicy85F928A0", "Roles": Array [ Object { "Ref": "fruitapiPipelineGamma0Gammauseast1PerformanceTestPerformanceTestRole220C9DC2", }, ], }, "Type": "AWS::IAM::Policy", }, "fruitapiPipelineGamma0Gammauswest2PerformanceTestPerformanceTest8C6ACD96": Object { "Properties": Object { "Artifacts": Object { "Type": "CODEPIPELINE", }, "Cache": Object { "Location": Object { "Fn::Join": Array [ "/", Array [ Object { "Ref": "CacheBucket41D9D0B0", }, Object { "Ref": "AWS::NoValue", }, ], ], }, "Type": "S3", }, "Description": "Pipeline step TestStack/Pipeline/Gamma-0/Gamma-us-west-2.Performance_Test", "EncryptionKey": Object { "Fn::GetAtt": Array [ "fruitapiPipelineArtifactsBucketEncryptionKey9E5E2FC5", "Arn", ], }, "Environment": Object { "ComputeType": "BUILD_GENERAL1_SMALL", "Image": "aws/codebuild/standard:6.0", "ImagePullCredentialsType": "CODEBUILD", "PrivilegedMode": false, "Type": "LINUX_CONTAINER", }, "ServiceRole": Object { "Fn::GetAtt": Array [ "fruitapiPipelineGamma0Gammauswest2PerformanceTestPerformanceTestRole5F4FA7CF", "Arn", ], }, "Source": Object { "BuildSpec": "{ \\"env\\": { \\"variables\\": { \\"MAVEN_OPTS\\": \\"-XX:+TieredCompilation -XX:TieredStopAtLevel=1\\", \\"MAVEN_ARGS\\": \\"--batch-mode --no-transfer-progress\\" } }, \\"phases\\": { \\"install\\": { \\"runtime-versions\\": { \\"java\\": \\"corretto17\\" } }, \\"build\\": { \\"commands\\": [ \\"mvn \${MAVEN_ARGS} compile jmeter:jmeter jmeter:results -Djmeter.endpoint=\${ENDPOINT} -Djmeter.threads=300 -Djmeter.duration=300 -Djmeter.throughput=6000\\" ] } }, \\"cache\\": { \\"paths\\": [ \\"/root/.m2/**/*\\" ] }, \\"version\\": \\"0.2\\" }", "Type": "CODEPIPELINE", }, }, "Type": "AWS::CodeBuild::Project", }, "fruitapiPipelineGamma0Gammauswest2PerformanceTestPerformanceTestRole5F4FA7CF": Object { "Properties": Object { "AssumeRolePolicyDocument": Object { "Statement": Array [ Object { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": Object { "Service": "codebuild.amazonaws.com", }, }, ], "Version": "2012-10-17", }, }, "Type": "AWS::IAM::Role", }, "fruitapiPipelineGamma0Gammauswest2PerformanceTestPerformanceTestRoleDefaultPolicy80ED2F34": Object { "Properties": Object { "PolicyDocument": Object { "Statement": Array [ Object { "Action": Array [ "s3:GetObject*", "s3:GetBucket*", "s3:List*", "s3:DeleteObject*", "s3:PutObject", "s3:PutObjectLegalHold", "s3:PutObjectRetention", "s3:PutObjectTagging", "s3:PutObjectVersionTagging", "s3:Abort*", ], "Effect": "Allow", "Resource": Array [ Object { "Fn::GetAtt": Array [ "CacheBucket41D9D0B0", "Arn", ], }, Object { "Fn::Join": Array [ "", Array [ Object { "Fn::GetAtt": Array [ "CacheBucket41D9D0B0", "Arn", ], }, "/*", ], ], }, ], }, Object { "Action": Array [ "logs:CreateLogGroup", "logs:CreateLogStream", "logs:PutLogEvents", ], "Effect": "Allow", "Resource": Array [ Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":logs:us-east-1:dummy:log-group:/aws/codebuild/", Object { "Ref": "fruitapiPipelineGamma0Gammauswest2PerformanceTestPerformanceTest8C6ACD96", }, ], ], }, Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":logs:us-east-1:dummy:log-group:/aws/codebuild/", Object { "Ref": "fruitapiPipelineGamma0Gammauswest2PerformanceTestPerformanceTest8C6ACD96", }, ":*", ], ], }, ], }, Object { "Action": Array [ "codebuild:CreateReportGroup", "codebuild:CreateReport", "codebuild:UpdateReport", "codebuild:BatchPutTestCases", "codebuild:BatchPutCodeCoverages", ], "Effect": "Allow", "Resource": Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":codebuild:us-east-1:dummy:report-group/", Object { "Ref": "fruitapiPipelineGamma0Gammauswest2PerformanceTestPerformanceTest8C6ACD96", }, "-*", ], ], }, }, Object { "Action": Array [ "s3:GetObject*", "s3:GetBucket*", "s3:List*", ], "Effect": "Allow", "Resource": Array [ Object { "Fn::GetAtt": Array [ "fruitapiPipelineArtifactsBucket07B9157E", "Arn", ], }, Object { "Fn::Join": Array [ "", Array [ Object { "Fn::GetAtt": Array [ "fruitapiPipelineArtifactsBucket07B9157E", "Arn", ], }, "/*", ], ], }, ], }, Object { "Action": Array [ "kms:Decrypt", "kms:DescribeKey", ], "Effect": "Allow", "Resource": Object { "Fn::GetAtt": Array [ "fruitapiPipelineArtifactsBucketEncryptionKey9E5E2FC5", "Arn", ], }, }, Object { "Action": Array [ "kms:Decrypt", "kms:Encrypt", "kms:ReEncrypt*", "kms:GenerateDataKey*", ], "Effect": "Allow", "Resource": Object { "Fn::GetAtt": Array [ "fruitapiPipelineArtifactsBucketEncryptionKey9E5E2FC5", "Arn", ], }, }, ], "Version": "2012-10-17", }, "PolicyName": "fruitapiPipelineGamma0Gammauswest2PerformanceTestPerformanceTestRoleDefaultPolicy80ED2F34", "Roles": Array [ Object { "Ref": "fruitapiPipelineGamma0Gammauswest2PerformanceTestPerformanceTestRole5F4FA7CF", }, ], }, "Type": "AWS::IAM::Policy", }, "fruitapiPipelineGamma0PromoteToProdCodePipelineActionRoleC0594F5B": Object { "Properties": Object { "AssumeRolePolicyDocument": Object { "Statement": Array [ Object { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": Object { "AWS": Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":iam::dummy:root", ], ], }, }, }, ], "Version": "2012-10-17", }, }, "Type": "AWS::IAM::Role", }, "fruitapiPipelineRoleDFF3438D": Object { "Properties": Object { "AssumeRolePolicyDocument": Object { "Statement": Array [ Object { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": Object { "Service": "codepipeline.amazonaws.com", }, }, ], "Version": "2012-10-17", }, }, "Type": "AWS::IAM::Role", }, "fruitapiPipelineRoleDefaultPolicyAA4C5A7F": Object { "Properties": Object { "PolicyDocument": Object { "Statement": Array [ Object { "Action": Array [ "s3:GetObject*", "s3:GetBucket*", "s3:List*", "s3:DeleteObject*", "s3:PutObject", "s3:PutObjectLegalHold", "s3:PutObjectRetention", "s3:PutObjectTagging", "s3:PutObjectVersionTagging", "s3:Abort*", ], "Effect": "Allow", "Resource": Array [ Object { "Fn::GetAtt": Array [ "fruitapiPipelineArtifactsBucket07B9157E", "Arn", ], }, Object { "Fn::Join": Array [ "", Array [ Object { "Fn::GetAtt": Array [ "fruitapiPipelineArtifactsBucket07B9157E", "Arn", ], }, "/*", ], ], }, ], }, Object { "Action": Array [ "kms:Decrypt", "kms:DescribeKey", "kms:Encrypt", "kms:ReEncrypt*", "kms:GenerateDataKey*", ], "Effect": "Allow", "Resource": Object { "Fn::GetAtt": Array [ "fruitapiPipelineArtifactsBucketEncryptionKey9E5E2FC5", "Arn", ], }, }, Object { "Action": "sts:AssumeRole", "Effect": "Allow", "Resource": Object { "Fn::GetAtt": Array [ "fruitapiPipelineSourceCodeCommitCodePipelineActionRole408E27CC", "Arn", ], }, }, Object { "Action": "sts:AssumeRole", "Effect": "Allow", "Resource": Object { "Fn::GetAtt": Array [ "fruitapiPipelineBuildCodeGuruQualityCodePipelineActionRole578506C4", "Arn", ], }, }, Object { "Action": "sts:AssumeRole", "Effect": "Allow", "Resource": Object { "Fn::GetAtt": Array [ "fruitapiPipelineBuildCodeGuruSecurityCodePipelineActionRole29AC9D5B", "Arn", ], }, }, Object { "Action": "sts:AssumeRole", "Effect": "Allow", "Resource": Object { "Fn::GetAtt": Array [ "fruitapiCodeBuildActionRole9A61A6CE", "Arn", ], }, }, Object { "Action": Array [ "s3:GetObject*", "s3:GetBucket*", "s3:List*", "s3:DeleteObject*", "s3:PutObject", "s3:PutObjectLegalHold", "s3:PutObjectRetention", "s3:PutObjectTagging", "s3:PutObjectVersionTagging", "s3:Abort*", ], "Effect": "Allow", "Resource": Array [ Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":s3:::teststack-support-us-westeplicationbucket6c4b3648c465b12ccb3f", ], ], }, Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":s3:::teststack-support-us-westeplicationbucket6c4b3648c465b12ccb3f/*", ], ], }, ], }, Object { "Action": Array [ "kms:Decrypt", "kms:DescribeKey", "kms:Encrypt", "kms:ReEncrypt*", "kms:GenerateDataKey*", ], "Effect": "Allow", "Resource": "*", }, Object { "Action": "sts:AssumeRole", "Effect": "Allow", "Resource": Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":iam::000000000000:role/cdk-hnb659fds-deploy-role-000000000000-us-west-2", ], ], }, }, Object { "Action": "sts:AssumeRole", "Effect": "Allow", "Resource": Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":iam::000000000000:role/cdk-hnb659fds-deploy-role-000000000000-us-west-2", ], ], }, }, Object { "Action": "sts:AssumeRole", "Effect": "Allow", "Resource": Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":iam::000000000000:role/cdk-hnb659fds-deploy-role-000000000000-us-east-1", ], ], }, }, Object { "Action": "sts:AssumeRole", "Effect": "Allow", "Resource": Object { "Fn::GetAtt": Array [ "fruitapiPipelineGamma0PromoteToProdCodePipelineActionRoleC0594F5B", "Arn", ], }, }, Object { "Action": "sts:AssumeRole", "Effect": "Allow", "Resource": Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":iam::000000000000:role/cdk-hnb659fds-deploy-role-000000000000-us-west-2", ], ], }, }, Object { "Action": "sts:AssumeRole", "Effect": "Allow", "Resource": Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":iam::000000000000:role/cdk-hnb659fds-deploy-role-000000000000-us-east-1", ], ], }, }, Object { "Action": Array [ "s3:GetObject*", "s3:GetBucket*", "s3:List*", "s3:DeleteObject*", "s3:PutObject", "s3:PutObjectLegalHold", "s3:PutObjectRetention", "s3:PutObjectTagging", "s3:PutObjectVersionTagging", "s3:Abort*", ], "Effect": "Allow", "Resource": Array [ Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":s3:::teststack-support-eu-centeplicationbucket2ea6a5e48d5e28fc8bac", ], ], }, Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":s3:::teststack-support-eu-centeplicationbucket2ea6a5e48d5e28fc8bac/*", ], ], }, ], }, Object { "Action": "sts:AssumeRole", "Effect": "Allow", "Resource": Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":iam::000000000000:role/cdk-hnb659fds-deploy-role-000000000000-eu-central-1", ], ], }, }, Object { "Action": Array [ "s3:GetObject*", "s3:GetBucket*", "s3:List*", "s3:DeleteObject*", "s3:PutObject", "s3:PutObjectLegalHold", "s3:PutObjectRetention", "s3:PutObjectTagging", "s3:PutObjectVersionTagging", "s3:Abort*", ], "Effect": "Allow", "Resource": Array [ Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":s3:::teststack-support-eu-westeplicationbucket38f2db97e24f75f47670", ], ], }, Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":s3:::teststack-support-eu-westeplicationbucket38f2db97e24f75f47670/*", ], ], }, ], }, Object { "Action": "sts:AssumeRole", "Effect": "Allow", "Resource": Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":iam::000000000000:role/cdk-hnb659fds-deploy-role-000000000000-eu-west-1", ], ], }, }, Object { "Action": Array [ "s3:GetObject*", "s3:GetBucket*", "s3:List*", "s3:DeleteObject*", "s3:PutObject", "s3:PutObjectLegalHold", "s3:PutObjectRetention", "s3:PutObjectTagging", "s3:PutObjectVersionTagging", "s3:Abort*", ], "Effect": "Allow", "Resource": Array [ Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":s3:::teststack-support-ap-souteplicationbucket9f37be574b7489dcf907", ], ], }, Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":s3:::teststack-support-ap-souteplicationbucket9f37be574b7489dcf907/*", ], ], }, ], }, Object { "Action": "sts:AssumeRole", "Effect": "Allow", "Resource": Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":iam::000000000000:role/cdk-hnb659fds-deploy-role-000000000000-ap-south-1", ], ], }, }, Object { "Action": Array [ "s3:GetObject*", "s3:GetBucket*", "s3:List*", "s3:DeleteObject*", "s3:PutObject", "s3:PutObjectLegalHold", "s3:PutObjectRetention", "s3:PutObjectTagging", "s3:PutObjectVersionTagging", "s3:Abort*", ], "Effect": "Allow", "Resource": Array [ Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":s3:::teststack-support-ap-souteplicationbucket96d426b15838f27daa81", ], ], }, Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":s3:::teststack-support-ap-souteplicationbucket96d426b15838f27daa81/*", ], ], }, ], }, Object { "Action": "sts:AssumeRole", "Effect": "Allow", "Resource": Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":iam::000000000000:role/cdk-hnb659fds-deploy-role-000000000000-ap-southeast-2", ], ], }, }, ], "Version": "2012-10-17", }, "PolicyName": "fruitapiPipelineRoleDefaultPolicyAA4C5A7F", "Roles": Array [ Object { "Ref": "fruitapiPipelineRoleDFF3438D", }, ], }, "Type": "AWS::IAM::Policy", }, "fruitapiPipelineSourceCodeCommitCodePipelineActionRole408E27CC": Object { "Properties": Object { "AssumeRolePolicyDocument": Object { "Statement": Array [ Object { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": Object { "AWS": Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":iam::dummy:root", ], ], }, }, }, ], "Version": "2012-10-17", }, }, "Type": "AWS::IAM::Role", }, "fruitapiPipelineSourceCodeCommitCodePipelineActionRoleDefaultPolicy377E2A91": Object { "Properties": Object { "PolicyDocument": Object { "Statement": Array [ Object { "Action": Array [ "s3:GetObject*", "s3:GetBucket*", "s3:List*", "s3:DeleteObject*", "s3:PutObject", "s3:PutObjectLegalHold", "s3:PutObjectRetention", "s3:PutObjectTagging", "s3:PutObjectVersionTagging", "s3:Abort*", ], "Effect": "Allow", "Resource": Array [ Object { "Fn::GetAtt": Array [ "fruitapiPipelineArtifactsBucket07B9157E", "Arn", ], }, Object { "Fn::Join": Array [ "", Array [ Object { "Fn::GetAtt": Array [ "fruitapiPipelineArtifactsBucket07B9157E", "Arn", ], }, "/*", ], ], }, ], }, Object { "Action": Array [ "kms:Decrypt", "kms:DescribeKey", "kms:Encrypt", "kms:ReEncrypt*", "kms:GenerateDataKey*", ], "Effect": "Allow", "Resource": Object { "Fn::GetAtt": Array [ "fruitapiPipelineArtifactsBucketEncryptionKey9E5E2FC5", "Arn", ], }, }, Object { "Action": Array [ "codecommit:GetBranch", "codecommit:GetCommit", "codecommit:UploadArchive", "codecommit:GetUploadArchiveStatus", "codecommit:CancelUploadArchive", ], "Effect": "Allow", "Resource": Object { "Fn::GetAtt": Array [ "SourceCodeCommitRepoF7A67B81", "Arn", ], }, }, ], "Version": "2012-10-17", }, "PolicyName": "fruitapiPipelineSourceCodeCommitCodePipelineActionRoleDefaultPolicy377E2A91", "Roles": Array [ Object { "Ref": "fruitapiPipelineSourceCodeCommitCodePipelineActionRole408E27CC", }, ], }, "Type": "AWS::IAM::Policy", }, "fruitapiUpdatePipelineSelfMutation2C85BD41": Object { "Properties": Object { "Artifacts": Object { "Type": "CODEPIPELINE", }, "Cache": Object { "Type": "NO_CACHE", }, "Description": "Pipeline step TestStack/Pipeline/UpdatePipeline/SelfMutate", "EncryptionKey": Object { "Fn::GetAtt": Array [ "fruitapiPipelineArtifactsBucketEncryptionKey9E5E2FC5", "Arn", ], }, "Environment": Object { "ComputeType": "BUILD_GENERAL1_SMALL", "Image": "aws/codebuild/standard:6.0", "ImagePullCredentialsType": "CODEBUILD", "PrivilegedMode": false, "Type": "LINUX_CONTAINER", }, "Name": "fruit-api-selfupdate", "ServiceRole": Object { "Fn::GetAtt": Array [ "fruitapiUpdatePipelineSelfMutationRoleC7BC4C3A", "Arn", ], }, "Source": Object { "BuildSpec": "{ \\"version\\": \\"0.2\\", \\"phases\\": { \\"install\\": { \\"commands\\": [ \\"npm install -g aws-cdk@2\\" ] }, \\"build\\": { \\"commands\\": [ \\"cdk -a . deploy TestStack --require-approval=never --verbose\\" ] } } }", "Type": "CODEPIPELINE", }, }, "Type": "AWS::CodeBuild::Project", }, "fruitapiUpdatePipelineSelfMutationRoleC7BC4C3A": Object { "Properties": Object { "AssumeRolePolicyDocument": Object { "Statement": Array [ Object { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": Object { "Service": "codebuild.amazonaws.com", }, }, ], "Version": "2012-10-17", }, }, "Type": "AWS::IAM::Role", }, "fruitapiUpdatePipelineSelfMutationRoleDefaultPolicy4A3C9CE5": Object { "Properties": Object { "PolicyDocument": Object { "Statement": Array [ Object { "Action": Array [ "logs:CreateLogGroup", "logs:CreateLogStream", "logs:PutLogEvents", ], "Effect": "Allow", "Resource": Array [ Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":logs:us-east-1:dummy:log-group:/aws/codebuild/", Object { "Ref": "fruitapiUpdatePipelineSelfMutation2C85BD41", }, ], ], }, Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":logs:us-east-1:dummy:log-group:/aws/codebuild/", Object { "Ref": "fruitapiUpdatePipelineSelfMutation2C85BD41", }, ":*", ], ], }, ], }, Object { "Action": Array [ "codebuild:CreateReportGroup", "codebuild:CreateReport", "codebuild:UpdateReport", "codebuild:BatchPutTestCases", "codebuild:BatchPutCodeCoverages", ], "Effect": "Allow", "Resource": Object { "Fn::Join": Array [ "", Array [ "arn:", Object { "Ref": "AWS::Partition", }, ":codebuild:us-east-1:dummy:report-group/", Object { "Ref": "fruitapiUpdatePipelineSelfMutation2C85BD41", }, "-*", ], ], }, }, Object { "Action": "sts:AssumeRole", "Condition": Object { "ForAnyValue:StringEquals": Object { "iam:ResourceTag/aws-cdk:bootstrap-role": Array [ "image-publishing", "file-publishing", "deploy", ], }, }, "Effect": "Allow", "Resource": "arn:*:iam::dummy:role/*", }, Object { "Action": "cloudformation:DescribeStacks", "Effect": "Allow", "Resource": "*", }, Object { "Action": "s3:ListBucket", "Effect": "Allow", "Resource": "*", }, Object { "Action": Array [ "s3:GetObject*", "s3:GetBucket*", "s3:List*", ], "Effect": "Allow", "Resource": Array [ Object { "Fn::GetAtt": Array [ "fruitapiPipelineArtifactsBucket07B9157E", "Arn", ], }, Object { "Fn::Join": Array [ "", Array [ Object { "Fn::GetAtt": Array [ "fruitapiPipelineArtifactsBucket07B9157E", "Arn", ], }, "/*", ], ], }, ], }, Object { "Action": Array [ "kms:Decrypt", "kms:DescribeKey", ], "Effect": "Allow", "Resource": Object { "Fn::GetAtt": Array [ "fruitapiPipelineArtifactsBucketEncryptionKey9E5E2FC5", "Arn", ], }, }, Object { "Action": Array [ "kms:Decrypt", "kms:Encrypt", "kms:ReEncrypt*", "kms:GenerateDataKey*", ], "Effect": "Allow", "Resource": Object { "Fn::GetAtt": Array [ "fruitapiPipelineArtifactsBucketEncryptionKey9E5E2FC5", "Arn", ], }, }, ], "Version": "2012-10-17", }, "PolicyName": "fruitapiUpdatePipelineSelfMutationRoleDefaultPolicy4A3C9CE5", "Roles": Array [ Object { "Ref": "fruitapiUpdatePipelineSelfMutationRoleC7BC4C3A", }, ], }, "Type": "AWS::IAM::Policy", }, }, "Rules": Object { "CheckBootstrapVersion": Object { "Assertions": Array [ Object { "Assert": Object { "Fn::Not": Array [ Object { "Fn::Contains": Array [ Array [ "1", "2", "3", "4", "5", ], Object { "Ref": "BootstrapVersion", }, ], }, ], }, "AssertDescription": "CDK bootstrap stack version 6 required. Please run 'cdk bootstrap' with a recent version of the CDK CLI.", }, ], }, }, } `;