Skip to main content

🧠 AWS EC2 Instance references a deprecated AMI - prod.logic.yaml🟢

Uses​

Test Results 🟢​

Generated at: 2026-10-30T18:09:21.448829029Z Open

ResultIdCondition IndexCondition TextRuntime Error
🟢past-running✔️ 499✔️ extract('CA10__image__r.CA10__deprecationTime__c').beforeToday()✔️ null
🟢past-stopped✔️ 499✔️ extract('CA10__image__r.CA10__deprecationTime__c').beforeToday()✔️ null
🟢past-stopping✔️ 499✔️ extract('CA10__image__r.CA10__deprecationTime__c').beforeToday()✔️ null
🟢past-pending✔️ 499✔️ extract('CA10__image__r.CA10__deprecationTime__c').beforeToday()✔️ null
🟢future✔️ 699✔️ extract('CA10__image__r.CA10__deprecationTime__c').afterToday()✔️ null
🟢no-deprecation-date✔️ 599✔️ extract('CA10__image__r.CA10__deprecationTime__c').isEmpty()✔️ null
🟢today-midnight✔️ 700✔️ otherwise✔️ null
🟢today-before-snapshot✔️ 700✔️ otherwise✔️ null
🟢today-after-snapshot✔️ 700✔️ otherwise✔️ null
🟢next-utc-day-expired✔️ 499✔️ extract('CA10__image__r.CA10__deprecationTime__c').beforeToday()✔️ null
🟢prior-utc-day-future✔️ 699✔️ extract('CA10__image__r.CA10__deprecationTime__c').afterToday()✔️ null
🟢terminated✔️ 199✔️ setOfText(['terminated', 'shutting-down']).contains(extract('CA10__stateName__c'))✔️ null
🟢shutting-down✔️ 199✔️ setOfText(['terminated', 'shutting-down']).contains(extract('CA10__stateName__c'))✔️ null
🟢unknown-state✔️ 499✔️ extract('CA10__image__r.CA10__deprecationTime__c').beforeToday()✔️ null
🟢missing-state✔️ 101✔️ CA10__stateName__c.isEmpty()✔️ null
🟢blank-state✔️ 101✔️ CA10__stateName__c.isEmpty()✔️ null
🟢missing-image-lookup✔️ 299✔️ isEmptyLookup('CA10__image__r')✔️ null
🟢unresolved-image-lookup✔️ 304✔️ CA10__state__c.isEmpty()✔️ null
🟢disappeared-image-no-date✔️ 299✔️ isEmptyLookup('CA10__image__r')✔️ null
🟢disappeared-image-past-date✔️ 299✔️ isEmptyLookup('CA10__image__r')✔️ null
🟢missing-image-state✔️ 304✔️ CA10__state__c.isEmpty()✔️ null
🟢deregistered-image✔️ 399✔️ extract('CA10__image__r.CA10__state__c') != 'available'✔️ null
🟢disappeared-instance✔️ 99✔️ isDisappeared(CA10__disappearanceTime__c)✔️ null
🟢missing-native-image-id✔️ 299✔️ isEmptyLookup('CA10__image__r')✔️ null
🟢unknown-image-state✔️ 399✔️ extract('CA10__image__r.CA10__state__c') != 'available'✔️ null
🟢pending-image-past-deprecation✔️ 399✔️ extract('CA10__image__r.CA10__state__c') != 'available'✔️ null
🟢pending-image-no-deprecation✔️ 399✔️ extract('CA10__image__r.CA10__state__c') != 'available'✔️ null
🟢invalid-image-past-deprecation✔️ 399✔️ extract('CA10__image__r.CA10__state__c') != 'available'✔️ null
🟢invalid-image-no-deprecation✔️ 399✔️ extract('CA10__image__r.CA10__state__c') != 'available'✔️ null
🟢deregistered-image-past-deprecation✔️ 399✔️ extract('CA10__image__r.CA10__state__c') != 'available'✔️ null
🟢transient-image-past-deprecation✔️ 399✔️ extract('CA10__image__r.CA10__state__c') != 'available'✔️ null
🟢transient-image-no-deprecation✔️ 399✔️ extract('CA10__image__r.CA10__state__c') != 'available'✔️ null
🟢failed-image-past-deprecation✔️ 399✔️ extract('CA10__image__r.CA10__state__c') != 'available'✔️ null
🟢failed-image-no-deprecation✔️ 399✔️ extract('CA10__image__r.CA10__state__c') != 'available'✔️ null
🟢error-image-past-deprecation✔️ 399✔️ extract('CA10__image__r.CA10__state__c') != 'available'✔️ null
🟢error-image-no-deprecation✔️ 399✔️ extract('CA10__image__r.CA10__state__c') != 'available'✔️ null
🟢disabled-image-past-deprecation✔️ 399✔️ extract('CA10__image__r.CA10__state__c') != 'available'✔️ null
🟢disabled-image-no-deprecation✔️ 399✔️ extract('CA10__image__r.CA10__state__c') != 'available'✔️ null
🟢disabled-image-future-deprecation✔️ 399✔️ extract('CA10__image__r.CA10__state__c') != 'available'✔️ null
🟢public-image-deprecated✔️ 499✔️ extract('CA10__image__r.CA10__deprecationTime__c').beforeToday()✔️ null
🟢private-owned-image-deprecated✔️ 499✔️ extract('CA10__image__r.CA10__deprecationTime__c').beforeToday()✔️ null
🟢private-shared-image-deprecated✔️ 499✔️ extract('CA10__image__r.CA10__deprecationTime__c').beforeToday()✔️ null
🟢old-image-no-deprecation✔️ 599✔️ extract('CA10__image__r.CA10__deprecationTime__c').isEmpty()✔️ null
🟢recent-image-deprecated✔️ 499✔️ extract('CA10__image__r.CA10__deprecationTime__c').beforeToday()✔️ null
🟢deprecated-source-current-backup✔️ 499✔️ extract('CA10__image__r.CA10__deprecationTime__c').beforeToday()✔️ null
🟢current-source-deprecated-backup✔️ 599✔️ extract('CA10__image__r.CA10__deprecationTime__c').isEmpty()✔️ null
🟢terminated-missing-image✔️ 199✔️ setOfText(['terminated', 'shutting-down']).contains(extract('CA10__stateName__c'))✔️ null
🟢blank-image-state✔️ 304✔️ CA10__state__c.isEmpty()✔️ null
🟢missing-image-details✔️ 304✔️ CA10__state__c.isEmpty()✔️ null
🟢blank-native-image-id✔️ 299✔️ isEmptyLookup('CA10__image__r')✔️ null
🟢offset-time-prior-utc-day✔️ 499✔️ extract('CA10__image__r.CA10__deprecationTime__c').beforeToday()✔️ null
🟢offset-time-current-utc-day✔️ 700✔️ otherwise✔️ null

