--- policy: /ce/ca/aws/codebuild/project-deprecated-image logic: /ce/ca/aws/codebuild/project-deprecated-image/prod.logic.yaml executionTime: 2026-10-30T18:09:14.964151371Z generationMs: 54 executionMs: 1295 rows: - id: current-managed-01 match: true status: expected: COMPLIANT actual: COMPLIANT conditionIndex: expected: 300 actual: 300 conditionText: expected: otherwise actual: otherwise runtimeError: {} - id: current-managed-02 match: true status: expected: COMPLIANT actual: COMPLIANT conditionIndex: expected: 300 actual: 300 conditionText: expected: otherwise actual: otherwise runtimeError: {} - id: current-managed-03 match: true status: expected: COMPLIANT actual: COMPLIANT conditionIndex: expected: 300 actual: 300 conditionText: expected: otherwise actual: otherwise runtimeError: {} - id: current-managed-04 match: true status: expected: COMPLIANT actual: COMPLIANT conditionIndex: expected: 300 actual: 300 conditionText: expected: otherwise actual: otherwise runtimeError: {} - id: current-managed-05 match: true status: expected: COMPLIANT actual: COMPLIANT conditionIndex: expected: 300 actual: 300 conditionText: expected: otherwise actual: otherwise runtimeError: {} - id: current-managed-06 match: true status: expected: COMPLIANT actual: COMPLIANT conditionIndex: expected: 300 actual: 300 conditionText: expected: otherwise actual: otherwise runtimeError: {} - id: current-managed-07 match: true status: expected: COMPLIANT actual: COMPLIANT conditionIndex: expected: 300 actual: 300 conditionText: expected: otherwise actual: otherwise runtimeError: {} - id: current-managed-08 match: true status: expected: COMPLIANT actual: COMPLIANT conditionIndex: expected: 300 actual: 300 conditionText: expected: otherwise actual: otherwise runtimeError: {} - id: current-managed-09 match: true status: expected: COMPLIANT actual: COMPLIANT conditionIndex: expected: 300 actual: 300 conditionText: expected: otherwise actual: otherwise runtimeError: {} - id: current-managed-10 match: true status: expected: COMPLIANT actual: COMPLIANT conditionIndex: expected: 300 actual: 300 conditionText: expected: otherwise actual: otherwise runtimeError: {} - id: current-managed-11 match: true status: expected: COMPLIANT actual: COMPLIANT conditionIndex: expected: 300 actual: 300 conditionText: expected: otherwise actual: otherwise runtimeError: {} - id: current-managed-12 match: true status: expected: COMPLIANT actual: COMPLIANT conditionIndex: expected: 300 actual: 300 conditionText: expected: otherwise actual: otherwise runtimeError: {} - id: current-managed-13 match: true status: expected: COMPLIANT actual: COMPLIANT conditionIndex: expected: 300 actual: 300 conditionText: expected: otherwise actual: otherwise runtimeError: {} - id: current-managed-14 match: true status: expected: COMPLIANT actual: COMPLIANT conditionIndex: expected: 300 actual: 300 conditionText: expected: otherwise actual: otherwise runtimeError: {} - id: current-managed-15 match: true status: expected: COMPLIANT actual: COMPLIANT conditionIndex: expected: 300 actual: 300 conditionText: expected: otherwise actual: otherwise runtimeError: {} - id: current-managed-16 match: true status: expected: COMPLIANT actual: COMPLIANT conditionIndex: expected: 300 actual: 300 conditionText: expected: otherwise actual: otherwise runtimeError: {} - id: current-managed-17 match: true status: expected: COMPLIANT actual: COMPLIANT conditionIndex: expected: 300 actual: 300 conditionText: expected: otherwise actual: otherwise runtimeError: {} - id: current-managed-18 match: true status: expected: COMPLIANT actual: COMPLIANT conditionIndex: expected: 300 actual: 300 conditionText: expected: otherwise actual: otherwise runtimeError: {} - id: current-managed-19 match: true status: expected: COMPLIANT actual: COMPLIANT conditionIndex: expected: 300 actual: 300 conditionText: expected: otherwise actual: otherwise runtimeError: {} - id: current-managed-20 match: true status: expected: COMPLIANT actual: COMPLIANT conditionIndex: expected: 300 actual: 300 conditionText: expected: otherwise actual: otherwise runtimeError: {} - id: current-managed-21 match: true status: expected: COMPLIANT actual: COMPLIANT conditionIndex: expected: 300 actual: 300 conditionText: expected: otherwise actual: otherwise runtimeError: {} - id: current-managed-22 match: true status: expected: COMPLIANT actual: COMPLIANT conditionIndex: expected: 300 actual: 300 conditionText: expected: otherwise actual: otherwise runtimeError: {} - id: current-managed-23 match: true status: expected: COMPLIANT actual: COMPLIANT conditionIndex: expected: 300 actual: 300 conditionText: expected: otherwise actual: otherwise runtimeError: {} - id: current-managed-24 match: true status: expected: COMPLIANT actual: COMPLIANT conditionIndex: expected: 300 actual: 300 conditionText: expected: otherwise actual: otherwise runtimeError: {} - id: current-managed-25 match: true status: expected: COMPLIANT actual: COMPLIANT conditionIndex: expected: 300 actual: 300 conditionText: expected: otherwise actual: otherwise runtimeError: {} - id: current-managed-26 match: true status: expected: COMPLIANT actual: COMPLIANT conditionIndex: expected: 300 actual: 300 conditionText: expected: otherwise actual: otherwise runtimeError: {} - id: current-managed-27 match: true status: expected: COMPLIANT actual: COMPLIANT conditionIndex: expected: 300 actual: 300 conditionText: expected: otherwise actual: otherwise runtimeError: {} - id: current-managed-28 match: true status: expected: COMPLIANT actual: COMPLIANT conditionIndex: expected: 300 actual: 300 conditionText: expected: otherwise actual: otherwise runtimeError: {} - id: current-managed-29 match: true status: expected: COMPLIANT actual: COMPLIANT conditionIndex: expected: 300 actual: 300 conditionText: expected: otherwise actual: otherwise runtimeError: {} - id: current-managed-30 match: true status: expected: COMPLIANT actual: COMPLIANT conditionIndex: expected: 300 actual: 300 conditionText: expected: otherwise actual: otherwise runtimeError: {} - id: current-managed-31 match: true status: expected: COMPLIANT actual: COMPLIANT conditionIndex: expected: 300 actual: 300 conditionText: expected: otherwise actual: otherwise runtimeError: {} - id: current-managed-32 match: true status: expected: COMPLIANT actual: COMPLIANT conditionIndex: expected: 300 actual: 300 conditionText: expected: otherwise actual: otherwise runtimeError: {} - id: current-managed-33 match: true status: expected: COMPLIANT actual: COMPLIANT conditionIndex: expected: 300 actual: 300 conditionText: expected: otherwise actual: otherwise runtimeError: {} - id: current-managed-34 match: true status: expected: COMPLIANT actual: COMPLIANT conditionIndex: expected: 300 actual: 300 conditionText: expected: otherwise actual: otherwise runtimeError: {} - id: current-managed-35 match: true status: expected: COMPLIANT actual: COMPLIANT conditionIndex: expected: 300 actual: 300 conditionText: expected: otherwise actual: otherwise runtimeError: {} - id: current-managed-36 match: true status: expected: COMPLIANT actual: COMPLIANT conditionIndex: expected: 300 actual: 300 conditionText: expected: otherwise actual: otherwise runtimeError: {} - id: current-managed-37 match: true status: expected: COMPLIANT actual: COMPLIANT conditionIndex: expected: 300 actual: 300 conditionText: expected: otherwise actual: otherwise runtimeError: {} - id: current-managed-38 match: true status: expected: COMPLIANT actual: COMPLIANT conditionIndex: expected: 300 actual: 300 conditionText: expected: otherwise actual: otherwise runtimeError: {} - id: current-managed-39 match: true status: expected: COMPLIANT actual: COMPLIANT conditionIndex: expected: 300 actual: 300 conditionText: expected: otherwise actual: otherwise runtimeError: {} - id: current-managed-40 match: true status: expected: COMPLIANT actual: COMPLIANT conditionIndex: expected: 300 actual: 300 conditionText: expected: otherwise actual: otherwise runtimeError: {} - id: current-managed-41 match: true status: expected: COMPLIANT actual: COMPLIANT conditionIndex: expected: 300 actual: 300 conditionText: expected: otherwise actual: otherwise runtimeError: {} - id: current-managed-42 match: true status: expected: COMPLIANT actual: COMPLIANT conditionIndex: expected: 300 actual: 300 conditionText: expected: otherwise actual: otherwise runtimeError: {} - id: current-managed-43 match: true status: expected: COMPLIANT actual: COMPLIANT conditionIndex: expected: 300 actual: 300 conditionText: expected: otherwise actual: otherwise runtimeError: {} - id: current-managed-44 match: true status: expected: COMPLIANT actual: COMPLIANT conditionIndex: expected: 300 actual: 300 conditionText: expected: otherwise actual: otherwise runtimeError: {} - id: current-managed-45 match: true status: expected: COMPLIANT actual: COMPLIANT conditionIndex: expected: 300 actual: 300 conditionText: expected: otherwise actual: otherwise runtimeError: {} - id: current-managed-46 match: true status: expected: COMPLIANT actual: COMPLIANT conditionIndex: expected: 300 actual: 300 conditionText: expected: otherwise actual: otherwise runtimeError: {} - id: current-managed-47 match: true status: expected: COMPLIANT actual: COMPLIANT conditionIndex: expected: 300 actual: 300 conditionText: expected: otherwise actual: otherwise runtimeError: {} - id: current-managed-48 match: true status: expected: COMPLIANT actual: COMPLIANT conditionIndex: expected: 300 actual: 300 conditionText: expected: otherwise actual: otherwise runtimeError: {} - id: current-managed-49 match: true status: expected: COMPLIANT actual: COMPLIANT conditionIndex: expected: 300 actual: 300 conditionText: expected: otherwise actual: otherwise runtimeError: {} - id: current-managed-50 match: true status: expected: COMPLIANT actual: COMPLIANT conditionIndex: expected: 300 actual: 300 conditionText: expected: otherwise actual: otherwise runtimeError: {} - id: current-managed-51 match: true status: expected: COMPLIANT actual: COMPLIANT conditionIndex: expected: 300 actual: 300 conditionText: expected: otherwise actual: otherwise runtimeError: {} - id: current-managed-52 match: true status: expected: COMPLIANT actual: COMPLIANT conditionIndex: expected: 300 actual: 300 conditionText: expected: otherwise actual: otherwise runtimeError: {} - id: current-managed-53 match: true status: expected: COMPLIANT actual: COMPLIANT conditionIndex: expected: 300 actual: 300 conditionText: expected: otherwise actual: otherwise runtimeError: {} - id: current-managed-54 match: true status: expected: COMPLIANT actual: COMPLIANT conditionIndex: expected: 300 actual: 300 conditionText: expected: otherwise actual: otherwise runtimeError: {} - id: current-managed-55 match: true status: expected: COMPLIANT actual: COMPLIANT conditionIndex: expected: 300 actual: 300 conditionText: expected: otherwise actual: otherwise runtimeError: {} - id: current-managed-56 match: true status: expected: COMPLIANT actual: COMPLIANT conditionIndex: expected: 300 actual: 300 conditionText: expected: otherwise actual: otherwise runtimeError: {} - id: current-managed-57 match: true status: expected: COMPLIANT actual: COMPLIANT conditionIndex: expected: 300 actual: 300 conditionText: expected: otherwise actual: otherwise runtimeError: {} - id: current-managed-58 match: true status: expected: COMPLIANT actual: COMPLIANT conditionIndex: expected: 300 actual: 300 conditionText: expected: otherwise actual: otherwise runtimeError: {} - id: current-managed-59 match: true status: expected: COMPLIANT actual: COMPLIANT conditionIndex: expected: 300 actual: 300 conditionText: expected: otherwise actual: otherwise runtimeError: {} - id: current-managed-60 match: true status: expected: COMPLIANT actual: COMPLIANT conditionIndex: expected: 300 actual: 300 conditionText: expected: otherwise actual: otherwise runtimeError: {} - id: current-managed-61 match: true status: expected: COMPLIANT actual: COMPLIANT conditionIndex: expected: 300 actual: 300 conditionText: expected: otherwise actual: otherwise runtimeError: {} - id: current-managed-62 match: true status: expected: COMPLIANT actual: COMPLIANT conditionIndex: expected: 300 actual: 300 conditionText: expected: otherwise actual: otherwise runtimeError: {} - id: deprecated-2022-06-30-1 match: true status: expected: INCOMPLIANT actual: INCOMPLIANT conditionIndex: expected: 199 actual: 199 conditionText: expected: "setOfBytes(['aws/codebuild/standard:3.0', 'aws/codebuild/amazonlinux2-x86_64-standard:2.0',\ \ 'aws/codebuild/standard:4.0', 'aws/codebuild/amazonlinux2-aarch64-standard:1.0',\ \ 'aws/codebuild/amazonlinux2-x86_64-standard:3.0']).contains(extract('CA10__environmentImage__c'))" actual: "setOfBytes(['aws/codebuild/standard:3.0', 'aws/codebuild/amazonlinux2-x86_64-standard:2.0',\ \ 'aws/codebuild/standard:4.0', 'aws/codebuild/amazonlinux2-aarch64-standard:1.0',\ \ 'aws/codebuild/amazonlinux2-x86_64-standard:3.0']).contains(extract('CA10__environmentImage__c'))" runtimeError: {} - id: deprecated-2022-06-30-2 match: true status: expected: INCOMPLIANT actual: INCOMPLIANT conditionIndex: expected: 199 actual: 199 conditionText: expected: "setOfBytes(['aws/codebuild/standard:3.0', 'aws/codebuild/amazonlinux2-x86_64-standard:2.0',\ \ 'aws/codebuild/standard:4.0', 'aws/codebuild/amazonlinux2-aarch64-standard:1.0',\ \ 'aws/codebuild/amazonlinux2-x86_64-standard:3.0']).contains(extract('CA10__environmentImage__c'))" actual: "setOfBytes(['aws/codebuild/standard:3.0', 'aws/codebuild/amazonlinux2-x86_64-standard:2.0',\ \ 'aws/codebuild/standard:4.0', 'aws/codebuild/amazonlinux2-aarch64-standard:1.0',\ \ 'aws/codebuild/amazonlinux2-x86_64-standard:3.0']).contains(extract('CA10__environmentImage__c'))" runtimeError: {} - id: deprecated-2023-03-31-1 match: true status: expected: INCOMPLIANT actual: INCOMPLIANT conditionIndex: expected: 199 actual: 199 conditionText: expected: "setOfBytes(['aws/codebuild/standard:3.0', 'aws/codebuild/amazonlinux2-x86_64-standard:2.0',\ \ 'aws/codebuild/standard:4.0', 'aws/codebuild/amazonlinux2-aarch64-standard:1.0',\ \ 'aws/codebuild/amazonlinux2-x86_64-standard:3.0']).contains(extract('CA10__environmentImage__c'))" actual: "setOfBytes(['aws/codebuild/standard:3.0', 'aws/codebuild/amazonlinux2-x86_64-standard:2.0',\ \ 'aws/codebuild/standard:4.0', 'aws/codebuild/amazonlinux2-aarch64-standard:1.0',\ \ 'aws/codebuild/amazonlinux2-x86_64-standard:3.0']).contains(extract('CA10__environmentImage__c'))" runtimeError: {} - id: deprecated-2023-03-31-2 match: true status: expected: INCOMPLIANT actual: INCOMPLIANT conditionIndex: expected: 199 actual: 199 conditionText: expected: "setOfBytes(['aws/codebuild/standard:3.0', 'aws/codebuild/amazonlinux2-x86_64-standard:2.0',\ \ 'aws/codebuild/standard:4.0', 'aws/codebuild/amazonlinux2-aarch64-standard:1.0',\ \ 'aws/codebuild/amazonlinux2-x86_64-standard:3.0']).contains(extract('CA10__environmentImage__c'))" actual: "setOfBytes(['aws/codebuild/standard:3.0', 'aws/codebuild/amazonlinux2-x86_64-standard:2.0',\ \ 'aws/codebuild/standard:4.0', 'aws/codebuild/amazonlinux2-aarch64-standard:1.0',\ \ 'aws/codebuild/amazonlinux2-x86_64-standard:3.0']).contains(extract('CA10__environmentImage__c'))" runtimeError: {} - id: deprecated-2023-05-09-1 match: true status: expected: INCOMPLIANT actual: INCOMPLIANT conditionIndex: expected: 199 actual: 199 conditionText: expected: "setOfBytes(['aws/codebuild/standard:3.0', 'aws/codebuild/amazonlinux2-x86_64-standard:2.0',\ \ 'aws/codebuild/standard:4.0', 'aws/codebuild/amazonlinux2-aarch64-standard:1.0',\ \ 'aws/codebuild/amazonlinux2-x86_64-standard:3.0']).contains(extract('CA10__environmentImage__c'))" actual: "setOfBytes(['aws/codebuild/standard:3.0', 'aws/codebuild/amazonlinux2-x86_64-standard:2.0',\ \ 'aws/codebuild/standard:4.0', 'aws/codebuild/amazonlinux2-aarch64-standard:1.0',\ \ 'aws/codebuild/amazonlinux2-x86_64-standard:3.0']).contains(extract('CA10__environmentImage__c'))" runtimeError: {} - id: missing-image match: true status: expected: UNDETERMINED actual: UNDETERMINED conditionIndex: expected: 101 actual: 101 conditionText: expected: CA10__environmentImage__c.isEmpty() actual: CA10__environmentImage__c.isEmpty() runtimeError: {} - id: empty-image match: true status: expected: UNDETERMINED actual: UNDETERMINED conditionIndex: expected: 101 actual: 101 conditionText: expected: CA10__environmentImage__c.isEmpty() actual: CA10__environmentImage__c.isEmpty() runtimeError: {} - id: whitespace-image match: true status: expected: INAPPLICABLE actual: INAPPLICABLE conditionIndex: expected: 299 actual: 299 conditionText: expected: not(extract('CA10__environmentImage__c').startsWith(bytes('aws/codebuild/'))) actual: not(extract('CA10__environmentImage__c').startsWith(bytes('aws/codebuild/'))) runtimeError: {} - id: unlisted-future-version match: true status: expected: COMPLIANT actual: COMPLIANT conditionIndex: expected: 300 actual: 300 conditionText: expected: otherwise actual: otherwise runtimeError: {} - id: unlisted-legacy-version match: true status: expected: COMPLIANT actual: COMPLIANT conditionIndex: expected: 300 actual: 300 conditionText: expected: otherwise actual: otherwise runtimeError: {} - id: unlisted-al2-version match: true status: expected: COMPLIANT actual: COMPLIANT conditionIndex: expected: 300 actual: 300 conditionText: expected: otherwise actual: otherwise runtimeError: {} - id: unlisted-lambda-version match: true status: expected: COMPLIANT actual: COMPLIANT conditionIndex: expected: 300 actual: 300 conditionText: expected: otherwise actual: otherwise runtimeError: {} - id: custom-ecr match: true status: expected: INAPPLICABLE actual: INAPPLICABLE conditionIndex: expected: 299 actual: 299 conditionText: expected: not(extract('CA10__environmentImage__c').startsWith(bytes('aws/codebuild/'))) actual: not(extract('CA10__environmentImage__c').startsWith(bytes('aws/codebuild/'))) runtimeError: {} - id: custom-dockerhub match: true status: expected: INAPPLICABLE actual: INAPPLICABLE conditionIndex: expected: 299 actual: 299 conditionText: expected: not(extract('CA10__environmentImage__c').startsWith(bytes('aws/codebuild/'))) actual: not(extract('CA10__environmentImage__c').startsWith(bytes('aws/codebuild/'))) runtimeError: {} - id: custom-misleading-prefix match: true status: expected: INAPPLICABLE actual: INAPPLICABLE conditionIndex: expected: 299 actual: 299 conditionText: expected: not(extract('CA10__environmentImage__c').startsWith(bytes('aws/codebuild/'))) actual: not(extract('CA10__environmentImage__c').startsWith(bytes('aws/codebuild/'))) runtimeError: {} - id: pinned-current match: true status: expected: COMPLIANT actual: COMPLIANT conditionIndex: expected: 300 actual: 300 conditionText: expected: otherwise actual: otherwise runtimeError: {} - id: pinned-deprecated match: true status: expected: COMPLIANT actual: COMPLIANT conditionIndex: expected: 300 actual: 300 conditionText: expected: otherwise actual: otherwise runtimeError: {} - id: digest-current match: true status: expected: COMPLIANT actual: COMPLIANT conditionIndex: expected: 300 actual: 300 conditionText: expected: otherwise actual: otherwise runtimeError: {} - id: uppercase-deprecated match: true status: expected: INAPPLICABLE actual: INAPPLICABLE conditionIndex: expected: 299 actual: 299 conditionText: expected: not(extract('CA10__environmentImage__c').startsWith(bytes('aws/codebuild/'))) actual: not(extract('CA10__environmentImage__c').startsWith(bytes('aws/codebuild/'))) runtimeError: {} - id: uppercase-current match: true status: expected: INAPPLICABLE actual: INAPPLICABLE conditionIndex: expected: 299 actual: 299 conditionText: expected: not(extract('CA10__environmentImage__c').startsWith(bytes('aws/codebuild/'))) actual: not(extract('CA10__environmentImage__c').startsWith(bytes('aws/codebuild/'))) runtimeError: {} - id: whitespace-deprecated match: true status: expected: INAPPLICABLE actual: INAPPLICABLE conditionIndex: expected: 299 actual: 299 conditionText: expected: not(extract('CA10__environmentImage__c').startsWith(bytes('aws/codebuild/'))) actual: not(extract('CA10__environmentImage__c').startsWith(bytes('aws/codebuild/'))) runtimeError: {} - id: whitespace-current match: true status: expected: COMPLIANT actual: COMPLIANT conditionIndex: expected: 300 actual: 300 conditionText: expected: otherwise actual: otherwise runtimeError: {} - id: malformed-image match: true status: expected: INAPPLICABLE actual: INAPPLICABLE conditionIndex: expected: 299 actual: 299 conditionText: expected: not(extract('CA10__environmentImage__c').startsWith(bytes('aws/codebuild/'))) actual: not(extract('CA10__environmentImage__c').startsWith(bytes('aws/codebuild/'))) runtimeError: {} - id: disappeared-deprecated match: true status: expected: DISAPPEARED actual: DISAPPEARED conditionIndex: expected: 99 actual: 99 conditionText: expected: isDisappeared(CA10__disappearanceTime__c) actual: isDisappeared(CA10__disappearanceTime__c) runtimeError: {} - id: disappeared-missing match: true status: expected: DISAPPEARED actual: DISAPPEARED conditionIndex: expected: 99 actual: 99 conditionText: expected: isDisappeared(CA10__disappearanceTime__c) actual: isDisappeared(CA10__disappearanceTime__c) runtimeError: {} - id: current-arm-standard-4 match: true status: expected: COMPLIANT actual: COMPLIANT conditionIndex: expected: 300 actual: 300 conditionText: expected: otherwise actual: otherwise runtimeError: {} - id: unverified-arm-standard-4-alias match: true status: expected: COMPLIANT actual: COMPLIANT conditionIndex: expected: 300 actual: 300 conditionText: expected: otherwise actual: otherwise runtimeError: {} - id: unlisted-legacy-standard-2 match: true status: expected: COMPLIANT actual: COMPLIANT conditionIndex: expected: 300 actual: 300 conditionText: expected: otherwise actual: otherwise runtimeError: {} - id: custom-ecr-deprecated-lookalike match: true status: expected: INAPPLICABLE actual: INAPPLICABLE conditionIndex: expected: 299 actual: 299 conditionText: expected: not(extract('CA10__environmentImage__c').startsWith(bytes('aws/codebuild/'))) actual: not(extract('CA10__environmentImage__c').startsWith(bytes('aws/codebuild/'))) runtimeError: {} - id: deprecated-image-new-runtime match: true status: expected: INCOMPLIANT actual: INCOMPLIANT conditionIndex: expected: 199 actual: 199 conditionText: expected: "setOfBytes(['aws/codebuild/standard:3.0', 'aws/codebuild/amazonlinux2-x86_64-standard:2.0',\ \ 'aws/codebuild/standard:4.0', 'aws/codebuild/amazonlinux2-aarch64-standard:1.0',\ \ 'aws/codebuild/amazonlinux2-x86_64-standard:3.0']).contains(extract('CA10__environmentImage__c'))" actual: "setOfBytes(['aws/codebuild/standard:3.0', 'aws/codebuild/amazonlinux2-x86_64-standard:2.0',\ \ 'aws/codebuild/standard:4.0', 'aws/codebuild/amazonlinux2-aarch64-standard:1.0',\ \ 'aws/codebuild/amazonlinux2-x86_64-standard:3.0']).contains(extract('CA10__environmentImage__c'))" runtimeError: {} - id: current-image-old-runtime match: true status: expected: COMPLIANT actual: COMPLIANT conditionIndex: expected: 300 actual: 300 conditionText: expected: otherwise actual: otherwise runtimeError: {} - id: unlisted-future-family match: true status: expected: COMPLIANT actual: COMPLIANT conditionIndex: expected: 300 actual: 300 conditionText: expected: otherwise actual: otherwise runtimeError: {} - id: custom-namespace-lookalike match: true status: expected: INAPPLICABLE actual: INAPPLICABLE conditionIndex: expected: 299 actual: 299 conditionText: expected: not(extract('CA10__environmentImage__c').startsWith(bytes('aws/codebuild/'))) actual: not(extract('CA10__environmentImage__c').startsWith(bytes('aws/codebuild/'))) runtimeError: {} - id: deprecated-list-independent-of-past-clock match: true status: expected: INCOMPLIANT actual: INCOMPLIANT conditionIndex: expected: 199 actual: 199 conditionText: expected: "setOfBytes(['aws/codebuild/standard:3.0', 'aws/codebuild/amazonlinux2-x86_64-standard:2.0',\ \ 'aws/codebuild/standard:4.0', 'aws/codebuild/amazonlinux2-aarch64-standard:1.0',\ \ 'aws/codebuild/amazonlinux2-x86_64-standard:3.0']).contains(extract('CA10__environmentImage__c'))" actual: "setOfBytes(['aws/codebuild/standard:3.0', 'aws/codebuild/amazonlinux2-x86_64-standard:2.0',\ \ 'aws/codebuild/standard:4.0', 'aws/codebuild/amazonlinux2-aarch64-standard:1.0',\ \ 'aws/codebuild/amazonlinux2-x86_64-standard:3.0']).contains(extract('CA10__environmentImage__c'))" runtimeError: {} - id: deprecated-list-independent-of-future-clock match: true status: expected: INCOMPLIANT actual: INCOMPLIANT conditionIndex: expected: 199 actual: 199 conditionText: expected: "setOfBytes(['aws/codebuild/standard:3.0', 'aws/codebuild/amazonlinux2-x86_64-standard:2.0',\ \ 'aws/codebuild/standard:4.0', 'aws/codebuild/amazonlinux2-aarch64-standard:1.0',\ \ 'aws/codebuild/amazonlinux2-x86_64-standard:3.0']).contains(extract('CA10__environmentImage__c'))" actual: "setOfBytes(['aws/codebuild/standard:3.0', 'aws/codebuild/amazonlinux2-x86_64-standard:2.0',\ \ 'aws/codebuild/standard:4.0', 'aws/codebuild/amazonlinux2-aarch64-standard:1.0',\ \ 'aws/codebuild/amazonlinux2-x86_64-standard:3.0']).contains(extract('CA10__environmentImage__c'))" runtimeError: {} usedFiles: - path: /ce/ca/aws/codebuild/project-deprecated-image/policy.yaml md5Hash: 802C17E9B5EDF1D63EF4ED6608B14E83 content: | --- names: full: AWS CodeBuild Project uses a deprecated managed image contextual: Project uses a deprecated managed image description: > Identify AWS CodeBuild projects configured with managed images in AWS's published deprecated-image list to reduce exposure to unpatched build environments and unnecessary provisioning delays. type: COMPLIANCE_POLICY categories: - RELIABILITY frameworkMappings: - /frameworks/cloudaware/resource-reliability/infrastructure-modernization - path: /ce/ca/aws/codebuild/project-deprecated-image/prod.logic.yaml md5Hash: B4BAA5F46CE30B0A9F823C6A2AC7F5A1 content: | --- inputType: CA10__CaAwsCodeBuildProject__c importExtracts: - file: /types/CA10__CaAwsCodeBuildProject__c/object.extracts.yaml testData: - file: test-data.json # AWS deprecation list: # https://docs.aws.amazon.com/codebuild/latest/userguide/deprecated-images.html conditions: - status: INCOMPLIANT currentStateMessage: The configured managed image is deprecated by CodeBuild and no longer receives image updates or build-host caching. remediationMessage: Select a current compatible CodeBuild managed image and test the buildspec, dependencies, and artifacts. check: CONTAINS: arg: SET: itemType: BYTES items: - "aws/codebuild/standard:3.0" - "aws/codebuild/amazonlinux2-x86_64-standard:2.0" - "aws/codebuild/standard:4.0" - "aws/codebuild/amazonlinux2-aarch64-standard:1.0" - "aws/codebuild/amazonlinux2-x86_64-standard:3.0" search: EXTRACT: CA10__environmentImage__c - status: INAPPLICABLE currentStateMessage: The image identifier is outside the AWS CodeBuild managed-image namespace; its lifecycle requires a separate assessment. check: NOT: arg: STARTS_WITH: arg: EXTRACT: CA10__environmentImage__c search: BYTES: "aws/codebuild/" otherwise: status: COMPLIANT currentStateMessage: The configured AWS CodeBuild image identifier does not exactly match an image in the reviewed AWS deprecated-image list. - path: /ce/ca/aws/codebuild/project-deprecated-image/test-data.json md5Hash: 6B8A06AD1A10F5EDA5E493D59F8E6519 content: | [ { "Id": "current-managed-01", "expectedResult": { "status": "COMPLIANT", "conditionIndex": 300, "conditionText": "otherwise", "runtimeError": null }, "CA10__disappearanceTime__c": null, "CA10__environmentImage__c": "aws/codebuild/amazonlinux-x86_64-standard:4.0" }, { "Id": "current-managed-02", "expectedResult": { "status": "COMPLIANT", "conditionIndex": 300, "conditionText": "otherwise", "runtimeError": null }, "CA10__disappearanceTime__c": null, "CA10__environmentImage__c": "aws/codebuild/amazonlinux-x86_64-standard:5.0" }, { "Id": "current-managed-03", "expectedResult": { "status": "COMPLIANT", "conditionIndex": 300, "conditionText": "otherwise", "runtimeError": null }, "CA10__disappearanceTime__c": null, "CA10__environmentImage__c": "aws/codebuild/amazonlinux-x86_64-standard:6.0" }, { "Id": "current-managed-04", "expectedResult": { "status": "COMPLIANT", "conditionIndex": 300, "conditionText": "otherwise", "runtimeError": null }, "CA10__disappearanceTime__c": null, "CA10__environmentImage__c": "aws/codebuild/amazonlinux-x86_64-standard:corretto8" }, { "Id": "current-managed-05", "expectedResult": { "status": "COMPLIANT", "conditionIndex": 300, "conditionText": "otherwise", "runtimeError": null }, "CA10__disappearanceTime__c": null, "CA10__environmentImage__c": "aws/codebuild/amazonlinux-x86_64-standard:corretto11" }, { "Id": "current-managed-06", "expectedResult": { "status": "COMPLIANT", "conditionIndex": 300, "conditionText": "otherwise", "runtimeError": null }, "CA10__disappearanceTime__c": null, "CA10__environmentImage__c": "aws/codebuild/amazonlinux-aarch64-standard:2.0" }, { "Id": "current-managed-07", "expectedResult": { "status": "COMPLIANT", "conditionIndex": 300, "conditionText": "otherwise", "runtimeError": null }, "CA10__disappearanceTime__c": null, "CA10__environmentImage__c": "aws/codebuild/amazonlinux-aarch64-standard:3.0" }, { "Id": "current-managed-08", "expectedResult": { "status": "COMPLIANT", "conditionIndex": 300, "conditionText": "otherwise", "runtimeError": null }, "CA10__disappearanceTime__c": null, "CA10__environmentImage__c": "aws/codebuild/standard:5.0" }, { "Id": "current-managed-09", "expectedResult": { "status": "COMPLIANT", "conditionIndex": 300, "conditionText": "otherwise", "runtimeError": null }, "CA10__disappearanceTime__c": null, "CA10__environmentImage__c": "aws/codebuild/standard:6.0" }, { "Id": "current-managed-10", "expectedResult": { "status": "COMPLIANT", "conditionIndex": 300, "conditionText": "otherwise", "runtimeError": null }, "CA10__disappearanceTime__c": null, "CA10__environmentImage__c": "aws/codebuild/standard:7.0" }, { "Id": "current-managed-11", "expectedResult": { "status": "COMPLIANT", "conditionIndex": 300, "conditionText": "otherwise", "runtimeError": null }, "CA10__disappearanceTime__c": null, "CA10__environmentImage__c": "aws/codebuild/standard:8.0" }, { "Id": "current-managed-12", "expectedResult": { "status": "COMPLIANT", "conditionIndex": 300, "conditionText": "otherwise", "runtimeError": null }, "CA10__disappearanceTime__c": null, "CA10__environmentImage__c": "aws/codebuild/windows-base:2019-1.0" }, { "Id": "current-managed-13", "expectedResult": { "status": "COMPLIANT", "conditionIndex": 300, "conditionText": "otherwise", "runtimeError": null }, "CA10__disappearanceTime__c": null, "CA10__environmentImage__c": "aws/codebuild/windows-base:2019-2.0" }, { "Id": "current-managed-14", "expectedResult": { "status": "COMPLIANT", "conditionIndex": 300, "conditionText": "otherwise", "runtimeError": null }, "CA10__disappearanceTime__c": null, "CA10__environmentImage__c": "aws/codebuild/windows-base:2019-3.0" }, { "Id": "current-managed-15", "expectedResult": { "status": "COMPLIANT", "conditionIndex": 300, "conditionText": "otherwise", "runtimeError": null }, "CA10__disappearanceTime__c": null, "CA10__environmentImage__c": "aws/codebuild/windows-base:2022-1.0" }, { "Id": "current-managed-16", "expectedResult": { "status": "COMPLIANT", "conditionIndex": 300, "conditionText": "otherwise", "runtimeError": null }, "CA10__disappearanceTime__c": null, "CA10__environmentImage__c": "aws/codebuild/amazonlinux2-x86_64-standard:4.0" }, { "Id": "current-managed-17", "expectedResult": { "status": "COMPLIANT", "conditionIndex": 300, "conditionText": "otherwise", "runtimeError": null }, "CA10__disappearanceTime__c": null, "CA10__environmentImage__c": "aws/codebuild/amazonlinux2-x86_64-standard:5.0" }, { "Id": "current-managed-18", "expectedResult": { "status": "COMPLIANT", "conditionIndex": 300, "conditionText": "otherwise", "runtimeError": null }, "CA10__disappearanceTime__c": null, "CA10__environmentImage__c": "aws/codebuild/amazonlinux2-x86_64-standard:6.0" }, { "Id": "current-managed-19", "expectedResult": { "status": "COMPLIANT", "conditionIndex": 300, "conditionText": "otherwise", "runtimeError": null }, "CA10__disappearanceTime__c": null, "CA10__environmentImage__c": "aws/codebuild/amazonlinux2-x86_64-standard:corretto8" }, { "Id": "current-managed-20", "expectedResult": { "status": "COMPLIANT", "conditionIndex": 300, "conditionText": "otherwise", "runtimeError": null }, "CA10__disappearanceTime__c": null, "CA10__environmentImage__c": "aws/codebuild/amazonlinux2-x86_64-standard:corretto11" }, { "Id": "current-managed-21", "expectedResult": { "status": "COMPLIANT", "conditionIndex": 300, "conditionText": "otherwise", "runtimeError": null }, "CA10__disappearanceTime__c": null, "CA10__environmentImage__c": "aws/codebuild/amazonlinux2-aarch64-standard:2.0" }, { "Id": "current-managed-22", "expectedResult": { "status": "COMPLIANT", "conditionIndex": 300, "conditionText": "otherwise", "runtimeError": null }, "CA10__disappearanceTime__c": null, "CA10__environmentImage__c": "aws/codebuild/amazonlinux2-aarch64-standard:3.0" }, { "Id": "current-managed-23", "expectedResult": { "status": "COMPLIANT", "conditionIndex": 300, "conditionText": "otherwise", "runtimeError": null }, "CA10__disappearanceTime__c": null, "CA10__environmentImage__c": "aws/codebuild/amazonlinux-aarch64-lambda-standard:dotnet6" }, { "Id": "current-managed-24", "expectedResult": { "status": "COMPLIANT", "conditionIndex": 300, "conditionText": "otherwise", "runtimeError": null }, "CA10__disappearanceTime__c": null, "CA10__environmentImage__c": "aws/codebuild/amazonlinux-aarch64-lambda-standard:dotnet8" }, { "Id": "current-managed-25", "expectedResult": { "status": "COMPLIANT", "conditionIndex": 300, "conditionText": "otherwise", "runtimeError": null }, "CA10__disappearanceTime__c": null, "CA10__environmentImage__c": "aws/codebuild/amazonlinux-aarch64-lambda-standard:dotnet10" }, { "Id": "current-managed-26", "expectedResult": { "status": "COMPLIANT", "conditionIndex": 300, "conditionText": "otherwise", "runtimeError": null }, "CA10__disappearanceTime__c": null, "CA10__environmentImage__c": "aws/codebuild/amazonlinux-aarch64-lambda-standard:go1.21" }, { "Id": "current-managed-27", "expectedResult": { "status": "COMPLIANT", "conditionIndex": 300, "conditionText": "otherwise", "runtimeError": null }, "CA10__disappearanceTime__c": null, "CA10__environmentImage__c": "aws/codebuild/amazonlinux-aarch64-lambda-standard:go1.24" }, { "Id": "current-managed-28", "expectedResult": { "status": "COMPLIANT", "conditionIndex": 300, "conditionText": "otherwise", "runtimeError": null }, "CA10__disappearanceTime__c": null, "CA10__environmentImage__c": "aws/codebuild/amazonlinux-aarch64-lambda-standard:go1.25" }, { "Id": "current-managed-29", "expectedResult": { "status": "COMPLIANT", "conditionIndex": 300, "conditionText": "otherwise", "runtimeError": null }, "CA10__disappearanceTime__c": null, "CA10__environmentImage__c": "aws/codebuild/amazonlinux-aarch64-lambda-standard:corretto11" }, { "Id": "current-managed-30", "expectedResult": { "status": "COMPLIANT", "conditionIndex": 300, "conditionText": "otherwise", "runtimeError": null }, "CA10__disappearanceTime__c": null, "CA10__environmentImage__c": "aws/codebuild/amazonlinux-aarch64-lambda-standard:corretto17" }, { "Id": "current-managed-31", "expectedResult": { "status": "COMPLIANT", "conditionIndex": 300, "conditionText": "otherwise", "runtimeError": null }, "CA10__disappearanceTime__c": null, "CA10__environmentImage__c": "aws/codebuild/amazonlinux-aarch64-lambda-standard:corretto21" }, { "Id": "current-managed-32", "expectedResult": { "status": "COMPLIANT", "conditionIndex": 300, "conditionText": "otherwise", "runtimeError": null }, "CA10__disappearanceTime__c": null, "CA10__environmentImage__c": "aws/codebuild/amazonlinux-aarch64-lambda-standard:corretto25" }, { "Id": "current-managed-33", "expectedResult": { "status": "COMPLIANT", "conditionIndex": 300, "conditionText": "otherwise", "runtimeError": null }, "CA10__disappearanceTime__c": null, "CA10__environmentImage__c": "aws/codebuild/amazonlinux-aarch64-lambda-standard:nodejs18" }, { "Id": "current-managed-34", "expectedResult": { "status": "COMPLIANT", "conditionIndex": 300, "conditionText": "otherwise", "runtimeError": null }, "CA10__disappearanceTime__c": null, "CA10__environmentImage__c": "aws/codebuild/amazonlinux-aarch64-lambda-standard:nodejs20" }, { "Id": "current-managed-35", "expectedResult": { "status": "COMPLIANT", "conditionIndex": 300, "conditionText": "otherwise", "runtimeError": null }, "CA10__disappearanceTime__c": null, "CA10__environmentImage__c": "aws/codebuild/amazonlinux-aarch64-lambda-standard:nodejs22" }, { "Id": "current-managed-36", "expectedResult": { "status": "COMPLIANT", "conditionIndex": 300, "conditionText": "otherwise", "runtimeError": null }, "CA10__disappearanceTime__c": null, "CA10__environmentImage__c": "aws/codebuild/amazonlinux-aarch64-lambda-standard:nodejs24" }, { "Id": "current-managed-37", "expectedResult": { "status": "COMPLIANT", "conditionIndex": 300, "conditionText": "otherwise", "runtimeError": null }, "CA10__disappearanceTime__c": null, "CA10__environmentImage__c": "aws/codebuild/amazonlinux-aarch64-lambda-standard:python3.11" }, { "Id": "current-managed-38", "expectedResult": { "status": "COMPLIANT", "conditionIndex": 300, "conditionText": "otherwise", "runtimeError": null }, "CA10__disappearanceTime__c": null, "CA10__environmentImage__c": "aws/codebuild/amazonlinux-aarch64-lambda-standard:python3.12" }, { "Id": "current-managed-39", "expectedResult": { "status": "COMPLIANT", "conditionIndex": 300, "conditionText": "otherwise", "runtimeError": null }, "CA10__disappearanceTime__c": null, "CA10__environmentImage__c": "aws/codebuild/amazonlinux-aarch64-lambda-standard:python3.13" }, { "Id": "current-managed-40", "expectedResult": { "status": "COMPLIANT", "conditionIndex": 300, "conditionText": "otherwise", "runtimeError": null }, "CA10__disappearanceTime__c": null, "CA10__environmentImage__c": "aws/codebuild/amazonlinux-aarch64-lambda-standard:python3.14" }, { "Id": "current-managed-41", "expectedResult": { "status": "COMPLIANT", "conditionIndex": 300, "conditionText": "otherwise", "runtimeError": null }, "CA10__disappearanceTime__c": null, "CA10__environmentImage__c": "aws/codebuild/amazonlinux-aarch64-lambda-standard:ruby3.2" }, { "Id": "current-managed-42", "expectedResult": { "status": "COMPLIANT", "conditionIndex": 300, "conditionText": "otherwise", "runtimeError": null }, "CA10__disappearanceTime__c": null, "CA10__environmentImage__c": "aws/codebuild/amazonlinux-aarch64-lambda-standard:ruby3.4" }, { "Id": "current-managed-43", "expectedResult": { "status": "COMPLIANT", "conditionIndex": 300, "conditionText": "otherwise", "runtimeError": null }, "CA10__disappearanceTime__c": null, "CA10__environmentImage__c": "aws/codebuild/amazonlinux-x86_64-lambda-standard:dotnet6" }, { "Id": "current-managed-44", "expectedResult": { "status": "COMPLIANT", "conditionIndex": 300, "conditionText": "otherwise", "runtimeError": null }, "CA10__disappearanceTime__c": null, "CA10__environmentImage__c": "aws/codebuild/amazonlinux-x86_64-lambda-standard:dotnet8" }, { "Id": "current-managed-45", "expectedResult": { "status": "COMPLIANT", "conditionIndex": 300, "conditionText": "otherwise", "runtimeError": null }, "CA10__disappearanceTime__c": null, "CA10__environmentImage__c": "aws/codebuild/amazonlinux-x86_64-lambda-standard:dotnet10" }, { "Id": "current-managed-46", "expectedResult": { "status": "COMPLIANT", "conditionIndex": 300, "conditionText": "otherwise", "runtimeError": null }, "CA10__disappearanceTime__c": null, "CA10__environmentImage__c": "aws/codebuild/amazonlinux-x86_64-lambda-standard:go1.21" }, { "Id": "current-managed-47", "expectedResult": { "status": "COMPLIANT", "conditionIndex": 300, "conditionText": "otherwise", "runtimeError": null }, "CA10__disappearanceTime__c": null, "CA10__environmentImage__c": "aws/codebuild/amazonlinux-x86_64-lambda-standard:go1.24" }, { "Id": "current-managed-48", "expectedResult": { "status": "COMPLIANT", "conditionIndex": 300, "conditionText": "otherwise", "runtimeError": null }, "CA10__disappearanceTime__c": null, "CA10__environmentImage__c": "aws/codebuild/amazonlinux-x86_64-lambda-standard:go1.25" }, { "Id": "current-managed-49", "expectedResult": { "status": "COMPLIANT", "conditionIndex": 300, "conditionText": "otherwise", "runtimeError": null }, "CA10__disappearanceTime__c": null, "CA10__environmentImage__c": "aws/codebuild/amazonlinux-x86_64-lambda-standard:corretto11" }, { "Id": "current-managed-50", "expectedResult": { "status": "COMPLIANT", "conditionIndex": 300, "conditionText": "otherwise", "runtimeError": null }, "CA10__disappearanceTime__c": null, "CA10__environmentImage__c": "aws/codebuild/amazonlinux-x86_64-lambda-standard:corretto17" }, { "Id": "current-managed-51", "expectedResult": { "status": "COMPLIANT", "conditionIndex": 300, "conditionText": "otherwise", "runtimeError": null }, "CA10__disappearanceTime__c": null, "CA10__environmentImage__c": "aws/codebuild/amazonlinux-x86_64-lambda-standard:corretto21" }, { "Id": "current-managed-52", "expectedResult": { "status": "COMPLIANT", "conditionIndex": 300, "conditionText": "otherwise", "runtimeError": null }, "CA10__disappearanceTime__c": null, "CA10__environmentImage__c": "aws/codebuild/amazonlinux-x86_64-lambda-standard:corretto25" }, { "Id": "current-managed-53", "expectedResult": { "status": "COMPLIANT", "conditionIndex": 300, "conditionText": "otherwise", "runtimeError": null }, "CA10__disappearanceTime__c": null, "CA10__environmentImage__c": "aws/codebuild/amazonlinux-x86_64-lambda-standard:nodejs18" }, { "Id": "current-managed-54", "expectedResult": { "status": "COMPLIANT", "conditionIndex": 300, "conditionText": "otherwise", "runtimeError": null }, "CA10__disappearanceTime__c": null, "CA10__environmentImage__c": "aws/codebuild/amazonlinux-x86_64-lambda-standard:nodejs20" }, { "Id": "current-managed-55", "expectedResult": { "status": "COMPLIANT", "conditionIndex": 300, "conditionText": "otherwise", "runtimeError": null }, "CA10__disappearanceTime__c": null, "CA10__environmentImage__c": "aws/codebuild/amazonlinux-x86_64-lambda-standard:nodejs22" }, { "Id": "current-managed-56", "expectedResult": { "status": "COMPLIANT", "conditionIndex": 300, "conditionText": "otherwise", "runtimeError": null }, "CA10__disappearanceTime__c": null, "CA10__environmentImage__c": "aws/codebuild/amazonlinux-x86_64-lambda-standard:nodejs24" }, { "Id": "current-managed-57", "expectedResult": { "status": "COMPLIANT", "conditionIndex": 300, "conditionText": "otherwise", "runtimeError": null }, "CA10__disappearanceTime__c": null, "CA10__environmentImage__c": "aws/codebuild/amazonlinux-x86_64-lambda-standard:python3.11" }, { "Id": "current-managed-58", "expectedResult": { "status": "COMPLIANT", "conditionIndex": 300, "conditionText": "otherwise", "runtimeError": null }, "CA10__disappearanceTime__c": null, "CA10__environmentImage__c": "aws/codebuild/amazonlinux-x86_64-lambda-standard:python3.12" }, { "Id": "current-managed-59", "expectedResult": { "status": "COMPLIANT", "conditionIndex": 300, "conditionText": "otherwise", "runtimeError": null }, "CA10__disappearanceTime__c": null, "CA10__environmentImage__c": "aws/codebuild/amazonlinux-x86_64-lambda-standard:python3.13" }, { "Id": "current-managed-60", "expectedResult": { "status": "COMPLIANT", "conditionIndex": 300, "conditionText": "otherwise", "runtimeError": null }, "CA10__disappearanceTime__c": null, "CA10__environmentImage__c": "aws/codebuild/amazonlinux-x86_64-lambda-standard:python3.14" }, { "Id": "current-managed-61", "expectedResult": { "status": "COMPLIANT", "conditionIndex": 300, "conditionText": "otherwise", "runtimeError": null }, "CA10__disappearanceTime__c": null, "CA10__environmentImage__c": "aws/codebuild/amazonlinux-x86_64-lambda-standard:ruby3.2" }, { "Id": "current-managed-62", "expectedResult": { "status": "COMPLIANT", "conditionIndex": 300, "conditionText": "otherwise", "runtimeError": null }, "CA10__disappearanceTime__c": null, "CA10__environmentImage__c": "aws/codebuild/amazonlinux-x86_64-lambda-standard:ruby3.4" }, { "Id": "deprecated-2022-06-30-1", "expectedResult": { "status": "INCOMPLIANT", "conditionIndex": 199, "conditionText": "setOfBytes(['aws/codebuild/standard:3.0', 'aws/codebuild/amazonlinux2-x86_64-standard:2.0', 'aws/codebuild/standard:4.0', 'aws/codebuild/amazonlinux2-aarch64-standard:1.0', 'aws/codebuild/amazonlinux2-x86_64-standard:3.0']).contains(extract('CA10__environmentImage__c'))", "runtimeError": null }, "CA10__disappearanceTime__c": null, "CA10__environmentImage__c": "aws/codebuild/standard:3.0" }, { "Id": "deprecated-2022-06-30-2", "expectedResult": { "status": "INCOMPLIANT", "conditionIndex": 199, "conditionText": "setOfBytes(['aws/codebuild/standard:3.0', 'aws/codebuild/amazonlinux2-x86_64-standard:2.0', 'aws/codebuild/standard:4.0', 'aws/codebuild/amazonlinux2-aarch64-standard:1.0', 'aws/codebuild/amazonlinux2-x86_64-standard:3.0']).contains(extract('CA10__environmentImage__c'))", "runtimeError": null }, "CA10__disappearanceTime__c": null, "CA10__environmentImage__c": "aws/codebuild/amazonlinux2-x86_64-standard:2.0" }, { "Id": "deprecated-2023-03-31-1", "expectedResult": { "status": "INCOMPLIANT", "conditionIndex": 199, "conditionText": "setOfBytes(['aws/codebuild/standard:3.0', 'aws/codebuild/amazonlinux2-x86_64-standard:2.0', 'aws/codebuild/standard:4.0', 'aws/codebuild/amazonlinux2-aarch64-standard:1.0', 'aws/codebuild/amazonlinux2-x86_64-standard:3.0']).contains(extract('CA10__environmentImage__c'))", "runtimeError": null }, "CA10__disappearanceTime__c": null, "CA10__environmentImage__c": "aws/codebuild/standard:4.0" }, { "Id": "deprecated-2023-03-31-2", "expectedResult": { "status": "INCOMPLIANT", "conditionIndex": 199, "conditionText": "setOfBytes(['aws/codebuild/standard:3.0', 'aws/codebuild/amazonlinux2-x86_64-standard:2.0', 'aws/codebuild/standard:4.0', 'aws/codebuild/amazonlinux2-aarch64-standard:1.0', 'aws/codebuild/amazonlinux2-x86_64-standard:3.0']).contains(extract('CA10__environmentImage__c'))", "runtimeError": null }, "CA10__disappearanceTime__c": null, "CA10__environmentImage__c": "aws/codebuild/amazonlinux2-aarch64-standard:1.0" }, { "Id": "deprecated-2023-05-09-1", "expectedResult": { "status": "INCOMPLIANT", "conditionIndex": 199, "conditionText": "setOfBytes(['aws/codebuild/standard:3.0', 'aws/codebuild/amazonlinux2-x86_64-standard:2.0', 'aws/codebuild/standard:4.0', 'aws/codebuild/amazonlinux2-aarch64-standard:1.0', 'aws/codebuild/amazonlinux2-x86_64-standard:3.0']).contains(extract('CA10__environmentImage__c'))", "runtimeError": null }, "CA10__disappearanceTime__c": null, "CA10__environmentImage__c": "aws/codebuild/amazonlinux2-x86_64-standard:3.0" }, { "Id": "missing-image", "expectedResult": { "status": "UNDETERMINED", "conditionIndex": 101, "conditionText": "CA10__environmentImage__c.isEmpty()", "runtimeError": null }, "CA10__disappearanceTime__c": null, "CA10__environmentImage__c": null }, { "Id": "empty-image", "expectedResult": { "status": "UNDETERMINED", "conditionIndex": 101, "conditionText": "CA10__environmentImage__c.isEmpty()", "runtimeError": null }, "CA10__disappearanceTime__c": null, "CA10__environmentImage__c": "" }, { "Id": "whitespace-image", "expectedResult": { "status": "INAPPLICABLE", "conditionIndex": 299, "conditionText": "not(extract('CA10__environmentImage__c').startsWith(bytes('aws/codebuild/')))", "runtimeError": null }, "CA10__disappearanceTime__c": null, "CA10__environmentImage__c": " " }, { "Id": "unlisted-future-version", "expectedResult": { "status": "COMPLIANT", "conditionIndex": 300, "conditionText": "otherwise", "runtimeError": null }, "CA10__disappearanceTime__c": null, "CA10__environmentImage__c": "aws/codebuild/standard:99.0" }, { "Id": "unlisted-legacy-version", "expectedResult": { "status": "COMPLIANT", "conditionIndex": 300, "conditionText": "otherwise", "runtimeError": null }, "CA10__disappearanceTime__c": null, "CA10__environmentImage__c": "aws/codebuild/standard:1.0" }, { "Id": "unlisted-al2-version", "expectedResult": { "status": "COMPLIANT", "conditionIndex": 300, "conditionText": "otherwise", "runtimeError": null }, "CA10__disappearanceTime__c": null, "CA10__environmentImage__c": "aws/codebuild/amazonlinux2-x86_64-standard:1.0" }, { "Id": "unlisted-lambda-version", "expectedResult": { "status": "COMPLIANT", "conditionIndex": 300, "conditionText": "otherwise", "runtimeError": null }, "CA10__disappearanceTime__c": null, "CA10__environmentImage__c": "aws/codebuild/amazonlinux-x86_64-lambda-standard:nodejs16" }, { "Id": "custom-ecr", "expectedResult": { "status": "INAPPLICABLE", "conditionIndex": 299, "conditionText": "not(extract('CA10__environmentImage__c').startsWith(bytes('aws/codebuild/')))", "runtimeError": null }, "CA10__disappearanceTime__c": null, "CA10__environmentImage__c": "123456789012.dkr.ecr.us-east-1.amazonaws.com/codebuild/python:latest" }, { "Id": "custom-dockerhub", "expectedResult": { "status": "INAPPLICABLE", "conditionIndex": 299, "conditionText": "not(extract('CA10__environmentImage__c').startsWith(bytes('aws/codebuild/')))", "runtimeError": null }, "CA10__disappearanceTime__c": null, "CA10__environmentImage__c": "example/codebuild:latest" }, { "Id": "custom-misleading-prefix", "expectedResult": { "status": "INAPPLICABLE", "conditionIndex": 299, "conditionText": "not(extract('CA10__environmentImage__c').startsWith(bytes('aws/codebuild/')))", "runtimeError": null }, "CA10__disappearanceTime__c": null, "CA10__environmentImage__c": "example/aws/codebuild/standard:4.0" }, { "Id": "pinned-current", "expectedResult": { "status": "COMPLIANT", "conditionIndex": 300, "conditionText": "otherwise", "runtimeError": null }, "CA10__disappearanceTime__c": null, "CA10__environmentImage__c": "aws/codebuild/amazonlinux2-x86_64-standard:5.0-24.03.20" }, { "Id": "pinned-deprecated", "expectedResult": { "status": "COMPLIANT", "conditionIndex": 300, "conditionText": "otherwise", "runtimeError": null }, "CA10__disappearanceTime__c": null, "CA10__environmentImage__c": "aws/codebuild/standard:4.0-1.0.0" }, { "Id": "digest-current", "expectedResult": { "status": "COMPLIANT", "conditionIndex": 300, "conditionText": "otherwise", "runtimeError": null }, "CA10__disappearanceTime__c": null, "CA10__environmentImage__c": "aws/codebuild/standard@sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" }, { "Id": "uppercase-deprecated", "expectedResult": { "status": "INAPPLICABLE", "conditionIndex": 299, "conditionText": "not(extract('CA10__environmentImage__c').startsWith(bytes('aws/codebuild/')))", "runtimeError": null }, "CA10__disappearanceTime__c": null, "CA10__environmentImage__c": "AWS/CODEBUILD/STANDARD:4.0" }, { "Id": "uppercase-current", "expectedResult": { "status": "INAPPLICABLE", "conditionIndex": 299, "conditionText": "not(extract('CA10__environmentImage__c').startsWith(bytes('aws/codebuild/')))", "runtimeError": null }, "CA10__disappearanceTime__c": null, "CA10__environmentImage__c": "AWS/CODEBUILD/STANDARD:7.0" }, { "Id": "whitespace-deprecated", "expectedResult": { "status": "INAPPLICABLE", "conditionIndex": 299, "conditionText": "not(extract('CA10__environmentImage__c').startsWith(bytes('aws/codebuild/')))", "runtimeError": null }, "CA10__disappearanceTime__c": null, "CA10__environmentImage__c": " aws/codebuild/standard:4.0 " }, { "Id": "whitespace-current", "expectedResult": { "status": "COMPLIANT", "conditionIndex": 300, "conditionText": "otherwise", "runtimeError": null }, "CA10__disappearanceTime__c": null, "CA10__environmentImage__c": "aws/codebuild/standard:7.0 " }, { "Id": "malformed-image", "expectedResult": { "status": "INAPPLICABLE", "conditionIndex": 299, "conditionText": "not(extract('CA10__environmentImage__c').startsWith(bytes('aws/codebuild/')))", "runtimeError": null }, "CA10__disappearanceTime__c": null, "CA10__environmentImage__c": "invalid image reference" }, { "Id": "disappeared-deprecated", "expectedResult": { "status": "DISAPPEARED", "conditionIndex": 99, "conditionText": "isDisappeared(CA10__disappearanceTime__c)", "runtimeError": null }, "CA10__disappearanceTime__c": "2026-10-01T00:00:00Z", "CA10__environmentImage__c": "aws/codebuild/standard:4.0" }, { "Id": "disappeared-missing", "expectedResult": { "status": "DISAPPEARED", "conditionIndex": 99, "conditionText": "isDisappeared(CA10__disappearanceTime__c)", "runtimeError": null }, "CA10__disappearanceTime__c": "2026-10-01T00:00:00Z", "CA10__environmentImage__c": null }, { "Id": "current-arm-standard-4", "expectedResult": { "status": "COMPLIANT", "conditionIndex": 300, "conditionText": "otherwise", "runtimeError": null }, "CA10__disappearanceTime__c": null, "CA10__environmentImage__c": "aws/codebuild/amazonlinux-aarch64-standard:4.0" }, { "Id": "unverified-arm-standard-4-alias", "expectedResult": { "status": "COMPLIANT", "conditionIndex": 300, "conditionText": "otherwise", "runtimeError": null }, "CA10__disappearanceTime__c": null, "CA10__environmentImage__c": "aws/codebuild/amazonlinux2-aarch64-standard:4.0" }, { "Id": "unlisted-legacy-standard-2", "expectedResult": { "status": "COMPLIANT", "conditionIndex": 300, "conditionText": "otherwise", "runtimeError": null }, "CA10__disappearanceTime__c": null, "CA10__environmentImage__c": "aws/codebuild/standard:2.0" }, { "Id": "custom-ecr-deprecated-lookalike", "expectedResult": { "status": "INAPPLICABLE", "conditionIndex": 299, "conditionText": "not(extract('CA10__environmentImage__c').startsWith(bytes('aws/codebuild/')))", "runtimeError": null }, "CA10__disappearanceTime__c": null, "CA10__environmentImage__c": "123456789012.dkr.ecr.us-east-1.amazonaws.com/aws/codebuild/standard:4.0" }, { "Id": "deprecated-image-new-runtime", "expectedResult": { "status": "INCOMPLIANT", "conditionIndex": 199, "conditionText": "setOfBytes(['aws/codebuild/standard:3.0', 'aws/codebuild/amazonlinux2-x86_64-standard:2.0', 'aws/codebuild/standard:4.0', 'aws/codebuild/amazonlinux2-aarch64-standard:1.0', 'aws/codebuild/amazonlinux2-x86_64-standard:3.0']).contains(extract('CA10__environmentImage__c'))", "runtimeError": null }, "CA10__disappearanceTime__c": null, "CA10__environmentImage__c": "aws/codebuild/standard:4.0", "CA10__sourceBuildSpec__c": "version: 0.2\nphases:\n install:\n runtime-versions:\n nodejs: 22\n" }, { "Id": "current-image-old-runtime", "expectedResult": { "status": "COMPLIANT", "conditionIndex": 300, "conditionText": "otherwise", "runtimeError": null }, "CA10__disappearanceTime__c": null, "CA10__environmentImage__c": "aws/codebuild/standard:7.0", "CA10__sourceBuildSpec__c": "version: 0.2\nphases:\n install:\n runtime-versions:\n nodejs: 10\n" }, { "Id": "unlisted-future-family", "expectedResult": { "status": "COMPLIANT", "conditionIndex": 300, "conditionText": "otherwise", "runtimeError": null }, "CA10__disappearanceTime__c": null, "CA10__environmentImage__c": "aws/codebuild/future-platform:42.0" }, { "Id": "custom-namespace-lookalike", "expectedResult": { "status": "INAPPLICABLE", "conditionIndex": 299, "conditionText": "not(extract('CA10__environmentImage__c').startsWith(bytes('aws/codebuild/')))", "runtimeError": null }, "CA10__disappearanceTime__c": null, "CA10__environmentImage__c": "aws/codebuild-custom/standard:4.0" }, { "Id": "deprecated-list-independent-of-past-clock", "expectedResult": { "status": "INCOMPLIANT", "conditionIndex": 199, "conditionText": "setOfBytes(['aws/codebuild/standard:3.0', 'aws/codebuild/amazonlinux2-x86_64-standard:2.0', 'aws/codebuild/standard:4.0', 'aws/codebuild/amazonlinux2-aarch64-standard:1.0', 'aws/codebuild/amazonlinux2-x86_64-standard:3.0']).contains(extract('CA10__environmentImage__c'))", "runtimeError": null }, "CA10__disappearanceTime__c": null, "CA10__environmentImage__c": "aws/codebuild/standard:4.0", "context": { "snapshotTime": "2020-01-01T00:00:00Z" } }, { "Id": "deprecated-list-independent-of-future-clock", "expectedResult": { "status": "INCOMPLIANT", "conditionIndex": 199, "conditionText": "setOfBytes(['aws/codebuild/standard:3.0', 'aws/codebuild/amazonlinux2-x86_64-standard:2.0', 'aws/codebuild/standard:4.0', 'aws/codebuild/amazonlinux2-aarch64-standard:1.0', 'aws/codebuild/amazonlinux2-x86_64-standard:3.0']).contains(extract('CA10__environmentImage__c'))", "runtimeError": null }, "CA10__disappearanceTime__c": null, "CA10__environmentImage__c": "aws/codebuild/standard:4.0", "context": { "snapshotTime": "2050-01-01T00:00:00Z" } } ] - path: /types/CA10__CaAwsCodeBuildProject__c/object.extracts.yaml md5Hash: 4F876F8F57FE0C0450A682588C03C0D2 content: "---\nextracts:\n# Values: CODECOMMIT | CODEPIPELINE | GITHUB | GITLAB\ \ | GITLAB_SELF_MANAGED | S3 | BITBUCKET | GITHUB_ENTERPRISE | NO_SOURCE\n#\ \ Not Nullable. \n - name: CA10__sourceType__c\n value: \n FIELD:\n\ \ path: CA10__sourceType__c\n undeterminedIf:\n noAccessDelegate:\n\ \ path: \"CA10__sourceType__c\"\n currentStateMessage:\ \ \"CodeBuild Project Source Type cannot be empty. Possible permissions issue\ \ with codebuild:BatchGetBuilds\"\n# Nullable.\n - name: CA10__sourceLocation__c\n\ \ value: \n FIELD:\n path: CA10__sourceLocation__c\n# Image identifiers\ \ are case-sensitive and must not be whitespace-normalized.\n - name: CA10__environmentImage__c\n\ \ value:\n FIELD:\n path: CA10__environmentImage__c\n \ \ returnType: BYTES\n undeterminedIf:\n isEmpty: \"CodeBuild\ \ Project Environment Image is empty. Check codebuild:BatchGetProjects permissions\ \ and inventory collection.\"\n" script: |- CREATE TEMP FUNCTION mock_ExpectedResult() RETURNS ARRAY >> DETERMINISTIC LANGUAGE js AS r""" return [ { "Id" : "current-managed-01", "expectedResult" : { "status" : "COMPLIANT", "conditionIndex" : 300, "conditionText" : "otherwise", "runtimeError" : null } }, { "Id" : "current-managed-02", "expectedResult" : { "status" : "COMPLIANT", "conditionIndex" : 300, "conditionText" : "otherwise", "runtimeError" : null } }, { "Id" : "current-managed-03", "expectedResult" : { "status" : "COMPLIANT", "conditionIndex" : 300, "conditionText" : "otherwise", "runtimeError" : null } }, { "Id" : "current-managed-04", "expectedResult" : { "status" : "COMPLIANT", "conditionIndex" : 300, "conditionText" : "otherwise", "runtimeError" : null } }, { "Id" : "current-managed-05", "expectedResult" : { "status" : "COMPLIANT", "conditionIndex" : 300, "conditionText" : "otherwise", "runtimeError" : null } }, { "Id" : "current-managed-06", "expectedResult" : { "status" : "COMPLIANT", "conditionIndex" : 300, "conditionText" : "otherwise", "runtimeError" : null } }, { "Id" : "current-managed-07", "expectedResult" : { "status" : "COMPLIANT", "conditionIndex" : 300, "conditionText" : "otherwise", "runtimeError" : null } }, { "Id" : "current-managed-08", "expectedResult" : { "status" : "COMPLIANT", "conditionIndex" : 300, "conditionText" : "otherwise", "runtimeError" : null } }, { "Id" : "current-managed-09", "expectedResult" : { "status" : "COMPLIANT", "conditionIndex" : 300, "conditionText" : "otherwise", "runtimeError" : null } }, { "Id" : "current-managed-10", "expectedResult" : { "status" : "COMPLIANT", "conditionIndex" : 300, "conditionText" : "otherwise", "runtimeError" : null } }, { "Id" : "current-managed-11", "expectedResult" : { "status" : "COMPLIANT", "conditionIndex" : 300, "conditionText" : "otherwise", "runtimeError" : null } }, { "Id" : "current-managed-12", "expectedResult" : { "status" : "COMPLIANT", "conditionIndex" : 300, "conditionText" : "otherwise", "runtimeError" : null } }, { "Id" : "current-managed-13", "expectedResult" : { "status" : "COMPLIANT", "conditionIndex" : 300, "conditionText" : "otherwise", "runtimeError" : null } }, { "Id" : "current-managed-14", "expectedResult" : { "status" : "COMPLIANT", "conditionIndex" : 300, "conditionText" : "otherwise", "runtimeError" : null } }, { "Id" : "current-managed-15", "expectedResult" : { "status" : "COMPLIANT", "conditionIndex" : 300, "conditionText" : "otherwise", "runtimeError" : null } }, { "Id" : "current-managed-16", "expectedResult" : { "status" : "COMPLIANT", "conditionIndex" : 300, "conditionText" : "otherwise", "runtimeError" : null } }, { "Id" : "current-managed-17", "expectedResult" : { "status" : "COMPLIANT", "conditionIndex" : 300, "conditionText" : "otherwise", "runtimeError" : null } }, { "Id" : "current-managed-18", "expectedResult" : { "status" : "COMPLIANT", "conditionIndex" : 300, "conditionText" : "otherwise", "runtimeError" : null } }, { "Id" : "current-managed-19", "expectedResult" : { "status" : "COMPLIANT", "conditionIndex" : 300, "conditionText" : "otherwise", "runtimeError" : null } }, { "Id" : "current-managed-20", "expectedResult" : { "status" : "COMPLIANT", "conditionIndex" : 300, "conditionText" : "otherwise", "runtimeError" : null } }, { "Id" : "current-managed-21", "expectedResult" : { "status" : "COMPLIANT", "conditionIndex" : 300, "conditionText" : "otherwise", "runtimeError" : null } }, { "Id" : "current-managed-22", "expectedResult" : { "status" : "COMPLIANT", "conditionIndex" : 300, "conditionText" : "otherwise", "runtimeError" : null } }, { "Id" : "current-managed-23", "expectedResult" : { "status" : "COMPLIANT", "conditionIndex" : 300, "conditionText" : "otherwise", "runtimeError" : null } }, { "Id" : "current-managed-24", "expectedResult" : { "status" : "COMPLIANT", "conditionIndex" : 300, "conditionText" : "otherwise", "runtimeError" : null } }, { "Id" : "current-managed-25", "expectedResult" : { "status" : "COMPLIANT", "conditionIndex" : 300, "conditionText" : "otherwise", "runtimeError" : null } }, { "Id" : "current-managed-26", "expectedResult" : { "status" : "COMPLIANT", "conditionIndex" : 300, "conditionText" : "otherwise", "runtimeError" : null } }, { "Id" : "current-managed-27", "expectedResult" : { "status" : "COMPLIANT", "conditionIndex" : 300, "conditionText" : "otherwise", "runtimeError" : null } }, { "Id" : "current-managed-28", "expectedResult" : { "status" : "COMPLIANT", "conditionIndex" : 300, "conditionText" : "otherwise", "runtimeError" : null } }, { "Id" : "current-managed-29", "expectedResult" : { "status" : "COMPLIANT", "conditionIndex" : 300, "conditionText" : "otherwise", "runtimeError" : null } }, { "Id" : "current-managed-30", "expectedResult" : { "status" : "COMPLIANT", "conditionIndex" : 300, "conditionText" : "otherwise", "runtimeError" : null } }, { "Id" : "current-managed-31", "expectedResult" : { "status" : "COMPLIANT", "conditionIndex" : 300, "conditionText" : "otherwise", "runtimeError" : null } }, { "Id" : "current-managed-32", "expectedResult" : { "status" : "COMPLIANT", "conditionIndex" : 300, "conditionText" : "otherwise", "runtimeError" : null } }, { "Id" : "current-managed-33", "expectedResult" : { "status" : "COMPLIANT", "conditionIndex" : 300, "conditionText" : "otherwise", "runtimeError" : null } }, { "Id" : "current-managed-34", "expectedResult" : { "status" : "COMPLIANT", "conditionIndex" : 300, "conditionText" : "otherwise", "runtimeError" : null } }, { "Id" : "current-managed-35", "expectedResult" : { "status" : "COMPLIANT", "conditionIndex" : 300, "conditionText" : "otherwise", "runtimeError" : null } }, { "Id" : "current-managed-36", "expectedResult" : { "status" : "COMPLIANT", "conditionIndex" : 300, "conditionText" : "otherwise", "runtimeError" : null } }, { "Id" : "current-managed-37", "expectedResult" : { "status" : "COMPLIANT", "conditionIndex" : 300, "conditionText" : "otherwise", "runtimeError" : null } }, { "Id" : "current-managed-38", "expectedResult" : { "status" : "COMPLIANT", "conditionIndex" : 300, "conditionText" : "otherwise", "runtimeError" : null } }, { "Id" : "current-managed-39", "expectedResult" : { "status" : "COMPLIANT", "conditionIndex" : 300, "conditionText" : "otherwise", "runtimeError" : null } }, { "Id" : "current-managed-40", "expectedResult" : { "status" : "COMPLIANT", "conditionIndex" : 300, "conditionText" : "otherwise", "runtimeError" : null } }, { "Id" : "current-managed-41", "expectedResult" : { "status" : "COMPLIANT", "conditionIndex" : 300, "conditionText" : "otherwise", "runtimeError" : null } }, { "Id" : "current-managed-42", "expectedResult" : { "status" : "COMPLIANT", "conditionIndex" : 300, "conditionText" : "otherwise", "runtimeError" : null } }, { "Id" : "current-managed-43", "expectedResult" : { "status" : "COMPLIANT", "conditionIndex" : 300, "conditionText" : "otherwise", "runtimeError" : null } }, { "Id" : "current-managed-44", "expectedResult" : { "status" : "COMPLIANT", "conditionIndex" : 300, "conditionText" : "otherwise", "runtimeError" : null } }, { "Id" : "current-managed-45", "expectedResult" : { "status" : "COMPLIANT", "conditionIndex" : 300, "conditionText" : "otherwise", "runtimeError" : null } }, { "Id" : "current-managed-46", "expectedResult" : { "status" : "COMPLIANT", "conditionIndex" : 300, "conditionText" : "otherwise", "runtimeError" : null } }, { "Id" : "current-managed-47", "expectedResult" : { "status" : "COMPLIANT", "conditionIndex" : 300, "conditionText" : "otherwise", "runtimeError" : null } }, { "Id" : "current-managed-48", "expectedResult" : { "status" : "COMPLIANT", "conditionIndex" : 300, "conditionText" : "otherwise", "runtimeError" : null } }, { "Id" : "current-managed-49", "expectedResult" : { "status" : "COMPLIANT", "conditionIndex" : 300, "conditionText" : "otherwise", "runtimeError" : null } }, { "Id" : "current-managed-50", "expectedResult" : { "status" : "COMPLIANT", "conditionIndex" : 300, "conditionText" : "otherwise", "runtimeError" : null } }, { "Id" : "current-managed-51", "expectedResult" : { "status" : "COMPLIANT", "conditionIndex" : 300, "conditionText" : "otherwise", "runtimeError" : null } }, { "Id" : "current-managed-52", "expectedResult" : { "status" : "COMPLIANT", "conditionIndex" : 300, "conditionText" : "otherwise", "runtimeError" : null } }, { "Id" : "current-managed-53", "expectedResult" : { "status" : "COMPLIANT", "conditionIndex" : 300, "conditionText" : "otherwise", "runtimeError" : null } }, { "Id" : "current-managed-54", "expectedResult" : { "status" : "COMPLIANT", "conditionIndex" : 300, "conditionText" : "otherwise", "runtimeError" : null } }, { "Id" : "current-managed-55", "expectedResult" : { "status" : "COMPLIANT", "conditionIndex" : 300, "conditionText" : "otherwise", "runtimeError" : null } }, { "Id" : "current-managed-56", "expectedResult" : { "status" : "COMPLIANT", "conditionIndex" : 300, "conditionText" : "otherwise", "runtimeError" : null } }, { "Id" : "current-managed-57", "expectedResult" : { "status" : "COMPLIANT", "conditionIndex" : 300, "conditionText" : "otherwise", "runtimeError" : null } }, { "Id" : "current-managed-58", "expectedResult" : { "status" : "COMPLIANT", "conditionIndex" : 300, "conditionText" : "otherwise", "runtimeError" : null } }, { "Id" : "current-managed-59", "expectedResult" : { "status" : "COMPLIANT", "conditionIndex" : 300, "conditionText" : "otherwise", "runtimeError" : null } }, { "Id" : "current-managed-60", "expectedResult" : { "status" : "COMPLIANT", "conditionIndex" : 300, "conditionText" : "otherwise", "runtimeError" : null } }, { "Id" : "current-managed-61", "expectedResult" : { "status" : "COMPLIANT", "conditionIndex" : 300, "conditionText" : "otherwise", "runtimeError" : null } }, { "Id" : "current-managed-62", "expectedResult" : { "status" : "COMPLIANT", "conditionIndex" : 300, "conditionText" : "otherwise", "runtimeError" : null } }, { "Id" : "deprecated-2022-06-30-1", "expectedResult" : { "status" : "INCOMPLIANT", "conditionIndex" : 199, "conditionText" : "setOfBytes(['aws/codebuild/standard:3.0', 'aws/codebuild/amazonlinux2-x86_64-standard:2.0', 'aws/codebuild/standard:4.0', 'aws/codebuild/amazonlinux2-aarch64-standard:1.0', 'aws/codebuild/amazonlinux2-x86_64-standard:3.0']).contains(extract('CA10__environmentImage__c'))", "runtimeError" : null } }, { "Id" : "deprecated-2022-06-30-2", "expectedResult" : { "status" : "INCOMPLIANT", "conditionIndex" : 199, "conditionText" : "setOfBytes(['aws/codebuild/standard:3.0', 'aws/codebuild/amazonlinux2-x86_64-standard:2.0', 'aws/codebuild/standard:4.0', 'aws/codebuild/amazonlinux2-aarch64-standard:1.0', 'aws/codebuild/amazonlinux2-x86_64-standard:3.0']).contains(extract('CA10__environmentImage__c'))", "runtimeError" : null } }, { "Id" : "deprecated-2023-03-31-1", "expectedResult" : { "status" : "INCOMPLIANT", "conditionIndex" : 199, "conditionText" : "setOfBytes(['aws/codebuild/standard:3.0', 'aws/codebuild/amazonlinux2-x86_64-standard:2.0', 'aws/codebuild/standard:4.0', 'aws/codebuild/amazonlinux2-aarch64-standard:1.0', 'aws/codebuild/amazonlinux2-x86_64-standard:3.0']).contains(extract('CA10__environmentImage__c'))", "runtimeError" : null } }, { "Id" : "deprecated-2023-03-31-2", "expectedResult" : { "status" : "INCOMPLIANT", "conditionIndex" : 199, "conditionText" : "setOfBytes(['aws/codebuild/standard:3.0', 'aws/codebuild/amazonlinux2-x86_64-standard:2.0', 'aws/codebuild/standard:4.0', 'aws/codebuild/amazonlinux2-aarch64-standard:1.0', 'aws/codebuild/amazonlinux2-x86_64-standard:3.0']).contains(extract('CA10__environmentImage__c'))", "runtimeError" : null } }, { "Id" : "deprecated-2023-05-09-1", "expectedResult" : { "status" : "INCOMPLIANT", "conditionIndex" : 199, "conditionText" : "setOfBytes(['aws/codebuild/standard:3.0', 'aws/codebuild/amazonlinux2-x86_64-standard:2.0', 'aws/codebuild/standard:4.0', 'aws/codebuild/amazonlinux2-aarch64-standard:1.0', 'aws/codebuild/amazonlinux2-x86_64-standard:3.0']).contains(extract('CA10__environmentImage__c'))", "runtimeError" : null } }, { "Id" : "missing-image", "expectedResult" : { "status" : "UNDETERMINED", "conditionIndex" : 101, "conditionText" : "CA10__environmentImage__c.isEmpty()", "runtimeError" : null } }, { "Id" : "empty-image", "expectedResult" : { "status" : "UNDETERMINED", "conditionIndex" : 101, "conditionText" : "CA10__environmentImage__c.isEmpty()", "runtimeError" : null } }, { "Id" : "whitespace-image", "expectedResult" : { "status" : "INAPPLICABLE", "conditionIndex" : 299, "conditionText" : "not(extract('CA10__environmentImage__c').startsWith(bytes('aws/codebuild/')))", "runtimeError" : null } }, { "Id" : "unlisted-future-version", "expectedResult" : { "status" : "COMPLIANT", "conditionIndex" : 300, "conditionText" : "otherwise", "runtimeError" : null } }, { "Id" : "unlisted-legacy-version", "expectedResult" : { "status" : "COMPLIANT", "conditionIndex" : 300, "conditionText" : "otherwise", "runtimeError" : null } }, { "Id" : "unlisted-al2-version", "expectedResult" : { "status" : "COMPLIANT", "conditionIndex" : 300, "conditionText" : "otherwise", "runtimeError" : null } }, { "Id" : "unlisted-lambda-version", "expectedResult" : { "status" : "COMPLIANT", "conditionIndex" : 300, "conditionText" : "otherwise", "runtimeError" : null } }, { "Id" : "custom-ecr", "expectedResult" : { "status" : "INAPPLICABLE", "conditionIndex" : 299, "conditionText" : "not(extract('CA10__environmentImage__c').startsWith(bytes('aws/codebuild/')))", "runtimeError" : null } }, { "Id" : "custom-dockerhub", "expectedResult" : { "status" : "INAPPLICABLE", "conditionIndex" : 299, "conditionText" : "not(extract('CA10__environmentImage__c').startsWith(bytes('aws/codebuild/')))", "runtimeError" : null } }, { "Id" : "custom-misleading-prefix", "expectedResult" : { "status" : "INAPPLICABLE", "conditionIndex" : 299, "conditionText" : "not(extract('CA10__environmentImage__c').startsWith(bytes('aws/codebuild/')))", "runtimeError" : null } }, { "Id" : "pinned-current", "expectedResult" : { "status" : "COMPLIANT", "conditionIndex" : 300, "conditionText" : "otherwise", "runtimeError" : null } }, { "Id" : "pinned-deprecated", "expectedResult" : { "status" : "COMPLIANT", "conditionIndex" : 300, "conditionText" : "otherwise", "runtimeError" : null } }, { "Id" : "digest-current", "expectedResult" : { "status" : "COMPLIANT", "conditionIndex" : 300, "conditionText" : "otherwise", "runtimeError" : null } }, { "Id" : "uppercase-deprecated", "expectedResult" : { "status" : "INAPPLICABLE", "conditionIndex" : 299, "conditionText" : "not(extract('CA10__environmentImage__c').startsWith(bytes('aws/codebuild/')))", "runtimeError" : null } }, { "Id" : "uppercase-current", "expectedResult" : { "status" : "INAPPLICABLE", "conditionIndex" : 299, "conditionText" : "not(extract('CA10__environmentImage__c').startsWith(bytes('aws/codebuild/')))", "runtimeError" : null } }, { "Id" : "whitespace-deprecated", "expectedResult" : { "status" : "INAPPLICABLE", "conditionIndex" : 299, "conditionText" : "not(extract('CA10__environmentImage__c').startsWith(bytes('aws/codebuild/')))", "runtimeError" : null } }, { "Id" : "whitespace-current", "expectedResult" : { "status" : "COMPLIANT", "conditionIndex" : 300, "conditionText" : "otherwise", "runtimeError" : null } }, { "Id" : "malformed-image", "expectedResult" : { "status" : "INAPPLICABLE", "conditionIndex" : 299, "conditionText" : "not(extract('CA10__environmentImage__c').startsWith(bytes('aws/codebuild/')))", "runtimeError" : null } }, { "Id" : "disappeared-deprecated", "expectedResult" : { "status" : "DISAPPEARED", "conditionIndex" : 99, "conditionText" : "isDisappeared(CA10__disappearanceTime__c)", "runtimeError" : null } }, { "Id" : "disappeared-missing", "expectedResult" : { "status" : "DISAPPEARED", "conditionIndex" : 99, "conditionText" : "isDisappeared(CA10__disappearanceTime__c)", "runtimeError" : null } }, { "Id" : "current-arm-standard-4", "expectedResult" : { "status" : "COMPLIANT", "conditionIndex" : 300, "conditionText" : "otherwise", "runtimeError" : null } }, { "Id" : "unverified-arm-standard-4-alias", "expectedResult" : { "status" : "COMPLIANT", "conditionIndex" : 300, "conditionText" : "otherwise", "runtimeError" : null } }, { "Id" : "unlisted-legacy-standard-2", "expectedResult" : { "status" : "COMPLIANT", "conditionIndex" : 300, "conditionText" : "otherwise", "runtimeError" : null } }, { "Id" : "custom-ecr-deprecated-lookalike", "expectedResult" : { "status" : "INAPPLICABLE", "conditionIndex" : 299, "conditionText" : "not(extract('CA10__environmentImage__c').startsWith(bytes('aws/codebuild/')))", "runtimeError" : null } }, { "Id" : "deprecated-image-new-runtime", "expectedResult" : { "status" : "INCOMPLIANT", "conditionIndex" : 199, "conditionText" : "setOfBytes(['aws/codebuild/standard:3.0', 'aws/codebuild/amazonlinux2-x86_64-standard:2.0', 'aws/codebuild/standard:4.0', 'aws/codebuild/amazonlinux2-aarch64-standard:1.0', 'aws/codebuild/amazonlinux2-x86_64-standard:3.0']).contains(extract('CA10__environmentImage__c'))", "runtimeError" : null } }, { "Id" : "current-image-old-runtime", "expectedResult" : { "status" : "COMPLIANT", "conditionIndex" : 300, "conditionText" : "otherwise", "runtimeError" : null } }, { "Id" : "unlisted-future-family", "expectedResult" : { "status" : "COMPLIANT", "conditionIndex" : 300, "conditionText" : "otherwise", "runtimeError" : null } }, { "Id" : "custom-namespace-lookalike", "expectedResult" : { "status" : "INAPPLICABLE", "conditionIndex" : 299, "conditionText" : "not(extract('CA10__environmentImage__c').startsWith(bytes('aws/codebuild/')))", "runtimeError" : null } }, { "Id" : "deprecated-list-independent-of-past-clock", "expectedResult" : { "status" : "INCOMPLIANT", "conditionIndex" : 199, "conditionText" : "setOfBytes(['aws/codebuild/standard:3.0', 'aws/codebuild/amazonlinux2-x86_64-standard:2.0', 'aws/codebuild/standard:4.0', 'aws/codebuild/amazonlinux2-aarch64-standard:1.0', 'aws/codebuild/amazonlinux2-x86_64-standard:3.0']).contains(extract('CA10__environmentImage__c'))", "runtimeError" : null } }, { "Id" : "deprecated-list-independent-of-future-clock", "expectedResult" : { "status" : "INCOMPLIANT", "conditionIndex" : 199, "conditionText" : "setOfBytes(['aws/codebuild/standard:3.0', 'aws/codebuild/amazonlinux2-x86_64-standard:2.0', 'aws/codebuild/standard:4.0', 'aws/codebuild/amazonlinux2-aarch64-standard:1.0', 'aws/codebuild/amazonlinux2-x86_64-standard:3.0']).contains(extract('CA10__environmentImage__c'))", "runtimeError" : null } } ]; """; CREATE TEMP FUNCTION mock_CA10__CaAwsCodeBuildProject__c() RETURNS ARRAY >> DETERMINISTIC LANGUAGE js AS r""" return [ { "CA10__environmentImage__c" : "aws/codebuild/amazonlinux-x86_64-standard:4.0", "Id" : "current-managed-01" }, { "CA10__environmentImage__c" : "aws/codebuild/amazonlinux-x86_64-standard:5.0", "Id" : "current-managed-02" }, { "CA10__environmentImage__c" : "aws/codebuild/amazonlinux-x86_64-standard:6.0", "Id" : "current-managed-03" }, { "CA10__environmentImage__c" : "aws/codebuild/amazonlinux-x86_64-standard:corretto8", "Id" : "current-managed-04" }, { "CA10__environmentImage__c" : "aws/codebuild/amazonlinux-x86_64-standard:corretto11", "Id" : "current-managed-05" }, { "CA10__environmentImage__c" : "aws/codebuild/amazonlinux-aarch64-standard:2.0", "Id" : "current-managed-06" }, { "CA10__environmentImage__c" : "aws/codebuild/amazonlinux-aarch64-standard:3.0", "Id" : "current-managed-07" }, { "CA10__environmentImage__c" : "aws/codebuild/standard:5.0", "Id" : "current-managed-08" }, { "CA10__environmentImage__c" : "aws/codebuild/standard:6.0", "Id" : "current-managed-09" }, { "CA10__environmentImage__c" : "aws/codebuild/standard:7.0", "Id" : "current-managed-10" }, { "CA10__environmentImage__c" : "aws/codebuild/standard:8.0", "Id" : "current-managed-11" }, { "CA10__environmentImage__c" : "aws/codebuild/windows-base:2019-1.0", "Id" : "current-managed-12" }, { "CA10__environmentImage__c" : "aws/codebuild/windows-base:2019-2.0", "Id" : "current-managed-13" }, { "CA10__environmentImage__c" : "aws/codebuild/windows-base:2019-3.0", "Id" : "current-managed-14" }, { "CA10__environmentImage__c" : "aws/codebuild/windows-base:2022-1.0", "Id" : "current-managed-15" }, { "CA10__environmentImage__c" : "aws/codebuild/amazonlinux2-x86_64-standard:4.0", "Id" : "current-managed-16" }, { "CA10__environmentImage__c" : "aws/codebuild/amazonlinux2-x86_64-standard:5.0", "Id" : "current-managed-17" }, { "CA10__environmentImage__c" : "aws/codebuild/amazonlinux2-x86_64-standard:6.0", "Id" : "current-managed-18" }, { "CA10__environmentImage__c" : "aws/codebuild/amazonlinux2-x86_64-standard:corretto8", "Id" : "current-managed-19" }, { "CA10__environmentImage__c" : "aws/codebuild/amazonlinux2-x86_64-standard:corretto11", "Id" : "current-managed-20" }, { "CA10__environmentImage__c" : "aws/codebuild/amazonlinux2-aarch64-standard:2.0", "Id" : "current-managed-21" }, { "CA10__environmentImage__c" : "aws/codebuild/amazonlinux2-aarch64-standard:3.0", "Id" : "current-managed-22" }, { "CA10__environmentImage__c" : "aws/codebuild/amazonlinux-aarch64-lambda-standard:dotnet6", "Id" : "current-managed-23" }, { "CA10__environmentImage__c" : "aws/codebuild/amazonlinux-aarch64-lambda-standard:dotnet8", "Id" : "current-managed-24" }, { "CA10__environmentImage__c" : "aws/codebuild/amazonlinux-aarch64-lambda-standard:dotnet10", "Id" : "current-managed-25" }, { "CA10__environmentImage__c" : "aws/codebuild/amazonlinux-aarch64-lambda-standard:go1.21", "Id" : "current-managed-26" }, { "CA10__environmentImage__c" : "aws/codebuild/amazonlinux-aarch64-lambda-standard:go1.24", "Id" : "current-managed-27" }, { "CA10__environmentImage__c" : "aws/codebuild/amazonlinux-aarch64-lambda-standard:go1.25", "Id" : "current-managed-28" }, { "CA10__environmentImage__c" : "aws/codebuild/amazonlinux-aarch64-lambda-standard:corretto11", "Id" : "current-managed-29" }, { "CA10__environmentImage__c" : "aws/codebuild/amazonlinux-aarch64-lambda-standard:corretto17", "Id" : "current-managed-30" }, { "CA10__environmentImage__c" : "aws/codebuild/amazonlinux-aarch64-lambda-standard:corretto21", "Id" : "current-managed-31" }, { "CA10__environmentImage__c" : "aws/codebuild/amazonlinux-aarch64-lambda-standard:corretto25", "Id" : "current-managed-32" }, { "CA10__environmentImage__c" : "aws/codebuild/amazonlinux-aarch64-lambda-standard:nodejs18", "Id" : "current-managed-33" }, { "CA10__environmentImage__c" : "aws/codebuild/amazonlinux-aarch64-lambda-standard:nodejs20", "Id" : "current-managed-34" }, { "CA10__environmentImage__c" : "aws/codebuild/amazonlinux-aarch64-lambda-standard:nodejs22", "Id" : "current-managed-35" }, { "CA10__environmentImage__c" : "aws/codebuild/amazonlinux-aarch64-lambda-standard:nodejs24", "Id" : "current-managed-36" }, { "CA10__environmentImage__c" : "aws/codebuild/amazonlinux-aarch64-lambda-standard:python3.11", "Id" : "current-managed-37" }, { "CA10__environmentImage__c" : "aws/codebuild/amazonlinux-aarch64-lambda-standard:python3.12", "Id" : "current-managed-38" }, { "CA10__environmentImage__c" : "aws/codebuild/amazonlinux-aarch64-lambda-standard:python3.13", "Id" : "current-managed-39" }, { "CA10__environmentImage__c" : "aws/codebuild/amazonlinux-aarch64-lambda-standard:python3.14", "Id" : "current-managed-40" }, { "CA10__environmentImage__c" : "aws/codebuild/amazonlinux-aarch64-lambda-standard:ruby3.2", "Id" : "current-managed-41" }, { "CA10__environmentImage__c" : "aws/codebuild/amazonlinux-aarch64-lambda-standard:ruby3.4", "Id" : "current-managed-42" }, { "CA10__environmentImage__c" : "aws/codebuild/amazonlinux-x86_64-lambda-standard:dotnet6", "Id" : "current-managed-43" }, { "CA10__environmentImage__c" : "aws/codebuild/amazonlinux-x86_64-lambda-standard:dotnet8", "Id" : "current-managed-44" }, { "CA10__environmentImage__c" : "aws/codebuild/amazonlinux-x86_64-lambda-standard:dotnet10", "Id" : "current-managed-45" }, { "CA10__environmentImage__c" : "aws/codebuild/amazonlinux-x86_64-lambda-standard:go1.21", "Id" : "current-managed-46" }, { "CA10__environmentImage__c" : "aws/codebuild/amazonlinux-x86_64-lambda-standard:go1.24", "Id" : "current-managed-47" }, { "CA10__environmentImage__c" : "aws/codebuild/amazonlinux-x86_64-lambda-standard:go1.25", "Id" : "current-managed-48" }, { "CA10__environmentImage__c" : "aws/codebuild/amazonlinux-x86_64-lambda-standard:corretto11", "Id" : "current-managed-49" }, { "CA10__environmentImage__c" : "aws/codebuild/amazonlinux-x86_64-lambda-standard:corretto17", "Id" : "current-managed-50" }, { "CA10__environmentImage__c" : "aws/codebuild/amazonlinux-x86_64-lambda-standard:corretto21", "Id" : "current-managed-51" }, { "CA10__environmentImage__c" : "aws/codebuild/amazonlinux-x86_64-lambda-standard:corretto25", "Id" : "current-managed-52" }, { "CA10__environmentImage__c" : "aws/codebuild/amazonlinux-x86_64-lambda-standard:nodejs18", "Id" : "current-managed-53" }, { "CA10__environmentImage__c" : "aws/codebuild/amazonlinux-x86_64-lambda-standard:nodejs20", "Id" : "current-managed-54" }, { "CA10__environmentImage__c" : "aws/codebuild/amazonlinux-x86_64-lambda-standard:nodejs22", "Id" : "current-managed-55" }, { "CA10__environmentImage__c" : "aws/codebuild/amazonlinux-x86_64-lambda-standard:nodejs24", "Id" : "current-managed-56" }, { "CA10__environmentImage__c" : "aws/codebuild/amazonlinux-x86_64-lambda-standard:python3.11", "Id" : "current-managed-57" }, { "CA10__environmentImage__c" : "aws/codebuild/amazonlinux-x86_64-lambda-standard:python3.12", "Id" : "current-managed-58" }, { "CA10__environmentImage__c" : "aws/codebuild/amazonlinux-x86_64-lambda-standard:python3.13", "Id" : "current-managed-59" }, { "CA10__environmentImage__c" : "aws/codebuild/amazonlinux-x86_64-lambda-standard:python3.14", "Id" : "current-managed-60" }, { "CA10__environmentImage__c" : "aws/codebuild/amazonlinux-x86_64-lambda-standard:ruby3.2", "Id" : "current-managed-61" }, { "CA10__environmentImage__c" : "aws/codebuild/amazonlinux-x86_64-lambda-standard:ruby3.4", "Id" : "current-managed-62" }, { "CA10__environmentImage__c" : "aws/codebuild/standard:3.0", "Id" : "deprecated-2022-06-30-1" }, { "CA10__environmentImage__c" : "aws/codebuild/amazonlinux2-x86_64-standard:2.0", "Id" : "deprecated-2022-06-30-2" }, { "CA10__environmentImage__c" : "aws/codebuild/standard:4.0", "Id" : "deprecated-2023-03-31-1" }, { "CA10__environmentImage__c" : "aws/codebuild/amazonlinux2-aarch64-standard:1.0", "Id" : "deprecated-2023-03-31-2" }, { "CA10__environmentImage__c" : "aws/codebuild/amazonlinux2-x86_64-standard:3.0", "Id" : "deprecated-2023-05-09-1" }, { "CA10__environmentImage__c" : null, "Id" : "missing-image" }, { "CA10__environmentImage__c" : "", "Id" : "empty-image" }, { "CA10__environmentImage__c" : " ", "Id" : "whitespace-image" }, { "CA10__environmentImage__c" : "aws/codebuild/standard:99.0", "Id" : "unlisted-future-version" }, { "CA10__environmentImage__c" : "aws/codebuild/standard:1.0", "Id" : "unlisted-legacy-version" }, { "CA10__environmentImage__c" : "aws/codebuild/amazonlinux2-x86_64-standard:1.0", "Id" : "unlisted-al2-version" }, { "CA10__environmentImage__c" : "aws/codebuild/amazonlinux-x86_64-lambda-standard:nodejs16", "Id" : "unlisted-lambda-version" }, { "CA10__environmentImage__c" : "123456789012.dkr.ecr.us-east-1.amazonaws.com/codebuild/python:latest", "Id" : "custom-ecr" }, { "CA10__environmentImage__c" : "example/codebuild:latest", "Id" : "custom-dockerhub" }, { "CA10__environmentImage__c" : "example/aws/codebuild/standard:4.0", "Id" : "custom-misleading-prefix" }, { "CA10__environmentImage__c" : "aws/codebuild/amazonlinux2-x86_64-standard:5.0-24.03.20", "Id" : "pinned-current" }, { "CA10__environmentImage__c" : "aws/codebuild/standard:4.0-1.0.0", "Id" : "pinned-deprecated" }, { "CA10__environmentImage__c" : "aws/codebuild/standard@sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", "Id" : "digest-current" }, { "CA10__environmentImage__c" : "AWS/CODEBUILD/STANDARD:4.0", "Id" : "uppercase-deprecated" }, { "CA10__environmentImage__c" : "AWS/CODEBUILD/STANDARD:7.0", "Id" : "uppercase-current" }, { "CA10__environmentImage__c" : " aws/codebuild/standard:4.0 ", "Id" : "whitespace-deprecated" }, { "CA10__environmentImage__c" : "aws/codebuild/standard:7.0 ", "Id" : "whitespace-current" }, { "CA10__environmentImage__c" : "invalid image reference", "Id" : "malformed-image" }, { "CA10__disappearanceTime__c" : new Date("2026-10-01T00:00:00Z"), "CA10__environmentImage__c" : "aws/codebuild/standard:4.0", "Id" : "disappeared-deprecated" }, { "CA10__disappearanceTime__c" : new Date("2026-10-01T00:00:00Z"), "CA10__environmentImage__c" : null, "Id" : "disappeared-missing" }, { "CA10__environmentImage__c" : "aws/codebuild/amazonlinux-aarch64-standard:4.0", "Id" : "current-arm-standard-4" }, { "CA10__environmentImage__c" : "aws/codebuild/amazonlinux2-aarch64-standard:4.0", "Id" : "unverified-arm-standard-4-alias" }, { "CA10__environmentImage__c" : "aws/codebuild/standard:2.0", "Id" : "unlisted-legacy-standard-2" }, { "CA10__environmentImage__c" : "123456789012.dkr.ecr.us-east-1.amazonaws.com/aws/codebuild/standard:4.0", "Id" : "custom-ecr-deprecated-lookalike" }, { "CA10__environmentImage__c" : "aws/codebuild/standard:4.0", "Id" : "deprecated-image-new-runtime" }, { "CA10__environmentImage__c" : "aws/codebuild/standard:7.0", "Id" : "current-image-old-runtime" }, { "CA10__environmentImage__c" : "aws/codebuild/future-platform:42.0", "Id" : "unlisted-future-family" }, { "CA10__environmentImage__c" : "aws/codebuild-custom/standard:4.0", "Id" : "custom-namespace-lookalike" }, { "context" : { "snapshotTime" : new Date("2020-01-01T00:00:00Z") }, "CA10__environmentImage__c" : "aws/codebuild/standard:4.0", "Id" : "deprecated-list-independent-of-past-clock" }, { "context" : { "snapshotTime" : new Date("2050-01-01T00:00:00Z") }, "CA10__environmentImage__c" : "aws/codebuild/standard:4.0", "Id" : "deprecated-list-independent-of-future-clock" } ]; """; CREATE TEMP FUNCTION process_CA10__CaAwsCodeBuildProject__c( obj STRUCT< CA10__disappearanceTime__c TIMESTAMP, CA10__environmentImage__c STRING, Id STRING >, snapshotTime TIMESTAMP ) RETURNS STRUCT DETERMINISTIC LANGUAGE js AS r""" var TextLib = new function () { this.normalize = function(arg) { return arg == null ? '' : arg.replace(/\s+/g, ' ').trim().toLowerCase(); }; this.isEmpty = function(arg) { return this.normalize(arg) == ''; }; this.isNotEmpty = function(arg) { return this.normalize(arg) != ''; }; this.equal = function(left, right) { return this.normalize(left) == this.normalize(right); }; this.notEqual = function(left, right) { return this.normalize(left) != this.normalize(right); }; this.startsWith = function(arg, substring) { return this.normalize(arg).startsWith(this.normalize(substring)); }; this.endsWith = function(arg, substring) { return this.normalize(arg).endsWith(this.normalize(substring)); }; this.contains = function(arg, substring) { return this.normalize(arg).includes(this.normalize(substring)); }; this.containsAll = function(arg, substrings) { if (substrings == null || substrings.length === 0) return false; let normalizedArg = this.normalize(arg); return substrings.every(sub => normalizedArg.includes(this.normalize(sub))); }; this.containsAny = function(arg, substrings) { if (substrings == null || substrings.length === 0) return false; let normalizedArg = this.normalize(arg); return substrings.some(sub => normalizedArg.includes(this.normalize(sub))); }; }(); var BytesLib = new function () { this.normalize = function(arg) { return arg == null ? '' : arg; }; this.isEmpty = function(arg) { return this.normalize(arg) == ''; }; this.isNotEmpty = function(arg) { return this.normalize(arg) != ''; }; this.equal = function(left, right) { return this.normalize(left) == this.normalize(right); }; this.notEqual = function(left, right) { return this.normalize(left) != this.normalize(right); }; this.startsWith = function(arg, substring) { return this.normalize(arg).startsWith(this.normalize(substring)); }; this.endsWith = function(arg, substring) { return this.normalize(arg).endsWith(this.normalize(substring)); }; this.contains = function(arg, substring) { return this.normalize(arg).includes(this.normalize(substring)); }; this.containsAll = function(arg, substrings) { if (substrings == null || substrings.length === 0) return false; let normalizedArg = this.normalize(arg); return substrings.every(sub => normalizedArg.includes(this.normalize(sub))); }; this.containsAny = function(arg, substrings) { if (substrings == null || substrings.length === 0) return false; let normalizedArg = this.normalize(arg); return substrings.some(sub => normalizedArg.includes(this.normalize(sub))); }; }(); var CollectionLib = new function () { this.parse = function(arg, separator, skipEmpty, skipDuplicates, sort, normalize) { if (arg == null) return []; let parts = arg.split(separator); return this.fromArray(parts, skipEmpty, skipDuplicates, sort, normalize); }; this.fromArray = function(arr, skipEmpty, skipDuplicates, sort, normalize) { if (arr == null) return []; let result = []; let seen = new Set(); arr.forEach(el => { let normalized = normalize ? TextLib.normalize(el) : BytesLib.normalize(el); if (!skipEmpty || (normalize ? TextLib.isNotEmpty(el) : BytesLib.isNotEmpty(el))) { if (!skipDuplicates || !seen.has(normalized)) { if (skipDuplicates) seen.add(normalized); result.push(normalized); } } }); if (sort) result.sort(); return result; }; this.equal = function(left, right) { left = left == null ? [] : left; right = right == null ? [] : right; if (left.length !== right.length) return false; for (let i = 0; i < left.length; i++) { if (left[i] !== right[i]) return false; } return true; }; this.notEqual = function(left, right) { return !this.equal(left, right); }; this.size = function(collection) { return collection == null ? 0 : collection.length; }; this.startsWith = function(collection, search, normalize) { if (collection == null || collection.length === 0) return false; let normalizedSearch = normalize ? TextLib.normalize(search) : BytesLib.normalize(search); return collection[0] === normalizedSearch; }; this.endsWith = function(collection, search, normalize) { if (collection == null || collection.length === 0) return false; let normalizedSearch = normalize ? TextLib.normalize(search) : BytesLib.normalize(search); return collection[collection.length - 1] === normalizedSearch; }; this.contains = function(collection, search, normalize) { if (collection == null || collection.length === 0) return false; return collection.includes(normalize ? TextLib.normalize(search) : BytesLib.normalize(search)); }; this.containsAll = function(collection, searchArray, normalize) { if (collection == null || collection.length === 0 || searchArray == null || searchArray.length === 0) return false; return searchArray.every(search => collection.includes(normalize ? TextLib.normalize(search) : BytesLib.normalize(search))); }; this.containsAny = function(collection, searchArray, normalize) { if (collection == null || collection.length === 0 || searchArray == null || searchArray.length === 0) return false; return searchArray.some(search => collection.includes(normalize ? TextLib.normalize(search) : BytesLib.normalize(search))); }; }(); var references1 = []; // condition[0], conditionIndex:[0..99] references1.push('Deleted From AWS [CA10__disappearanceTime__c]: ' + obj.CA10__disappearanceTime__c); if (obj.CA10__disappearanceTime__c != null) { return {status: 'DISAPPEARED', conditionIndex: 99, conditionText: "isDisappeared(CA10__disappearanceTime__c)", currentStateMessage: "Object is deleted in the source", currentStateReferences: references1.join('\n'), remediation: null, runtimeError: null}; } // condition[1], conditionIndex:[100..199] function fieldChecked4() { if (BytesLib.isEmpty(obj.CA10__environmentImage__c)) { throw new Error("UNDETERMINED condition:101", {cause: {status: 'UNDETERMINED', conditionIndex: 101, conditionText: "CA10__environmentImage__c.isEmpty()", currentStateMessage: "CodeBuild Project Environment Image is empty. Check codebuild:BatchGetProjects permissions and inventory collection.", currentStateReferences: references1.join('\n'), remediation: null, runtimeError: null}}); } return obj.CA10__environmentImage__c; } function extract3() { if (!this.out) { this.out = fieldChecked4(); } return this.out; }; references1.push('Environment Image [obj.CA10__environmentImage__c]: ' + obj.CA10__environmentImage__c); try { if (CollectionLib.contains(CollectionLib.fromArray(['aws/codebuild/standard:3.0', 'aws/codebuild/amazonlinux2-x86_64-standard:2.0', 'aws/codebuild/standard:4.0', 'aws/codebuild/amazonlinux2-aarch64-standard:1.0', 'aws/codebuild/amazonlinux2-x86_64-standard:3.0'], true, true, true, false), extract3.call(extract3), false)) { return {status: 'INCOMPLIANT', conditionIndex: 199, conditionText: "setOfBytes(['aws/codebuild/standard:3.0', 'aws/codebuild/amazonlinux2-x86_64-standard:2.0', 'aws/codebuild/standard:4.0', 'aws/codebuild/amazonlinux2-aarch64-standard:1.0', 'aws/codebuild/amazonlinux2-x86_64-standard:3.0']).contains(extract('CA10__environmentImage__c'))", currentStateMessage: "The configured managed image is deprecated by CodeBuild and no longer receives image updates or build-host caching.", currentStateReferences: references1.join('\n'), remediation: "Select a current compatible CodeBuild managed image and test the buildspec, dependencies, and artifacts.", runtimeError: null}; } } catch (err) { if (err.cause && err.cause.status) { return err.cause; } else { throw err; } } // condition[2], conditionIndex:[200..299] function fieldChecked7() { if (BytesLib.isEmpty(obj.CA10__environmentImage__c)) { throw new Error("UNDETERMINED condition:201", {cause: {status: 'UNDETERMINED', conditionIndex: 201, conditionText: "CA10__environmentImage__c.isEmpty()", currentStateMessage: "CodeBuild Project Environment Image is empty. Check codebuild:BatchGetProjects permissions and inventory collection.", currentStateReferences: references1.join('\n'), remediation: null, runtimeError: null}}); } return obj.CA10__environmentImage__c; } function extract6() { if (!this.out) { this.out = fieldChecked7(); } return this.out; }; try { if (!BytesLib.startsWith(extract6.call(extract6), 'aws/codebuild/')) { return {status: 'INAPPLICABLE', conditionIndex: 299, conditionText: "not(extract('CA10__environmentImage__c').startsWith(bytes('aws/codebuild/')))", currentStateMessage: "The image identifier is outside the AWS CodeBuild managed-image namespace; its lifecycle requires a separate assessment.", currentStateReferences: references1.join('\n'), remediation: null, runtimeError: null}; } } catch (err) { if (err.cause && err.cause.status) { return err.cause; } else { throw err; } } return {status: 'COMPLIANT', conditionIndex: 300, conditionText: "otherwise", currentStateMessage: "The configured AWS CodeBuild image identifier does not exactly match an image in the reviewed AWS deprecated-image list.", currentStateReferences: references1.join('\n'), remediation: null, runtimeError: null}; """; SELECT expectedResult.Id as Id, IF ( IFNULL(expectedResult.expectedResult.status, '') = IFNULL(sObject.result.status, '') AND IFNULL(expectedResult.expectedResult.conditionIndex, -1) = IFNULL(sObject.result.conditionIndex, -1) AND IFNULL(expectedResult.expectedResult.conditionText, '') = IFNULL(sObject.result.conditionText, '') AND IFNULL(expectedResult.expectedResult.runtimeError, '') = IFNULL(sObject.result.runtimeError, ''), "MATCH", "FAIL" ) as match, expectedResult.expectedResult.status as expectedStatus, sObject.result.status as actualStatus, expectedResult.expectedResult.conditionIndex as expectedConditionIndex, sObject.result.conditionIndex as actualConditionIndex, expectedResult.expectedResult.conditionText as expectedConditionText, sObject.result.conditionText as actualConditionText, expectedResult.expectedResult.runtimeError as expectedRuntimeError, sObject.result.runtimeError as actualRuntimeError FROM UNNEST(mock_ExpectedResult()) expectedResult LEFT JOIN ( SELECT sObject.CA10__disappearanceTime__c AS CA10__disappearanceTime__c, sObject.CA10__environmentImage__c AS CA10__environmentImage__c, sObject.Id AS Id, process_CA10__CaAwsCodeBuildProject__c( STRUCT( sObject.CA10__disappearanceTime__c AS CA10__disappearanceTime__c, sObject.CA10__environmentImage__c AS CA10__environmentImage__c, sObject.Id AS Id ), sObject.context.snapshotTime ) as result FROM UNNEST(mock_CA10__CaAwsCodeBuildProject__c()) AS sObject ) sObject ON sObject.Id = expectedResult.Id;