# Generated by the protocol buffer compiler.  DO NOT EDIT!
# sources: usp-msg-1-4.proto
# plugin: python-betterproto2
# This file has been @generated

__all__ = (
    "Add",
    "AddCreateObject",
    "AddCreateParamSetting",
    "AddResp",
    "AddRespCreatedObjectResult",
    "AddRespCreatedObjectResultOperationStatus",
    "AddRespCreatedObjectResultOperationStatusOperationFailure",
    "AddRespCreatedObjectResultOperationStatusOperationSuccess",
    "AddRespParameterError",
    "Body",
    "Delete",
    "DeleteResp",
    "DeleteRespDeletedObjectResult",
    "DeleteRespDeletedObjectResultOperationStatus",
    "DeleteRespDeletedObjectResultOperationStatusOperationFailure",
    "DeleteRespDeletedObjectResultOperationStatusOperationSuccess",
    "DeleteRespUnaffectedPathError",
    "Deregister",
    "DeregisterResp",
    "DeregisterRespDeregisteredPathResult",
    "DeregisterRespDeregisteredPathResultOperationStatus",
    "DeregisterRespDeregisteredPathResultOperationStatusOperationFailure",
    "DeregisterRespDeregisteredPathResultOperationStatusOperationSuccess",
    "Error",
    "ErrorParamError",
    "Get",
    "GetInstances",
    "GetInstancesResp",
    "GetInstancesRespCurrInstance",
    "GetInstancesRespRequestedPathResult",
    "GetResp",
    "GetRespRequestedPathResult",
    "GetRespResolvedPathResult",
    "GetSupportedDm",
    "GetSupportedDmResp",
    "GetSupportedDmRespCmdType",
    "GetSupportedDmRespObjAccessType",
    "GetSupportedDmRespParamAccessType",
    "GetSupportedDmRespParamValueType",
    "GetSupportedDmRespRequestedObjectResult",
    "GetSupportedDmRespSupportedCommandResult",
    "GetSupportedDmRespSupportedEventResult",
    "GetSupportedDmRespSupportedObjectResult",
    "GetSupportedDmRespSupportedParamResult",
    "GetSupportedDmRespSupportedUniqueKeySet",
    "GetSupportedDmRespValueChangeType",
    "GetSupportedProtocol",
    "GetSupportedProtocolResp",
    "Header",
    "HeaderMsgType",
    "Msg",
    "Notify",
    "NotifyEvent",
    "NotifyObjectCreation",
    "NotifyObjectDeletion",
    "NotifyOnBoardRequest",
    "NotifyOperationComplete",
    "NotifyOperationCompleteCommandFailure",
    "NotifyOperationCompleteOutputArgs",
    "NotifyResp",
    "NotifyValueChange",
    "Operate",
    "OperateResp",
    "OperateRespOperationResult",
    "OperateRespOperationResultCommandFailure",
    "OperateRespOperationResultOutputArgs",
    "Register",
    "RegisterRegistrationPath",
    "RegisterResp",
    "RegisterRespRegisteredPathResult",
    "RegisterRespRegisteredPathResultOperationStatus",
    "RegisterRespRegisteredPathResultOperationStatusOperationFailure",
    "RegisterRespRegisteredPathResultOperationStatusOperationSuccess",
    "Request",
    "Response",
    "Set",
    "SetResp",
    "SetRespParameterError",
    "SetRespUpdatedInstanceFailure",
    "SetRespUpdatedInstanceResult",
    "SetRespUpdatedObjectResult",
    "SetRespUpdatedObjectResultOperationStatus",
    "SetRespUpdatedObjectResultOperationStatusOperationFailure",
    "SetRespUpdatedObjectResultOperationStatusOperationSuccess",
    "SetUpdateObject",
    "SetUpdateParamSetting",
)

from dataclasses import dataclass

import betterproto2

from ..message_pool import default_message_pool

_COMPILER_VERSION = "0.9.0"
betterproto2.check_compiler_version(_COMPILER_VERSION)


class GetSupportedDmRespCmdType(betterproto2.Enum):
    CMD_UNKNOWN = 0

    CMD_SYNC = 1

    CMD_ASYNC = 2


class GetSupportedDmRespObjAccessType(betterproto2.Enum):
    OBJ_READ_ONLY = 0

    OBJ_ADD_DELETE = 1

    OBJ_ADD_ONLY = 2

    OBJ_DELETE_ONLY = 3


class GetSupportedDmRespParamAccessType(betterproto2.Enum):
    PARAM_READ_ONLY = 0

    PARAM_READ_WRITE = 1

    PARAM_WRITE_ONLY = 2


class GetSupportedDmRespParamValueType(betterproto2.Enum):
    PARAM_UNKNOWN = 0

    PARAM_BASE_64 = 1

    PARAM_BOOLEAN = 2

    PARAM_DATE_TIME = 3

    PARAM_DECIMAL = 4

    PARAM_HEX_BINARY = 5

    PARAM_INT = 6

    PARAM_LONG = 7

    PARAM_STRING = 8

    PARAM_UNSIGNED_INT = 9

    PARAM_UNSIGNED_LONG = 10


class GetSupportedDmRespValueChangeType(betterproto2.Enum):
    VALUE_CHANGE_UNKNOWN = 0

    VALUE_CHANGE_ALLOWED = 1

    VALUE_CHANGE_WILL_IGNORE = 2


class HeaderMsgType(betterproto2.Enum):
    ERROR = 0

    GET = 1

    GET_RESP = 2

    NOTIFY = 3

    SET = 4

    SET_RESP = 5

    OPERATE = 6

    OPERATE_RESP = 7

    ADD = 8

    ADD_RESP = 9

    DELETE = 10

    DELETE_RESP = 11

    GET_SUPPORTED_DM = 12

    GET_SUPPORTED_DM_RESP = 13

    GET_INSTANCES = 14

    GET_INSTANCES_RESP = 15

    NOTIFY_RESP = 16

    GET_SUPPORTED_PROTO = 17

    GET_SUPPORTED_PROTO_RESP = 18

    REGISTER = 19

    REGISTER_RESP = 20

    DEREGISTER = 21

    DEREGISTER_RESP = 22


@dataclass(eq=False, repr=False)
class Add(betterproto2.Message):
    allow_partial: "bool" = betterproto2.field(1, betterproto2.TYPE_BOOL)

    create_objs: "list[AddCreateObject]" = betterproto2.field(
        2, betterproto2.TYPE_MESSAGE, repeated=True
    )


default_message_pool.register_message("usp", "Add", Add)


