

# Generated by the protocol buffer compiler.  DO NOT EDIT!
# sources: blickfeld/secure/data/health.proto, blickfeld/secure/data/license.proto
# plugin: python-betterproto
from dataclasses import dataclass

import blickfeld_qb2.betterproto as betterproto
import blickfeld_qb2.betterproto.lib.google.protobuf as betterproto_lib_google_protobuf

from ... import base as __base__
from ...base import data as __base_data__


@dataclass(eq=False, repr=False)
class Health(betterproto.Message):
    """Message representing health"""

    state: "__base_data__.HealthState" = betterproto.enum_field(1)
    """High-level state of module"""

    state_reason: str = betterproto.string_field(2)
    """Reason for given state. Only set if state is not STATE_OK."""

    user_management: "HealthUserManagement" = betterproto.message_field(3)
    """State of User-Management feature"""


@dataclass(eq=False, repr=False)
class HealthUserManagement(betterproto.Message):
    """State message for User-Management feature"""

    needs_activation: bool = betterproto.bool_field(1)
    """
    Set to `true` if user management needs manual activation. This is only set
    when a device can migrate to user management from a previous state.
    """

    state_factory: bool = betterproto.bool_field(2)
    """set to true if only default account with the default name exist."""


@dataclass(eq=False, repr=False)
class License(betterproto.Message):
    """Message representing the configured license"""

    product_variant: "__base__.ProductVariant" = betterproto.enum_field(1)
    """License product variant"""

    metadata: "betterproto_lib_google_protobuf.Struct" = betterproto.message_field(2)
    """License metadata"""

    serial_number: str = betterproto.string_field(3)
    """License serial number"""
