---
inputType: "CA10__CaAwsDbInstance__c"
testData:
  - file: test-data.json
importExtracts:
  - file: /types/CA10__CaAwsDbInstance__c/object.extracts.yaml
conditions:
  - status: "INAPPLICABLE"
    currentStateMessage: "The Instance is not available."
    check:
      NOT_EQUAL:
        left:
          EXTRACT: "CA10__status__c"
        right:
          TEXT: "available"
  - status: "INAPPLICABLE"
    currentStateMessage: "This policy doesn't apply to Cluster Instances."
    check:
      NOT_EMPTY:
        arg:
          EXTRACT: "CA10__clusterArn__c"
  - status: "INAPPLICABLE"
    currentStateMessage: "IAM database authentication is not supported for this database engine."
    check:
      NOT:
        arg:
          CONTAINS:
            arg:
              SET:
                itemType: "TEXT"
                items:
                  - "postgres"
                  - "mysql"
                  - "mariadb"
                  - "aurora"
                  - "aurora-postgresql"
                  - "aurora-mysql"
            search:
              EXTRACT: "CA10__engine__c"
  - status: "COMPLIANT"
    currentStateMessage: "RDS Instance has IAM database authentication enabled."
    check:
      IS_EQUAL:
        left:
          EXTRACT: "CA10__iamDatabaseAuthenticationEnabled__c"
        right:
          BOOLEAN: true
otherwise:
  status: "INCOMPLIANT"
  currentStateMessage: "IAM Database Authentication is disabled for this RDS Instance."
  remediationMessage: "Enable IAM Database Authentication for the RDS Instance."