@dataclass(eq=False, repr=False)
class AddCreateObject(betterproto2.Message):
    obj_path: "str" = betterproto2.field(1, betterproto2.TYPE_STRING)

    param_settings: "list[AddCreateParamSetting]" = betterproto2.field(
        2, betterproto2.TYPE_MESSAGE, repeated=True
    )


default_message_pool.register_message("usp", "Add.CreateObject", AddCreateObject)


@dataclass(eq=False, repr=False)
class AddCreateParamSetting(betterproto2.Message):
    param: "str" = betterproto2.field(1, betterproto2.TYPE_STRING)

    value: "str" = betterproto2.field(2, betterproto2.TYPE_STRING)

    required: "bool" = betterproto2.field(3, betterproto2.TYPE_BOOL)


default_message_pool.register_message(
    "usp", "Add.CreateParamSetting", AddCreateParamSetting
)


@dataclass(eq=False, repr=False)
class AddResp(betterproto2.Message):
    created_obj_results: "list[AddRespCreatedObjectResult]" = betterproto2.field(
        1, betterproto2.TYPE_MESSAGE, repeated=True
    )


default_message_pool.register_message("usp", "AddResp", AddResp)


@dataclass(eq=False, repr=False)
class AddRespCreatedObjectResult(betterproto2.Message):
    requested_path: "str" = betterproto2.field(1, betterproto2.TYPE_STRING)

    oper_status: "AddRespCreatedObjectResultOperationStatus | None" = (
        betterproto2.field(2, betterproto2.TYPE_MESSAGE, optional=True)
    )


default_message_pool.register_message(
    "usp", "AddResp.CreatedObjectResult", AddRespCreatedObjectResult
)


@dataclass(eq=False, repr=False)
class AddRespCreatedObjectResultOperationStatus(betterproto2.Message):
    """


    Oneofs:
        - oper_status:
    """

    oper_failure: "AddRespCreatedObjectResultOperationStatusOperationFailure | None" = (
        betterproto2.field(
            1, betterproto2.TYPE_MESSAGE, optional=True, group="oper_status"
        )
    )

    oper_success: "AddRespCreatedObjectResultOperationStatusOperationSuccess | None" = (
        betterproto2.field(
            2, betterproto2.TYPE_MESSAGE, optional=True, group="oper_status"
        )
    )


default_message_pool.register_message(
    "usp",
    "AddResp.CreatedObjectResult.OperationStatus",
    AddRespCreatedObjectResultOperationStatus,
)


@dataclass(eq=False, repr=False)
class AddRespCreatedObjectResultOperationStatusOperationFailure(betterproto2.Message):
    err_code: "int" = betterproto2.field(1, betterproto2.TYPE_FIXED32)

    err_msg: "str" = betterproto2.field(2, betterproto2.TYPE_STRING)


default_message_pool.register_message(
    "usp",
    "AddResp.CreatedObjectResult.OperationStatus.OperationFailure",
    AddRespCreatedObjectResultOperationStatusOperationFailure,
)


@dataclass(eq=False, repr=False)
class AddRespCreatedObjectResultOperationStatusOperationSuccess(betterproto2.Message):
    instantiated_path: "str" = betterproto2.field(1, betterproto2.TYPE_STRING)

    param_errs: "list[AddRespParameterError]" = betterproto2.field(
        2, betterproto2.TYPE_MESSAGE, repeated=True
    )

    unique_keys: "dict[str, str]" = betterproto2.field(
        3,
        betterproto2.TYPE_MAP,
        map_meta=betterproto2.map_meta(
            betterproto2.TYPE_STRING, betterproto2.TYPE_STRING
        ),
    )


default_message_pool.register_message(
    "usp",
    "AddResp.CreatedObjectResult.OperationStatus.OperationSuccess",
    AddRespCreatedObjectResultOperationStatusOperationSuccess,
)


@dataclass(eq=False, repr=False)
class AddRespParameterError(betterproto2.Message):
    param: "str" = betterproto2.field(1, betterproto2.TYPE_STRING)

    err_code: "int" = betterproto2.field(2, betterproto2.TYPE_FIXED32)

    err_msg: "str" = betterproto2.field(3, betterproto2.TYPE_STRING)


default_message_pool.register_message(
    "usp", "AddResp.ParameterError", AddRespParameterError
)


@dataclass(eq=False, repr=False)
class Body(betterproto2.Message):
    """


    Oneofs:
        - msg_body:
    """

    request: "Request | None" = betterproto2.field(
        1, betterproto2.TYPE_MESSAGE, optional=True, group="msg_body"
    )

    response: "Response | None" = betterproto2.field(
        2, betterproto2.TYPE_MESSAGE, optional=True, group="msg_body"
    )

    error: "Error | None" = betterproto2.field(
        3, betterproto2.TYPE_MESSAGE, optional=True, group="msg_body"
    )


default_message_pool.register_message("usp", "Body", Body)


@dataclass(eq=False, repr=False)
class Delete(betterproto2.Message):
    allow_partial: "bool" = betterproto2.field(1, betterproto2.TYPE_BOOL)

    obj_paths: "list[str]" = betterproto2.field(
        2, betterproto2.TYPE_STRING, repeated=True
    )


default_message_pool.register_message("usp", "Delete", Delete)


@dataclass(eq=False, repr=False)
class DeleteResp(betterproto2.Message):
    deleted_obj_results: "list[DeleteRespDeletedObjectResult]" = betterproto2.field(
        1, betterproto2.TYPE_MESSAGE, repeated=True
    )


default_message_pool.register_message("usp", "DeleteResp", DeleteResp)


@dataclass(eq=False, repr=False)
class DeleteRespDeletedObjectResult(betterproto2.Message):
    requested_path: "str" = betterproto2.field(1, betterproto2.TYPE_STRING)

    oper_status: "DeleteRespDeletedObjectResultOperationStatus | None" = (
        betterproto2.field(2, betterproto2.TYPE_MESSAGE, optional=True)
    )


default_message_pool.register_message(
    "usp", "DeleteResp.DeletedObjectResult", DeleteRespDeletedObjectResult
)


@dataclass(eq=False, repr=False)
class DeleteRespDeletedObjectResultOperationStatus(betterproto2.Message):
    """


    Oneofs:
        - oper_status:
    """

    oper_failure: "DeleteRespDeletedObjectResultOperationStatusOperationFailure | None" = betterproto2.field(
        1, betterproto2.TYPE_MESSAGE, optional=True, group="oper_status"
    )

    oper_success: "DeleteRespDeletedObjectResultOperationStatusOperationSuccess | None" = betterproto2.field(
        2, betterproto2.TYPE_MESSAGE, optional=True, group="oper_status"
    )


