Module: AWS::EC2::TaggedItem

Included in:
Image, Instance, ReservedInstances, ReservedInstancesOffering, ResourceObject, SecurityGroup, Snapshot, Volume
Defined in:
lib/aws/ec2/tagged_item.rb

Instance Method Summary collapse

Instance Method Details

#add_tag(key, options = {}) ⇒ Tag Also known as: tag

Adds a single tag with an optional tag value.

# adds a tag with the key production
resource.tag('production')

# adds a tag with the optional value set to production
resource.tag('role', :value => 'webserver')

Parameters:

  • key (String)

    The name of the tag to add.

  • options (Hash) (defaults to: {})

Options Hash (options):

  • :value (String)

    An optional tag value.

Returns:

  • (Tag)

    The tag that was created.



32
33
34
35
36
37
38
# File 'lib/aws/ec2/tagged_item.rb', line 32

def add_tag key, options = {}
  client.create_tags({
    :resources => [id], 
    :tags => [{ :key => key, :value => options[:value].to_s }],
  })
  Tag.new(self, key, options.merge(:config => config))
end

#clear_tagsnil

Deletes all tags associated with this EC2 resource.

Returns:

  • (nil)


43
44
45
46
# File 'lib/aws/ec2/tagged_item.rb', line 43

def clear_tags
  client.delete_tags(:resources => [self.id])
  nil
end

#tagsResourceTagCollection

Returns a collection that represents only tags belonging to this resource.

Examples:

Manipulating the tags of an EC2 instance

i = ec2.instances["i-123"]
i.tags.to_h                  # => { "foo" => "bar", ... }
i.tags.clear
i.tags.stage = "production"
i.tags.stage                 # => "production"

Returns:



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

def tags
  ResourceTagCollection.new(self, :config => config)
end