Class AWS::AutoScaling::TagCollection
In: lib/aws/auto_scaling/tag_collection.rb
Parent: Object

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)

Methods

_each_item   filter   new  

Included Modules

Core::Collection::Limitable

Public Class methods

Public Instance methods

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

@param [Symbol] name Valid filter names include:

  * :key
  * :value
  * :propagate_at_launch
  * :auto_scaling_group

@param [Array<String>] values

@return [TagCollection]

Protected Instance methods

[Validate]