default_message_pool.register_message(
    "usp",
    "DeleteResp.DeletedObjectResult.OperationStatus",
    DeleteRespDeletedObjectResultOperationStatus,
)


@dataclass(eq=False, repr=False)
class DeleteRespDeletedObjectResultOperationStatusOperationFailure(
    betterproto2.Message
):
    err_code: "int" = betterproto2.field(1, betterproto2.TYPE_FIXED32)

    err_msg: "str" = betterproto2.field(2, betterproto2.TYPE_STRING)


default_message_pool.register_message(
    "usp",
    "DeleteResp.DeletedObjectResult.OperationStatus.OperationFailure",
    DeleteRespDeletedObjectResultOperationStatusOperationFailure,
)


@dataclass(eq=False, repr=False)
class DeleteRespDeletedObjectResultOperationStatusOperationSuccess(
    betterproto2.Message
):
    affected_paths: "list[str]" = betterproto2.field(
        1, betterproto2.TYPE_STRING, repeated=True
    )

    unaffected_path_errs: "list[DeleteRespUnaffectedPathError]" = betterproto2.field(
        2, betterproto2.TYPE_MESSAGE, repeated=True
    )


default_message_pool.register_message(
    "usp",
    "DeleteResp.DeletedObjectResult.OperationStatus.OperationSuccess",
    DeleteRespDeletedObjectResultOperationStatusOperationSuccess,
)


@dataclass(eq=False, repr=False)
class DeleteRespUnaffectedPathError(betterproto2.Message):
    unaffected_path: "str" = betterproto2.field(1, betterproto2.TYPE_STRING)

    err_code: "int" = betterproto2.field(2, betterproto2.TYPE_FIXED32)

    err_msg: "str" = betterproto2.field(3, betterproto2.TYPE_STRING)


default_message_pool.register_message(
    "usp", "DeleteResp.UnaffectedPathError", DeleteRespUnaffectedPathError
)


@dataclass(eq=False, repr=False)
class Deregister(betterproto2.Message):
    paths: "list[str]" = betterproto2.field(1, betterproto2.TYPE_STRING, repeated=True)


default_message_pool.register_message("usp", "Deregister", Deregister)


@dataclass(eq=False, repr=False)
class DeregisterResp(betterproto2.Message):
    deregistered_path_results: "list[DeregisterRespDeregisteredPathResult]" = (
        betterproto2.field(1, betterproto2.TYPE_MESSAGE, repeated=True)
    )


default_message_pool.register_message("usp", "DeregisterResp", DeregisterResp)


@dataclass(eq=False, repr=False)
class DeregisterRespDeregisteredPathResult(betterproto2.Message):
    requested_path: "str" = betterproto2.field(1, betterproto2.TYPE_STRING)

    oper_status: "DeregisterRespDeregisteredPathResultOperationStatus | None" = (
        betterproto2.field(2, betterproto2.TYPE_MESSAGE, optional=True)
    )


default_message_pool.register_message(
    "usp", "DeregisterResp.DeregisteredPathResult", DeregisterRespDeregisteredPathResult
)


@dataclass(eq=False, repr=False)
class DeregisterRespDeregisteredPathResultOperationStatus(betterproto2.Message):
    """


    Oneofs:
        - oper_status:
    """

    oper_failure: "DeregisterRespDeregisteredPathResultOperationStatusOperationFailure | None" = betterproto2.field(
        1, betterproto2.TYPE_MESSAGE, optional=True, group="oper_status"
    )

    oper_success: "DeregisterRespDeregisteredPathResultOperationStatusOperationSuccess | None" = betterproto2.field(
        2, betterproto2.TYPE_MESSAGE, optional=True, group="oper_status"
    )


default_message_pool.register_message(
    "usp",
    "DeregisterResp.DeregisteredPathResult.OperationStatus",
    DeregisterRespDeregisteredPathResultOperationStatus,
)


@dataclass(eq=False, repr=False)
class DeregisterRespDeregisteredPathResultOperationStatusOperationFailure(
    betterproto2.Message
):
    err_code: "int" = betterproto2.field(1, betterproto2.TYPE_FIXED32)

    err_msg: "str" = betterproto2.field(2, betterproto2.TYPE_STRING)


default_message_pool.register_message(
    "usp",
    "DeregisterResp.DeregisteredPathResult.OperationStatus.OperationFailure",
    DeregisterRespDeregisteredPathResultOperationStatusOperationFailure,
)


@dataclass(eq=False, repr=False)
class DeregisterRespDeregisteredPathResultOperationStatusOperationSuccess(
    betterproto2.Message
):
    deregistered_path: "list[str]" = betterproto2.field(
        1, betterproto2.TYPE_STRING, repeated=True
    )


default_message_pool.register_message(
    "usp",
    "DeregisterResp.DeregisteredPathResult.OperationStatus.OperationSuccess",
    DeregisterRespDeregisteredPathResultOperationStatusOperationSuccess,
)


@dataclass(eq=False, repr=False)
class Error(betterproto2.Message):
    err_code: "int" = betterproto2.field(1, betterproto2.TYPE_FIXED32)

    err_msg: "str" = betterproto2.field(2, betterproto2.TYPE_STRING)

    param_errs: "list[ErrorParamError]" = betterproto2.field(
        3, betterproto2.TYPE_MESSAGE, repeated=True
    )


default_message_pool.register_message("usp", "Error", Error)


@dataclass(eq=False, repr=False)
class ErrorParamError(betterproto2.Message):
    param_path: "str" = betterproto2.field(1, betterproto2.TYPE_STRING)

    err_code: "int" = betterproto2.field(2, betterproto2.TYPE_FIXED32)

    err_msg: "str" = betterproto2.field(3, betterproto2.TYPE_STRING)


default_message_pool.register_message("usp", "Error.ParamError", ErrorParamError)


@dataclass(eq=False, repr=False)
class Get(betterproto2.Message):
    param_paths: "list[str]" = betterproto2.field(
        1, betterproto2.TYPE_STRING, repeated=True
    )

    max_depth: "int" = betterproto2.field(2, betterproto2.TYPE_FIXED32)


default_message_pool.register_message("usp", "Get", Get)


@dataclass(eq=False, repr=False)
class GetInstances(betterproto2.Message):
    obj_paths: "list[str]" = betterproto2.field(
        1, betterproto2.TYPE_STRING, repeated=True
    )

    first_level_only: "bool" = betterproto2.field(2, betterproto2.TYPE_BOOL)