Generation Bundle​

FileMD5
Open/ce/ca/aws/ec2/instance-deprecated-image/policy.yaml3A3B4F9ADEB47AF96AB250BB9422A1AA
Open/ce/ca/aws/ec2/instance-deprecated-image/prod.logic.yaml176D16FCDB31665F0546F03526C9C8DB
Open/ce/ca/aws/ec2/instance-deprecated-image/test-data.jsonA2EB09C5258A8F9C737C494550F060C3
Open/types/CA10__CaAwsInstance__c/object.extracts.yaml6BDBD161D9C7C5EF90632F9B9E0AB177
Open/types/CA10__CaAwsImage__c/object.extracts.yamlCFB4BAB9CCDF4259FFC0C59F39CB4829

Available Commands​

repo-manager policies generate FULL /ce/ca/aws/ec2/instance-deprecated-image/prod.logic.yaml
repo-manager policies generate DEBUG /ce/ca/aws/ec2/instance-deprecated-image/prod.logic.yaml
repo-manager policies generate CAPTURE_TEST_DATA /ce/ca/aws/ec2/instance-deprecated-image/prod.logic.yaml
repo-manager policies generate TESTS /ce/ca/aws/ec2/instance-deprecated-image/prod.logic.yaml
# Execute tests
repo-manager policies test /ce/ca/aws/ec2/instance-deprecated-image/prod.logic.yaml

Content​

Open File

---
inputType: CA10__CaAwsInstance__c
testData:
- file: test-data.json
importExtracts:
- file: /types/CA10__CaAwsInstance__c/object.extracts.yaml
- file: /types/CA10__CaAwsImage__c/object.extracts.yaml
conditions:
- status: INAPPLICABLE
currentStateMessage: The EC2 instance is terminated or shutting down.
check:
CONTAINS:
arg:
SET:
itemType: TEXT
items:
- terminated
- shutting-down
search:
EXTRACT: CA10__stateName__c
# A missing or disappeared AMI is not evidence of an absent optional deprecation date.
- status: UNDETERMINED
currentStateMessage: The source AMI lookup is unresolved or the AMI has disappeared.
check:
IS_EMPTY_LOOKUP: CA10__image__r
- status: INAPPLICABLE
currentStateMessage: The source AMI is not available.
check:
NOT_EQUAL:
left:
EXTRACT: CA10__image__r.CA10__state__c
right:
TEXT: available
# shortcut: native TODAY checks use UTC calendar days, use exact-time checks if the engine adds them.
- status: INCOMPLIANT
currentStateMessage: The source AMI deprecation time is before the current day.
remediationMessage: Test a maintained replacement AMI and replace the instance through its deployment process.
check:
IS_BEFORE_TODAY:
arg:
EXTRACT: CA10__image__r.CA10__deprecationTime__c
- status: COMPLIANT
currentStateMessage: The resolved source AMI has no scheduled deprecation date.
check:
IS_EMPTY:
arg:
EXTRACT: CA10__image__r.CA10__deprecationTime__c
- status: COMPLIANT
currentStateMessage: The source AMI deprecation time is after the current day.
check:
IS_AFTER_TODAY:
arg:
EXTRACT: CA10__image__r.CA10__deprecationTime__c
otherwise:
status: INAPPLICABLE
currentStateMessage: The source AMI deprecation falls on the current day, outside the date predicates' precision; verify its exact time in AWS.