Class: VpcHasFlowLogRule
- Defined in:
- lib/cfn-nag/custom_rules/VpcHasFlowLogRule.rb
Instance Method Summary collapse
- #audit_impl(cfn_model) ⇒ Object
- #flowlog_for_vpc(cfn_model, vpc) ⇒ Object
- #rule_id ⇒ Object
- #rule_text ⇒ Object
- #rule_type ⇒ Object
Methods inherited from BaseRule
Instance Method Details
#audit_impl(cfn_model) ⇒ Object
19 20 21 22 23 24 25 26 |
# File 'lib/cfn-nag/custom_rules/VpcHasFlowLogRule.rb', line 19 def audit_impl(cfn_model) violating_vpcs = cfn_model.resources_by_type('AWS::EC2::VPC') .select do |vpc| flowlog_for_vpc(cfn_model, vpc).nil? end violating_vpcs.map(&:logical_resource_id) end |
#flowlog_for_vpc(cfn_model, vpc) ⇒ Object
28 29 30 31 32 33 34 |
# File 'lib/cfn-nag/custom_rules/VpcHasFlowLogRule.rb', line 28 def flowlog_for_vpc(cfn_model, vpc) cfn_model.resources_by_type('AWS::EC2::FlowLog').find do |flowlog| if flowlog.resourceId && flowlog.resourceId['Ref'] flowlog.resourceId['Ref'] == vpc.logical_resource_id end end end |
#rule_id ⇒ Object
15 16 17 |
# File 'lib/cfn-nag/custom_rules/VpcHasFlowLogRule.rb', line 15 def rule_id 'W60' end |
#rule_text ⇒ Object
7 8 9 |
# File 'lib/cfn-nag/custom_rules/VpcHasFlowLogRule.rb', line 7 def rule_text 'VPC should have a flow log attached' end |