diff --git a/docs/r/cloudiot_registry.html.markdown b/docs/r/cloudiot_registry.html.markdown new file mode 100644 index 00000000000..8a0359b5ef3 --- /dev/null +++ b/docs/r/cloudiot_registry.html.markdown @@ -0,0 +1,116 @@ +--- +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 +--- + +# 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 +[API](https://cloud.google.com/iot/docs/reference/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-devicestatus.id}" + } + + state_notification_config = { + pubsub_topic_name = "${google_pubsub_topic.default-telemetry.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} +``` diff --git a/google.erb b/google.erb index 9c07b5fc1ad..cac9e7c9265 100644 --- a/google.erb +++ b/google.erb @@ -546,6 +546,15 @@ +