default_message_pool.register_message("usp", "GetInstances", GetInstances)


@dataclass(eq=False, repr=False)
class GetInstancesResp(betterproto2.Message):
    req_path_results: "list[GetInstancesRespRequestedPathResult]" = betterproto2.field(
        1, betterproto2.TYPE_MESSAGE, repeated=True
    )


default_message_pool.register_message("usp", "GetInstancesResp", GetInstancesResp)


@dataclass(eq=False, repr=False)
class GetInstancesRespCurrInstance(betterproto2.Message):
    instantiated_obj_path: "str" = betterproto2.field(1, betterproto2.TYPE_STRING)

    unique_keys: "dict[str, str]" = betterproto2.field(
        2,
        betterproto2.TYPE_MAP,
        map_meta=betterproto2.map_meta(
            betterproto2.TYPE_STRING, betterproto2.TYPE_STRING
        ),
    )


default_message_pool.register_message(
    "usp", "GetInstancesResp.CurrInstance", GetInstancesRespCurrInstance
)


@dataclass(eq=False, repr=False)
class GetInstancesRespRequestedPathResult(betterproto2.Message):
    requested_path: "str" = betterproto2.field(1, betterproto2.TYPE_STRING)

    err_code: "int" = betterproto2.field(2, betterproto2.TYPE_FIXED32)

    err_msg: "str" = betterproto2.field(3, betterproto2.TYPE_STRING)

    curr_insts: "list[GetInstancesRespCurrInstance]" = betterproto2.field(
        4, betterproto2.TYPE_MESSAGE, repeated=True
    )


default_message_pool.register_message(
    "usp", "GetInstancesResp.RequestedPathResult", GetInstancesRespRequestedPathResult
)


@dataclass(eq=False, repr=False)
class GetResp(betterproto2.Message):
    req_path_results: "list[GetRespRequestedPathResult]" = betterproto2.field(
        1, betterproto2.TYPE_MESSAGE, repeated=True
    )


default_message_pool.register_message("usp", "GetResp", GetResp)


@dataclass(eq=False, repr=False)
class GetRespRequestedPathResult(betterproto2.Message):
    requested_path: "str" = betterproto2.field(1, betterproto2.TYPE_STRING)

    err_code: "int" = betterproto2.field(2, betterproto2.TYPE_FIXED32)

    err_msg: "str" = betterproto2.field(3, betterproto2.TYPE_STRING)

    resolved_path_results: "list[GetRespResolvedPathResult]" = betterproto2.field(
        4, betterproto2.TYPE_MESSAGE, repeated=True
    )


default_message_pool.register_message(
    "usp", "GetResp.RequestedPathResult", GetRespRequestedPathResult
)


@dataclass(eq=False, repr=False)
class GetRespResolvedPathResult(betterproto2.Message):
    resolved_path: "str" = betterproto2.field(1, betterproto2.TYPE_STRING)

    result_params: "dict[str, str]" = betterproto2.field(
        2,
        betterproto2.TYPE_MAP,
        map_meta=betterproto2.map_meta(
            betterproto2.TYPE_STRING, betterproto2.TYPE_STRING
        ),
    )


default_message_pool.register_message(
    "usp", "GetResp.ResolvedPathResult", GetRespResolvedPathResult
)


@dataclass(eq=False, repr=False)
class GetSupportedDm(betterproto2.Message):
    obj_paths: "list[str]" = betterproto2.field(
        1, betterproto2.TYPE_STRING, repeated=True
    )

    first_level_only: "bool" = betterproto2.field(2, betterproto2.TYPE_BOOL)

    return_commands: "bool" = betterproto2.field(3, betterproto2.TYPE_BOOL)

    return_events: "bool" = betterproto2.field(4, betterproto2.TYPE_BOOL)

    return_params: "bool" = betterproto2.field(5, betterproto2.TYPE_BOOL)

    return_unique_key_sets: "bool" = betterproto2.field(6, betterproto2.TYPE_BOOL)


default_message_pool.register_message("usp", "GetSupportedDM", GetSupportedDm)


@dataclass(eq=False, repr=False)
class GetSupportedDmResp(betterproto2.Message):
    req_obj_results: "list[GetSupportedDmRespRequestedObjectResult]" = (
        betterproto2.field(1, betterproto2.TYPE_MESSAGE, repeated=True)
    )


default_message_pool.register_message("usp", "GetSupportedDMResp", GetSupportedDmResp)


@dataclass(eq=False, repr=False)
class GetSupportedDmRespRequestedObjectResult(betterproto2.Message):
    req_obj_path: "str" = betterproto2.field(1, betterproto2.TYPE_STRING)

    err_code: "int" = betterproto2.field(2, betterproto2.TYPE_FIXED32)

    err_msg: "str" = betterproto2.field(3, betterproto2.TYPE_STRING)

    data_model_inst_uri: "str" = betterproto2.field(4, betterproto2.TYPE_STRING)

    supported_objs: "list[GetSupportedDmRespSupportedObjectResult]" = (
        betterproto2.field(5, betterproto2.TYPE_MESSAGE, repeated=True)
    )


default_message_pool.register_message(
    "usp",
    "GetSupportedDMResp.RequestedObjectResult",
    GetSupportedDmRespRequestedObjectResult,
)


@dataclass(eq=False, repr=False)
class GetSupportedDmRespSupportedCommandResult(betterproto2.Message):
    command_name: "str" = betterproto2.field(1, betterproto2.TYPE_STRING)

    input_arg_names: "list[str]" = betterproto2.field(
        2, betterproto2.TYPE_STRING, repeated=True
    )

    output_arg_names: "list[str]" = betterproto2.field(
        3, betterproto2.TYPE_STRING, repeated=True
    )

    command_type: "GetSupportedDmRespCmdType" = betterproto2.field(
        4, betterproto2.TYPE_ENUM, default_factory=lambda: GetSupportedDmRespCmdType(0)
    )


default_message_pool.register_message(
    "usp",
    "GetSupportedDMResp.SupportedCommandResult",
    GetSupportedDmRespSupportedCommandResult,
)


@dataclass(eq=False, repr=False)
class GetSupportedDmRespSupportedEventResult(betterproto2.Message):
    event_name: "str" = betterproto2.field(1, betterproto2.TYPE_STRING)

    arg_names: "list[str]" = betterproto2.field(
        2, betterproto2.TYPE_STRING, repeated=True
    )


default_message_pool.register_message(
    "usp",
    "GetSupportedDMResp.SupportedEventResult",
    GetSupportedDmRespSupportedEventResult,
)


