TagSelector

class tracdap.metadata.TagSelector

A tag selector describes the selection of a unique object at a point in time.

A tag selector refers to a single object ID and provides criteria for selecting the object version and tag version. The available selection criteria are:

  • Select an explicit version number

  • Select the latest available version

  • Select the version that was live at specific point in time

A selector for an explicit version number will always match that exact version number. These “fixed” types of selector can be used to refer to elements of a repeatable job, because the versions they refer to will never change.

A selector for the latest version will select different versions over time, as they become available. These “variable” types of selector can be used by client applications that want to query the latest state of an object. If a job is set up using variable selectors, TRAC will convert them to fixed selectors for the particular versions that were selected before saving the job definition.

Criteria for object versions and tag versions can be “mixed and matched”, so e.g. latestObject = true with tagVersion = 1 is allowed.

See also

Tag, TagHeader

latestObject: bool | None

Select the latest version of the object (the version that is live now).

If this flag is specified, it must be set to true.

latestTag: bool | None

Select the latest version of the tag (the version that is live now).

If this flag is specified, it must be set to true.

objectAsOf: DatetimeValue | None

Select the version of the object that was live as of a particular point in time. Represented using ISO 8601.

objectId: str

Object ID of the tag being selected.

Object IDs are UUIDs (RFC4122, https://www.ietf.org/rfc/rfc4122.txt)

objectType: ObjectType

Object type of the tag being selected.

See also

ObjectType

objectVersion: int | None

Select an explicit version of the object.

tagAsOf: DatetimeValue | None

Select the version of the tag that was live as of a particular point in time. Represented using ISO 8601.

tagVersion: int | None

Select an explicit version of the tag.