class OvirtSDK4::TagsService

Constants

ADD
LIST

Public Instance Methods

add(tag, opts = {}) click to toggle source

Add a new tag to the system.

For example, to add new tag with name `mytag` to the system send a request like this:

.… POST /ovirt-engine/api/tags .…

With a request body like this:

source,xml

<tag>

<name>mytag</name>

</tag>


NOTE: The root tag is a special pseudo-tag assumed as the default parent tag if no parent tag is specified. The root tag cannot be deleted nor assigned a parent tag.

To create new tag with specific parent tag send a request body like this:

source,xml

<tag>

<name>mytag</name>
<parent>
  <name>myparenttag</name>
</parent>

</tag>


@param tag [Tag] The added tag.

@param opts [Hash] Additional options.

@option opts [Hash] :headers ({}) Additional HTTP headers.

@option opts [Hash] :query ({}) Additional URL query parameters.

@option opts [Integer] :timeout (nil) The timeout for this request, in seconds. If no value is explicitly

given then the timeout set globally for the connection will be used.

@option opts [Boolean] :wait (true) If `true` wait for the response.

@return [Tag]

# File lib/ovirtsdk4/services.rb, line 26967
def add(tag, opts = {})
  internal_add(tag, Tag, ADD, opts)
end
list(opts = {}) click to toggle source

List the tags in the system.

For example to list the full hierarchy of the tags in the system send a request like this:

.… GET /ovirt-engine/api/tags .…

source,xml

<tags>

<tag href="/ovirt-engine/api/tags/222" id="222">
  <name>root2</name>
  <description>root2</description>
  <parent href="/ovirt-engine/api/tags/111" id="111"/>
</tag>
<tag href="/ovirt-engine/api/tags/333" id="333">
  <name>root3</name>
  <description>root3</description>
  <parent href="/ovirt-engine/api/tags/222" id="222"/>
</tag>
<tag href="/ovirt-engine/api/tags/111" id="111">
  <name>root</name>
  <description>root</description>
</tag>

</tags>


In the previous XML output you can see the following hierarchy of the tags: .… root: (id: 111)

- root2    (id: 222)
  - root3  (id: 333)

.…

The order of the returned list of tags isn't guaranteed.

@param opts [Hash] Additional options.

@option opts [String] :follow Indicates which inner links should be followed. The objects referenced by these links will be fetched as part

of the current request. See <<documents/003_common_concepts/follow, here>> for details.

@option opts [Integer] :max Sets the maximum number of tags to return. If not specified all the tags are returned.

@option opts [Hash] :headers ({}) Additional HTTP headers.

@option opts [Hash] :query ({}) Additional URL query parameters.

@option opts [Integer] :timeout (nil) The timeout for this request, in seconds. If no value is explicitly

given then the timeout set globally for the connection will be used.

@option opts [Boolean] :wait (true) If `true` wait for the response.

@return [Array<Tag>]

# File lib/ovirtsdk4/services.rb, line 27034
def list(opts = {})
  internal_get(LIST, opts)
end
service(path) click to toggle source

Locates the service corresponding to the given path.

@param path [String] The path of the service.

@return [Service] A reference to the service.

# File lib/ovirtsdk4/services.rb, line 27056
def service(path)
  if path.nil? || path == ''
    return self
  end
  index = path.index('/')
  if index.nil?
    return tag_service(path)
  end
  return tag_service(path[0..(index - 1)]).service(path[(index + 1)..-1])
end
tag_service(id) click to toggle source

Reference to the service that manages a specific tag.

@param id [String] The identifier of the `tag`.

@return [TagService] A reference to the `tag` service.

# File lib/ovirtsdk4/services.rb, line 27045
def tag_service(id)
  TagService.new(self, id)
end