@dataclass(eq=False, repr=False)
class GetSupportedDmRespSupportedObjectResult(betterproto2.Message):
    supported_obj_path: "str" = betterproto2.field(1, betterproto2.TYPE_STRING)

    access: "GetSupportedDmRespObjAccessType" = betterproto2.field(
        2,
        betterproto2.TYPE_ENUM,
        default_factory=lambda: GetSupportedDmRespObjAccessType(0),
    )

    is_multi_instance: "bool" = betterproto2.field(3, betterproto2.TYPE_BOOL)

    supported_commands: "list[GetSupportedDmRespSupportedCommandResult]" = (
        betterproto2.field(4, betterproto2.TYPE_MESSAGE, repeated=True)
    )

    supported_events: "list[GetSupportedDmRespSupportedEventResult]" = (
        betterproto2.field(5, betterproto2.TYPE_MESSAGE, repeated=True)
    )

    supported_params: "list[GetSupportedDmRespSupportedParamResult]" = (
        betterproto2.field(6, betterproto2.TYPE_MESSAGE, repeated=True)
    )

    divergent_paths: "list[str]" = betterproto2.field(
        7, betterproto2.TYPE_STRING, repeated=True
    )

    unique_key_sets: "list[GetSupportedDmRespSupportedUniqueKeySet]" = (
        betterproto2.field(8, betterproto2.TYPE_MESSAGE, repeated=True)
    )


default_message_pool.register_message(
    "usp",
    "GetSupportedDMResp.SupportedObjectResult",
    GetSupportedDmRespSupportedObjectResult,
)


@dataclass(eq=False, repr=False)
class GetSupportedDmRespSupportedParamResult(betterproto2.Message):
    param_name: "str" = betterproto2.field(1, betterproto2.TYPE_STRING)

    access: "GetSupportedDmRespParamAccessType" = betterproto2.field(
        2,
        betterproto2.TYPE_ENUM,
        default_factory=lambda: GetSupportedDmRespParamAccessType(0),
    )

    value_type: "GetSupportedDmRespParamValueType" = betterproto2.field(
        3,
        betterproto2.TYPE_ENUM,
        default_factory=lambda: GetSupportedDmRespParamValueType(0),
    )

    value_change: "GetSupportedDmRespValueChangeType" = betterproto2.field(
        4,
        betterproto2.TYPE_ENUM,
        default_factory=lambda: GetSupportedDmRespValueChangeType(0),
    )


default_message_pool.register_message(
    "usp",
    "GetSupportedDMResp.SupportedParamResult",
    GetSupportedDmRespSupportedParamResult,
)


@dataclass(eq=False, repr=False)
class GetSupportedDmRespSupportedUniqueKeySet(betterproto2.Message):
    key_names: "list[str]" = betterproto2.field(
        1, betterproto2.TYPE_STRING, repeated=True
    )


default_message_pool.register_message(
    "usp",
    "GetSupportedDMResp.SupportedUniqueKeySet",
    GetSupportedDmRespSupportedUniqueKeySet,
)


@dataclass(eq=False, repr=False)
class GetSupportedProtocol(betterproto2.Message):
    controller_supported_protocol_versions: "str" = betterproto2.field(
        1, betterproto2.TYPE_STRING
    )


default_message_pool.register_message(
    "usp", "GetSupportedProtocol", GetSupportedProtocol
)


@dataclass(eq=False, repr=False)
class GetSupportedProtocolResp(betterproto2.Message):
    agent_supported_protocol_versions: "str" = betterproto2.field(
        1, betterproto2.TYPE_STRING
    )


default_message_pool.register_message(
    "usp", "GetSupportedProtocolResp", GetSupportedProtocolResp
)


@dataclass(eq=False, repr=False)
class Header(betterproto2.Message):
    msg_id: "str" = betterproto2.field(1, betterproto2.TYPE_STRING)
    """
    Make required in the protocol
    """

    msg_type: "HeaderMsgType" = betterproto2.field(
        2, betterproto2.TYPE_ENUM, default_factory=lambda: HeaderMsgType(0)
    )
    """
    Make required in the protocol
    """


default_message_pool.register_message("usp", "Header", Header)


@dataclass(eq=False, repr=False)
class Msg(betterproto2.Message):
    header: "Header | None" = betterproto2.field(
        1, betterproto2.TYPE_MESSAGE, optional=True
    )
    """
    Make required in the protocol
    """

    body: "Body | None" = betterproto2.field(
        2, betterproto2.TYPE_MESSAGE, optional=True
    )
    """
    Make required in the protocol
    """


default_message_pool.register_message("usp", "Msg", Msg)


@dataclass(eq=False, repr=False)
class Notify(betterproto2.Message):
    """


    Oneofs:
        - notification:
    """

    subscription_id: "str" = betterproto2.field(1, betterproto2.TYPE_STRING)

    send_resp: "bool" = betterproto2.field(2, betterproto2.TYPE_BOOL)

    event: "NotifyEvent | None" = betterproto2.field(
        3, betterproto2.TYPE_MESSAGE, optional=True, group="notification"
    )

    value_change: "NotifyValueChange | None" = betterproto2.field(
        4, betterproto2.TYPE_MESSAGE, optional=True, group="notification"
    )

    obj_creation: "NotifyObjectCreation | None" = betterproto2.field(
        5, betterproto2.TYPE_MESSAGE, optional=True, group="notification"
    )

    obj_deletion: "NotifyObjectDeletion | None" = betterproto2.field(
        6, betterproto2.TYPE_MESSAGE, optional=True, group="notification"
    )

    oper_complete: "NotifyOperationComplete | None" = betterproto2.field(
        7, betterproto2.TYPE_MESSAGE, optional=True, group="notification"
    )

    on_board_req: "NotifyOnBoardRequest | None" = betterproto2.field(
        8, betterproto2.TYPE_MESSAGE, optional=True, group="notification"
    )


default_message_pool.register_message("usp", "Notify", Notify)


@dataclass(eq=False, repr=False)
class NotifyEvent(betterproto2.Message):
    obj_path: "str" = betterproto2.field(1, betterproto2.TYPE_STRING)

    event_name: "str" = betterproto2.field(2, betterproto2.TYPE_STRING)

    params: "dict[str, str]" = betterproto2.field(
        3,
        betterproto2.TYPE_MAP,
        map_meta=betterproto2.map_meta(
            betterproto2.TYPE_STRING, betterproto2.TYPE_STRING
        ),
    )


