From 025a330c05c8db52abcfda545117b17c18afb89d Mon Sep 17 00:00:00 2001 From: diegomarquezp Date: Mon, 27 May 2024 19:31:50 +0000 Subject: [PATCH 01/18] feat: enable hermetic library generation --- .../{.OwlBot.yaml => .OwlBot-hermetic.yaml} | 0 .../hermetic_library_generation.yaml | 39 ++++++ .../update_googleapis_committish.yaml | 42 ++++++ generation/hermetic_library_generation.sh | 125 ++++++++++++++++++ generation/update_googleapis_committish.sh | 92 +++++++++++++ generation_config.yaml | 33 +++++ 6 files changed, 331 insertions(+) rename .github/{.OwlBot.yaml => .OwlBot-hermetic.yaml} (100%) create mode 100644 .github/workflows/hermetic_library_generation.yaml create mode 100644 .github/workflows/update_googleapis_committish.yaml create mode 100644 generation/hermetic_library_generation.sh create mode 100644 generation/update_googleapis_committish.sh create mode 100644 generation_config.yaml diff --git a/.github/.OwlBot.yaml b/.github/.OwlBot-hermetic.yaml similarity index 100% rename from .github/.OwlBot.yaml rename to .github/.OwlBot-hermetic.yaml diff --git a/.github/workflows/hermetic_library_generation.yaml b/.github/workflows/hermetic_library_generation.yaml new file mode 100644 index 000000000..a7e05557b --- /dev/null +++ b/.github/workflows/hermetic_library_generation.yaml @@ -0,0 +1,39 @@ +# Copyright 2024 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# GitHub action job to test core java library features on +# downstream client libraries before they are released. +name: Hermetic library generation upon generation config change through pull requests +on: + pull_request: + +jobs: + library_generation: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + with: + fetch-depth: 0 + token: ${{ secrets.CLOUD_JAVA_BOT_TOKEN }} + - name: Generate changed libraries + shell: bash + run: | + set -x + [ -z "$(git config user.email)" ] && git config --global user.email "cloud-java-bot@google.com" + [ -z "$(git config user.name)" ] && git config --global user.name "cloud-java-bot" + bash generation/hermetic_library_generation.sh \ + --target_branch ${{ github.base_ref }} \ + --current_branch ${{ github.head_ref }} \ + --image_tag $(cat generation_config.yaml | yq .gapic_generator_version) + env: + GH_TOKEN: ${{ secrets.CLOUD_JAVA_BOT_TOKEN }} diff --git a/.github/workflows/update_googleapis_committish.yaml b/.github/workflows/update_googleapis_committish.yaml new file mode 100644 index 000000000..aac08d039 --- /dev/null +++ b/.github/workflows/update_googleapis_committish.yaml @@ -0,0 +1,42 @@ +# Copyright 2024 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# GitHub action job to test core java library features on +# downstream client libraries before they are released. +name: Update googleapis commit +on: + schedule: + - cron: '0 2 * * *' + workflow_dispatch: + +jobs: + update-googleapis-committish: + runs-on: ubuntu-22.04 + env: + # the branch into which the pull request is merged + base_branch: main + steps: + - uses: actions/checkout@v4 + with: + token: ${{ secrets.CLOUD_JAVA_BOT_TOKEN }} + - name: Update googleapis committish to latest + shell: bash + run: | + set -x + [ -z "$(git config user.email)" ] && git config --global user.email "cloud-java-bot@google.com" + [ -z "$(git config user.name)" ] && git config --global user.name "cloud-java-bot" + bash generation/update_googleapis_committish.sh \ + --base_branch "${base_branch}"\ + --repo ${{ github.repository }} + env: + GH_TOKEN: ${{ secrets.CLOUD_JAVA_BOT_TOKEN }} diff --git a/generation/hermetic_library_generation.sh b/generation/hermetic_library_generation.sh new file mode 100644 index 000000000..f425d9c12 --- /dev/null +++ b/generation/hermetic_library_generation.sh @@ -0,0 +1,125 @@ +#!/bin/bash +set -e +# This script should be run at the root of the repository. +# This script is used to, when a pull request changes the generation +# configuration (generation_config.yaml by default): +# 1. Find whether the last commit in this pull request contains changes to +# the generation configuration and exit early if it doesn't have such a change +# since the generation result would be the same. +# 2. Compare generation configurations in the current branch (with which the +# pull request associated) and target branch (into which the pull request is +# merged); +# 3. Generate changed libraries using library_generation image; +# 4. Commit the changes to the pull request, if any. +# 5. Edit the PR body with generated pull request description, if applicable. + +# The following commands need to be installed before running the script: +# 1. git +# 2. gh +# 3. docker + +# The parameters of this script is: +# 1. target_branch, the branch into which the pull request is merged. +# 2. current_branch, the branch with which the pull request is associated. +# 3. image_tag, the tag of gcr.io/cloud-devrel-public-resources/java-library-generation. +# 3. [optional] generation_config, the path to the generation configuration, +# the default value is generation_config.yaml in the repository root. +while [[ $# -gt 0 ]]; do +key="$1" +case "${key}" in + --target_branch) + target_branch="$2" + shift + ;; + --current_branch) + current_branch="$2" + shift + ;; + --image_tag) + image_tag="$2" + shift + ;; + --generation_config) + generation_config="$2" + shift + ;; + *) + echo "Invalid option: [$1]" + exit 1 + ;; +esac +shift +done + +if [ -z "${target_branch}" ]; then + echo "missing required argument --target_branch" + exit 1 +fi + +if [ -z "${current_branch}" ]; then + echo "missing required argument --current_branch" + exit 1 +fi + +if [ -z "${image_tag}" ]; then + echo "missing required argument --image_tag" + exit 1 +fi + +if [ -z "${generation_config}" ]; then + generation_config=generation_config.yaml + echo "Use default generation config: ${generation_config}" +fi + +workspace_name="/workspace" +baseline_generation_config="baseline_generation_config.yaml" +message="chore: generate libraries at $(date)" + +git checkout "${target_branch}" +git checkout "${current_branch}" +# if the last commit doesn't contain changes to generation configuration, +# do not generate again as the result will be the same. +change_of_last_commit="$(git diff-tree --no-commit-id --name-only HEAD~1..HEAD -r)" +if [[ ! ("${change_of_last_commit}" == *"${generation_config}"*) ]]; then + echo "The last commit doesn't contain any changes to the generation_config.yaml, skipping the whole generation process." || true + exit 0 +fi +# copy generation configuration from target branch to current branch. +git show "${target_branch}":"${generation_config}" > "${baseline_generation_config}" +config_diff=$(diff "${generation_config}" "${baseline_generation_config}" || true) + +# run hermetic code generation docker image. +docker run \ + --rm \ + -u "$(id -u):$(id -g)" \ + -v "$(pwd):${workspace_name}" \ + -v "${HOME}/.m2:/home/.m2" \ + gcr.io/cloud-devrel-public-resources/java-library-generation:"${image_tag}" \ + --baseline-generation-config-path="${workspace_name}/${baseline_generation_config}" \ + --current-generation-config-path="${workspace_name}/${generation_config}" + + +# commit the change to the pull request. +if [[ $(basename $(pwd)) == "google-cloud-java" ]]; then + git add java-* pom.xml gapic-libraries-bom/pom.xml versions.txt +else + # The image leaves intermediate folders and files it works with. Here we remove them + rm -rdf output googleapis baseline_generation_config.yaml pr_description.txt + git add . +fi +changed_files=$(git diff --cached --name-only) +if [[ "${changed_files}" == "" ]]; then + echo "There is no generated code change with the generation config change ${config_diff}." + echo "Skip committing to the pull request." + exit 0 +fi + +echo "Configuration diff:" +echo "${config_diff}" +git commit -m "${message}" +git push +# set pr body if pr_description.txt is generated. +if [[ -f "pr_description.txt" ]]; then + pr_num=$(gh pr list -s open -H "${current_branch}" -q . --json number | jq ".[] | .number") + gh pr edit "${pr_num}" --body "$(cat pr_description.txt)" +fi diff --git a/generation/update_googleapis_committish.sh b/generation/update_googleapis_committish.sh new file mode 100644 index 000000000..5dfcaba56 --- /dev/null +++ b/generation/update_googleapis_committish.sh @@ -0,0 +1,92 @@ +#!/bin/bash +set -e +# This script should be run at the root of the repository. +# This script is used to update googleapis committish to latest in generation +# configuration at the time of running and create a pull request. + +# The following commands need to be installed before running the script: +# 1. git +# 2. gh + +# The parameters of this script is: +# 1. base_branch, the base branch of the result pull request. +# 2. repo, organization/repo-name, e.g., googleapis/google-cloud-java +# 3. [optional] generation_config, the path to the generation configuration, +# the default value is generation_config.yaml in the repository root. +while [[ $# -gt 0 ]]; do +key="$1" +case "${key}" in + --base_branch) + base_branch="$2" + shift + ;; + --repo) + repo="$2" + shift + ;; + --generation_config) + generation_config="$2" + shift + ;; + *) + echo "Invalid option: [$1]" + exit 1 + ;; +esac +shift +done + +if [ -z "${base_branch}" ]; then + echo "missing required argument --base_branch" + exit 1 +fi + +if [ -z "${repo}" ]; then + echo "missing required argument --repo" + exit 1 +fi + +if [ -z "${generation_config}" ]; then + generation_config="generation_config.yaml" + echo "Use default generation config: ${generation_config}" +fi + +current_branch="generate-libraries-${base_branch}" +title="chore: update googleapis committish at $(date)" + +# try to find a open pull request associated with the branch +pr_num=$(gh pr list -s open -H "${current_branch}" -q . --json number | jq ".[] | .number") +# create a branch if there's no open pull request associated with the +# branch; otherwise checkout the pull request. +if [ -z "${pr_num}" ]; then + git checkout -b "${current_branch}" +else + gh pr checkout "${pr_num}" +fi + +mkdir tmp-googleapis +# use partial clone because only commit history is needed. +git clone --filter=blob:none https://github.com/googleapis/googleapis.git tmp-googleapis +pushd tmp-googleapis +git pull +latest_commit=$(git rev-parse HEAD) +popd +rm -rf tmp-googleapis +sed -i -e "s/^googleapis_commitish.*$/googleapis_commitish: ${latest_commit}/" "${generation_config}" + +git add "${generation_config}" +changed_files=$(git diff --cached --name-only) +if [[ "${changed_files}" == "" ]]; then + echo "The latest googleapis commit is not changed." + echo "Skip committing to the pull request." + exit 0 +fi +git commit -m "${title}" +if [ -z "${pr_num}" ]; then + git remote add remote_repo https://cloud-java-bot:"${GH_TOKEN}@github.com/${repo}.git" + git fetch -q --unshallow remote_repo + git push -f remote_repo "${current_branch}" + gh pr create --title "${title}" --head "${current_branch}" --body "${title}" --base "${base_branch}" +else + git push +fi diff --git a/generation_config.yaml b/generation_config.yaml new file mode 100644 index 000000000..4cea63eb1 --- /dev/null +++ b/generation_config.yaml @@ -0,0 +1,33 @@ +gapic_generator_version: 2.40.1 +protoc_version: '25.2' +googleapis_commitish: 6f289d775912966eb0cf04bda91e5e355c998d30 +libraries_bom_version: 26.38.0 +template_excludes: + - ".github/workflows/samples.yaml" + - ".kokoro/build.sh" + - ".github/sync-repo-settings.yaml" + - ".github/blunderbuss.yml" + - '.kokoro/requirements.in' + - '.kokoro/requirements.txt' + - '.kokoro/presubmit/graalvm-native.cfg' + - '.kokoro/presubmit/graalvm-native-17.cfg' +ibraries: + - api_shortname: "pubsub" + name_pretty: "Cloud Pub/Sub" + api_reference: "https://cloud.google.com/pubsub/" + product_documentation: "https://cloud.google.com/pubsub/docs/" + client_documentation: "https://cloud.google.com/java/docs/reference/google-cloud-pubsub/latest/history" + api_description: "is designed to provide reliable, many-to-many, asynchronous messaging between applications. Publisher applications can send messages to a topic and other applications can subscribe to that topic to receive the messages. By decoupling senders and receivers, Google Cloud Pub/Sub allows developers to communicate between independently written applications." + issue_tracker: "https://issuetracker.google.com/savedsearches/559741" + release_level: "stable" + language: "java" + repo: "googleapis/java-pubsub" + repo_short: "java-pubsub" + distribution_name: "com.google.cloud:google-cloud-pubsub" + codeowner_team: "@googleapis/api-pubsub" + api_id: "pubsub.googleapis.com" + library_type: "GAPIC_COMBO" + requires_billing: true + recommended_package: "com.google.cloud.pubsub.v1" + GAPICs: + - proto_path: google/pubsub/v1 From a90c17bdc18fc029c6b30a9186419e5966286d42 Mon Sep 17 00:00:00 2001 From: diegomarquezp Date: Mon, 27 May 2024 20:47:57 +0000 Subject: [PATCH 02/18] fix config yaml syntax --- generation_config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/generation_config.yaml b/generation_config.yaml index 4cea63eb1..69d385ed4 100644 --- a/generation_config.yaml +++ b/generation_config.yaml @@ -30,4 +30,4 @@ ibraries: requires_billing: true recommended_package: "com.google.cloud.pubsub.v1" GAPICs: - - proto_path: google/pubsub/v1 + - proto_path: google/pubsub/v1 From 7e6f191800b7ee599e12bd762ee31980115c85ca Mon Sep 17 00:00:00 2001 From: diegomarquezp Date: Tue, 28 May 2024 00:08:47 +0000 Subject: [PATCH 03/18] do not map runners home folder --- generation/hermetic_library_generation.sh | 1 - 1 file changed, 1 deletion(-) diff --git a/generation/hermetic_library_generation.sh b/generation/hermetic_library_generation.sh index f425d9c12..9464642d9 100644 --- a/generation/hermetic_library_generation.sh +++ b/generation/hermetic_library_generation.sh @@ -93,7 +93,6 @@ docker run \ --rm \ -u "$(id -u):$(id -g)" \ -v "$(pwd):${workspace_name}" \ - -v "${HOME}/.m2:/home/.m2" \ gcr.io/cloud-devrel-public-resources/java-library-generation:"${image_tag}" \ --baseline-generation-config-path="${workspace_name}/${baseline_generation_config}" \ --current-generation-config-path="${workspace_name}/${generation_config}" From 86e48f2f92755a45816b31fef3741b5c88d8b7a9 Mon Sep 17 00:00:00 2001 From: diegomarquezp Date: Tue, 28 May 2024 00:24:33 +0000 Subject: [PATCH 04/18] try dummy proto_path --- generation_config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/generation_config.yaml b/generation_config.yaml index 69d385ed4..516297946 100644 --- a/generation_config.yaml +++ b/generation_config.yaml @@ -11,7 +11,7 @@ template_excludes: - '.kokoro/requirements.txt' - '.kokoro/presubmit/graalvm-native.cfg' - '.kokoro/presubmit/graalvm-native-17.cfg' -ibraries: +libraries: - api_shortname: "pubsub" name_pretty: "Cloud Pub/Sub" api_reference: "https://cloud.google.com/pubsub/" From 779eacb8370d57fa73ae745a61e988b47d78c570 Mon Sep 17 00:00:00 2001 From: diegomarquezp Date: Tue, 28 May 2024 00:39:48 +0000 Subject: [PATCH 05/18] use copyright update comittish --- generation_config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/generation_config.yaml b/generation_config.yaml index 516297946..507f659dc 100644 --- a/generation_config.yaml +++ b/generation_config.yaml @@ -1,6 +1,6 @@ gapic_generator_version: 2.40.1 protoc_version: '25.2' -googleapis_commitish: 6f289d775912966eb0cf04bda91e5e355c998d30 +googleapis_committish: 3597f7db2191c00b100400991ef96e52d62f5841 libraries_bom_version: 26.38.0 template_excludes: - ".github/workflows/samples.yaml" From 114c0e071f412e7212b3def98836268d125e6465 Mon Sep 17 00:00:00 2001 From: diegomarquezp Date: Tue, 28 May 2024 00:41:57 +0000 Subject: [PATCH 06/18] correct proto_path --- generation_config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/generation_config.yaml b/generation_config.yaml index 507f659dc..516297946 100644 --- a/generation_config.yaml +++ b/generation_config.yaml @@ -1,6 +1,6 @@ gapic_generator_version: 2.40.1 protoc_version: '25.2' -googleapis_committish: 3597f7db2191c00b100400991ef96e52d62f5841 +googleapis_commitish: 6f289d775912966eb0cf04bda91e5e355c998d30 libraries_bom_version: 26.38.0 template_excludes: - ".github/workflows/samples.yaml" From 0e296b23ec9ff0db104d9122cf06f2499128c136 Mon Sep 17 00:00:00 2001 From: diegomarquezp Date: Tue, 28 May 2024 14:29:04 +0000 Subject: [PATCH 07/18] update protoc --- generation_config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/generation_config.yaml b/generation_config.yaml index 516297946..f040d1994 100644 --- a/generation_config.yaml +++ b/generation_config.yaml @@ -1,5 +1,5 @@ gapic_generator_version: 2.40.1 -protoc_version: '25.2' +protoc_version: '25.3' googleapis_commitish: 6f289d775912966eb0cf04bda91e5e355c998d30 libraries_bom_version: 26.38.0 template_excludes: From 2c12e0ede11b771c485e9984ea1c52932cc3ef12 Mon Sep 17 00:00:00 2001 From: diegomarquezp Date: Wed, 29 May 2024 21:32:33 +0000 Subject: [PATCH 08/18] preserve pr_description --- generation/hermetic_library_generation.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/generation/hermetic_library_generation.sh b/generation/hermetic_library_generation.sh index 9464642d9..d7e55e3c6 100644 --- a/generation/hermetic_library_generation.sh +++ b/generation/hermetic_library_generation.sh @@ -103,8 +103,8 @@ if [[ $(basename $(pwd)) == "google-cloud-java" ]]; then git add java-* pom.xml gapic-libraries-bom/pom.xml versions.txt else # The image leaves intermediate folders and files it works with. Here we remove them - rm -rdf output googleapis baseline_generation_config.yaml pr_description.txt - git add . + rm -rdf output googleapis "${baseline_generation_config}" + git add --all -- ':!pr_description.txt' fi changed_files=$(git diff --cached --name-only) if [[ "${changed_files}" == "" ]]; then From dfe513b338c5002044071937ac39e90ec3a25b33 Mon Sep 17 00:00:00 2001 From: diegomarquezp Date: Tue, 4 Jun 2024 20:50:24 +0000 Subject: [PATCH 09/18] update gapic_generator_version to 2.41.0 --- .repo-metadata.json | 10 +- README.md | 12 +- generation_config.yaml | 2 +- .../google/pubsub/v1/CloudStorageConfig.java | 232 +-------- .../v1/CloudStorageConfigOrBuilder.java | 29 -- .../v1/IngestionDataSourceSettings.java | 4 +- .../com/google/pubsub/v1/PubsubProto.java | 442 +++++++++--------- .../com/google/pubsub/v1/PullRequest.java | 8 +- .../pubsub/v1/PullRequestOrBuilder.java | 2 +- .../main/proto/google/pubsub/v1/pubsub.proto | 9 +- .../main/proto/google/pubsub/v1/schema.proto | 2 +- renovate.json | 4 +- 12 files changed, 264 insertions(+), 492 deletions(-) diff --git a/.repo-metadata.json b/.repo-metadata.json index f30706ceb..7e7843024 100644 --- a/.repo-metadata.json +++ b/.repo-metadata.json @@ -1,19 +1,19 @@ { "api_shortname": "pubsub", "name_pretty": "Cloud Pub/Sub", - "api_reference": "https://cloud.google.com/pubsub/", "product_documentation": "https://cloud.google.com/pubsub/docs/", - "client_documentation": "https://cloud.google.com/java/docs/reference/google-cloud-pubsub/latest/history", "api_description": "is designed to provide reliable, many-to-many, asynchronous messaging between applications. Publisher applications can send messages to a topic and other applications can subscribe to that topic to receive the messages. By decoupling senders and receivers, Google Cloud Pub/Sub allows developers to communicate between independently written applications.", - "issue_tracker": "https://issuetracker.google.com/savedsearches/559741", + "client_documentation": "https://cloud.google.com/java/docs/reference/google-cloud-pubsub/latest/history", "release_level": "stable", + "transport": "both", "language": "java", "repo": "googleapis/java-pubsub", "repo_short": "java-pubsub", "distribution_name": "com.google.cloud:google-cloud-pubsub", - "codeowner_team": "@googleapis/api-pubsub", "api_id": "pubsub.googleapis.com", "library_type": "GAPIC_COMBO", "requires_billing": true, - "recommended_package": "com.google.cloud.pubsub.v1" + "api_reference": "https://cloud.google.com/pubsub/", + "codeowner_team": "@googleapis/api-pubsub", + "issue_tracker": "https://issuetracker.google.com/savedsearches/559741" } \ No newline at end of file diff --git a/README.md b/README.md index ccb4826f9..4d50cf72d 100644 --- a/README.md +++ b/README.md @@ -52,20 +52,20 @@ If you are using Maven without the BOM, add this to your dependencies: If you are using Gradle 5.x or later, add this to your dependencies: ```Groovy -implementation platform('com.google.cloud:libraries-bom:26.39.0') +implementation platform('com.google.cloud:libraries-bom:26.40.0') implementation 'com.google.cloud:google-cloud-pubsub' ``` If you are using Gradle without BOM, add this to your dependencies: ```Groovy -implementation 'com.google.cloud:google-cloud-pubsub:1.129.5' +implementation 'com.google.cloud:google-cloud-pubsub:1.129.7' ``` If you are using SBT, add this to your dependencies: ```Scala -libraryDependencies += "com.google.cloud" % "google-cloud-pubsub" % "1.129.5" +libraryDependencies += "com.google.cloud" % "google-cloud-pubsub" % "1.129.7" ``` @@ -319,6 +319,10 @@ Samples are in the [`samples/`](https://github.com/googleapis/java-pubsub/tree/m To get help, follow the instructions in the [shared Troubleshooting document][troubleshooting]. +## Transport + +Cloud Pub/Sub uses both gRPC and HTTP/JSON for the transport layer. + ## Supported Java Versions Java 8 or above is required for using this client. @@ -411,7 +415,7 @@ Java is a registered trademark of Oracle and/or its affiliates. [kokoro-badge-link-5]: http://storage.googleapis.com/cloud-devrel-public/java/badges/java-pubsub/java11.html [stability-image]: https://img.shields.io/badge/stability-stable-green [maven-version-image]: https://img.shields.io/maven-central/v/com.google.cloud/google-cloud-pubsub.svg -[maven-version-link]: https://central.sonatype.com/artifact/com.google.cloud/google-cloud-pubsub/1.129.5 +[maven-version-link]: https://central.sonatype.com/artifact/com.google.cloud/google-cloud-pubsub/1.129.7 [authentication]: https://github.com/googleapis/google-cloud-java#authentication [auth-scopes]: https://developers.google.com/identity/protocols/oauth2/scopes [predefined-iam-roles]: https://cloud.google.com/iam/docs/understanding-roles#predefined_roles diff --git a/generation_config.yaml b/generation_config.yaml index f040d1994..e0adb5245 100644 --- a/generation_config.yaml +++ b/generation_config.yaml @@ -1,4 +1,4 @@ -gapic_generator_version: 2.40.1 +gapic_generator_version: 2.41.0 protoc_version: '25.3' googleapis_commitish: 6f289d775912966eb0cf04bda91e5e355c998d30 libraries_bom_version: 26.38.0 diff --git a/proto-google-cloud-pubsub-v1/src/main/java/com/google/pubsub/v1/CloudStorageConfig.java b/proto-google-cloud-pubsub-v1/src/main/java/com/google/pubsub/v1/CloudStorageConfig.java index 5d3704a7d..5620703da 100644 --- a/proto-google-cloud-pubsub-v1/src/main/java/com/google/pubsub/v1/CloudStorageConfig.java +++ b/proto-google-cloud-pubsub-v1/src/main/java/com/google/pubsub/v1/CloudStorageConfig.java @@ -42,7 +42,6 @@ private CloudStorageConfig() { bucket_ = ""; filenamePrefix_ = ""; filenameSuffix_ = ""; - filenameDatetimeFormat_ = ""; state_ = 0; } @@ -1479,61 +1478,6 @@ public com.google.protobuf.ByteString getFilenameSuffixBytes() { } } - public static final int FILENAME_DATETIME_FORMAT_FIELD_NUMBER = 10; - - @SuppressWarnings("serial") - private volatile java.lang.Object filenameDatetimeFormat_ = ""; - /** - * - * - *
-   * Optional. User-provided format string specifying how to represent datetimes
-   * in Cloud Storage filenames. See the [datetime format
-   * guidance](https://cloud.google.com/pubsub/docs/create-cloudstorage-subscription#file_names).
-   * 
- * - * string filename_datetime_format = 10 [(.google.api.field_behavior) = OPTIONAL]; - * - * @return The filenameDatetimeFormat. - */ - @java.lang.Override - public java.lang.String getFilenameDatetimeFormat() { - java.lang.Object ref = filenameDatetimeFormat_; - if (ref instanceof java.lang.String) { - return (java.lang.String) ref; - } else { - com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; - java.lang.String s = bs.toStringUtf8(); - filenameDatetimeFormat_ = s; - return s; - } - } - /** - * - * - *
-   * Optional. User-provided format string specifying how to represent datetimes
-   * in Cloud Storage filenames. See the [datetime format
-   * guidance](https://cloud.google.com/pubsub/docs/create-cloudstorage-subscription#file_names).
-   * 
- * - * string filename_datetime_format = 10 [(.google.api.field_behavior) = OPTIONAL]; - * - * @return The bytes for filenameDatetimeFormat. - */ - @java.lang.Override - public com.google.protobuf.ByteString getFilenameDatetimeFormatBytes() { - java.lang.Object ref = filenameDatetimeFormat_; - if (ref instanceof java.lang.String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); - filenameDatetimeFormat_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; - } - } - public static final int TEXT_CONFIG_FIELD_NUMBER = 4; /** * @@ -1808,9 +1752,6 @@ public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io if (state_ != com.google.pubsub.v1.CloudStorageConfig.State.STATE_UNSPECIFIED.getNumber()) { output.writeEnum(9, state_); } - if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(filenameDatetimeFormat_)) { - com.google.protobuf.GeneratedMessageV3.writeString(output, 10, filenameDatetimeFormat_); - } getUnknownFields().writeTo(output); } @@ -1848,9 +1789,6 @@ public int getSerializedSize() { if (state_ != com.google.pubsub.v1.CloudStorageConfig.State.STATE_UNSPECIFIED.getNumber()) { size += com.google.protobuf.CodedOutputStream.computeEnumSize(9, state_); } - if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(filenameDatetimeFormat_)) { - size += com.google.protobuf.GeneratedMessageV3.computeStringSize(10, filenameDatetimeFormat_); - } size += getUnknownFields().getSerializedSize(); memoizedSize = size; return size; @@ -1869,7 +1807,6 @@ public boolean equals(final java.lang.Object obj) { if (!getBucket().equals(other.getBucket())) return false; if (!getFilenamePrefix().equals(other.getFilenamePrefix())) return false; if (!getFilenameSuffix().equals(other.getFilenameSuffix())) return false; - if (!getFilenameDatetimeFormat().equals(other.getFilenameDatetimeFormat())) return false; if (hasMaxDuration() != other.hasMaxDuration()) return false; if (hasMaxDuration()) { if (!getMaxDuration().equals(other.getMaxDuration())) return false; @@ -1904,8 +1841,6 @@ public int hashCode() { hash = (53 * hash) + getFilenamePrefix().hashCode(); hash = (37 * hash) + FILENAME_SUFFIX_FIELD_NUMBER; hash = (53 * hash) + getFilenameSuffix().hashCode(); - hash = (37 * hash) + FILENAME_DATETIME_FORMAT_FIELD_NUMBER; - hash = (53 * hash) + getFilenameDatetimeFormat().hashCode(); if (hasMaxDuration()) { hash = (37 * hash) + MAX_DURATION_FIELD_NUMBER; hash = (53 * hash) + getMaxDuration().hashCode(); @@ -2077,7 +2012,6 @@ public Builder clear() { bucket_ = ""; filenamePrefix_ = ""; filenameSuffix_ = ""; - filenameDatetimeFormat_ = ""; if (textConfigBuilder_ != null) { textConfigBuilder_.clear(); } @@ -2139,19 +2073,16 @@ private void buildPartial0(com.google.pubsub.v1.CloudStorageConfig result) { if (((from_bitField0_ & 0x00000004) != 0)) { result.filenameSuffix_ = filenameSuffix_; } - if (((from_bitField0_ & 0x00000008) != 0)) { - result.filenameDatetimeFormat_ = filenameDatetimeFormat_; - } int to_bitField0_ = 0; - if (((from_bitField0_ & 0x00000040) != 0)) { + if (((from_bitField0_ & 0x00000020) != 0)) { result.maxDuration_ = maxDurationBuilder_ == null ? maxDuration_ : maxDurationBuilder_.build(); to_bitField0_ |= 0x00000001; } - if (((from_bitField0_ & 0x00000080) != 0)) { + if (((from_bitField0_ & 0x00000040) != 0)) { result.maxBytes_ = maxBytes_; } - if (((from_bitField0_ & 0x00000100) != 0)) { + if (((from_bitField0_ & 0x00000080) != 0)) { result.state_ = state_; } result.bitField0_ |= to_bitField0_; @@ -2228,11 +2159,6 @@ public Builder mergeFrom(com.google.pubsub.v1.CloudStorageConfig other) { bitField0_ |= 0x00000004; onChanged(); } - if (!other.getFilenameDatetimeFormat().isEmpty()) { - filenameDatetimeFormat_ = other.filenameDatetimeFormat_; - bitField0_ |= 0x00000008; - onChanged(); - } if (other.hasMaxDuration()) { mergeMaxDuration(other.getMaxDuration()); } @@ -2317,27 +2243,21 @@ public Builder mergeFrom( case 50: { input.readMessage(getMaxDurationFieldBuilder().getBuilder(), extensionRegistry); - bitField0_ |= 0x00000040; + bitField0_ |= 0x00000020; break; } // case 50 case 56: { maxBytes_ = input.readInt64(); - bitField0_ |= 0x00000080; + bitField0_ |= 0x00000040; break; } // case 56 case 72: { state_ = input.readEnum(); - bitField0_ |= 0x00000100; + bitField0_ |= 0x00000080; break; } // case 72 - case 82: - { - filenameDatetimeFormat_ = input.readStringRequireUtf8(); - bitField0_ |= 0x00000008; - break; - } // case 82 default: { if (!super.parseUnknownField(input, extensionRegistry, tag)) { @@ -2719,122 +2639,6 @@ public Builder setFilenameSuffixBytes(com.google.protobuf.ByteString value) { return this; } - private java.lang.Object filenameDatetimeFormat_ = ""; - /** - * - * - *
-     * Optional. User-provided format string specifying how to represent datetimes
-     * in Cloud Storage filenames. See the [datetime format
-     * guidance](https://cloud.google.com/pubsub/docs/create-cloudstorage-subscription#file_names).
-     * 
- * - * string filename_datetime_format = 10 [(.google.api.field_behavior) = OPTIONAL]; - * - * @return The filenameDatetimeFormat. - */ - public java.lang.String getFilenameDatetimeFormat() { - java.lang.Object ref = filenameDatetimeFormat_; - if (!(ref instanceof java.lang.String)) { - com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; - java.lang.String s = bs.toStringUtf8(); - filenameDatetimeFormat_ = s; - return s; - } else { - return (java.lang.String) ref; - } - } - /** - * - * - *
-     * Optional. User-provided format string specifying how to represent datetimes
-     * in Cloud Storage filenames. See the [datetime format
-     * guidance](https://cloud.google.com/pubsub/docs/create-cloudstorage-subscription#file_names).
-     * 
- * - * string filename_datetime_format = 10 [(.google.api.field_behavior) = OPTIONAL]; - * - * @return The bytes for filenameDatetimeFormat. - */ - public com.google.protobuf.ByteString getFilenameDatetimeFormatBytes() { - java.lang.Object ref = filenameDatetimeFormat_; - if (ref instanceof String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); - filenameDatetimeFormat_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; - } - } - /** - * - * - *
-     * Optional. User-provided format string specifying how to represent datetimes
-     * in Cloud Storage filenames. See the [datetime format
-     * guidance](https://cloud.google.com/pubsub/docs/create-cloudstorage-subscription#file_names).
-     * 
- * - * string filename_datetime_format = 10 [(.google.api.field_behavior) = OPTIONAL]; - * - * @param value The filenameDatetimeFormat to set. - * @return This builder for chaining. - */ - public Builder setFilenameDatetimeFormat(java.lang.String value) { - if (value == null) { - throw new NullPointerException(); - } - filenameDatetimeFormat_ = value; - bitField0_ |= 0x00000008; - onChanged(); - return this; - } - /** - * - * - *
-     * Optional. User-provided format string specifying how to represent datetimes
-     * in Cloud Storage filenames. See the [datetime format
-     * guidance](https://cloud.google.com/pubsub/docs/create-cloudstorage-subscription#file_names).
-     * 
- * - * string filename_datetime_format = 10 [(.google.api.field_behavior) = OPTIONAL]; - * - * @return This builder for chaining. - */ - public Builder clearFilenameDatetimeFormat() { - filenameDatetimeFormat_ = getDefaultInstance().getFilenameDatetimeFormat(); - bitField0_ = (bitField0_ & ~0x00000008); - onChanged(); - return this; - } - /** - * - * - *
-     * Optional. User-provided format string specifying how to represent datetimes
-     * in Cloud Storage filenames. See the [datetime format
-     * guidance](https://cloud.google.com/pubsub/docs/create-cloudstorage-subscription#file_names).
-     * 
- * - * string filename_datetime_format = 10 [(.google.api.field_behavior) = OPTIONAL]; - * - * @param value The bytes for filenameDatetimeFormat to set. - * @return This builder for chaining. - */ - public Builder setFilenameDatetimeFormatBytes(com.google.protobuf.ByteString value) { - if (value == null) { - throw new NullPointerException(); - } - checkByteStringIsUtf8(value); - filenameDatetimeFormat_ = value; - bitField0_ |= 0x00000008; - onChanged(); - return this; - } - private com.google.protobuf.SingleFieldBuilderV3< com.google.pubsub.v1.CloudStorageConfig.TextConfig, com.google.pubsub.v1.CloudStorageConfig.TextConfig.Builder, @@ -3330,7 +3134,7 @@ public com.google.pubsub.v1.CloudStorageConfig.AvroConfigOrBuilder getAvroConfig * @return Whether the maxDuration field is set. */ public boolean hasMaxDuration() { - return ((bitField0_ & 0x00000040) != 0); + return ((bitField0_ & 0x00000020) != 0); } /** * @@ -3376,7 +3180,7 @@ public Builder setMaxDuration(com.google.protobuf.Duration value) { } else { maxDurationBuilder_.setMessage(value); } - bitField0_ |= 0x00000040; + bitField0_ |= 0x00000020; onChanged(); return this; } @@ -3398,7 +3202,7 @@ public Builder setMaxDuration(com.google.protobuf.Duration.Builder builderForVal } else { maxDurationBuilder_.setMessage(builderForValue.build()); } - bitField0_ |= 0x00000040; + bitField0_ |= 0x00000020; onChanged(); return this; } @@ -3416,7 +3220,7 @@ public Builder setMaxDuration(com.google.protobuf.Duration.Builder builderForVal */ public Builder mergeMaxDuration(com.google.protobuf.Duration value) { if (maxDurationBuilder_ == null) { - if (((bitField0_ & 0x00000040) != 0) + if (((bitField0_ & 0x00000020) != 0) && maxDuration_ != null && maxDuration_ != com.google.protobuf.Duration.getDefaultInstance()) { getMaxDurationBuilder().mergeFrom(value); @@ -3427,7 +3231,7 @@ public Builder mergeMaxDuration(com.google.protobuf.Duration value) { maxDurationBuilder_.mergeFrom(value); } if (maxDuration_ != null) { - bitField0_ |= 0x00000040; + bitField0_ |= 0x00000020; onChanged(); } return this; @@ -3445,7 +3249,7 @@ public Builder mergeMaxDuration(com.google.protobuf.Duration value) { * */ public Builder clearMaxDuration() { - bitField0_ = (bitField0_ & ~0x00000040); + bitField0_ = (bitField0_ & ~0x00000020); maxDuration_ = null; if (maxDurationBuilder_ != null) { maxDurationBuilder_.dispose(); @@ -3467,7 +3271,7 @@ public Builder clearMaxDuration() { * */ public com.google.protobuf.Duration.Builder getMaxDurationBuilder() { - bitField0_ |= 0x00000040; + bitField0_ |= 0x00000020; onChanged(); return getMaxDurationFieldBuilder().getBuilder(); } @@ -3556,7 +3360,7 @@ public long getMaxBytes() { public Builder setMaxBytes(long value) { maxBytes_ = value; - bitField0_ |= 0x00000080; + bitField0_ |= 0x00000040; onChanged(); return this; } @@ -3574,7 +3378,7 @@ public Builder setMaxBytes(long value) { * @return This builder for chaining. */ public Builder clearMaxBytes() { - bitField0_ = (bitField0_ & ~0x00000080); + bitField0_ = (bitField0_ & ~0x00000040); maxBytes_ = 0L; onChanged(); return this; @@ -3616,7 +3420,7 @@ public int getStateValue() { */ public Builder setStateValue(int value) { state_ = value; - bitField0_ |= 0x00000100; + bitField0_ |= 0x00000080; onChanged(); return this; } @@ -3659,7 +3463,7 @@ public Builder setState(com.google.pubsub.v1.CloudStorageConfig.State value) { if (value == null) { throw new NullPointerException(); } - bitField0_ |= 0x00000100; + bitField0_ |= 0x00000080; state_ = value.getNumber(); onChanged(); return this; @@ -3679,7 +3483,7 @@ public Builder setState(com.google.pubsub.v1.CloudStorageConfig.State value) { * @return This builder for chaining. */ public Builder clearState() { - bitField0_ = (bitField0_ & ~0x00000100); + bitField0_ = (bitField0_ & ~0x00000080); state_ = 0; onChanged(); return this; diff --git a/proto-google-cloud-pubsub-v1/src/main/java/com/google/pubsub/v1/CloudStorageConfigOrBuilder.java b/proto-google-cloud-pubsub-v1/src/main/java/com/google/pubsub/v1/CloudStorageConfigOrBuilder.java index 19eab21ab..131d46624 100644 --- a/proto-google-cloud-pubsub-v1/src/main/java/com/google/pubsub/v1/CloudStorageConfigOrBuilder.java +++ b/proto-google-cloud-pubsub-v1/src/main/java/com/google/pubsub/v1/CloudStorageConfigOrBuilder.java @@ -111,35 +111,6 @@ public interface CloudStorageConfigOrBuilder */ com.google.protobuf.ByteString getFilenameSuffixBytes(); - /** - * - * - *
-   * Optional. User-provided format string specifying how to represent datetimes
-   * in Cloud Storage filenames. See the [datetime format
-   * guidance](https://cloud.google.com/pubsub/docs/create-cloudstorage-subscription#file_names).
-   * 
- * - * string filename_datetime_format = 10 [(.google.api.field_behavior) = OPTIONAL]; - * - * @return The filenameDatetimeFormat. - */ - java.lang.String getFilenameDatetimeFormat(); - /** - * - * - *
-   * Optional. User-provided format string specifying how to represent datetimes
-   * in Cloud Storage filenames. See the [datetime format
-   * guidance](https://cloud.google.com/pubsub/docs/create-cloudstorage-subscription#file_names).
-   * 
- * - * string filename_datetime_format = 10 [(.google.api.field_behavior) = OPTIONAL]; - * - * @return The bytes for filenameDatetimeFormat. - */ - com.google.protobuf.ByteString getFilenameDatetimeFormatBytes(); - /** * * diff --git a/proto-google-cloud-pubsub-v1/src/main/java/com/google/pubsub/v1/IngestionDataSourceSettings.java b/proto-google-cloud-pubsub-v1/src/main/java/com/google/pubsub/v1/IngestionDataSourceSettings.java index b56f85ee0..9d97d01d2 100644 --- a/proto-google-cloud-pubsub-v1/src/main/java/com/google/pubsub/v1/IngestionDataSourceSettings.java +++ b/proto-google-cloud-pubsub-v1/src/main/java/com/google/pubsub/v1/IngestionDataSourceSettings.java @@ -310,7 +310,7 @@ public enum State implements com.google.protobuf.ProtocolMessageEnum { * *
        * Permission denied encountered while publishing to the topic. This can
-       * happen if the Pub/Sub SA has not been granted the [appropriate publish
+       * happen due to Pub/Sub SA has not been granted the [appropriate publish
        * permissions](https://cloud.google.com/pubsub/docs/access-control#pubsub.publisher)
        * 
* @@ -383,7 +383,7 @@ public enum State implements com.google.protobuf.ProtocolMessageEnum { * *
        * Permission denied encountered while publishing to the topic. This can
-       * happen if the Pub/Sub SA has not been granted the [appropriate publish
+       * happen due to Pub/Sub SA has not been granted the [appropriate publish
        * permissions](https://cloud.google.com/pubsub/docs/access-control#pubsub.publisher)
        * 
* diff --git a/proto-google-cloud-pubsub-v1/src/main/java/com/google/pubsub/v1/PubsubProto.java b/proto-google-cloud-pubsub-v1/src/main/java/com/google/pubsub/v1/PubsubProto.java index 8fff960ed..f03334c1c 100644 --- a/proto-google-cloud-pubsub-v1/src/main/java/com/google/pubsub/v1/PubsubProto.java +++ b/proto-google-cloud-pubsub-v1/src/main/java/com/google/pubsub/v1/PubsubProto.java @@ -426,230 +426,229 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { + "\006 \001(\010B\003\340A\001\"\212\001\n\005State\022\025\n\021STATE_UNSPECIFIE" + "D\020\000\022\n\n\006ACTIVE\020\001\022\025\n\021PERMISSION_DENIED\020\002\022\r" + "\n\tNOT_FOUND\020\003\022\023\n\017SCHEMA_MISMATCH\020\004\022#\n\037IN" - + "_TRANSIT_LOCATION_RESTRICTION\020\005\"\365\004\n\022Clou" + + "_TRANSIT_LOCATION_RESTRICTION\020\005\"\316\004\n\022Clou" + "dStorageConfig\022\023\n\006bucket\030\001 \001(\tB\003\340A\002\022\034\n\017f" + "ilename_prefix\030\002 \001(\tB\003\340A\001\022\034\n\017filename_su" - + "ffix\030\003 \001(\tB\003\340A\001\022%\n\030filename_datetime_for" - + "mat\030\n \001(\tB\003\340A\001\022K\n\013text_config\030\004 \001(\0132/.go" - + "ogle.pubsub.v1.CloudStorageConfig.TextCo" - + "nfigB\003\340A\001H\000\022K\n\013avro_config\030\005 \001(\0132/.googl" - + "e.pubsub.v1.CloudStorageConfig.AvroConfi" - + "gB\003\340A\001H\000\0224\n\014max_duration\030\006 \001(\0132\031.google." - + "protobuf.DurationB\003\340A\001\022\026\n\tmax_bytes\030\007 \001(" - + "\003B\003\340A\001\022>\n\005state\030\t \001(\0162*.google.pubsub.v1" - + ".CloudStorageConfig.StateB\003\340A\003\032\014\n\nTextCo" - + "nfig\032)\n\nAvroConfig\022\033\n\016write_metadata\030\001 \001" - + "(\010B\003\340A\001\"u\n\005State\022\025\n\021STATE_UNSPECIFIED\020\000\022" - + "\n\n\006ACTIVE\020\001\022\025\n\021PERMISSION_DENIED\020\002\022\r\n\tNO" - + "T_FOUND\020\003\022#\n\037IN_TRANSIT_LOCATION_RESTRIC" - + "TION\020\004B\017\n\routput_format\"|\n\017ReceivedMessa" - + "ge\022\023\n\006ack_id\030\001 \001(\tB\003\340A\001\0225\n\007message\030\002 \001(\013" - + "2\037.google.pubsub.v1.PubsubMessageB\003\340A\001\022\035" - + "\n\020delivery_attempt\030\003 \001(\005B\003\340A\001\"Z\n\026GetSubs" - + "criptionRequest\022@\n\014subscription\030\001 \001(\tB*\340" + + "ffix\030\003 \001(\tB\003\340A\001\022K\n\013text_config\030\004 \001(\0132/.g" + + "oogle.pubsub.v1.CloudStorageConfig.TextC" + + "onfigB\003\340A\001H\000\022K\n\013avro_config\030\005 \001(\0132/.goog" + + "le.pubsub.v1.CloudStorageConfig.AvroConf" + + "igB\003\340A\001H\000\0224\n\014max_duration\030\006 \001(\0132\031.google" + + ".protobuf.DurationB\003\340A\001\022\026\n\tmax_bytes\030\007 \001" + + "(\003B\003\340A\001\022>\n\005state\030\t \001(\0162*.google.pubsub.v" + + "1.CloudStorageConfig.StateB\003\340A\003\032\014\n\nTextC" + + "onfig\032)\n\nAvroConfig\022\033\n\016write_metadata\030\001 " + + "\001(\010B\003\340A\001\"u\n\005State\022\025\n\021STATE_UNSPECIFIED\020\000" + + "\022\n\n\006ACTIVE\020\001\022\025\n\021PERMISSION_DENIED\020\002\022\r\n\tN" + + "OT_FOUND\020\003\022#\n\037IN_TRANSIT_LOCATION_RESTRI" + + "CTION\020\004B\017\n\routput_format\"|\n\017ReceivedMess" + + "age\022\023\n\006ack_id\030\001 \001(\tB\003\340A\001\0225\n\007message\030\002 \001(" + + "\0132\037.google.pubsub.v1.PubsubMessageB\003\340A\001\022" + + "\035\n\020delivery_attempt\030\003 \001(\005B\003\340A\001\"Z\n\026GetSub" + + "scriptionRequest\022@\n\014subscription\030\001 \001(\tB*" + + "\340A\002\372A$\n\"pubsub.googleapis.com/Subscripti" + + "on\"\214\001\n\031UpdateSubscriptionRequest\0229\n\014subs" + + "cription\030\001 \001(\0132\036.google.pubsub.v1.Subscr" + + "iptionB\003\340A\002\0224\n\013update_mask\030\002 \001(\0132\032.googl" + + "e.protobuf.FieldMaskB\003\340A\002\"\221\001\n\030ListSubscr" + + "iptionsRequest\022D\n\007project\030\001 \001(\tB3\340A\002\372A-\n" + + "+cloudresourcemanager.googleapis.com/Pro" + + "ject\022\026\n\tpage_size\030\002 \001(\005B\003\340A\001\022\027\n\npage_tok" + + "en\030\003 \001(\tB\003\340A\001\"u\n\031ListSubscriptionsRespon" + + "se\022:\n\rsubscriptions\030\001 \003(\0132\036.google.pubsu" + + "b.v1.SubscriptionB\003\340A\001\022\034\n\017next_page_toke" + + "n\030\002 \001(\tB\003\340A\001\"]\n\031DeleteSubscriptionReques" + + "t\022@\n\014subscription\030\001 \001(\tB*\340A\002\372A$\n\"pubsub." + + "googleapis.com/Subscription\"\223\001\n\027ModifyPu" + + "shConfigRequest\022@\n\014subscription\030\001 \001(\tB*\340" + "A\002\372A$\n\"pubsub.googleapis.com/Subscriptio" - + "n\"\214\001\n\031UpdateSubscriptionRequest\0229\n\014subsc" - + "ription\030\001 \001(\0132\036.google.pubsub.v1.Subscri" - + "ptionB\003\340A\002\0224\n\013update_mask\030\002 \001(\0132\032.google" - + ".protobuf.FieldMaskB\003\340A\002\"\221\001\n\030ListSubscri" - + "ptionsRequest\022D\n\007project\030\001 \001(\tB3\340A\002\372A-\n+" - + "cloudresourcemanager.googleapis.com/Proj" - + "ect\022\026\n\tpage_size\030\002 \001(\005B\003\340A\001\022\027\n\npage_toke" - + "n\030\003 \001(\tB\003\340A\001\"u\n\031ListSubscriptionsRespons" - + "e\022:\n\rsubscriptions\030\001 \003(\0132\036.google.pubsub" - + ".v1.SubscriptionB\003\340A\001\022\034\n\017next_page_token" - + "\030\002 \001(\tB\003\340A\001\"]\n\031DeleteSubscriptionRequest" - + "\022@\n\014subscription\030\001 \001(\tB*\340A\002\372A$\n\"pubsub.g" - + "oogleapis.com/Subscription\"\223\001\n\027ModifyPus" - + "hConfigRequest\022@\n\014subscription\030\001 \001(\tB*\340A" - + "\002\372A$\n\"pubsub.googleapis.com/Subscription" - + "\0226\n\013push_config\030\002 \001(\0132\034.google.pubsub.v1" - + ".PushConfigB\003\340A\002\"\215\001\n\013PullRequest\022@\n\014subs" - + "cription\030\001 \001(\tB*\340A\002\372A$\n\"pubsub.googleapi" - + "s.com/Subscription\022!\n\022return_immediately" - + "\030\002 \001(\010B\005\030\001\340A\001\022\031\n\014max_messages\030\003 \001(\005B\003\340A\002" - + "\"Q\n\014PullResponse\022A\n\021received_messages\030\001 " - + "\003(\0132!.google.pubsub.v1.ReceivedMessageB\003" - + "\340A\001\"\225\001\n\030ModifyAckDeadlineRequest\022@\n\014subs" - + "cription\030\001 \001(\tB*\340A\002\372A$\n\"pubsub.googleapi" - + "s.com/Subscription\022\024\n\007ack_ids\030\004 \003(\tB\003\340A\002" - + "\022!\n\024ack_deadline_seconds\030\003 \001(\005B\003\340A\002\"l\n\022A" - + "cknowledgeRequest\022@\n\014subscription\030\001 \001(\tB" - + "*\340A\002\372A$\n\"pubsub.googleapis.com/Subscript" - + "ion\022\024\n\007ack_ids\030\002 \003(\tB\003\340A\002\"\307\002\n\024StreamingP" - + "ullRequest\022@\n\014subscription\030\001 \001(\tB*\340A\002\372A$" - + "\n\"pubsub.googleapis.com/Subscription\022\024\n\007" - + "ack_ids\030\002 \003(\tB\003\340A\001\022$\n\027modify_deadline_se" - + "conds\030\003 \003(\005B\003\340A\001\022$\n\027modify_deadline_ack_" - + "ids\030\004 \003(\tB\003\340A\001\022(\n\033stream_ack_deadline_se" - + "conds\030\005 \001(\005B\003\340A\002\022\026\n\tclient_id\030\006 \001(\tB\003\340A\001" - + "\022%\n\030max_outstanding_messages\030\007 \001(\003B\003\340A\001\022" - + "\"\n\025max_outstanding_bytes\030\010 \001(\003B\003\340A\001\"\236\006\n\025" - + "StreamingPullResponse\022A\n\021received_messag" - + "es\030\001 \003(\0132!.google.pubsub.v1.ReceivedMess" - + "ageB\003\340A\001\022f\n\030acknowledge_confirmation\030\005 \001" - + "(\0132?.google.pubsub.v1.StreamingPullRespo" - + "nse.AcknowledgeConfirmationB\003\340A\001\022t\n modi" - + "fy_ack_deadline_confirmation\030\003 \001(\0132E.goo" - + "gle.pubsub.v1.StreamingPullResponse.Modi" - + "fyAckDeadlineConfirmationB\003\340A\001\022d\n\027subscr" - + "iption_properties\030\004 \001(\0132>.google.pubsub." - + "v1.StreamingPullResponse.SubscriptionPro" - + "pertiesB\003\340A\001\032\224\001\n\027AcknowledgeConfirmation" - + "\022\024\n\007ack_ids\030\001 \003(\tB\003\340A\001\022\034\n\017invalid_ack_id" - + "s\030\002 \003(\tB\003\340A\001\022\036\n\021unordered_ack_ids\030\003 \003(\tB" - + "\003\340A\001\022%\n\030temporary_failed_ack_ids\030\004 \003(\tB\003" - + "\340A\001\032z\n\035ModifyAckDeadlineConfirmation\022\024\n\007" - + "ack_ids\030\001 \003(\tB\003\340A\001\022\034\n\017invalid_ack_ids\030\002 " - + "\003(\tB\003\340A\001\022%\n\030temporary_failed_ack_ids\030\003 \003" - + "(\tB\003\340A\001\032k\n\026SubscriptionProperties\022*\n\035exa" - + "ctly_once_delivery_enabled\030\001 \001(\010B\003\340A\001\022%\n" - + "\030message_ordering_enabled\030\002 \001(\010B\003\340A\001\"\210\002\n" - + "\025CreateSnapshotRequest\0224\n\004name\030\001 \001(\tB&\340A" - + "\002\372A \n\036pubsub.googleapis.com/Snapshot\022@\n\014" - + "subscription\030\002 \001(\tB*\340A\002\372A$\n\"pubsub.googl" - + "eapis.com/Subscription\022H\n\006labels\030\003 \003(\01323" - + ".google.pubsub.v1.CreateSnapshotRequest." - + "LabelsEntryB\003\340A\001\032-\n\013LabelsEntry\022\013\n\003key\030\001" - + " \001(\t\022\r\n\005value\030\002 \001(\t:\0028\001\"\200\001\n\025UpdateSnapsh" - + "otRequest\0221\n\010snapshot\030\001 \001(\0132\032.google.pub" - + "sub.v1.SnapshotB\003\340A\002\0224\n\013update_mask\030\002 \001(" - + "\0132\032.google.protobuf.FieldMaskB\003\340A\002\"\301\002\n\010S" - + "napshot\022\021\n\004name\030\001 \001(\tB\003\340A\001\0222\n\005topic\030\002 \001(" - + "\tB#\340A\001\372A\035\n\033pubsub.googleapis.com/Topic\0224" - + "\n\013expire_time\030\003 \001(\0132\032.google.protobuf.Ti" - + "mestampB\003\340A\001\022;\n\006labels\030\004 \003(\0132&.google.pu" - + "bsub.v1.Snapshot.LabelsEntryB\003\340A\001\032-\n\013Lab" - + "elsEntry\022\013\n\003key\030\001 \001(\t\022\r\n\005value\030\002 \001(\t:\0028\001" - + ":L\352AI\n\036pubsub.googleapis.com/Snapshot\022\'p" - + "rojects/{project}/snapshots/{snapshot}\"N" - + "\n\022GetSnapshotRequest\0228\n\010snapshot\030\001 \001(\tB&" - + "\340A\002\372A \n\036pubsub.googleapis.com/Snapshot\"\215" - + "\001\n\024ListSnapshotsRequest\022D\n\007project\030\001 \001(\t" - + "B3\340A\002\372A-\n+cloudresourcemanager.googleapi" - + "s.com/Project\022\026\n\tpage_size\030\002 \001(\005B\003\340A\001\022\027\n" - + "\npage_token\030\003 \001(\tB\003\340A\001\"i\n\025ListSnapshotsR" - + "esponse\0222\n\tsnapshots\030\001 \003(\0132\032.google.pubs" - + "ub.v1.SnapshotB\003\340A\001\022\034\n\017next_page_token\030\002" - + " \001(\tB\003\340A\001\"Q\n\025DeleteSnapshotRequest\0228\n\010sn" - + "apshot\030\001 \001(\tB&\340A\002\372A \n\036pubsub.googleapis." - + "com/Snapshot\"\306\001\n\013SeekRequest\022@\n\014subscrip" - + "tion\030\001 \001(\tB*\340A\002\372A$\n\"pubsub.googleapis.co" - + "m/Subscription\022/\n\004time\030\002 \001(\0132\032.google.pr" - + "otobuf.TimestampB\003\340A\001H\000\022:\n\010snapshot\030\003 \001(" - + "\tB&\340A\001\372A \n\036pubsub.googleapis.com/Snapsho" - + "tH\000B\010\n\006target\"\016\n\014SeekResponse2\270\013\n\tPublis" - + "her\022q\n\013CreateTopic\022\027.google.pubsub.v1.To" - + "pic\032\027.google.pubsub.v1.Topic\"0\332A\004name\202\323\344" - + "\223\002#\032\036/v1/{name=projects/*/topics/*}:\001*\022\221" - + "\001\n\013UpdateTopic\022$.google.pubsub.v1.Update" - + "TopicRequest\032\027.google.pubsub.v1.Topic\"C\332" - + "A\021topic,update_mask\202\323\344\223\002)2$/v1/{topic.na" - + "me=projects/*/topics/*}:\001*\022\223\001\n\007Publish\022 " - + ".google.pubsub.v1.PublishRequest\032!.googl" - + "e.pubsub.v1.PublishResponse\"C\332A\016topic,me" - + "ssages\202\323\344\223\002,\"\'/v1/{topic=projects/*/topi" - + "cs/*}:publish:\001*\022w\n\010GetTopic\022!.google.pu" - + "bsub.v1.GetTopicRequest\032\027.google.pubsub." - + "v1.Topic\"/\332A\005topic\202\323\344\223\002!\022\037/v1/{topic=pro" - + "jects/*/topics/*}\022\212\001\n\nListTopics\022#.googl" - + "e.pubsub.v1.ListTopicsRequest\032$.google.p" - + "ubsub.v1.ListTopicsResponse\"1\332A\007project\202" - + "\323\344\223\002!\022\037/v1/{project=projects/*}/topics\022\272" - + "\001\n\026ListTopicSubscriptions\022/.google.pubsu" - + "b.v1.ListTopicSubscriptionsRequest\0320.goo" - + "gle.pubsub.v1.ListTopicSubscriptionsResp" - + "onse\"=\332A\005topic\202\323\344\223\002/\022-/v1/{topic=project" - + "s/*/topics/*}/subscriptions\022\252\001\n\022ListTopi" - + "cSnapshots\022+.google.pubsub.v1.ListTopicS" - + "napshotsRequest\032,.google.pubsub.v1.ListT" - + "opicSnapshotsResponse\"9\332A\005topic\202\323\344\223\002+\022)/" - + "v1/{topic=projects/*/topics/*}/snapshots" - + "\022|\n\013DeleteTopic\022$.google.pubsub.v1.Delet" - + "eTopicRequest\032\026.google.protobuf.Empty\"/\332" - + "A\005topic\202\323\344\223\002!*\037/v1/{topic=projects/*/top" - + "ics/*}\022\255\001\n\022DetachSubscription\022+.google.p" - + "ubsub.v1.DetachSubscriptionRequest\032,.goo" - + "gle.pubsub.v1.DetachSubscriptionResponse" - + "\"<\202\323\344\223\0026\"4/v1/{subscription=projects/*/s" - + "ubscriptions/*}:detach\032p\312A\025pubsub.google" - + "apis.com\322AUhttps://www.googleapis.com/au" - + "th/cloud-platform,https://www.googleapis" - + ".com/auth/pubsub2\322\025\n\nSubscriber\022\264\001\n\022Crea" - + "teSubscription\022\036.google.pubsub.v1.Subscr" - + "iption\032\036.google.pubsub.v1.Subscription\"^" - + "\332A+name,topic,push_config,ack_deadline_s" - + "econds\202\323\344\223\002*\032%/v1/{name=projects/*/subsc" - + "riptions/*}:\001*\022\241\001\n\017GetSubscription\022(.goo" - + "gle.pubsub.v1.GetSubscriptionRequest\032\036.g" - + "oogle.pubsub.v1.Subscription\"D\332A\014subscri" - + "ption\202\323\344\223\002/\022-/v1/{subscription=projects/" - + "*/subscriptions/*}\022\273\001\n\022UpdateSubscriptio" - + "n\022+.google.pubsub.v1.UpdateSubscriptionR" - + "equest\032\036.google.pubsub.v1.Subscription\"X" - + "\332A\030subscription,update_mask\202\323\344\223\002722/v1/{" - + "subscription.name=projects/*/subscriptio" - + "ns/*}:\001*\022\246\001\n\021ListSubscriptions\022*.google." - + "pubsub.v1.ListSubscriptionsRequest\032+.goo" - + "gle.pubsub.v1.ListSubscriptionsResponse\"" - + "8\332A\007project\202\323\344\223\002(\022&/v1/{project=projects" - + "/*}/subscriptions\022\237\001\n\022DeleteSubscription" - + "\022+.google.pubsub.v1.DeleteSubscriptionRe" - + "quest\032\026.google.protobuf.Empty\"D\332A\014subscr" - + "iption\202\323\344\223\002/*-/v1/{subscription=projects" - + "/*/subscriptions/*}\022\317\001\n\021ModifyAckDeadlin" - + "e\022*.google.pubsub.v1.ModifyAckDeadlineRe" - + "quest\032\026.google.protobuf.Empty\"v\332A)subscr" - + "iption,ack_ids,ack_deadline_seconds\202\323\344\223\002" - + "D\"?/v1/{subscription=projects/*/subscrip" - + "tions/*}:modifyAckDeadline:\001*\022\250\001\n\013Acknow" - + "ledge\022$.google.pubsub.v1.AcknowledgeRequ" - + "est\032\026.google.protobuf.Empty\"[\332A\024subscrip" - + "tion,ack_ids\202\323\344\223\002>\"9/v1/{subscription=pr" - + "ojects/*/subscriptions/*}:acknowledge:\001*" - + "\022\320\001\n\004Pull\022\035.google.pubsub.v1.PullRequest" - + "\032\036.google.pubsub.v1.PullResponse\"\210\001\332A,su" - + "bscription,return_immediately,max_messag" - + "es\332A\031subscription,max_messages\202\323\344\223\0027\"2/v" - + "1/{subscription=projects/*/subscriptions" - + "/*}:pull:\001*\022f\n\rStreamingPull\022&.google.pu" - + "bsub.v1.StreamingPullRequest\032\'.google.pu" - + "bsub.v1.StreamingPullResponse\"\000(\0010\001\022\273\001\n\020" - + "ModifyPushConfig\022).google.pubsub.v1.Modi" - + "fyPushConfigRequest\032\026.google.protobuf.Em" - + "pty\"d\332A\030subscription,push_config\202\323\344\223\002C\">" - + "/v1/{subscription=projects/*/subscriptio" - + "ns/*}:modifyPushConfig:\001*\022\211\001\n\013GetSnapsho" - + "t\022$.google.pubsub.v1.GetSnapshotRequest\032" - + "\032.google.pubsub.v1.Snapshot\"8\332A\010snapshot" - + "\202\323\344\223\002\'\022%/v1/{snapshot=projects/*/snapsho" - + "ts/*}\022\226\001\n\rListSnapshots\022&.google.pubsub." - + "v1.ListSnapshotsRequest\032\'.google.pubsub." - + "v1.ListSnapshotsResponse\"4\332A\007project\202\323\344\223" - + "\002$\022\"/v1/{project=projects/*}/snapshots\022\227" - + "\001\n\016CreateSnapshot\022\'.google.pubsub.v1.Cre" - + "ateSnapshotRequest\032\032.google.pubsub.v1.Sn" - + "apshot\"@\332A\021name,subscription\202\323\344\223\002&\032!/v1/" - + "{name=projects/*/snapshots/*}:\001*\022\243\001\n\016Upd" - + "ateSnapshot\022\'.google.pubsub.v1.UpdateSna" - + "pshotRequest\032\032.google.pubsub.v1.Snapshot" - + "\"L\332A\024snapshot,update_mask\202\323\344\223\002/2*/v1/{sn" - + "apshot.name=projects/*/snapshots/*}:\001*\022\213" - + "\001\n\016DeleteSnapshot\022\'.google.pubsub.v1.Del" - + "eteSnapshotRequest\032\026.google.protobuf.Emp" - + "ty\"8\332A\010snapshot\202\323\344\223\002\'*%/v1/{snapshot=pro" - + "jects/*/snapshots/*}\022\204\001\n\004Seek\022\035.google.p" - + "ubsub.v1.SeekRequest\032\036.google.pubsub.v1." - + "SeekResponse\"=\202\323\344\223\0027\"2/v1/{subscription=" - + "projects/*/subscriptions/*}:seek:\001*\032p\312A\025" - + "pubsub.googleapis.com\322AUhttps://www.goog" - + "leapis.com/auth/cloud-platform,https://w" - + "ww.googleapis.com/auth/pubsubB\252\001\n\024com.go" - + "ogle.pubsub.v1B\013PubsubProtoP\001Z2cloud.goo" - + "gle.com/go/pubsub/apiv1/pubsubpb;pubsubp" - + "b\370\001\001\252\002\026Google.Cloud.PubSub.V1\312\002\026Google\\C" - + "loud\\PubSub\\V1\352\002\031Google::Cloud::PubSub::" - + "V1b\006proto3" + + "n\0226\n\013push_config\030\002 \001(\0132\034.google.pubsub.v" + + "1.PushConfigB\003\340A\002\"\215\001\n\013PullRequest\022@\n\014sub" + + "scription\030\001 \001(\tB*\340A\002\372A$\n\"pubsub.googleap" + + "is.com/Subscription\022!\n\022return_immediatel" + + "y\030\002 \001(\010B\005\030\001\340A\001\022\031\n\014max_messages\030\003 \001(\005B\003\340A" + + "\002\"Q\n\014PullResponse\022A\n\021received_messages\030\001" + + " \003(\0132!.google.pubsub.v1.ReceivedMessageB" + + "\003\340A\001\"\225\001\n\030ModifyAckDeadlineRequest\022@\n\014sub" + + "scription\030\001 \001(\tB*\340A\002\372A$\n\"pubsub.googleap" + + "is.com/Subscription\022\024\n\007ack_ids\030\004 \003(\tB\003\340A" + + "\002\022!\n\024ack_deadline_seconds\030\003 \001(\005B\003\340A\002\"l\n\022" + + "AcknowledgeRequest\022@\n\014subscription\030\001 \001(\t" + + "B*\340A\002\372A$\n\"pubsub.googleapis.com/Subscrip" + + "tion\022\024\n\007ack_ids\030\002 \003(\tB\003\340A\002\"\307\002\n\024Streaming" + + "PullRequest\022@\n\014subscription\030\001 \001(\tB*\340A\002\372A" + + "$\n\"pubsub.googleapis.com/Subscription\022\024\n" + + "\007ack_ids\030\002 \003(\tB\003\340A\001\022$\n\027modify_deadline_s" + + "econds\030\003 \003(\005B\003\340A\001\022$\n\027modify_deadline_ack" + + "_ids\030\004 \003(\tB\003\340A\001\022(\n\033stream_ack_deadline_s" + + "econds\030\005 \001(\005B\003\340A\002\022\026\n\tclient_id\030\006 \001(\tB\003\340A" + + "\001\022%\n\030max_outstanding_messages\030\007 \001(\003B\003\340A\001" + + "\022\"\n\025max_outstanding_bytes\030\010 \001(\003B\003\340A\001\"\236\006\n" + + "\025StreamingPullResponse\022A\n\021received_messa" + + "ges\030\001 \003(\0132!.google.pubsub.v1.ReceivedMes" + + "sageB\003\340A\001\022f\n\030acknowledge_confirmation\030\005 " + + "\001(\0132?.google.pubsub.v1.StreamingPullResp" + + "onse.AcknowledgeConfirmationB\003\340A\001\022t\n mod" + + "ify_ack_deadline_confirmation\030\003 \001(\0132E.go" + + "ogle.pubsub.v1.StreamingPullResponse.Mod" + + "ifyAckDeadlineConfirmationB\003\340A\001\022d\n\027subsc" + + "ription_properties\030\004 \001(\0132>.google.pubsub" + + ".v1.StreamingPullResponse.SubscriptionPr" + + "opertiesB\003\340A\001\032\224\001\n\027AcknowledgeConfirmatio" + + "n\022\024\n\007ack_ids\030\001 \003(\tB\003\340A\001\022\034\n\017invalid_ack_i" + + "ds\030\002 \003(\tB\003\340A\001\022\036\n\021unordered_ack_ids\030\003 \003(\t" + + "B\003\340A\001\022%\n\030temporary_failed_ack_ids\030\004 \003(\tB" + + "\003\340A\001\032z\n\035ModifyAckDeadlineConfirmation\022\024\n" + + "\007ack_ids\030\001 \003(\tB\003\340A\001\022\034\n\017invalid_ack_ids\030\002" + + " \003(\tB\003\340A\001\022%\n\030temporary_failed_ack_ids\030\003 " + + "\003(\tB\003\340A\001\032k\n\026SubscriptionProperties\022*\n\035ex" + + "actly_once_delivery_enabled\030\001 \001(\010B\003\340A\001\022%" + + "\n\030message_ordering_enabled\030\002 \001(\010B\003\340A\001\"\210\002" + + "\n\025CreateSnapshotRequest\0224\n\004name\030\001 \001(\tB&\340" + + "A\002\372A \n\036pubsub.googleapis.com/Snapshot\022@\n" + + "\014subscription\030\002 \001(\tB*\340A\002\372A$\n\"pubsub.goog" + + "leapis.com/Subscription\022H\n\006labels\030\003 \003(\0132" + + "3.google.pubsub.v1.CreateSnapshotRequest" + + ".LabelsEntryB\003\340A\001\032-\n\013LabelsEntry\022\013\n\003key\030" + + "\001 \001(\t\022\r\n\005value\030\002 \001(\t:\0028\001\"\200\001\n\025UpdateSnaps" + + "hotRequest\0221\n\010snapshot\030\001 \001(\0132\032.google.pu" + + "bsub.v1.SnapshotB\003\340A\002\0224\n\013update_mask\030\002 \001" + + "(\0132\032.google.protobuf.FieldMaskB\003\340A\002\"\301\002\n\010" + + "Snapshot\022\021\n\004name\030\001 \001(\tB\003\340A\001\0222\n\005topic\030\002 \001" + + "(\tB#\340A\001\372A\035\n\033pubsub.googleapis.com/Topic\022" + + "4\n\013expire_time\030\003 \001(\0132\032.google.protobuf.T" + + "imestampB\003\340A\001\022;\n\006labels\030\004 \003(\0132&.google.p" + + "ubsub.v1.Snapshot.LabelsEntryB\003\340A\001\032-\n\013La" + + "belsEntry\022\013\n\003key\030\001 \001(\t\022\r\n\005value\030\002 \001(\t:\0028" + + "\001:L\352AI\n\036pubsub.googleapis.com/Snapshot\022\'" + + "projects/{project}/snapshots/{snapshot}\"" + + "N\n\022GetSnapshotRequest\0228\n\010snapshot\030\001 \001(\tB" + + "&\340A\002\372A \n\036pubsub.googleapis.com/Snapshot\"" + + "\215\001\n\024ListSnapshotsRequest\022D\n\007project\030\001 \001(" + + "\tB3\340A\002\372A-\n+cloudresourcemanager.googleap" + + "is.com/Project\022\026\n\tpage_size\030\002 \001(\005B\003\340A\001\022\027" + + "\n\npage_token\030\003 \001(\tB\003\340A\001\"i\n\025ListSnapshots" + + "Response\0222\n\tsnapshots\030\001 \003(\0132\032.google.pub" + + "sub.v1.SnapshotB\003\340A\001\022\034\n\017next_page_token\030" + + "\002 \001(\tB\003\340A\001\"Q\n\025DeleteSnapshotRequest\0228\n\010s" + + "napshot\030\001 \001(\tB&\340A\002\372A \n\036pubsub.googleapis" + + ".com/Snapshot\"\306\001\n\013SeekRequest\022@\n\014subscri" + + "ption\030\001 \001(\tB*\340A\002\372A$\n\"pubsub.googleapis.c" + + "om/Subscription\022/\n\004time\030\002 \001(\0132\032.google.p" + + "rotobuf.TimestampB\003\340A\001H\000\022:\n\010snapshot\030\003 \001" + + "(\tB&\340A\001\372A \n\036pubsub.googleapis.com/Snapsh" + + "otH\000B\010\n\006target\"\016\n\014SeekResponse2\270\013\n\tPubli" + + "sher\022q\n\013CreateTopic\022\027.google.pubsub.v1.T" + + "opic\032\027.google.pubsub.v1.Topic\"0\332A\004name\202\323" + + "\344\223\002#\032\036/v1/{name=projects/*/topics/*}:\001*\022" + + "\221\001\n\013UpdateTopic\022$.google.pubsub.v1.Updat" + + "eTopicRequest\032\027.google.pubsub.v1.Topic\"C" + + "\332A\021topic,update_mask\202\323\344\223\002)2$/v1/{topic.n" + + "ame=projects/*/topics/*}:\001*\022\223\001\n\007Publish\022" + + " .google.pubsub.v1.PublishRequest\032!.goog" + + "le.pubsub.v1.PublishResponse\"C\332A\016topic,m" + + "essages\202\323\344\223\002,\"\'/v1/{topic=projects/*/top" + + "ics/*}:publish:\001*\022w\n\010GetTopic\022!.google.p" + + "ubsub.v1.GetTopicRequest\032\027.google.pubsub" + + ".v1.Topic\"/\332A\005topic\202\323\344\223\002!\022\037/v1/{topic=pr" + + "ojects/*/topics/*}\022\212\001\n\nListTopics\022#.goog" + + "le.pubsub.v1.ListTopicsRequest\032$.google." + + "pubsub.v1.ListTopicsResponse\"1\332A\007project" + + "\202\323\344\223\002!\022\037/v1/{project=projects/*}/topics\022" + + "\272\001\n\026ListTopicSubscriptions\022/.google.pubs" + + "ub.v1.ListTopicSubscriptionsRequest\0320.go" + + "ogle.pubsub.v1.ListTopicSubscriptionsRes" + + "ponse\"=\332A\005topic\202\323\344\223\002/\022-/v1/{topic=projec" + + "ts/*/topics/*}/subscriptions\022\252\001\n\022ListTop" + + "icSnapshots\022+.google.pubsub.v1.ListTopic" + + "SnapshotsRequest\032,.google.pubsub.v1.List" + + "TopicSnapshotsResponse\"9\332A\005topic\202\323\344\223\002+\022)" + + "/v1/{topic=projects/*/topics/*}/snapshot" + + "s\022|\n\013DeleteTopic\022$.google.pubsub.v1.Dele" + + "teTopicRequest\032\026.google.protobuf.Empty\"/" + + "\332A\005topic\202\323\344\223\002!*\037/v1/{topic=projects/*/to" + + "pics/*}\022\255\001\n\022DetachSubscription\022+.google." + + "pubsub.v1.DetachSubscriptionRequest\032,.go" + + "ogle.pubsub.v1.DetachSubscriptionRespons" + + "e\"<\202\323\344\223\0026\"4/v1/{subscription=projects/*/" + + "subscriptions/*}:detach\032p\312A\025pubsub.googl" + + "eapis.com\322AUhttps://www.googleapis.com/a" + + "uth/cloud-platform,https://www.googleapi" + + "s.com/auth/pubsub2\322\025\n\nSubscriber\022\264\001\n\022Cre" + + "ateSubscription\022\036.google.pubsub.v1.Subsc" + + "ription\032\036.google.pubsub.v1.Subscription\"" + + "^\332A+name,topic,push_config,ack_deadline_" + + "seconds\202\323\344\223\002*\032%/v1/{name=projects/*/subs" + + "criptions/*}:\001*\022\241\001\n\017GetSubscription\022(.go" + + "ogle.pubsub.v1.GetSubscriptionRequest\032\036." + + "google.pubsub.v1.Subscription\"D\332A\014subscr" + + "iption\202\323\344\223\002/\022-/v1/{subscription=projects" + + "/*/subscriptions/*}\022\273\001\n\022UpdateSubscripti" + + "on\022+.google.pubsub.v1.UpdateSubscription" + + "Request\032\036.google.pubsub.v1.Subscription\"" + + "X\332A\030subscription,update_mask\202\323\344\223\002722/v1/" + + "{subscription.name=projects/*/subscripti" + + "ons/*}:\001*\022\246\001\n\021ListSubscriptions\022*.google" + + ".pubsub.v1.ListSubscriptionsRequest\032+.go" + + "ogle.pubsub.v1.ListSubscriptionsResponse" + + "\"8\332A\007project\202\323\344\223\002(\022&/v1/{project=project" + + "s/*}/subscriptions\022\237\001\n\022DeleteSubscriptio" + + "n\022+.google.pubsub.v1.DeleteSubscriptionR" + + "equest\032\026.google.protobuf.Empty\"D\332A\014subsc" + + "ription\202\323\344\223\002/*-/v1/{subscription=project" + + "s/*/subscriptions/*}\022\317\001\n\021ModifyAckDeadli" + + "ne\022*.google.pubsub.v1.ModifyAckDeadlineR" + + "equest\032\026.google.protobuf.Empty\"v\332A)subsc" + + "ription,ack_ids,ack_deadline_seconds\202\323\344\223" + + "\002D\"?/v1/{subscription=projects/*/subscri" + + "ptions/*}:modifyAckDeadline:\001*\022\250\001\n\013Ackno" + + "wledge\022$.google.pubsub.v1.AcknowledgeReq" + + "uest\032\026.google.protobuf.Empty\"[\332A\024subscri" + + "ption,ack_ids\202\323\344\223\002>\"9/v1/{subscription=p" + + "rojects/*/subscriptions/*}:acknowledge:\001" + + "*\022\320\001\n\004Pull\022\035.google.pubsub.v1.PullReques" + + "t\032\036.google.pubsub.v1.PullResponse\"\210\001\332A,s" + + "ubscription,return_immediately,max_messa" + + "ges\332A\031subscription,max_messages\202\323\344\223\0027\"2/" + + "v1/{subscription=projects/*/subscription" + + "s/*}:pull:\001*\022f\n\rStreamingPull\022&.google.p" + + "ubsub.v1.StreamingPullRequest\032\'.google.p" + + "ubsub.v1.StreamingPullResponse\"\000(\0010\001\022\273\001\n" + + "\020ModifyPushConfig\022).google.pubsub.v1.Mod" + + "ifyPushConfigRequest\032\026.google.protobuf.E" + + "mpty\"d\332A\030subscription,push_config\202\323\344\223\002C\"" + + ">/v1/{subscription=projects/*/subscripti" + + "ons/*}:modifyPushConfig:\001*\022\211\001\n\013GetSnapsh" + + "ot\022$.google.pubsub.v1.GetSnapshotRequest" + + "\032\032.google.pubsub.v1.Snapshot\"8\332A\010snapsho" + + "t\202\323\344\223\002\'\022%/v1/{snapshot=projects/*/snapsh" + + "ots/*}\022\226\001\n\rListSnapshots\022&.google.pubsub" + + ".v1.ListSnapshotsRequest\032\'.google.pubsub" + + ".v1.ListSnapshotsResponse\"4\332A\007project\202\323\344" + + "\223\002$\022\"/v1/{project=projects/*}/snapshots\022" + + "\227\001\n\016CreateSnapshot\022\'.google.pubsub.v1.Cr" + + "eateSnapshotRequest\032\032.google.pubsub.v1.S" + + "napshot\"@\332A\021name,subscription\202\323\344\223\002&\032!/v1" + + "/{name=projects/*/snapshots/*}:\001*\022\243\001\n\016Up" + + "dateSnapshot\022\'.google.pubsub.v1.UpdateSn" + + "apshotRequest\032\032.google.pubsub.v1.Snapsho" + + "t\"L\332A\024snapshot,update_mask\202\323\344\223\002/2*/v1/{s" + + "napshot.name=projects/*/snapshots/*}:\001*\022" + + "\213\001\n\016DeleteSnapshot\022\'.google.pubsub.v1.De" + + "leteSnapshotRequest\032\026.google.protobuf.Em" + + "pty\"8\332A\010snapshot\202\323\344\223\002\'*%/v1/{snapshot=pr" + + "ojects/*/snapshots/*}\022\204\001\n\004Seek\022\035.google." + + "pubsub.v1.SeekRequest\032\036.google.pubsub.v1" + + ".SeekResponse\"=\202\323\344\223\0027\"2/v1/{subscription" + + "=projects/*/subscriptions/*}:seek:\001*\032p\312A" + + "\025pubsub.googleapis.com\322AUhttps://www.goo" + + "gleapis.com/auth/cloud-platform,https://" + + "www.googleapis.com/auth/pubsubB\252\001\n\024com.g" + + "oogle.pubsub.v1B\013PubsubProtoP\001Z2cloud.go" + + "ogle.com/go/pubsub/apiv1/pubsubpb;pubsub" + + "pb\370\001\001\252\002\026Google.Cloud.PubSub.V1\312\002\026Google\\" + + "Cloud\\PubSub\\V1\352\002\031Google::Cloud::PubSub:" + + ":V1b\006proto3" }; descriptor = com.google.protobuf.Descriptors.FileDescriptor.internalBuildGeneratedFileFrom( @@ -963,7 +962,6 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { "Bucket", "FilenamePrefix", "FilenameSuffix", - "FilenameDatetimeFormat", "TextConfig", "AvroConfig", "MaxDuration", diff --git a/proto-google-cloud-pubsub-v1/src/main/java/com/google/pubsub/v1/PullRequest.java b/proto-google-cloud-pubsub-v1/src/main/java/com/google/pubsub/v1/PullRequest.java index 9d0f93c99..33951890b 100644 --- a/proto-google-cloud-pubsub-v1/src/main/java/com/google/pubsub/v1/PullRequest.java +++ b/proto-google-cloud-pubsub-v1/src/main/java/com/google/pubsub/v1/PullRequest.java @@ -137,7 +137,7 @@ public com.google.protobuf.ByteString getSubscriptionBytes() { * * * @deprecated google.pubsub.v1.PullRequest.return_immediately is deprecated. See - * google/pubsub/v1/pubsub.proto;l=1363 + * google/pubsub/v1/pubsub.proto;l=1358 * @return The returnImmediately. */ @java.lang.Override @@ -688,7 +688,7 @@ public Builder setSubscriptionBytes(com.google.protobuf.ByteString value) { * * * @deprecated google.pubsub.v1.PullRequest.return_immediately is deprecated. See - * google/pubsub/v1/pubsub.proto;l=1363 + * google/pubsub/v1/pubsub.proto;l=1358 * @return The returnImmediately. */ @java.lang.Override @@ -714,7 +714,7 @@ public boolean getReturnImmediately() { * * * @deprecated google.pubsub.v1.PullRequest.return_immediately is deprecated. See - * google/pubsub/v1/pubsub.proto;l=1363 + * google/pubsub/v1/pubsub.proto;l=1358 * @param value The returnImmediately to set. * @return This builder for chaining. */ @@ -744,7 +744,7 @@ public Builder setReturnImmediately(boolean value) { * * * @deprecated google.pubsub.v1.PullRequest.return_immediately is deprecated. See - * google/pubsub/v1/pubsub.proto;l=1363 + * google/pubsub/v1/pubsub.proto;l=1358 * @return This builder for chaining. */ @java.lang.Deprecated diff --git a/proto-google-cloud-pubsub-v1/src/main/java/com/google/pubsub/v1/PullRequestOrBuilder.java b/proto-google-cloud-pubsub-v1/src/main/java/com/google/pubsub/v1/PullRequestOrBuilder.java index 08a7576aa..0a9d2f97b 100644 --- a/proto-google-cloud-pubsub-v1/src/main/java/com/google/pubsub/v1/PullRequestOrBuilder.java +++ b/proto-google-cloud-pubsub-v1/src/main/java/com/google/pubsub/v1/PullRequestOrBuilder.java @@ -72,7 +72,7 @@ public interface PullRequestOrBuilder * * * @deprecated google.pubsub.v1.PullRequest.return_immediately is deprecated. See - * google/pubsub/v1/pubsub.proto;l=1363 + * google/pubsub/v1/pubsub.proto;l=1358 * @return The returnImmediately. */ @java.lang.Deprecated diff --git a/proto-google-cloud-pubsub-v1/src/main/proto/google/pubsub/v1/pubsub.proto b/proto-google-cloud-pubsub-v1/src/main/proto/google/pubsub/v1/pubsub.proto index 2e606060d..93e1e84a7 100644 --- a/proto-google-cloud-pubsub-v1/src/main/proto/google/pubsub/v1/pubsub.proto +++ b/proto-google-cloud-pubsub-v1/src/main/proto/google/pubsub/v1/pubsub.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2023 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -203,7 +203,7 @@ message IngestionDataSourceSettings { KINESIS_PERMISSION_DENIED = 2; // Permission denied encountered while publishing to the topic. This can - // happen if the Pub/Sub SA has not been granted the [appropriate publish + // happen due to Pub/Sub SA has not been granted the [appropriate publish // permissions](https://cloud.google.com/pubsub/docs/access-control#pubsub.publisher) PUBLISH_PERMISSION_DENIED = 3; @@ -1197,11 +1197,6 @@ message CloudStorageConfig { // Must not end in "/". string filename_suffix = 3 [(google.api.field_behavior) = OPTIONAL]; - // Optional. User-provided format string specifying how to represent datetimes - // in Cloud Storage filenames. See the [datetime format - // guidance](https://cloud.google.com/pubsub/docs/create-cloudstorage-subscription#file_names). - string filename_datetime_format = 10 [(google.api.field_behavior) = OPTIONAL]; - // Defaults to text format. oneof output_format { // Optional. If set, message data will be written to Cloud Storage in text diff --git a/proto-google-cloud-pubsub-v1/src/main/proto/google/pubsub/v1/schema.proto b/proto-google-cloud-pubsub-v1/src/main/proto/google/pubsub/v1/schema.proto index d52c678c5..bd17cf0f8 100644 --- a/proto-google-cloud-pubsub-v1/src/main/proto/google/pubsub/v1/schema.proto +++ b/proto-google-cloud-pubsub-v1/src/main/proto/google/pubsub/v1/schema.proto @@ -1,4 +1,4 @@ -// Copyright 2024 Google LLC +// Copyright 2023 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/renovate.json b/renovate.json index 58c97664e..df71c3b5a 100644 --- a/renovate.json +++ b/renovate.json @@ -20,7 +20,7 @@ "customManagers": [ { "customType": "regex", - "fileMatch": [ + "fileMatch": [ "^.kokoro/presubmit/graalvm-native.*.cfg$" ], "matchStrings": ["value: \"gcr.io/cloud-devrel-public-resources/graalvm.*:(?.*?)\""], @@ -30,7 +30,7 @@ { "customType": "regex", "fileMatch": [ - "^.github/workflows/unmanaged_dependency_check.yaml$" + "^.github/workflows/unmanaged_dependency_check.yaml$" ], "matchStrings": ["uses: googleapis/sdk-platform-java/java-shared-dependencies/unmanaged-dependency-check@google-cloud-shared-dependencies/v(?.+?)\\n"], "depNameTemplate": "com.google.cloud:sdk-platform-java-config", From cdb160b0b41914e73d38a69cb8dca985e131c200 Mon Sep 17 00:00:00 2001 From: cloud-java-bot Date: Tue, 4 Jun 2024 20:52:38 +0000 Subject: [PATCH 10/18] chore: update googleapis committish at Tue Jun 4 20:52:32 UTC 2024 --- generation_config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/generation_config.yaml b/generation_config.yaml index e0adb5245..9f366dc8c 100644 --- a/generation_config.yaml +++ b/generation_config.yaml @@ -1,6 +1,6 @@ gapic_generator_version: 2.41.0 protoc_version: '25.3' -googleapis_commitish: 6f289d775912966eb0cf04bda91e5e355c998d30 +googleapis_commitish: ede5e02ad747c9199a7953b222b85715e097189c libraries_bom_version: 26.38.0 template_excludes: - ".github/workflows/samples.yaml" From 52b6ac45755dd4fb478372ad3e47cd6f41bd6101 Mon Sep 17 00:00:00 2001 From: cloud-java-bot Date: Tue, 4 Jun 2024 20:58:38 +0000 Subject: [PATCH 11/18] chore: generate libraries at Tue Jun 4 20:53:01 UTC 2024 --- .../com/google/pubsub/v1/BigQueryConfig.java | 217 +++++++++ .../pubsub/v1/BigQueryConfigOrBuilder.java | 35 ++ .../google/pubsub/v1/CloudStorageConfig.java | 449 ++++++++++++++++- .../v1/CloudStorageConfigOrBuilder.java | 64 +++ .../v1/IngestionDataSourceSettings.java | 4 +- .../com/google/pubsub/v1/PubsubProto.java | 460 +++++++++--------- .../com/google/pubsub/v1/PullRequest.java | 8 +- .../pubsub/v1/PullRequestOrBuilder.java | 2 +- .../main/proto/google/pubsub/v1/pubsub.proto | 25 +- .../main/proto/google/pubsub/v1/schema.proto | 2 +- 10 files changed, 1011 insertions(+), 255 deletions(-) diff --git a/proto-google-cloud-pubsub-v1/src/main/java/com/google/pubsub/v1/BigQueryConfig.java b/proto-google-cloud-pubsub-v1/src/main/java/com/google/pubsub/v1/BigQueryConfig.java index 67b06239d..66323e6af 100644 --- a/proto-google-cloud-pubsub-v1/src/main/java/com/google/pubsub/v1/BigQueryConfig.java +++ b/proto-google-cloud-pubsub-v1/src/main/java/com/google/pubsub/v1/BigQueryConfig.java @@ -41,6 +41,7 @@ private BigQueryConfig(com.google.protobuf.GeneratedMessageV3.Builder builder private BigQueryConfig() { table_ = ""; state_ = 0; + serviceAccountEmail_ = ""; } @java.lang.Override @@ -477,6 +478,67 @@ public boolean getUseTableSchema() { return useTableSchema_; } + public static final int SERVICE_ACCOUNT_EMAIL_FIELD_NUMBER = 7; + + @SuppressWarnings("serial") + private volatile java.lang.Object serviceAccountEmail_ = ""; + /** + * + * + *
+   * Optional. The service account to use to write to BigQuery. The subscription
+   * creator or updater that specifies this field must have
+   * `iam.serviceAccounts.actAs` permission on the service account. If not
+   * specified, the Pub/Sub [service
+   * agent](https://cloud.google.com/iam/docs/service-agents),
+   * service-{project_number}@gcp-sa-pubsub.iam.gserviceaccount.com, is used.
+   * 
+ * + * string service_account_email = 7 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The serviceAccountEmail. + */ + @java.lang.Override + public java.lang.String getServiceAccountEmail() { + java.lang.Object ref = serviceAccountEmail_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + serviceAccountEmail_ = s; + return s; + } + } + /** + * + * + *
+   * Optional. The service account to use to write to BigQuery. The subscription
+   * creator or updater that specifies this field must have
+   * `iam.serviceAccounts.actAs` permission on the service account. If not
+   * specified, the Pub/Sub [service
+   * agent](https://cloud.google.com/iam/docs/service-agents),
+   * service-{project_number}@gcp-sa-pubsub.iam.gserviceaccount.com, is used.
+   * 
+ * + * string service_account_email = 7 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for serviceAccountEmail. + */ + @java.lang.Override + public com.google.protobuf.ByteString getServiceAccountEmailBytes() { + java.lang.Object ref = serviceAccountEmail_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + serviceAccountEmail_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + private byte memoizedIsInitialized = -1; @java.lang.Override @@ -509,6 +571,9 @@ public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io if (useTableSchema_ != false) { output.writeBool(6, useTableSchema_); } + if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(serviceAccountEmail_)) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 7, serviceAccountEmail_); + } getUnknownFields().writeTo(output); } @@ -536,6 +601,9 @@ public int getSerializedSize() { if (useTableSchema_ != false) { size += com.google.protobuf.CodedOutputStream.computeBoolSize(6, useTableSchema_); } + if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(serviceAccountEmail_)) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(7, serviceAccountEmail_); + } size += getUnknownFields().getSerializedSize(); memoizedSize = size; return size; @@ -557,6 +625,7 @@ public boolean equals(final java.lang.Object obj) { if (getDropUnknownFields() != other.getDropUnknownFields()) return false; if (state_ != other.state_) return false; if (getUseTableSchema() != other.getUseTableSchema()) return false; + if (!getServiceAccountEmail().equals(other.getServiceAccountEmail())) return false; if (!getUnknownFields().equals(other.getUnknownFields())) return false; return true; } @@ -580,6 +649,8 @@ public int hashCode() { hash = (53 * hash) + state_; hash = (37 * hash) + USE_TABLE_SCHEMA_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(getUseTableSchema()); + hash = (37 * hash) + SERVICE_ACCOUNT_EMAIL_FIELD_NUMBER; + hash = (53 * hash) + getServiceAccountEmail().hashCode(); hash = (29 * hash) + getUnknownFields().hashCode(); memoizedHashCode = hash; return hash; @@ -724,6 +795,7 @@ public Builder clear() { dropUnknownFields_ = false; state_ = 0; useTableSchema_ = false; + serviceAccountEmail_ = ""; return this; } @@ -777,6 +849,9 @@ private void buildPartial0(com.google.pubsub.v1.BigQueryConfig result) { if (((from_bitField0_ & 0x00000020) != 0)) { result.useTableSchema_ = useTableSchema_; } + if (((from_bitField0_ & 0x00000040) != 0)) { + result.serviceAccountEmail_ = serviceAccountEmail_; + } } @java.lang.Override @@ -844,6 +919,11 @@ public Builder mergeFrom(com.google.pubsub.v1.BigQueryConfig other) { if (other.getUseTableSchema() != false) { setUseTableSchema(other.getUseTableSchema()); } + if (!other.getServiceAccountEmail().isEmpty()) { + serviceAccountEmail_ = other.serviceAccountEmail_; + bitField0_ |= 0x00000040; + onChanged(); + } this.mergeUnknownFields(other.getUnknownFields()); onChanged(); return this; @@ -906,6 +986,12 @@ public Builder mergeFrom( bitField0_ |= 0x00000020; break; } // case 48 + case 58: + { + serviceAccountEmail_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000040; + break; + } // case 58 default: { if (!super.parseUnknownField(input, extensionRegistry, tag)) { @@ -1389,6 +1475,137 @@ public Builder clearUseTableSchema() { return this; } + private java.lang.Object serviceAccountEmail_ = ""; + /** + * + * + *
+     * Optional. The service account to use to write to BigQuery. The subscription
+     * creator or updater that specifies this field must have
+     * `iam.serviceAccounts.actAs` permission on the service account. If not
+     * specified, the Pub/Sub [service
+     * agent](https://cloud.google.com/iam/docs/service-agents),
+     * service-{project_number}@gcp-sa-pubsub.iam.gserviceaccount.com, is used.
+     * 
+ * + * string service_account_email = 7 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The serviceAccountEmail. + */ + public java.lang.String getServiceAccountEmail() { + java.lang.Object ref = serviceAccountEmail_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + serviceAccountEmail_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * + * + *
+     * Optional. The service account to use to write to BigQuery. The subscription
+     * creator or updater that specifies this field must have
+     * `iam.serviceAccounts.actAs` permission on the service account. If not
+     * specified, the Pub/Sub [service
+     * agent](https://cloud.google.com/iam/docs/service-agents),
+     * service-{project_number}@gcp-sa-pubsub.iam.gserviceaccount.com, is used.
+     * 
+ * + * string service_account_email = 7 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for serviceAccountEmail. + */ + public com.google.protobuf.ByteString getServiceAccountEmailBytes() { + java.lang.Object ref = serviceAccountEmail_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + serviceAccountEmail_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * + * + *
+     * Optional. The service account to use to write to BigQuery. The subscription
+     * creator or updater that specifies this field must have
+     * `iam.serviceAccounts.actAs` permission on the service account. If not
+     * specified, the Pub/Sub [service
+     * agent](https://cloud.google.com/iam/docs/service-agents),
+     * service-{project_number}@gcp-sa-pubsub.iam.gserviceaccount.com, is used.
+     * 
+ * + * string service_account_email = 7 [(.google.api.field_behavior) = OPTIONAL]; + * + * @param value The serviceAccountEmail to set. + * @return This builder for chaining. + */ + public Builder setServiceAccountEmail(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + serviceAccountEmail_ = value; + bitField0_ |= 0x00000040; + onChanged(); + return this; + } + /** + * + * + *
+     * Optional. The service account to use to write to BigQuery. The subscription
+     * creator or updater that specifies this field must have
+     * `iam.serviceAccounts.actAs` permission on the service account. If not
+     * specified, the Pub/Sub [service
+     * agent](https://cloud.google.com/iam/docs/service-agents),
+     * service-{project_number}@gcp-sa-pubsub.iam.gserviceaccount.com, is used.
+     * 
+ * + * string service_account_email = 7 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return This builder for chaining. + */ + public Builder clearServiceAccountEmail() { + serviceAccountEmail_ = getDefaultInstance().getServiceAccountEmail(); + bitField0_ = (bitField0_ & ~0x00000040); + onChanged(); + return this; + } + /** + * + * + *
+     * Optional. The service account to use to write to BigQuery. The subscription
+     * creator or updater that specifies this field must have
+     * `iam.serviceAccounts.actAs` permission on the service account. If not
+     * specified, the Pub/Sub [service
+     * agent](https://cloud.google.com/iam/docs/service-agents),
+     * service-{project_number}@gcp-sa-pubsub.iam.gserviceaccount.com, is used.
+     * 
+ * + * string service_account_email = 7 [(.google.api.field_behavior) = OPTIONAL]; + * + * @param value The bytes for serviceAccountEmail to set. + * @return This builder for chaining. + */ + public Builder setServiceAccountEmailBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + serviceAccountEmail_ = value; + bitField0_ |= 0x00000040; + onChanged(); + return this; + } + @java.lang.Override public final Builder setUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields) { return super.setUnknownFields(unknownFields); diff --git a/proto-google-cloud-pubsub-v1/src/main/java/com/google/pubsub/v1/BigQueryConfigOrBuilder.java b/proto-google-cloud-pubsub-v1/src/main/java/com/google/pubsub/v1/BigQueryConfigOrBuilder.java index a2420175d..958a634f2 100644 --- a/proto-google-cloud-pubsub-v1/src/main/java/com/google/pubsub/v1/BigQueryConfigOrBuilder.java +++ b/proto-google-cloud-pubsub-v1/src/main/java/com/google/pubsub/v1/BigQueryConfigOrBuilder.java @@ -145,4 +145,39 @@ public interface BigQueryConfigOrBuilder * @return The useTableSchema. */ boolean getUseTableSchema(); + + /** + * + * + *
+   * Optional. The service account to use to write to BigQuery. The subscription
+   * creator or updater that specifies this field must have
+   * `iam.serviceAccounts.actAs` permission on the service account. If not
+   * specified, the Pub/Sub [service
+   * agent](https://cloud.google.com/iam/docs/service-agents),
+   * service-{project_number}@gcp-sa-pubsub.iam.gserviceaccount.com, is used.
+   * 
+ * + * string service_account_email = 7 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The serviceAccountEmail. + */ + java.lang.String getServiceAccountEmail(); + /** + * + * + *
+   * Optional. The service account to use to write to BigQuery. The subscription
+   * creator or updater that specifies this field must have
+   * `iam.serviceAccounts.actAs` permission on the service account. If not
+   * specified, the Pub/Sub [service
+   * agent](https://cloud.google.com/iam/docs/service-agents),
+   * service-{project_number}@gcp-sa-pubsub.iam.gserviceaccount.com, is used.
+   * 
+ * + * string service_account_email = 7 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for serviceAccountEmail. + */ + com.google.protobuf.ByteString getServiceAccountEmailBytes(); } diff --git a/proto-google-cloud-pubsub-v1/src/main/java/com/google/pubsub/v1/CloudStorageConfig.java b/proto-google-cloud-pubsub-v1/src/main/java/com/google/pubsub/v1/CloudStorageConfig.java index 5620703da..4f98b34b1 100644 --- a/proto-google-cloud-pubsub-v1/src/main/java/com/google/pubsub/v1/CloudStorageConfig.java +++ b/proto-google-cloud-pubsub-v1/src/main/java/com/google/pubsub/v1/CloudStorageConfig.java @@ -42,7 +42,9 @@ private CloudStorageConfig() { bucket_ = ""; filenamePrefix_ = ""; filenameSuffix_ = ""; + filenameDatetimeFormat_ = ""; state_ = 0; + serviceAccountEmail_ = ""; } @java.lang.Override @@ -1478,6 +1480,61 @@ public com.google.protobuf.ByteString getFilenameSuffixBytes() { } } + public static final int FILENAME_DATETIME_FORMAT_FIELD_NUMBER = 10; + + @SuppressWarnings("serial") + private volatile java.lang.Object filenameDatetimeFormat_ = ""; + /** + * + * + *
+   * Optional. User-provided format string specifying how to represent datetimes
+   * in Cloud Storage filenames. See the [datetime format
+   * guidance](https://cloud.google.com/pubsub/docs/create-cloudstorage-subscription#file_names).
+   * 
+ * + * string filename_datetime_format = 10 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The filenameDatetimeFormat. + */ + @java.lang.Override + public java.lang.String getFilenameDatetimeFormat() { + java.lang.Object ref = filenameDatetimeFormat_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + filenameDatetimeFormat_ = s; + return s; + } + } + /** + * + * + *
+   * Optional. User-provided format string specifying how to represent datetimes
+   * in Cloud Storage filenames. See the [datetime format
+   * guidance](https://cloud.google.com/pubsub/docs/create-cloudstorage-subscription#file_names).
+   * 
+ * + * string filename_datetime_format = 10 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for filenameDatetimeFormat. + */ + @java.lang.Override + public com.google.protobuf.ByteString getFilenameDatetimeFormatBytes() { + java.lang.Object ref = filenameDatetimeFormat_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + filenameDatetimeFormat_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + public static final int TEXT_CONFIG_FIELD_NUMBER = 4; /** * @@ -1714,6 +1771,67 @@ public com.google.pubsub.v1.CloudStorageConfig.State getState() { return result == null ? com.google.pubsub.v1.CloudStorageConfig.State.UNRECOGNIZED : result; } + public static final int SERVICE_ACCOUNT_EMAIL_FIELD_NUMBER = 11; + + @SuppressWarnings("serial") + private volatile java.lang.Object serviceAccountEmail_ = ""; + /** + * + * + *
+   * Optional. The service account to use to write to Cloud Storage. The
+   * subscription creator or updater that specifies this field must have
+   * `iam.serviceAccounts.actAs` permission on the service account. If not
+   * specified, the Pub/Sub
+   * [service agent](https://cloud.google.com/iam/docs/service-agents),
+   * service-{project_number}@gcp-sa-pubsub.iam.gserviceaccount.com, is used.
+   * 
+ * + * string service_account_email = 11 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The serviceAccountEmail. + */ + @java.lang.Override + public java.lang.String getServiceAccountEmail() { + java.lang.Object ref = serviceAccountEmail_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + serviceAccountEmail_ = s; + return s; + } + } + /** + * + * + *
+   * Optional. The service account to use to write to Cloud Storage. The
+   * subscription creator or updater that specifies this field must have
+   * `iam.serviceAccounts.actAs` permission on the service account. If not
+   * specified, the Pub/Sub
+   * [service agent](https://cloud.google.com/iam/docs/service-agents),
+   * service-{project_number}@gcp-sa-pubsub.iam.gserviceaccount.com, is used.
+   * 
+ * + * string service_account_email = 11 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for serviceAccountEmail. + */ + @java.lang.Override + public com.google.protobuf.ByteString getServiceAccountEmailBytes() { + java.lang.Object ref = serviceAccountEmail_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + serviceAccountEmail_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + private byte memoizedIsInitialized = -1; @java.lang.Override @@ -1752,6 +1870,12 @@ public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io if (state_ != com.google.pubsub.v1.CloudStorageConfig.State.STATE_UNSPECIFIED.getNumber()) { output.writeEnum(9, state_); } + if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(filenameDatetimeFormat_)) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 10, filenameDatetimeFormat_); + } + if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(serviceAccountEmail_)) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 11, serviceAccountEmail_); + } getUnknownFields().writeTo(output); } @@ -1789,6 +1913,12 @@ public int getSerializedSize() { if (state_ != com.google.pubsub.v1.CloudStorageConfig.State.STATE_UNSPECIFIED.getNumber()) { size += com.google.protobuf.CodedOutputStream.computeEnumSize(9, state_); } + if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(filenameDatetimeFormat_)) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(10, filenameDatetimeFormat_); + } + if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(serviceAccountEmail_)) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(11, serviceAccountEmail_); + } size += getUnknownFields().getSerializedSize(); memoizedSize = size; return size; @@ -1807,12 +1937,14 @@ public boolean equals(final java.lang.Object obj) { if (!getBucket().equals(other.getBucket())) return false; if (!getFilenamePrefix().equals(other.getFilenamePrefix())) return false; if (!getFilenameSuffix().equals(other.getFilenameSuffix())) return false; + if (!getFilenameDatetimeFormat().equals(other.getFilenameDatetimeFormat())) return false; if (hasMaxDuration() != other.hasMaxDuration()) return false; if (hasMaxDuration()) { if (!getMaxDuration().equals(other.getMaxDuration())) return false; } if (getMaxBytes() != other.getMaxBytes()) return false; if (state_ != other.state_) return false; + if (!getServiceAccountEmail().equals(other.getServiceAccountEmail())) return false; if (!getOutputFormatCase().equals(other.getOutputFormatCase())) return false; switch (outputFormatCase_) { case 4: @@ -1841,6 +1973,8 @@ public int hashCode() { hash = (53 * hash) + getFilenamePrefix().hashCode(); hash = (37 * hash) + FILENAME_SUFFIX_FIELD_NUMBER; hash = (53 * hash) + getFilenameSuffix().hashCode(); + hash = (37 * hash) + FILENAME_DATETIME_FORMAT_FIELD_NUMBER; + hash = (53 * hash) + getFilenameDatetimeFormat().hashCode(); if (hasMaxDuration()) { hash = (37 * hash) + MAX_DURATION_FIELD_NUMBER; hash = (53 * hash) + getMaxDuration().hashCode(); @@ -1849,6 +1983,8 @@ public int hashCode() { hash = (53 * hash) + com.google.protobuf.Internal.hashLong(getMaxBytes()); hash = (37 * hash) + STATE_FIELD_NUMBER; hash = (53 * hash) + state_; + hash = (37 * hash) + SERVICE_ACCOUNT_EMAIL_FIELD_NUMBER; + hash = (53 * hash) + getServiceAccountEmail().hashCode(); switch (outputFormatCase_) { case 4: hash = (37 * hash) + TEXT_CONFIG_FIELD_NUMBER; @@ -2012,6 +2148,7 @@ public Builder clear() { bucket_ = ""; filenamePrefix_ = ""; filenameSuffix_ = ""; + filenameDatetimeFormat_ = ""; if (textConfigBuilder_ != null) { textConfigBuilder_.clear(); } @@ -2025,6 +2162,7 @@ public Builder clear() { } maxBytes_ = 0L; state_ = 0; + serviceAccountEmail_ = ""; outputFormatCase_ = 0; outputFormat_ = null; return this; @@ -2073,18 +2211,24 @@ private void buildPartial0(com.google.pubsub.v1.CloudStorageConfig result) { if (((from_bitField0_ & 0x00000004) != 0)) { result.filenameSuffix_ = filenameSuffix_; } + if (((from_bitField0_ & 0x00000008) != 0)) { + result.filenameDatetimeFormat_ = filenameDatetimeFormat_; + } int to_bitField0_ = 0; - if (((from_bitField0_ & 0x00000020) != 0)) { + if (((from_bitField0_ & 0x00000040) != 0)) { result.maxDuration_ = maxDurationBuilder_ == null ? maxDuration_ : maxDurationBuilder_.build(); to_bitField0_ |= 0x00000001; } - if (((from_bitField0_ & 0x00000040) != 0)) { + if (((from_bitField0_ & 0x00000080) != 0)) { result.maxBytes_ = maxBytes_; } - if (((from_bitField0_ & 0x00000080) != 0)) { + if (((from_bitField0_ & 0x00000100) != 0)) { result.state_ = state_; } + if (((from_bitField0_ & 0x00000200) != 0)) { + result.serviceAccountEmail_ = serviceAccountEmail_; + } result.bitField0_ |= to_bitField0_; } @@ -2159,6 +2303,11 @@ public Builder mergeFrom(com.google.pubsub.v1.CloudStorageConfig other) { bitField0_ |= 0x00000004; onChanged(); } + if (!other.getFilenameDatetimeFormat().isEmpty()) { + filenameDatetimeFormat_ = other.filenameDatetimeFormat_; + bitField0_ |= 0x00000008; + onChanged(); + } if (other.hasMaxDuration()) { mergeMaxDuration(other.getMaxDuration()); } @@ -2168,6 +2317,11 @@ public Builder mergeFrom(com.google.pubsub.v1.CloudStorageConfig other) { if (other.state_ != 0) { setStateValue(other.getStateValue()); } + if (!other.getServiceAccountEmail().isEmpty()) { + serviceAccountEmail_ = other.serviceAccountEmail_; + bitField0_ |= 0x00000200; + onChanged(); + } switch (other.getOutputFormatCase()) { case TEXT_CONFIG: { @@ -2243,21 +2397,33 @@ public Builder mergeFrom( case 50: { input.readMessage(getMaxDurationFieldBuilder().getBuilder(), extensionRegistry); - bitField0_ |= 0x00000020; + bitField0_ |= 0x00000040; break; } // case 50 case 56: { maxBytes_ = input.readInt64(); - bitField0_ |= 0x00000040; + bitField0_ |= 0x00000080; break; } // case 56 case 72: { state_ = input.readEnum(); - bitField0_ |= 0x00000080; + bitField0_ |= 0x00000100; break; } // case 72 + case 82: + { + filenameDatetimeFormat_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000008; + break; + } // case 82 + case 90: + { + serviceAccountEmail_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000200; + break; + } // case 90 default: { if (!super.parseUnknownField(input, extensionRegistry, tag)) { @@ -2639,6 +2805,122 @@ public Builder setFilenameSuffixBytes(com.google.protobuf.ByteString value) { return this; } + private java.lang.Object filenameDatetimeFormat_ = ""; + /** + * + * + *
+     * Optional. User-provided format string specifying how to represent datetimes
+     * in Cloud Storage filenames. See the [datetime format
+     * guidance](https://cloud.google.com/pubsub/docs/create-cloudstorage-subscription#file_names).
+     * 
+ * + * string filename_datetime_format = 10 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The filenameDatetimeFormat. + */ + public java.lang.String getFilenameDatetimeFormat() { + java.lang.Object ref = filenameDatetimeFormat_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + filenameDatetimeFormat_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * + * + *
+     * Optional. User-provided format string specifying how to represent datetimes
+     * in Cloud Storage filenames. See the [datetime format
+     * guidance](https://cloud.google.com/pubsub/docs/create-cloudstorage-subscription#file_names).
+     * 
+ * + * string filename_datetime_format = 10 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for filenameDatetimeFormat. + */ + public com.google.protobuf.ByteString getFilenameDatetimeFormatBytes() { + java.lang.Object ref = filenameDatetimeFormat_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + filenameDatetimeFormat_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * + * + *
+     * Optional. User-provided format string specifying how to represent datetimes
+     * in Cloud Storage filenames. See the [datetime format
+     * guidance](https://cloud.google.com/pubsub/docs/create-cloudstorage-subscription#file_names).
+     * 
+ * + * string filename_datetime_format = 10 [(.google.api.field_behavior) = OPTIONAL]; + * + * @param value The filenameDatetimeFormat to set. + * @return This builder for chaining. + */ + public Builder setFilenameDatetimeFormat(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + filenameDatetimeFormat_ = value; + bitField0_ |= 0x00000008; + onChanged(); + return this; + } + /** + * + * + *
+     * Optional. User-provided format string specifying how to represent datetimes
+     * in Cloud Storage filenames. See the [datetime format
+     * guidance](https://cloud.google.com/pubsub/docs/create-cloudstorage-subscription#file_names).
+     * 
+ * + * string filename_datetime_format = 10 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return This builder for chaining. + */ + public Builder clearFilenameDatetimeFormat() { + filenameDatetimeFormat_ = getDefaultInstance().getFilenameDatetimeFormat(); + bitField0_ = (bitField0_ & ~0x00000008); + onChanged(); + return this; + } + /** + * + * + *
+     * Optional. User-provided format string specifying how to represent datetimes
+     * in Cloud Storage filenames. See the [datetime format
+     * guidance](https://cloud.google.com/pubsub/docs/create-cloudstorage-subscription#file_names).
+     * 
+ * + * string filename_datetime_format = 10 [(.google.api.field_behavior) = OPTIONAL]; + * + * @param value The bytes for filenameDatetimeFormat to set. + * @return This builder for chaining. + */ + public Builder setFilenameDatetimeFormatBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + filenameDatetimeFormat_ = value; + bitField0_ |= 0x00000008; + onChanged(); + return this; + } + private com.google.protobuf.SingleFieldBuilderV3< com.google.pubsub.v1.CloudStorageConfig.TextConfig, com.google.pubsub.v1.CloudStorageConfig.TextConfig.Builder, @@ -3134,7 +3416,7 @@ public com.google.pubsub.v1.CloudStorageConfig.AvroConfigOrBuilder getAvroConfig * @return Whether the maxDuration field is set. */ public boolean hasMaxDuration() { - return ((bitField0_ & 0x00000020) != 0); + return ((bitField0_ & 0x00000040) != 0); } /** * @@ -3180,7 +3462,7 @@ public Builder setMaxDuration(com.google.protobuf.Duration value) { } else { maxDurationBuilder_.setMessage(value); } - bitField0_ |= 0x00000020; + bitField0_ |= 0x00000040; onChanged(); return this; } @@ -3202,7 +3484,7 @@ public Builder setMaxDuration(com.google.protobuf.Duration.Builder builderForVal } else { maxDurationBuilder_.setMessage(builderForValue.build()); } - bitField0_ |= 0x00000020; + bitField0_ |= 0x00000040; onChanged(); return this; } @@ -3220,7 +3502,7 @@ public Builder setMaxDuration(com.google.protobuf.Duration.Builder builderForVal */ public Builder mergeMaxDuration(com.google.protobuf.Duration value) { if (maxDurationBuilder_ == null) { - if (((bitField0_ & 0x00000020) != 0) + if (((bitField0_ & 0x00000040) != 0) && maxDuration_ != null && maxDuration_ != com.google.protobuf.Duration.getDefaultInstance()) { getMaxDurationBuilder().mergeFrom(value); @@ -3231,7 +3513,7 @@ public Builder mergeMaxDuration(com.google.protobuf.Duration value) { maxDurationBuilder_.mergeFrom(value); } if (maxDuration_ != null) { - bitField0_ |= 0x00000020; + bitField0_ |= 0x00000040; onChanged(); } return this; @@ -3249,7 +3531,7 @@ public Builder mergeMaxDuration(com.google.protobuf.Duration value) { * */ public Builder clearMaxDuration() { - bitField0_ = (bitField0_ & ~0x00000020); + bitField0_ = (bitField0_ & ~0x00000040); maxDuration_ = null; if (maxDurationBuilder_ != null) { maxDurationBuilder_.dispose(); @@ -3271,7 +3553,7 @@ public Builder clearMaxDuration() { * */ public com.google.protobuf.Duration.Builder getMaxDurationBuilder() { - bitField0_ |= 0x00000020; + bitField0_ |= 0x00000040; onChanged(); return getMaxDurationFieldBuilder().getBuilder(); } @@ -3360,7 +3642,7 @@ public long getMaxBytes() { public Builder setMaxBytes(long value) { maxBytes_ = value; - bitField0_ |= 0x00000040; + bitField0_ |= 0x00000080; onChanged(); return this; } @@ -3378,7 +3660,7 @@ public Builder setMaxBytes(long value) { * @return This builder for chaining. */ public Builder clearMaxBytes() { - bitField0_ = (bitField0_ & ~0x00000040); + bitField0_ = (bitField0_ & ~0x00000080); maxBytes_ = 0L; onChanged(); return this; @@ -3420,7 +3702,7 @@ public int getStateValue() { */ public Builder setStateValue(int value) { state_ = value; - bitField0_ |= 0x00000080; + bitField0_ |= 0x00000100; onChanged(); return this; } @@ -3463,7 +3745,7 @@ public Builder setState(com.google.pubsub.v1.CloudStorageConfig.State value) { if (value == null) { throw new NullPointerException(); } - bitField0_ |= 0x00000080; + bitField0_ |= 0x00000100; state_ = value.getNumber(); onChanged(); return this; @@ -3483,12 +3765,143 @@ public Builder setState(com.google.pubsub.v1.CloudStorageConfig.State value) { * @return This builder for chaining. */ public Builder clearState() { - bitField0_ = (bitField0_ & ~0x00000080); + bitField0_ = (bitField0_ & ~0x00000100); state_ = 0; onChanged(); return this; } + private java.lang.Object serviceAccountEmail_ = ""; + /** + * + * + *
+     * Optional. The service account to use to write to Cloud Storage. The
+     * subscription creator or updater that specifies this field must have
+     * `iam.serviceAccounts.actAs` permission on the service account. If not
+     * specified, the Pub/Sub
+     * [service agent](https://cloud.google.com/iam/docs/service-agents),
+     * service-{project_number}@gcp-sa-pubsub.iam.gserviceaccount.com, is used.
+     * 
+ * + * string service_account_email = 11 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The serviceAccountEmail. + */ + public java.lang.String getServiceAccountEmail() { + java.lang.Object ref = serviceAccountEmail_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + serviceAccountEmail_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * + * + *
+     * Optional. The service account to use to write to Cloud Storage. The
+     * subscription creator or updater that specifies this field must have
+     * `iam.serviceAccounts.actAs` permission on the service account. If not
+     * specified, the Pub/Sub
+     * [service agent](https://cloud.google.com/iam/docs/service-agents),
+     * service-{project_number}@gcp-sa-pubsub.iam.gserviceaccount.com, is used.
+     * 
+ * + * string service_account_email = 11 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for serviceAccountEmail. + */ + public com.google.protobuf.ByteString getServiceAccountEmailBytes() { + java.lang.Object ref = serviceAccountEmail_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + serviceAccountEmail_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * + * + *
+     * Optional. The service account to use to write to Cloud Storage. The
+     * subscription creator or updater that specifies this field must have
+     * `iam.serviceAccounts.actAs` permission on the service account. If not
+     * specified, the Pub/Sub
+     * [service agent](https://cloud.google.com/iam/docs/service-agents),
+     * service-{project_number}@gcp-sa-pubsub.iam.gserviceaccount.com, is used.
+     * 
+ * + * string service_account_email = 11 [(.google.api.field_behavior) = OPTIONAL]; + * + * @param value The serviceAccountEmail to set. + * @return This builder for chaining. + */ + public Builder setServiceAccountEmail(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + serviceAccountEmail_ = value; + bitField0_ |= 0x00000200; + onChanged(); + return this; + } + /** + * + * + *
+     * Optional. The service account to use to write to Cloud Storage. The
+     * subscription creator or updater that specifies this field must have
+     * `iam.serviceAccounts.actAs` permission on the service account. If not
+     * specified, the Pub/Sub
+     * [service agent](https://cloud.google.com/iam/docs/service-agents),
+     * service-{project_number}@gcp-sa-pubsub.iam.gserviceaccount.com, is used.
+     * 
+ * + * string service_account_email = 11 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return This builder for chaining. + */ + public Builder clearServiceAccountEmail() { + serviceAccountEmail_ = getDefaultInstance().getServiceAccountEmail(); + bitField0_ = (bitField0_ & ~0x00000200); + onChanged(); + return this; + } + /** + * + * + *
+     * Optional. The service account to use to write to Cloud Storage. The
+     * subscription creator or updater that specifies this field must have
+     * `iam.serviceAccounts.actAs` permission on the service account. If not
+     * specified, the Pub/Sub
+     * [service agent](https://cloud.google.com/iam/docs/service-agents),
+     * service-{project_number}@gcp-sa-pubsub.iam.gserviceaccount.com, is used.
+     * 
+ * + * string service_account_email = 11 [(.google.api.field_behavior) = OPTIONAL]; + * + * @param value The bytes for serviceAccountEmail to set. + * @return This builder for chaining. + */ + public Builder setServiceAccountEmailBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + serviceAccountEmail_ = value; + bitField0_ |= 0x00000200; + onChanged(); + return this; + } + @java.lang.Override public final Builder setUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields) { return super.setUnknownFields(unknownFields); diff --git a/proto-google-cloud-pubsub-v1/src/main/java/com/google/pubsub/v1/CloudStorageConfigOrBuilder.java b/proto-google-cloud-pubsub-v1/src/main/java/com/google/pubsub/v1/CloudStorageConfigOrBuilder.java index 131d46624..11d3fa787 100644 --- a/proto-google-cloud-pubsub-v1/src/main/java/com/google/pubsub/v1/CloudStorageConfigOrBuilder.java +++ b/proto-google-cloud-pubsub-v1/src/main/java/com/google/pubsub/v1/CloudStorageConfigOrBuilder.java @@ -111,6 +111,35 @@ public interface CloudStorageConfigOrBuilder */ com.google.protobuf.ByteString getFilenameSuffixBytes(); + /** + * + * + *
+   * Optional. User-provided format string specifying how to represent datetimes
+   * in Cloud Storage filenames. See the [datetime format
+   * guidance](https://cloud.google.com/pubsub/docs/create-cloudstorage-subscription#file_names).
+   * 
+ * + * string filename_datetime_format = 10 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The filenameDatetimeFormat. + */ + java.lang.String getFilenameDatetimeFormat(); + /** + * + * + *
+   * Optional. User-provided format string specifying how to represent datetimes
+   * in Cloud Storage filenames. See the [datetime format
+   * guidance](https://cloud.google.com/pubsub/docs/create-cloudstorage-subscription#file_names).
+   * 
+ * + * string filename_datetime_format = 10 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for filenameDatetimeFormat. + */ + com.google.protobuf.ByteString getFilenameDatetimeFormatBytes(); + /** * * @@ -289,5 +318,40 @@ public interface CloudStorageConfigOrBuilder */ com.google.pubsub.v1.CloudStorageConfig.State getState(); + /** + * + * + *
+   * Optional. The service account to use to write to Cloud Storage. The
+   * subscription creator or updater that specifies this field must have
+   * `iam.serviceAccounts.actAs` permission on the service account. If not
+   * specified, the Pub/Sub
+   * [service agent](https://cloud.google.com/iam/docs/service-agents),
+   * service-{project_number}@gcp-sa-pubsub.iam.gserviceaccount.com, is used.
+   * 
+ * + * string service_account_email = 11 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The serviceAccountEmail. + */ + java.lang.String getServiceAccountEmail(); + /** + * + * + *
+   * Optional. The service account to use to write to Cloud Storage. The
+   * subscription creator or updater that specifies this field must have
+   * `iam.serviceAccounts.actAs` permission on the service account. If not
+   * specified, the Pub/Sub
+   * [service agent](https://cloud.google.com/iam/docs/service-agents),
+   * service-{project_number}@gcp-sa-pubsub.iam.gserviceaccount.com, is used.
+   * 
+ * + * string service_account_email = 11 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for serviceAccountEmail. + */ + com.google.protobuf.ByteString getServiceAccountEmailBytes(); + com.google.pubsub.v1.CloudStorageConfig.OutputFormatCase getOutputFormatCase(); } diff --git a/proto-google-cloud-pubsub-v1/src/main/java/com/google/pubsub/v1/IngestionDataSourceSettings.java b/proto-google-cloud-pubsub-v1/src/main/java/com/google/pubsub/v1/IngestionDataSourceSettings.java index 9d97d01d2..b56f85ee0 100644 --- a/proto-google-cloud-pubsub-v1/src/main/java/com/google/pubsub/v1/IngestionDataSourceSettings.java +++ b/proto-google-cloud-pubsub-v1/src/main/java/com/google/pubsub/v1/IngestionDataSourceSettings.java @@ -310,7 +310,7 @@ public enum State implements com.google.protobuf.ProtocolMessageEnum { * *
        * Permission denied encountered while publishing to the topic. This can
-       * happen due to Pub/Sub SA has not been granted the [appropriate publish
+       * happen if the Pub/Sub SA has not been granted the [appropriate publish
        * permissions](https://cloud.google.com/pubsub/docs/access-control#pubsub.publisher)
        * 
* @@ -383,7 +383,7 @@ public enum State implements com.google.protobuf.ProtocolMessageEnum { * *
        * Permission denied encountered while publishing to the topic. This can
-       * happen due to Pub/Sub SA has not been granted the [appropriate publish
+       * happen if the Pub/Sub SA has not been granted the [appropriate publish
        * permissions](https://cloud.google.com/pubsub/docs/access-control#pubsub.publisher)
        * 
* diff --git a/proto-google-cloud-pubsub-v1/src/main/java/com/google/pubsub/v1/PubsubProto.java b/proto-google-cloud-pubsub-v1/src/main/java/com/google/pubsub/v1/PubsubProto.java index f03334c1c..4ef81ddb7 100644 --- a/proto-google-cloud-pubsub-v1/src/main/java/com/google/pubsub/v1/PubsubProto.java +++ b/proto-google-cloud-pubsub-v1/src/main/java/com/google/pubsub/v1/PubsubProto.java @@ -417,238 +417,241 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { + "\032\017\n\rPubsubWrapper\032(\n\tNoWrapper\022\033\n\016write_" + "metadata\030\001 \001(\010B\003\340A\001\0321\n\017AttributesEntry\022\013" + "\n\003key\030\001 \001(\t\022\r\n\005value\030\002 \001(\t:\0028\001B\027\n\025authen" - + "tication_methodB\t\n\007wrapper\"\352\002\n\016BigQueryC" + + "tication_methodB\t\n\007wrapper\"\216\003\n\016BigQueryC" + "onfig\022\022\n\005table\030\001 \001(\tB\003\340A\001\022\035\n\020use_topic_s" + "chema\030\002 \001(\010B\003\340A\001\022\033\n\016write_metadata\030\003 \001(\010" + "B\003\340A\001\022 \n\023drop_unknown_fields\030\004 \001(\010B\003\340A\001\022" + ":\n\005state\030\005 \001(\0162&.google.pubsub.v1.BigQue" + "ryConfig.StateB\003\340A\003\022\035\n\020use_table_schema\030" - + "\006 \001(\010B\003\340A\001\"\212\001\n\005State\022\025\n\021STATE_UNSPECIFIE" - + "D\020\000\022\n\n\006ACTIVE\020\001\022\025\n\021PERMISSION_DENIED\020\002\022\r" - + "\n\tNOT_FOUND\020\003\022\023\n\017SCHEMA_MISMATCH\020\004\022#\n\037IN" - + "_TRANSIT_LOCATION_RESTRICTION\020\005\"\316\004\n\022Clou" - + "dStorageConfig\022\023\n\006bucket\030\001 \001(\tB\003\340A\002\022\034\n\017f" - + "ilename_prefix\030\002 \001(\tB\003\340A\001\022\034\n\017filename_su" - + "ffix\030\003 \001(\tB\003\340A\001\022K\n\013text_config\030\004 \001(\0132/.g" - + "oogle.pubsub.v1.CloudStorageConfig.TextC" - + "onfigB\003\340A\001H\000\022K\n\013avro_config\030\005 \001(\0132/.goog" - + "le.pubsub.v1.CloudStorageConfig.AvroConf" - + "igB\003\340A\001H\000\0224\n\014max_duration\030\006 \001(\0132\031.google" - + ".protobuf.DurationB\003\340A\001\022\026\n\tmax_bytes\030\007 \001" - + "(\003B\003\340A\001\022>\n\005state\030\t \001(\0162*.google.pubsub.v" - + "1.CloudStorageConfig.StateB\003\340A\003\032\014\n\nTextC" - + "onfig\032)\n\nAvroConfig\022\033\n\016write_metadata\030\001 " - + "\001(\010B\003\340A\001\"u\n\005State\022\025\n\021STATE_UNSPECIFIED\020\000" - + "\022\n\n\006ACTIVE\020\001\022\025\n\021PERMISSION_DENIED\020\002\022\r\n\tN" - + "OT_FOUND\020\003\022#\n\037IN_TRANSIT_LOCATION_RESTRI" - + "CTION\020\004B\017\n\routput_format\"|\n\017ReceivedMess" - + "age\022\023\n\006ack_id\030\001 \001(\tB\003\340A\001\0225\n\007message\030\002 \001(" - + "\0132\037.google.pubsub.v1.PubsubMessageB\003\340A\001\022" - + "\035\n\020delivery_attempt\030\003 \001(\005B\003\340A\001\"Z\n\026GetSub" - + "scriptionRequest\022@\n\014subscription\030\001 \001(\tB*" - + "\340A\002\372A$\n\"pubsub.googleapis.com/Subscripti" - + "on\"\214\001\n\031UpdateSubscriptionRequest\0229\n\014subs" - + "cription\030\001 \001(\0132\036.google.pubsub.v1.Subscr" - + "iptionB\003\340A\002\0224\n\013update_mask\030\002 \001(\0132\032.googl" - + "e.protobuf.FieldMaskB\003\340A\002\"\221\001\n\030ListSubscr" - + "iptionsRequest\022D\n\007project\030\001 \001(\tB3\340A\002\372A-\n" - + "+cloudresourcemanager.googleapis.com/Pro" - + "ject\022\026\n\tpage_size\030\002 \001(\005B\003\340A\001\022\027\n\npage_tok" - + "en\030\003 \001(\tB\003\340A\001\"u\n\031ListSubscriptionsRespon" - + "se\022:\n\rsubscriptions\030\001 \003(\0132\036.google.pubsu" - + "b.v1.SubscriptionB\003\340A\001\022\034\n\017next_page_toke" - + "n\030\002 \001(\tB\003\340A\001\"]\n\031DeleteSubscriptionReques" - + "t\022@\n\014subscription\030\001 \001(\tB*\340A\002\372A$\n\"pubsub." - + "googleapis.com/Subscription\"\223\001\n\027ModifyPu" - + "shConfigRequest\022@\n\014subscription\030\001 \001(\tB*\340" - + "A\002\372A$\n\"pubsub.googleapis.com/Subscriptio" - + "n\0226\n\013push_config\030\002 \001(\0132\034.google.pubsub.v" - + "1.PushConfigB\003\340A\002\"\215\001\n\013PullRequest\022@\n\014sub" - + "scription\030\001 \001(\tB*\340A\002\372A$\n\"pubsub.googleap" - + "is.com/Subscription\022!\n\022return_immediatel" - + "y\030\002 \001(\010B\005\030\001\340A\001\022\031\n\014max_messages\030\003 \001(\005B\003\340A" - + "\002\"Q\n\014PullResponse\022A\n\021received_messages\030\001" - + " \003(\0132!.google.pubsub.v1.ReceivedMessageB" - + "\003\340A\001\"\225\001\n\030ModifyAckDeadlineRequest\022@\n\014sub" - + "scription\030\001 \001(\tB*\340A\002\372A$\n\"pubsub.googleap" - + "is.com/Subscription\022\024\n\007ack_ids\030\004 \003(\tB\003\340A" - + "\002\022!\n\024ack_deadline_seconds\030\003 \001(\005B\003\340A\002\"l\n\022" - + "AcknowledgeRequest\022@\n\014subscription\030\001 \001(\t" - + "B*\340A\002\372A$\n\"pubsub.googleapis.com/Subscrip" - + "tion\022\024\n\007ack_ids\030\002 \003(\tB\003\340A\002\"\307\002\n\024Streaming" - + "PullRequest\022@\n\014subscription\030\001 \001(\tB*\340A\002\372A" - + "$\n\"pubsub.googleapis.com/Subscription\022\024\n" - + "\007ack_ids\030\002 \003(\tB\003\340A\001\022$\n\027modify_deadline_s" - + "econds\030\003 \003(\005B\003\340A\001\022$\n\027modify_deadline_ack" - + "_ids\030\004 \003(\tB\003\340A\001\022(\n\033stream_ack_deadline_s" - + "econds\030\005 \001(\005B\003\340A\002\022\026\n\tclient_id\030\006 \001(\tB\003\340A" - + "\001\022%\n\030max_outstanding_messages\030\007 \001(\003B\003\340A\001" - + "\022\"\n\025max_outstanding_bytes\030\010 \001(\003B\003\340A\001\"\236\006\n" - + "\025StreamingPullResponse\022A\n\021received_messa" - + "ges\030\001 \003(\0132!.google.pubsub.v1.ReceivedMes" - + "sageB\003\340A\001\022f\n\030acknowledge_confirmation\030\005 " - + "\001(\0132?.google.pubsub.v1.StreamingPullResp" - + "onse.AcknowledgeConfirmationB\003\340A\001\022t\n mod" - + "ify_ack_deadline_confirmation\030\003 \001(\0132E.go" - + "ogle.pubsub.v1.StreamingPullResponse.Mod" - + "ifyAckDeadlineConfirmationB\003\340A\001\022d\n\027subsc" - + "ription_properties\030\004 \001(\0132>.google.pubsub" - + ".v1.StreamingPullResponse.SubscriptionPr" - + "opertiesB\003\340A\001\032\224\001\n\027AcknowledgeConfirmatio" - + "n\022\024\n\007ack_ids\030\001 \003(\tB\003\340A\001\022\034\n\017invalid_ack_i" - + "ds\030\002 \003(\tB\003\340A\001\022\036\n\021unordered_ack_ids\030\003 \003(\t" - + "B\003\340A\001\022%\n\030temporary_failed_ack_ids\030\004 \003(\tB" - + "\003\340A\001\032z\n\035ModifyAckDeadlineConfirmation\022\024\n" - + "\007ack_ids\030\001 \003(\tB\003\340A\001\022\034\n\017invalid_ack_ids\030\002" - + " \003(\tB\003\340A\001\022%\n\030temporary_failed_ack_ids\030\003 " - + "\003(\tB\003\340A\001\032k\n\026SubscriptionProperties\022*\n\035ex" - + "actly_once_delivery_enabled\030\001 \001(\010B\003\340A\001\022%" - + "\n\030message_ordering_enabled\030\002 \001(\010B\003\340A\001\"\210\002" - + "\n\025CreateSnapshotRequest\0224\n\004name\030\001 \001(\tB&\340" - + "A\002\372A \n\036pubsub.googleapis.com/Snapshot\022@\n" - + "\014subscription\030\002 \001(\tB*\340A\002\372A$\n\"pubsub.goog" - + "leapis.com/Subscription\022H\n\006labels\030\003 \003(\0132" - + "3.google.pubsub.v1.CreateSnapshotRequest" - + ".LabelsEntryB\003\340A\001\032-\n\013LabelsEntry\022\013\n\003key\030" - + "\001 \001(\t\022\r\n\005value\030\002 \001(\t:\0028\001\"\200\001\n\025UpdateSnaps" - + "hotRequest\0221\n\010snapshot\030\001 \001(\0132\032.google.pu" - + "bsub.v1.SnapshotB\003\340A\002\0224\n\013update_mask\030\002 \001" - + "(\0132\032.google.protobuf.FieldMaskB\003\340A\002\"\301\002\n\010" - + "Snapshot\022\021\n\004name\030\001 \001(\tB\003\340A\001\0222\n\005topic\030\002 \001" - + "(\tB#\340A\001\372A\035\n\033pubsub.googleapis.com/Topic\022" - + "4\n\013expire_time\030\003 \001(\0132\032.google.protobuf.T" - + "imestampB\003\340A\001\022;\n\006labels\030\004 \003(\0132&.google.p" - + "ubsub.v1.Snapshot.LabelsEntryB\003\340A\001\032-\n\013La" - + "belsEntry\022\013\n\003key\030\001 \001(\t\022\r\n\005value\030\002 \001(\t:\0028" - + "\001:L\352AI\n\036pubsub.googleapis.com/Snapshot\022\'" - + "projects/{project}/snapshots/{snapshot}\"" - + "N\n\022GetSnapshotRequest\0228\n\010snapshot\030\001 \001(\tB" - + "&\340A\002\372A \n\036pubsub.googleapis.com/Snapshot\"" - + "\215\001\n\024ListSnapshotsRequest\022D\n\007project\030\001 \001(" - + "\tB3\340A\002\372A-\n+cloudresourcemanager.googleap" - + "is.com/Project\022\026\n\tpage_size\030\002 \001(\005B\003\340A\001\022\027" - + "\n\npage_token\030\003 \001(\tB\003\340A\001\"i\n\025ListSnapshots" - + "Response\0222\n\tsnapshots\030\001 \003(\0132\032.google.pub" - + "sub.v1.SnapshotB\003\340A\001\022\034\n\017next_page_token\030" - + "\002 \001(\tB\003\340A\001\"Q\n\025DeleteSnapshotRequest\0228\n\010s" - + "napshot\030\001 \001(\tB&\340A\002\372A \n\036pubsub.googleapis" - + ".com/Snapshot\"\306\001\n\013SeekRequest\022@\n\014subscri" - + "ption\030\001 \001(\tB*\340A\002\372A$\n\"pubsub.googleapis.c" - + "om/Subscription\022/\n\004time\030\002 \001(\0132\032.google.p" - + "rotobuf.TimestampB\003\340A\001H\000\022:\n\010snapshot\030\003 \001" - + "(\tB&\340A\001\372A \n\036pubsub.googleapis.com/Snapsh" - + "otH\000B\010\n\006target\"\016\n\014SeekResponse2\270\013\n\tPubli" - + "sher\022q\n\013CreateTopic\022\027.google.pubsub.v1.T" - + "opic\032\027.google.pubsub.v1.Topic\"0\332A\004name\202\323" - + "\344\223\002#\032\036/v1/{name=projects/*/topics/*}:\001*\022" - + "\221\001\n\013UpdateTopic\022$.google.pubsub.v1.Updat" - + "eTopicRequest\032\027.google.pubsub.v1.Topic\"C" - + "\332A\021topic,update_mask\202\323\344\223\002)2$/v1/{topic.n" - + "ame=projects/*/topics/*}:\001*\022\223\001\n\007Publish\022" - + " .google.pubsub.v1.PublishRequest\032!.goog" - + "le.pubsub.v1.PublishResponse\"C\332A\016topic,m" - + "essages\202\323\344\223\002,\"\'/v1/{topic=projects/*/top" - + "ics/*}:publish:\001*\022w\n\010GetTopic\022!.google.p" - + "ubsub.v1.GetTopicRequest\032\027.google.pubsub" - + ".v1.Topic\"/\332A\005topic\202\323\344\223\002!\022\037/v1/{topic=pr" - + "ojects/*/topics/*}\022\212\001\n\nListTopics\022#.goog" - + "le.pubsub.v1.ListTopicsRequest\032$.google." - + "pubsub.v1.ListTopicsResponse\"1\332A\007project" - + "\202\323\344\223\002!\022\037/v1/{project=projects/*}/topics\022" - + "\272\001\n\026ListTopicSubscriptions\022/.google.pubs" - + "ub.v1.ListTopicSubscriptionsRequest\0320.go" - + "ogle.pubsub.v1.ListTopicSubscriptionsRes" - + "ponse\"=\332A\005topic\202\323\344\223\002/\022-/v1/{topic=projec" - + "ts/*/topics/*}/subscriptions\022\252\001\n\022ListTop" - + "icSnapshots\022+.google.pubsub.v1.ListTopic" - + "SnapshotsRequest\032,.google.pubsub.v1.List" - + "TopicSnapshotsResponse\"9\332A\005topic\202\323\344\223\002+\022)" - + "/v1/{topic=projects/*/topics/*}/snapshot" - + "s\022|\n\013DeleteTopic\022$.google.pubsub.v1.Dele" - + "teTopicRequest\032\026.google.protobuf.Empty\"/" - + "\332A\005topic\202\323\344\223\002!*\037/v1/{topic=projects/*/to" - + "pics/*}\022\255\001\n\022DetachSubscription\022+.google." - + "pubsub.v1.DetachSubscriptionRequest\032,.go" - + "ogle.pubsub.v1.DetachSubscriptionRespons" - + "e\"<\202\323\344\223\0026\"4/v1/{subscription=projects/*/" - + "subscriptions/*}:detach\032p\312A\025pubsub.googl" - + "eapis.com\322AUhttps://www.googleapis.com/a" - + "uth/cloud-platform,https://www.googleapi" - + "s.com/auth/pubsub2\322\025\n\nSubscriber\022\264\001\n\022Cre" - + "ateSubscription\022\036.google.pubsub.v1.Subsc" - + "ription\032\036.google.pubsub.v1.Subscription\"" - + "^\332A+name,topic,push_config,ack_deadline_" - + "seconds\202\323\344\223\002*\032%/v1/{name=projects/*/subs" - + "criptions/*}:\001*\022\241\001\n\017GetSubscription\022(.go" - + "ogle.pubsub.v1.GetSubscriptionRequest\032\036." - + "google.pubsub.v1.Subscription\"D\332A\014subscr" - + "iption\202\323\344\223\002/\022-/v1/{subscription=projects" - + "/*/subscriptions/*}\022\273\001\n\022UpdateSubscripti" - + "on\022+.google.pubsub.v1.UpdateSubscription" - + "Request\032\036.google.pubsub.v1.Subscription\"" - + "X\332A\030subscription,update_mask\202\323\344\223\002722/v1/" - + "{subscription.name=projects/*/subscripti" - + "ons/*}:\001*\022\246\001\n\021ListSubscriptions\022*.google" - + ".pubsub.v1.ListSubscriptionsRequest\032+.go" - + "ogle.pubsub.v1.ListSubscriptionsResponse" - + "\"8\332A\007project\202\323\344\223\002(\022&/v1/{project=project" - + "s/*}/subscriptions\022\237\001\n\022DeleteSubscriptio" - + "n\022+.google.pubsub.v1.DeleteSubscriptionR" - + "equest\032\026.google.protobuf.Empty\"D\332A\014subsc" - + "ription\202\323\344\223\002/*-/v1/{subscription=project" - + "s/*/subscriptions/*}\022\317\001\n\021ModifyAckDeadli" - + "ne\022*.google.pubsub.v1.ModifyAckDeadlineR" - + "equest\032\026.google.protobuf.Empty\"v\332A)subsc" - + "ription,ack_ids,ack_deadline_seconds\202\323\344\223" - + "\002D\"?/v1/{subscription=projects/*/subscri" - + "ptions/*}:modifyAckDeadline:\001*\022\250\001\n\013Ackno" - + "wledge\022$.google.pubsub.v1.AcknowledgeReq" - + "uest\032\026.google.protobuf.Empty\"[\332A\024subscri" - + "ption,ack_ids\202\323\344\223\002>\"9/v1/{subscription=p" - + "rojects/*/subscriptions/*}:acknowledge:\001" - + "*\022\320\001\n\004Pull\022\035.google.pubsub.v1.PullReques" - + "t\032\036.google.pubsub.v1.PullResponse\"\210\001\332A,s" - + "ubscription,return_immediately,max_messa" - + "ges\332A\031subscription,max_messages\202\323\344\223\0027\"2/" - + "v1/{subscription=projects/*/subscription" - + "s/*}:pull:\001*\022f\n\rStreamingPull\022&.google.p" - + "ubsub.v1.StreamingPullRequest\032\'.google.p" - + "ubsub.v1.StreamingPullResponse\"\000(\0010\001\022\273\001\n" - + "\020ModifyPushConfig\022).google.pubsub.v1.Mod" - + "ifyPushConfigRequest\032\026.google.protobuf.E" - + "mpty\"d\332A\030subscription,push_config\202\323\344\223\002C\"" - + ">/v1/{subscription=projects/*/subscripti" - + "ons/*}:modifyPushConfig:\001*\022\211\001\n\013GetSnapsh" - + "ot\022$.google.pubsub.v1.GetSnapshotRequest" - + "\032\032.google.pubsub.v1.Snapshot\"8\332A\010snapsho" - + "t\202\323\344\223\002\'\022%/v1/{snapshot=projects/*/snapsh" - + "ots/*}\022\226\001\n\rListSnapshots\022&.google.pubsub" - + ".v1.ListSnapshotsRequest\032\'.google.pubsub" - + ".v1.ListSnapshotsResponse\"4\332A\007project\202\323\344" - + "\223\002$\022\"/v1/{project=projects/*}/snapshots\022" - + "\227\001\n\016CreateSnapshot\022\'.google.pubsub.v1.Cr" - + "eateSnapshotRequest\032\032.google.pubsub.v1.S" - + "napshot\"@\332A\021name,subscription\202\323\344\223\002&\032!/v1" - + "/{name=projects/*/snapshots/*}:\001*\022\243\001\n\016Up" - + "dateSnapshot\022\'.google.pubsub.v1.UpdateSn" - + "apshotRequest\032\032.google.pubsub.v1.Snapsho" - + "t\"L\332A\024snapshot,update_mask\202\323\344\223\002/2*/v1/{s" - + "napshot.name=projects/*/snapshots/*}:\001*\022" - + "\213\001\n\016DeleteSnapshot\022\'.google.pubsub.v1.De" - + "leteSnapshotRequest\032\026.google.protobuf.Em" - + "pty\"8\332A\010snapshot\202\323\344\223\002\'*%/v1/{snapshot=pr" - + "ojects/*/snapshots/*}\022\204\001\n\004Seek\022\035.google." - + "pubsub.v1.SeekRequest\032\036.google.pubsub.v1" - + ".SeekResponse\"=\202\323\344\223\0027\"2/v1/{subscription" - + "=projects/*/subscriptions/*}:seek:\001*\032p\312A" - + "\025pubsub.googleapis.com\322AUhttps://www.goo" - + "gleapis.com/auth/cloud-platform,https://" - + "www.googleapis.com/auth/pubsubB\252\001\n\024com.g" - + "oogle.pubsub.v1B\013PubsubProtoP\001Z2cloud.go" - + "ogle.com/go/pubsub/apiv1/pubsubpb;pubsub" - + "pb\370\001\001\252\002\026Google.Cloud.PubSub.V1\312\002\026Google\\" - + "Cloud\\PubSub\\V1\352\002\031Google::Cloud::PubSub:" - + ":V1b\006proto3" + + "\006 \001(\010B\003\340A\001\022\"\n\025service_account_email\030\007 \001(" + + "\tB\003\340A\001\"\212\001\n\005State\022\025\n\021STATE_UNSPECIFIED\020\000\022" + + "\n\n\006ACTIVE\020\001\022\025\n\021PERMISSION_DENIED\020\002\022\r\n\tNO" + + "T_FOUND\020\003\022\023\n\017SCHEMA_MISMATCH\020\004\022#\n\037IN_TRA" + + "NSIT_LOCATION_RESTRICTION\020\005\"\231\005\n\022CloudSto" + + "rageConfig\022\023\n\006bucket\030\001 \001(\tB\003\340A\002\022\034\n\017filen" + + "ame_prefix\030\002 \001(\tB\003\340A\001\022\034\n\017filename_suffix" + + "\030\003 \001(\tB\003\340A\001\022%\n\030filename_datetime_format\030" + + "\n \001(\tB\003\340A\001\022K\n\013text_config\030\004 \001(\0132/.google" + + ".pubsub.v1.CloudStorageConfig.TextConfig" + + "B\003\340A\001H\000\022K\n\013avro_config\030\005 \001(\0132/.google.pu" + + "bsub.v1.CloudStorageConfig.AvroConfigB\003\340" + + "A\001H\000\0224\n\014max_duration\030\006 \001(\0132\031.google.prot" + + "obuf.DurationB\003\340A\001\022\026\n\tmax_bytes\030\007 \001(\003B\003\340" + + "A\001\022>\n\005state\030\t \001(\0162*.google.pubsub.v1.Clo" + + "udStorageConfig.StateB\003\340A\003\022\"\n\025service_ac" + + "count_email\030\013 \001(\tB\003\340A\001\032\014\n\nTextConfig\032)\n\n" + + "AvroConfig\022\033\n\016write_metadata\030\001 \001(\010B\003\340A\001\"" + + "u\n\005State\022\025\n\021STATE_UNSPECIFIED\020\000\022\n\n\006ACTIV" + + "E\020\001\022\025\n\021PERMISSION_DENIED\020\002\022\r\n\tNOT_FOUND\020" + + "\003\022#\n\037IN_TRANSIT_LOCATION_RESTRICTION\020\004B\017" + + "\n\routput_format\"|\n\017ReceivedMessage\022\023\n\006ac" + + "k_id\030\001 \001(\tB\003\340A\001\0225\n\007message\030\002 \001(\0132\037.googl" + + "e.pubsub.v1.PubsubMessageB\003\340A\001\022\035\n\020delive" + + "ry_attempt\030\003 \001(\005B\003\340A\001\"Z\n\026GetSubscription" + + "Request\022@\n\014subscription\030\001 \001(\tB*\340A\002\372A$\n\"p" + + "ubsub.googleapis.com/Subscription\"\214\001\n\031Up" + + "dateSubscriptionRequest\0229\n\014subscription\030" + + "\001 \001(\0132\036.google.pubsub.v1.SubscriptionB\003\340" + + "A\002\0224\n\013update_mask\030\002 \001(\0132\032.google.protobu" + + "f.FieldMaskB\003\340A\002\"\221\001\n\030ListSubscriptionsRe" + + "quest\022D\n\007project\030\001 \001(\tB3\340A\002\372A-\n+cloudres" + + "ourcemanager.googleapis.com/Project\022\026\n\tp" + + "age_size\030\002 \001(\005B\003\340A\001\022\027\n\npage_token\030\003 \001(\tB" + + "\003\340A\001\"u\n\031ListSubscriptionsResponse\022:\n\rsub" + + "scriptions\030\001 \003(\0132\036.google.pubsub.v1.Subs" + + "criptionB\003\340A\001\022\034\n\017next_page_token\030\002 \001(\tB\003" + + "\340A\001\"]\n\031DeleteSubscriptionRequest\022@\n\014subs" + + "cription\030\001 \001(\tB*\340A\002\372A$\n\"pubsub.googleapi" + + "s.com/Subscription\"\223\001\n\027ModifyPushConfigR" + + "equest\022@\n\014subscription\030\001 \001(\tB*\340A\002\372A$\n\"pu" + + "bsub.googleapis.com/Subscription\0226\n\013push" + + "_config\030\002 \001(\0132\034.google.pubsub.v1.PushCon" + + "figB\003\340A\002\"\215\001\n\013PullRequest\022@\n\014subscription" + + "\030\001 \001(\tB*\340A\002\372A$\n\"pubsub.googleapis.com/Su" + + "bscription\022!\n\022return_immediately\030\002 \001(\010B\005" + + "\030\001\340A\001\022\031\n\014max_messages\030\003 \001(\005B\003\340A\002\"Q\n\014Pull" + + "Response\022A\n\021received_messages\030\001 \003(\0132!.go" + + "ogle.pubsub.v1.ReceivedMessageB\003\340A\001\"\225\001\n\030" + + "ModifyAckDeadlineRequest\022@\n\014subscription" + + "\030\001 \001(\tB*\340A\002\372A$\n\"pubsub.googleapis.com/Su" + + "bscription\022\024\n\007ack_ids\030\004 \003(\tB\003\340A\002\022!\n\024ack_" + + "deadline_seconds\030\003 \001(\005B\003\340A\002\"l\n\022Acknowled" + + "geRequest\022@\n\014subscription\030\001 \001(\tB*\340A\002\372A$\n" + + "\"pubsub.googleapis.com/Subscription\022\024\n\007a" + + "ck_ids\030\002 \003(\tB\003\340A\002\"\307\002\n\024StreamingPullReque" + + "st\022@\n\014subscription\030\001 \001(\tB*\340A\002\372A$\n\"pubsub" + + ".googleapis.com/Subscription\022\024\n\007ack_ids\030" + + "\002 \003(\tB\003\340A\001\022$\n\027modify_deadline_seconds\030\003 " + + "\003(\005B\003\340A\001\022$\n\027modify_deadline_ack_ids\030\004 \003(" + + "\tB\003\340A\001\022(\n\033stream_ack_deadline_seconds\030\005 " + + "\001(\005B\003\340A\002\022\026\n\tclient_id\030\006 \001(\tB\003\340A\001\022%\n\030max_" + + "outstanding_messages\030\007 \001(\003B\003\340A\001\022\"\n\025max_o" + + "utstanding_bytes\030\010 \001(\003B\003\340A\001\"\236\006\n\025Streamin" + + "gPullResponse\022A\n\021received_messages\030\001 \003(\013" + + "2!.google.pubsub.v1.ReceivedMessageB\003\340A\001" + + "\022f\n\030acknowledge_confirmation\030\005 \001(\0132?.goo" + + "gle.pubsub.v1.StreamingPullResponse.Ackn" + + "owledgeConfirmationB\003\340A\001\022t\n modify_ack_d" + + "eadline_confirmation\030\003 \001(\0132E.google.pubs" + + "ub.v1.StreamingPullResponse.ModifyAckDea" + + "dlineConfirmationB\003\340A\001\022d\n\027subscription_p" + + "roperties\030\004 \001(\0132>.google.pubsub.v1.Strea" + + "mingPullResponse.SubscriptionPropertiesB" + + "\003\340A\001\032\224\001\n\027AcknowledgeConfirmation\022\024\n\007ack_" + + "ids\030\001 \003(\tB\003\340A\001\022\034\n\017invalid_ack_ids\030\002 \003(\tB" + + "\003\340A\001\022\036\n\021unordered_ack_ids\030\003 \003(\tB\003\340A\001\022%\n\030" + + "temporary_failed_ack_ids\030\004 \003(\tB\003\340A\001\032z\n\035M" + + "odifyAckDeadlineConfirmation\022\024\n\007ack_ids\030" + + "\001 \003(\tB\003\340A\001\022\034\n\017invalid_ack_ids\030\002 \003(\tB\003\340A\001" + + "\022%\n\030temporary_failed_ack_ids\030\003 \003(\tB\003\340A\001\032" + + "k\n\026SubscriptionProperties\022*\n\035exactly_onc" + + "e_delivery_enabled\030\001 \001(\010B\003\340A\001\022%\n\030message" + + "_ordering_enabled\030\002 \001(\010B\003\340A\001\"\210\002\n\025CreateS" + + "napshotRequest\0224\n\004name\030\001 \001(\tB&\340A\002\372A \n\036pu" + + "bsub.googleapis.com/Snapshot\022@\n\014subscrip" + + "tion\030\002 \001(\tB*\340A\002\372A$\n\"pubsub.googleapis.co" + + "m/Subscription\022H\n\006labels\030\003 \003(\01323.google." + + "pubsub.v1.CreateSnapshotRequest.LabelsEn" + + "tryB\003\340A\001\032-\n\013LabelsEntry\022\013\n\003key\030\001 \001(\t\022\r\n\005" + + "value\030\002 \001(\t:\0028\001\"\200\001\n\025UpdateSnapshotReques" + + "t\0221\n\010snapshot\030\001 \001(\0132\032.google.pubsub.v1.S" + + "napshotB\003\340A\002\0224\n\013update_mask\030\002 \001(\0132\032.goog" + + "le.protobuf.FieldMaskB\003\340A\002\"\301\002\n\010Snapshot\022" + + "\021\n\004name\030\001 \001(\tB\003\340A\001\0222\n\005topic\030\002 \001(\tB#\340A\001\372A" + + "\035\n\033pubsub.googleapis.com/Topic\0224\n\013expire" + + "_time\030\003 \001(\0132\032.google.protobuf.TimestampB" + + "\003\340A\001\022;\n\006labels\030\004 \003(\0132&.google.pubsub.v1." + + "Snapshot.LabelsEntryB\003\340A\001\032-\n\013LabelsEntry" + + "\022\013\n\003key\030\001 \001(\t\022\r\n\005value\030\002 \001(\t:\0028\001:L\352AI\n\036p" + + "ubsub.googleapis.com/Snapshot\022\'projects/" + + "{project}/snapshots/{snapshot}\"N\n\022GetSna" + + "pshotRequest\0228\n\010snapshot\030\001 \001(\tB&\340A\002\372A \n\036" + + "pubsub.googleapis.com/Snapshot\"\215\001\n\024ListS" + + "napshotsRequest\022D\n\007project\030\001 \001(\tB3\340A\002\372A-" + + "\n+cloudresourcemanager.googleapis.com/Pr" + + "oject\022\026\n\tpage_size\030\002 \001(\005B\003\340A\001\022\027\n\npage_to" + + "ken\030\003 \001(\tB\003\340A\001\"i\n\025ListSnapshotsResponse\022" + + "2\n\tsnapshots\030\001 \003(\0132\032.google.pubsub.v1.Sn" + + "apshotB\003\340A\001\022\034\n\017next_page_token\030\002 \001(\tB\003\340A" + + "\001\"Q\n\025DeleteSnapshotRequest\0228\n\010snapshot\030\001" + + " \001(\tB&\340A\002\372A \n\036pubsub.googleapis.com/Snap" + + "shot\"\306\001\n\013SeekRequest\022@\n\014subscription\030\001 \001" + + "(\tB*\340A\002\372A$\n\"pubsub.googleapis.com/Subscr" + + "iption\022/\n\004time\030\002 \001(\0132\032.google.protobuf.T" + + "imestampB\003\340A\001H\000\022:\n\010snapshot\030\003 \001(\tB&\340A\001\372A" + + " \n\036pubsub.googleapis.com/SnapshotH\000B\010\n\006t" + + "arget\"\016\n\014SeekResponse2\270\013\n\tPublisher\022q\n\013C" + + "reateTopic\022\027.google.pubsub.v1.Topic\032\027.go" + + "ogle.pubsub.v1.Topic\"0\332A\004name\202\323\344\223\002#\032\036/v1" + + "/{name=projects/*/topics/*}:\001*\022\221\001\n\013Updat" + + "eTopic\022$.google.pubsub.v1.UpdateTopicReq" + + "uest\032\027.google.pubsub.v1.Topic\"C\332A\021topic," + + "update_mask\202\323\344\223\002)2$/v1/{topic.name=proje" + + "cts/*/topics/*}:\001*\022\223\001\n\007Publish\022 .google." + + "pubsub.v1.PublishRequest\032!.google.pubsub" + + ".v1.PublishResponse\"C\332A\016topic,messages\202\323" + + "\344\223\002,\"\'/v1/{topic=projects/*/topics/*}:pu" + + "blish:\001*\022w\n\010GetTopic\022!.google.pubsub.v1." + + "GetTopicRequest\032\027.google.pubsub.v1.Topic" + + "\"/\332A\005topic\202\323\344\223\002!\022\037/v1/{topic=projects/*/" + + "topics/*}\022\212\001\n\nListTopics\022#.google.pubsub" + + ".v1.ListTopicsRequest\032$.google.pubsub.v1" + + ".ListTopicsResponse\"1\332A\007project\202\323\344\223\002!\022\037/" + + "v1/{project=projects/*}/topics\022\272\001\n\026ListT" + + "opicSubscriptions\022/.google.pubsub.v1.Lis" + + "tTopicSubscriptionsRequest\0320.google.pubs" + + "ub.v1.ListTopicSubscriptionsResponse\"=\332A" + + "\005topic\202\323\344\223\002/\022-/v1/{topic=projects/*/topi" + + "cs/*}/subscriptions\022\252\001\n\022ListTopicSnapsho" + + "ts\022+.google.pubsub.v1.ListTopicSnapshots" + + "Request\032,.google.pubsub.v1.ListTopicSnap" + + "shotsResponse\"9\332A\005topic\202\323\344\223\002+\022)/v1/{topi" + + "c=projects/*/topics/*}/snapshots\022|\n\013Dele" + + "teTopic\022$.google.pubsub.v1.DeleteTopicRe" + + "quest\032\026.google.protobuf.Empty\"/\332A\005topic\202" + + "\323\344\223\002!*\037/v1/{topic=projects/*/topics/*}\022\255" + + "\001\n\022DetachSubscription\022+.google.pubsub.v1" + + ".DetachSubscriptionRequest\032,.google.pubs" + + "ub.v1.DetachSubscriptionResponse\"<\202\323\344\223\0026" + + "\"4/v1/{subscription=projects/*/subscript" + + "ions/*}:detach\032p\312A\025pubsub.googleapis.com" + + "\322AUhttps://www.googleapis.com/auth/cloud" + + "-platform,https://www.googleapis.com/aut" + + "h/pubsub2\322\025\n\nSubscriber\022\264\001\n\022CreateSubscr" + + "iption\022\036.google.pubsub.v1.Subscription\032\036" + + ".google.pubsub.v1.Subscription\"^\332A+name," + + "topic,push_config,ack_deadline_seconds\202\323" + + "\344\223\002*\032%/v1/{name=projects/*/subscriptions" + + "/*}:\001*\022\241\001\n\017GetSubscription\022(.google.pubs" + + "ub.v1.GetSubscriptionRequest\032\036.google.pu" + + "bsub.v1.Subscription\"D\332A\014subscription\202\323\344" + + "\223\002/\022-/v1/{subscription=projects/*/subscr" + + "iptions/*}\022\273\001\n\022UpdateSubscription\022+.goog" + + "le.pubsub.v1.UpdateSubscriptionRequest\032\036" + + ".google.pubsub.v1.Subscription\"X\332A\030subsc" + + "ription,update_mask\202\323\344\223\002722/v1/{subscrip" + + "tion.name=projects/*/subscriptions/*}:\001*" + + "\022\246\001\n\021ListSubscriptions\022*.google.pubsub.v" + + "1.ListSubscriptionsRequest\032+.google.pubs" + + "ub.v1.ListSubscriptionsResponse\"8\332A\007proj" + + "ect\202\323\344\223\002(\022&/v1/{project=projects/*}/subs" + + "criptions\022\237\001\n\022DeleteSubscription\022+.googl" + + "e.pubsub.v1.DeleteSubscriptionRequest\032\026." + + "google.protobuf.Empty\"D\332A\014subscription\202\323" + + "\344\223\002/*-/v1/{subscription=projects/*/subsc" + + "riptions/*}\022\317\001\n\021ModifyAckDeadline\022*.goog" + + "le.pubsub.v1.ModifyAckDeadlineRequest\032\026." + + "google.protobuf.Empty\"v\332A)subscription,a" + + "ck_ids,ack_deadline_seconds\202\323\344\223\002D\"?/v1/{" + + "subscription=projects/*/subscriptions/*}" + + ":modifyAckDeadline:\001*\022\250\001\n\013Acknowledge\022$." + + "google.pubsub.v1.AcknowledgeRequest\032\026.go" + + "ogle.protobuf.Empty\"[\332A\024subscription,ack" + + "_ids\202\323\344\223\002>\"9/v1/{subscription=projects/*" + + "/subscriptions/*}:acknowledge:\001*\022\320\001\n\004Pul" + + "l\022\035.google.pubsub.v1.PullRequest\032\036.googl" + + "e.pubsub.v1.PullResponse\"\210\001\332A,subscripti" + + "on,return_immediately,max_messages\332A\031sub" + + "scription,max_messages\202\323\344\223\0027\"2/v1/{subsc" + + "ription=projects/*/subscriptions/*}:pull" + + ":\001*\022f\n\rStreamingPull\022&.google.pubsub.v1." + + "StreamingPullRequest\032\'.google.pubsub.v1." + + "StreamingPullResponse\"\000(\0010\001\022\273\001\n\020ModifyPu" + + "shConfig\022).google.pubsub.v1.ModifyPushCo" + + "nfigRequest\032\026.google.protobuf.Empty\"d\332A\030" + + "subscription,push_config\202\323\344\223\002C\">/v1/{sub" + + "scription=projects/*/subscriptions/*}:mo" + + "difyPushConfig:\001*\022\211\001\n\013GetSnapshot\022$.goog" + + "le.pubsub.v1.GetSnapshotRequest\032\032.google" + + ".pubsub.v1.Snapshot\"8\332A\010snapshot\202\323\344\223\002\'\022%" + + "/v1/{snapshot=projects/*/snapshots/*}\022\226\001" + + "\n\rListSnapshots\022&.google.pubsub.v1.ListS" + + "napshotsRequest\032\'.google.pubsub.v1.ListS" + + "napshotsResponse\"4\332A\007project\202\323\344\223\002$\022\"/v1/" + + "{project=projects/*}/snapshots\022\227\001\n\016Creat" + + "eSnapshot\022\'.google.pubsub.v1.CreateSnaps" + + "hotRequest\032\032.google.pubsub.v1.Snapshot\"@" + + "\332A\021name,subscription\202\323\344\223\002&\032!/v1/{name=pr" + + "ojects/*/snapshots/*}:\001*\022\243\001\n\016UpdateSnaps" + + "hot\022\'.google.pubsub.v1.UpdateSnapshotReq" + + "uest\032\032.google.pubsub.v1.Snapshot\"L\332A\024sna" + + "pshot,update_mask\202\323\344\223\002/2*/v1/{snapshot.n" + + "ame=projects/*/snapshots/*}:\001*\022\213\001\n\016Delet" + + "eSnapshot\022\'.google.pubsub.v1.DeleteSnaps" + + "hotRequest\032\026.google.protobuf.Empty\"8\332A\010s" + + "napshot\202\323\344\223\002\'*%/v1/{snapshot=projects/*/" + + "snapshots/*}\022\204\001\n\004Seek\022\035.google.pubsub.v1" + + ".SeekRequest\032\036.google.pubsub.v1.SeekResp" + + "onse\"=\202\323\344\223\0027\"2/v1/{subscription=projects" + + "/*/subscriptions/*}:seek:\001*\032p\312A\025pubsub.g" + + "oogleapis.com\322AUhttps://www.googleapis.c" + + "om/auth/cloud-platform,https://www.googl" + + "eapis.com/auth/pubsubB\252\001\n\024com.google.pub" + + "sub.v1B\013PubsubProtoP\001Z2cloud.google.com/" + + "go/pubsub/apiv1/pubsubpb;pubsubpb\370\001\001\252\002\026G" + + "oogle.Cloud.PubSub.V1\312\002\026Google\\Cloud\\Pub" + + "Sub\\V1\352\002\031Google::Cloud::PubSub::V1b\006prot" + + "o3" }; descriptor = com.google.protobuf.Descriptors.FileDescriptor.internalBuildGeneratedFileFrom( @@ -952,6 +955,7 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { "DropUnknownFields", "State", "UseTableSchema", + "ServiceAccountEmail", }); internal_static_google_pubsub_v1_CloudStorageConfig_descriptor = getDescriptor().getMessageTypes().get(24); @@ -962,11 +966,13 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { "Bucket", "FilenamePrefix", "FilenameSuffix", + "FilenameDatetimeFormat", "TextConfig", "AvroConfig", "MaxDuration", "MaxBytes", "State", + "ServiceAccountEmail", "OutputFormat", }); internal_static_google_pubsub_v1_CloudStorageConfig_TextConfig_descriptor = diff --git a/proto-google-cloud-pubsub-v1/src/main/java/com/google/pubsub/v1/PullRequest.java b/proto-google-cloud-pubsub-v1/src/main/java/com/google/pubsub/v1/PullRequest.java index 33951890b..5341666eb 100644 --- a/proto-google-cloud-pubsub-v1/src/main/java/com/google/pubsub/v1/PullRequest.java +++ b/proto-google-cloud-pubsub-v1/src/main/java/com/google/pubsub/v1/PullRequest.java @@ -137,7 +137,7 @@ public com.google.protobuf.ByteString getSubscriptionBytes() { * * * @deprecated google.pubsub.v1.PullRequest.return_immediately is deprecated. See - * google/pubsub/v1/pubsub.proto;l=1358 + * google/pubsub/v1/pubsub.proto;l=1379 * @return The returnImmediately. */ @java.lang.Override @@ -688,7 +688,7 @@ public Builder setSubscriptionBytes(com.google.protobuf.ByteString value) { * * * @deprecated google.pubsub.v1.PullRequest.return_immediately is deprecated. See - * google/pubsub/v1/pubsub.proto;l=1358 + * google/pubsub/v1/pubsub.proto;l=1379 * @return The returnImmediately. */ @java.lang.Override @@ -714,7 +714,7 @@ public boolean getReturnImmediately() { * * * @deprecated google.pubsub.v1.PullRequest.return_immediately is deprecated. See - * google/pubsub/v1/pubsub.proto;l=1358 + * google/pubsub/v1/pubsub.proto;l=1379 * @param value The returnImmediately to set. * @return This builder for chaining. */ @@ -744,7 +744,7 @@ public Builder setReturnImmediately(boolean value) { * * * @deprecated google.pubsub.v1.PullRequest.return_immediately is deprecated. See - * google/pubsub/v1/pubsub.proto;l=1358 + * google/pubsub/v1/pubsub.proto;l=1379 * @return This builder for chaining. */ @java.lang.Deprecated diff --git a/proto-google-cloud-pubsub-v1/src/main/java/com/google/pubsub/v1/PullRequestOrBuilder.java b/proto-google-cloud-pubsub-v1/src/main/java/com/google/pubsub/v1/PullRequestOrBuilder.java index 0a9d2f97b..2dc2208a4 100644 --- a/proto-google-cloud-pubsub-v1/src/main/java/com/google/pubsub/v1/PullRequestOrBuilder.java +++ b/proto-google-cloud-pubsub-v1/src/main/java/com/google/pubsub/v1/PullRequestOrBuilder.java @@ -72,7 +72,7 @@ public interface PullRequestOrBuilder * * * @deprecated google.pubsub.v1.PullRequest.return_immediately is deprecated. See - * google/pubsub/v1/pubsub.proto;l=1358 + * google/pubsub/v1/pubsub.proto;l=1379 * @return The returnImmediately. */ @java.lang.Deprecated diff --git a/proto-google-cloud-pubsub-v1/src/main/proto/google/pubsub/v1/pubsub.proto b/proto-google-cloud-pubsub-v1/src/main/proto/google/pubsub/v1/pubsub.proto index 93e1e84a7..8546dacf9 100644 --- a/proto-google-cloud-pubsub-v1/src/main/proto/google/pubsub/v1/pubsub.proto +++ b/proto-google-cloud-pubsub-v1/src/main/proto/google/pubsub/v1/pubsub.proto @@ -1,4 +1,4 @@ -// Copyright 2023 Google LLC +// Copyright 2024 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -203,7 +203,7 @@ message IngestionDataSourceSettings { KINESIS_PERMISSION_DENIED = 2; // Permission denied encountered while publishing to the topic. This can - // happen due to Pub/Sub SA has not been granted the [appropriate publish + // happen if the Pub/Sub SA has not been granted the [appropriate publish // permissions](https://cloud.google.com/pubsub/docs/access-control#pubsub.publisher) PUBLISH_PERMISSION_DENIED = 3; @@ -1141,6 +1141,14 @@ message BigQueryConfig { // write to in BigQuery. `use_table_schema` and `use_topic_schema` cannot be // enabled at the same time. bool use_table_schema = 6 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The service account to use to write to BigQuery. The subscription + // creator or updater that specifies this field must have + // `iam.serviceAccounts.actAs` permission on the service account. If not + // specified, the Pub/Sub [service + // agent](https://cloud.google.com/iam/docs/service-agents), + // service-{project_number}@gcp-sa-pubsub.iam.gserviceaccount.com, is used. + string service_account_email = 7 [(google.api.field_behavior) = OPTIONAL]; } // Configuration for a Cloud Storage subscription. @@ -1197,6 +1205,11 @@ message CloudStorageConfig { // Must not end in "/". string filename_suffix = 3 [(google.api.field_behavior) = OPTIONAL]; + // Optional. User-provided format string specifying how to represent datetimes + // in Cloud Storage filenames. See the [datetime format + // guidance](https://cloud.google.com/pubsub/docs/create-cloudstorage-subscription#file_names). + string filename_datetime_format = 10 [(google.api.field_behavior) = OPTIONAL]; + // Defaults to text format. oneof output_format { // Optional. If set, message data will be written to Cloud Storage in text @@ -1222,6 +1235,14 @@ message CloudStorageConfig { // Output only. An output-only field that indicates whether or not the // subscription can receive messages. State state = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Optional. The service account to use to write to Cloud Storage. The + // subscription creator or updater that specifies this field must have + // `iam.serviceAccounts.actAs` permission on the service account. If not + // specified, the Pub/Sub + // [service agent](https://cloud.google.com/iam/docs/service-agents), + // service-{project_number}@gcp-sa-pubsub.iam.gserviceaccount.com, is used. + string service_account_email = 11 [(google.api.field_behavior) = OPTIONAL]; } // A message and its corresponding acknowledgment ID. diff --git a/proto-google-cloud-pubsub-v1/src/main/proto/google/pubsub/v1/schema.proto b/proto-google-cloud-pubsub-v1/src/main/proto/google/pubsub/v1/schema.proto index bd17cf0f8..d52c678c5 100644 --- a/proto-google-cloud-pubsub-v1/src/main/proto/google/pubsub/v1/schema.proto +++ b/proto-google-cloud-pubsub-v1/src/main/proto/google/pubsub/v1/schema.proto @@ -1,4 +1,4 @@ -// Copyright 2023 Google LLC +// Copyright 2024 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. From 1ff96b5e8e96c663fc4b644f1d0009d31259e727 Mon Sep 17 00:00:00 2001 From: cloud-java-bot Date: Wed, 5 Jun 2024 02:27:58 +0000 Subject: [PATCH 12/18] chore: update googleapis committish at Wed Jun 5 02:27:51 UTC 2024 --- generation_config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/generation_config.yaml b/generation_config.yaml index 9f366dc8c..e01656458 100644 --- a/generation_config.yaml +++ b/generation_config.yaml @@ -1,6 +1,6 @@ gapic_generator_version: 2.41.0 protoc_version: '25.3' -googleapis_commitish: ede5e02ad747c9199a7953b222b85715e097189c +googleapis_commitish: e771735b9aabe3ebc0ea1478a044375920fbe149 libraries_bom_version: 26.38.0 template_excludes: - ".github/workflows/samples.yaml" From 206511fdd94cfa787f4a997c1046f74d15844416 Mon Sep 17 00:00:00 2001 From: cloud-java-bot Date: Wed, 5 Jun 2024 02:33:06 +0000 Subject: [PATCH 13/18] chore: generate libraries at Wed Jun 5 02:28:12 UTC 2024 --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 4d50cf72d..6b7672809 100644 --- a/README.md +++ b/README.md @@ -59,13 +59,13 @@ implementation 'com.google.cloud:google-cloud-pubsub' If you are using Gradle without BOM, add this to your dependencies: ```Groovy -implementation 'com.google.cloud:google-cloud-pubsub:1.129.7' +implementation 'com.google.cloud:google-cloud-pubsub:1.130.0' ``` If you are using SBT, add this to your dependencies: ```Scala -libraryDependencies += "com.google.cloud" % "google-cloud-pubsub" % "1.129.7" +libraryDependencies += "com.google.cloud" % "google-cloud-pubsub" % "1.130.0" ``` @@ -415,7 +415,7 @@ Java is a registered trademark of Oracle and/or its affiliates. [kokoro-badge-link-5]: http://storage.googleapis.com/cloud-devrel-public/java/badges/java-pubsub/java11.html [stability-image]: https://img.shields.io/badge/stability-stable-green [maven-version-image]: https://img.shields.io/maven-central/v/com.google.cloud/google-cloud-pubsub.svg -[maven-version-link]: https://central.sonatype.com/artifact/com.google.cloud/google-cloud-pubsub/1.129.7 +[maven-version-link]: https://central.sonatype.com/artifact/com.google.cloud/google-cloud-pubsub/1.130.0 [authentication]: https://github.com/googleapis/google-cloud-java#authentication [auth-scopes]: https://developers.google.com/identity/protocols/oauth2/scopes [predefined-iam-roles]: https://cloud.google.com/iam/docs/understanding-roles#predefined_roles From d07edbf8c7575b30a3e28c50fa431dcdaaa0cf77 Mon Sep 17 00:00:00 2001 From: cloud-java-bot Date: Thu, 6 Jun 2024 02:27:40 +0000 Subject: [PATCH 14/18] chore: update googleapis committish at Thu Jun 6 02:27:32 UTC 2024 --- generation_config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/generation_config.yaml b/generation_config.yaml index e01656458..1cdf159b6 100644 --- a/generation_config.yaml +++ b/generation_config.yaml @@ -1,6 +1,6 @@ gapic_generator_version: 2.41.0 protoc_version: '25.3' -googleapis_commitish: e771735b9aabe3ebc0ea1478a044375920fbe149 +googleapis_commitish: 21c839628513a6b8d6ce99ae6911d4d2094c0767 libraries_bom_version: 26.38.0 template_excludes: - ".github/workflows/samples.yaml" From 9805b73c90ee33ca0fd95529c4f72dcfe50d67d3 Mon Sep 17 00:00:00 2001 From: cloud-java-bot Date: Fri, 7 Jun 2024 02:29:35 +0000 Subject: [PATCH 15/18] chore: update googleapis committish at Fri Jun 7 02:29:31 UTC 2024 --- generation_config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/generation_config.yaml b/generation_config.yaml index 1cdf159b6..e36929354 100644 --- a/generation_config.yaml +++ b/generation_config.yaml @@ -1,6 +1,6 @@ gapic_generator_version: 2.41.0 protoc_version: '25.3' -googleapis_commitish: 21c839628513a6b8d6ce99ae6911d4d2094c0767 +googleapis_commitish: 62dc7be5c2173bd20b247eb283350c4b2e7c16f0 libraries_bom_version: 26.38.0 template_excludes: - ".github/workflows/samples.yaml" From baf16aa8e751f22d94c98b366b4d25d30b30d491 Mon Sep 17 00:00:00 2001 From: cloud-java-bot Date: Sat, 8 Jun 2024 02:27:26 +0000 Subject: [PATCH 16/18] chore: update googleapis committish at Sat Jun 8 02:27:21 UTC 2024 --- generation_config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/generation_config.yaml b/generation_config.yaml index e36929354..0832fef2e 100644 --- a/generation_config.yaml +++ b/generation_config.yaml @@ -1,6 +1,6 @@ gapic_generator_version: 2.41.0 protoc_version: '25.3' -googleapis_commitish: 62dc7be5c2173bd20b247eb283350c4b2e7c16f0 +googleapis_commitish: 9516e70a70d6f7e0cd000ddd370d73656da09b96 libraries_bom_version: 26.38.0 template_excludes: - ".github/workflows/samples.yaml" From 4a45b8495df56b79c1ea7ca07cbfe5ff712d4d0b Mon Sep 17 00:00:00 2001 From: cloud-java-bot Date: Tue, 11 Jun 2024 02:28:50 +0000 Subject: [PATCH 17/18] chore: update googleapis committish at Tue Jun 11 02:28:46 UTC 2024 --- generation_config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/generation_config.yaml b/generation_config.yaml index 0832fef2e..5f39a9eeb 100644 --- a/generation_config.yaml +++ b/generation_config.yaml @@ -1,6 +1,6 @@ gapic_generator_version: 2.41.0 protoc_version: '25.3' -googleapis_commitish: 9516e70a70d6f7e0cd000ddd370d73656da09b96 +googleapis_commitish: ac90fa9958bd6f7622674f52f77e4dc01d98bee8 libraries_bom_version: 26.38.0 template_excludes: - ".github/workflows/samples.yaml" From 4c3be0d3ad8e94f3d1c219fd1ab2040bbc670a8a Mon Sep 17 00:00:00 2001 From: cloud-java-bot Date: Wed, 12 Jun 2024 02:29:25 +0000 Subject: [PATCH 18/18] chore: update googleapis committish at Wed Jun 12 02:29:20 UTC 2024 --- generation_config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/generation_config.yaml b/generation_config.yaml index 5f39a9eeb..e32a929e8 100644 --- a/generation_config.yaml +++ b/generation_config.yaml @@ -1,6 +1,6 @@ gapic_generator_version: 2.41.0 protoc_version: '25.3' -googleapis_commitish: ac90fa9958bd6f7622674f52f77e4dc01d98bee8 +googleapis_commitish: 573205a81b9b96ea6d4e0365373839b59f4b427e libraries_bom_version: 26.38.0 template_excludes: - ".github/workflows/samples.yaml"