module AWS::EC2::FilteredCollection

Public Class Methods

new(options = {}) click to toggle source
Calls superclass method
# File lib/aws/ec2/filtered_collection.rb, line 19
def initialize options = {}
  @filters = options[:filters] || []
  super
end

Public Instance Methods

filter(filter_name, *values) click to toggle source

Specify one or more criteria to filter elastic IP addresses by. A subsequent call to each will limit the results returned by provided filters.

  • Chain multiple calls of filter together to AND multiple conditions together.

  • Supply multiple values to a singler filter call to OR those value conditions together.

  • '*' matches one or more characters and '?' matches any one character.

# File lib/aws/ec2/filtered_collection.rb, line 37
def filter filter_name, *values
  filters = @filters.dup
  filters << { :name => filter_name, :values => values.flatten }
  collection_with(:filters => filters)
end
filtered_request(client_method, options = {}) click to toggle source

@private

# File lib/aws/ec2/filtered_collection.rb, line 44
def filtered_request client_method, options = {}, &block
  options[:filters] = @filters unless @filters.empty?
  client.send(client_method, options)
end

Protected Instance Methods

collection_with(options = {}) click to toggle source

@private

# File lib/aws/ec2/filtered_collection.rb, line 83
def collection_with(options = {})
  self.class.new(preserved_options.merge(options))
end
filter_value_for(filter_name) click to toggle source
# File lib/aws/ec2/filtered_collection.rb, line 68
def filter_value_for filter_name
  @filters.each do |filter|
    return filter[:values].first if filter[:name] == filter_name
  end
  nil
end
preserved_options() click to toggle source

@private

# File lib/aws/ec2/filtered_collection.rb, line 77
def preserved_options
  { :config => config, :filters => @filters }
end
subnet_id_option(options) click to toggle source
# File lib/aws/ec2/filtered_collection.rb, line 59
def subnet_id_option options
  subnet_id = options.delete(:subnet)
  subnet_id ||= options[:subnet_id]
  subnet_id ||= filter_value_for('subnet-id')
  subnet_id = subnet_id.id if subnet_id.is_a?(Subnet)
  subnet_id
end
vpc_id_option(options) click to toggle source
# File lib/aws/ec2/filtered_collection.rb, line 50
def vpc_id_option options
  vpc_id = options[:vpc]
  vpc_id ||= options[:vpc_id]
  vpc_id ||= filter_value_for('vpc-id')
  vpc_id = vpc_id.id if vpc_id.is_a?(VPC)
  vpc_id
end