default_message_pool.register_message("usp", "Notify.Event", NotifyEvent)


@dataclass(eq=False, repr=False)
class NotifyObjectCreation(betterproto2.Message):
    obj_path: "str" = betterproto2.field(1, betterproto2.TYPE_STRING)

    unique_keys: "dict[str, str]" = betterproto2.field(
        2,
        betterproto2.TYPE_MAP,
        map_meta=betterproto2.map_meta(
            betterproto2.TYPE_STRING, betterproto2.TYPE_STRING
        ),
    )


default_message_pool.register_message(
    "usp", "Notify.ObjectCreation", NotifyObjectCreation
)


@dataclass(eq=False, repr=False)
class NotifyObjectDeletion(betterproto2.Message):
    obj_path: "str" = betterproto2.field(1, betterproto2.TYPE_STRING)


default_message_pool.register_message(
    "usp", "Notify.ObjectDeletion", NotifyObjectDeletion
)


@dataclass(eq=False, repr=False)
class NotifyOnBoardRequest(betterproto2.Message):
    oui: "str" = betterproto2.field(1, betterproto2.TYPE_STRING)

    product_class: "str" = betterproto2.field(2, betterproto2.TYPE_STRING)

    serial_number: "str" = betterproto2.field(3, betterproto2.TYPE_STRING)

    agent_supported_protocol_versions: "str" = betterproto2.field(
        4, betterproto2.TYPE_STRING
    )


default_message_pool.register_message(
    "usp", "Notify.OnBoardRequest", NotifyOnBoardRequest
)


@dataclass(eq=False, repr=False)
class NotifyOperationComplete(betterproto2.Message):
    """


    Oneofs:
        - operation_resp:
    """

    obj_path: "str" = betterproto2.field(1, betterproto2.TYPE_STRING)

    command_name: "str" = betterproto2.field(2, betterproto2.TYPE_STRING)

    command_key: "str" = betterproto2.field(3, betterproto2.TYPE_STRING)

    req_output_args: "NotifyOperationCompleteOutputArgs | None" = betterproto2.field(
        4, betterproto2.TYPE_MESSAGE, optional=True, group="operation_resp"
    )

    cmd_failure: "NotifyOperationCompleteCommandFailure | None" = betterproto2.field(
        5, betterproto2.TYPE_MESSAGE, optional=True, group="operation_resp"
    )


default_message_pool.register_message(
    "usp", "Notify.OperationComplete", NotifyOperationComplete
)


@dataclass(eq=False, repr=False)
class NotifyOperationCompleteCommandFailure(betterproto2.Message):
    err_code: "int" = betterproto2.field(1, betterproto2.TYPE_FIXED32)

    err_msg: "str" = betterproto2.field(2, betterproto2.TYPE_STRING)


default_message_pool.register_message(
    "usp",
    "Notify.OperationComplete.CommandFailure",
    NotifyOperationCompleteCommandFailure,
)


@dataclass(eq=False, repr=False)
class NotifyOperationCompleteOutputArgs(betterproto2.Message):
    output_args: "dict[str, str]" = betterproto2.field(
        1,
        betterproto2.TYPE_MAP,
        map_meta=betterproto2.map_meta(
            betterproto2.TYPE_STRING, betterproto2.TYPE_STRING
        ),
    )


default_message_pool.register_message(
    "usp", "Notify.OperationComplete.OutputArgs", NotifyOperationCompleteOutputArgs
)


@dataclass(eq=False, repr=False)
class NotifyValueChange(betterproto2.Message):
    param_path: "str" = betterproto2.field(1, betterproto2.TYPE_STRING)

    param_value: "str" = betterproto2.field(2, betterproto2.TYPE_STRING)


default_message_pool.register_message("usp", "Notify.ValueChange", NotifyValueChange)


@dataclass(eq=False, repr=False)
class NotifyResp(betterproto2.Message):
    subscription_id: "str" = betterproto2.field(1, betterproto2.TYPE_STRING)


default_message_pool.register_message("usp", "NotifyResp", NotifyResp)


@dataclass(eq=False, repr=False)
class Operate(betterproto2.Message):
    command: "str" = betterproto2.field(1, betterproto2.TYPE_STRING)

    command_key: "str" = betterproto2.field(2, betterproto2.TYPE_STRING)

    send_resp: "bool" = betterproto2.field(3, betterproto2.TYPE_BOOL)

    input_args: "dict[str, str]" = betterproto2.field(
        4,
        betterproto2.TYPE_MAP,
        map_meta=betterproto2.map_meta(
            betterproto2.TYPE_STRING, betterproto2.TYPE_STRING
        ),
    )


default_message_pool.register_message("usp", "Operate", Operate)


@dataclass(eq=False, repr=False)
class OperateResp(betterproto2.Message):
    operation_results: "list[OperateRespOperationResult]" = betterproto2.field(
        1, betterproto2.TYPE_MESSAGE, repeated=True
    )


default_message_pool.register_message("usp", "OperateResp", OperateResp)


@dataclass(eq=False, repr=False)
class OperateRespOperationResult(betterproto2.Message):
    """


    Oneofs:
        - operation_resp:
    """

    executed_command: "str" = betterproto2.field(1, betterproto2.TYPE_STRING)

    req_obj_path: "str | None" = betterproto2.field(
        2, betterproto2.TYPE_STRING, optional=True, group="operation_resp"
    )

    req_output_args: "OperateRespOperationResultOutputArgs | None" = betterproto2.field(
        3, betterproto2.TYPE_MESSAGE, optional=True, group="operation_resp"
    )

    cmd_failure: "OperateRespOperationResultCommandFailure | None" = betterproto2.field(
        4, betterproto2.TYPE_MESSAGE, optional=True, group="operation_resp"
    )


default_message_pool.register_message(
    "usp", "OperateResp.OperationResult", OperateRespOperationResult
)


@dataclass(eq=False, repr=False)
class OperateRespOperationResultCommandFailure(betterproto2.Message):
    err_code: "int" = betterproto2.field(1, betterproto2.TYPE_FIXED32)

    err_msg: "str" = betterproto2.field(2, betterproto2.TYPE_STRING)


default_message_pool.register_message(
    "usp",
    "OperateResp.OperationResult.CommandFailure",
    OperateRespOperationResultCommandFailure,
)


@dataclass(eq=False, repr=False)
class OperateRespOperationResultOutputArgs(betterproto2.Message):
    output_args: "dict[str, str]" = betterproto2.field(
        1,
        betterproto2.TYPE_MAP,
        map_meta=betterproto2.map_meta(
            betterproto2.TYPE_STRING, betterproto2.TYPE_STRING
        ),
    )


