Select your cookie preferences

We use essential cookies and similar tools that are necessary to provide our site and services. We use performance cookies to collect anonymous statistics, so we can understand how customers use our site and make improvements. Essential cookies cannot be deactivated, but you can choose “Customize” or “Decline” to decline performance cookies.

If you agree, AWS and approved third parties will also use cookies to provide useful site features, remember your preferences, and display relevant content, including relevant advertising. To accept or decline all non-essential cookies, choose “Accept” or “Decline.” To make more detailed choices, choose “Customize.”

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

Class: AWS::AutoScaling::TagCollection

Inherits:
Object
  • Object
show all
Includes:
Core::Collection::WithLimitAndNextToken
Defined in:
lib/aws/auto_scaling/tag_collection.rb

Overview

Provides an interface for enumerating tags defined in Auto Scaling.

auto_scaling = AWS::AutoScaling.new
auto_scaling.tags.each do |tag|
   puts "#{tag.key}:#{tag.value}"
end

Filters

You can filter the tags returned using #filter:

# returns tags with the key "role"
auto_scaling.filter(:key, 'role').to_a

# returns tags with the key "role" and value "webserver"
auto_scaling.filter(:key, 'role').filter(:value, 'webserver')to_a

# returns tags with the Auto Scaling group name "group1"
auto_scaling.filter(:auto_scaling_group, 'group1').to_a

# returns all tags that propagate at launch
auto_scaling.filter(:propagate_at_launch, true).to_a

Creating Tags

You can create Auto Scaling tags when you:

Both of these methods accept a :tags option.

tags = [
  { :key => 'auto-scaling-instance' },       # tag name only
  { :key => 'role', :value => 'webserver' }, # tag name and value
]

# creating a group with tags
group = auto_scaling.groups.create('group-name', :tags => tags, ...)

# updating a group's tags
group.update(:tags => tags)

Instance Method Summary collapse

Methods included from Core::Collection

#each, #each_batch, #enum, #first, #in_groups_of, #page

Instance Method Details

#filter(name, *values) ⇒ TagCollection

Filters the tags by the given filter name and value(s).

``

return tags with the key "role" and the value "webserver"

auto_scaling.tags.filter(:key, 'role').filer(:value, 'webserver') ``

Parameters:

  • name (Symbol)

    Valid filter names include:

    • :key
    • :value
    • :propagate_at_launch
    • :auto_scaling_group
  • values (Array<String>)

Returns:

[View source]

88
89
90
91
92
93
# File 'lib/aws/auto_scaling/tag_collection.rb', line 88

def filter name, *values
  name = name.to_s.gsub(/_/, '-')
  values = values.flatten.map(&:to_s)
  filter = { :name => name, :values => values }
  TagCollection.new(:filters => @filters + [filter], :config => config)
end