# 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
        "ListDeviceConfigVersionsRequest",
        "ListDeviceConfigVersionsResponse",
        "ListDeviceStatesRequest",
        "ListDeviceStatesResponse",
        "SendCommandToDeviceRequest",
        "SendCommandToDeviceResponse",
        "BindDeviceToGatewayRequest",
        "BindDeviceToGatewayResponse",
        "UnbindDeviceFromGatewayRequest",
        "UnbindDeviceFromGatewayResponse",
    },
)


class CreateDeviceRegistryRequest(proto.Message):
    r"""Request for ``CreateDeviceRegistry``.

    Attributes:
        parent (str):
            Required. The project and cloud region where this device
            registry must be created. For example,
            ``projects/example-project/locations/us-central1``.
        device_registry (google.cloud.iot_v1.types.DeviceRegistry):
            Required. The device registry. The field ``name`` must be
            empty. The server will generate that field from the device
            registry ``id`` provided and the ``parent`` field.
    """

    parent = proto.Field(proto.STRING, number=1,)
    device_registry = proto.Field(

# 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

        "ListDeviceConfigVersionsRequest",
        "ListDeviceConfigVersionsResponse",
        "ListDeviceStatesRequest",
        "ListDeviceStatesResponse",
        "SendCommandToDeviceRequest",
        "SendCommandToDeviceResponse",
        "BindDeviceToGatewayRequest",
        "BindDeviceToGatewayResponse",
        "UnbindDeviceFromGatewayRequest",
        "UnbindDeviceFromGatewayResponse",
    },
)


class CreateDeviceRegistryRequest(proto.Message):
    r"""Request for ``CreateDeviceRegistry``.

    Attributes:
        parent (str):
            Required. The project and cloud region where this device
            registry must be created. For example,
            ``projects/example-project/locations/us-central1``.
        device_registry (google.cloud.iot_v1.types.DeviceRegistry):
            Required. The device registry. The field ``name`` must be
            empty. The server will generate that field from the device
            registry ``id`` provided and the ``parent`` field.
    """

    parent = proto.Field(proto.STRING, number=1,)
    device_registry = proto.Field(

        proto.MESSAGE, number=2, message=resources.DeviceRegistry,