default_message_pool.register_message(
    "usp",
    "OperateResp.OperationResult.OutputArgs",
    OperateRespOperationResultOutputArgs,
)


@dataclass(eq=False, repr=False)
class Register(betterproto2.Message):
    allow_partial: "bool" = betterproto2.field(1, betterproto2.TYPE_BOOL)

    reg_paths: "list[RegisterRegistrationPath]" = betterproto2.field(
        2, betterproto2.TYPE_MESSAGE, repeated=True
    )


default_message_pool.register_message("usp", "Register", Register)


@dataclass(eq=False, repr=False)
class RegisterRegistrationPath(betterproto2.Message):
    path: "str" = betterproto2.field(1, betterproto2.TYPE_STRING)


default_message_pool.register_message(
    "usp", "Register.RegistrationPath", RegisterRegistrationPath
)


@dataclass(eq=False, repr=False)
class RegisterResp(betterproto2.Message):
    registered_path_results: "list[RegisterRespRegisteredPathResult]" = (
        betterproto2.field(1, betterproto2.TYPE_MESSAGE, repeated=True)
    )


default_message_pool.register_message("usp", "RegisterResp", RegisterResp)


@dataclass(eq=False, repr=False)
class RegisterRespRegisteredPathResult(betterproto2.Message):
    requested_path: "str" = betterproto2.field(1, betterproto2.TYPE_STRING)

    oper_status: "RegisterRespRegisteredPathResultOperationStatus | None" = (
        betterproto2.field(2, betterproto2.TYPE_MESSAGE, optional=True)
    )


default_message_pool.register_message(
    "usp", "RegisterResp.RegisteredPathResult", RegisterRespRegisteredPathResult
)


@dataclass(eq=False, repr=False)
class RegisterRespRegisteredPathResultOperationStatus(betterproto2.Message):
    """


    Oneofs:
        - oper_status:
    """

    oper_failure: "RegisterRespRegisteredPathResultOperationStatusOperationFailure | None" = betterproto2.field(
        1, betterproto2.TYPE_MESSAGE, optional=True, group="oper_status"
    )

    oper_success: "RegisterRespRegisteredPathResultOperationStatusOperationSuccess | None" = betterproto2.field(
        2, betterproto2.TYPE_MESSAGE, optional=True, group="oper_status"
    )


default_message_pool.register_message(
    "usp",
    "RegisterResp.RegisteredPathResult.OperationStatus",
    RegisterRespRegisteredPathResultOperationStatus,
)


@dataclass(eq=False, repr=False)
class RegisterRespRegisteredPathResultOperationStatusOperationFailure(
    betterproto2.Message
):
    err_code: "int" = betterproto2.field(1, betterproto2.TYPE_FIXED32)

    err_msg: "str" = betterproto2.field(2, betterproto2.TYPE_STRING)


default_message_pool.register_message(
    "usp",
    "RegisterResp.RegisteredPathResult.OperationStatus.OperationFailure",
    RegisterRespRegisteredPathResultOperationStatusOperationFailure,
)


@dataclass(eq=False, repr=False)
class RegisterRespRegisteredPathResultOperationStatusOperationSuccess(
    betterproto2.Message
):
    registered_path: "str" = betterproto2.field(1, betterproto2.TYPE_STRING)


default_message_pool.register_message(
    "usp",
    "RegisterResp.RegisteredPathResult.OperationStatus.OperationSuccess",
    RegisterRespRegisteredPathResultOperationStatusOperationSuccess,
)


@dataclass(eq=False, repr=False)
class Request(betterproto2.Message):
    """


    Oneofs:
        - req_type:
    """

    get: "Get | None" = betterproto2.field(
        1, betterproto2.TYPE_MESSAGE, optional=True, group="req_type"
    )

    get_supported_dm: "GetSupportedDm | None" = betterproto2.field(
        2, betterproto2.TYPE_MESSAGE, optional=True, group="req_type"
    )

    get_instances: "GetInstances | None" = betterproto2.field(
        3, betterproto2.TYPE_MESSAGE, optional=True, group="req_type"
    )

    set: "Set | None" = betterproto2.field(
        4, betterproto2.TYPE_MESSAGE, optional=True, group="req_type"
    )

    add: "Add | None" = betterproto2.field(
        5, betterproto2.TYPE_MESSAGE, optional=True, group="req_type"
    )

    delete: "Delete | None" = betterproto2.field(
        6, betterproto2.TYPE_MESSAGE, optional=True, group="req_type"
    )

    operate: "Operate | None" = betterproto2.field(
        7, betterproto2.TYPE_MESSAGE, optional=True, group="req_type"
    )

    notify: "Notify | None" = betterproto2.field(
        8, betterproto2.TYPE_MESSAGE, optional=True, group="req_type"
    )

    get_supported_protocol: "GetSupportedProtocol | None" = betterproto2.field(
        9, betterproto2.TYPE_MESSAGE, optional=True, group="req_type"
    )

    register: "Register | None" = betterproto2.field(
        10, betterproto2.TYPE_MESSAGE, optional=True, group="req_type"
    )

    deregister: "Deregister | None" = betterproto2.field(
        11, betterproto2.TYPE_MESSAGE, optional=True, group="req_type"
    )


default_message_pool.register_message("usp", "Request", Request)


@dataclass(eq=False, repr=False)
class Response(betterproto2.Message):
    """


    Oneofs:
        - resp_type:
    """

    get_resp: "GetResp | None" = betterproto2.field(
        1, betterproto2.TYPE_MESSAGE, optional=True, group="resp_type"
    )

    get_supported_dm_resp: "GetSupportedDmResp | None" = betterproto2.field(
        2, betterproto2.TYPE_MESSAGE, optional=True, group="resp_type"
    )

    get_instances_resp: "GetInstancesResp | None" = betterproto2.field(
        3, betterproto2.TYPE_MESSAGE, optional=True, group="resp_type"
    )

    set_resp: "SetResp | None" = betterproto2.field(
        4, betterproto2.TYPE_MESSAGE, optional=True, group="resp_type"
    )

    add_resp: "AddResp | None" = betterproto2.field(
        5, betterproto2.TYPE_MESSAGE, optional=True, group="resp_type"
    )

    delete_resp: "DeleteResp | None" = betterproto2.field(
        6, betterproto2.TYPE_MESSAGE, optional=True, group="resp_type"
    )

    operate_resp: "OperateResp | None" = betterproto2.field(
        7, betterproto2.TYPE_MESSAGE, optional=True, group="resp_type"
    )

    notify_resp: "NotifyResp | None" = betterproto2.field(
        8, betterproto2.TYPE_MESSAGE, optional=True, group="resp_type"
    )

    get_supported_protocol_resp: "GetSupportedProtocolResp | None" = betterproto2.field(
        9, betterproto2.TYPE_MESSAGE, optional=True, group="resp_type"
    )

    register_resp: "RegisterResp | None" = betterproto2.field(
        10, betterproto2.TYPE_MESSAGE, optional=True, group="resp_type"
    )

    deregister_resp: "DeregisterResp | None" = betterproto2.field(
        11, betterproto2.TYPE_MESSAGE, optional=True, group="resp_type"
    )


