# Path: google/cloud/iot_v1/types/resources.py
# class MqttState(proto.Enum):
# class HttpState(proto.Enum):
# class LogLevel(proto.Enum):
# class GatewayType(proto.Enum):
# class GatewayAuthMethod(proto.Enum):
# class PublicKeyCertificateFormat(proto.Enum):
# class PublicKeyFormat(proto.Enum):
# class Device(proto.Message):
# class GatewayConfig(proto.Message):
# class DeviceRegistry(proto.Message):
# class MqttConfig(proto.Message):
# class HttpConfig(proto.Message):
# class EventNotificationConfig(proto.Message):
# class StateNotificationConfig(proto.Message):
# class RegistryCredential(proto.Message):
# class X509CertificateDetails(proto.Message):
# class PublicKeyCertificate(proto.Message):
# class DeviceCredential(proto.Message):
# class PublicKeyCredential(proto.Message):
# class DeviceConfig(proto.Message):
# class DeviceState(proto.Message):
#     MQTT_STATE_UNSPECIFIED = 0
#     MQTT_ENABLED = 1
#     MQTT_DISABLED = 2
#     HTTP_STATE_UNSPECIFIED = 0
#     HTTP_ENABLED = 1
#     HTTP_DISABLED = 2
#     LOG_LEVEL_UNSPECIFIED = 0
#     NONE = 10
#     ERROR = 20
#     INFO = 30
#     DEBUG = 40
#     GATEWAY_TYPE_UNSPECIFIED = 0
#     GATEWAY = 1
#     NON_GATEWAY = 2
#     GATEWAY_AUTH_METHOD_UNSPECIFIED = 0
#     ASSOCIATION_ONLY = 1
#     DEVICE_AUTH_TOKEN_ONLY = 2
#     ASSOCIATION_AND_DEVICE_AUTH_TOKEN = 3
#     UNSPECIFIED_PUBLIC_KEY_CERTIFICATE_FORMAT = 0
#     X509_CERTIFICATE_PEM = 1
#     UNSPECIFIED_PUBLIC_KEY_FORMAT = 0
#     RSA_PEM = 3
#     RSA_X509_PEM = 1
#     ES256_PEM = 2
#     ES256_X509_PEM = 4


import proto  # type: ignore
from google.cloud.iot_v1.types import resources
from google.protobuf import field_mask_pb2  # type: ignore

    Attributes:
        name (str):
            Required. The name of the device. For example,
            ``projects/p0/locations/us-central1/registries/registry0/devices/device0``
            or
            ``projects/p0/locations/us-central1/registries/registry0/devices/{num_id}``.
        num_states (int):
            The number of states to list. States are
            listed in descending order of update time. The
            maximum number of states retained is 10. If this
            value is zero, it will return all the states
            available.
    """

    name = proto.Field(proto.STRING, number=1,)
    num_states = proto.Field(proto.INT32, number=2,)


class ListDeviceStatesResponse(proto.Message):
    r"""Response for ``ListDeviceStates``.

    Attributes:
        device_states (Sequence[google.cloud.iot_v1.types.DeviceState]):
            The last few device states. States are listed
            in descending order of server update time,
            starting from the most recent one.
    """

    device_states = proto.RepeatedField(

# Path: google/cloud/iot_v1/types/resources.py
# class MqttState(proto.Enum):
# class HttpState(proto.Enum):
# class LogLevel(proto.Enum):
# class GatewayType(proto.Enum):
# class GatewayAuthMethod(proto.Enum):
# class PublicKeyCertificateFormat(proto.Enum):
# class PublicKeyFormat(proto.Enum):
# class Device(proto.Message):
# class GatewayConfig(proto.Message):
# class DeviceRegistry(proto.Message):
# class MqttConfig(proto.Message):
# class HttpConfig(proto.Message):
# class EventNotificationConfig(proto.Message):
# class StateNotificationConfig(proto.Message):
# class RegistryCredential(proto.Message):
# class X509CertificateDetails(proto.Message):
# class PublicKeyCertificate(proto.Message):
# class DeviceCredential(proto.Message):
# class PublicKeyCredential(proto.Message):
# class DeviceConfig(proto.Message):
# class DeviceState(proto.Message):
#     MQTT_STATE_UNSPECIFIED = 0
#     MQTT_ENABLED = 1
#     MQTT_DISABLED = 2
#     HTTP_STATE_UNSPECIFIED = 0
#     HTTP_ENABLED = 1
#     HTTP_DISABLED = 2
#     LOG_LEVEL_UNSPECIFIED = 0
#     NONE = 10
#     ERROR = 20
#     INFO = 30
#     DEBUG = 40
#     GATEWAY_TYPE_UNSPECIFIED = 0
#     GATEWAY = 1
#     NON_GATEWAY = 2
#     GATEWAY_AUTH_METHOD_UNSPECIFIED = 0
#     ASSOCIATION_ONLY = 1
#     DEVICE_AUTH_TOKEN_ONLY = 2
#     ASSOCIATION_AND_DEVICE_AUTH_TOKEN = 3
#     UNSPECIFIED_PUBLIC_KEY_CERTIFICATE_FORMAT = 0
#     X509_CERTIFICATE_PEM = 1
#     UNSPECIFIED_PUBLIC_KEY_FORMAT = 0
#     RSA_PEM = 3
#     RSA_X509_PEM = 1
#     ES256_PEM = 2
#     ES256_X509_PEM = 4


# Path: google/cloud/iot_v1/types/device_manager.py
import proto  # type: ignore
from google.cloud.iot_v1.types import resources
from google.protobuf import field_mask_pb2  # type: ignore


    Attributes:
        name (str):
            Required. The name of the device. For example,
            ``projects/p0/locations/us-central1/registries/registry0/devices/device0``
            or
            ``projects/p0/locations/us-central1/registries/registry0/devices/{num_id}``.
        num_states (int):
            The number of states to list. States are
            listed in descending order of update time. The
            maximum number of states retained is 10. If this
            value is zero, it will return all the states
            available.
    """

    name = proto.Field(proto.STRING, number=1,)
    num_states = proto.Field(proto.INT32, number=2,)


class ListDeviceStatesResponse(proto.Message):
    r"""Response for ``ListDeviceStates``.

    Attributes:
        device_states (Sequence[google.cloud.iot_v1.types.DeviceState]):
            The last few device states. States are listed
            in descending order of server update time,
            starting from the most recent one.
    """

    device_states = proto.RepeatedField(

        proto.MESSAGE, number=1, message=resources.DeviceState,