» google_cloudiot_registry
Creates a device registry in Google's Cloud IoT Core platform. For more information see the official documentation and API.
» Example Usage
resource "google_pubsub_topic" "default-devicestatus" {
name = "default-devicestatus"
}
resource "google_pubsub_topic" "default-telemetry" {
name = "default-telemetry"
}
resource "google_cloudiot_registry" "default-registry" {
name = "default-registry"
event_notification_config = {
pubsub_topic_name = "${google_pubsub_topic.default-telemetry.id}"
}
state_notification_config = {
pubsub_topic_name = "${google_pubsub_topic.default-devicestatus.id}"
}
http_config = {
http_enabled_state = "HTTP_ENABLED"
}
mqtt_config = {
mqtt_enabled_state = "MQTT_ENABLED"
}
credentials = [
{
public_key_certificate = {
format = "X509_CERTIFICATE_PEM"
certificate = "${file("rsa_cert.pem")}"
}
},
]
}
» Argument Reference
The following arguments are supported:
-
name
- (Required) A unique name for the resource, required by device registry. Changing this forces a new resource to be created.
-
project
- (Optional) The project in which the resource belongs. If it is not provided, the provider project is used. -
region
- (Optional) The Region in which the created address should reside. If it is not provided, the provider region is used. -
event_notification_config
- (Optional) A PubSub topics to publish device events. Structure is documented below. -
state_notification_config
- (Optional) A PubSub topic to publish device state updates. Structure is documented below. -
mqtt_config
- (Optional) Activate or deactivate MQTT. Structure is documented below. -
http_config
- (Optional) Activate or deactivate HTTP. Structure is documented below. -
credentials
- (Optional) List of public key certificates to authenticate devices. Structure is documented below.
The event_notification_config
block supports:
-
pubsub_topic_name
- (Required) PubSub topic name to publish device events.
The state_notification_config
block supports:
-
pubsub_topic_name
- (Required) PubSub topic name to publish device state updates.
The mqtt_config
block supports:
-
mqtt_enabled_state
- (Required) The field allowsMQTT_ENABLED
orMQTT_DISABLED
.
The http_config
block supports:
-
http_enabled_state
- (Required) The field allowsHTTP_ENABLED
orHTTP_DISABLED
.
The credentials
block supports:
-
public_key_certificate
- (Required) The certificate format and data.
The public_key_certificate
block supports:
-
format
- (Required) The field allows onlyX509_CERTIFICATE_PEM
. -
certificate
- (Required) The certificate data.
» Attributes Reference
Only the arguments listed above are exposed as attributes.
» Import
A device registry can be imported using the name
, e.g.
$ terraform import google_cloudiot_registry.default-registry projects/{project}/locations/{region}/registries/{name}