module AWS::EC2::TaggedCollection

Most of the AWS::EC2 collections include TaggedCollection. This module provides methods for filtering the collection with tags.

collecion.tagged('prod').each do {|obj| ... }

Public Instance Methods

tagged(*keys) click to toggle source

Filter the collection by one or more tag keys. If you pass multiple tag keys they will be be treated as OR conditions. If you want to AND them together call tagged multiple times (chained).

Filter the collection to items items tagged ‘live’ OR ‘test’

collection.tagged('live', 'test')

Filter the collection to items tagged ‘live’ AND ‘webserver’

collection.tagged('live').tagged('webserver')
# File lib/aws/ec2/tagged_collection.rb, line 51
def tagged *keys
  filter('tag-key', *keys)
end
tagged_values(*values) click to toggle source

Filter the collection by one or more tag values. If you pass multiple tag values they will be be treated as OR conditions. If you want to AND them together call tagged multiple times (chained).

collection.tagged('stage').tagged_values('production')
# File lib/aws/ec2/tagged_collection.rb, line 61
def tagged_values *values
  filter('tag-value', *values)
end
with_tag(tag_key, *values) click to toggle source

Filters the collection by a paired tag key and value.

ec2.instances.with_tag('role', 'web')

You can filter a single tag key with multiple values:

ec2.instances.with_tag('role', ['web', 'db'])

@param [String] tag_key @param [String, Array<String>] tag_value

# File lib/aws/ec2/tagged_collection.rb, line 35
def with_tag(tag_key, *values)
  filter("tag:#{tag_key}", *values)
end