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

72 lines
2.3 KiB
Markdown
Raw Normal View History

---
layout: "google"
page_title: "Google: google_pubsub_subscription"
sidebar_current: "docs-google-pubsub-subscription"
description: |-
Creates a subscription in Google's pubsub queueing system
---
# google\_pubsub\_subscription
Creates a subscription in Google's pubsub queueing system. For more information see
[the official documentation](https://cloud.google.com/pubsub/docs) and
[API](https://cloud.google.com/pubsub/reference/rest/v1/projects.subscriptions).
## Example Usage
```hcl
resource "google_pubsub_subscription" "default" {
name = "default-subscription"
topic = "default-topic"
ack_deadline_seconds = 20
push_config {
endpoint = "https://example.com/push"
attributes {
x-goog-version = "v1"
}
}
}
```
## Argument Reference
The following arguments are supported:
* `name` - (Required) A unique name for the resource, required by pubsub.
Changing this forces a new resource to be created.
* `topic` - (Required) A topic to bind this subscription to, required by pubsub.
Changing this forces a new resource to be created.
- - -
* `ack_deadline_seconds` - (Optional) The maximum number of seconds a
subscriber has to acknowledge a received message, otherwise the message is
redelivered. 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.
* `push_config` - (Optional) Block configuration for push options. More
configuration options are detailed below.
The optional `push_config` block supports:
* `push_endpoint` - (Optional) The URL of the endpoint to which messages should
be pushed. Changing this forces a new resource to be created.
* `attributes` - (Optional) Key-value pairs of API supported attributes used
to control aspects of the message delivery. Currently, only
`x-goog-version` is supported, which controls the format of the data
delivery. For more information, read [the API docs
here](https://cloud.google.com/pubsub/reference/rest/v1/projects.subscriptions#PushConfig.FIELDS.attributes).
Changing this forces a new resource to be created.
## Attributes Reference
* `path` - Path of the subscription in the format `projects/{project}/subscriptions/{sub}`