Represents all EC2 tags in an account.
@return [Tag] Returns a reference to a tag with the given name.
# File lib/aws/ec2/tag_collection.rb, line 71 def [] tag_name super end
Creates a new Tag and assigns it to an EC2 resource.
@example tagging with names (keys) only
ec2.tags.create(instance, 'webserver')
@example tagging with names (keys) and values
ec2.tags.create(instance, 'stage', 'production')
@param [Object] resource The item to tag. This should be a taggable
EC2 resource, like an instance, security group, etc.
@param [String] key The tag key (or name). @param [Hash] options @option optins [String] :value (”) The optional tag value. When
left blank its assigned the empty string.
@return [Tag]
# File lib/aws/ec2/tag_collection.rb, line 62 def create resource, key, options = {} value = options[:value].to_s client.create_tags( :resources => [resource.id], :tags => [{ :key => key, :value => value }]) Tag.new(resource, key, :value => value, :config => config) end
Yields once for each tag. @yield [tag] @yieldparam [Tag] tag @return [nil]
# File lib/aws/ec2/tag_collection.rb, line 79 def each &block response = filtered_request(:describe_tags) response.tag_set.each do |tag| resource_class_name = Core::Inflection.class_name(tag.resource_type) if EC2.const_defined?(resource_class_name) resource_class = EC2.const_get(resource_class_name) resource = resource_class.new(tag.resource_id, :config => config) else resource = ResourceObject.new(tag.resource_id, :resource_type => tag.resource_type, :config => config) end yield(Tag.new(resource, tag.key)) end nil end
@private
# File lib/aws/ec2/tag_collection.rb, line 101 def member_class Tag end