Method: Wonk::PolicyValidators::AwsEC2Validator#initialize

Defined in:
lib/wonk/policy_validators/aws_ec2_validator.rb

#initialize(parameters) ⇒ AwsEC2Validator

Returns a new instance of AwsEC2Validator.



58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
# File 'lib/wonk/policy_validators/aws_ec2_validator.rb', line 58

def initialize(parameters)
  raise "Wonk.aws_region must be set to use AwsEC2Validator." if Wonk.aws_region.nil?

  @identity_cert =
    case Wonk.aws_region
    when 'us-gov-west-1'
      AWS_GOVCLOUD_CERTIFICATE
    else
      AWS_PUBLIC_CERTIFICATE
    end

  @ec2_rsrc = Aws::EC2::Resource.new(region: Wonk.aws_region)
  @iam_rsrc = Aws::IAM::Resource.new(region: Wonk.aws_region)

  @rules =
    (parameters[:rules] || []).map do |rule_definition|
      rule_class = RULES_MAP[rule_definition[:type]]

      raise "no rule class for type '#{rule_definition[:type]}'" if rule_class.nil?

      rule_class.new(rule_definition[:parameters] || {})
    end.freeze
end