Source code for otx.api.configuration.configurable_parameters
"""This module contains the base class to define ConfigurableParameters within OTX."""
# Copyright (C) 2021-2022 Intel Corporation
# SPDX-License-Identifier: Apache-2.0
#
from attr import attrib, attrs, setters
from otx.api.entities.id import ID
from .elements.parameter_group import ParameterGroup
from .elements.utils import convert_string_to_id
from .enums.config_element_type import ConfigElementType
[docs]
@attrs(auto_attribs=True, order=False, eq=False)
class ConfigurableParameters(ParameterGroup):
"""Base class representing a generic set of configurable parameters.
A ConfigurableParameters instance is essentially a parameter group with an id
attached to it, so that it can be uniquely identified in the repositories.
Attributes:
id (ID): ID that uniquely identifies the ConfigurableParameters
type (ConfigElementType): Type of the ConfigurableParameters
"""
id: ID = attrib(default=ID(), kw_only=True, converter=convert_string_to_id)
type: ConfigElementType = attrib(
default=ConfigElementType.CONFIGURABLE_PARAMETERS,
repr=False,
init=False,
on_setattr=setters.frozen,
)