Class: Aws::EC2::Tag

Inherits:
Object
  • Object
show all
Extended by:
Deprecations
Defined in:
lib/aws-sdk-ec2/tag.rb

Defined Under Namespace

Classes: Collection

Read-Only Attributes collapse

Actions collapse

Instance Method Summary collapse

Constructor Details

#initialize(resource_id, key, value, options = {}) ⇒ Tag #initialize(options = {}) ⇒ Tag

Returns a new instance of Tag.

Overloads:

  • #initialize(resource_id, key, value, options = {}) ⇒ Tag

    Parameters:

    • resource_id (String)
    • key (String)
    • value (String)

    Options Hash (options):

  • #initialize(options = {}) ⇒ Tag

    Options Hash (options):

    • :resource_id (required, String)
    • :key (required, String)
    • :value (required, String)
    • :client (Client)


23
24
25
26
27
28
29
30
# File 'lib/aws-sdk-ec2/tag.rb', line 23

def initialize(*args)
  options = Hash === args.last ? args.pop.dup : {}
  @resource_id = extract_resource_id(args, options)
  @key = extract_key(args, options)
  @value = extract_value(args, options)
  @data = options.delete(:data)
  @client = options.delete(:client) || Client.new(options)
end

Instance Method Details

#clientClient

Returns:



58
59
60
# File 'lib/aws-sdk-ec2/tag.rb', line 58

def client
  @client
end

#dataTypes::TagDescription

Returns the data for this Aws::EC2::Tag. Calls Client#describe_tags if #data_loaded? is ‘false`.

Returns:



87
88
89
90
# File 'lib/aws-sdk-ec2/tag.rb', line 87

def data
  load unless @data
  @data
end

#data_loaded?Boolean

Returns ‘true` if this resource is loaded. Accessing attributes or #data on an unloaded resource will trigger a call to #load.

Returns:

  • (Boolean)

    Returns ‘true` if this resource is loaded. Accessing attributes or #data on an unloaded resource will trigger a call to #load.



95
96
97
# File 'lib/aws-sdk-ec2/tag.rb', line 95

def data_loaded?
  !!@data
end

#delete(options = {}) ⇒ EmptyStructure

Examples:

Request syntax with placeholder values


tag.delete({
  dry_run: false,
  tags: [
    {
      key: "String",
      value: "String",
    },
  ],
})

Parameters:

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

    ({})

Options Hash (options):

  • :dry_run (Boolean)

    Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is ‘DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.

  • :tags (Array<Types::Tag>)

    One or more tags to delete. If you omit this parameter, we delete all tags for the specified resources. Specify a tag key and an optional tag value to delete specific tags. If you specify a tag key without a tag value, we delete any tag with this key regardless of its value. If you specify a tag key with an empty string as the tag value, we delete the tag only if its value is an empty string.

Returns:

  • (EmptyStructure)


126
127
128
129
130
131
132
133
134
135
136
# File 'lib/aws-sdk-ec2/tag.rb', line 126

def delete(options = {})
  options = Aws::Util.deep_merge(options,
    resources: [@resource_id],
    tags: [{
      key: @key,
      value: @value
    }]
  )
  resp = @client.delete_tags(options)
  resp.data
end

#identifiersObject

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Deprecated.


140
141
142
143
144
145
146
# File 'lib/aws-sdk-ec2/tag.rb', line 140

def identifiers
  {
    resource_id: @resource_id,
    key: @key,
    value: @value
  }
end

#keyString

Returns:

  • (String)


40
41
42
# File 'lib/aws-sdk-ec2/tag.rb', line 40

def key
  @key
end

#loadself Also known as: reload

Loads, or reloads #data for the current Aws::EC2::Tag. Returns ‘self` making it possible to chain methods.

tag.reload.data

Returns:

  • (self)


68
69
70
71
72
73
74
75
76
77
78
79
80
81
# File 'lib/aws-sdk-ec2/tag.rb', line 68

def load
  resp = @client.describe_tags(filters: [
    {
      name: "key",
      values: [@key]
    },
    {
      name: "value",
      values: [@value]
    }
  ])
  @data = resp.tags[0]
  self
end

#resource_idString

Returns:

  • (String)


35
36
37
# File 'lib/aws-sdk-ec2/tag.rb', line 35

def resource_id
  @resource_id
end

#resource_typeString

The resource type.

Returns:

  • (String)


51
52
53
# File 'lib/aws-sdk-ec2/tag.rb', line 51

def resource_type
  data.resource_type
end

#valueString

Returns:

  • (String)


45
46
47
# File 'lib/aws-sdk-ec2/tag.rb', line 45

def value
  @value
end