The Tag Management Service provides the capability to tag and untag existing resources in Junos Space. The resource can be a user resource, a device resource, or resources from another application.

A tag can either be public or private. You can modify the access type of a private tag to public for publishing it into a public domain. However, you cannot modified a public tag to make it private.

A "Tag" has a name, type, and target Collection. A target "collection" can be classified as a secondary collection of heterogeneous links. This implies that each 'target' element in the collection can point to a different resource. The distinguishing factor of this type of "secondary collection" from a normal "homogeneous secondary collection" is the addition of the "type" attribute. This attribute provides the data type of the link. This data type can be used in the "Accept" header of the HTTP request to call the resource URL provided by the "href" attribute of the target element.

A user with role "Sytem Administrator" or "Tag Administrator" can create, update, and delete a tag.

Sample Collection of Targets

The following is a sample collection of targets:

<targets uri="/api/space/tag-management/tags/458766/targets">
   <target type="vnd.net.juniper.space.user-management.user" href="/api/space/user-management/users/1234" uri="/api/space/tag-management/tags/458766/targets/458767"/>
</targets>

Filtering Objects by Tag Name

The filtering of tagged objects is supported by the services to which the respective object belongs. For example, if a 'user' object from 'User-Management' is tagged, the filtering on this tagged object is supported by the 'User-Management' service.

The following example shows filtering of tagged objects on public and private tags.

  • Filtering of user objects tagged by the 'testUsers' public tag:

    /api/space/user-management/users?filter=(TAG eq 'testUsers:public' and name eq 'Open')

  • Filtering of user objects tagged by the 'testUsers' private tag (the default access type is "private"):

    /api/space/user-management/users?filter=(TAG eq 'testUsers:private') or
    /api/space/user-management/users?filter=(TAG eq 'testUsers')

You can specify the tag access type with a tag name by appending an access type??to the tag name in the filter string.

A private tag should be specified as filter=(TAG eq 'testUsers:private') and public tags as filter=(TAG eq 'testUsers:public'). By default, the access type is private.

The following are the limitations for "TAG" filtering:

  • Only one TAG keyword can be used for filtering a string. If two TAG keywords are used, the system will display a parsing exception.

  • Only an 'and' operator is supported when using the TAG keyword. If any other operator is used, the system will display a parsing exception.

  • Only an 'eq' operator is supported for comparison. If any other operator such as 'or', 'gt' or 'contains' is used, the system will display a parsing exception.

Service Root

/api/space/tag-management

Methods and Collections

collection /customized-attribute-categories
collection /customized-attribute-labels
/tags

REST Resources

Data Notification

The following APIs support data notification:

  • /tags POST

  • /tags/{id} PUT

  • /tags/{id} DELETE