Class: DLMLifecyclePolicyCrossRegionCopyEncryptionRule
- Defined in:
- lib/cfn-nag/custom_rules/DLMLifecyclePolicyCrossRegionCopyEncryptionRule.rb
Instance Method Summary collapse
Methods inherited from BaseRule
Instance Method Details
#audit_impl(cfn_model) ⇒ Object
20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
# File 'lib/cfn-nag/custom_rules/DLMLifecyclePolicyCrossRegionCopyEncryptionRule.rb', line 20 def audit_impl(cfn_model) violating_policies = cfn_model.resources_by_type('AWS::DLM::LifecyclePolicy').select do |policy| if policy.policyDetails['Actions'].nil? false else violating_actions = policy.policyDetails['Actions'].select do |action| violating_copies = action['CrossRegionCopy'].select do |copy| !truthy?(copy['EncryptionConfiguration']['Encrypted'].to_s) end !violating_copies.empty? end !violating_actions.empty? end end violating_policies.map(&:logical_resource_id) end |
#rule_id ⇒ Object
16 17 18 |
# File 'lib/cfn-nag/custom_rules/DLMLifecyclePolicyCrossRegionCopyEncryptionRule.rb', line 16 def rule_id 'W81' end |
#rule_text ⇒ Object
8 9 10 |
# File 'lib/cfn-nag/custom_rules/DLMLifecyclePolicyCrossRegionCopyEncryptionRule.rb', line 8 def rule_text 'DLM LifecyclePolicy PolicyDetails Actions CrossRegionCopy EncryptionConfiguration should enable Encryption' end |