Skip to main content
Skip table of contents

projects.locations.registries

Resource: DeviceRegistry

A device group container.

JSON representation

CODE
{
  "id": string,
  "name": string,
  "eventNotificationConfigs": [
    {
      object(EventNotificationConfig)
    }
  ],
  "stateNotificationConfig": {
    object(StateNotificationConfig)
  },
  "mqttConfig": {
    object(MqttConfig)
  },
  "httpConfig": {
    object(HttpConfig)
  },
  "logLevel": enum(LogLevel),
  "credentials": [
    {
      object(RegistryCredential)
    }
  ]
}

Fields

id

string

This device registry’s identifier. For example, myRegistry.

name

string

The resource path name. For example, projects/example-project/locations/us-central1/registries/my-registry. Exclude this field from a request's body to create a new registry.

eventNotificationConfigs[]

object(EventNotificationConfig)

The configuration for notification of telemetry events received from the device. All telemetry events successfully published by the device and acknowledged by ClearBlade IoT Core are guaranteed to be delivered to Cloud Pub/Sub. Only the first matching configuration is used if multiple configurations match a message. The connection automatically closes if you try to publish a device telemetry event using MQTT without specifying the device registry’s Cloud Pub/Sub topic. An error is returned if you try to do so using an HTTP connection. Up to ten configurations may be provided.

stateNotificationConfig

object(StateNotificationConfig)

The configuration for notification of new states received from the device. State updates are guaranteed to be stored in the state history, but notifications to Cloud Pub/Sub are not guaranteed. For example, suppose permissions are misconfigured, or the specified topic doesn't exist. No notification will be published, but the state will still be stored in ClearBlade IoT Core.

mqttConfig

object(MqttConfig)

This device registry’s MQTT configuration.

httpConfig

object(HttpConfig)

This device registry’s DeviceService (HTTP) configuration.

logLevel

enum(LogLevel)

The default logging verbosity for activity from this registry’s devices. The verbosity level can be overridden by Device.log_level.

credentials[]

object(RegistryCredential)

The credentials used to verify the device credentials. No more than ten credentials can be bound to a single registry at a time. The verification process occurs when you create or update a device. If this field is empty, no verification is performed. Otherwise, the newly created device’s credentials or an updated device’s added credentials should be signed with one of these registry credentials.

Existing devices will not be affected by modifications to this credential list. After a device has been successfully created in a registry, it should connect even if its registry credentials are revoked, deleted, or modified.

EventNotificationConfig

The configuration for forwarding telemetry events.

JSON representation

CODE
{
  "subfolderMatches": string,
  "pubsubTopicName": string
}

Fields

subfolderMatches

string

This configuration will be used if the subfolder name matches this string exactly. The string must not include the leading / character. If empty, all strings are matched. This field is used only for telemetry events; subfolders are not supported for state changes.

pubsubTopicName

string

A Cloud Pub/Sub topic name. For example, projects/myProject/topics/deviceEvents.

StateNotificationConfig

The configuration for notification of new states received from the device.

JSON representation

CODE
{
  "pubsubTopicName": string
}

Fields

pubsubTopicName

string

A Cloud Pub/Sub topic name. For example, projects/myProject/topics/deviceEvents.

MqttConfig

A device registry’s MQTT configuration.

JSON representation

CODE
{
  "mqttEnabledState": enum(MqttState)
}

Fields

mqttEnabledState

enum(MqttState)

If enabled, allows connections using the MQTT protocol. Otherwise, MQTT connections to this registry will fail.

MqttState

Indicates whether an MQTT connection is enabled or disabled. See the field description for details.

Enums

MQTT_STATE_UNSPECIFIED

No MQTT state specified. If not specified, MQTT will be enabled by default.

MQTT_ENABLED

Enables an MQTT connection.

MQTT_DISABLED

Disables an MQTT connection.

HttpConfig

The HTTP bridge’s device registry configuration.

JSON representation

CODE
{
  "httpEnabledState": enum(HttpState)
}

Fields

httpEnabledState

enum(HttpState)

If enabled, allows devices to use DeviceService via the HTTP protocol. Otherwise, any requests to DeviceService will fail for this registry.

HttpState

Indicates whether the registry’s DeviceService (HTTP) is enabled or disabled. See the field description for details.

Enums

HTTP_STATE_UNSPECIFIED

No HTTP state specified. DeviceService will be enabled by default.

HTTP_ENABLED

Enables the registry’s DeviceService (HTTP) service.

HTTP_DISABLED

Disables the registry’s DeviceService (HTTP) service.

RegistryCredential

A server-stored registry credential used to validate device credentials.

JSON representation

CODE
{
  "publicKeyCertificate": {
    object(PublicKeyCertificate)
  }
}

Fields

publicKeyCertificate

object(PublicKeyCertificate)

A public key certificate used to verify the device credentials.

PublicKeyCertificate

A public key certificate format and data.

JSON representation

CODE
{
  "format": enum(PublicKeyCertificateFormat),
  "certificate": string,
  "x509Details": {
    object(X509CertificateDetails)
  }
}

Fields

format

enum(PublicKeyCertificateFormat)

The certificate format.

certificate

string

The certificate data.

x509Details

object(X509CertificateDetails)

[Output only] The certificate details. Used only for X.509 certificates.

PublicKeyCertificateFormat

The public key’s supported formats.

Enums

UNSPECIFIED_PUBLIC_KEY_CERTIFICATE_FORMAT

The format has not been specified. This is an invalid default value and must not be used.

X509_CERTIFICATE_PEM

An X.509v3 certificate (RFC5280), encoded in base64, and wrapped by -----BEGIN CERTIFICATE----- and -----END CERTIFICATE-----.

X509CertificateDetails

An X.509 certificate’s details. For informational purposes only.

JSON representation

CODE
{
  "issuer": string,
  "subject": string,
  "startTime": string,
  "expiryTime": string,
  "signatureAlgorithm": string,
  "publicKeyType": string
}

Fields

issuer

string

The entity that signed the certificate.

subject

string

The entity the certificate and public key belong to.

startTime

string (Timestamp format)

The time the certificate becomes valid.

A timestamp in RFC3339 UTC Zulu format, accurate to nanoseconds. Example: "2014-10-02T15:01:23.045123456Z".

expiryTime

string (Timestamp format)

The time the certificate becomes invalid.

A timestamp in RFC3339 UTC Zulu format, accurate to nanoseconds. Example: "2014-10-02T15:01:23.045123456Z".

signatureAlgorithm

string

The algorithm used to sign the certificate.

publicKeyType

string

The certificate’s public key type.

Methods

bindDeviceToGateway

Associates the device with the gateway.

create

Creates a device registry.

delete

Deletes a device registry configuration.

get

Gets a device registry configuration.

getIamPolicy

Gets the resource’s access control policy.

list

Lists device registries.

patch

Updates a device registry configuration.

setIamPolicy

Sets the access control policy on the specified resource.

testIamPermissions

Returns permissions that a caller has on the specified resource.

unbindDeviceFromGateway

Deletes the association between the device and gateway.

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.