Version: 4


Tags are arbitrary NAME=value pairs assigned to devices, and once assigned remain in the Agent's persistent store until explicitly deleted.

There are two types of tag:

Coverage (scopable)

Coverage tags are propagated to the Switch, where they can be used for coverage, and ultimately to the Device table in the Tachyon Master database.

The maxiumum length of the Coverage tag list including separators is 511 characters. Any tag operation that would exceed this length results in an error.

Freeform (non-scopable).

Freeform tags exist purely on the Agent, where they can be set, their values fetched, and checked for existence.

The Freeform tag list does not have a maximum length.

Tag names are alphanumeric strings, which are case-insensitive but stored internally and returned in upper-case.

Tag values are alphanumeric strings, with case preserved. That is, a number would be represented as a string such as "99", and can be empty (zero-length string) if the presence or absence of a tag is sufficient.

Assigning a value to a tag will create the tag if it does not already exist or overwrite the tag's value if it was already there.

A coverage and freeform tag can share the same name and they are distinct.

Tags are store internally in a tag list as NAME=Value with a separator | at the start and end. For example: |DEPT=Sales|LOCATION=London|COUNTRY=UK|REGION=EMEA|

|| is an empty tag list.

The following methods existing in the Agent Tagging module:

  • Page:
    Tagging.Check — Tests the existence of a named tag of a specified type, optionally with the specified value.
  • Page:
    Tagging.Clear — Delete all tags of the specified type.
  • Page:
    Tagging.Count — Get the quantity of tags of the specified type.
  • Page:
    Tagging.Delete — Delete the named tag of the specified type, and indicate if it originally existed.
  • Page:
    Tagging.Get — Indicate whether a named tag of the specified type is present and return its value if present.
  • Page:
    Tagging.GetAll — Fetch the tag list (containing all tags) of the specified type.
  • Page:
    Tagging.Set — Set (or change if already set) the named tag of the specified type to the specified value.

Each method requires the tag type to be specified as either scopable (true) or non-scopable (false), with default scopable (true).