class AWS::EC2::SecurityGroupCollection
Public Instance Methods
[](group_id)
click to toggle source
@param [String] group_id The group id of a security group. @return [SecurityGroup] The group with the given id.
# File lib/aws/ec2/security_group_collection.rb, line 63 def [] group_id SecurityGroup.new(group_id, :config => config) end
create(name, options = {})
click to toggle source
Creates a new @param [String] name The name of the security group to create. @param [Hash] options @option options [String] :description An informal description
of this security group. Accepts alphanumeric characters, spaces, dashes, and underscores. If left blank the description will be set to the name.
@option options [VPC,String] :vpc (nil) A VPC
or VPC
id string to
create the security group in. When specified a VPC security group is created.
@return [SecurityGroup]
# File lib/aws/ec2/security_group_collection.rb, line 36 def create name, options = {} description = options[:description] || name create_opts = {} create_opts[:group_name] = name create_opts[:description] = description vpc_id = options[:vpc] vpc_id ||= options[: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| ... }
click to toggle source
Yields once for each security group in this account.
@yield [group] @yieldparam [SecurityGroup] group @return [nil]
# 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