# Generated by the protocol buffer compiler.  DO NOT EDIT!
# sources: onos/config/v2/configuration/types.proto
# plugin: python-betterproto
from dataclasses import dataclass
from typing import List

import betterproto
from betterproto.grpc.grpclib_server import ServiceBase


class State(betterproto.Enum):
    """State is the state of a phase"""

    # PENDING indicates the phase is pending
    PENDING = 0
    # COMPLETE indicates the phase is complete
    COMPLETE = 2
    # FAILED indicates the phase failed
    FAILED = 3


@dataclass(eq=False, repr=False)
class Configuration(betterproto.Message):
    """Configuration represents complete desired target configuration"""

    # 'id' is a unique configuration identifier
    id: str = betterproto.string_field(1)
    # 'target_id' is the target to which the desired target configuration applies
    target_id: str = betterproto.string_field(2)
    # 'target_version' is the version to which desired target configuration
    # applies
    target_version: str = betterproto.string_field(3)
    # 'target_type' is an optional target type to which to apply this desired
    # target configuration
    target_type: str = betterproto.string_field(4)
    # 'values' is a list of path/values to set
    values: List["__v2__.PathValue"] = betterproto.message_field(7)


from ... import v2 as __v2__
