Skip to main content

🧠 AWS DynamoDB Table does not have on-demand backups in the past 90 days - prod.logic.yaml🟒

Uses​

Test Results πŸŸ’β€‹

Generated at: 2026-01-31T12:01:42.339694708Z Open

ResultIdCondition IndexCondition TextRuntime Error
🟒test1βœ”οΈ 499βœ”οΈ CA10A1__AWS_Backup_Recovery_Points__r.has(COMPLIANT)βœ”οΈ null
🟒test2βœ”οΈ 500βœ”οΈ otherwiseβœ”οΈ null
🟒test3βœ”οΈ 199βœ”οΈ extract('CA10__tableStatus__c') != 'ACTIVE'βœ”οΈ null
🟒test4βœ”οΈ 299βœ”οΈ extract('CA10__pointInTimeRecoveryStatus__c') == 'ENABLED'βœ”οΈ null
🟒test5βœ”οΈ 399βœ”οΈ CA10__AWS_DynamoDB_Backups__r.has(COMPLIANT)βœ”οΈ null
🟒test6βœ”οΈ 500βœ”οΈ otherwiseβœ”οΈ null

Generation Bundle​

FileMD5
Open/ce/ca/aws/dynamodb/table-backup/policy.yaml300B8353C9F2568DD7B26CF7ACC87751
Open/ce/ca/aws/dynamodb/table-backup/prod.logic.yaml3AE55AF58C9D767AE39105F5A96D4ED9
Open/ce/ca/aws/dynamodb/table-backup/test-data.jsonCC626B4218D34DCE25AD27BF0E822DFE
Open/types/CA10__CaAwsDynamoDbBackup__c/object.extracts.yaml7A95CBE1796D4FCEB869F5CDD935E516
Open/types/CA10A1__CaAwsBackupRecoveryPoint__c/object.extracts.yaml03645351ED418265EF3EFF8207F505A7
Open/types/CA10__CaAwsDynamoDbTable__c/object.extracts.yamlEC959FF9A6572890388AA7C1C47122EF

Available Commands​

repo-manager policies generate FULL /ce/ca/aws/dynamodb/table-backup/prod.logic.yaml
repo-manager policies generate DEBUG /ce/ca/aws/dynamodb/table-backup/prod.logic.yaml
repo-manager policies generate CAPTURE_TEST_DATA /ce/ca/aws/dynamodb/table-backup/prod.logic.yaml
repo-manager policies generate TESTS /ce/ca/aws/dynamodb/table-backup/prod.logic.yaml
# Execute tests
repo-manager policies test /ce/ca/aws/dynamodb/table-backup/prod.logic.yaml

Content​

Open File

inputType: "CA10__CaAwsDynamoDbTable__c"
testData:
- file: "test-data.json"
importExtracts:
- file: /types/CA10__CaAwsDynamoDbTable__c/object.extracts.yaml
conditions:
- status: "INAPPLICABLE"
currentStateMessage: "The table is not active."
check:
NOT_EQUAL:
left:
EXTRACT: "CA10__tableStatus__c"
right:
TEXT: "ACTIVE"
- status: "INAPPLICABLE"
currentStateMessage: "Point-in-Time Recovery is enabled for this DynamoDB table."
check:
IS_EQUAL:
left:
EXTRACT: "CA10__pointInTimeRecoveryStatus__c"
right:
TEXT: "ENABLED"
- status: "COMPLIANT"
currentStateMessage: "At least one backup exists and has been created within the last 90 days."
check:
RELATED_LIST_HAS:
status: "COMPLIANT"
relationshipName: "CA10__AWS_DynamoDB_Backups__r"
- status: "COMPLIANT"
currentStateMessage: "At least one Backup Recovery Point exists and has been created within the last 90 days."
check:
RELATED_LIST_HAS:
status: "COMPLIANT"
relationshipName: "CA10A1__AWS_Backup_Recovery_Points__r"
otherwise:
status: "INCOMPLIANT"
currentStateMessage: "No on-demand or AWS Backup recovery point was created in the last 90 days."
remediationMessage: "Create an on-demand backup for the table or assign the table to an AWS Backup Plan."
relatedLists:
- relationshipName: "CA10__AWS_DynamoDB_Backups__r"
importExtracts:
- file: /types/CA10__CaAwsDynamoDbBackup__c/object.extracts.yaml
conditions:
- status: "INAPPLICABLE"
currentStateMessage: "The DynamoDB Backup is not available."
check:
NOT_EQUAL:
left:
EXTRACT: "CA10__status__c"
right:
TEXT: "AVAILABLE"
- status: "INCOMPLIANT"
currentStateMessage: "The DynamoDB Backup is available but was created more than 90 days ago."
remediationMessage: "Create a new DynamoDB Backup and decommission the old one."
check:
IS_BEYOND_LAST_DAYS:
offsetDays: 90
arg:
EXTRACT: "CA10__creationDateTime__c"
otherwise:
status: "COMPLIANT"
currentStateMessage: "The Backup exists and has been created within the last 90 days."
- relationshipName: "CA10A1__AWS_Backup_Recovery_Points__r"
importExtracts:
- file: /types/CA10A1__CaAwsBackupRecoveryPoint__c/object.extracts.yaml
conditions:
- status: "INAPPLICABLE"
currentStateMessage: "The recovery point is not completed or available."
check:
AND:
args:
- NOT_EQUAL:
left:
EXTRACT: "CA10A1__status__c"
right:
TEXT: "COMPLETED"
- NOT_EQUAL:
left:
EXTRACT: "CA10A1__status__c"
right:
TEXT: "AVAILABLE"
- status: "INCOMPLIANT"
currentStateMessage: "The recovery point is available but was created more than 90 days ago."
remediationMessage: "Create a backup plan to automate creation of on-demand backups."
check:
IS_BEYOND_LAST_DAYS:
offsetDays: 90
arg:
EXTRACT: "CA10A1__creationDate__c"
otherwise:
status: "COMPLIANT"
currentStateMessage: "The backup recovery point exists."