class RDSInstanceBackupRetentionPeriodRule

Public Instance Methods

audit_impl(cfn_model) click to toggle source
# File lib/cfn-nag/custom_rules/RDSInstanceBackupRetentionPeriodRule.rb, line 19
def audit_impl(cfn_model)
  rds_dbinstances = cfn_model.resources_by_type('AWS::RDS::DBInstance')

  violating_rdsinstances = rds_dbinstances.select do |instance|
    violating_period(instance.backupRetentionPeriod)
  end

  violating_rdsinstances.map(&:logical_resource_id)
end
rule_id() click to toggle source
# File lib/cfn-nag/custom_rules/RDSInstanceBackupRetentionPeriodRule.rb, line 15
def rule_id
  'W75'
end
rule_text() click to toggle source
# File lib/cfn-nag/custom_rules/RDSInstanceBackupRetentionPeriodRule.rb, line 7
def rule_text
  'RDS instance should have backup retention period greater than 0'
end
rule_type() click to toggle source
# File lib/cfn-nag/custom_rules/RDSInstanceBackupRetentionPeriodRule.rb, line 11
def rule_type
  Violation::WARNING
end
violating_period(backup_retention_period) click to toggle source
# File lib/cfn-nag/custom_rules/RDSInstanceBackupRetentionPeriodRule.rb, line 29
def violating_period(backup_retention_period)
  return false if backup_retention_period.nil?

  backup_retention_period.to_s == '0'
end