Source code for systemlink.clients.tag._tag_update_fields

# -*- coding: utf-8 -*-

"""Implementation of TagUpdateFields."""

import sys

if sys.version_info < (3, 6):
    import aenum as enum  # type: ignore
else:
    import enum


[docs]class TagUpdateFields(enum.IntFlag): """Represents the various :class:`TagData` fields that may be included in a :class:`TagDataUpdate`. Fields that aren't included are left unmodified when updates are sent to the server. """ KEYWORDS = 1 """Specify that entries in the :attr:`TagData.keywords` that are missing from the tag's metadata on the server will be added. """ PROPERTIES = 2 """Specify that entries in the :attr:`TagData.properties` that are missing from or different in the tag's metadata on the server will be added or replaced. """ COLLECT_AGGREGATES = 4 """Specify that the tag's :attr:`TagData.collect_aggregates` setting will be modified on the server.""" RETENTION = 8 """Specify that the tag's :attr:`TagData.retention_type`, :attr:`TagData.retention_count`, and :attr:`TagData.retention_days` settings will be modified on the server. """ ALL = 15 """Specify that all fields in the :class:`TagData` should be included in the update. Keywords and properties that already exist on the server will not be removed, even if they are missing from the update. """