Class: Chef::Resource::AwsSecurityGroup

Inherits:
Provisioning::AWSDriver::AWSResource
  • Object
show all
Defined in:
lib/chef/resource/aws_security_group.rb

Instance Method Summary collapse

Instance Method Details

#aws_objectObject



61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
# File 'lib/chef/resource/aws_security_group.rb', line 61

def aws_object
  if security_group_id
    result = driver.ec2.security_groups[security_group_id]
  else
    # Names are unique within a VPC.  Try to search by name and narroy by VPC, if
    # provided
    if vpc
      vpc_object = Chef::Resource::AwsVpc.get_aws_object(vpc, resource: self)
      results = vpc_object.security_groups.filter('group-name', name).to_a
    else
      results = driver.ec2.security_groups.filter('group-name', name).to_a
    end
    if results.size >= 2
      raise ::Chef::Provisioning::AWSDriver::Exceptions::MultipleSecurityGroupError.new(name, results)
    end
    result = results.first
  end
  result && result.exists? ? result : nil
end