🧠 AWS RDS Instance engine is outside standard support - prod.logic.yaml🟢
- Contextual name: 🧠 prod.logic.yaml🟢
- ID:
/ce/ca/aws/rds/instance-engine-support/prod.logic.yaml - Tags:
Uses
- 📗 AWS RDS Instance
- 🔌 AWS RDS Instance - object.extracts.yaml
- 🔌 AWS RDS Instance - instance-engine-support.extracts.yaml
- 🧪 test-data.json
Test Results 🟢
Generated at: 2026-10-30T18:09:57.256523696Z Open
| Result | Id | Condition Index | Condition Text | Runtime Error |
|---|---|---|---|---|
| 🟢 | standard-support | ✔️ 1199 | ✔️ not(extract('caDateTimeFrom__instanceEngineStandardEnd').beforeToday()) | ✔️ null |
| 🟢 | standard-start-exact | ✔️ 1199 | ✔️ not(extract('caDateTimeFrom__instanceEngineStandardEnd').beforeToday()) | ✔️ null |
| 🟢 | standard-end-exact | ✔️ 1199 | ✔️ not(extract('caDateTimeFrom__instanceEngineStandardEnd').beforeToday()) | ✔️ null |
| 🟢 | extended-start-exact | ✔️ 1500 | ✔️ otherwise | ✔️ null |
| 🟢 | extended-support | ✔️ 1500 | ✔️ otherwise | ✔️ null |
| 🟢 | extended-end-exact | ✔️ 1500 | ✔️ otherwise | ✔️ null |
| 🟢 | final-support-expired | ✔️ 1399 | ✔️ extract('caDateTimeFrom__instanceEngineExtendedEnd').beforeToday() | ✔️ null |
| 🟢 | before-support-start | ✔️ 899 | ✔️ extract('caDateTimeFrom__instanceEngineStandardStart').afterToday() | ✔️ null |
| 🟢 | reversed-phases | ✔️ 1500 | ✔️ otherwise | ✔️ null |
| 🟢 | standard-only-mariadb | ✔️ 1199 | ✔️ not(extract('caDateTimeFrom__instanceEngineStandardEnd').beforeToday()) | ✔️ null |
| 🟢 | standard-only-expired | ✔️ 1299 | ✔️ extract('caJsonQueryNumber__instanceEngineExtendedPhaseCount') == number(0.0) | ✔️ null |
| 🟢 | empty-calendar | ✔️ 599 | ✔️ not(extract('caJsonQueryBoolean__instanceEngineCalendarValid')) | ✔️ null |
| 🟢 | missing-calendar | ✔️ 499 | ✔️ extract('CA10__engineVersion__c').isNotEmpty() && extract('CA10A2__engineLifecycleSupportInfo__c').isEmpty() | ✔️ null |
| 🟢 | invalid-json | ✔️ 502 | ✔️ extract('CA10A2__engineLifecycleSupportInfo__c').asJson().isInvalid() | ✔️ Expected property name or '}' in JSON at position 1 (line 1 column 2) |
| 🟢 | wrong-root | ✔️ 599 | ✔️ not(extract('caJsonQueryBoolean__instanceEngineCalendarValid')) | ✔️ null |
| 🟢 | missing-standard | ✔️ 599 | ✔️ not(extract('caJsonQueryBoolean__instanceEngineCalendarValid')) | ✔️ null |
| 🟢 | duplicate-standard | ✔️ 599 | ✔️ not(extract('caJsonQueryBoolean__instanceEngineCalendarValid')) | ✔️ null |
| 🟢 | duplicate-extended | ✔️ 599 | ✔️ not(extract('caJsonQueryBoolean__instanceEngineCalendarValid')) | ✔️ null |
| 🟢 | unknown-phase | ✔️ 599 | ✔️ not(extract('caJsonQueryBoolean__instanceEngineCalendarValid')) | ✔️ null |
| 🟢 | invalid-standard-date | ✔️ 599 | ✔️ not(extract('caJsonQueryBoolean__instanceEngineCalendarValid')) | ✔️ null |
| 🟢 | invalid-future-extended-date | ✔️ 599 | ✔️ not(extract('caJsonQueryBoolean__instanceEngineCalendarValid')) | ✔️ null |
| 🟢 | inverted-standard | ✔️ 599 | ✔️ not(extract('caJsonQueryBoolean__instanceEngineCalendarValid')) | ✔️ null |
| 🟢 | inverted-extended | ✔️ 599 | ✔️ not(extract('caJsonQueryBoolean__instanceEngineCalendarValid')) | ✔️ null |
| 🟢 | overlapping-phases | ✔️ 599 | ✔️ not(extract('caJsonQueryBoolean__instanceEngineCalendarValid')) | ✔️ null |
| 🟢 | intraday-date | ✔️ 999 | ✔️ extract('caDateTimeFrom__instanceEngineStandardEnd').beforeToday() && not(extract('caJsonQueryBoolean__instanceEngineCalendarWholeDays')) | ✔️ null |
| 🟢 | missing-version | ✔️ 401 | ✔️ CA10__engineVersion__c.isEmpty() | ✔️ null |
| 🟢 | missing-engine | ✔️ 301 | ✔️ CA10__engine__c.isEmpty() | ✔️ null |
| 🟢 | missing-status | ✔️ 201 | ✔️ CA10__status__c.isEmpty() | ✔️ null |
| 🟢 | commercial-no-calendar | ✔️ 399 | ✔️ not(setOfText(['mysql', 'postgres', 'mariadb']).contains(extract('CA10__engine__c'))) | ✔️ null |
| 🟢 | unknown-engine | ✔️ 399 | ✔️ not(setOfText(['mysql', 'postgres', 'mariadb']).contains(extract('CA10__engine__c'))) | ✔️ null |
| 🟢 | enrollment-disabled-standard | ✔️ 1199 | ✔️ not(extract('caDateTimeFrom__instanceEngineStandardEnd').beforeToday()) | ✔️ null |
| 🟢 | enrollment-disabled-extended | ✔️ 1500 | ✔️ otherwise | ✔️ null |
| 🟢 | cluster-member | ✔️ 199 | ✔️ extract('CA10__cluster__c').isNotEmpty() || extract('CA10__clusterArn__c').isNotEmpty() | ✔️ null |
| 🟢 | cluster-arn-only | ✔️ 199 | ✔️ extract('CA10__cluster__c').isNotEmpty() || extract('CA10__clusterArn__c').isNotEmpty() | ✔️ null |
| 🟢 | deleting | ✔️ 299 | ✔️ extract('CA10__status__c') == 'deleting' | ✔️ null |
| 🟢 | stopped-extended | ✔️ 1500 | ✔️ otherwise | ✔️ null |
| 🟢 | disappeared | ✔️ 99 | ✔️ isDisappeared(CA10__disappearanceTime__c) | ✔️ null |
| 🟢 | between-support-phases | ✔️ 1499 | ✔️ extract('caDateTimeFrom__instanceEngineExtendedStart').afterToday() | ✔️ null |
| 🟢 | unparseable-standard-month | ✔️ 705 | ✔️ extract('caJsonFrom__instanceEngineLifecycle').jsonQueryText('[?LifecycleSupportName == \'open-source-rds-standard-support\'] | [0].LifecycleSupportStartDate').checkIso8601() | ✔️ null |
| 🟢 | unparseable-future-extended-month | ✔️ 713 | ✔️ extract('caJsonFrom__instanceEngineLifecycle').jsonQueryText('[?LifecycleSupportName == \'open-source-rds-extended-support\'] | [0].LifecycleSupportStartDate').checkIso8601() | ✔️ null |
| 🟢 | valid-leap-day-end | ✔️ 1199 | ✔️ not(extract('caDateTimeFrom__instanceEngineStandardEnd').beforeToday()) | ✔️ null |
| 🟢 | intraday-extended-end-retains-standard-eos | ✔️ 999 | ✔️ extract('caDateTimeFrom__instanceEngineStandardEnd').beforeToday() && not(extract('caJsonQueryBoolean__instanceEngineCalendarWholeDays')) | ✔️ null |
| 🟢 | aurora-without-membership | ✔️ 399 | ✔️ not(setOfText(['mysql', 'postgres', 'mariadb']).contains(extract('CA10__engine__c'))) | ✔️ null |
| 🟢 | mysql80-eos | ✔️ 1500 | ✔️ otherwise | ✔️ null |
| 🟢 | mysql80-standard-last-day | ✔️ 1199 | ✔️ not(extract('caDateTimeFrom__instanceEngineStandardEnd').beforeToday()) | ✔️ null |
| 🟢 | mysql80-extended-first-day | ✔️ 1500 | ✔️ otherwise | ✔️ null |
| 🟢 | mysql84-standard-support | ✔️ 1199 | ✔️ not(extract('caDateTimeFrom__instanceEngineStandardEnd').beforeToday()) | ✔️ null |
| 🟢 | mysql57-extended-support-longer-than-three-years | ✔️ 1500 | ✔️ otherwise | ✔️ null |
| 🟢 | mysql57-extended-last-day | ✔️ 1500 | ✔️ otherwise | ✔️ null |
| 🟢 | mysql57-final-support-expired | ✔️ 1399 | ✔️ extract('caDateTimeFrom__instanceEngineExtendedEnd').beforeToday() | ✔️ null |
| 🟢 | postgres-rds-patch-suffix | ✔️ 1500 | ✔️ otherwise | ✔️ null |
| 🟢 | mariadb106-current-standard-support | ✔️ 1199 | ✔️ not(extract('caDateTimeFrom__instanceEngineStandardEnd').beforeToday()) | ✔️ null |
| 🟢 | mariadb106-standard-last-day | ✔️ 1199 | ✔️ not(extract('caDateTimeFrom__instanceEngineStandardEnd').beforeToday()) | ✔️ null |
| 🟢 | mariadb106-first-unsupported-day | ✔️ 1299 | ✔️ extract('caJsonQueryNumber__instanceEngineExtendedPhaseCount') == number(0.0) | ✔️ null |
| 🟢 | mariadb-invalid-extended-support | ✔️ 699 | ✔️ extract('CA10__engine__c') == 'mariadb' && extract('caJsonQueryNumber__instanceEngineExtendedPhaseCount') != number(0.0) | ✔️ null |
| 🟢 | db2-ce-without-cluster-enrichment | ✔️ 399 | ✔️ not(setOfText(['mysql', 'postgres', 'mariadb']).contains(extract('CA10__engine__c'))) | ✔️ null |
| 🟢 | docdb-without-cluster-enrichment | ✔️ 399 | ✔️ not(setOfText(['mysql', 'postgres', 'mariadb']).contains(extract('CA10__engine__c'))) | ✔️ null |
| 🟢 | neptune-without-cluster-enrichment | ✔️ 399 | ✔️ not(setOfText(['mysql', 'postgres', 'mariadb']).contains(extract('CA10__engine__c'))) | ✔️ null |
| 🟢 | creating-retains-current-engine-eos | ✔️ 1500 | ✔️ otherwise | ✔️ null |
| 🟢 | modifying-retains-current-engine-eos | ✔️ 1500 | ✔️ otherwise | ✔️ null |
| 🟢 | upgrading-retains-current-engine-eos | ✔️ 1500 | ✔️ otherwise | ✔️ null |
| 🟢 | storage-full-retains-current-engine-eos | ✔️ 1500 | ✔️ otherwise | ✔️ null |
| 🟢 | missing-version-and-calendar | ✔️ 401 | ✔️ CA10__engineVersion__c.isEmpty() | ✔️ null |
| 🟢 | whitespace-version | ✔️ 401 | ✔️ CA10__engineVersion__c.isEmpty() | ✔️ null |
| 🟢 | intraday-before-eos-excluded | ✔️ 1099 | ✔️ not(extract('caJsonQueryBoolean__instanceEngineCalendarWholeDays')) | ✔️ null |
Generation Bundle
| File | MD5 | |
|---|---|---|
| Open | /ce/ca/aws/rds/instance-engine-support/policy.yaml | 4CAF6C5DEE0FD242391C54266B2FC134 |
| Open | /ce/ca/aws/rds/instance-engine-support/prod.logic.yaml | 474C52DFA64FDB8B804657AFBE57B75A |
| Open | /ce/ca/aws/rds/instance-engine-support/test-data.json | 81425319CB0BC544CF4C1E4C7969EE25 |
| Open | /types/CA10__CaAwsDbInstance__c/object.extracts.yaml | E412E6B71C5DC2C28B5C8B6770634E86 |
| Open | /types/CA10__CaAwsDbInstance__c/instance-engine-support.extracts.yaml | 4A104A9A6CD44B472ECDBA0065FE86D5 |
Available Commands
repo-manager policies generate FULL /ce/ca/aws/rds/instance-engine-support/prod.logic.yaml
repo-manager policies generate DEBUG /ce/ca/aws/rds/instance-engine-support/prod.logic.yaml
repo-manager policies generate CAPTURE_TEST_DATA /ce/ca/aws/rds/instance-engine-support/prod.logic.yaml
repo-manager policies generate TESTS /ce/ca/aws/rds/instance-engine-support/prod.logic.yaml
# Execute tests
repo-manager policies test /ce/ca/aws/rds/instance-engine-support/prod.logic.yaml
Content
---
inputType: CA10__CaAwsDbInstance__c
testData:
- file: test-data.json
importExtracts:
- file: /types/CA10__CaAwsDbInstance__c/object.extracts.yaml
- file: /types/CA10__CaAwsDbInstance__c/instance-engine-support.extracts.yaml
conditions:
- status: INAPPLICABLE
currentStateMessage: This instance belongs to a DB cluster; assess engine support once on the cluster.
check:
OR:
args:
- NOT_EMPTY:
arg:
EXTRACT: CA10__cluster__c
- NOT_EMPTY:
arg:
EXTRACT: CA10__clusterArn__c
- status: INAPPLICABLE
currentStateMessage: The DB instance is being deleted.
check:
IS_EQUAL:
left:
EXTRACT: CA10__status__c
right:
TEXT: deleting
- status: INAPPLICABLE
currentStateMessage: This policy only assesses MySQL, PostgreSQL, and MariaDB engines.
check:
NOT:
arg:
CONTAINS:
arg:
SET:
itemType: TEXT
items:
- mysql
- postgres
- mariadb
search:
EXTRACT: CA10__engine__c
- status: INAPPLICABLE
currentStateMessage: The optional native engine lifecycle calendar is not populated; this policy excludes engines without collected calendar enrichment.
check:
AND:
args:
- NOT_EMPTY:
arg:
EXTRACT: CA10__engineVersion__c
- IS_EMPTY:
arg:
EXTRACT: CA10A2__engineLifecycleSupportInfo__c
- status: UNDETERMINED
currentStateMessage: The engine support calendar is missing named phases, has duplicate or unknown phases, or has invalid UTC date ranges.
check:
NOT:
arg:
EXTRACT: caJsonQueryBoolean__instanceEngineCalendarValid
- status: UNDETERMINED
currentStateMessage: The MariaDB support calendar contains an Extended Support phase, which AWS does not offer for this engine.
check:
AND:
args:
- IS_EQUAL:
left:
EXTRACT: CA10__engine__c
right:
TEXT: mariadb
- NOT_EQUAL:
left:
EXTRACT: caJsonQueryNumber__instanceEngineExtendedPhaseCount
right:
NUMBER: 0
# Parse every published date before making a support claim, including future Extended Support dates.
- status: UNDETERMINED
currentStateMessage: The engine support calendar contains an invalid date.
check:
NOT:
arg:
AND:
args:
- NOT_EMPTY:
arg:
EXTRACT: caDateTimeFrom__instanceEngineStandardStart
- NOT_EMPTY:
arg:
EXTRACT: caDateTimeFrom__instanceEngineStandardEnd
- OR:
args:
- IS_EQUAL:
left:
EXTRACT: caJsonQueryNumber__instanceEngineExtendedPhaseCount
right:
NUMBER: 0
- AND:
args:
- NOT_EMPTY:
arg:
EXTRACT: caDateTimeFrom__instanceEngineExtendedStart
- NOT_EMPTY:
arg:
EXTRACT: caDateTimeFrom__instanceEngineExtendedEnd
- status: UNDETERMINED
currentStateMessage: The engine standard support period has not started; verify the collected engine version and calendar.
check:
IS_AFTER_TODAY:
arg:
EXTRACT: caDateTimeFrom__instanceEngineStandardStart
- status: INCOMPLIANT
currentStateMessage: AWS standard support has ended; the calendar timestamp precision does not establish the later Extended Support phase on this evaluation day.
remediationMessage: Upgrade to an engine version within AWS standard support and verify any temporary Extended Support arrangement with AWS.
check:
AND:
args:
- IS_BEFORE_TODAY:
arg:
EXTRACT: caDateTimeFrom__instanceEngineStandardEnd
- NOT:
arg:
EXTRACT: caJsonQueryBoolean__instanceEngineCalendarWholeDays
- status: INAPPLICABLE
currentStateMessage: This calendar uses timestamps outside the verified UTC whole-day encoding; the evaluation day is excluded because no standard-support expiry is established.
check:
NOT:
arg:
EXTRACT: caJsonQueryBoolean__instanceEngineCalendarWholeDays
- status: COMPLIANT
currentStateMessage: The instance engine major version is within AWS standard support according to its published support calendar.
check:
NOT:
arg:
IS_BEFORE_TODAY:
arg:
EXTRACT: caDateTimeFrom__instanceEngineStandardEnd
- status: INCOMPLIANT
currentStateMessage: AWS standard support has ended and the calendar publishes no Extended Support period for this engine major version.
remediationMessage: Upgrade the instance to an engine version within AWS standard support after compatibility testing.
check:
IS_EQUAL:
left:
EXTRACT: caJsonQueryNumber__instanceEngineExtendedPhaseCount
right:
NUMBER: 0
- status: INCOMPLIANT
currentStateMessage: The instance engine major version is past the final published AWS support end date, including Extended Support.
remediationMessage: Prioritize a tested upgrade to a version within AWS standard support and verify the current instance state with AWS.
check:
IS_BEFORE_TODAY:
arg:
EXTRACT: caDateTimeFrom__instanceEngineExtendedEnd
- status: INCOMPLIANT
currentStateMessage: AWS standard support has ended and the published Extended Support period has not started.
remediationMessage: Upgrade the instance to a version within AWS standard support and verify support coverage with AWS.
check:
IS_AFTER_TODAY:
arg:
EXTRACT: caDateTimeFrom__instanceEngineExtendedStart
otherwise:
status: INCOMPLIANT
currentStateMessage: The instance engine major version is outside AWS standard support and within the published RDS Extended Support period; this calendar does not establish enrollment or entitlement.
remediationMessage: Plan a tested instance engine upgrade; if temporarily retaining this version, verify Extended Support enrollment and charges and record a time-limited exception.