{
  "auth": {
    "oauth2": {
      "scopes": {
        "https://www.googleapis.com/auth/cloud-platform": {
          "description": "View and manage your data across Google Cloud Platform services"
        },
        "https://www.googleapis.com/auth/pubsub": {
          "description": "View and manage Pub/Sub topics and subscriptions"
        }
      }
    }
  },
  "basePath": "",
  "baseUrl": "https://pubsub.googleapis.com/",
  "batchPath": "batch",
  "canonicalName": "Pubsub",
  "description": "Provides reliable, many-to-many, asynchronous messaging between applications.\n",
  "discoveryVersion": "v1",
  "documentationLink": "https://cloud.google.com/pubsub/docs",
  "icons": {
    "x16": "http://www.google.com/images/icons/product/search-16.gif",
    "x32": "http://www.google.com/images/icons/product/search-32.gif"
  },
  "id": "pubsub:v1",
  "kind": "discovery#restDescription",
  "name": "pubsub",
  "ownerDomain": "google.com",
  "ownerName": "Google",
  "parameters": {
    "$.xgafv": {
      "description": "V1 error format.",
      "enum": [
        "1",
        "2"
      ],
      "enumDescriptions": [
        "v1 error format",
        "v2 error format"
      ],
      "location": "query",
      "type": "string"
    },
    "access_token": {
      "description": "OAuth access token.",
      "location": "query",
      "type": "string"
    },
    "alt": {
      "default": "json",
      "description": "Data format for response.",
      "enum": [
        "json",
        "media",
        "proto"
      ],
      "enumDescriptions": [
        "Responses with Content-Type of application/json",
        "Media download with context-dependent Content-Type",
        "Responses with Content-Type of application/x-protobuf"
      ],
      "location": "query",
      "type": "string"
    },
    "callback": {
      "description": "JSONP",
      "location": "query",
      "type": "string"
    },
    "fields": {
      "description": "Selector specifying which fields to include in a partial response.",
      "location": "query",
      "type": "string"
    },
    "key": {
      "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.",
      "location": "query",
      "type": "string"
    },
    "oauth_token": {
      "description": "OAuth 2.0 token for the current user.",
      "location": "query",
      "type": "string"
    },
    "prettyPrint": {
      "default": "true",
      "description": "Returns response with indentations and line breaks.",
      "location": "query",
      "type": "boolean"
    },
    "quotaUser": {
      "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.",
      "location": "query",
      "type": "string"
    },
    "uploadType": {
      "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").",
      "location": "query",
      "type": "string"
    },
    "upload_protocol": {
      "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").",
      "location": "query",
      "type": "string"
    }
  },
  "protocol": "rest",
  "resources": {
    "projects": {
      "resources": {
        "snapshots": {
          "methods": {
            "create": {
              "description": "Creates a snapshot from the requested subscription. Snapshots are used in\n\u003ca href=\"https://cloud.google.com/pubsub/docs/replay-overview\"\u003eSeek\u003c/a\u003e\noperations, which allow\nyou to manage message acknowledgments in bulk. That is, you can set the\nacknowledgment state of messages in an existing subscription to the state\ncaptured by a snapshot.\n\u003cbr\u003e\u003cbr\u003eIf the snapshot already exists, returns `ALREADY_EXISTS`.\nIf the requested subscription doesn't exist, returns `NOT_FOUND`.\nIf the backlog in the subscription is too old -- and the resulting snapshot\nwould expire in less than 1 hour -- then `FAILED_PRECONDITION` is returned.\nSee also the `Snapshot.expire_time` field. If the name is not provided in\nthe request, the server will assign a random\nname for this snapshot on the same project as the subscription, conforming\nto the\n[resource name\nformat](https://cloud.google.com/pubsub/docs/admin#resource_names). The\ngenerated name is populated in the returned Snapshot object. Note that for\nREST API requests, you must specify a name in the request.",
              "flatPath": "v1/projects/{projectsId}/snapshots/{snapshotsId}",
              "httpMethod": "PUT",
              "id": "pubsub.projects.snapshots.create",
              "parameterOrder": [
                "name"
              ],
              "parameters": {
                "name": {
                  "description": "User-provided name for this snapshot. If the name is not provided in the\nrequest, the server will assign a random name for this snapshot on the same\nproject as the subscription. Note that for REST API requests, you must\nspecify a name.  See the \u003ca\nhref=\"https://cloud.google.com/pubsub/docs/admin#resource_names\"\u003e resource\nname rules\u003c/a\u003e. Format is `projects/{project}/snapshots/{snap}`.",
                  "location": "path",
                  "pattern": "^projects/[^/]+/snapshots/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1/{+name}",
              "request": {
                "$ref": "CreateSnapshotRequest"
              },
              "response": {
                "$ref": "Snapshot"
              },
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform",
                "https://www.googleapis.com/auth/pubsub"
              ]
            },
            "delete": {
              "description": "Removes an existing snapshot. Snapshots are used in\n\u003ca href=\"https://cloud.google.com/pubsub/docs/replay-overview\"\u003eSeek\u003c/a\u003e\noperations, which allow\nyou to manage message acknowledgments in bulk. That is, you can set the\nacknowledgment state of messages in an existing subscription to the state\ncaptured by a snapshot.\u003cbr\u003e\u003cbr\u003e\nWhen the snapshot is deleted, all messages retained in the snapshot\nare immediately dropped. After a snapshot is deleted, a new one may be\ncreated with the same name, but the new one has no association with the old\nsnapshot or its subscription, unless the same subscription is specified.",
              "flatPath": "v1/projects/{projectsId}/snapshots/{snapshotsId}",
              "httpMethod": "DELETE",
              "id": "pubsub.projects.snapshots.delete",
              "parameterOrder": [
                "snapshot"
              ],
              "parameters": {
                "snapshot": {
                  "description": "The name of the snapshot to delete.\nFormat is `projects/{project}/snapshots/{snap}`.",
                  "location": "path",
                  "pattern": "^projects/[^/]+/snapshots/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1/{+snapshot}",
              "response": {
                "$ref": "Empty"
              },
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform",
                "https://www.googleapis.com/auth/pubsub"
              ]
            },
            "get": {
              "description": "Gets the configuration details of a snapshot. Snapshots are used in\n\u003ca href=\"https://cloud.google.com/pubsub/docs/replay-overview\"\u003eSeek\u003c/a\u003e\noperations, which allow you to manage message acknowledgments in bulk. That\nis, you can set the acknowledgment state of messages in an existing\nsubscription to the state captured by a snapshot.",
              "flatPath": "v1/projects/{projectsId}/snapshots/{snapshotsId}",
              "httpMethod": "GET",
              "id": "pubsub.projects.snapshots.get",
              "parameterOrder": [
                "snapshot"
              ],
              "parameters": {
                "snapshot": {
                  "description": "The name of the snapshot to get.\nFormat is `projects/{project}/snapshots/{snap}`.",
                  "location": "path",
                  "pattern": "^projects/[^/]+/snapshots/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1/{+snapshot}",
              "response": {
                "$ref": "Snapshot"
              },
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform",
                "https://www.googleapis.com/auth/pubsub"
              ]
            },
            "getIamPolicy": {
              "description": "Gets the access control policy for a resource.\nReturns an empty policy if the resource exists and does not have a policy\nset.",
              "flatPath": "v1/projects/{projectsId}/snapshots/{snapshotsId}:getIamPolicy",
              "httpMethod": "GET",
              "id": "pubsub.projects.snapshots.getIamPolicy",
              "parameterOrder": [
                "resource"
              ],
              "parameters": {
                "options.requestedPolicyVersion": {
                  "description": "Optional. The policy format version to be returned.\n\nValid values are 0, 1, and 3. Requests specifying an invalid value will be\nrejected.\n\nRequests for policies with any conditional bindings must specify version 3.\nPolicies without any conditional bindings may specify any valid value or\nleave the field unset.",
                  "format": "int32",
                  "location": "query",
                  "type": "integer"
                },
                "resource": {
                  "description": "REQUIRED: The resource for which the policy is being requested.\nSee the operation documentation for the appropriate value for this field.",
                  "location": "path",
                  "pattern": "^projects/[^/]+/snapshots/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1/{+resource}:getIamPolicy",
              "response": {
                "$ref": "Policy"
              },
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform",
                "https://www.googleapis.com/auth/pubsub"
              ]
            },
            "list": {
              "description": "Lists the existing snapshots. Snapshots are used in\n\u003ca href=\"https://cloud.google.com/pubsub/docs/replay-overview\"\u003eSeek\u003c/a\u003e\noperations, which allow\nyou to manage message acknowledgments in bulk. That is, you can set the\nacknowledgment state of messages in an existing subscription to the state\ncaptured by a snapshot.",
              "flatPath": "v1/projects/{projectsId}/snapshots",
              "httpMethod": "GET",
              "id": "pubsub.projects.snapshots.list",
              "parameterOrder": [
                "project"
              ],
              "parameters": {
                "pageSize": {
                  "description": "Maximum number of snapshots to return.",
                  "format": "int32",
                  "location": "query",
                  "type": "integer"
                },
                "pageToken": {
                  "description": "The value returned by the last `ListSnapshotsResponse`; indicates that this\nis a continuation of a prior `ListSnapshots` call, and that the system\nshould return the next page of data.",
                  "location": "query",
                  "type": "string"
                },
                "project": {
                  "description": "The name of the project in which to list snapshots.\nFormat is `projects/{project-id}`.",
                  "location": "path",
                  "pattern": "^projects/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1/{+project}/snapshots",
              "response": {
                "$ref": "ListSnapshotsResponse"
              },
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform",
                "https://www.googleapis.com/auth/pubsub"
              ]
            },
            "patch": {
              "description": "Updates an existing snapshot. Snapshots are used in\n\u003ca href=\"https://cloud.google.com/pubsub/docs/replay-overview\"\u003eSeek\u003c/a\u003e\noperations, which allow\nyou to manage message acknowledgments in bulk. That is, you can set the\nacknowledgment state of messages in an existing subscription to the state\ncaptured by a snapshot.",
              "flatPath": "v1/projects/{projectsId}/snapshots/{snapshotsId}",
              "httpMethod": "PATCH",
              "id": "pubsub.projects.snapshots.patch",
              "parameterOrder": [
                "name"
              ],
              "parameters": {
                "name": {
                  "description": "The name of the snapshot.",
                  "location": "path",
                  "pattern": "^projects/[^/]+/snapshots/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1/{+name}",
              "request": {
                "$ref": "UpdateSnapshotRequest"
              },
              "response": {
                "$ref": "Snapshot"
              },
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform",
                "https://www.googleapis.com/auth/pubsub"
              ]
            },
            "setIamPolicy": {
              "description": "Sets the access control policy on the specified resource. Replaces any\nexisting policy.\n\nCan return Public Errors: NOT_FOUND, INVALID_ARGUMENT and PERMISSION_DENIED",
              "flatPath": "v1/projects/{projectsId}/snapshots/{snapshotsId}:setIamPolicy",
              "httpMethod": "POST",
              "id": "pubsub.projects.snapshots.setIamPolicy",
              "parameterOrder": [
                "resource"
              ],
              "parameters": {
                "resource": {
                  "description": "REQUIRED: The resource for which the policy is being specified.\nSee the operation documentation for the appropriate value for this field.",
                  "location": "path",
                  "pattern": "^projects/[^/]+/snapshots/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1/{+resource}:setIamPolicy",
              "request": {
                "$ref": "SetIamPolicyRequest"
              },
              "response": {
                "$ref": "Policy"
              },
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform",
                "https://www.googleapis.com/auth/pubsub"
              ]
            },
            "testIamPermissions": {
              "description": "Returns permissions that a caller has on the specified resource.\nIf the resource does not exist, this will return an empty set of\npermissions, not a NOT_FOUND error.\n\nNote: This operation is designed to be used for building permission-aware\nUIs and command-line tools, not for authorization checking. This operation\nmay \"fail open\" without warning.",
              "flatPath": "v1/projects/{projectsId}/snapshots/{snapshotsId}:testIamPermissions",
              "httpMethod": "POST",
              "id": "pubsub.projects.snapshots.testIamPermissions",
              "parameterOrder": [
                "resource"
              ],
              "parameters": {
                "resource": {
                  "description": "REQUIRED: The resource for which the policy detail is being requested.\nSee the operation documentation for the appropriate value for this field.",
                  "location": "path",
                  "pattern": "^projects/[^/]+/snapshots/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1/{+resource}:testIamPermissions",
              "request": {
                "$ref": "TestIamPermissionsRequest"
              },
              "response": {
                "$ref": "TestIamPermissionsResponse"
              },
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform",
                "https://www.googleapis.com/auth/pubsub"
              ]
            }
          }
        },
        "subscriptions": {
          "methods": {
            "acknowledge": {
              "description": "Acknowledges the messages associated with the `ack_ids` in the\n`AcknowledgeRequest`. The Pub/Sub system can remove the relevant messages\nfrom the subscription.\n\nAcknowledging a message whose ack deadline has expired may succeed,\nbut such a message may be redelivered later. Acknowledging a message more\nthan once will not result in an error.",
              "flatPath": "v1/projects/{projectsId}/subscriptions/{subscriptionsId}:acknowledge",
              "httpMethod": "POST",
              "id": "pubsub.projects.subscriptions.acknowledge",
              "parameterOrder": [
                "subscription"
              ],
              "parameters": {
                "subscription": {
                  "description": "The subscription whose message is being acknowledged.\nFormat is `projects/{project}/subscriptions/{sub}`.",
                  "location": "path",
                  "pattern": "^projects/[^/]+/subscriptions/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1/{+subscription}:acknowledge",
              "request": {
                "$ref": "AcknowledgeRequest"
              },
              "response": {
                "$ref": "Empty"
              },
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform",
                "https://www.googleapis.com/auth/pubsub"
              ]
            },
            "create": {
              "description": "Creates a subscription to a given topic. See the\n\u003ca href=\"https://cloud.google.com/pubsub/docs/admin#resource_names\"\u003e\nresource name rules\u003c/a\u003e.\nIf the subscription already exists, returns `ALREADY_EXISTS`.\nIf the corresponding topic doesn't exist, returns `NOT_FOUND`.\n\nIf the name is not provided in the request, the server will assign a random\nname for this subscription on the same project as the topic, conforming\nto the\n[resource name\nformat](https://cloud.google.com/pubsub/docs/admin#resource_names). The\ngenerated name is populated in the returned Subscription object. Note that\nfor REST API requests, you must specify a name in the request.",
              "flatPath": "v1/projects/{projectsId}/subscriptions/{subscriptionsId}",
              "httpMethod": "PUT",
              "id": "pubsub.projects.subscriptions.create",
              "parameterOrder": [
                "name"
              ],
              "parameters": {
                "name": {
                  "description": "The name of the subscription. It must have the format\n`\"projects/{project}/subscriptions/{subscription}\"`. `{subscription}` must\nstart with a letter, and contain only letters (`[A-Za-z]`), numbers\n(`[0-9]`), dashes (`-`), underscores (`_`), periods (`.`), tildes (`~`),\nplus (`+`) or percent signs (`%`). It must be between 3 and 255 characters\nin length, and it must not start with `\"goog\"`.",
                  "location": "path",
                  "pattern": "^projects/[^/]+/subscriptions/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1/{+name}",
              "request": {
                "$ref": "Subscription"
              },
              "response": {
                "$ref": "Subscription"
              },
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform",
                "https://www.googleapis.com/auth/pubsub"
              ]
            },
            "delete": {
              "description": "Deletes an existing subscription. All messages retained in the subscription\nare immediately dropped. Calls to `Pull` after deletion will return\n`NOT_FOUND`. After a subscription is deleted, a new one may be created with\nthe same name, but the new one has no association with the old\nsubscription or its topic unless the same topic is specified.",
              "flatPath": "v1/projects/{projectsId}/subscriptions/{subscriptionsId}",
              "httpMethod": "DELETE",
              "id": "pubsub.projects.subscriptions.delete",
              "parameterOrder": [
                "subscription"
              ],
              "parameters": {
                "subscription": {
                  "description": "The subscription to delete.\nFormat is `projects/{project}/subscriptions/{sub}`.",
                  "location": "path",
                  "pattern": "^projects/[^/]+/subscriptions/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1/{+subscription}",
              "response": {
                "$ref": "Empty"
              },
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform",
                "https://www.googleapis.com/auth/pubsub"
              ]
            },
            "get": {
              "description": "Gets the configuration details of a subscription.",
              "flatPath": "v1/projects/{projectsId}/subscriptions/{subscriptionsId}",
              "httpMethod": "GET",
              "id": "pubsub.projects.subscriptions.get",
              "parameterOrder": [
                "subscription"
              ],
              "parameters": {
                "subscription": {
                  "description": "The name of the subscription to get.\nFormat is `projects/{project}/subscriptions/{sub}`.",
                  "location": "path",
                  "pattern": "^projects/[^/]+/subscriptions/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1/{+subscription}",
              "response": {
                "$ref": "Subscription"
              },
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform",
                "https://www.googleapis.com/auth/pubsub"
              ]
            },
            "getIamPolicy": {
              "description": "Gets the access control policy for a resource.\nReturns an empty policy if the resource exists and does not have a policy\nset.",
              "flatPath": "v1/projects/{projectsId}/subscriptions/{subscriptionsId}:getIamPolicy",
              "httpMethod": "GET",
              "id": "pubsub.projects.subscriptions.getIamPolicy",
              "parameterOrder": [
                "resource"
              ],
              "parameters": {
                "options.requestedPolicyVersion": {
                  "description": "Optional. The policy format version to be returned.\n\nValid values are 0, 1, and 3. Requests specifying an invalid value will be\nrejected.\n\nRequests for policies with any conditional bindings must specify version 3.\nPolicies without any conditional bindings may specify any valid value or\nleave the field unset.",
                  "format": "int32",
                  "location": "query",
                  "type": "integer"
                },
                "resource": {
                  "description": "REQUIRED: The resource for which the policy is being requested.\nSee the operation documentation for the appropriate value for this field.",
                  "location": "path",
                  "pattern": "^projects/[^/]+/subscriptions/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1/{+resource}:getIamPolicy",
              "response": {
                "$ref": "Policy"
              },
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform",
                "https://www.googleapis.com/auth/pubsub"
              ]
            },
            "list": {
              "description": "Lists matching subscriptions.",
              "flatPath": "v1/projects/{projectsId}/subscriptions",
              "httpMethod": "GET",
              "id": "pubsub.projects.subscriptions.list",
              "parameterOrder": [
                "project"
              ],
              "parameters": {
                "pageSize": {
                  "description": "Maximum number of subscriptions to return.",
                  "format": "int32",
                  "location": "query",
                  "type": "integer"
                },
                "pageToken": {
                  "description": "The value returned by the last `ListSubscriptionsResponse`; indicates that\nthis is a continuation of a prior `ListSubscriptions` call, and that the\nsystem should return the next page of data.",
                  "location": "query",
                  "type": "string"
                },
                "project": {
                  "description": "The name of the project in which to list subscriptions.\nFormat is `projects/{project-id}`.",
                  "location": "path",
                  "pattern": "^projects/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1/{+project}/subscriptions",
              "response": {
                "$ref": "ListSubscriptionsResponse"
              },
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform",
                "https://www.googleapis.com/auth/pubsub"
              ]
            },
            "modifyAckDeadline": {
              "description": "Modifies the ack deadline for a specific message. This method is useful\nto indicate that more time is needed to process a message by the\nsubscriber, or to make the message available for redelivery if the\nprocessing was interrupted. Note that this does not modify the\nsubscription-level `ackDeadlineSeconds` used for subsequent messages.",
              "flatPath": "v1/projects/{projectsId}/subscriptions/{subscriptionsId}:modifyAckDeadline",
              "httpMethod": "POST",
              "id": "pubsub.projects.subscriptions.modifyAckDeadline",
              "parameterOrder": [
                "subscription"
              ],
              "parameters": {
                "subscription": {
                  "description": "The name of the subscription.\nFormat is `projects/{project}/subscriptions/{sub}`.",
                  "location": "path",
                  "pattern": "^projects/[^/]+/subscriptions/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1/{+subscription}:modifyAckDeadline",
              "request": {
                "$ref": "ModifyAckDeadlineRequest"
              },
              "response": {
                "$ref": "Empty"
              },
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform",
                "https://www.googleapis.com/auth/pubsub"
              ]
            },
            "modifyPushConfig": {
              "description": "Modifies the `PushConfig` for a specified subscription.\n\nThis may be used to change a push subscription to a pull one (signified by\nan empty `PushConfig`) or vice versa, or change the endpoint URL and other\nattributes of a push subscription. Messages will accumulate for delivery\ncontinuously through the call regardless of changes to the `PushConfig`.",
              "flatPath": "v1/projects/{projectsId}/subscriptions/{subscriptionsId}:modifyPushConfig",
              "httpMethod": "POST",
              "id": "pubsub.projects.subscriptions.modifyPushConfig",
              "parameterOrder": [
                "subscription"
              ],
              "parameters": {
                "subscription": {
                  "description": "The name of the subscription.\nFormat is `projects/{project}/subscriptions/{sub}`.",
                  "location": "path",
                  "pattern": "^projects/[^/]+/subscriptions/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1/{+subscription}:modifyPushConfig",
              "request": {
                "$ref": "ModifyPushConfigRequest"
              },
              "response": {
                "$ref": "Empty"
              },
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform",
                "https://www.googleapis.com/auth/pubsub"
              ]
            },
            "patch": {
              "description": "Updates an existing subscription. Note that certain properties of a\nsubscription, such as its topic, are not modifiable.",
              "flatPath": "v1/projects/{projectsId}/subscriptions/{subscriptionsId}",
              "httpMethod": "PATCH",
              "id": "pubsub.projects.subscriptions.patch",
              "parameterOrder": [
                "name"
              ],
              "parameters": {
                "name": {
                  "description": "The name of the subscription. It must have the format\n`\"projects/{project}/subscriptions/{subscription}\"`. `{subscription}` must\nstart with a letter, and contain only letters (`[A-Za-z]`), numbers\n(`[0-9]`), dashes (`-`), underscores (`_`), periods (`.`), tildes (`~`),\nplus (`+`) or percent signs (`%`). It must be between 3 and 255 characters\nin length, and it must not start with `\"goog\"`.",
                  "location": "path",
                  "pattern": "^projects/[^/]+/subscriptions/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1/{+name}",
              "request": {
                "$ref": "UpdateSubscriptionRequest"
              },
              "response": {
                "$ref": "Subscription"
              },
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform",
                "https://www.googleapis.com/auth/pubsub"
              ]
            },
            "pull": {
              "description": "Pulls messages from the server. The server may return `UNAVAILABLE` if\nthere are too many concurrent pull requests pending for the given\nsubscription.",
              "flatPath": "v1/projects/{projectsId}/subscriptions/{subscriptionsId}:pull",
              "httpMethod": "POST",
              "id": "pubsub.projects.subscriptions.pull",
              "parameterOrder": [
                "subscription"
              ],
              "parameters": {
                "subscription": {
                  "description": "The subscription from which messages should be pulled.\nFormat is `projects/{project}/subscriptions/{sub}`.",
                  "location": "path",
                  "pattern": "^projects/[^/]+/subscriptions/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1/{+subscription}:pull",
              "request": {
                "$ref": "PullRequest"
              },
              "response": {
                "$ref": "PullResponse"
              },
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform",
                "https://www.googleapis.com/auth/pubsub"
              ]
            },
            "seek": {
              "description": "Seeks an existing subscription to a point in time or to a given snapshot,\nwhichever is provided in the request. Snapshots are used in\n\u003ca href=\"https://cloud.google.com/pubsub/docs/replay-overview\"\u003eSeek\u003c/a\u003e\noperations, which allow\nyou to manage message acknowledgments in bulk. That is, you can set the\nacknowledgment state of messages in an existing subscription to the state\ncaptured by a snapshot. Note that both the subscription and the snapshot\nmust be on the same topic.",
              "flatPath": "v1/projects/{projectsId}/subscriptions/{subscriptionsId}:seek",
              "httpMethod": "POST",
              "id": "pubsub.projects.subscriptions.seek",
              "parameterOrder": [
                "subscription"
              ],
              "parameters": {
                "subscription": {
                  "description": "The subscription to affect.",
                  "location": "path",
                  "pattern": "^projects/[^/]+/subscriptions/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1/{+subscription}:seek",
              "request": {
                "$ref": "SeekRequest"
              },
              "response": {
                "$ref": "SeekResponse"
              },
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform",
                "https://www.googleapis.com/auth/pubsub"
              ]
            },
            "setIamPolicy": {
              "description": "Sets the access control policy on the specified resource. Replaces any\nexisting policy.\n\nCan return Public Errors: NOT_FOUND, INVALID_ARGUMENT and PERMISSION_DENIED",
              "flatPath": "v1/projects/{projectsId}/subscriptions/{subscriptionsId}:setIamPolicy",
              "httpMethod": "POST",
              "id": "pubsub.projects.subscriptions.setIamPolicy",
              "parameterOrder": [
                "resource"
              ],
              "parameters": {
                "resource": {
                  "description": "REQUIRED: The resource for which the policy is being specified.\nSee the operation documentation for the appropriate value for this field.",
                  "location": "path",
                  "pattern": "^projects/[^/]+/subscriptions/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1/{+resource}:setIamPolicy",
              "request": {
                "$ref": "SetIamPolicyRequest"
              },
              "response": {
                "$ref": "Policy"
              },
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform",
                "https://www.googleapis.com/auth/pubsub"
              ]
            },
            "testIamPermissions": {
              "description": "Returns permissions that a caller has on the specified resource.\nIf the resource does not exist, this will return an empty set of\npermissions, not a NOT_FOUND error.\n\nNote: This operation is designed to be used for building permission-aware\nUIs and command-line tools, not for authorization checking. This operation\nmay \"fail open\" without warning.",
              "flatPath": "v1/projects/{projectsId}/subscriptions/{subscriptionsId}:testIamPermissions",
              "httpMethod": "POST",
              "id": "pubsub.projects.subscriptions.testIamPermissions",
              "parameterOrder": [
                "resource"
              ],
              "parameters": {
                "resource": {
                  "description": "REQUIRED: The resource for which the policy detail is being requested.\nSee the operation documentation for the appropriate value for this field.",
                  "location": "path",
                  "pattern": "^projects/[^/]+/subscriptions/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1/{+resource}:testIamPermissions",
              "request": {
                "$ref": "TestIamPermissionsRequest"
              },
              "response": {
                "$ref": "TestIamPermissionsResponse"
              },
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform",
                "https://www.googleapis.com/auth/pubsub"
              ]
            }
          }
        },
        "topics": {
          "methods": {
            "create": {
              "description": "Creates the given topic with the given name. See the\n\u003ca href=\"https://cloud.google.com/pubsub/docs/admin#resource_names\"\u003e\nresource name rules\u003c/a\u003e.",
              "flatPath": "v1/projects/{projectsId}/topics/{topicsId}",
              "httpMethod": "PUT",
              "id": "pubsub.projects.topics.create",
              "parameterOrder": [
                "name"
              ],
              "parameters": {
                "name": {
                  "description": "The name of the topic. It must have the format\n`\"projects/{project}/topics/{topic}\"`. `{topic}` must start with a letter,\nand contain only letters (`[A-Za-z]`), numbers (`[0-9]`), dashes (`-`),\nunderscores (`_`), periods (`.`), tildes (`~`), plus (`+`) or percent\nsigns (`%`). It must be between 3 and 255 characters in length, and it\nmust not start with `\"goog\"`.",
                  "location": "path",
                  "pattern": "^projects/[^/]+/topics/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1/{+name}",
              "request": {
                "$ref": "Topic"
              },
              "response": {
                "$ref": "Topic"
              },
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform",
                "https://www.googleapis.com/auth/pubsub"
              ]
            },
            "delete": {
              "description": "Deletes the topic with the given name. Returns `NOT_FOUND` if the topic\ndoes not exist. After a topic is deleted, a new topic may be created with\nthe same name; this is an entirely new topic with none of the old\nconfiguration or subscriptions. Existing subscriptions to this topic are\nnot deleted, but their `topic` field is set to `_deleted-topic_`.",
              "flatPath": "v1/projects/{projectsId}/topics/{topicsId}",
              "httpMethod": "DELETE",
              "id": "pubsub.projects.topics.delete",
              "parameterOrder": [
                "topic"
              ],
              "parameters": {
                "topic": {
                  "description": "Name of the topic to delete.\nFormat is `projects/{project}/topics/{topic}`.",
                  "location": "path",
                  "pattern": "^projects/[^/]+/topics/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1/{+topic}",
              "response": {
                "$ref": "Empty"
              },
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform",
                "https://www.googleapis.com/auth/pubsub"
              ]
            },
            "get": {
              "description": "Gets the configuration of a topic.",
              "flatPath": "v1/projects/{projectsId}/topics/{topicsId}",
              "httpMethod": "GET",
              "id": "pubsub.projects.topics.get",
              "parameterOrder": [
                "topic"
              ],
              "parameters": {
                "topic": {
                  "description": "The name of the topic to get.\nFormat is `projects/{project}/topics/{topic}`.",
                  "location": "path",
                  "pattern": "^projects/[^/]+/topics/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1/{+topic}",
              "response": {
                "$ref": "Topic"
              },
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform",
                "https://www.googleapis.com/auth/pubsub"
              ]
            },
            "getIamPolicy": {
              "description": "Gets the access control policy for a resource.\nReturns an empty policy if the resource exists and does not have a policy\nset.",
              "flatPath": "v1/projects/{projectsId}/topics/{topicsId}:getIamPolicy",
              "httpMethod": "GET",
              "id": "pubsub.projects.topics.getIamPolicy",
              "parameterOrder": [
                "resource"
              ],
              "parameters": {
                "options.requestedPolicyVersion": {
                  "description": "Optional. The policy format version to be returned.\n\nValid values are 0, 1, and 3. Requests specifying an invalid value will be\nrejected.\n\nRequests for policies with any conditional bindings must specify version 3.\nPolicies without any conditional bindings may specify any valid value or\nleave the field unset.",
                  "format": "int32",
                  "location": "query",
                  "type": "integer"
                },
                "resource": {
                  "description": "REQUIRED: The resource for which the policy is being requested.\nSee the operation documentation for the appropriate value for this field.",
                  "location": "path",
                  "pattern": "^projects/[^/]+/topics/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1/{+resource}:getIamPolicy",
              "response": {
                "$ref": "Policy"
              },
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform",
                "https://www.googleapis.com/auth/pubsub"
              ]
            },
            "list": {
              "description": "Lists matching topics.",
              "flatPath": "v1/projects/{projectsId}/topics",
              "httpMethod": "GET",
              "id": "pubsub.projects.topics.list",
              "parameterOrder": [
                "project"
              ],
              "parameters": {
                "pageSize": {
                  "description": "Maximum number of topics to return.",
                  "format": "int32",
                  "location": "query",
                  "type": "integer"
                },
                "pageToken": {
                  "description": "The value returned by the last `ListTopicsResponse`; indicates that this is\na continuation of a prior `ListTopics` call, and that the system should\nreturn the next page of data.",
                  "location": "query",
                  "type": "string"
                },
                "project": {
                  "description": "The name of the project in which to list topics.\nFormat is `projects/{project-id}`.",
                  "location": "path",
                  "pattern": "^projects/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1/{+project}/topics",
              "response": {
                "$ref": "ListTopicsResponse"
              },
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform",
                "https://www.googleapis.com/auth/pubsub"
              ]
            },
            "patch": {
              "description": "Updates an existing topic. Note that certain properties of a\ntopic are not modifiable.",
              "flatPath": "v1/projects/{projectsId}/topics/{topicsId}",
              "httpMethod": "PATCH",
              "id": "pubsub.projects.topics.patch",
              "parameterOrder": [
                "name"
              ],
              "parameters": {
                "name": {
                  "description": "The name of the topic. It must have the format\n`\"projects/{project}/topics/{topic}\"`. `{topic}` must start with a letter,\nand contain only letters (`[A-Za-z]`), numbers (`[0-9]`), dashes (`-`),\nunderscores (`_`), periods (`.`), tildes (`~`), plus (`+`) or percent\nsigns (`%`). It must be between 3 and 255 characters in length, and it\nmust not start with `\"goog\"`.",
                  "location": "path",
                  "pattern": "^projects/[^/]+/topics/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1/{+name}",
              "request": {
                "$ref": "UpdateTopicRequest"
              },
              "response": {
                "$ref": "Topic"
              },
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform",
                "https://www.googleapis.com/auth/pubsub"
              ]
            },
            "publish": {
              "description": "Adds one or more messages to the topic. Returns `NOT_FOUND` if the topic\ndoes not exist.",
              "flatPath": "v1/projects/{projectsId}/topics/{topicsId}:publish",
              "httpMethod": "POST",
              "id": "pubsub.projects.topics.publish",
              "parameterOrder": [
                "topic"
              ],
              "parameters": {
                "topic": {
                  "description": "The messages in the request will be published on this topic.\nFormat is `projects/{project}/topics/{topic}`.",
                  "location": "path",
                  "pattern": "^projects/[^/]+/topics/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1/{+topic}:publish",
              "request": {
                "$ref": "PublishRequest"
              },
              "response": {
                "$ref": "PublishResponse"
              },
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform",
                "https://www.googleapis.com/auth/pubsub"
              ]
            },
            "setIamPolicy": {
              "description": "Sets the access control policy on the specified resource. Replaces any\nexisting policy.\n\nCan return Public Errors: NOT_FOUND, INVALID_ARGUMENT and PERMISSION_DENIED",
              "flatPath": "v1/projects/{projectsId}/topics/{topicsId}:setIamPolicy",
              "httpMethod": "POST",
              "id": "pubsub.projects.topics.setIamPolicy",
              "parameterOrder": [
                "resource"
              ],
              "parameters": {
                "resource": {
                  "description": "REQUIRED: The resource for which the policy is being specified.\nSee the operation documentation for the appropriate value for this field.",
                  "location": "path",
                  "pattern": "^projects/[^/]+/topics/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1/{+resource}:setIamPolicy",
              "request": {
                "$ref": "SetIamPolicyRequest"
              },
              "response": {
                "$ref": "Policy"
              },
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform",
                "https://www.googleapis.com/auth/pubsub"
              ]
            },
            "testIamPermissions": {
              "description": "Returns permissions that a caller has on the specified resource.\nIf the resource does not exist, this will return an empty set of\npermissions, not a NOT_FOUND error.\n\nNote: This operation is designed to be used for building permission-aware\nUIs and command-line tools, not for authorization checking. This operation\nmay \"fail open\" without warning.",
              "flatPath": "v1/projects/{projectsId}/topics/{topicsId}:testIamPermissions",
              "httpMethod": "POST",
              "id": "pubsub.projects.topics.testIamPermissions",
              "parameterOrder": [
                "resource"
              ],
              "parameters": {
                "resource": {
                  "description": "REQUIRED: The resource for which the policy detail is being requested.\nSee the operation documentation for the appropriate value for this field.",
                  "location": "path",
                  "pattern": "^projects/[^/]+/topics/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1/{+resource}:testIamPermissions",
              "request": {
                "$ref": "TestIamPermissionsRequest"
              },
              "response": {
                "$ref": "TestIamPermissionsResponse"
              },
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform",
                "https://www.googleapis.com/auth/pubsub"
              ]
            }
          },
          "resources": {
            "snapshots": {
              "methods": {
                "list": {
                  "description": "Lists the names of the snapshots on this topic. Snapshots are used in\n\u003ca href=\"https://cloud.google.com/pubsub/docs/replay-overview\"\u003eSeek\u003c/a\u003e\noperations, which allow\nyou to manage message acknowledgments in bulk. That is, you can set the\nacknowledgment state of messages in an existing subscription to the state\ncaptured by a snapshot.",
                  "flatPath": "v1/projects/{projectsId}/topics/{topicsId}/snapshots",
                  "httpMethod": "GET",
                  "id": "pubsub.projects.topics.snapshots.list",
                  "parameterOrder": [
                    "topic"
                  ],
                  "parameters": {
                    "pageSize": {
                      "description": "Maximum number of snapshot names to return.",
                      "format": "int32",
                      "location": "query",
                      "type": "integer"
                    },
                    "pageToken": {
                      "description": "The value returned by the last `ListTopicSnapshotsResponse`; indicates\nthat this is a continuation of a prior `ListTopicSnapshots` call, and\nthat the system should return the next page of data.",
                      "location": "query",
                      "type": "string"
                    },
                    "topic": {
                      "description": "The name of the topic that snapshots are attached to.\nFormat is `projects/{project}/topics/{topic}`.",
                      "location": "path",
                      "pattern": "^projects/[^/]+/topics/[^/]+$",
                      "required": true,
                      "type": "string"
                    }
                  },
                  "path": "v1/{+topic}/snapshots",
                  "response": {
                    "$ref": "ListTopicSnapshotsResponse"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/pubsub"
                  ]
                }
              }
            },
            "subscriptions": {
              "methods": {
                "list": {
                  "description": "Lists the names of the subscriptions on this topic.",
                  "flatPath": "v1/projects/{projectsId}/topics/{topicsId}/subscriptions",
                  "httpMethod": "GET",
                  "id": "pubsub.projects.topics.subscriptions.list",
                  "parameterOrder": [
                    "topic"
                  ],
                  "parameters": {
                    "pageSize": {
                      "description": "Maximum number of subscription names to return.",
                      "format": "int32",
                      "location": "query",
                      "type": "integer"
                    },
                    "pageToken": {
                      "description": "The value returned by the last `ListTopicSubscriptionsResponse`; indicates\nthat this is a continuation of a prior `ListTopicSubscriptions` call, and\nthat the system should return the next page of data.",
                      "location": "query",
                      "type": "string"
                    },
                    "topic": {
                      "description": "The name of the topic that subscriptions are attached to.\nFormat is `projects/{project}/topics/{topic}`.",
                      "location": "path",
                      "pattern": "^projects/[^/]+/topics/[^/]+$",
                      "required": true,
                      "type": "string"
                    }
                  },
                  "path": "v1/{+topic}/subscriptions",
                  "response": {
                    "$ref": "ListTopicSubscriptionsResponse"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/pubsub"
                  ]
                }
              }
            }
          }
        }
      }
    }
  },
  "revision": "20191203",
  "rootUrl": "https://pubsub.googleapis.com/",
  "schemas": {
    "AcknowledgeRequest": {
      "description": "Request for the Acknowledge method.",
      "id": "AcknowledgeRequest",
      "properties": {
        "ackIds": {
          "description": "The acknowledgment ID for the messages being acknowledged that was returned\nby the Pub/Sub system in the `Pull` response. Must not be empty.",
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "Binding": {
      "description": "Associates `members` with a `role`.",
      "id": "Binding",
      "properties": {
        "condition": {
          "$ref": "Expr",
          "description": "The condition that is associated with this binding.\nNOTE: An unsatisfied condition will not allow user access via current\nbinding. Different bindings, including their conditions, are examined\nindependently."
        },
        "members": {
          "description": "Specifies the identities requesting access for a Cloud Platform resource.\n`members` can have the following values:\n\n* `allUsers`: A special identifier that represents anyone who is\n   on the internet; with or without a Google account.\n\n* `allAuthenticatedUsers`: A special identifier that represents anyone\n   who is authenticated with a Google account or a service account.\n\n* `user:{emailid}`: An email address that represents a specific Google\n   account. For example, `alice@example.com` .\n\n\n* `serviceAccount:{emailid}`: An email address that represents a service\n   account. For example, `my-other-app@appspot.gserviceaccount.com`.\n\n* `group:{emailid}`: An email address that represents a Google group.\n   For example, `admins@example.com`.\n\n* `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique\n   identifier) representing a user that has been recently deleted. For\n   example, `alice@example.com?uid=123456789012345678901`. If the user is\n   recovered, this value reverts to `user:{emailid}` and the recovered user\n   retains the role in the binding.\n\n* `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus\n   unique identifier) representing a service account that has been recently\n   deleted. For example,\n   `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`.\n   If the service account is undeleted, this value reverts to\n   `serviceAccount:{emailid}` and the undeleted service account retains the\n   role in the binding.\n\n* `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique\n   identifier) representing a Google group that has been recently\n   deleted. For example, `admins@example.com?uid=123456789012345678901`. If\n   the group is recovered, this value reverts to `group:{emailid}` and the\n   recovered group retains the role in the binding.\n\n\n* `domain:{domain}`: The G Suite domain (primary) that represents all the\n   users of that domain. For example, `google.com` or `example.com`.\n\n",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "role": {
          "description": "Role that is assigned to `members`.\nFor example, `roles/viewer`, `roles/editor`, or `roles/owner`.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "CreateSnapshotRequest": {
      "description": "Request for the `CreateSnapshot` method.",
      "id": "CreateSnapshotRequest",
      "properties": {
        "labels": {
          "additionalProperties": {
            "type": "string"
          },
          "description": "See \u003ca href=\"https://cloud.google.com/pubsub/docs/labels\"\u003e Creating and\nmanaging labels\u003c/a\u003e.",
          "type": "object"
        },
        "subscription": {
          "description": "The subscription whose backlog the snapshot retains.\nSpecifically, the created snapshot is guaranteed to retain:\n (a) The existing backlog on the subscription. More precisely, this is\n     defined as the messages in the subscription's backlog that are\n     unacknowledged upon the successful completion of the\n     `CreateSnapshot` request; as well as:\n (b) Any messages published to the subscription's topic following the\n     successful completion of the CreateSnapshot request.\nFormat is `projects/{project}/subscriptions/{sub}`.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "Empty": {
      "description": "A generic empty message that you can re-use to avoid defining duplicated\nempty messages in your APIs. A typical example is to use it as the request\nor the response type of an API method. For instance:\n\n    service Foo {\n      rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);\n    }\n\nThe JSON representation for `Empty` is empty JSON object `{}`.",
      "id": "Empty",
      "properties": {},
      "type": "object"
    },
    "ExpirationPolicy": {
      "description": "A policy that specifies the conditions for resource expiration (i.e.,\nautomatic resource deletion).",
      "id": "ExpirationPolicy",
      "properties": {
        "ttl": {
          "description": "Specifies the \"time-to-live\" duration for an associated resource. The\nresource expires if it is not active for a period of `ttl`. The definition\nof \"activity\" depends on the type of the associated resource. The minimum\nand maximum allowed values for `ttl` depend on the type of the associated\nresource, as well. If `ttl` is not set, the associated resource never\nexpires.",
          "format": "google-duration",
          "type": "string"
        }
      },
      "type": "object"
    },
    "Expr": {
      "description": "Represents an expression text. Example:\n\n    title: \"User account presence\"\n    description: \"Determines whether the request has a user account\"\n    expression: \"size(request.user) \u003e 0\"",
      "id": "Expr",
      "properties": {
        "description": {
          "description": "An optional description of the expression. This is a longer text which\ndescribes the expression, e.g. when hovered over it in a UI.",
          "type": "string"
        },
        "expression": {
          "description": "Textual representation of an expression in\nCommon Expression Language syntax.\n\nThe application context of the containing message determines which\nwell-known feature set of CEL is supported.",
          "type": "string"
        },
        "location": {
          "description": "An optional string indicating the location of the expression for error\nreporting, e.g. a file name and a position in the file.",
          "type": "string"
        },
        "title": {
          "description": "An optional title for the expression, i.e. a short string describing\nits purpose. This can be used e.g. in UIs which allow to enter the\nexpression.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "ListSnapshotsResponse": {
      "description": "Response for the `ListSnapshots` method.",
      "id": "ListSnapshotsResponse",
      "properties": {
        "nextPageToken": {
          "description": "If not empty, indicates that there may be more snapshot that match the\nrequest; this value should be passed in a new `ListSnapshotsRequest`.",
          "type": "string"
        },
        "snapshots": {
          "description": "The resulting snapshots.",
          "items": {
            "$ref": "Snapshot"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "ListSubscriptionsResponse": {
      "description": "Response for the `ListSubscriptions` method.",
      "id": "ListSubscriptionsResponse",
      "properties": {
        "nextPageToken": {
          "description": "If not empty, indicates that there may be more subscriptions that match\nthe request; this value should be passed in a new\n`ListSubscriptionsRequest` to get more subscriptions.",
          "type": "string"
        },
        "subscriptions": {
          "description": "The subscriptions that match the request.",
          "items": {
            "$ref": "Subscription"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "ListTopicSnapshotsResponse": {
      "description": "Response for the `ListTopicSnapshots` method.",
      "id": "ListTopicSnapshotsResponse",
      "properties": {
        "nextPageToken": {
          "description": "If not empty, indicates that there may be more snapshots that match\nthe request; this value should be passed in a new\n`ListTopicSnapshotsRequest` to get more snapshots.",
          "type": "string"
        },
        "snapshots": {
          "description": "The names of the snapshots that match the request.",
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "ListTopicSubscriptionsResponse": {
      "description": "Response for the `ListTopicSubscriptions` method.",
      "id": "ListTopicSubscriptionsResponse",
      "properties": {
        "nextPageToken": {
          "description": "If not empty, indicates that there may be more subscriptions that match\nthe request; this value should be passed in a new\n`ListTopicSubscriptionsRequest` to get more subscriptions.",
          "type": "string"
        },
        "subscriptions": {
          "description": "The names of the subscriptions that match the request.",
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "ListTopicsResponse": {
      "description": "Response for the `ListTopics` method.",
      "id": "ListTopicsResponse",
      "properties": {
        "nextPageToken": {
          "description": "If not empty, indicates that there may be more topics that match the\nrequest; this value should be passed in a new `ListTopicsRequest`.",
          "type": "string"
        },
        "topics": {
          "description": "The resulting topics.",
          "items": {
            "$ref": "Topic"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "MessageStoragePolicy": {
      "id": "MessageStoragePolicy",
      "properties": {
        "allowedPersistenceRegions": {
          "description": "A list of IDs of GCP regions where messages that are published to the topic\nmay be persisted in storage. Messages published by publishers running in\nnon-allowed GCP regions (or running outside of GCP altogether) will be\nrouted for storage in one of the allowed regions. An empty list means that\nno regions are allowed, and is not a valid configuration.",
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "ModifyAckDeadlineRequest": {
      "description": "Request for the ModifyAckDeadline method.",
      "id": "ModifyAckDeadlineRequest",
      "properties": {
        "ackDeadlineSeconds": {
          "description": "The new ack deadline with respect to the time this request was sent to\nthe Pub/Sub system. For example, if the value is 10, the new\nack deadline will expire 10 seconds after the `ModifyAckDeadline` call\nwas made. Specifying zero might immediately make the message available for\ndelivery to another subscriber client. This typically results in an\nincrease in the rate of message redeliveries (that is, duplicates).\nThe minimum deadline you can specify is 0 seconds.\nThe maximum deadline you can specify is 600 seconds (10 minutes).",
          "format": "int32",
          "type": "integer"
        },
        "ackIds": {
          "description": "List of acknowledgment IDs.",
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "ModifyPushConfigRequest": {
      "description": "Request for the ModifyPushConfig method.",
      "id": "ModifyPushConfigRequest",
      "properties": {
        "pushConfig": {
          "$ref": "PushConfig",
          "description": "The push configuration for future deliveries.\n\nAn empty `pushConfig` indicates that the Pub/Sub system should\nstop pushing messages from the given subscription and allow\nmessages to be pulled and acknowledged - effectively pausing\nthe subscription if `Pull` or `StreamingPull` is not called."
        }
      },
      "type": "object"
    },
    "OidcToken": {
      "description": "Contains information needed for generating an\n[OpenID Connect\ntoken](https://developers.google.com/identity/protocols/OpenIDConnect).",
      "id": "OidcToken",
      "properties": {
        "audience": {
          "description": "Audience to be used when generating OIDC token. The audience claim\nidentifies the recipients that the JWT is intended for. The audience\nvalue is a single case-sensitive string. Having multiple values (array)\nfor the audience field is not supported. More info about the OIDC JWT\ntoken audience here: https://tools.ietf.org/html/rfc7519#section-4.1.3\nNote: if not specified, the Push endpoint URL will be used.",
          "type": "string"
        },
        "serviceAccountEmail": {
          "description": "[Service account\nemail](https://cloud.google.com/iam/docs/service-accounts)\nto be used for generating the OIDC token. The caller (for\nCreateSubscription, UpdateSubscription, and ModifyPushConfig RPCs) must\nhave the iam.serviceAccounts.actAs permission for the service account.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "Policy": {
      "description": "An Identity and Access Management (IAM) policy, which specifies access\ncontrols for Google Cloud resources.\n\n\nA `Policy` is a collection of `bindings`. A `binding` binds one or more\n`members` to a single `role`. Members can be user accounts, service accounts,\nGoogle groups, and domains (such as G Suite). A `role` is a named list of\npermissions; each `role` can be an IAM predefined role or a user-created\ncustom role.\n\nOptionally, a `binding` can specify a `condition`, which is a logical\nexpression that allows access to a resource only if the expression evaluates\nto `true`. A condition can add constraints based on attributes of the\nrequest, the resource, or both.\n\n**JSON example:**\n\n    {\n      \"bindings\": [\n        {\n          \"role\": \"roles/resourcemanager.organizationAdmin\",\n          \"members\": [\n            \"user:mike@example.com\",\n            \"group:admins@example.com\",\n            \"domain:google.com\",\n            \"serviceAccount:my-project-id@appspot.gserviceaccount.com\"\n          ]\n        },\n        {\n          \"role\": \"roles/resourcemanager.organizationViewer\",\n          \"members\": [\"user:eve@example.com\"],\n          \"condition\": {\n            \"title\": \"expirable access\",\n            \"description\": \"Does not grant access after Sep 2020\",\n            \"expression\": \"request.time \u003c timestamp('2020-10-01T00:00:00.000Z')\",\n          }\n        }\n      ],\n      \"etag\": \"BwWWja0YfJA=\",\n      \"version\": 3\n    }\n\n**YAML example:**\n\n    bindings:\n    - members:\n      - user:mike@example.com\n      - group:admins@example.com\n      - domain:google.com\n      - serviceAccount:my-project-id@appspot.gserviceaccount.com\n      role: roles/resourcemanager.organizationAdmin\n    - members:\n      - user:eve@example.com\n      role: roles/resourcemanager.organizationViewer\n      condition:\n        title: expirable access\n        description: Does not grant access after Sep 2020\n        expression: request.time \u003c timestamp('2020-10-01T00:00:00.000Z')\n    - etag: BwWWja0YfJA=\n    - version: 3\n\nFor a description of IAM and its features, see the\n[IAM documentation](https://cloud.google.com/iam/docs/).",
      "id": "Policy",
      "properties": {
        "bindings": {
          "description": "Associates a list of `members` to a `role`. Optionally, may specify a\n`condition` that determines how and when the `bindings` are applied. Each\nof the `bindings` must contain at least one member.",
          "items": {
            "$ref": "Binding"
          },
          "type": "array"
        },
        "etag": {
          "description": "`etag` is used for optimistic concurrency control as a way to help\nprevent simultaneous updates of a policy from overwriting each other.\nIt is strongly suggested that systems make use of the `etag` in the\nread-modify-write cycle to perform policy updates in order to avoid race\nconditions: An `etag` is returned in the response to `getIamPolicy`, and\nsystems are expected to put that etag in the request to `setIamPolicy` to\nensure that their change will be applied to the same version of the policy.\n\n**Important:** If you use IAM Conditions, you must include the `etag` field\nwhenever you call `setIamPolicy`. If you omit this field, then IAM allows\nyou to overwrite a version `3` policy with a version `1` policy, and all of\nthe conditions in the version `3` policy are lost.",
          "format": "byte",
          "type": "string"
        },
        "version": {
          "description": "Specifies the format of the policy.\n\nValid values are `0`, `1`, and `3`. Requests that specify an invalid value\nare rejected.\n\nAny operation that affects conditional role bindings must specify version\n`3`. This requirement applies to the following operations:\n\n* Getting a policy that includes a conditional role binding\n* Adding a conditional role binding to a policy\n* Changing a conditional role binding in a policy\n* Removing any role binding, with or without a condition, from a policy\n  that includes conditions\n\n**Important:** If you use IAM Conditions, you must include the `etag` field\nwhenever you call `setIamPolicy`. If you omit this field, then IAM allows\nyou to overwrite a version `3` policy with a version `1` policy, and all of\nthe conditions in the version `3` policy are lost.\n\nIf a policy does not include any conditions, operations on that policy may\nspecify any valid version or leave the field unset.",
          "format": "int32",
          "type": "integer"
        }
      },
      "type": "object"
    },
    "PublishRequest": {
      "description": "Request for the Publish method.",
      "id": "PublishRequest",
      "properties": {
        "messages": {
          "description": "The messages to publish.",
          "items": {
            "$ref": "PubsubMessage"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "PublishResponse": {
      "description": "Response for the `Publish` method.",
      "id": "PublishResponse",
      "properties": {
        "messageIds": {
          "description": "The server-assigned ID of each published message, in the same order as\nthe messages in the request. IDs are guaranteed to be unique within\nthe topic.",
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "PubsubMessage": {
      "description": "A message that is published by publishers and consumed by subscribers. The\nmessage must contain either a non-empty data field or at least one attribute.\nNote that client libraries represent this object differently\ndepending on the language. See the corresponding\n\u003ca href=\"https://cloud.google.com/pubsub/docs/reference/libraries\"\u003eclient\nlibrary documentation\u003c/a\u003e for more information. See\n\u003ca href=\"https://cloud.google.com/pubsub/quotas\"\u003eQuotas and limits\u003c/a\u003e\nfor more information about message limits.",
      "id": "PubsubMessage",
      "properties": {
        "attributes": {
          "additionalProperties": {
            "type": "string"
          },
          "description": "Attributes for this message. If this field is empty, the message must\ncontain non-empty data.",
          "type": "object"
        },
        "data": {
          "description": "The message data field. If this field is empty, the message must contain\nat least one attribute.",
          "format": "byte",
          "type": "string"
        },
        "messageId": {
          "description": "ID of this message, assigned by the server when the message is published.\nGuaranteed to be unique within the topic. This value may be read by a\nsubscriber that receives a `PubsubMessage` via a `Pull` call or a push\ndelivery. It must not be populated by the publisher in a `Publish` call.",
          "type": "string"
        },
        "publishTime": {
          "description": "The time at which the message was published, populated by the server when\nit receives the `Publish` call. It must not be populated by the\npublisher in a `Publish` call.",
          "format": "google-datetime",
          "type": "string"
        }
      },
      "type": "object"
    },
    "PullRequest": {
      "description": "Request for the `Pull` method.",
      "id": "PullRequest",
      "properties": {
        "maxMessages": {
          "description": "The maximum number of messages to return for this request. Must be a\npositive integer. The Pub/Sub system may return fewer than the number\nspecified.",
          "format": "int32",
          "type": "integer"
        },
        "returnImmediately": {
          "description": "If this field set to true, the system will respond immediately even if\nit there are no messages available to return in the `Pull` response.\nOtherwise, the system may wait (for a bounded amount of time) until at\nleast one message is available, rather than returning no messages.",
          "type": "boolean"
        }
      },
      "type": "object"
    },
    "PullResponse": {
      "description": "Response for the `Pull` method.",
      "id": "PullResponse",
      "properties": {
        "receivedMessages": {
          "description": "Received Pub/Sub messages. The list will be empty if there are no more\nmessages available in the backlog. For JSON, the response can be entirely\nempty. The Pub/Sub system may return fewer than the `maxMessages` requested\neven if there are more messages available in the backlog.",
          "items": {
            "$ref": "ReceivedMessage"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "PushConfig": {
      "description": "Configuration for a push delivery endpoint.",
      "id": "PushConfig",
      "properties": {
        "attributes": {
          "additionalProperties": {
            "type": "string"
          },
          "description": "Endpoint configuration attributes that can be used to control different\naspects of the message delivery.\n\nThe only currently supported attribute is `x-goog-version`, which you can\nuse to change the format of the pushed message. This attribute\nindicates the version of the data expected by the endpoint. This\ncontrols the shape of the pushed message (i.e., its fields and metadata).\n\nIf not present during the `CreateSubscription` call, it will default to\nthe version of the Pub/Sub API used to make such call. If not present in a\n`ModifyPushConfig` call, its value will not be changed. `GetSubscription`\ncalls will always return a valid version, even if the subscription was\ncreated without this attribute.\n\nThe only supported values for the `x-goog-version` attribute are:\n\n* `v1beta1`: uses the push format defined in the v1beta1 Pub/Sub API.\n* `v1` or `v1beta2`: uses the push format defined in the v1 Pub/Sub API.\n\nFor example:\n\u003cpre\u003e\u003ccode\u003eattributes { \"x-goog-version\": \"v1\" } \u003c/code\u003e\u003c/pre\u003e",
          "type": "object"
        },
        "oidcToken": {
          "$ref": "OidcToken",
          "description": "If specified, Pub/Sub will generate and attach an OIDC JWT token as an\n`Authorization` header in the HTTP request for every pushed message."
        },
        "pushEndpoint": {
          "description": "A URL locating the endpoint to which messages should be pushed.\nFor example, a Webhook endpoint might use \"https://example.com/push\".",
          "type": "string"
        }
      },
      "type": "object"
    },
    "ReceivedMessage": {
      "description": "A message and its corresponding acknowledgment ID.",
      "id": "ReceivedMessage",
      "properties": {
        "ackId": {
          "description": "This ID can be used to acknowledge the received message.",
          "type": "string"
        },
        "message": {
          "$ref": "PubsubMessage",
          "description": "The message."
        }
      },
      "type": "object"
    },
    "SeekRequest": {
      "description": "Request for the `Seek` method.",
      "id": "SeekRequest",
      "properties": {
        "snapshot": {
          "description": "The snapshot to seek to. The snapshot's topic must be the same as that of\nthe provided subscription.\nFormat is `projects/{project}/snapshots/{snap}`.",
          "type": "string"
        },
        "time": {
          "description": "The time to seek to.\nMessages retained in the subscription that were published before this\ntime are marked as acknowledged, and messages retained in the\nsubscription that were published after this time are marked as\nunacknowledged. Note that this operation affects only those messages\nretained in the subscription (configured by the combination of\n`message_retention_duration` and `retain_acked_messages`). For example,\nif `time` corresponds to a point before the message retention\nwindow (or to a point before the system's notion of the subscription\ncreation time), only retained messages will be marked as unacknowledged,\nand already-expunged messages will not be restored.",
          "format": "google-datetime",
          "type": "string"
        }
      },
      "type": "object"
    },
    "SeekResponse": {
      "description": "Response for the `Seek` method (this response is empty).",
      "id": "SeekResponse",
      "properties": {},
      "type": "object"
    },
    "SetIamPolicyRequest": {
      "description": "Request message for `SetIamPolicy` method.",
      "id": "SetIamPolicyRequest",
      "properties": {
        "policy": {
          "$ref": "Policy",
          "description": "REQUIRED: The complete policy to be applied to the `resource`. The size of\nthe policy is limited to a few 10s of KB. An empty policy is a\nvalid policy but certain Cloud Platform services (such as Projects)\nmight reject them."
        }
      },
      "type": "object"
    },
    "Snapshot": {
      "description": "A snapshot resource. Snapshots are used in\n\u003ca href=\"https://cloud.google.com/pubsub/docs/replay-overview\"\u003eSeek\u003c/a\u003e\noperations, which allow\nyou to manage message acknowledgments in bulk. That is, you can set the\nacknowledgment state of messages in an existing subscription to the state\ncaptured by a snapshot.",
      "id": "Snapshot",
      "properties": {
        "expireTime": {
          "description": "The snapshot is guaranteed to exist up until this time.\nA newly-created snapshot expires no later than 7 days from the time of its\ncreation. Its exact lifetime is determined at creation by the existing\nbacklog in the source subscription. Specifically, the lifetime of the\nsnapshot is `7 days - (age of oldest unacked message in the subscription)`.\nFor example, consider a subscription whose oldest unacked message is 3 days\nold. If a snapshot is created from this subscription, the snapshot -- which\nwill always capture this 3-day-old backlog as long as the snapshot\nexists -- will expire in 4 days. The service will refuse to create a\nsnapshot that would expire in less than 1 hour after creation.",
          "format": "google-datetime",
          "type": "string"
        },
        "labels": {
          "additionalProperties": {
            "type": "string"
          },
          "description": "See \u003ca href=\"https://cloud.google.com/pubsub/docs/labels\"\u003e Creating and\nmanaging labels\u003c/a\u003e.",
          "type": "object"
        },
        "name": {
          "description": "The name of the snapshot.",
          "type": "string"
        },
        "topic": {
          "description": "The name of the topic from which this snapshot is retaining messages.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "Subscription": {
      "description": "A subscription resource.",
      "id": "Subscription",
      "properties": {
        "ackDeadlineSeconds": {
          "description": "The approximate amount of time (on a best-effort basis) Pub/Sub waits for\nthe subscriber to acknowledge receipt before resending the message. In the\ninterval after the message is delivered and before it is acknowledged, it\nis considered to be \u003ci\u003eoutstanding\u003c/i\u003e. During that time period, the\nmessage will not be redelivered (on a best-effort basis).\n\nFor pull subscriptions, this value is used as the initial value for the ack\ndeadline. To override this value for a given message, call\n`ModifyAckDeadline` with the corresponding `ack_id` if using\nnon-streaming pull or send the `ack_id` in a\n`StreamingModifyAckDeadlineRequest` if using streaming pull.\nThe minimum custom deadline you can specify is 10 seconds.\nThe maximum custom deadline you can specify is 600 seconds (10 minutes).\nIf this parameter is 0, a default value of 10 seconds is used.\n\nFor push delivery, this value is also used to set the request timeout for\nthe call to the push endpoint.\n\nIf the subscriber never acknowledges the message, the Pub/Sub\nsystem will eventually redeliver the message.",
          "format": "int32",
          "type": "integer"
        },
        "expirationPolicy": {
          "$ref": "ExpirationPolicy",
          "description": "A policy that specifies the conditions for this subscription's expiration.\nA subscription is considered active as long as any connected subscriber is\nsuccessfully consuming messages from the subscription or is issuing\noperations on the subscription. If `expiration_policy` is not set, a\n*default policy* with `ttl` of 31 days will be used. The minimum allowed\nvalue for `expiration_policy.ttl` is 1 day."
        },
        "labels": {
          "additionalProperties": {
            "type": "string"
          },
          "description": "See \u003ca href=\"https://cloud.google.com/pubsub/docs/labels\"\u003e Creating and\nmanaging labels\u003c/a\u003e.",
          "type": "object"
        },
        "messageRetentionDuration": {
          "description": "How long to retain unacknowledged messages in the subscription's backlog,\nfrom the moment a message is published.\nIf `retain_acked_messages` is true, then this also configures the retention\nof acknowledged messages, and thus configures how far back in time a `Seek`\ncan be done. Defaults to 7 days. Cannot be more than 7 days or less than 10\nminutes.",
          "format": "google-duration",
          "type": "string"
        },
        "name": {
          "description": "The name of the subscription. It must have the format\n`\"projects/{project}/subscriptions/{subscription}\"`. `{subscription}` must\nstart with a letter, and contain only letters (`[A-Za-z]`), numbers\n(`[0-9]`), dashes (`-`), underscores (`_`), periods (`.`), tildes (`~`),\nplus (`+`) or percent signs (`%`). It must be between 3 and 255 characters\nin length, and it must not start with `\"goog\"`.",
          "type": "string"
        },
        "pushConfig": {
          "$ref": "PushConfig",
          "description": "If push delivery is used with this subscription, this field is\nused to configure it. An empty `pushConfig` signifies that the subscriber\nwill pull and ack messages using API methods."
        },
        "retainAckedMessages": {
          "description": "Indicates whether to retain acknowledged messages. If true, then\nmessages are not expunged from the subscription's backlog, even if they are\nacknowledged, until they fall out of the `message_retention_duration`\nwindow. This must be true if you would like to\n\u003ca\nhref=\"https://cloud.google.com/pubsub/docs/replay-overview#seek_to_a_time\"\u003e\nSeek to a timestamp\u003c/a\u003e.",
          "type": "boolean"
        },
        "topic": {
          "description": "The name of the topic from which this subscription is receiving messages.\nFormat is `projects/{project}/topics/{topic}`.\nThe value of this field will be `_deleted-topic_` if the topic has been\ndeleted.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "TestIamPermissionsRequest": {
      "description": "Request message for `TestIamPermissions` method.",
      "id": "TestIamPermissionsRequest",
      "properties": {
        "permissions": {
          "description": "The set of permissions to check for the `resource`. Permissions with\nwildcards (such as '*' or 'storage.*') are not allowed. For more\ninformation see\n[IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).",
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "TestIamPermissionsResponse": {
      "description": "Response message for `TestIamPermissions` method.",
      "id": "TestIamPermissionsResponse",
      "properties": {
        "permissions": {
          "description": "A subset of `TestPermissionsRequest.permissions` that the caller is\nallowed.",
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "Topic": {
      "description": "A topic resource.",
      "id": "Topic",
      "properties": {
        "kmsKeyName": {
          "description": "The resource name of the Cloud KMS CryptoKey to be used to protect access\nto messages published on this topic.\n\nThe expected format is `projects/*/locations/*/keyRings/*/cryptoKeys/*`.",
          "type": "string"
        },
        "labels": {
          "additionalProperties": {
            "type": "string"
          },
          "description": "See \u003ca href=\"https://cloud.google.com/pubsub/docs/labels\"\u003e Creating and\nmanaging labels\u003c/a\u003e.",
          "type": "object"
        },
        "messageStoragePolicy": {
          "$ref": "MessageStoragePolicy",
          "description": "Policy constraining the set of Google Cloud Platform regions where messages\npublished to the topic may be stored. If not present, then no constraints\nare in effect."
        },
        "name": {
          "description": "The name of the topic. It must have the format\n`\"projects/{project}/topics/{topic}\"`. `{topic}` must start with a letter,\nand contain only letters (`[A-Za-z]`), numbers (`[0-9]`), dashes (`-`),\nunderscores (`_`), periods (`.`), tildes (`~`), plus (`+`) or percent\nsigns (`%`). It must be between 3 and 255 characters in length, and it\nmust not start with `\"goog\"`.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "UpdateSnapshotRequest": {
      "description": "Request for the UpdateSnapshot method.",
      "id": "UpdateSnapshotRequest",
      "properties": {
        "snapshot": {
          "$ref": "Snapshot",
          "description": "The updated snapshot object."
        },
        "updateMask": {
          "description": "Indicates which fields in the provided snapshot to update.\nMust be specified and non-empty.",
          "format": "google-fieldmask",
          "type": "string"
        }
      },
      "type": "object"
    },
    "UpdateSubscriptionRequest": {
      "description": "Request for the UpdateSubscription method.",
      "id": "UpdateSubscriptionRequest",
      "properties": {
        "subscription": {
          "$ref": "Subscription",
          "description": "The updated subscription object."
        },
        "updateMask": {
          "description": "Indicates which fields in the provided subscription to update.\nMust be specified and non-empty.",
          "format": "google-fieldmask",
          "type": "string"
        }
      },
      "type": "object"
    },
    "UpdateTopicRequest": {
      "description": "Request for the UpdateTopic method.",
      "id": "UpdateTopicRequest",
      "properties": {
        "topic": {
          "$ref": "Topic",
          "description": "The updated topic object."
        },
        "updateMask": {
          "description": "Indicates which fields in the provided topic to update. Must be specified\nand non-empty. Note that if `update_mask` contains\n\"message_storage_policy\" then the new value will be determined based on the\npolicy configured at the project or organization level. The\n`message_storage_policy` must not be set in the `topic` provided above.",
          "format": "google-fieldmask",
          "type": "string"
        }
      },
      "type": "object"
    }
  },
  "servicePath": "",
  "title": "Cloud Pub/Sub API",
  "version": "v1"
}