default_message_pool.register_message("usp", "Response", Response)


@dataclass(eq=False, repr=False)
class Set(betterproto2.Message):
    allow_partial: "bool" = betterproto2.field(1, betterproto2.TYPE_BOOL)

    update_objs: "list[SetUpdateObject]" = betterproto2.field(
        2, betterproto2.TYPE_MESSAGE, repeated=True
    )


default_message_pool.register_message("usp", "Set", Set)


@dataclass(eq=False, repr=False)
class SetUpdateObject(betterproto2.Message):
    obj_path: "str" = betterproto2.field(1, betterproto2.TYPE_STRING)

    param_settings: "list[SetUpdateParamSetting]" = betterproto2.field(
        2, betterproto2.TYPE_MESSAGE, repeated=True
    )


default_message_pool.register_message("usp", "Set.UpdateObject", SetUpdateObject)


@dataclass(eq=False, repr=False)
class SetUpdateParamSetting(betterproto2.Message):
    param: "str" = betterproto2.field(1, betterproto2.TYPE_STRING)

    value: "str" = betterproto2.field(2, betterproto2.TYPE_STRING)

    required: "bool" = betterproto2.field(3, betterproto2.TYPE_BOOL)


default_message_pool.register_message(
    "usp", "Set.UpdateParamSetting", SetUpdateParamSetting
)


@dataclass(eq=False, repr=False)
class SetResp(betterproto2.Message):
    updated_obj_results: "list[SetRespUpdatedObjectResult]" = betterproto2.field(
        1, betterproto2.TYPE_MESSAGE, repeated=True
    )


default_message_pool.register_message("usp", "SetResp", SetResp)


@dataclass(eq=False, repr=False)
class SetRespParameterError(betterproto2.Message):
    param: "str" = betterproto2.field(1, betterproto2.TYPE_STRING)

    err_code: "int" = betterproto2.field(2, betterproto2.TYPE_FIXED32)

    err_msg: "str" = betterproto2.field(3, betterproto2.TYPE_STRING)


default_message_pool.register_message(
    "usp", "SetResp.ParameterError", SetRespParameterError
)


@dataclass(eq=False, repr=False)
class SetRespUpdatedInstanceFailure(betterproto2.Message):
    affected_path: "str" = betterproto2.field(1, betterproto2.TYPE_STRING)

    param_errs: "list[SetRespParameterError]" = betterproto2.field(
        2, betterproto2.TYPE_MESSAGE, repeated=True
    )


default_message_pool.register_message(
    "usp", "SetResp.UpdatedInstanceFailure", SetRespUpdatedInstanceFailure
)


@dataclass(eq=False, repr=False)
class SetRespUpdatedInstanceResult(betterproto2.Message):
    affected_path: "str" = betterproto2.field(1, betterproto2.TYPE_STRING)

    param_errs: "list[SetRespParameterError]" = betterproto2.field(
        2, betterproto2.TYPE_MESSAGE, repeated=True
    )

    updated_params: "dict[str, str]" = betterproto2.field(
        3,
        betterproto2.TYPE_MAP,
        map_meta=betterproto2.map_meta(
            betterproto2.TYPE_STRING, betterproto2.TYPE_STRING
        ),
    )


default_message_pool.register_message(
    "usp", "SetResp.UpdatedInstanceResult", SetRespUpdatedInstanceResult
)


@dataclass(eq=False, repr=False)
class SetRespUpdatedObjectResult(betterproto2.Message):
    requested_path: "str" = betterproto2.field(1, betterproto2.TYPE_STRING)

    oper_status: "SetRespUpdatedObjectResultOperationStatus | None" = (
        betterproto2.field(2, betterproto2.TYPE_MESSAGE, optional=True)
    )


default_message_pool.register_message(
    "usp", "SetResp.UpdatedObjectResult", SetRespUpdatedObjectResult
)


@dataclass(eq=False, repr=False)
class SetRespUpdatedObjectResultOperationStatus(betterproto2.Message):
    """


    Oneofs:
        - oper_status:
    """

    oper_failure: "SetRespUpdatedObjectResultOperationStatusOperationFailure | None" = (
        betterproto2.field(
            1, betterproto2.TYPE_MESSAGE, optional=True, group="oper_status"
        )
    )

    oper_success: "SetRespUpdatedObjectResultOperationStatusOperationSuccess | None" = (
        betterproto2.field(
            2, betterproto2.TYPE_MESSAGE, optional=True, group="oper_status"
        )
    )


default_message_pool.register_message(
    "usp",
    "SetResp.UpdatedObjectResult.OperationStatus",
    SetRespUpdatedObjectResultOperationStatus,
)


@dataclass(eq=False, repr=False)
class SetRespUpdatedObjectResultOperationStatusOperationFailure(betterproto2.Message):
    err_code: "int" = betterproto2.field(1, betterproto2.TYPE_FIXED32)

    err_msg: "str" = betterproto2.field(2, betterproto2.TYPE_STRING)

    updated_inst_failures: "list[SetRespUpdatedInstanceFailure]" = betterproto2.field(
        3, betterproto2.TYPE_MESSAGE, repeated=True
    )


default_message_pool.register_message(
    "usp",
    "SetResp.UpdatedObjectResult.OperationStatus.OperationFailure",
    SetRespUpdatedObjectResultOperationStatusOperationFailure,
)


@dataclass(eq=False, repr=False)
class SetRespUpdatedObjectResultOperationStatusOperationSuccess(betterproto2.Message):
    updated_inst_results: "list[SetRespUpdatedInstanceResult]" = betterproto2.field(
        1, betterproto2.TYPE_MESSAGE, repeated=True
    )


default_message_pool.register_message(
    "usp",
    "SetResp.UpdatedObjectResult.OperationStatus.OperationSuccess",
    SetRespUpdatedObjectResultOperationStatusOperationSuccess,
)
