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::WithLimitAndNextToken

Public Class methods

@api private

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]