Class: AWS::EC2::SecurityGroupCollection
- Inherits:
-
Collection
- Object
- Collection
- AWS::EC2::SecurityGroupCollection
- Includes:
- TaggedCollection
- Defined in:
- lib/aws/ec2/security_group_collection.rb
Overview
Represents all EC2 security groups in an AWS account.
Instance Method Summary collapse
-
#[](group_id) ⇒ SecurityGroup
The group with the given id.
-
#create(name, options = {}) ⇒ SecurityGroup
Creates a new.
-
#each {|group| ... } ⇒ nil
Yields once for each security group in this account.
Methods included from TaggedCollection
Methods included from FilteredCollection
Instance Method Details
#[](group_id) ⇒ SecurityGroup
Returns The group with the given id.
63 64 65 |
# File 'lib/aws/ec2/security_group_collection.rb', line 63 def [] group_id SecurityGroup.new(group_id, :config => config) end |
#create(name, options = {}) ⇒ SecurityGroup
Creates a new
36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 |
# File 'lib/aws/ec2/security_group_collection.rb', line 36 def create name, = {} description = [:description] || name create_opts = {} create_opts[:group_name] = name create_opts[:description] = description vpc_id = [:vpc] vpc_id ||= [:vpc_id] # for backwards compatability vpc_id ||= filter_value_for('vpc-id') vpc_id = vpc_id.id if vpc_id.is_a?(VPC) create_opts[:vpc_id] = vpc_id if vpc_id response = client.create_security_group(create_opts) SecurityGroup.new(response.group_id, { :name => name, :description => description, :vpc_id => create_opts[:vpc_id], :config => config }) end |
#each {|group| ... } ⇒ nil
Yields once for each security group in this account.
119 120 121 122 123 124 125 126 127 128 129 130 131 |
# File 'lib/aws/ec2/security_group_collection.rb', line 119 def each &block response = filtered_request(:describe_security_groups) response.security_group_info.each do |info| group = SecurityGroup.new_from(:describe_security_groups, info, info.group_id, :config => config) yield(group) end nil end |