You are viewing documentation for version 1 of the AWS SDK for Ruby. Version 2 documentation can be found here.

Module: AWS::EC2::TaggedCollection

Overview

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

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

Instance Method Summary collapse

Instance Method Details

#tagged(*keys) ⇒ Object

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')


51
52
53
# File 'lib/aws/ec2/tagged_collection.rb', line 51

def tagged *keys
  filter('tag-key', *keys)
end

#tagged_values(*values) ⇒ Object

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')


61
62
63
# File 'lib/aws/ec2/tagged_collection.rb', line 61

def tagged_values *values
  filter('tag-value', *values)
end

#with_tag(tag_key, *values) ⇒ Object

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'])

Parameters:

  • tag_key (String)
  • tag_value (String, Array<String>)


35
36
37
# File 'lib/aws/ec2/tagged_collection.rb', line 35

def with_tag(tag_key, *values)
  filter("tag:#{tag_key}", *values)
end