@swamp/gcp/pubsub
v2026.04.23.1
Google Cloud pubsub infrastructure models
Repository
https://github.com/systeminit/swamp-extensions
Labels
gcpgoogle-cloudpubsubcloudinfrastructure
Contents
Quality score
Verified by SwampHow well-documented and verifiable this extension is.
Grade A
- Has README or module doc2/2earned
- README has a code example1/1earned
- README is substantive1/1earned
- Most symbols documented1/1earned
- No slow types1/1earned
- Has description1/1earned
- At least one platform tag (or universal)1/1earned
- Two or more platform tags (or universal)1/1earned
- License declared1/1earned
- Verified public repository2/2earned
Install
$ swamp extension pull @swamp/gcp/pubsub@swamp/gcp/pubsub/schemasv2026.04.23.1schemas.ts
Global Arguments
| Argument | Type | Description |
|---|---|---|
| definition? | string | The definition of the schema. This should contain a string representing the full definition of the schema that is a valid schema definition of the type specified in `type`. |
| name? | string | Required. Name of the schema. Format is `projects/{project}/schemas/{schema}`. |
| type? | enum | The type of the schema definition. |
| schemaId? | string | The ID to use for the schema, which will become the final component of the schema's resource name. See https://cloud.google.com/pubsub/docs/pubsub-basics#resource_names for resource name constraints. |
| location? | string | The location for this resource (e.g., 'us', 'us-central1', 'europe-west1') |
createCreate a schemas
getGet a schemas
| Argument | Type | Description |
|---|---|---|
| identifier | string | The name of the schemas |
deleteDelete the schemas
| Argument | Type | Description |
|---|---|---|
| identifier | string | The name of the schemas |
syncSync schemas state from GCP
commitcommit
| Argument | Type | Description |
|---|---|---|
| schema? | any |
list_revisionslist revisions
rollbackrollback
| Argument | Type | Description |
|---|---|---|
| revisionId? | any |
validatevalidate
| Argument | Type | Description |
|---|---|---|
| schema? | any |
validate_messagevalidate message
| Argument | Type | Description |
|---|---|---|
| encoding? | any | |
| message? | any | |
| name? | any | |
| schema? | any |
Resources
state(infinite)— A schema resource.
@swamp/gcp/pubsub/snapshotsv2026.04.23.1snapshots.ts
Global Arguments
| Argument | Type | Description |
|---|---|---|
| labels? | record | Optional. See [Creating and managing labels](https://cloud.google.com/pubsub/docs/labels). |
| subscription? | string | Required. The subscription whose backlog the snapshot retains. Specifically, the created snapshot is guaranteed to retain: (a) The existing backlog on the subscription. More precisely, this is defined as the messages in the subscription's backlog that are unacknowledged upon the successful completion of the `CreateSnapshot` request; as well as: (b) Any messages published to the subscription's topic following the successful completion of the CreateSnapshot request. Format is `projects/{project}/s |
| tags? | record | Optional. Input only. Immutable. Tag keys/values directly bound to this resource. For example: "123/environment": "production", "123/costCenter": "marketing" |
| snapshot? | object | A snapshot resource. Snapshots are used in [Seek](https://cloud.google.com/pubsub/docs/replay-overview) operations, which allow you to manage message acknowledgments in bulk. That is, you can set the acknowledgment state of messages in an existing subscription to the state captured by a snapshot. |
| updateMask? | string | Required. Indicates which fields in the provided snapshot to update. Must be specified and non-empty. |
| name | string | Required. User-provided name for this snapshot. If the name is not provided in the request, the server will assign a random name for this snapshot on the same project as the subscription. Note that for REST API requests, you must specify a name. See the [resource name rules](https://cloud.google.com/pubsub/docs/pubsub-basics#resource_names). Format is `projects/{project}/snapshots/{snap}`. |
createCreate a snapshots
getGet a snapshots
| Argument | Type | Description |
|---|---|---|
| identifier | string | The name of the snapshots |
updateUpdate snapshots attributes
deleteDelete the snapshots
| Argument | Type | Description |
|---|---|---|
| identifier | string | The name of the snapshots |
syncSync snapshots state from GCP
Resources
state(infinite)— A snapshot resource. Snapshots are used in [Seek](https://cloud.google.com/pu...
@swamp/gcp/pubsub/subscriptionsv2026.04.23.1subscriptions.ts
Global Arguments
| Argument | Type | Description |
|---|---|---|
| ackDeadlineSeconds? | number | Optional. The approximate amount of time (on a best-effort basis) Pub/Sub waits for the subscriber to acknowledge receipt before resending the message. In the interval after the message is delivered and before it is acknowledged, it is considered to be _outstanding_. During that time period, the message will not be redelivered (on a best-effort basis). For pull subscriptions, this value is used as the initial value for the ack deadline. To override this value for a given message, call `ModifyAck |
| analyticsHubSubscriptionInfo? | object | Information about an associated [Analytics Hub subscription](https://cloud.google.com/bigquery/docs/analytics-hub-manage-subscriptions). |
| bigqueryConfig? | object | Configuration for a BigQuery subscription. |
| bigtableConfig? | object | Configuration for a Bigtable subscription. The Pub/Sub message will be written to a Bigtable row as follows: - row key: subscription name and message ID delimited by #. - columns: message bytes written to a single column family "data" with an empty-string column qualifier. - cell timestamp: the message publish timestamp. |
| cloudStorageConfig? | object | Configuration for a Cloud Storage subscription. |
| deadLetterPolicy? | object | Dead lettering is done on a best effort basis. The same message might be dead lettered multiple times. If validation on any of the fields fails at subscription creation/updation, the create/update subscription request will fail. |
| detached? | boolean | Optional. Indicates whether the subscription is detached from its topic. Detached subscriptions don't receive messages from their topic and don't retain any backlog. `Pull` and `StreamingPull` requests will return FAILED_PRECONDITION. If the subscription is a push subscription, pushes to the endpoint will not be made. |
| enableExactlyOnceDelivery? | boolean | Optional. If true, Pub/Sub provides the following guarantees for the delivery of a message with a given value of `message_id` on this subscription: * The message sent to a subscriber is guaranteed not to be resent before the message's acknowledgment deadline expires. * An acknowledged message will not be resent to a subscriber. Note that subscribers may still receive multiple copies of a message when `enable_exactly_once_delivery` is true if the message was published multiple times by a publishe |
| enableMessageOrdering? | boolean | Optional. If true, messages published with the same `ordering_key` in `PubsubMessage` will be delivered to the subscribers in the order in which they are received by the Pub/Sub system. Otherwise, they may be delivered in any order. |
| expirationPolicy? | object | A policy that specifies the conditions for resource expiration (i.e., automatic resource deletion). |
| filter? | string | Optional. An expression written in the Pub/Sub [filter language](https://cloud.google.com/pubsub/docs/filtering). If non-empty, then only `PubsubMessage`s whose `attributes` field matches the filter are delivered on this subscription. If empty, then no messages are filtered out. |
| labels? | record | Optional. See [Creating and managing labels](https://cloud.google.com/pubsub/docs/labels). |
| messageRetentionDuration? | string | Optional. How long to retain unacknowledged messages in the subscription's backlog, from the moment a message is published. If `retain_acked_messages` is true, then this also configures the retention of acknowledged messages, and thus configures how far back in time a `Seek` can be done. Defaults to 7 days. Cannot be more than 31 days or less than 10 minutes. |
| messageTransforms | array | |
| name? | string | Required. Identifier. The name of the subscription. It must have the format `"projects/{project}/subscriptions/{subscription}"`. `{subscription}` must start with a letter, and contain only letters (`[A-Za-z]`), numbers (`[0-9]`), dashes (`-`), underscores (`_`), periods (`.`), tildes (`~`), plus (`+`) or percent signs (`%`). It must be between 3 and 255 characters in length, and it must not start with `"goog"`. |
| pushConfig? | object | Configuration for a push delivery endpoint. |
| retainAckedMessages? | boolean | Optional. Indicates whether to retain acknowledged messages. If true, then messages are not expunged from the subscription's backlog, even if they are acknowledged, until they fall out of the `message_retention_duration` window. This must be true if you would like to [`Seek` to a timestamp] (https://cloud.google.com/pubsub/docs/replay-overview#seek_to_a_time) in the past to replay previously-acknowledged messages. |
| retryPolicy? | object | A policy that specifies how Pub/Sub retries message delivery. Retry delay will be exponential based on provided minimum and maximum backoffs. https://en.wikipedia.org/wiki/Exponential_backoff. RetryPolicy will be triggered on NACKs or acknowledgment deadline exceeded events for a given message. Retry Policy is implemented on a best effort basis. At times, the delay between consecutive deliveries may not match the configuration. That is, delay can be more or less than configured backoff. |
| tags? | record | Optional. Input only. Immutable. Tag keys/values directly bound to this resource. For example: "123/environment": "production", "123/costCenter": "marketing" |
| topic? | string | Required. The name of the topic from which this subscription is receiving messages. Format is `projects/{project}/topics/{topic}`. The value of this field will be `_deleted-topic_` if the topic has been deleted. |
| subscription? | object | Optional. Transforms to be applied to messages before they are delivered to subscribers. Transforms are applied in the order specified. |
| name? | string | Required. Identifier. The name of the subscription. It must have the format `"projects/{project}/subscriptions/{subscription}"`. `{subscription}` must start with a letter, and contain only letters (`[A-Za-z]`), numbers (`[0-9]`), dashes (`-`), underscores (`_`), periods (`.`), tildes (`~`), plus (`+`) or percent signs (`%`). It must be between 3 and 255 characters in length, and it must not start with `"goog"`. |
| pushConfig? | object | Configuration for a push delivery endpoint. |
| retainAckedMessages? | boolean | Optional. Indicates whether to retain acknowledged messages. If true, then messages are not expunged from the subscription's backlog, even if they are acknowledged, until they fall out of the `message_retention_duration` window. This must be true if you would like to [`Seek` to a timestamp] (https://cloud.google.com/pubsub/docs/replay-overview#seek_to_a_time) in the past to replay previously-acknowledged messages. |
| retryPolicy? | object | A policy that specifies how Pub/Sub retries message delivery. Retry delay will be exponential based on provided minimum and maximum backoffs. https://en.wikipedia.org/wiki/Exponential_backoff. RetryPolicy will be triggered on NACKs or acknowledgment deadline exceeded events for a given message. Retry Policy is implemented on a best effort basis. At times, the delay between consecutive deliveries may not match the configuration. That is, delay can be more or less than configured backoff. |
| state? | enum | Output only. An output-only field indicating whether or not the subscription can receive messages. |
| tags? | record | Optional. Input only. Immutable. Tag keys/values directly bound to this resource. For example: "123/environment": "production", "123/costCenter": "marketing" |
| topic? | string | Required. The name of the topic from which this subscription is receiving messages. Format is `projects/{project}/topics/{topic}`. The value of this field will be `_deleted-topic_` if the topic has been deleted. |
| topicMessageRetentionDuration? | string | Output only. Indicates the minimum duration for which a message is retained after it is published to the subscription's topic. If this field is set, messages published to the subscription's topic in the last `topic_message_retention_duration` are always available to subscribers. See the `message_retention_duration` field in `Topic`. This field is set only in responses from the server; it is ignored if it is set in any requests. |
| updateMask? | string | Required. Indicates which fields in the provided subscription to update. Must be specified and non-empty. |
createCreate a subscriptions
| Argument | Type | Description |
|---|---|---|
| waitForReady? | boolean | Wait for the resource to reach a ready state after creation (default: true) |
getGet a subscriptions
| Argument | Type | Description |
|---|---|---|
| identifier | string | The name of the subscriptions |
updateUpdate subscriptions attributes
| Argument | Type | Description |
|---|---|---|
| waitForReady? | boolean | Wait for the resource to reach a ready state after update (default: true) |
deleteDelete the subscriptions
| Argument | Type | Description |
|---|---|---|
| identifier | string | The name of the subscriptions |
syncSync subscriptions state from GCP
acknowledgeacknowledge
| Argument | Type | Description |
|---|---|---|
| ackIds? | any |
detachdetach
modify_ack_deadlinemodify ack deadline
| Argument | Type | Description |
|---|---|---|
| ackDeadlineSeconds? | any | |
| ackIds? | any |
modify_push_configmodify push config
| Argument | Type | Description |
|---|---|---|
| pushConfig? | any |
pullpull
| Argument | Type | Description |
|---|---|---|
| maxMessages? | any | |
| returnImmediately? | any |
seekseek
| Argument | Type | Description |
|---|---|---|
| snapshot? | any | |
| time? | any |
Resources
state(infinite)— A subscription resource. If none of `push_config`, `bigquery_config`, or `clo...
@swamp/gcp/pubsub/topicsv2026.04.23.1topics.ts
Global Arguments
| Argument | Type | Description |
|---|---|---|
| ingestionDataSourceSettings? | object | Settings for an ingestion data source on a topic. |
| kmsKeyName? | string | Optional. The resource name of the Cloud KMS CryptoKey to be used to protect access to messages published on this topic. The expected format is `projects/*/locations/*/keyRings/*/cryptoKeys/*`. |
| labels? | record | Optional. See [Creating and managing labels] (https://cloud.google.com/pubsub/docs/labels). |
| messageRetentionDuration? | string | Optional. Indicates the minimum duration to retain a message after it is published to the topic. If this field is set, messages published to the topic in the last `message_retention_duration` are always available to subscribers. For instance, it allows any attached subscription to [seek to a timestamp](https://cloud.google.com/pubsub/docs/replay-overview#seek_to_a_time) that is up to `message_retention_duration` in the past. If this field is not set, message retention is controlled by settings o |
| messageStoragePolicy? | object | A policy constraining the storage of messages published to the topic. |
| messageTransforms | array | |
| name? | string | Required. Identifier. The name of the topic. It must have the format `"projects/{project}/topics/{topic}"`. `{topic}` must start with a letter, and contain only letters (`[A-Za-z]`), numbers (`[0-9]`), dashes (`-`), underscores (`_`), periods (`.`), tildes (`~`), plus (`+`) or percent signs (`%`). It must be between 3 and 255 characters in length, and it must not start with `"goog"`. |
| satisfiesPzs? | boolean | Optional. Reserved for future use. This field is set only in responses from the server; it is ignored if it is set in any requests. |
| schemaSettings? | object | Settings for validating messages published against a schema. |
| tags? | record | Optional. Input only. Immutable. Tag keys/values directly bound to this resource. For example: "123/environment": "production", "123/costCenter": "marketing" |
| topic? | object | Optional. Transforms to be applied to messages published to the topic. Transforms are applied in the order specified. |
| name? | string | Required. Identifier. The name of the topic. It must have the format `"projects/{project}/topics/{topic}"`. `{topic}` must start with a letter, and contain only letters (`[A-Za-z]`), numbers (`[0-9]`), dashes (`-`), underscores (`_`), periods (`.`), tildes (`~`), plus (`+`) or percent signs (`%`). It must be between 3 and 255 characters in length, and it must not start with `"goog"`. |
| satisfiesPzs? | boolean | Optional. Reserved for future use. This field is set only in responses from the server; it is ignored if it is set in any requests. |
| schemaSettings? | object | Settings for validating messages published against a schema. |
| state? | enum | Output only. An output-only field indicating the state of the topic. |
| tags? | record | Optional. Input only. Immutable. Tag keys/values directly bound to this resource. For example: "123/environment": "production", "123/costCenter": "marketing" |
| updateMask? | string | Required. Indicates which fields in the provided topic to update. Must be specified and non-empty. Note that if `update_mask` contains "message_storage_policy" but the `message_storage_policy` is not set in the `topic` provided above, then the updated value is determined by the policy configured at the project or organization level. |
createCreate a topics
| Argument | Type | Description |
|---|---|---|
| waitForReady? | boolean | Wait for the resource to reach a ready state after creation (default: true) |
getGet a topics
| Argument | Type | Description |
|---|---|---|
| identifier | string | The name of the topics |
updateUpdate topics attributes
| Argument | Type | Description |
|---|---|---|
| waitForReady? | boolean | Wait for the resource to reach a ready state after update (default: true) |
deleteDelete the topics
| Argument | Type | Description |
|---|---|---|
| identifier | string | The name of the topics |
syncSync topics state from GCP
publishpublish
| Argument | Type | Description |
|---|---|---|
| messages? | any |
Resources
state(infinite)— A topic resource.
@swamp/gcp/pubsub/topics-snapshotsv2026.04.23.1topics_snapshots.ts
Global Arguments
| Argument | Type | Description |
|---|---|---|
| name | string | Instance name for this resource (used as the unique identifier in the factory pattern) |
getGet a snapshots
| Argument | Type | Description |
|---|---|---|
| identifier | string | The name of the snapshots |
syncSync snapshots state from GCP
Resources
state(infinite)— Lists the names of the snapshots on this topic. Snapshots are used in [Seek](...
@swamp/gcp/pubsub/topics-subscriptionsv2026.04.23.1topics_subscriptions.ts
Global Arguments
| Argument | Type | Description |
|---|---|---|
| name | string | Instance name for this resource (used as the unique identifier in the factory pattern) |
getGet a subscriptions
| Argument | Type | Description |
|---|---|---|
| identifier | string | The name of the subscriptions |
syncSync subscriptions state from GCP
Resources
state(infinite)— Lists the names of the attached subscriptions on this topic.
2026.04.04.158.3 KBApr 4, 2026
Google Cloud pubsub infrastructure models
Release Notes
- Updated: subscriptions, topics
linux-x86_64linux-aarch64darwin-x86_64darwin-aarch64
gcpgoogle-cloudpubsubcloudinfrastructure
2026.04.03.358.0 KBApr 3, 2026
Google Cloud pubsub infrastructure models
Release Notes
- Updated: schemas, snapshots, subscriptions, topics, topics_snapshots, topics_subscriptions
linux-x86_64linux-aarch64darwin-x86_64darwin-aarch64
gcpgoogle-cloudpubsubcloudinfrastructure
2026.04.03.157.6 KBApr 3, 2026
Google Cloud pubsub infrastructure models
Release Notes
- Updated: schemas, snapshots, subscriptions, topics, topics_snapshots, topics_subscriptions
linux-x86_64linux-aarch64darwin-x86_64darwin-aarch64
gcpgoogle-cloudpubsubcloudinfrastructure
2026.04.02.257.5 KBApr 2, 2026
Google Cloud pubsub infrastructure models
linux-x86_64linux-aarch64darwin-x86_64darwin-aarch64
gcpgoogle-cloudpubsubcloudinfrastructure
2026.03.27.158.3 KBMar 27, 2026
Google Cloud pubsub infrastructure models
Release Notes
- Added: schemas, snapshots, subscriptions, topics, topics_snapshots, topics_subscriptions
linux-x86_64linux-aarch64darwin-x86_64darwin-aarch64
gcpgoogle-cloudpubsubcloudinfrastructure