terraform-provider-google/website/docs/r/cloudiot_registry.html.markdown

117 lines
3.3 KiB
Markdown
Raw Normal View History

---
layout: "google"
page_title: "Google: google_cloudiot_registry"
sidebar_current: "docs-google-cloudiot-registry-x"
description: |-
Creates a device registry in Google's Cloud IoT Core platform
---
2018-06-13 19:37:21 +00:00
# google\_cloudiot\_registry
Creates a device registry in Google's Cloud IoT Core platform. For more information see
[the official documentation](https://cloud.google.com/iot/docs/) and
2018-06-13 19:37:21 +00:00
[API](https://cloud.google.com/iot/docs/reference/cloudiot/rest/v1/projects.locations.registries).
## Example Usage
```hcl
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 allows `MQTT_ENABLED` or `MQTT_DISABLED`.
The `http_config` block supports:
* `http_enabled_state` - (Required) The field allows `HTTP_ENABLED` or `HTTP_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 only `X509_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}
```